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