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