Diagramy interakcji Kamil Kuliczkowski.

Slides:



Advertisements
Podobne prezentacje
Związki w UML.
Advertisements

Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Projektowanie aplikacji równoległych Jarosław Kuchta.
Modelowanie przypadków użycia
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Zaawansowane metody programowania – Wykład V
Tomasz Andrejczuk Łukasz Razmuk gr. 620
Projektowanie systemów informacyjnych
Język UML (Unified Modelling Language)
Projektowanie systemów informacyjnych
UML rozszerzenie Seminarium magisterskie
Projektowanie Aplikacji Komputerowych
Projektowanie Aplikacji Komputerowych
UML Unified Modeling Language
Co UML może zrobić dla Twojego projektu?
Szkolenie dla NaviExpert, Wprowadzenie.
Bartosz Walter Prowadzący: Bartosz Walter
UML – Unified Modeling Language (2)
Tomasz Jabłoński Michał Ziach
Diagramy interakcji Jacek Górski gr
UML Zunifikowany język modelowania
Komunikaty sterujące zestawu protokołów TCP/IP
Diagram czynności (Activity Diagrams)
K.Subieta, E. Stemposz. Projektowanie systemów informacyjnych, Wykład 9, Folia 1 Projektowanie systemów informacyjnych Kazimierz Subieta, Ewa Stemposz.
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie - wprowadzenie
Diagramy czynności.
Projektowanie dynamiki - diagramy interakcji
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Oskar Ośko Mateusz Skoczewski Michał Sułek
Message-Driven Bean.
UML 2.x Robert Pająk.
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych
RODZAJE TRANSMISJI PRZESYŁANIE INFORMACJI W MODELU WARSTWOWYM
OMT - Model obiektów, cz.3.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Podsumowanie metodologii OMT
Programowanie obiektowe – język C++
OMT - Modele dynamiczne.
Programowanie obiektowe 2013/2014
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
Model dynamiczny (1) Diagramy interakcji.
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
PROCESY KOMUNIKACJI INTERPERSONALNEJ – MODELE ORAZ FORMY KOMUNIKACJI
Diagramy czynności/aktywności (Activity Diagrams)
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Przykłady analiza i projektowanie
Modelowanie obiektowe - system zarządzania projektami.
Diagram komunikacji (communication diagram)
Projektowanie relacyjnych baz danych – diagramy związków encji
Diagram czynności Diagram czynności (activity diagram) służy do modelowania dynamicznych aspektów systemu. Diagram czynności przedstawia sekwencyjne lub.
Diagram obiektów Diagram obiektów ukazuje elementy i związki z diagramu klas w ustalonej chwili. Diagram obiektów jest grafem złożonym z wierzchołków i.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Diagramy przepływu danych
Część 1.  Pierwszym etapem metodyki strukturalnej jest analiza strukturalna której efektem jest model podstawowy systemu.
Unified Modeling Language
E. Stemposz. UML i Analiza dynamiczna, Diagramy interakcji, Wykład 9, Slajd 1/68 Wykład 9 Model dynamiczny (3) Diagramy interakcji dr inż. Ewa Stemposz.
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
Inżynieria systemów informacyjnych
Zapis prezentacji:

Diagramy interakcji Kamil Kuliczkowski

Informacje ogólne Diagramy interakcji są to diagramy ułatwiające rozumienie zależności w przepływie sterowania. Są dynamiczne. Opisują jak obiekty ze sobą współpracują Pokazują interakcje pomiędzy instancjami występującymi w modelu W UML’u wyróżniamy dwa rodzaje diagramów interakcji: diagramy sekwencji diagramy współpracy (kolaboracji)

Diagramy sekwencji Szczegółowo pokazują, w jaki sposób są wykonywane operacje - jakie komunikaty są wysyłane i kiedy Używamy do: pokazania bezpośredniego uporządkowania komunikatów i bodźców modelowania w czasie rzeczywistym Rodzaje interakcji sekwencyjna współbieżna Czas upływa w miarę poruszania się w dół strony. Obiekty zaangażowane w operację są wymienione od lewej do prawej według tego, kiedy biorą udział w sekwencji komunikatów

Notacja Rodzaj interakcji Symbol Znaczenie Nadawca zawiesza działanie, dopóki odbiorca nie zwróci sterowania.. synchroniczna Oznacza zakończenie komunikatu i przekazanie sterowania do nadawcy. Powrót nie jest komunikatem. powrót (return) Nadawca komunikatu przekazuje sterowanie do odbiorcy oraz kończy własną działalność nie oczekując na odpowiedź. jednostronna (flat) Nadawca komunikatu nie oczekuje na odpowiedź odbiorcy, ale też i nie kończy własnej aktywności, co oznacza, że nadal przetwarza i może wysyłać komunikaty. asynchroniczna

Notacja Rodzaj interakcji Symbol komunikat warunkowy iteracja [Pensja < 1000] zwiększ pensje(200) * [i:= 1…5] operacja iteracja * [pensja < 1200] zwiększ pencję(200) * [istnieje pracownik] usuń pracownika komunikacja zwrotna x:= pobierz dane

Przykład :Członek bibl. :Książka :Egzemplarz Książki :Personel bibl. obiekt inicjujący interakcję :Członek bibl. :Książka :Egzemplarz Książki :Personel bibl. Pożycz (tytuł) linia życia obiektu czas 1: CzyMożnaPożyczyć komunikat pasek aktywacji 2: CzyTytułDostępny 2.1: ZaznaczWypożyczenie

Przykład (ograniczenia czasowe) :Dzwoniący :Sterowanie :Odbierający podniesienie słuchawki a {b - a < 1 sec.} ton w słuchawce b {c - b < 10 sec.} wybór cyfry c . Rozmowa jest łączona poprzez sieć {d’ - d < 5 sec.} d łączenie d’ ton dzwonka uruchomienie dzwonka podniesienie słuchawki koniec tonu koniec dzwonienia

Przykład (ze współbieżnością) :Członek bibl. :Personel bibl. :Książka CzyPrzetrzymuje [jeśli przetrzymuje] email RejestrujNową :Książka RejestrujNowy :Egzemplarz książki

powstanie nowego obiektu Przykład (usuwanie i tworzenie obiektu) :Wykładowca :Sekretariat ds. nauczania powstanie nowego obiektu n := PobierzNazwisko UtwórzNowegoSzefaWykładowców (n) :Szef wykładowców usuń x koniec życia obiektu

Przykład x x (iteracja) :Magazyn :Towar :Magazynier zamknij magazyn * [istnieje zapas] usuń towar x x

Diagramy współpracy kiedy struktura jest bardzo istotna Dostarczają tych samych informacji co diagramy sekwencyjne, ale skupiają się na rolach obiektów, a nie na czasach przesyłania komunikatów Ich istotą jest przedstawienie przepływu komunikatów pomiędzy obiektami Na diagramach kooperacji uwzględnia się ciąg komunikatów. Wskazanie kolejności komunikatu w czasie polega na poprzedzeniu go odpowiednim numerem w ciągu. Zagnieżdżenia obrazuje się za pomocą notacji Doweya Używamy: kiedy struktura jest bardzo istotna do skoncentrowania się na efektach wywieranych na instancje

Notacja Wykładowca :Wykładowca w:Wykładowca Rodzaj interakcji Symbol klasa Wykładowca instancja klasy :Wykładowca obiekt w:Wykładowca komunikat x:= pobierz dane

Przykład :Sekretariat :Wykładowca ds. nauczania {usuwany} :Szef 1: n := PobierzNazwisko :Sekretariat ds. nauczania :Wykładowca {usuwany} 3: usuń 2: UtwórzNowegoSzefaWykładowców (n) własność :Szef wykładowców {nowy}

Przykład okno:Interfejs uż. p:Potwierdzenie s:Sieć hoteli h:Hotel 1.1: Zarezerwuj() p:Potwierdzenie s:Sieć hoteli 1.1.1.2.1: 1.1.1: Zarezerwuj() 1.1.1.2: [jest_pokój] h:Hotel r:Rezerwacja 1.1.1.1: *[na każdy dzień] jest_pokój := dostępność()

Wyodrębnienie ze złożonego modelu subkolaboracji Subkolaboracja Podczas opisywania diagramem kolaboracji bardziej złożonej i rozbudowanej struktury, można posługiwać się mechanizmem wyróżniania subkolaboracji. Metoda ta polega na wyodrębnieniu z modelu grupy elementów i zamienianie ją na pakiet. pakiet Wyodrębnienie ze złożonego modelu subkolaboracji Zastąpienie subkolaboracji pakietem Pakiet nie posiada własnego interfejsu, dlatego nie można połączyć wysyłanego do pakietu komunikatu z obiektem w jego wnętrzu.

Podsumowanie Diagramy interakcji, czyli diagramy kolaboracji i sekwencji, jako główne zadanie mają wspomóc projektanta w procesie konstruowania modelu obiektowego. Oba rodzaje diagramów przedstawiają bardzo podobną informację, w nieco inny sposób. Diagramy kolaboracji lepiej przedstawiają związki między obiektami biorącymi udział w realizacji danego przypadku użycia. Łatwiej też można tu odwzorować efekty oddziaływania na pojedynczy obiekt. Diagramy sekwencji lepiej przedstawiają zależności czasowe, bardziej niż diagramy kolaboracji nadają się do modelowania systemów czasu rzeczywistego i złożonych scenariuszy.

Zadanie 1 Na podstawie diagramu współpracy stwórz diagram sekwencji.

x s:Sieć hoteli h:Hotel okno:Interfejs uż. r:Rezerwacja Zarezerwuj() Zarezerwuj() *[na każdy dzień] jest_pokój := dostępność() [jest_pokój] r:Rezerwacja p:Potwierdzenie x

Zadanie 2 Stwórz diagram korelacji systemu zajmującego się obsługą hostelu. Klient zakwateruje się u Portiera, który musi sprawdzić, czy Klient ma rezerwację. Jeśli tak przyznaje mu pokój, jeśli nie, to sprawdza czy są jeszcze wolne pokoje. Jeśli są, to daje klientowi wolny pokój i tworzy zakwaterowanie dla Klienta. Klient ma możliwość wykwaterowania się. Wtedy Portier musi stworzyć Rachunek i wystawić go klientowi. Klient oczywiście płaci rachunek. Należy użyć jedynie obiekty klasy: Klient, Portier, Zakwaterowanie oraz Rachunek.

k:Klient p:Portier r:Rachunek {nowy} z:Zakwaterowanie {nowy} 1.2.1:[wolny] wp:= przydziel_wolny_pokoj() 1.2.0:wolny:= czy_jest_wolny_pokoj() 1.1.0:[rez] p:= przydziel_pokoj() 1.0: Zakwateruj_sie(rez) 2.0: Wykwateruj_sie() 3.1: Wystaw_rach() k:Klient p:Portier 1.1.1:zakwateruj(p) 3.2: zapłać_rach() 1.2.2:zakwateruj(wp) 3.0: stwórz_rach() 1.3:stwórz_zakwaterowanie() r:Rachunek {nowy} z:Zakwaterowanie {nowy}