Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałPrzemek Ćwikliński Został zmieniony 11 lat temu
1
Projektowanie dynamiki - diagramy interakcji
2
Modele statyczne i dynamiczne
Projektowanie dynamiki - diagram interakcji Modele statyczne i dynamiczne Modele statyczne – klasy i zależności między klasami diagram klas diagram obiektów Modele dynamiczne – interakcja między obiektami diagramy sekwencji diagramy komunikacji
3
Diagram sekwencji Diagram sekwencji przedstawia:
Projektowanie dynamiki - diagram interakcji Diagram sekwencji Diagram sekwencji przedstawia: komunikaty przysyłane pomiędzy obiektami (i ich kolejność) przepływ sterowania szablon realizowanego algorytmu lub jedną z możliwych ścieżek algorytmu czas życia i okresy aktywności obiektów (ról) biorących udział w interakcji
4
Diagram sekwencji Obiekt (rola) biorący udział w interakcji
Projektowanie dynamiki - diagram interakcji Diagram sekwencji Obiekt (rola) biorący udział w interakcji Okres aktywności Komunikat Linia życia
5
Diagram komunikacji Diagram komunikacji przedstawia:
Projektowanie dynamiki - diagram interakcji Diagram komunikacji Diagram komunikacji przedstawia: komunikaty przysyłane pomiędzy obiektami (i ich kolejność) przepływ sterowania szablon realizowanego algorytmu lub jedną z możliwych ścieżek algorytmu związki miedzy obiektami (rolami biorącymi udział w interakcji)
6
Diagram komunikacji związek komunikat obiekt
Projektowanie dynamiki - diagram interakcji Diagram komunikacji związek komunikat obiekt
7
Projektowanie dynamiki - diagram interakcji
Elementy diagramu Obiekty (role) - są podstawowym elementem diagramu interakcji. Diagram może zawierać instancje innych klasyfikatorów, np. aktorów Linia życia – reprezentuje czas życia obiektów (ról) biorących udział w interakcji. Jest to czas, kiedy obiekt jest w stanie przyjmować i obsługiwać komunikaty Okres aktywności – reprezentuje okres, kiedy obiekt obsługuje komunikat
8
Elementy diagramu - komunikaty
Projektowanie dynamiki - diagram interakcji Elementy diagramu - komunikaty Komunikat – przesłanie informacji z jednego obiektu (instancji) do innego skutkujące wykonaniem pewnej akcji na obiekcie docelowym Komunikaty są formą porozumiewania się obiektów (instancji) Implementacja komunikatu może przybierać różne formy: wywołanie metody wygenerowanie zdarzenia Na poziomie logicznym wywołanie metody i wygenerowanie zdarzenia nie różnią się między sobą - w jednym i drugim przypadku następuję przesłanie pewnej informacji od nadawcy do odbiorcy i w efekcie wykonanie pewnej akcji przez odbiorcę 1. Komunikaty mogą być przesyłane nie tylko pomiędzy obiektami, stąd określenie „pomiędzy instancjami”
9
Diagram sekwencji - interpretacja
Projektowanie dynamiki - diagram interakcji Diagram sekwencji - interpretacja Obiekt o1 wysyła komunikat do obiektu o2. Komunikat ma postać wywołania operacji OperationB1 W trakcie obsługi komunikatu OperationB1 obiekt o2 wysyła komunikat do obiektu o3. Komunikat skutkuje wykonaniem operacji OperationC1 na obiekcie o3 Po wykonaniu operacji OperationC1 obiekt o2 wysyła komunikat do samego siebie. Komunikat ma postać wywołania operacji OperationB2 Po wykonaniu operacji OperationB2 następuję wysłanie komunikatu zwrotnego do obiektu o1 oznaczającego koniec obsługi komunikatu OperationB1
10
Rodzaje komunkatów Komunikat synchroniczny Komunikat asynchroniczny
Projektowanie dynamiki - diagram interakcji Rodzaje komunkatów Komunikat synchroniczny Komunikat asynchroniczny Komunikat zwrotny
11
Komunikat synchroniczny
Projektowanie dynamiki - diagram interakcji Komunikat synchroniczny Wysłanie komunikatu synchronicznego oznacza przekazanie sterowania do obiektu odbiorcy i rozpoczęcie wykonywania akcji na obiekcie docelowym Przetwarzanie w obiekcie nadawcy ulega wstrzymaniu Powrót sterowania i wznowienie przetwarzania w obiekcie nadawcy następuje po wykonaniu wszystkich akcji zainicjowanych przez wysłany komunikat
12
Komunikat asynchroniczny
Projektowanie dynamiki - diagram interakcji Komunikat asynchroniczny Wysłanie komunikatu asynchronicznego nie powoduje przerwania aktualnego przepływu sterowania Przetwarzanie w obiekcie nadawcy jest kontynuowane zaraz po wysłaniu komunikatu – obiekt nadawcy nie czeka aż obiekt odbiorcy skończy obsługę komunikatu Po odebraniu komunikatu asynchronicznego w obiekcie odbiorcy pojawia się nowy przepływ sterowania niezależny od przepływu sterowania w obiekcie nadawcy
13
Projektowanie dynamiki - diagram interakcji
Komunikat zwrotny Komunikaty zwrotne służą do oznaczenia powrotu sterowania do obiektu nadawcy po wykonaniu akcji związanych z wysłaniem komunikatu synchronicznego Komunikaty zwrotne są opcjonalne – zazwyczaj używa się ich w sytuacji, gdy operacja zwraca istotną wartość lub też dla lepszego zrozumienia przepływu sterowania
14
Rodzaje komunikatów - przykład
Projektowanie dynamiki - diagram interakcji Rodzaje komunikatów - przykład GetFileList() – synchroniczny PrepareFileList() – synchroniczny fileList – zwrotny StartDownload() – asynchroniczny SendFile () – asynchroniczny ReportProgress() – asynchroniczny
15
Projektowanie dynamiki - diagram interakcji
Tworzenie obiektu Tworzenie obiektu – wysłanie komunikatu ze stereotypem <<create>> Komunikat może zawierać parametry konstruktora obiektu
16
Projektowanie dynamiki - diagram interakcji
Usuwanie obiektu We współczesnych językach takich jak Java czy C# usuwanie obiektów oznacza usuniecie referencji do obiektu. Obiekty nie posiadające referencji zbierane są co pewien czas przez tzw. Garbage i dopiero wtedy fizycznie usuwane Usuwanie obiektu – wysłanie komunikatu ze stereotypem <<destroy>> Usunięcie obiektu oznacza się znakiem X na linii życia
17
Składnia komunikatu (1)
Projektowanie dynamiki - diagram interakcji Składnia komunikatu (1) numer-komunikatu [własności] zmienna-zwracana := komunikat (lista-parametrów): zwracany-typ numer-komunikatu – numer komunikatu w sekwencji. Stosuje się numeracje prostą (komunikaty dostają kolejne numery 1,2, 3, ...) lub zagnieżdżoną (jeśli obiekt otrzymuje komunikat o numerze 2.1, to każdy komunikat wysłany w trakcie realizacji tego komunikatu będzie miał prefiks 2.1, np , 2.1.2, …) lista-parametrów – lista parametrów komunikatu. W wersji najbardziej rozszerzonej ma postać: zmienna:typ. Dopuszcza się stosownie tylko typów, tylko zmiennych, można też pominąć całkowicie wszystkie parametry
18
Składnia komunikatu (2)
Projektowanie dynamiki - diagram interakcji Składnia komunikatu (2) numer-komunikatu [własności] zmienna-zwracana := komunikat (lista-parametrów): zwracany-typ zmienna-zwracana – nazwa zmiennej zwracanej przez komunikat. Można opuścić, jeśli komunikat nic nie zwraca zwracany-typ – typ zmiennej zwracanej przez komunikat. Można opuścić, jeśli komunikat nic nie zwraca własności – określa własności komunikatu odnośnie warunków jego wysłania. Może mieć postać warunku logicznego, np. [x > 0] – komunikat będzie wysłany jeśli warunek będzie prawdziwy. Może też mieć postać iteracji, np. *[1..5] – komunikat będzie wysłany 5 razy
19
Komunikaty z warunkiem
Projektowanie dynamiki - diagram interakcji Komunikaty z warunkiem Komunikat Update() zostanie wysłany tylko wtedy, gdy zmienna find przyjmie wartość true
20
Projektowanie dynamiki - diagram interakcji
Komunikaty z iteracją Komunikat ObliczPodateKPozycjiKoszyka() będzie wysyłany liczbaPozycji razy
21
Projektowanie dynamiki - diagram interakcji
Bloki komunikatów Blok (fragment wyodrębniony) – grupa komunikatów posiadających wspólną cechę Najczęściej spotykane bloki komunikatów: alt - alternatywa opt - opcja par - współbieżność loop - iteracja critical - obszar krytyczny ref - odwołanie do innego bloku
22
Projektowanie dynamiki - diagram interakcji
alt alt – wybierany jest jeden z alternatywnych bloków komunikatów - odpowiada instrukcji if…else Operacje msg3 i msg4 będą wykonane, jeśli warunek będzie prawdziwy. W przeciwnym przypadku wykona się operacja msg5
23
Projektowanie dynamiki - diagram interakcji
opt opt – grupuje komunikaty wysyłane, jeśli spełniony jest pewien warunek - odpowiada instrukcji if (bez else) Operacje msg3 i msg4 będą wykonane, jeśli warunek będzie prawdziwy
24
Projektowanie dynamiki - diagram interakcji
loop loop – grupuje komunikaty wykonywane iteracyjne (w pętli). Pętla może mieć z góry zadaną liczbę iteracji (pętla for). Liczba iteracji może też być określona przy pomocy warunku (pętla while) Operacje msg3 i msg4 będą powtarzane 5 razy
25
par par – grupuje komunikaty wykonywane równolegle
Projektowanie dynamiki - diagram interakcji par par – grupuje komunikaty wykonywane równolegle Operacje msg3 i msg4 mogą być wykonywane równolegle
26
Projektowanie dynamiki - diagram interakcji
Rodzaje diagramów Diagramy egzemplarzowy (instancyjny) – przedstawia tylko jedną z możliwych ścieżek interakcji (algorytmu). Diagramy egzemplarzowe nie zawierają alternatyw, opcji ani iteracji Diagramy ogólny (generyczny) – przedstawia wszystkie możliwe ścieżki interakcji (algorytmu) . Na diagramach ogólnych często pojawiają się elementy opcjonalne, alternatywne oraz iteracje
27
Diagramy ogólne i egzemplarzowe
Projektowanie dynamiki - diagram interakcji Diagramy ogólne i egzemplarzowe Diagram ogólny (generyczny) Diagram egzemplarzowy (instancyjny) Diagram przedstawia wszystkie możliwe scenariusze interakcji (blok alt) Diagram przedstawia jeden scenariusz interakcji (dla zmiennej ilość jest większej od 0)
28
Diagram sekwencji versus diagram komunikacji
Projektowanie dynamiki - diagram interakcji Diagram sekwencji versus diagram komunikacji Cecha Diagram sekwencji Diagram komunikacji 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ść komunikatów bardzo dobrze widoczna kolejność komunikatów możliwa do ustalenia jedynie na podstawie numeracji organizacja przestrzeni diagramy sekwencji zajmują więcej miejsca przestrzeń w diagramach komunikacji lepiej wykorzystana rodzaje, własności i bloki komunikatów rodzaje komunikatów lepiej widoczne, możliwość zastosowania bloków komunikatów rodzaje komunikatów słabo widoczne, brak możliwości stosowania bloków komunikatów Podsumowanie: 1. Używaj diagramu sekwencji, jeśli interesuje cię przede wszystkim kolejność przepływu wiadomości 2. Używaj diagramu komunikacji, jeśli chcesz zobrazować związki między obiektami uczestniczącymi w interakcji
29
Diagram sekwencji versus diagram komunikacji
Projektowanie dynamiki - diagram interakcji Diagram sekwencji versus diagram komunikacji diagram sekwencji diagram komunikacji
30
Literatura Russ Miles, Kim Hamilton, UML 2.0 Wprowadzenie
Projektowanie dynamiki - diagram interakcji Literatura Russ Miles, Kim Hamilton, UML Wprowadzenie Grady Booch, James Rumbaugh, Ivar Jacobson: UML Reference Manual Kazimierz Subieta: Projektowanie systemów informatycznych – wykłady
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.