Transcript Document
Dr Karolina Muszyńska
Na podstawie: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Dynamiczny obraz systemu – diagramy
sekwencji
◦
◦
◦
◦
Rola i typy diagramów sekwencji
Podstawowe pojęcia
Zaawansowane pojęcia
Przykłady
2
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:
o poziomym – wymiar statyczny przedstawiający instancje
klasyfikatorów biorące udział w interakcji
o pionowym – wymiar dynamiczny przedstawiający
chronologicznie ułożone komunikatami na osi czasu
3
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.
4
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ą.
5
Instancje
klasyfikatora
(aktor, obiekt,
interfejs, pakiet)
Linia życia
Komunikat
6
Aktywacja
Deaktywacja
Ośrodek
sterowania
7
Rodzaje komunikatów
Tworzenie i niszczenie obiektów
Warunki
Fragmenty wyodrębnione i operatory
interakcji
Przywołanie wystąpienia interakcji
8
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.
9
Komunikat
synchroniczny
Komunikat
asynchroniczny
10
Komunikat
zwrotny
Samowywołanie
11
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
12
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
13
Komunikat
<<Create>>
Komunikat
<<Destroy>>
14
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.
15
Warunek
16
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:
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
17
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.
18
19
20
21
22
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.
23
Przywołanie
wystąpienia
interakcji
24
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
25