Diagram sekwencji

Transkrypt

Diagram sekwencji
Diagramy interakcji
Diagram interakcji
Diagram sekwencji
(przebiegu)
Diagram komunikacjii
Diagram przegłądu
interakcji
Diagram czasowych
zależności
Diagram przedstawia zachowanie obiektów przy realizacji (na
przykład) przypadków użycia, które polega na wymianie informacji.
Obiekty współdziałają wysyłając do siebie komunikaty!
1
Plan wykładu 4
Diagramy interakcji UML
•
•
□
□
□
□
Ogólna charakterystyka diagramów interakcji
Diagram sekwencji – znaczenie elementów diagramu
Fragmenty na diagramie sekwencji
Diagram komunikacji
•
2
Diagram sekwencji (rodzaj diagramu interakcji)
nazwaObiektu1
nazwaObiektu2
Komunikat
zróbCoś()
nazwaAkcji()
czas
nazwaObiektu2
Powstanie obiektu
Linia życia obiektu
Likwidacja obiektu
Stan aktywny
obiektu
Diagram przedstawia komunikowanie się obiektów uporządkowane w
czasie.
3
Diagram sekwencji (rodzaj diagramu interakcji)
:K1
:K2
Komunikacja synchroniczna:
Wywołujący czeka na zakończenie
wywołanej akcji
(instrukcja call w programie).
:K1
:K2
Komunikacja asynchroniczna:
Wywołujący nie czeka na reakcję
na wysłany komunikat.
4
Przykład
sd Zakup
napoju
:Panel
:Kasa
:Podajnik
wrzuć(Wpłata)
wybierz(Wybór)
wyślij(Wpłata,Wybór)
dostarcz(Wybór)
dostarcz(Wybór)
Komunikacja trzech składowych automatu z napojami: „przedniego panelu”,
„kasy” i „podajnika” przy realizacji przypadku użycia „Kup napój”.
Źródło: J.Schmuller „UML dla każdego”, HELION, 2003, str. 116.
5
Przykład
sd Zakup zestawu komputerowego
:Dostarczyciel
:Sprzedawca
:Montażysta
:Klient
SprzedajZestaw
Nowe
:Zamówienie
ZłóżZestaw
Nowy
:Zestaw
ZestawZłożony
PobierzZestaw
Nowy
:Faktura
Zapłata
Dokumenty
Dostarcz
Pobierz
6
Przykład
sd Zakup zestawu komputerowego
:Bl
:A
:C
:Klient
zróbCoś
[jesli..]:dostarcz
[brak]:zmontuj
*[dla k:1..5]:dostarcz
7
Na diagramie sekwencji można pokazać:
tylko jeden z wielu możliwych przebiegów PU,
kilka alternatywnych przebiegów.
Fragment włączony (Śmiałków) (ang. combined fragment): wydzielony
fragment interakcji, oznaczony operatorem i zawierający jeden lub wiele
podobszarów (operandów), oddzielonych linią przerywaną. Interpretacja
zawartości zależy od rodzaju operatora.
nazwa_ob1
nazwa_ob2
Fragment włączony
ref
extend:PU23
8
Rodzaje operatorów (niektóre):
Ref – reference – wskazanie miejsca włączenia interakcji pokazanej na
innym diagramie, fragment zawiera odwołanie do innego diagramu.
Alt – alternative – przedstawienie kilku alternatywnych przebiegów;
każdy podobszar fragmentu powinien zawierać warunek, spełnienie
którego powoduje realizację interakcji podobszaru.
Loop – pętla: interakcja powtarza się wielokrotnie ; fragment musi
zawierać warunek „wejścia” i warunek „wyjścia”.
Par – parallel – przedstawia w podobszarach równolegle toczące się
wątki.
9
Fragmenty włączone
Sd Nazwa
Sd Nazwa
nazwa_ob2
nazwa_ob1
nazwa_ob2
nazwa_ob1
kom1
kom1
kom2
kom2
alt
Loop 1..7
kom3
x>0
kom3
x<=0
kom4
kom4
10
Diagram komunikacji (rodzaj diagramu interakcji)
8.PobierzDokumenty
7.PobierzZapłatę
:Dokument
sprzedaży
5.Wystaw
sprzedaj
Zestaw
3.Nowe
:Sprzedawca
:Zamówienie
9.Dostarcz
2.ZłóżZestaw
10.Pobierz
:Dostarczyciel
1.Nowy
:Zestaw
4.Zestaw
Złożony
3.Nowy
:Montażysta
6.Pobierz Zestaw
11
Diagram komunikacji
Obiekty klas, między którymi są przekazywane komunikaty na
diagramie komunikacji są połączone. Połączenia odpowiadają
powiązaniom między danymi klasami na diagramie klas.
Komunikaty są przedstawiane jako strzałki z etykietami,
rysowane wzdłuż połączeń między obiektami.
Kolejność komunikatów wskazuje ich numeracja.
Komunikaty mogą być numerowane kolejnymi liczbami
naturalnymi lub stosując tzw. numerację zagnieżdżoną.
Numeracja zagnieżdżona, np. 2.1 ...oznacza, że obiekt otrzymał
komunikat o numerze 2 i w odpowiedzi na ten komunikat
podejmuje akcje, które zostają ponumerowane zgodnie z
kolejnością występowania.
12
Pytania kontrolne
•
Diagramy interakcji pokazują zachowanie czy strukturę?
•
Czy na diagramie sekwencji może wystąpić wiele obiektów tej samej
klasy?
•
Jakie dwa obiekty wiąże komunikat?
•
Jak jest oznaczany komunikat na diagramie sekwencji?
•
Jak jest oznaczany komunikat na diagramie komunikacji?
•
Linie życia występują na diagramie sekwencji czy komunikacji?
•
Czy wazna jest kolejność rozmieszczenia obiektów na diagramie
sekwencji?
•
Co oznacza wydłużony prostokąt na linii życia?
13

Podobne dokumenty