Modelowanie obiektowe Diagramy sekwencji Dr Karolina Muszyńska Na podstawie: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Modelowanie obiektowe Dynamiczny obraz systemu – diagramy sekwencji Rola i typy diagramów sekwencji Podstawowe pojęcia Zaawansowane pojęcia Przykłady No additional notes
Diagramy sekwencji - rola Diagram sekwencji jest rodzajem diagramu interakcji, opisującym interakcje pomiędzy instancjami klasyfikatorów systemu w formie sekwencji komunikatów przesyłanych pomiędzy nimi w określonym czasie. Diagramy sekwencji są ściśle powiązane ze scenariuszami przypadków użycia, dokumentując ich funkcjonalność. Interakcja pokazywana jest na diagramie sekwencji w dwóch wymiarach: poziomym – wymiar statyczny przedstawiający instancje klasyfikatorów biorące udział w interakcji pionowym – wymiar dynamiczny przedstawiający chronologicznie ułożone komunikatami na osi czasu No additional notes
Diagramy sekwencji - typy W zależności od stopnia abstrakcji wyróżnić można trzy typy diagramów sekwencji: Konceptualny diagram sekwencji – wykorzystujący tylko podstawowe pojęcia, dający ogólny obraz interakcji w systemie. Implementacyjny diagram sekwencji – jest punktem wyjścia dla specyfikacji oprogramowania i wykorzystuje wszystkie dostępne pojęcia; ten typ diagramu obejmuje zarówno główny jak i wszystkie alternatywne scenariusze przypadku użycia i może być wykorzystywany do automatycznego generowania kodu. Wystąpieniowy diagram sekwencji – diagram przedstawiający jeden konkretny scenariusz przypadku użycia; może być wiele diagramów wstąpieniowych dla jednego diagramu implementacyjnego. No additional notes
Diagramy sekwencji –pojęcia podstawowe Klasyfikator – kategoria abstrakcyjna modelowania systemów w języku UML (np. aktor, obiekt, interfejs, komponent, pakiet, etc.) Komunikat – opisuje przepływ sterowania w systemie; określa kolejność i miejsce wykonania operacji; komunikaty są ułożone w kolejności ich pojawiania się – im później się mają pojawić tym są niżej umieszczone na diagramie. Każda instancja klasyfikatora ma linię życia, która reprezentuje czas życia danej instancji; znak “X” na końcu linii życia wskazuje na miejsce, w którym obiekt przestaje istnieć w systemie. Ośrodek sterowania reprezentuje czas, w którym dana instancja klasyfikatora wykonuje jakąś operację (przetwarzanie, obliczanie, komunikacja z inną instancją czy wykonywanie złożonych algorytmów); ośrodek sterowania inicjowany jest aktywacją a zakańczany deaktywacją. No additional notes
Diagramy sekwencji –pojęcia podstawowe Instancje klasyfikatora (aktor, obiekt, interfejs, pakiet) No additional notes Linia życia Komunikat
Diagramy sekwencji –pojęcia podstawowe Aktywacja No additional notes Deaktywacja Ośrodek sterowania
Diagramy sekwencji– pojęcia zaawansowane Rodzaje komunikatów Tworzenie i niszczenie obiektów Warunki Fragmenty wyodrębnione i operatory interakcji Przywołanie wystąpienia interakcji No additional notes
Diagramy sekwencji– pojęcia zaawansowane Rodzaje komunikatów: synchroniczny – przekazuje sterowanie z klasyfikatora nadawcy do klasyfikatora odbiorcy, asynchroniczny – nie przekazuje sterowania, nie oczekuje na odpowiedź od odbiorcy, może kontynuować przetwarzanie, zwrotny – wskazuje na powrót sterowania do klasyfikatora po wykonaniu komunikatu synchronicznego i może również inicjować określoną operację, samowywołanie – sytuacja, w której klasyfikator wywołuje własną operację; samowywołanie jest szczególnym przypadkiem iteracji, która tworzy zagnieżdżony ośrodek sterowania. No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes Komunikat synchroniczny Komunikat asynchroniczny
Diagramy sekwencji– pojęcia zaawansowane No additional notes Komunikat zwrotny Samowywołanie
Diagramy sekwencji– pojęcia zaawansowane Pozostałe rodzaje komunikatów: utracony – komunikat wysłany od znanego nadawcy do nieznanego odbiorcy znaleziony – komunikat, dla którego znany jest odbiorca a nieznany jest nadawca (może być to zewnętrzny sygnał, impuls) opcjonalny – komunikat, który nie zostanie obsłużony przez odbiorcę, jeżeli ten nie może przyjąć go bezpośrednio po wysłaniu oczekujący – podobny do opcjonalnego, z tym że nadawca gotowy jest poczekać na obsłużenie wysłanego komunikatu przez określony odcinek czasu No additional notes
Diagramy sekwencji– pojęcia zaawansowane Tworzenie i niszczenie obiektów: komunikat stereotypowany „create” – w wyniku jego przesłania obiekt zostaje utworzony; obiekt umieszczany jest na diagramie poniżej pierwotnie istniejących klasyfikatorów, zgodnie z czasem jego utworzenia komunikat stereotypowany „destroy” – w wyniku jego przesłania obiekt zostaje zniszczony No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes Komunikat <<Create>> Komunikat <<Destroy>>
Diagramy sekwencji– pojęcia zaawansowane Warunek – jest to związane z komunikatem kryterium, od którego spełnienia uzależnione jest wykonanie określonej operacji. Jeżeli nie spełniony jest warunek dotyczący określonego komunikatu, operacja wskazywana przez ten komunikat nie zostanie zrealizowana. Warunki umieszcza się w nawiasach kwadratowych przed nazwą komunikatu. Realizacja komunikatu może być uzależniona od spełnienia więcej niż jednego warunku. No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes Warunek
Diagramy sekwencji– pojęcia zaawansowane Fragment wyodrębniony – jest to logicznie spójny obszar interakcji, część diagramu sekwencji charakteryzujący się specyficznymi właściwościami określonymi przez operator interakcji Operator interakcji – stanowi sprecyzowanie funkcjonalności realizowanej przez fragment wyodrębniony Operatory interakcji: No additional notes alt – alternatywa opt – opcja break – przerwanie loop – iteracja par – współbieżność assert – formuła neg – funkcjonalność nieprawidłowa critical – obszar krytyczny consider – istotność ignore – nieistotność stricte – ścisłe uporządkowanie seq – słabe uporządkowanie
Diagramy sekwencji– pojęcia zaawansowane Wybrane, najczęściej wykorzystywane operatory: alternatywa (alt) – oznacza możliwość wyboru jednego i tylko jednego spośród wszystkich operandów danego fragmentu wyodrębnionego, w zależności od warunku przypisanego do operandu, opcja (opt ) – oznacza, że operand we fragmencie wyodrębnionym wystąpi lub zostanie pominięty, w zależności od spełnienia warunku, przerwanie (break) – jest skróconą formą operatora alt z tylko jednym zdefiniowanym operandem i w momencie wykonania fragmentu wyodrębnionego otaczające go interakcje są ignorowane, iteracja (loop) – oznacza powtarzanie operandu określoną ilość razy. No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes
Diagramy sekwencji– pojęcia zaawansowane No additional notes
Diagramy sekwencji– pojęcia zaawansowane Przywołanie wystąpienia interakcji – jest to zamieszczane na diagramie bazowym odwołanie do powiązanego diagramu interakcji. Przywołania wystąpienia interakcji mają szczególne znaczenie w przypadku rozbudowanych diagramów sekwencji, w których przywołuje się diagramy zdefiniowane wcześniej. Przywołanie wystąpienia interakcji może być zainicjowane poprzez komunikat lub poprzez czynnik czasu. No additional notes
Diagramy sekwencji– pojęcia zaawansowane Przywołanie wystąpienia interakcji No additional notes
Proces tworzenia diagramu sekwencji Analiza wybranego przypadku użycia oraz jego scenariuszy Identyfikacja klasyfikatorów, których instancje uczestniczą w interakcji Opracowanie diagramu konceptualnego zawierającego zidentyfikowane klasyfikatory, komunikaty i ośrodki sterowania Opracowanie implementacyjnego diagramu sekwencji na bazie diagramu konceptualnego poprzez wprowadzenie zaawansowanych kategorii pojęciowych takich jak: rodzaje komunikatów, warunki, fragmenty wyodrębnione, przywołania wystąpień interakcji Opcjonalne sporządzenie wystąpieniowych diagramów sekwencji dla wybranego diagramu implementacyjnego No additional notes