Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 6
Diagramy komunikacji Diagram komunikacji (ang. communication diagram), dawniej nazywany diagramem wspóªpracy (ang. collaboration diagram), jest jednym z czterech diagramów interakcji (ang. interaction diagram). Diagram komunikacji pokazuje informacje podobne do tych co diagram sekwencji, ale jego gªównym celem jest ilustracja relacji pomi dzy uczestnikami komunikacji. Elementy diagramu komunikacji: uczestnicy (aktorzy, obiekty, klasy bior ce), nazywani równie» lifelines, ale nie posiadaj pionowych linii»ycia, tylko same "gªowy". asocjacje - gªówny zwi zek pomi dzy uczestnikami, reprezentowany przez linie ª cz ce uczestników komunikaty - realizacja interakcji, opisywane etykietowanymi krótkimi strzaªkami (strzaªka powinna wskazywa kierunek przepªywu komunikatu.)
Diagramy komunikacji - przykªad
Diagramy komunikacji - przykªad
Diagramy komunikacji - nazwy uczestników
Diagramy komunikacji - modelowanie wspóªbe»no±ci Instancja klasy A wysyªa komunikat rysuj() jednocze±nie (wspóªbie»nie) do instancji klasy B i instancji klasy C.
Diagramy komunikacji - modelowanie komunikatów z ograniczeniami Instancja klasy A wysyªa komunikat rysuj() jednocze±nie (wspóªbie»nie) do instancji klasy B i instancji klasy C, je±li x > y.
Diagramy komunikacji - modelowanie komunikatów z ograniczeniami Wprowadzenie ogranicze«w VP:
Diagramy komunikacji - modelowanie komunikatów z iteracj Komunikat szukaj() b dzie wykonany nrazy
Diagramy komunikacji I Przy pomocy diagramiu komunikacji mo»na modelowa podziaª systemu na komponenty. Sªu» do tego tzw. swimlanes. Kolejny slajd pokazuje system oparcji transferu pieni dzy, który podzielony jest na dwa podsystemy: Client oraz Main frame. Kroki do powstania diagramiu komunikacji dla oparcji transferu pieni dzy: Aby utworzy diagram komunikacji, wybierz z menu Diagram > New. W oknie New Diagram, wybierz Communication Diagram i zatwierd¹ z nazw Transfer Money. Dodaj dwie swimlanes, aby zamodelowa podziaª systemu na aplikacj klienta Client oraz system po stronie banku Main frame.
Diagramy komunikacji II Po stronie klienta utwórz aktora o nazwie User. User kontaktuje si z systemem poprzez swoje konto internetowe account page. Kontakt User a z account page jest modelowany poprzez wysªanie komunikatu (Message -> LifeLine) z opisem visit. Konto internetowe skieruje wniosek u»ytkownika o przekazanie pieni dzy do systemu bankowego do zatwierdzania i realizacji poprzez moduª Transaction, reprezentowany jako uczestnik. komunikat wysªany od Account Page do Transaction to transfer (targetaccount, amount).
Diagramy komunikacji III Proces transferu pieni dzy polega na wypªacanie pieni dzy z konta u»ytkownika, a nast pnie wplaceniu tych pieni dzy na konto docelowe. Zanim ta operacja zostanie wykonana, musimy mie pewno±,»e na koncie u»ytkownika jest wystarczaj co du»o pieni dzy. Aby zamodleowa powy»sz sytuacj, tworzymy uczestnika po stronie systemu bankowego o nazwie User Account i wysyªamy do niego od uczestnika Transaction komunikat: hasbalance (amount) : boolean. Gdy saldo konta u»ytkawnika zostanie sprawdzone, mo»emy wypªaci pieni dze z jego konta. Mo»na to zamodelowa wysyªaj c komunikat od Transaction do User Accoun o tre±ci withdraw (amount).
Diagramy komunikacji IV Aby zamodelowa wpªacanie pieni dzy na konto docelowe, mo»na utworzy uczestnika Target Account i wysªa do niego komunikat credit (amount) od uczestnika Transaction. Any zamodelowa w systemie informacje o zrealizowanej tranzakcji, uczestnik Transaction mo»e wysªa komunikat do siebie o tre±ci dispose. Na koniec, aby poinformowa u»ytkownika,»e transakcja jest zako«czona, wysyªamy komunikat displayresult() od uczestnika Transaction do uczestnika Account Page.
Diagramy komunikacji - operacja transferu pieni dzy online Diagram powstaªy na podstawie tutorialu: http://www. visual-paradigm.com/tutorials/communicationdiagram.jsp
Diagramy komunikacji ródªo:http://www.uml-diagrams.org/ communication-diagrams.html
Ró»nice mi dzy diagramami komunikacji a sekwencji Diagramów sekwencji u»ywa si, gdy zainteresowani jeste±my gªównie przepªywem komunikatów w danej interakcji. Diagramów komunikatów u»ywa si, gdy chcemy si skoncentrowa gªownie na poª czeniach pomi dzy uczestnikami danej interakcji.
Diagramy czasowe I Diagramy czasowe (inaczej diagramy harmonogramowania) s diagramem interakcji, reprezentuj cym na osi czasu zmiany dopuszczalnych stanów, jakie mo»e przyjmowa instancja uczestnika interakcji. Diagramy czasowe stosuje si w celu sporz dzenia harmonogramów interakcji. Diagramy czasowe mog pokazywa interakcj pomi dzy zdarzeniami czasowymi a ograniczeniami czasowymi, które nimi rz dz. Diagramy czasowe s specjaln form diagramu sekwencji.
Diagramy czasowe II Podstawow ró»nic pomi dzy diagramem czasowym a diagramem sekwencji stanowi osie, które s odwrócone tak,»e czas upªywa od strony lewej do prawej, a linie»ycia pokazane s w oddzielnych pionowych przedziaªach. Diagramy czasowe dokumentuj aspekt czasu interakcji i dlatego w diagramach tych na osi poziomej zaznacza si skal czasu w postaci ustalonych odcinków. Na osi pionowej przedstawia si poszczególne instancje uczestników interakcji. Diagramy czasowe tworzy si po opracowaniu diagramów sekwencji lub komunikacji.
Elementy skªadowe diagramów czasowych Podstawowe elementy diagramu czasowego: uczestnik stan linia zmiany stanów instancji (ang. timeline). Zaawansowane elementy diagramu: zdarzenia ograniczenia czasowe przesyªanie komunikatów
Diagramy czasowe w visual paradigm Konstrukcja diagramu czasowego w VP: http://www.visual-paradigm.com/support/documents/ vpuserguide/94/2586/6715_drawingtimin.html
Diagramy czasowe w visual paradigm Aby stworzy diagram czasowy w Visual Paradigm: Wybierz Diagram> Nowy (Diagram > New) z paska narz dzi. W oknie New Diagram wybierz Timing Diagram. Kliknij przycisk Next. Wpisz nazw diagramu i opis. Kliknij przycisk OK.
Tworzenie ramki czasowej (ang. timing frame) Aby utworzy ramk czasow na diagramie czasowym, wybierz przycisk Timing Frame na pasku narz dzi, a nast pnie kliknij na diagramie. Efekt: Aby zmieni nazw ramki, wystarczy klikn dwukrotnie na lewym górnym rogu ramki.
Dodawanie linii»ycia do ramki Aby doda lini»ycie do ramki czasowej, nale»y klikn prawym przyciskiem myszy i wybra Add Lifeline z menu podr cznego. Aby zmieni nazw»ycia, nale»y klikn dwukrotnie na nazw linii»ycia.
Dodawanie jednostki czasu do ramki I Aby doda jednostk czasu do ramki czasowej, nale»y klikn prawym przyciskiem myszy i wybra Add Time Unit z menu podr cznego.
Dodawanie jednostki czasu do ramki II Nale»y powtórzy krok dodwania tyle razy, ile potrzeba jest jednostek czasu. Aby zmieni nazw jednostki czasu, nale»y klikn dwukrotnie na jednostk czasu.
Dodawanie stanu do linii»ycia I Aby doda stan do linii»ycie, nale»y klikn prawym przyciskiem myszy i wybra Add State/Condition z menu podr cznego.
Dodawanie stanu do linii»ycia II Aby zmieni nazw stanu, nale»y klikn dwukrotnie na stan. Efekt wykonania:
Przeci ganie jednostki czasu Nale»y najecha kursorem myszy na lini jednostki czasu, klikn, przeci gn i zwolni przycisk myszy, gdy osi gni ty zostaje docelowy stan.
Ograniczenia czasowe (ang. duration constraint) Ograniczenie czasowe u»ywana jest do wskazania ograniczenia czasu trwania danej linii»ycia w okre±lonym przedziale czasu. Aby ustawi ograniczenia czasowe danej linii»ycia, nale»y klikn prawym przyciskiem myszy na lini»ycie i wybra Edit Lifeline... z menu podr cznego.
Ograniczenia czasowe (ang. duration constraint) W karcie Duration Constraints, nale»y klikn przycisk Add... W oknie dialogowym Add Duration Constraint nale»y wybra odpowiedni czas rozpocz cia i czas zako«czenia z rozwijanego menu oraz wypeªni ograniczenie czasu trwania wybranego odcinka czasu w polu Constraint. Aby zamkn okno dialogowe, nale»y klikn przycisk OK.
Ograniczenia czasowe (ang. duration constraint) Efekt:
Ograniczenia czasowe (ang. duration constraint) Efekt ko«cowy:
Dodawanie komunikatów
Dodawanie komunikatów
Dodawanie komunikatów
Dodawanie komunikatów
Dodawanie komunikatów
Przeª czanie do trybu kompaktowego widoku
Przeª czanie do trybu kompaktowego widoku - efekt