background image

1

Diagramy sekwencji
UML 2.x

Dr inż. Ilona Bluemke

2

plan

„

Zastosowanie diagramów sekwencji

„

Typy komunikatów

„

Precyzyjne modelowanie interakcji

3

Diagramy sekwencji 
(sequence diagrams)

„

Modelują dynamiczne cechy systemu. 

„

Stanowią pomoc do tworzenia diagramów 

stanów i do testowania końcowego 

programu. 

„

Każdy pojedynczy diagram dotyczy jednej 

ścieżki wywołania gotowego programu 

będącego końcowym wynikiem projektu. 

„

Diagramy przedstawiają sekwencję odwołań

obiektów rozłożoną w czasie. Czas rośnie w 

dół diagramu.

4

Elementy diagramu sekwencji

„

obiekty

„

linie życia

„

komunikaty 

Obiekt uczestniczący w interakcjach:

: Nazwa

5

Linie życia

Obiekty lub role

„

freshman – nazwa 
obiektu - instancji klasy

„

Student – nazwa klasy

Linia życia – upływ czasu 
z góry do dołu   

6

Komunikat

„

asynchroniczny

„

synchroniczny

„

zwrotny (powrót sterowania)

komunikat – metoda w klasie odbierającej.

Nazwa

Nazwa

background image

2

7

Komunikaty synchroniczne i 
asynchroniczne

8

przykład

 

P1: klient 

Baza_danych 

S-rezerwacji  

Otworz_rezerwac

Spr dostepnosc 

Wpr_dane 

rezerwuj 

potwierdz 

zamknij

potwierdz

9

Wiadomości zwrotne (return messages)

10

Czas aktywacji obiektu

„

obiekt A aktywuje obiekt B –

komunikat asynchroniczny, 

może dalej się wykonywać A i 

B. 

„

W przypadku gdy komunikat 

jest synchroniczny, A zostaje 

zablokowany do czasu, aż do 

niego wróci sterowanie 

(zakończenie wykonania 

metody) 

:A

:B

Operacja

11

Struktura sterowania

Powrót sterowania

: A

: B

: C

Struktura scentralizowana

Operacja_1

Operacja_2

12

Sterowanie zdecentralizowane

Struktura zdecentralizowana

: A

: B

: C

Oper_1

Oper_2

background image

3

13

Tworzenie i niszczenie obiektów 

<<destroy>>

anuluj

: klient

: platnosc

: wierzytelnosc

<<create>>

zaplac

14

Samowywołanie (message to self) 

: formularz

Sprawdz_kompletnosc

15

Komunikat utracony i znaleziony

utracony

znaleziony

(nieznany odbiorca)

(nieznany nadawca)

: Portal_internetowy

wyswielt

: miernik

zmierz

16

Komunikat opcjonalny (balking message)

Nadawca wysyła komunikat 

oczekując, że odbiorca 
jest gotowy do jego 
natychmiastowej obsługi. 
Jeżeli komunikat nie 
może zostać przyjęty 
nadawca nie podejmuje 
kolejnych prób jego 
wysłania (może nie być
obsłużony).

: klient

: lista

Sortuj(nazwa)

17

Komunikat oczekujący (timeout message)

Nadawca wysyła 

komunikat oczekuje, 

że odbiorca obsłuży 

go w ciągu 

określonego okresu 

czasu. Jeżeli 

komunikat nie może 

zostać obsłużony w 

tym czasie to nadawca 

rezygnuje z danej 

interakcji.

: klient

: Baza_danych

polacz

18

Warunki – dozory (guards)

background image

4

19

Warunkowe wysłanie komunikatu -
rozgałęzienie

„

Warunki muszą być wzajemnie rozłączne 

:A

: B

[war] : operacja1

: C

[not war] : operacja2 

20

Rozgałęzienie u odbiorcy

:A

:B

[X>2] Komunikat1 

[X<=2] Komunikat2

21

Iteracja i oznaczenia obiektów

Ten sam komunikat wykonywany wielokrotnie

[ <specyfikacja-iteracji> ] operacja

„

Klasa (obiekt ) sterująca

„

Klasa (obiekt ) przechowująca

„

Klasa (obiekt ) graniczna

22

przykład

:

zespol_projektowy

: dobor_prac

Przydziel(n)

:baza_danych

*[prac:=1..n] : przydzielSpec

skompletowany

23

Fragmenty wyodrębnione
(combined fragments)

nagłówek

Operand 
interakcji

Operand 
interakcji

24

Operatory interakcji

„

alt

– alternatywa

„

opt

– opcja

„

break

– przerwanie

„

loop

– iteracja

„

par

– współbieżność

„

neg

- funkcjonalność nieprawidłowa

„

strict

– ścisłe uporządkowanie

„

seq

– słabe uporządkowanie

„

ignore

- nieistotne

„

consider

– istotne

„

assert

– formuła

„

critical

– obszar krytyczny

background image

5

25

alternatywa - alt

alt

Zapisz_zmiane

: klient

: zamowienie

: baza_zamowien

aktualizuj

[autoryzacja]

[brak_autoryzacji]

Aktual_OK

Brak_Aktual

26

Alternatywa

27

Iteracja – loop

loop(1,*)

Pokaz_pozycje

: klient

: katalog

: pozycja

Pokaz_katalog

28

Opcja

29

ograniczenia czasowe

„

Diagramy sekwencji 

mogą być uzupełnione 

informacjami 

tekstowymi 

(ograniczeniami 

czasowymi), w postaci 

tekstu swobodnego 

lub pseudokodu, 

umieszczonego w 

pobliżu punktu 

startowego 

komunikatu. 

: A

: B

: C

x

y

z

{y-x<3s}

{z-y<1s}

30

Przywoływane wystąpienie interakcji –
ref

(interaction occurences) - odwołanie na 

diagramie bazowym do innego diagramu 
sekwencji – operator ref.

Zainicjowanie wystąpienia interakcji poprzez:

„

komunikat

„

czynnik czasu

background image

6

31

Przykład 1 (czynnik czasu)

strict

: klient

: katalog

: produkt

: Baza_klientow

ref

logowanie

ref

wyszukaj_produkt

32

Wywołanie diagramu - referencja

33

Bramki (gates) wejściowe i wyjściowe

34

Bramy (gates)

„

punkty 
przejścia 
komunikatów 
z/do diagramu 
sekwencji, 
przywoływany
ch interakcji, 
sekwencji 
wyodrębniony 

Diag_bramy

: A

: C

: D

: B

ref

Sekwencja_1

opt

Sekwencja_2

35

Diagramy sterowania interakcją

(interaction overviews)

„

Dokumentują przepływ sterowania pomiędzy 
logicznie powiązanymi diagramami 
sekwencji, fragmentami interakcji 
wykorzystując operatory modelowania z 
diagramów czynności.

36

egzaminowanie

ref

Przygotowanie_pytan

ref

sprawdzanie

ref

Przeprowadzenie_egzaminu

background image

7

37

Diagram widoku interakcji

38

Przykład_decyzji

ref

Wyszukaj produkt

ref

rezerwuj

[znaleziono]

[nie znaleziono]

39

Pętla i alternatywa

40

Pętla (loop)

41

Break

42

Równoległe wykonanie