Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

UML – Unified Modeling Language (2)

Podobne prezentacje


Prezentacja na temat: "UML – Unified Modeling Language (2)"— Zapis prezentacji:

1 UML – Unified Modeling Language (2)
Bartosz Baliś, Na podstawie, m.in.: Gunnar Övergaard, Bran Selic, Conrad Bock and Morgan Björkander: UML Behavioral Modeling (tutorial) Agile modeling: Źródła: 1. Russel Kay, QuickStudy: System Development Life Cycle, Computerworld, May 2002 2. 3. Ian Sommerville, Inżynieria Oprogramowania 4. Wikipedia

2 Modele zachowania Diagramy interakcji (interaction diagrams)
Diagramy sekwencji (sequence) Diagramy kolaboracji (współpracy) (collaborations) Diagramy stanu (statecharts) Diagramy aktywności (activity graphs)

3 Diagramy interakcji

4 Interakcje Interakcja: zbiór komunikatów pomiędzy instancjami, tj. wywołania operacji, tworzenie i usuwanie instancji. Komunikaty są częściowo uporządkowane w czasie Rodzaje diagramów interakcji: Diagramy sekwencji Diagramy kolaboracji

5 Diagramy interakcji Diagram sekwencji Diagram kolaboracji x y z a b c

6 Diagram sekwencji Obiekt Linia życia bodziec Aktywacja usunięcie
name : Class other Obiekt Linia życia bodziec name (…) Aktywacja : Class utworzenie new (…) usunięcie powrót

7 Rodzaje wiadomości Synchroniczna – nadawca zawiesza działanie, dopóki odbiorca nie zwróci sterowania Asynchroniczna – nadawca nie czeka na odpowiedź, kontynuuje działanie Powrót

8 Rodzaje strzałek – przykład

9 Przykład – zapisywanie się studenta na seminarium

10 Diagram kolaboracji obiekt połączenie bodziec ograniczenie stereotyp
: Controller : Window wire :Wire {new} : Line left : Bead right : Bead redisplay () bodziec 1: displayPositions (window) wire «local» line contents {new} window «self» window «parameter» ograniczenie add (self) 1.1 *[i := 1..n]: drawSegment (i) 1.1.2: create (r0, r1) 1.1.3: display (window) 1.1.1a: r0 := position () 1.1.1b: r1 := position ()

11 Kiedy używać diagramów interakcji?
Gdy chcemy pokazać interakcje pomiędzy instancjami Aby rozpoznać interfejsy klas Użycie diagramów sekwencji Aby lepiej pokazać kolejność między wiadomościami Użycie diagramów kolaboracji Aby lepiej pokazać architekturę

12 Przykład: system rezerwacji lotu

13 Przypadek użycia: Zmień plan lotu
Aktorzy: podróżny, konto klienta db, system rezerwacji lotów Warunki wstępne: Podróżny się zalogował Podstawowy przebieg: Podróżny wybiera opcję ‘zmień plan lotu’ System pobiera konto użytkownika i plan lotu z bazy danych klientów System prosi podróżnego, aby wybrał segment planu lotu, który chce zmienić; podróżny wybiera segment System prosi podróżnego o nowe informacje o odlocie i przylocie; podróżny dostarcza tych informacji Jeśli loty są dostępne, to … System wyświetla podsumowanie transakcji. Alternatywny przebieg: Jeśli nie ma dostępnych lotów, to …

14 Diagram sekwencji: zmień plan lotu
Podróżny :System rezerwacji Konto klienta DBMS System rezerwacji lotów zmień plan podróży pobierz konto użytk. pobierz plan pokaż plan wybierz segment pokaż detale zmień dane dostępne loty : :

15 Diagram kolaboracji: zmień planu lotu
1: zmień plan lotu 2: pobierz konto użytk. 3: pobierz plan 5: wybierz segment Podróżny Konto klienta DBMS : System rezerwacji 7: zmień dane 4: pokaż plan 6: pokaż detale 8: dostępne loty System rezerwacji lotów

16 Zmień plan lotu: dokładniejszy model
4: pobierz konto użytkownika 1: zmień plan lotu 7: pobierz plan : Podróżny Protokół S.R.L. Formularz planu lotu Protokół DBMS : Konto klienta DBMS 10: pokaż Modyfikator planu lotu 9: wyświetl 3: pobierz konto użytk. 2: Utwórz modyfikator 6: pobierz plan 5: utwórz Plan lotu Konto 8: utwórz : System Rezerwacji Lotów

17 Diagramy stanu

18 Automat Maszyna, w której wyjściowe zachowanie zależy nie tylko od aktualnych bodźców na wejściu, ale też historii poprzednich bodźców Posiada wewnętrzny stan, który reprezentuje wczesniejsze doświadczenie OFF ON ON ON ON

19 Diagram maszyny stanowej (automatu)
on Lamp On off on off Lamp Off

20 Wyzwalacz (zdarzenie)
Diagram stanów UML Stan Pseudostan początkowy Wyzwalacz (zdarzenie) Ready Przejście stop /ctr := 0 Done Stan końcowy Akcja stop

21 Do czego nadaje się model stanów?
Maszyna stanów nadaje się do opisu zachowania dyskretnego, sterowanego zdarzeniami (event-driven) Nie nadaje się do modelowania zachowania ciągłego time threshold

22 Zachowanie sterowane zdarzeniami
Typy zdarzeń interakcje: Synchroniczne wywołanie operacji obiektu (call event) Asynchroniczne otrzymanie sygnału (signal event) wystąpienie chwili w czasie (time event) upłynięcie okresu czasu nadejście określonej daty / czasu zmiana wartości jakiegoś bytu (change event) Instancja zdarzenia = wystąpienie zdarzenia określonego typu występuje w określonej chwili czasowej, nie jest rozciągła w czasie (nie trwa)

23 Przykład – wpisywanie numeru PESEL

24 Diagramy aktywności

25 Diagramy aktywności UML-owe odpowiedniki diagramów przepływu
Model przepływ wraz z decyzjami, alternatywnymi i równoległymi ścieżkami, itp.

26 Przykład – pobierz pieniądze z bankomatu
Łączenie Scalenie

27 Elementy diagramu (1) Akcja Przepływ sterowania (control flow)
Start / stan początkowy Koniec całej aktywności (wszystkich przepływów) Koniec jednego przepływu w ramach aktywności Obiekt

28 Elementy diagramu (2) Rozgałęzianie i scalanie – rozgałęzianiu towarzyszy warunek Rozwidlenie i łączenie – początek i koniec współbieżnych wątków. Różnica między scalaniem i łączeniem Łączenie sychronizuje wchodzące przepływy – dalszy przepływ może się wykonać dopiero, gdy wszystkie wchodzące dojdą do tego punktu Scalanie nie synchronizuje – każdy przepływ „przechodzi osobno” i akcja następująca po scalaniu może być wykonana kilka razy (dla każdego wchodzącego przepływu)

29 Elementy diagramu (3) Przepływ obiektów
Przepływ obiektów – notacja skrócona Tory – podział akcji pomiędzy obiekty

30 Zastosowanie diagramów aktywności
Modelowanie przepływu sterowania / danych (obiektów) … ... a nie modeli sterowanych zdarzeniami (maszyn stanowych) Dobrze nadają się do modelowania skomplikowanych scenariuszy Dobrze modelują alternatywne scenariusze

31 UML – podsumowanie

32 Pięć punktów widzenia na system
Przypadków użycia (use case view) – przypadki użycia i zachowanie systemu z punktu widzenia użytkowników końcowych, analityków i testerów Diagramy przypadków użycia, interakcji Projektu (design view) – klasy, interfejsy, schematy współpracy, które tworzą podstawowy słownik problemu i jego rozwiązania Diagramy klas, obiektów, interakcji Procesów (process view) – wątki i procesy, które składają się na współbieżne przetwarzanie w systemie, synchronizacja Diagramy aktywności Implementacji (implementation view) – komponenty i pliki, które składają się na fizyczną instalację (release) systemu Diagramy komponentów Wdrożenia (deployment view) – obejmują węzły, czyli topologię sprzętową, na której działa system Diagramy wdrożeń


Pobierz ppt "UML – Unified Modeling Language (2)"

Podobne prezentacje


Reklamy Google