Diagramy sekwencji

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


Wyszukiwarka

Podobne podstrony:
Zadania zajęcia 3 PSI - diagramy sekwencji i kooperacji, szkoła, PSI
Przykład diagramu sekwencji, Inżynieria oprogramowania
Diagram sekwencji przesyłania wiadomości
Diagram sekwencji przesłania formularza
diagramy sekwencji 2
Przykład diagramu sekwencji, Studia-WSTI (vizja.net), Inżynieria oprogramowania
6 Diagram sekwencji id 43618 Nieznany (2)
diagramy sekwencji 2
DIAGRAM SEKWENCJI
6 Diagram sekwencji
Zadania zajęcia 3 PSI - diagramy sekwencji i kooperacji, szkoła, PSI
07 Diagram sekwencji
Diagram przypadków użycia,tablice decyzyjne, diagram sekwencji
Diagram komunikacji

więcej podobnych podstron