Jezyk UML w modelowaniu systemów informatycznych
Transkrypt
Jezyk UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza [email protected] 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