Wykad 5 UML diagramy cz 3 Ryszard Myhan
- Slides: 30
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 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 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 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 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 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, 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 (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 § 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 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 § § Ø 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 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 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 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] 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ą 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 : 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 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 : 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 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 : 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 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. [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 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 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 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 "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 : 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 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 • 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
- Uml diagram
- Diagramy chena
- Stĺpcový diagram
- Diagram matematika
- Pakove pravidlo
- Vennovy diagramy logika
- Vennovy diagramy slovní úlohy
- W sklepie sportowym obnizono o 1/5
- Regulační diagramy
- Diagramy klas
- 2% pewnej wielkości to
- Diagram encji
- Emmanuelle walkowiak
- Ryszard bugajski
- Pregiel
- Ryszard walkowiak
- Ojczyzna wolna znowu wolna
- Ryszard auksztulewicz
- Jessica dzem
- Ryszard przymus
- Ryszard dobrołowicz
- Antonowicz pwr
- Klęk wykroczny
- Ryszard jadach
- Ryszard szarfenberg
- Ryszard siwiec
- Małgorzata pol riedel
- Kartodiagram słupkowy
- Klęk podparty wysoka klappa
- System analysis and design with uml
- Uml primer