Title: UML
1UML Unified Modeling Language (2)
- Bartosz Balis,
- Na podstawie, m.in.
- Gunnar Övergaard, Bran Selic, Conrad Bock and
Morgan Björkander UML Behavioral Modeling
(tutorial) - Agile modeling http//www.agilemodeling.com
2Modele zachowania
- Diagramy interakcji (interaction diagrams)
- Diagramy sekwencji (sequence)
- Diagramy kolaboracji (wspólpracy)
(collaborations) - Diagramy stanu (statecharts)
- Diagramy aktywnosci (activity graphs)
3 4Interakcje
- Interakcja zbiór komunikatów pomiedzy
instancjami, tj. wywolania operacji, tworzenie i
usuwanie instancji. - Komunikaty sa czesciowo uporzadkowane w czasie
- Rodzaje diagramów interakcji
- Diagramy sekwencji
- Diagramy kolaboracji
5Diagramy interakcji
6Diagram sekwencji
7Rodzaje wiadomosci
8Rodzaje strzalek przyklad
9Przyklad zapisywanie sie studenta na seminarium
10Diagram kolaboracji
redisplay ()
11Kiedy uzywac diagramów interakcji?
- Gdy chcemy pokazac interakcje pomiedzy
instancjami - Aby rozpoznac interfejsy klas
- Uzycie diagramów sekwencji
- Aby lepiej pokazac kolejnosc miedzy wiadomosciami
- Uzycie diagramów kolaboracji
- Aby lepiej pokazac architekture
12Przyklad system rezerwacji lotu
13Przypadek uzycia Zmien plan lotu
- Aktorzy podrózny, konto klienta db, system
rezerwacji lotów - Warunki wstepne Podrózny sie zalogowal
- Podstawowy przebieg
- Podrózny wybiera opcje zmien plan lotu
- System pobiera konto uzytkownika i plan lotu z
bazy danych klientów - System prosi podróznego, aby wybral segment planu
lotu, który chce zmienic podrózny wybiera
segment - System prosi podróznego o nowe informacje o
odlocie i przylocie podrózny dostarcza tych
informacji - Jesli loty sa dostepne, to
-
- System wyswietla podsumowanie transakcji.
- Alternatywny przebieg
- Jesli nie ma dostepnych lotów, to
14Diagram sekwencji zmien plan lotu
15Diagram kolaboracji zmien planu lotu
5 wybierz segment
7 zmien dane
6 pokaz detale
16Zmien plan lotu dokladniejszy model
7 pobierz plan
6 pobierz plan
17 18Automat
- Maszyna, w której wyjsciowe zachowanie zalezy nie
tylko od aktualnych bodzców na wejsciu, ale tez
historii poprzednich bodzców - Posiada wewnetrzny stan, który reprezentuje
wczesniejsze doswiadczenie
ON
19Diagram maszyny stanowej (automatu)
Lamp On
Lamp Off
20Diagram stanów UML
Stan
Pseudostan poczatkowy
Wyzwalacz (zdarzenie)
Ready
Przejscie
/ctr 0
stop
Done
Stan koncowy
Akcja
21Do czego nadaje sie model stanów?
- Maszyna stanów nadaje sie do opisu zachowania
dyskretnego, sterowanego zdarzeniami
(event-driven) - Nie nadaje sie do modelowania zachowania ciaglego
22Zachowanie sterowane zdarzeniami
- Typy zdarzen
- interakcje
- Synchroniczne wywolanie operacji obiektu (call
event) - Asynchroniczne otrzymanie sygnalu (signal event)
- wystapienie chwili w czasie (time event)
- uplyniecie okresu czasu
- nadejscie okreslonej daty / czasu
- zmiana wartosci jakiegos bytu (change event)
- Instancja zdarzenia wystapienie zdarzenia
okreslonego typu - wystepuje w okreslonej chwili czasowej, nie jest
rozciagla w czasie (nie trwa)
23Przyklad wpisywanie numeru PESEL
24 25Diagramy aktywnosci
- UML-owe odpowiedniki diagramów przeplywu
- Model przeplyw wraz z decyzjami, alternatywnymi i
równoleglymi sciezkami, itp.
26Przyklad pobierz pieniadze z bankomatu
Laczenie
Scalenie
27Elementy diagramu (1)
Przeplyw sterowania (control flow)
Start / stan poczatkowy
Koniec calej aktywnosci (wszystkich przeplywów)
Koniec jednego przeplywu w ramach aktywnosci
Obiekt
28Elementy diagramu (2)
- Rozgalezianie i scalanie rozgalezianiu
towarzyszy warunek
Rozwidlenie i laczenie poczateki koniec
wspólbieznych watków.
- Róznica miedzy scalaniem i laczeniem
- Laczenie sychronizuje wchodzace przeplywy
dalszy przeplyw moze sie wykonac dopiero, gdy
wszystkie wchodzace dojda do tego punktu - Scalanie nie synchronizuje kazdy przeplyw
przechodzi osobno i akcja nastepujaca po
scalaniu moze byc wykonana kilka razy (dla
kazdego wchodzacego przeplywu)
29Elementy diagramu (3)
Przeplyw obiektów notacja skrócona
Tory podzial akcji pomiedzy obiekty
30Zastosowanie diagramów aktywnosci
- Modelowanie przeplywu sterowania / danych
(obiektów) - ... a nie modeli sterowanych zdarzeniami (maszyn
stanowych) - Dobrze nadaja sie do modelowania skomplikowanych
scenariuszy - Dobrze modeluja alternatywne scenariusze
31 32Piec punktów widzenia na system
- Przypadków uzycia (use case view) przypadki
uzycia i zachowanie systemu z punktu widzenia
uzytkowników koncowych, analityków i testerów - Diagramy przypadków uzycia, interakcji
- Projektu (design view) klasy, interfejsy,
schematy wspólpracy, które tworza podstawowy
slownik problemu i jego rozwiazania - Diagramy klas, obiektów, interakcji
- Procesów (process view) watki i procesy, które
skladaja sie na wspólbiezne przetwarzanie w
systemie, synchronizacja - Diagramy aktywnosci
- Implementacji (implementation view) komponenty
i pliki, które skladaja sie na fizyczna
instalacje (release) systemu - Diagramy komponentów
- Wdrozenia (deployment view) obejmuja wezly,
czyli topologie sprzetowa, na której dziala
system - Diagramy wdrozen