Wykad 5 UML diagramy cz 3 Ryszard Myhan

  • Slides: 30
Download presentation
Wykład 5 UML – diagramy (cz. 3) Ryszard Myhan

Wykład 5 UML – diagramy (cz. 3) Ryszard Myhan

Diagram sekwencji q Diagram przypadków użycia (use case). q Diagramy klas (class diagrams). q

Diagram sekwencji q Diagram przypadków użycia (use case). q Diagramy klas (class diagrams). q Diagramy odwzorowujące dynamiczne własności systemu (behavior diagrams), w tym: o Diagram stanów (statechart diagram) o Diagram czynności (activity diagram) o Diagramy interakcji (interction diagrams) § Diagram sekwencji (sequence diagram) § Diagramy współpracy (collaboration diagram) q Diagramy implementacyjne: o Diagram komponentów (component diagram) o Diagram wdrożeniowy (deployment diagram ) Modelowanie obiektowe UML – diagramy (cz. 3) 2

Diagram sekwencji jest to graficzny sposób prezentacji scenariusza, który pokazuje interakcje pomiędzy obiektami w

Diagram sekwencji jest to graficzny sposób prezentacji scenariusza, który pokazuje interakcje pomiędzy obiektami w dziedzinie czasu. Diagram sekwencji opisuje interakcje między aktorami, blokami i obiektami w postaci komunikatów wymienianych między elementami diagramu. Diagramy sekwencji ustalają role obiektów oraz pomagają dostarczyć istotnych informacji do określenia zakresu odpowiedzialności klasy oraz wyznaczenia interfejsów. Ø Diagram sekwencji posiada dwa wymiary: § § Wymiar pionowy stanowi oś czasu – komunikaty położone niżej realizowane są później, Wymiar poziomy przedstawia role obiektów pomiędzy którymi trwa określona komunikacja. Modelowanie obiektowe UML – diagramy (cz. 3) 3

Diagram sekwencji – zasady v W diagramie sekwencji istotna jest kolejność zdarzeń, natomiast nie

Diagram sekwencji – zasady v W diagramie sekwencji istotna jest kolejność zdarzeń, natomiast nie jest istotna rzeczywista miara czasu. v Obiekty są zaznaczane w postaci prostokątów z wpisaną wewnątrz nazwą obiektu (klasy). v Od każdego obiektu prowadzi linia reprezentująca „linię życia” obiektu. v Obiekt może być aktywny lub nie: o jeżeli nie jest aktywny, wówczas jego linia życia jest przedstawiona w postaci linii przerywanej; o jeżeli jest aktywny, to linia życia jest wąskim, długim prostokątem. Modelowanie obiektowe UML – diagramy (cz. 3) 4

Diagram sekwencji – zasady inicjator : Personel biblioteki : Członek biblioteki : Personel biblioteki

Diagram sekwencji – zasady inicjator : Personel biblioteki : Członek biblioteki : Personel biblioteki wypożycz (książka) : Egzemplarz książki linia życia obiektu czy można wypożyczyć czas : Członek biblioteki : Książka odpowiedź na komunikat Modelowanie obiektowe czy wolny rejestruj wypożyczenie : Egzemplarz książki Diagram współpracy znajdź egzemplarz Diagram sekwencji UML – diagramy (cz. 3) 5

Diagram sekwencji – kategorie pojęciowe Ø Aktor – spójny zbiór ról odgrywanych przez użytkowników

Diagram sekwencji – kategorie pojęciowe Ø Aktor – spójny zbiór ról odgrywanych przez użytkowników przypadku użycia w czasie interakcji z tym przypadkiem. Ø Obiekt jest instancją klasy i tak jak aktor jest połączony z osią czasu – jeżeli obiekt jest tworzony bądź niszczony, jest to zaznaczone na osi czasu. Ø Linia życia (lifeline) – linia powiązana z konkretną kategorią modelowania, wskazująca czas istnienia tej kategorii. Ø Czas aktywności elementu (activation bar, focus of control) – oznaczenie wskazujące na wykonywanie przez kategorię modelowania w określonym czasie operacji (przetwarzania, obliczania, komunikowania się, itp. ). Modelowanie obiektowe UML – diagramy (cz. 3) 6

Diagram sekwencji – kategorie pojęciowe Ø Komunikat – specyfikacja wymiany informacji między kategoriami modelowania,

Diagram sekwencji – kategorie pojęciowe Ø Komunikat – specyfikacja wymiany informacji między kategoriami modelowania, zawierająca zlecenia (polecenia, rozkazy) wykonania określonej operacji. o Komunikaty posiadają nadawcę, odbiorcę i akcję, czyli treść informacji. o Tworząc komunikat określić można też tzw. aktywację (activation), która reprezentuje czas wykonywania czynności przez obiekt. o Możliwe jest tworzenie komunikatów pomiędzy obiektami, aktorami, a nawet tworzenie komunikatów rekurencyjnych, tj. takich gdzie nadawca i odbiorca to ten sam obiekt / aktor. o Wysłanie komunikatu może być uzależnione od spełnienia pewnego warunku – warunek ten zapisywany jest wewnątrz nawiasów kwadratowych. Modelowanie obiektowe UML – diagramy (cz. 3) 7

Diagram sekwencji – rodzaje komunikatów Ø Ustalić można następujące (cztery) rodzaje komunikatów: o Prosty

Diagram sekwencji – rodzaje komunikatów Ø Ustalić można następujące (cztery) rodzaje komunikatów: o Prosty (jednostronny) (flat) § o Nadawca komunikatu przekazuje sterowanie do odbiorcy oraz kończy własną działalność nie oczekując na odpowiedź. Synchroniczny (synchronous) § Wywołanie operacji przez nadawcę, powiązane z przekazaniem sterowania do odbiorcy. § Przepływ sterowania (działanie) nadawcy jest zawieszane do momentu wykonania operacji przez odbiorcę (zwrócenia sterowania). Modelowanie obiektowe UML – diagramy (cz. 3) 8

Diagram sekwencji – rodzaje komunikatów Ø Ustalić można następujące rodzaje komunikatów: o Zwrotny §

Diagram sekwencji – rodzaje komunikatów Ø Ustalić można następujące rodzaje komunikatów: o Zwrotny § Powrót (zwrócenie) sterowania do nadawcy po wykonaniu operacji zleconej uprzednio poprzez wysłanie komunikatu synchronicznego. o Asynchroniczny § Zlecenie wykonania operacji przez odbiorcę bez oczekiwania na odpowiedź. § Nadawca pozostaje w stanie aktywności, co umożliwia mu dalsze przetwarzanie bądź wysyłanie komunikatów. Modelowanie obiektowe UML – diagramy (cz. 3) 9

Diagram sekwencji - przykład : Personel biblioteki : Książka : Egzemplarz książki czy można

Diagram sekwencji - przykład : Personel biblioteki : Książka : Egzemplarz książki czy można wypożyczyć czas wypożycz (książka) : Członek biblioteki znajdź egzemplarz czy wolny rejestruj wypożyczenie Diagram sekwencji (interakcje synchroniczne ) Modelowanie obiektowe UML – diagramy (cz. 3) 10

Diagram sekwencji – tworzenie i usuwanie obiektu Ø Operacja tworzenia obiektu § § Ø

Diagram sekwencji – tworzenie i usuwanie obiektu Ø Operacja tworzenia obiektu § § Ø Wysłanie komunikatu ze stereotypem <<create>> (komunikat może zawierać parametry konstruktora obiektu). Na diagramie komunikat jest kierowany bezpośrednio do obiektu, a nie do linii życia. Operacja usunięcia obiektu § § Wysłanie komunikatu ze stereotypem <<destroy>>. Usunięcie obiektu oznacza się znakiem X na linii życia. Komunikat tworzenia obiektu <<create>> Komunikat usuwania obiektu <<destroy>> Modelowanie obiektowe UML – diagramy (cz. 3) p 1: Klasa 11

Diagram sekwencji - przykład : Rejestracja : Pacjent : Laboratorium : Pielęgniarka Tworzenie elementu

Diagram sekwencji - przykład : Rejestracja : Pacjent : Laboratorium : Pielęgniarka Tworzenie elementu rejestruj czas wystaw zlecenie pobierz krew przekaż wynik nowa : Strzykawka strzykawka przekaż próbkę utylizuj strzykawkę wydaj wynik Kasowanie elementu usuń dane pacjenta Kasowanie elementu Modelowanie obiektowe wykonaj analizę Diagram sekwencji (usuwanie obiektów ) UML – diagramy (cz. 3) 12

Diagram sekwencji – komunikat warunkowy Ø Komunikat warunkowy określa warunek jaki musi zostać spełniony

Diagram sekwencji – komunikat warunkowy Ø Komunikat warunkowy określa warunek jaki musi zostać spełniony aby wskazywana przez komunikat operacja mogła zostać wykonana Ä Sterowanie może być przekazywane do różnych instancji w zależności od tego który z warunek został spełniony. : Odbiorca poczty : Filtr antyspamowy : Panel konta pocztowego odrzuć wiadomość : Kosz [spam] naucz filtr Rozgałęzienie [nie spam] umieść w koszu Modelowanie obiektowe UML – diagramy (cz. 3) 13

Diagram sekwencji – iteracja Ø UML umożliwia oznaczenie komunikatu, który ma zostać wysłany wiele

Diagram sekwencji – iteracja Ø UML umożliwia oznaczenie komunikatu, który ma zostać wysłany wiele razy, poprzez poprzedzenie go symbolem gwiazdki. § W takiej sytuacji należy podać warunek zakończenia iteracji (umieszczając go w nawiasach kwadratowych). § Szczególnym przypadkiem iteracji jest wywołanie własnej operacji przez daną instancję. : Gracz : Dobór kart : Talia kart : Gracz Iteracja dobierz katy karty dobrane Modelowanie obiektowe 3*dobierz kartę 2* policz punkty Iteracja UML – diagramy (cz. 3) 14

Diagram sekwencji – przykład calculator [x>=0] get. Value() calculator Warunek Tworzenie elementu new() [x<0]

Diagram sekwencji – przykład calculator [x>=0] get. Value() calculator Warunek Tworzenie elementu new() [x<0] transform() get. Value() buffer delete() iterate() Iteracja Kasowanie elementu Rekurencja Modelowanie obiektowe UML – diagramy (cz. 3) 15

Diagram sekwencji – blok komunikatów Ø Blok (fragment wyodrębniony) – grupa komunikatów posiadających wspólną

Diagram sekwencji – blok komunikatów Ø Blok (fragment wyodrębniony) – grupa komunikatów posiadających wspólną cechę Ø Najczęściej spotykane bloki komunikatów: § alt (alternatywa) – wykonywany jest ten fragment, przy którym spełniony jest warunek; § opt (opcjonalny) – wykonywany jeśli spełniony jest warunek; § par (współbieżność) – wszystkie fragmenty wykonywane są współbieżnie; § § loop (iteracja) – warunek określa podstawę iteracji; § ref – odwołanie do innego komunikatu. critical (obszar krytyczny) – fragment może mieć tylko jeden wątek uruchomiony w danej chwili; Modelowanie obiektowe UML – diagramy (cz. 3) 16

Diagram sekwencji – blok komunikatów (przykład) : Koszyk zakupów : Klient wyświetl koszyk :

Diagram sekwencji – blok komunikatów (przykład) : Koszyk zakupów : Klient wyświetl koszyk : Kredyt : Baza danych pobierz zwartość koszyka zatwierdź zakup alt Alternatywa Wybór tylko jednej z dostępnych opcji [płatność zwykła] zatwierdź zakup [raty] warunki kredytu Modelowanie obiektowe UML – diagramy (cz. 3) 17

Diagram sekwencji – blok komunikatów (przykład) : Serwer poczty : Nadawca : Odbiorca Opcja

Diagram sekwencji – blok komunikatów (przykład) : Serwer poczty : Nadawca : Odbiorca Opcja Zawartość jest wykonywana tylko w przypadku spełnienia warunku wyślij wiadomość opt [wiadomość ma załącznik] wyślij załącznik odbierz wiadomość Modelowanie obiektowe UML – diagramy (cz. 3) 18

Diagram sekwencji – blok komunikatów (przykład) : Pobieranie plików : Klient : Serwer :

Diagram sekwencji – blok komunikatów (przykład) : Pobieranie plików : Klient : Serwer : Kolejka : Log podaj nazwę pliku break raportuj brak pliku określ priorytet zleć wysyłkę Wydziela czynności wykonywane w przypadku szczególnym – awaryjnym Wykonanie przerwania anuluje dalsze etapy Modelowanie obiektowe UML – diagramy (cz. 3) 19

Diagram sekwencji – blok komunikatów (przykład) : Produkt : Sklep Iteracja Wydziela fragment wykonywany

Diagram sekwencji – blok komunikatów (przykład) : Produkt : Sklep Iteracja Wydziela fragment wykonywany wielokrotnie : Nadawca wyszukaj produkt loop wybierz produkt [ 1. . * ] wyświetl (n, produkt) Modelowanie obiektowe UML – diagramy (cz. 3) 20

Diagram sekwencji – blok komunikatów (przykład) : Przeglądarka : Właściciel par wyświetl stronę WWW

Diagram sekwencji – blok komunikatów (przykład) : Przeglądarka : Właściciel par wyświetl stronę WWW : Sieć : Punkt dostępu : Komórka pobierz pakiet GPRS nawiąż połączenie sprawdź siłę sygnału raportuj dostępność Współbieżność Wydziela sekwencje czynności wykonywane niezależnie od siebie w tym samym czasie Modelowanie obiektowe UML – diagramy (cz. 3) 21

Diagram sekwencji – etapy tworzenia Analiza odpowiedniego przypadku użycia i jego scenariuszy. Zidentyfikowanie obiektów

Diagram sekwencji – etapy tworzenia Analiza odpowiedniego przypadku użycia i jego scenariuszy. Zidentyfikowanie obiektów biorących udział w operacji (po lewej umieszczane obiekty najważniejsze). Opracowanie diagramu konceptualnego, zawierającego: • • • zidentyfikowane obiekty; uporządkowane na osi czasu komunikaty; ośrodki sterowania. Opracowanie diagramu sekwencji uwzględniającego: • • rodzaje komunikatów; warunki; samowywołania; fragmenty wydzielone. Sporządzenie wybranych wystąpień diagramów sekwencji (opcjonalnie). Modelowanie obiektowe UML – diagramy (cz. 3) 22

Diagram przeglądu interakcji łączy diagramy sekwencji w ogólny diagram czynności, przedstawiający schemat przepływu sterowania.

Diagram przeglądu interakcji łączy diagramy sekwencji w ogólny diagram czynności, przedstawiający schemat przepływu sterowania. [książka dostępna] : : Czytelnik Bibliotekarz wypożycz : Katalog : Ksiazka : : Czytelnik Bibliotekarz rezerwuj : Katalog : Ksiazka wyszukaj wypożycz Modelowanie obiektowe [książka niedostępna] UML – diagramy (cz. 3) rezerwuj 23

Diagram współpracy q Diagram przypadków użycia (use case). q Diagramy klas (class diagrams). q

Diagram współpracy q Diagram przypadków użycia (use case). q Diagramy klas (class diagrams). q Diagramy odwzorowujące dynamiczne własności systemu (behavior diagrams), w tym: o Diagram stanów (statechart diagram) o Diagram czynności (activity diagram) o Diagramy interakcji (interction diagrams) § Diagram sekwencji (sequence diagram) § Diagramy współpracy (collaboration diagram) q Diagramy implementacyjne: o Diagram komponentów (component diagram) o Diagram wdrożeniowy (deployment diagram ) Modelowanie obiektowe UML – diagramy (cz. 3) 24

Diagram współpracy (collaboration diagram) przedstawia sposób realizacji przez system zleconego mu zadania. Diagram współpracy

Diagram współpracy (collaboration diagram) przedstawia sposób realizacji przez system zleconego mu zadania. Diagram współpracy przedstawia współpracę w postaci zbioru ról obiektu powiązanych w określonym kontekście oraz interakcji, która stanowi zbiór komunikatów wymienianych między obiektami w celu przeprowadzenia operacji lub osiągnięcia wyniku. Ä Jest to diagram pokazujący dla jednego zdarzenia systemu zdefiniowanego przez jeden przypadek użycia, w jaki sposób dana grupa obiektów współpracuje z inną grupą. Ä Diagramów współpracy używa się go w celu zobrazowania dynamiki systemu – wzajemne oddziaływanie na siebie obiektów oraz komunikaty, jakie między sobą przesyłają Modelowanie obiektowe UML – diagramy (cz. 3) 25

Diagram współpracy v v W odróżnieniu od diagramów sekwencji wymiar czasu nie jest tu

Diagram współpracy v v W odróżnieniu od diagramów sekwencji wymiar czasu nie jest tu bezpośrednio odwzorowany. o Kolejność komunikatów na diagramie współpracy jest wyrażana za pomocą ich numerów o Odwzorowane są powiązania pomiędzy obiektami (prezentujące pewną część powiązań z diagramu klas). W skład diagramu wchodzą elementy takie jak: inicjator rozpoczynający sekwencję komunikatów niezbędnych do realizacji zadania oraz zaangażowane relewantne obiekty. v Inicjatorem może być instancja aktora systemu lub obiekt, w zależności od tego, czy specyfikowany jest sposób realizacji całości przypadku użycia czy tylko pewnego jego fragmentu. Modelowanie obiektowe UML – diagramy (cz. 3) 26

Diagram współpracy v Współpracujące obiekty, połączone liniami obrazującymi występujące między nimi powiązania, tworzą rodzaj

Diagram współpracy v Współpracujące obiekty, połączone liniami obrazującymi występujące między nimi powiązania, tworzą rodzaj "kolektywu", zwanego kolaboracją. o W ogólnym przypadku możliwe jest wystąpienie na diagramie więcej niż jednego obiektu danej klasy. o Powiązania odpowiadają instancjom asocjacji z diagramu klas, a to oznacza, że dla każdego powiązania na diagramie współpracy powinna istnieć odpowiednia asocjacja na diagramie klas. o Diagram może zawierać takie informacje jak kierunek nawigowania, nazwy powiązań, itp. (podobnie jak na diagramie klas), pod warunkiem, że zwiększają one, a nie zmniejszają, czytelność diagramu. Modelowanie obiektowe UML – diagramy (cz. 3) 27

Diagram współpracy – przykłady 1: zamawia książkę (autor, tytuł) 4: przynieś książkę 6: wypożycza

Diagram współpracy – przykłady 1: zamawia książkę (autor, tytuł) 4: przynieś książkę 6: wypożycza : Bibliotekarz : Czytelnik 2: wyszukaj inicjator nr kolejnego komunikatu : Pasażer 3: podaj wynik wyszukiwania obiekt : Katalog 4: pokaż plan 6: pokaż szczegóły 1: zmień plan lotu 5: wybierz segment 7: zmień dane : System rezerwacji 5: przynosi : Asystent 2: pobierz konto urz. 3: pobierz plan 8: dostępne loty : Konto klienta DBMS : System rezerwacji lotów Modelowanie obiektowe UML – diagramy (cz. 3) 28

Diagram współpracy – etapy tworzenia W pierwszym kroku tworzenia diagramu współpracy należy określić jakie

Diagram współpracy – etapy tworzenia W pierwszym kroku tworzenia diagramu współpracy należy określić jakie obiekty wejdą w jego skład, a następnie zdefiniować związki pomiędzy nimi. W kolejnym kroku wprowadzane są symbole (opisy wraz ze strzałkami) komunikatów. § Strzałka powinna wskazywać kierunek przepływu komunikatu. Jako ostatni element na diagram nanoszona jest numeracja kolejności komunikatów. § § Po zakończeniu tworzenia diagramu każdy komunikat musi mieć numer swojej kolejności, nazwę operacji, oraz strzałkę ustalającą kierunek przepływu. Dodatkowo można oznaczać opisem, bądź typem strzałki, z jakiem rodzajem komunikatu mamy do czynienia. Modelowanie obiektowe UML – diagramy (cz. 3) 29

Diagram sekwencji a diagram współpracy Cecha Diagram sekwencji Diagram współpracy związki pomiędzy obiektami •

Diagram sekwencji a diagram współpracy Cecha Diagram sekwencji Diagram współpracy związki pomiędzy obiektami • związki pomiędzy obiektami słabo widoczne • związki pomiędzy obiektami bardzo dobrze widoczne kolejność przepływu komunikatów • kolejność jedynie na komunikatów bardzo podstawie numeracji dobrze widoczna organizacja przestrzeni • diagramy sekwencji zajmują więcej miejsca rodzaje, własności i bloki komunikatów • rodzaje komunikatów lepiej widoczne, słabo widoczne, • możliwość • brak możliwości zastosowania bloków komunikatów Modelowanie obiektowe UML – diagramy (cz. 3) • przestrzeń jest lepiej wykorzystana 30