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