1
Diagramy interakcji
Diagramy interakcji
cz.2/2
cz.2/2
Diagram sekwencji
(sequence diagram)
2
Plan wykładu
• Budowa i funkcja diagramu
sekwencji
• Klasyfikatory diagramów sekwencji
• Przykłady diagramów sekwencji
3
Klasyfikacja diagramów UML 2.0
1. Diagramy struktury
• Diagram klas (class diagram)
• Diagram komponentów (component diagram)
• Diagram struktur złożonych, diagram składowych, (composite
structure diagram)
• Diagram wdrożenia (deployment diagram)
• Diagram obiektów (object diagram)
• Diagram pakietów (package diagram)
2. Diagramy zachowania
• Diagram czynności (activity diagram)
• Diagram przypadków użycia (use case diagram)
• Diagram maszyny stanów (state machine diagram)
• Diagramy interakcji
-
Diagram sekwencji, diagram przebiegu (sequence
diagram)
- Diagram komunikacji, diagram kooperacji (communication
diagram)
- Diagram przeglądu interakcji; diagram opisu interakcji
(interaction overview diagram)
- Diagram czasowy, diagram następstwa (timing diagram)
4
Budowa i funkcja diagramu
sekwencji
5
Diagram sekwencji
Diagram sekwencji (ang. sequence) -
uwypukla kolejność komunikatów w
czasie.
Mają dwa wymiary:
*Pionowy: linia czasu,
*Poziomy:reprezentacja różnych obiektów.
Nie ma znaczenia kolejność obiektów;
6
Diagramy sekwencji
Diagramy sekwencji
Dwie podstawowe cechy:
Linia życia obiektów
- pionowe przerywane
kreski reprezentujące czas istnienia obiektów
(zwykle obiekty żyją przez cały czas trwania
interakcji, od odebrania komunikatu
sterotypowego <<create>> aż do otrzymania
<<destroy>>)
Ośrodek sterowania
(ang. focus of control) -
podłużny, cienki prostokąt reprezentujący
okres wykonywania przez obiekt akcji -
osobiście lub przez procedury podrzędne;
zagnieżdżenia sterowania (np. wywołania
rekurencyjne lub wywołania własnych operacji)
oznaczane są za pomocą dodatkowego prostokąta
ośrodka sterowania umieszczonego na prawo od
jego przodka
7
Składniki SD
Element
Opis
Symbol
Aktor
Reprezentuje zewnętrzny obiekt (np.
użytkownika) i jego rolę dla systemu.
Jeden obiekt może być
reprezentowany przez wielu aktorów.
Obiekt
Reprezentuje klasę z diagramu klas.
Musi mieć unikalną nazwę.
Aktywność
Wyznacza czas w jakim obiekt
wykonuje pewne czynności.
Komunikat
Istnieje kilka typów komunikatów.
Najczęściej komunikat powoduje
wywołanie metody klasy, do której
jest skierowany.
Instructor
8
Elementy diagramów sekwencji
9
Diagram sekwencji
Diagram sekwencji
10
Diagramy sekwencji
• Przedstawiają
interakcje
pomiędzy obiektami, przy
czym największy nacisk kładą na
zależności
czasowe
• Stosowane zawsze, gdy
kolejność wywołań
oraz
ograniczenia czasowe
są istotne
• Nadają się do modelowania:
– systemów czasu rzeczywistego,
– przetwarzania współbieżnego,
– złożonych scenariuszy.
• Pozwalają na modelowanie różnych typów interakcji:
– synchronicznej,
– asynchronicznej,
– powrotu.
Interakcje synchroniczne na diagramie sekwencji
Interakcje asynchroniczne na diagramie sekwencji
13
Diagramy sekwencyjne - uwagi
• Przedstawiają sekwencję
bodźców
.
• Przydatne dla systemów
czasu
rzeczywistego
i
systemów złożonych
.
• Nie pokazują
związków pomiędzy
obiektami.
14
Diagramy sekwencyjne - uwagi
• Pokazują
wzorce komunikacyjne
pomiędzy obiektami lub rolami.
• Zawierają miejscowo skierowane
komunikaty:
wysyłane sygnały,
wywoływane operacje
.
• Zawierąją również
role
pełnione przez
nadawcę i odbiorcę.
• Przekazują
różne znaczenia
:
sterowanie wykonaniem,
współbieżność.
15
Diagram sekwencji
Diagram sekwencji
Kiedy używać:
1. do analizowania przypadków użycia
-
gdy interesują nas bardziej operacje
niezbędne do realizacji danego
przypadku (czy też wzajemne
zależności między tymi operacjami), a
nie to, kto jest odpowiedzialny za
ich przeprowadzenie;
2. do zrozumienia interakcji
zachodzących między przypadkami
użycia;
3. do modelowania przetwarzania
wielowątkowego
;
16
Diagram sekwencji
Diagram sekwencji
Kiedy nie używać:
1. do pokazywania współpracy
między obiektami w trakcie
realizacji przypadku użycia;
2. do pokazywania zachowań
obiektów w trakcie ich życia, w
tym celu powinno się wykorzystywać
diagramy maszyny stanów.
17
Klasyfikatory diagramów
sekwencji
18
Samowywołanie
19
<<entity>>
Klasa
Samowywołanie
Komunikat
Samowywołanie oznacza sytuację, w której dana
instancja klasyfikatora wywołuje własną operację.
20
Rozszczepienia
21
Obiekt
Obiekt
Obiekt
Rozgałęzienia
Rozszczepienia
22
Przedstawianie iteracji
23
Przedstawianie iteracji
• Komunikat, który ma być wysłany
wiele razy poprzedzony jest
symbolem
*(gwiazdki)
24
Przedstawianie iteracji -
przykłady
• *[i:=1..10]
– komunikat zostanie
wysłany dokładnie 10 razy;
• *[i<10]
– komunikat będzie wysyłany
dopóty, dopóki i<10
• *[nie ma towaru]
– komunikat będzie
wysyłany dopóty, dopóki odpowiedni
towar nie zostanie znaleziony, czyli do
momentu, gdy warunek przyjmie
wartość FALSE
Sekwencja komunikatów xyxy
Sekwencja komunikatów xyyyxyyy
27
Pętle
28
29
Przykłady diagramów
sekwencji
30
Diagram sekwencji
31
Alternatywny diagram sekwencji dla przypadku
użycia
Wypożyczenie egzemplarza książki,
gdzie
komunikat znajdź egzemplarz jest bezpośrednio
wywoływany przez aktora
32
Diagram sekwencji zgodny z
diagramem komunikatów (współpracy)
33
Równoważność diagramu komunikacji i diagramu
sekwencji
k :
Klient
p :
PelnomocnikODBC
1: <<create>>
2: ustaAkcje(a,d,o)
3:<<destroy>>
2.1: nadajWartosc(d, 3.4)
2.2: nadajWartosc(a,
“CO”)
:
Transakcj
a
<<local
>>
<<global
>>
k :
Klient
:
Transakcj
a
{transien
t}
p :
PelnomocnikODBC
<<destroy
>>
zatwierdzo
no
ustalAkcje(a, d,
o)
<<create>
nadajWartosc(d, 3.4)
nadajWartosc(d, “CO”)
{transien
t}
34
Podsumowanie
• Budowa i funkcja diagramu
sekwencji
• Klasyfikatory diagramów sekwencji
• Przykłady diagramów sekwencji