Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

UML – Unified Modeling Language (2) Bartosz Baliś, Na podstawie, m.in.: Gunnar Övergaard, Bran Selic, Conrad Bock and Morgan Björkander: UML Behavioral.

Podobne prezentacje


Prezentacja na temat: "UML – Unified Modeling Language (2) Bartosz Baliś, Na podstawie, m.in.: Gunnar Övergaard, Bran Selic, Conrad Bock and Morgan Björkander: UML Behavioral."— 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:

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 xyz Diagram sekwencji a b c Diagram kolaboracji xy z 1.1: a 1.2: c 1.1.1: b

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

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 redisplay () bodziec 1: displayPositions (window) 1.1 *[i := 1..n]: drawSegment (i) : Controller: Window wire :Wire {new} : Line left : Beadright : Bead 1.1.1a: r0 := position ()1.1.1b: r1 := position () wire «local» line contents {new} window «self» window «parameter» 1.1.2: create (r0, r1) 1.1.3: display (window) add (self) obiekt połączenie stereotyp ogranicze nie

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 :System rezerwacjiPodróżnySystem rezerwacji lotów zmień plan podróży pobierz konto użytk. pobierz plan pokaż plan wybierz segment pokaż detale zmień dane dostępne loty: Konto klienta DBMS

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

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

17 Diagramy stanu

18 ONON 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 ONON ONON ONON OFFOFF

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

20 Diagram stanów UML ReadyReady stop /ctr := 0stop StanStan Wyzwalacz (zdarzenie) AkcjaAkcja PseudostanpoczątkowyPseudostanpoczątkowy PrzejściePrzejście Stan końcowy DoneDone

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 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) Koniec całej aktywności (wszystkich przepływów) Koniec jednego przepływu w ramach aktywności Obiekt Start / stan początkowy

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) Bartosz Baliś, Na podstawie, m.in.: Gunnar Övergaard, Bran Selic, Conrad Bock and Morgan Björkander: UML Behavioral."

Podobne prezentacje


Reklamy Google