Diagramy interakcji Jacek Górski gr. 652..

Slides:



Advertisements
Podobne prezentacje
Związki w UML.
Advertisements

Projektowanie aplikacji równoległych Jarosław Kuchta.
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Tomasz Andrejczuk Łukasz Razmuk gr. 620
Projektowanie systemów informacyjnych
Maciej I Stanisław Jedlińscy
Projektowanie systemów informacyjnych
Zrównoleglanie programu sekwencyjnego
UML rozszerzenie Seminarium magisterskie
Projektowanie Aplikacji Komputerowych
UML Unified Modeling Language
Co UML może zrobić dla Twojego projektu?
UML – Unified Modeling Language (2)
Tomasz Jabłoński Michał Ziach
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.
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
Systemy Czasu Rzeczywistego
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
DIAGRAMY UML.
Projektowanie obiektowe
Podsumowanie metodologii OMT
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
MICROSOFT Access TWORZENIE MAKR
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
W ą t e k (lekki proces) thread.
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.
ZAPIS BLOKOWY ALGORYTMÓW
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram przypadków użycia
Diagram klas Kluczowymi elementami są: klasy (class)
OCL.
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.
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.
Diagram przypadków użycia
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Iga Lewandowska I EMII MU
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
Wstęp do systemów informatycznych Model przypadków użycia.
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
Testy jednostkowe. „Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu”
Inżynieria systemów informacyjnych
Diagramy interakcji Kamil Kuliczkowski.
Zapis prezentacji:

Diagramy interakcji Jacek Górski gr. 652.

Diagram interakcji (interaction diagram) - diagram ułatwiający zrozumienie zależności w przepływie sterowania. Metody realizujące to sterowanie są rozproszone w wielu klasach, co powoduje trudności ze zrozumieniem ich wzajemnej zależności i interakcji. Jest to powód sporządzania diagramów interakcji. Służą one do opisu zależności przy przesyłaniu komunikatów dla pewnej grupy obiektów. Często stanowią bardziej precyzyjny opis pojedynczego przypadku użycia. Istnieje wiele wariantów diagramów interakcji o różnych odmianach syntaktycznych. UML wprowadza dwa rodzaje takich diagramów: diagramy sekwencji i diagramy kolaboracji (współpracy). z książki: Kazimierz Subieta, "Słownik terminów z zakresu obiektowości", Akademicka Oficyna Wydawnicza PLJ, Warszawa 1999

Do czego służą? Diagramy interakcji są jednym z rodzajów diagramów dynamicznych. Bazują na istniejącym diagramie klas i opisują one sposób w jaki obiekty współpracują ze sobą w celu zrealizowania konkretnej funkcji systemu (przypadku użycia lub scenariusza danego przypadku użycia). Pozwalają na lepsze zrozumienie zdarzeń zachodzących pomiędzy nimi. Ponadto mogą służyć jako model do generowania gotowego kodu programu przez, niektóre narzędzia typu CASE.

rodzaje diagramów interakcji: diagramy sekwencji. diagramy kolaboracji (współpracy). Oba typy ilustrują ten sam problem, jednak przedstawiają go w innym kontekście, dlatego wybór odpowiedniego diagramu zależy od sposobu w jaki chcemy daną sytuację opisać.

Realizowany use case: «include» «include» «extends» Sprawdzenie czy można wypożyczyć «include» Sprawdzenie czy tytuł jest dostępny «include» Wypożyczenie książki pracownik biblioteki «extends» Zaznaczenie wypożyczenia książki

Diagram klas: wypozycz() czyMoze() czyWolny() zaznWyp() Osoba Książka Pracownik biblioteki Wypożyczający wypozycz() czyMoze() wypożycza jest_wypożyczany 1..* 1..* * Egzemplarz czyWolny() zaznWyp() 0..1

:Pracownik biblioteki diagramy sekwencji: Ukazuje sposób realizacji danego przypadku użycia oraz interakcję pomiędzy obiektami biorącymi w nim udział. Obiekty są połączone linkami, które odwzorowują asocjacje pomiędzy poszczególnymi obiektami. :Pracownik biblioteki 1: Pożycz :Wypożyczający :Egzemplarz 1.2: Czy wolny 1.3: Zaznacz wypożyczenie 1.1: Czy można pożyczyć

Konwencja zapisywania obiektów jest następująca: Obiekt:NazwaKlasy Konwencja zapisywania obiektów jest następująca: Obiekt:NazwaKlasy. Jeśli występuje tylko nazwa klasy po dwukropku( :NazwaKlasy) oznacza to, iż wszystkie obiekty danej klasy zachowują się w ten sam sposób. Przekazywane między obiektami komunikaty są zaznaczane w postaci etykiet ze strzałkami, które pokazują kierunek ich przekazywania. W praktyce oznacza to ilustrację wywoływania poszczególnych metod w klasach. Nie zaznacza się na diagramie odpowiedzi na komunikaty. Stosuje się dwie metody numeracji przekazywanych komunikatów: używając kolejnych liczb naturalnych (1,2,3,4,...) oraz numeracji zagnieżdżonej (1, 1.1, 1.2, 2, 2.1,...). Druga metoda posiada tą zaletę, że w ten sposób można dodatkowo zdefiniować strukturę komunikatów, czyli np. komunikaty 2.1, 2.2 są konsekwencją wysłania komunikatu 2.

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.

diagramy sekwencji: W odróżnieniu od diagramów kolaboracji, diagramy sekwencji kładą nacisk na czasowe uporządkowanie komunikatów. Dodatkowo wyraźniej w nich można pokazać przekazywanie sterowania. :Pracownik biblioteki :Wypożyczający :Egzemplarz 1: Pożycz 1.1: Czy można pożyczyć 1.2: Czy wolny 1.3: Zaznacz wyp.

Notacja: Linie przerywane oznaczają czas życia obiektu. Zapełnione prostokąty oznaczają aktywność obiektu. Puste prostokąty oznaczają, że sterowanie zostało przekazane do innego obiektu i oczekiwanie na zwrot sterowania po, np. otrzymaniu odpowiedzi na wysłany komunikat. Strzałki ciągłe oznaczają komunikaty, a przerywane odpowiedzi. Koniec życia obiektu oznacza się znakiem X. Diagramy sekwencji w bardziej przejrzysty sposób ilustrują cykle życia obiektów w kontekście upływającego czasu. Dodatkowo można poddawać je ograniczeniom czasowym, np. odpowiedź na jakiś komunikat ma być zwrócona po czasie nie dłuższym niż 5 sek.

Diagramy generyczne. Ich zadaniem jest zobrazowanie wszystkich możliwych sekwencji interakcji, a nie tylko jednego z możliwych scenariuszy. :O [i = 0] x [i = 1] y W zależności od wartości zwracanej warunku zawartego w kwadratowych nawiasach możliwe jest wysłanie danego komunikatu. Diagramy generyczne są często bardzo skomplikowane, dlatego mogą sprawiać wiele problemów z ich poprawnym przedstawieniem. Problem stanowi numeracja komunikatów, np. w zależność od warunku w wysyłany jest komunikat x lub y. Jeśli zaznaczymy je kolejnymi cyframi, np. 5 i 6, to dla któregoś ze scenariuszy sekwencja komunikatów nie zachowa kolejności numeracji.

Istnieją dwa rodzaje interakcji: Sekwencyjna Współbieżna Sekwencyjna cechuje się tym, iż powstaje pewna sekwencja działań, które wykonują się kolejno: aktor inicjuję jakąś akcję, obiekt x komunikat do obiektu y. Chociaż oba są aktywne obiekt x jest zawieszony i czeka na zwrot komunikatu od obiektu y. W tym czasie obiekt y może wysłać komunikat do kolejnego obiektu i sam zostanie zawieszony do czasu otrzymania odpowiedzi, itd. Systemy wykorzystujące taką strategię noszą nazwę jednowątkowych. Współbieżna jest wolna od ograniczeń opisanych powyżej i pozwala na aktywne działanie wielu obiektów, które mogą wysyłać wiele komunikatów jednocześnie. Takie asynchroniczne działanie jest wykorzystywane w systemach wielowątkowych (np.. w systemach rozproszonych).

Notacja: Rodzaj interakcji Symbol Znaczenie Nadawca zawiesza działanie, dopóki odbiorca nie zwróci sterowania.. synchroniczna (synchronous) 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) asynchroniczna (asynchronous) 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.

Podsumowanie diagramów interakcji Diagramy interakcji, czyli diagramy kolaboracji i sekwencji, jako główne zadanie mają wspomożenie projektanta w procesie konstruowania modelu obiektowego (konkretnie diagramu klas). Pomoc polega na analizie zachowania systemu w trakcie realizacji jego zadań i identyfikowaniu nowych czy też korekcie już istniejących elementów modelu, np.: klas, ich atrybutów czy metod oraz asocjacji między klasami. Struktura, opisywana przez model obiektowy, musi zapewnić możliwość realizacji zadań postawionych przed systemem. Oba rodzaje diagramów przedstawiają bardzo podobną informację, w nieco inny sposób. Diagramy kolaboracji, stanowiące w pewnym sensie wystąpienia fragmentu diagramu klas, 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.