Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 5
Diagram sekwencji - wprowadzenie I Diagram sekwencji (ang. sequence diagram) jest jednym z czterech diagramów interakcji (ang. interaction diagram). Pozostaªe to: diagram komunikacji (ang. communication diagram), diagramy czasowe (ang. timing diagram), przegl dowe diagramy interakcji (ang. interaction overview diagrams). Diagramy sekwencji posiadaj dwa wymiary: wymiar pionowy - reprezentuje czas, wymiar poziomy - reprezentuje ró»ne obiekty (kolejno± obiektów nie ma znaczenia). Orientacj wymiarów mo»na zmieni, tzn. : wymiar pionowy - reprezentuje ró»ne obiekty wymiar poziomy - reprezentuje czas.
Diagram sekwencji - wprowadzenie II Diagram sekwencji ilustruje kolejno± w czasie wysyªania komunikatów pomi dzy ró»nymi uczestnikami systemu; Uwaga! nie jest istotna rzeczywista miara czasu. Dla systemów zale»nych od czasu, czas mo»na reprezentowa w pewnej mierzalnej skali. Diagramy sekwencji przydatne s do pokazywania uczestników, którzy komunikuj si z innymi uczestnikami oraz do pokazywania widomo±ci wywoªujacych komunikacj. Diagramy sekwencji rysuje si dla jednego przypadku u»ycia, przez co pokazuje si jak ten przypadek realizowany jest przez system.
Diagram sekwencji - uczestnicy i aktorzy I Podstawowymi skªadowymi diagramów sekwencji s uczestnicy wymieniaj cy mi dzy sob komunikaty oraz aktorzy inicjuj cy komunikacj. Uczestnicy s zaznaczani w postaci prostok tów z wpisan wewn trz nazw uczestnika komunikacji. Aktorzy s zaznaczani tak samo jak w diagramach przypadków u»ycia. Ka»dy uczestnik posiada przerywan lini reprezentuj ca jego lini»ycia (czasu) (ang. lifeline). Ka»dy aktor posiada pionowy sªupek reprezentuj ca jego lini»ycia (czasu).
Diagram sekwencji - uczestnicy i aktorzy II Rysunek : Aktor i uczestnik.
Diagram sekwencji - nazwy uczestników I 1 Uczestnik nosi nazw admin, ale nie ma przypisanej klasy. 2 Klasa uczestnika nosi nazw Administrator, ale uczestnik nie ma swojej wªasnej nazwy. 3 Uczestnik nosi nazw admin i utworzony jest na podstawie klasy Administartor. 4 Uczestnik jest elementem tablicy o indeksie 2, utworzonej na podstawie klasy Administartor.
Diagram sekwencji - robustness diagrams Diagram sekwencji mo»e mie lini»ycia z symbolem reprezentuj cym elementy tzw. robustness diagrams: elementy brzegowe (ang. boundary), element sterowania (ang. control) oraz elementów jednostki (ang. entity).
Robustness diagrams I Diagramy typu robustness s w zasadzie uproszczonymi diagramami komunikacji UML, które wykorzystuje symbole graczne do reprezentacji: aktorów - to samo znaczenie co w UML elementów brzegowych (ang. boundary elements) zwanych równie» interfejsem - reprezentuj one elementy oprogramowania takie jak: ekrany, raporty, strony HTML, lub interfejsy systemowe, które wspóªdziaªaj z aktorami. elementów steruj cych (ang. control elements), zwanych równie» kontrolerami - sªu» jako spoiwo mi dzy elementami brzegowymi i elementami jednostki oraz implementuj logik niezb dn do zarz dzania ró»nych elementów i ich wzajemnych interakcji.
Robustness diagrams II elementów jednostki (ang. entity elements) - to typy jednostki, które zazwyczaj znajduj si w modelu koncepcyjnym, np. student, lista uzytkowników. Wi cej infomacji na: http://www.agilemodeling.com/ artifacts/robustnessdiagram.htm
Diagram sekwencji - komunikaty Komunikaty s reprezentowane jako strzaªki ª cz ce linie»ycia poszczególnych uczestników. Rodzaje komunikatów: Komunikaty mog by synchroniczne (oznaczane przez linie ci gª zako«czon wypeªnionym grotem) i asynchroniczne (oznaczane przez linie ci gª zako«czon niewypeªnionym grotem). Komunikaty mog by wywoªaniem procedury (oznaczenie linia ci gªa), powrotem z wywoªania procedury (oznaczenie linia przerywana). Ka»dy komunikat wewn trz interakcji opatrzony jest kolejnym numerem, co pozwala na ªatwe ±ledzenie jej przebiegu
Diagram sekwencji - komunikaty Cienki prostok t wzdªu» linii»ycie oznacza tzw. sªupek aktywno±ci. Sªupek aktywno±ci oznacza wyst pienie komunikacji.
Diagram sekwencji - komunikaty
Diagram sekwencji - komunikaty Komunikat typu self message lub recursion mo»e reprezentowa fakt wywoªania jednej metody przez inn metod nale» c do tego samego obiektu, lub rekurencyjne wywoªanie pewnej operacji.
Diagram sekwencji - komunikaty zagubione i odnalezione Komunikaty zagubione (ang. lost messages) - komunikaty, które albo zastaªy wysªane i nie dotarªy do adresata, albo zostaªy wysªane do odbiorcy, który nie jest pokazany na bie» cym diagramie. Komunikaty odnalezione (ang. found messages) - komunikaty wysªane przez nieznanego nadawc lub przez nadawc, który nie jest pokazany na bie» cym diagramie.
Diagram sekwencji Uczestnicy mog by tworzeni lub niszczeni przez innego uczestnika. Linia»ycia zako«czona symbolem krzy»a reprezentuje zatrzyman lini»ycia danego uczestnika. Uczestnik pokazany na poziomie sªupka aktywno±ci nale» cego do linii»ycia innego uczestnika, zostaª przez tego uczestnika utworzony. Poni»szy diagram pokazuje obiekt tworzony i niszczony.
Diagram sekwencji - czas Domy±lnie komunikaty ilustrowane s przy pomocy linii poziomej. Podczas modelowania systemów czasu rzeczywistego, czy te» procesów biznesowych, wa»ne jest, aby wzi pod uwag czas potrzebny do wykonywania czynno±ci. Komunikat z ograniczeniami czasowymi reprezentowany jest przez lini pochyª.
Diagram sekwencji - bloki I Blok deniuje grup komunikatów wspólnie posiadaj c pewn wªa±ciwo±. Bloki obejmuje si prostok tem, w którego lewym górnym naro»niku, w pi ciok cie umieszcza si sªowo kluczowe lub opis okre±laj cy znaczenie danego bloku, tzw. operator interakcji: alt (od alternative) - reprezentuje instrukcj if-else; warunek umieszcza si wewn trz bloku w nawiasach kwadratowych opt (od optional) - reprezentuje instrukcj if (bez else) break - wykonanie fragmentu i zako«czenie interakcji par (od parallel ) - nakazuj cy wykona operacje równolegle
Diagram sekwencji - bloki II seq (od weak sequencing) - zamyka szereg sekwencji, dla których wszystkie komunikaty musz by przetwarzane w danym segmencie zanim nast pny fragment diagramu mo»e si wykona ; strict (od strict sequencing) - zamyka szereg komunikatów, które musz by przetwarzane w podanej kolejno±ci. neg (od negative) - zamyka nieprawidªow seri wiadomo±ci. critical - oznacza obszar krytyczny ignore/consider - ignore(komunikat1, komunikat2,...) oznacza,»e na diagramie nie pokazano wymienionych komunikatów, cho mog wyst pi. Consider = odwrotnie
Diagram sekwencji - bloki III loop - deniuje p tl typu for (o okre±lonej z góry liczbie iteracji) lub while (wykonywanej dopóki pewien warunek jest prawdziwy)
Diagram sekwencji - niezmiennik/kontynuacja Niezmiennik jest warunkiem umieszczonym na linii»ycie i musi by speªniony w czasie wykonywania. Niezmiennik jest przedstawiony jako prostok t o póªokr gªych ko«cach. Kontynuacja ma ten sam zapis jak niezmiennik, ale jest u»ywana w poª czeniu z blokami i mo»e rozci ga si na wi cej ni» jedn lini»ycie.
Diagram sekwencji- cz ±ciowa dekompozycja Cz ±ciowa dekompozycja (and. part decomposition) oznacza,»e uczestnik mo»e mie wi cej ni» jedn lini»ycia. Cz ±ciowa dekompozycja pozwala na przesyªanie wiadomo±ci mi dzy i wewn trz uczestnikami.
Diagram sekwencji- bramki Brama jest punktem ª czenia komunikatów wewn trz bloku z komunikatami poza blokiem. Bramka oznaczana jest przez maªy kwadrat na ramie bloków. Bramki dziaªaj jak o-strony do diagramów sekwencji, reprezentuj cych ¹ródªo komunikatów przychodz cych lub cel komunikatów wychodz cych.
Diagram sekwencji a diagramy aktywno±ci Diagram aktywno±ci opisuje co b dzie robione, ale nie wskazuje realizatora. Diagram sekwencji wskazuje realizatora zadania i opisuje wspóªprac realizotra zadania z otoczeniem podczas wykonywania danego zadania.