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