UML – Unified Modeling Language (2)

Slides:



Advertisements
Podobne prezentacje
Piotr Czekalski, ZMiTAC, Politechnika Śląska 2003
Advertisements

Związki w UML.
Mechanizmy pracy równoległej
Projektowanie aplikacji równoległych Jarosław Kuchta.
Modelowanie aktywności
Unified Modeling Language Wykład 4 Przypadki użycia
Diagramy stanów i diagramy aktywności
Modelowanie przypadków użycia
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Zadanie z dekompozycji
Tomasz Andrejczuk Łukasz Razmuk gr. 620
SYSTEMY OPERACYJNE WSTĘP
Modelowanie procesów biznesowych
Maciej I Stanisław Jedlińscy
Język UML (Unified Modelling Language)
Zrównoleglanie programu sekwencyjnego
UML rozszerzenie Seminarium magisterskie
Mateusz Srebrny 15 grudnia 2003 Motif, okienka i obiekty Mateusz Srebrny 15 grudnia 2003.
Projektowanie Aplikacji Komputerowych
Projektowanie Aplikacji Komputerowych
UML Unified Modeling Language
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
Tomasz Jabłoński Michał Ziach
Diagramy interakcji Jacek Górski gr
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
UML Zunifikowany język modelowania
Unified Modeling Language Wykład 5 Diagram czynności
Diagram czynności (Activity Diagrams)
Projektowanie i programowanie obiektowe II - Wykład IV
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Dziedzina problemu. Opracowanie koncepcji, projekt i częściowa implementacja portalu ofert turystycznych.
BPMN Business Process Modeling Notation
Projektowanie - wprowadzenie
Diagramy czynności.
Projektowanie dynamiki - diagramy interakcji
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Oskar Ośko Mateusz Skoczewski Michał Sułek
Nadstruktura języka UML w wersji 2.2 Część V Wdrożenie (pakiet UML::Deployments)
Inżynieria Oprogramowania
UML 2.x Robert Pająk.
Wykład 1 – część pierwsza
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Wykład 6 Przypadki użycia a proces
DIAGRAMY UML.
Podsumowanie metodologii OMT
Modelowanie obiektowe Diagramy czynności
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Modelowanie obiektowe Diagramy sekwencji
Unified Modeling Language - Zunifikowany Język Modelowania
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Diagramy czynności/aktywności (Activity Diagrams)
Diagram aktywności (czynności)
Diagram przypadków użycia
Modelowanie obiektowe - system zarządzania projektami.
Diagram komunikacji (communication diagram)
Diagram czynności Diagram czynności (activity diagram) służy do modelowania dynamicznych aspektów systemu. Diagram czynności przedstawia sekwencyjne lub.
UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie.
Unified Modeling Language
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Notacja biznesowa BPMN Piotr Kasprzyk.
Inżynieria systemów informacyjnych
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Diagramy interakcji Kamil Kuliczkowski.
Wykład 1 – część pierwsza
Zapis prezentacji:

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: http://www.agilemodeling.com Źródła: 1. Russel Kay, QuickStudy: System Development Life Cycle, Computerworld, May 2002 http://www.computerworld.com/developmenttopics/development/story/0,10801,71151,00.html 2. http://www.answers.com 3. Ian Sommerville, Inżynieria Oprogramowania 4. Wikipedia

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

Diagramy interakcji

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

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

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

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

Rodzaje strzałek – przykład

Przykład – zapisywanie się studenta na seminarium

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 1.1.3.1 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 ()

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ę

Przykład: system rezerwacji lotu

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 …

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 : :

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

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

Diagramy stanu

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

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

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

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

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)

Przykład – wpisywanie numeru PESEL

Diagramy aktywności

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

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

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

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)

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

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

UML – podsumowanie

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ń