Modelowanie obiektowe Diagramy sekwencji dr Karolina Muszyska Based
Modelowanie obiektowe Diagramy sekwencji dr Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2. 0 w modelowaniu SI”
Agenda �Diagramy sekwencji ◦ ◦ rola i typy diagramów sekwencji pojęcia podstawowe pojęcia zaawansowane przykłady 2
Diagram sekwencji - rola �Diagram sekwencji to rodzaj diagramu interakcji opisujący interakcje między instancjami klasyfikatorów systemu w postaci sekwencji komunikatów wymienianych między nimi. �Diagramy sekwencji są ściśle powiązane ze scenariuszami przypadków użycia, ponieważ dokumentują ich funkcjonalność. �Na diagramie sekwencji interakcja pokazana jest w dwóch wymiarach: o poziomym – wymiar statyczny gdzie umieszczone są instancje klasyfikatorów biorące udział w interakcji o pionowym – wymiar dynamiczny, z osią czasu przedstawiającą uporządkowane chronologicznie komunikaty 3
Diagramy sekwencji - typy W zależności od stopnia abstrakcji można określić trzy typy diagramów sekwencji: � Konceptualny diagram sekwencji – wykorzystuje tylko podstawowe pojęcia, do szybkiego i ogólnego przeglądu zakresu i zawartości interakcji w systemie � Implementacyjny diagram sekwencji – jest podstawą specyfikacji oprogramowania i wykorzystuje wszystkie dostępne pojęcia; ten typ diagramu zawiera główny i wszystkie alternatywne scenariusze przypadku użycia i może być używany do automatycznego generowania kodu programu � Wystąpieniowy diagram sekwencji – diagram opisujący jeden konkretny scenariusz przypadku użycia; może istnieć kilka diagramów wystąpieniowych dla jednego diagramy implementacyjnego 4
Diagramy sekwencji – pojęcia podstawowe �Klasyfikator – abstrakcyjna kategoria modelowania systemu w UML (np. aktor, obiekt, interfejs, komponent, pakiet itp. ) �Komunikat – opisuje przepływ sterowania w systemie; określa kolejność i miejsce wykonywania operacji i zawiera zlecenie jej wykonania; komunikaty są uporządkowane według kolejności ich pojawiania się - im później występują, tym niżej pojawiają się na diagramie �Każda instancja klasyfikatora ma linię życia, która reprezentuje jej czas życia; znak „X” na końcu linii życia wskazuje punkt, w którym obiekt przestaje istnieć w systemie �Ośrodek sterowania pokazuje okres czasu, w którym klasyfikator wykonuje operację (przetwarzanie, obliczanie, komunikowanie się z innymi klasyfikatorami lub wykonywanie złożonych algorytmów); ośrodek sterowania jest inicjowany aktywacją i kończy się dezaktywacją. 5
Diagramy sekwencji – pojęcia podstawowe Klasyfikator (aktor, obiekt, interfejs, pakiet) Linia życia Komunikat 6
Diagramy sekwencji – pojęcia podstawowe Aktywacja Dezaktywacja Ośrodek sterowania 7
Diagramy sekwencji – pojęcia zaawansowane �Typy komunikatów �Tworzenie i niszczenie obiektów �Warunki �Fragmenty wyodrębnione i operatory interakcji �Przywoływanie wystąpienia interakcji 8
Diagramy sekwencji – pojęcia zaawansowane Typy komunikatów: synchroniczny – przekazuje sterowanie z klasyfikatora -nadawcy do klasyfikatora-odbiorcy � asynchroniczny – nie przekazuje sterowania, nie czeka na odpowiedź od odbiorcy, może kontynuować przetwarzanie � zwrotny – wskazuje na powrót sterowania do klasyfikatora-nadawcy po wykonaniu komunikatu synchronicznego i inicjuje też określoną operację � samowywołanie – komunikat wysłany przez klasyfikator do samego siebie co skutkuje wywołaniem własnej operacji; samowywołanie to pewien rodzaj iteracji, który tworzy zagnieżdżony ośrodek sterowania � 9
Diagramy sekwencji – pojęcia zaawansowane Komunikat synchroniczny Komunikat asynchroniczny 10
Diagramy sekwencji – pojęcia zaawansowane Komunikat zwrotny Samowywołanie 11
Diagramy sekwencji – pojęcia zaawansowane Pozostałe typy komunikatów: utracony – komunikat wysłany od znanego nadawcy do nieznanego odbiorcy � znaleziony – komunikat, którego nadawca jest nieznany (np. zdarzenie zewnętrzne, impuls) � opcjonalny – komunikat, który nie zostanie obsłużony przez klasyfikator-odbiorcę, jeśli nie będzie mógł być obsłużony natychmiast � oczekujący – podobny do komunikatu opcjonalnego, z tą różnicą, że klasyfikator-nadawca jest gotów czekać na obsługę operacji przez określony czas � 12
Diagramy sekwencji – pojęcia zaawansowane Tworzenie i niszczenie obiektów: � komunikat stereotypowany <<create>> – powoduje utworzenie obiektu, który znajduje się poniżej pierwotnie istniejących instancji klasyfikatorów, zgodnie z czasem jego utworzenia � komunikat stereotypowany <<destroy>> – powoduje niszczenie obiektu w systemie; dodatkowo jest to oznaczane zdarzeniem niszczącym i graficznie reprezentowane literą „X” 13
Diagramy sekwencji – pojęcia zaawansowane Komunikat <<Create>> Komunikat <<Destroy>> 14
Diagramy sekwencji – pojęcia zaawansowane � Warunek – kryterium związane z komunikatem, od którego spełnienia uzależnione jest wykonanie określonej operacji. � Jeśli warunek dotyczący danego komunikatu nie jest spełniony, operacja wskazana przez komunikat nie jest wykonywana. � Warunki są umieszczane w nawiasach kwadratowych przed nazwą komunikatu. � Realizacja komunikatu może być uwarunkowana więcej niż jednym warunkiem. 15
Diagramy sekwencji – pojęcia zaawansowane Warunek 16
Diagramy sekwencji – pojęcia zaawansowane � Fragment wyodrębniony – jest logicznie spójnym obszarem interakcji, częścią diagramu sekwencji i charakteryzuje się określonymi właściwościami zdefiniowanymi przez operator interakcji. � Operator interakcji – określa funkcjonalność realizowaną przez fragment wyodrębniony. � Operatory interakcji: alt – alternatywa opt – opcja break – przerwanie loop – iteracja neg – funkcjonalność nieprawidłowa par – współbieżność critical – obszar krytyczny assert – formuła consider – istotność ignore – nieistotność stricte – ścisłe uporządkowanie seq – słabe uporządkowanie 17
Diagramy sekwencji – pojęcia zaawansowane Wybrane, najczęściej występujące operatory: � alternatywa (alt) – oznacza możliwość wyboru tylko jednego ze wszystkich prezentowanych operandów we fragmencie wyodrębnionym, w zależności od spełnienia 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) – to skrócona forma alt z tylko jednym zdefiniowanym operandem i podczas realizacji fragmentu wyodrębnionego pozostałe interakcje są ignorowane � iteracja (loop) – oznacza powtarzanie operandu określoną ilość razy 18
Diagramy sekwencji – pojęcia zaawansowane 19
Diagramy sekwencji – pojęcia zaawansowane 20
Diagramy sekwencji – pojęcia zaawansowane 21
Diagramy sekwencji – pojęcia zaawansowane 22
Diagramy sekwencji – pojęcia zaawansowane � Przywołanie wystąpienia interakcji – jest zamieszczanym na diagramie bazowym odwołaniem do ściśle z nim powiązanego diagramu interakcji. � Przywołania wystąpień są szczególnie przydatne w przypadku rozbudowanych diagramów sekwencji, w których przywołuje się diagramy zdefiniowane wcześniej. � Wystąpienia interakcji mogą być zainicjowane poprzez komunikat lub poprzez czynnik czasu. 23
Diagramy sekwencji – pojęcia zaawansowane 24
Budowa diagramu sekwencji � � � Analiza wybranego przypadku użycia i jego scenariuszy. Identyfikacja klasyfikatorów, których instancje uczestniczą w interakcji. Opracowanie diagramu konceptualnego zawierającego zidentyfikowane instancje klasyfikatorów, komunikaty oraz ośrodki sterowania. Opracowanie implementacyjnego diagramu sekwencji na bazie diagramu konceptualnego poprzez wprowadzenie pojęć zaawansowanych takich jak: rodzaje komunikatów, warunki, fragmenty wyodrębnione, przywołania wystąpień interakcji. Opcjonalne sporządzenie diagramów wystąpieniowych dla danego diagramu implementacyjnego. 25
- Slides: 25