background image

 

 

1

Diagramy interakcji 

Diagramy interakcji 

cz.2/2

cz.2/2

 Diagram sekwencji

(sequence diagram)

background image

 

 

2

Plan wykładu

• Budowa i funkcja diagramu 

sekwencji

• Klasyfikatory diagramów sekwencji
• Przykłady diagramów sekwencji

background image

 

 

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)

background image

 

 

4

Budowa i funkcja diagramu 

sekwencji

background image

 

 

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;

background image

 

 

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

background image

 

 

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

background image

 

 

8

Elementy diagramów sekwencji

background image

 

 

9

Diagram sekwencji

Diagram sekwencji

 

background image

 

 

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.

background image

 

 

Interakcje synchroniczne na diagramie sekwencji

background image

 

 

Interakcje asynchroniczne na diagramie sekwencji

background image

 

 

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. 

background image

 

 

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ść.

background image

 

 

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), 
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

;

 

background image

 

 

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.

background image

 

 

17

Klasyfikatory diagramów 

sekwencji

background image

 

 

18

Samowywołanie

background image

 

 

19

<<entity>>

Klasa

Samowywołanie

Komunikat

Samowywołanie oznacza sytuację, w której dana 
instancja klasyfikatora wywołuje własną operację.

background image

 

 

20

Rozszczepienia

background image

 

 

21

Obiekt

Obiekt

Obiekt

Rozgałęzienia

Rozszczepienia

background image

 

 

22

Przedstawianie iteracji

background image

 

 

23

Przedstawianie iteracji

• Komunikat, który ma być wysłany 

wiele razy poprzedzony jest 
symbolem 

*(gwiazdki)

background image

 

 

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

background image

 

 

Sekwencja komunikatów xyxy

background image

 

 

Sekwencja komunikatów xyyyxyyy

background image

 

 

27

Pętle 

background image

 

 

28

background image

 

 

29

Przykłady diagramów 

sekwencji

background image

 

 

30

Diagram sekwencji 

background image

 

 

31

Alternatywny diagram sekwencji dla przypadku 
użycia
 

Wypożyczenie egzemplarza książki,

 gdzie 

komunikat znajdź egzemplarz jest bezpośrednio 
wywoływany przez aktora

background image

 

 

32

Diagram sekwencji zgodny z 

diagramem komunikatów (współpracy)

background image

 

 

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}

background image

 

 

34

Podsumowanie

• Budowa i funkcja diagramu 

sekwencji

• Klasyfikatory diagramów sekwencji
• Przykłady diagramów sekwencji


Document Outline