Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Język C/C++ Funkcje.
Programowanie obiektowe
Związki w UML.
Projektowanie aplikacji równoległych Jarosław Kuchta.
Modelowanie aktywności
Diagramy stanów i diagramy aktywności
Modelowanie przypadków użycia
Modelowanie klas i obiektów
Projektowanie w cyklu życia oprogramowania
Modelowanie procesów biznesowych
Język UML (Unified Modelling Language)
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
Projektowanie Aplikacji Komputerowych
Projekt modułu Gra strategiczna „Strusia jama” Wyrzutnie
Inżynieria Oprogramowania II
UML Unified Modeling Language
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Co UML może zrobić dla Twojego projektu?
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
UML – Unified Modeling Language (2)
Diagramy interakcji Jacek Górski gr
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
UML Zunifikowany język modelowania
Animacja Animacja jest procesem automatycznego generowania serii obrazów, gdy kolejny obraz przedstawia pewną zmianę w stosunku do poprzedniego. Ta definicja.
Diagram czynności (Activity Diagrams)
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Dr Anna Kwiatkowska Instytut Informatyki
Projektowanie - wprowadzenie
Diagramy czynności.
Projektowanie dynamiki - diagramy interakcji
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Inżynieria Oprogramowania
Podstawy programowania
DIAGRAMY UML.
Problem sekcji krytycznej
Algorytmy.
Związki w UML Do zrobienia jest: -Przerysować jak ktoś ma Visio te dwa diagramy tak żeby podmienić tylko nazwy a reszta Taka sama, -I dodać po jednym zdaniu.
Podsumowanie metodologii OMT
Modelowanie obiektowe Diagramy czynności
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Modelowanie obiektowe Diagramy sekwencji
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram przypadków użycia
Modelowanie obiektowe - system zarządzania projektami.
Diagram komunikacji (communication diagram)
Diagram czynności Diagram czynności (activity diagram) służy do modelowania dynamicznych aspektów systemu. Diagram czynności przedstawia sekwencyjne lub.
Diagram obiektów Diagram obiektów ukazuje elementy i związki z diagramu klas w ustalonej chwili. Diagram obiektów jest grafem złożonym z wierzchołków i.
Analiza wariancji ANOVA czynnikowa ANOVA
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Diagramy przepływu danych
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Oprogramowanie w eksperymentach fizyki Wykład 3, Paweł Staszel.
Inżynieria systemów informacyjnych
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Modele wg Jacobsona Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające.
Diagramy interakcji Kamil Kuliczkowski.
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Diagramy interakcji

Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście kolaboracji. Kolaboracja (collaboration) Zespół powiązań między obiektami umożliwiający ich interakcję dla wykonania określonego zadania. Komunikat (message) Przepływ informacji między obiektami pojawiający się w konsekwencji wystąpienia określonego zdarzenia. Zdarzenie (event) Wystąpienie sytuacji istotnej z punktu widzenia systemu. Zdarzenie zachodzi w pewnym niepodzielnym momencie czasu. Konsekwencją zdarzenia jest komunikat. DiagramyInterakcji Diagramy interakcji

Rodzaje diagramów interakcji Diagramy kolaboracji (kooperacji, współpracy) powiązania między obiektami przepływ komunikatów wzdłuż powiązań Diagramy sekwencji (przebiegu) linie życia obiektów przepływ komunikatów uporządkowany w czasie DiagramyInterakcji Diagramy interakcji

Zastosowanie diagramów interakcji Opis działania systemu Opis przypadków użycia Opis scenariusza przypadku użycia Opis operacji klasy DiagramyInterakcji Diagramy interakcji

Elementy diagramu kolaboracji numer porządkowy znacznik kierunku komunikat obiekt aktor 1: DoSomething() anObject:aClass Klient powiązanie DiagramyInterakcji Diagramy interakcji

Uwagi do diagramu kolaboracji (1/2) Występujący aktorzy muszą być powiązani z danym przypadkiem użycia Obiekty reprezentują obiekty globalne (dla całego systemu) lub lokalne (np. parametry operacji, zmienne lokalne) Powiązania reprezentują drogi przepływu komunikatów. Komunikaty mogą być przesyłane pomiędzy dwoma aktorami, aktorem a obiektem lub pomiędzy dwoma obiektami. Komunikat reprezentuje przekazanie informacji (w przypadku aktora jako odbiorcy) lub wywołanie operacji (w przypadku obiektu jako odbiorcy). W tym drugim przypadku operacja musi być zdefiniowana w klasie odbiorcy. DiagramyInterakcji Diagramy interakcji

Uwagi do diagramu kolaboracji (2/2) Przez jedno powiązanie może być przekazywanych wiele komunikatów w różne strony i w różnym czasie. Kierunek przepływu komunikatu określa strzałka. Kolejność przepływu komunikatu określają numery porządkowe. Zamiast numeru porządkowego można podać zaawansowaną specyfikację przesłania komunikatu W przypadku, gdy aspekt czasowy jest bardziej istotny, korzystniej jest użyć diagramu sekwencji. DiagramyInterakcji Diagramy interakcji

Opis komunikatu (1/3) Numer porządkowy może składać się z kilku segmentów, każdy segment jest liczbą całkowitą określającą kolejność na danym poziomie zagłębienia, np.: 1.2.1 poprzedza 1.2.2 oraz poprzedza 1.3 komunikaty współbieżne określane są przez dodanie litery za numerem porządkowym, np.. 1.2a i 1.2b są współbieżne Określenie komunikatu poprzedzającego Zamiast numeru porządkowego danego komunikatu można podać numery porządkowe komunikatów poprzedzających (lista numerów oddzielonych przecinkami i zakończona znakiem „/”). Dany komunikat zostanie przesłany tylko wówczas, gdy wszystkie poprzedzające go komunikaty zostaną przesłane (synchronizacja) DiagramyInterakcji Diagramy interakcji

Opis komunikatu (2/3) Warunek strzegący, dozoru (guard condition) Warunek strzegący to warunek, który musi być spełniony dla przesłania komunikatu. Warunek strzegący podaje się w nawiasach kwadratowych, np. [n<10] Określenie iteracji Podanie klauzuli iteracji w nawiasach kwadratowych poprzedzonych znakiem „*” oznacza wielokrotne przesłanie komunikatu. Klauzulę iteracji podaje się w określonym języku programowania lub w pseudokodzie, np.: *[i:=1..10] DiagramyInterakcji Diagramy interakcji

Opis komunikatu (3/3) Zwracany wynik Lista argumentów wynik := nazwa operacji (lista argumentów) Lista argumentów Jest listą wartości oddzielonych przecinkami, które są po kolei przypisywane do parametrów operacji. Wartości są wyrażeniami w określonym języku programowania lub w pseudokodzie. W wyrażeniach mogą występować wartości zwrotne z poprzedzających komunikatów DiagramyInterakcji Diagramy interakcji

Przykłady komunikatów 1.2a: DoSomething() 3, 5/7: DoSomething() 4: [action=new] NewDocument(SelectType()) DiagramyInterakcji Diagramy interakcji

Elementy diagramu sekwencji obiekt aktor anObject:aClass linia życia Klient komunikat DoSomething() wektor przepływu komunikatu skupienie sterowania odpowiedź DiagramyInterakcji Diagramy interakcji

Uwagi do diagramu sekwencji Diagram sekwencji i diagram kolaboracji są semantycznie równoważne. Kierunek przepływu komunikatu określa zwrot wektora przepływu – przy jednym wektorze może wystąpić tylko jeden komunikat. Numery porządkowe są zbędne – kolejność przepływu komunikatów określa uporządkowanie wektorów przepływu komunikatów w pionie – wzdłuż linii życia. Można stosować warunki strzegące i specyfikacje iteracji. Wektor odpowiedzi nie opisuje się – jeśli istotna jest wartość zwrotna, to przy wektorze zapytania podaje się zaawansowaną sygnaturę komunikatu. Zamiast wektora odpowiedzi można zastosować zwykły wektor przepływu komunikatu. Skupienie sterowania (focus of control) reprezentuje czas, w którym obiekt jest w stanie przyjmować i nadawać komunikaty (czas aktywności). DiagramyInterakcji Diagramy interakcji

Tworzenie i niszczenie obiektu Create() anObject:aClass DiagramyInterakcji Diagramy interakcji

Równoległe wątki sterowania anObject:aClass DiagramyInterakcji Diagramy interakcji

Rekurencja anObject:aClass DiagramyInterakcji Diagramy interakcji

Dokładne określenie czasu t1 {t2-t1<1 min} t2 t3 {t3’-t3<10 ms} t3’ DiagramyInterakcji Diagramy interakcji

Przykład diagramu sekwencji Lista klientów: Lista Rachunki niezapłacone: Lista Klient Sprzedawca 2: jest := Wyszukanie() 1: Zgłoszenie() 3:[nie jest] Podaj dane() 4: 3/ jest := Nowy klient() 5: [jest] nzap:=Wyszukanie() 6: akcja := Potwierdzenie zgłoszenia(nzap) Zamówienie: Zamówienia 7a:[akcja=nowy] Create() DiagramyInterakcji Diagramy interakcji

Przykład diagramu kolaboracji Lista klientów: Lista 2: jest := Wyszukanie()  4: 3/ jest := Nowy klient()  1: Zgłoszenie()   3:[nie jest] Podaj dane() 5: [jest] nzap:=Wyszukanie()  Rachunki niezapłacone: Lista  6: akcja := Potwierdzenie zgłoszenia (nzap) Klient Sprzedawca 7a:[akcja=nowy] Create()  Zamówienie: Zamówienia DiagramyInterakcji Diagramy interakcji

Literatura Booch G, Rumbaugh J, Jacobson I: UML. Przewodnik użytkownika, WNT, Warszawa 2002 Dennis A., Haley Wixom B., Tegarden D.: System Analysis & Design. An Object-Oriented Approach with UML, John Wiley & Sons, Inc., USA 2001 DiagramyInterakcji Diagramy interakcji