Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania.

Podobne prezentacje


Prezentacja na temat: "Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania."— Zapis prezentacji:

1 Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

2 DiagramyInterakcji 2/20Diagramy interakcji Podstawowe pojęcia Interakcja (interaction) Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście kolaboracji. Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście kolaboracji. Kolaboracja (collaboration) Kolaboracja (collaboration) Zespół powiązań między obiektami umożliwiający ich interakcję dla wykonania określonego zadania. Zespół powiązań między obiektami umożliwiający ich interakcję dla wykonania określonego zadania. Komunikat (message) Komunikat (message) Przepływ informacji między obiektami pojawiający się w konsekwencji wystąpienia określonego zdarzenia. Przepływ informacji między obiektami pojawiający się w konsekwencji wystąpienia określonego zdarzenia. Zdarzenie (event) Zdarzenie (event) Wystąpienie sytuacji istotnej z punktu widzenia systemu. Zdarzenie zachodzi w pewnym niepodzielnym momencie czasu. Konsekwencją zdarzenia jest komunikat. Wystąpienie sytuacji istotnej z punktu widzenia systemu. Zdarzenie zachodzi w pewnym niepodzielnym momencie czasu. Konsekwencją zdarzenia jest komunikat.

3 DiagramyInterakcji 3/20Diagramy interakcji Rodzaje diagramów interakcji Diagramy kolaboracji (kooperacji, współpracy) Diagramy kolaboracji (kooperacji, współpracy) powiązania między obiektami powiązania między obiektami przepływ komunikatów wzdłuż powiązań przepływ komunikatów wzdłuż powiązań Diagramy sekwencji (przebiegu) Diagramy sekwencji (przebiegu) linie życia obiektów linie życia obiektów przepływ komunikatów uporządkowany w czasie przepływ komunikatów uporządkowany w czasie

4 DiagramyInterakcji 4/20Diagramy interakcji Zastosowanie diagramów interakcji Opis działania systemu Opis działania systemu Opis przypadków użycia Opis przypadków użycia Opis scenariusza przypadku użycia Opis scenariusza przypadku użycia Opis operacji klasy Opis operacji klasy

5 DiagramyInterakcji 5/20Diagramy interakcji Elementy diagramu kolaboracji Klient aktor anObject:aClass obiekt powiązanie 1: DoSomething() komunikat znacznik kierunku numer porządkowy

6 DiagramyInterakcji 6/20Diagramy interakcji Uwagi do diagramu kolaboracji (1/2) Występujący aktorzy muszą być powiązani z danym przypadkiem użycia Występujący aktorzy muszą być powiązani z danym przypadkiem użycia Obiekty reprezentują obiekty globalne (dla całego systemu) lub lokalne (np. parametry operacji, zmienne lokalne) Obiekty reprezentują obiekty globalne (dla całego systemu) lub lokalne (np. parametry operacji, zmienne lokalne) Powiązania reprezentują drogi przepływu komunikatów. Powiązania reprezentują drogi przepływu komunikatów. Komunikaty mogą być przesyłane pomiędzy dwoma aktorami, aktorem a obiektem lub pomiędzy dwoma obiektami. Komunikaty mogą być przesyłane pomiędzy dwoma aktorami, aktorem a obiektem lub pomiędzy dwoma obiektami. Komunikat reprezentuje przekazanie informacji (w przypadku aktora jako odbiorcy) lub wywołanie operacji (w przypadku obiektu jako odbiorcy). W tym drugim przypadku operacja musi być zdefiniowana w klasie odbiorcy. Komunikat reprezentuje przekazanie informacji (w przypadku aktora jako odbiorcy) lub wywołanie operacji (w przypadku obiektu jako odbiorcy). W tym drugim przypadku operacja musi być zdefiniowana w klasie odbiorcy.

7 DiagramyInterakcji 7/20Diagramy interakcji Uwagi do diagramu kolaboracji (2/2) Przez jedno powiązanie może być przekazywanych wiele komunikatów w różne strony i w różnym czasie. Kierunek przepływu komunikatu określa strzałka. Kolejność przepływu komunikatu określają numery porządkowe. Przez jedno powiązanie może być przekazywanych wiele komunikatów w różne strony i w różnym czasie. Kierunek przepływu komunikatu określa strzałka. Kolejność przepływu komunikatu określają numery porządkowe. Zamiast numeru porządkowego można podać zaawansowaną specyfikację przesłania komunikatu Zamiast numeru porządkowego można podać zaawansowaną specyfikację przesłania komunikatu W przypadku, gdy aspekt czasowy jest bardziej istotny, korzystniej jest użyć diagramu sekwencji. W przypadku, gdy aspekt czasowy jest bardziej istotny, korzystniej jest użyć diagramu sekwencji.

8 DiagramyInterakcji 8/20Diagramy interakcji Opis komunikatu (1/3) Numer porządkowy Numer porządkowy może składać się z kilku segmentów, każdy segment jest liczbą całkowitą określającą kolejność na danym poziomie zagłębienia, np.: poprzedza oraz poprzedza 1.3 może składać się z kilku segmentów, każdy segment jest liczbą całkowitą określającą kolejność na danym poziomie zagłębienia, np.: poprzedza oraz poprzedza 1.3 komunikaty współbieżne określane są przez dodanie litery za numerem porządkowym, np.. 1.2a i 1.2b są współbieżne komunikaty współbieżne określane są przez dodanie litery za numerem porządkowym, np.. 1.2a i 1.2b są współbieżne Określenie komunikatu poprzedzającego Określenie komunikatu poprzedzającego Zamiast numeru porządkowego danego komunikatu można podać numery porządkowe komunikatów poprzedzających (lista numerów oddzielonych przecinkami i zakończona znakiem /). Zamiast numeru porządkowego danego komunikatu można podać numery porządkowe komunikatów poprzedzających (lista numerów oddzielonych przecinkami i zakończona znakiem /). Dany komunikat zostanie przesłany tylko wówczas, gdy wszystkie poprzedzające go komunikaty zostaną przesłane (synchronizacja) Dany komunikat zostanie przesłany tylko wówczas, gdy wszystkie poprzedzające go komunikaty zostaną przesłane (synchronizacja)

9 DiagramyInterakcji 9/20Diagramy interakcji Opis komunikatu (2/3) Warunek strzegący, dozoru (guard condition) Warunek strzegący, dozoru (guard condition) Warunek strzegący to warunek, który musi być spełniony dla przesłania komunikatu. Warunek strzegący to warunek, który musi być spełniony dla przesłania komunikatu. Warunek strzegący podaje się w nawiasach kwadratowych, np. [n<10] Warunek strzegący podaje się w nawiasach kwadratowych, np. [n<10] Określenie iteracji Określenie iteracji Podanie klauzuli iteracji w nawiasach kwadratowych poprzedzonych znakiem * oznacza wielokrotne przesłanie komunikatu. Podanie klauzuli iteracji w nawiasach kwadratowych poprzedzonych znakiem * oznacza wielokrotne przesłanie komunikatu. Klauzulę iteracji podaje się w określonym języku programowania lub w pseudokodzie, np.: *[i:=1..10] Klauzulę iteracji podaje się w określonym języku programowania lub w pseudokodzie, np.: *[i:=1..10]

10 DiagramyInterakcji 10/20Diagramy interakcji Opis komunikatu (3/3) Zwracany wynik Zwracany wynik wynik := nazwa operacji (lista argumentów) Lista argumentów Lista argumentów Jest listą wartości oddzielonych przecinkami, które są po kolei przypisywane do parametrów operacji. Jest listą wartości oddzielonych przecinkami, które są po kolei przypisywane do parametrów operacji. Wartości są wyrażeniami w określonym języku programowania lub w pseudokodzie. Wartości są wyrażeniami w określonym języku programowania lub w pseudokodzie. W wyrażeniach mogą występować wartości zwrotne z poprzedzających komunikatów W wyrażeniach mogą występować wartości zwrotne z poprzedzających komunikatów

11 DiagramyInterakcji 11/20Diagramy interakcji Przykłady komunikatów 1.2a: DoSomething() 3, 5/7: DoSomething() 4: [action=new] NewDocument(SelectType())

12 DiagramyInterakcji 12/20Diagramy interakcji Elementy diagramu sekwencji Klient aktor anObject:aClass obiekt skupienie sterowania DoSomething() linia życia komunikat odpowiedź wektor przepływu komunikatu

13 DiagramyInterakcji 13/20Diagramy interakcji Uwagi do diagramu sekwencji Diagram sekwencji i diagram kolaboracji są semantycznie równoważne. Diagram sekwencji i diagram kolaboracji są semantycznie równoważne. Kierunek przepływu komunikatu określa zwrot wektora przepływu – przy jednym wektorze może wystąpić tylko jeden komunikat. Kierunek przepływu komunikatu określa zwrot wektora przepływu – przy jednym wektorze może wystąpić tylko jeden komunikat. Numery porządkowe są zbędne – kolejność przepływu komunikatów określa uporządkowanie wektorów przepływu komunikatów w pionie – wzdłuż linii życia. Numery porządkowe są zbędne – kolejność przepływu komunikatów określa uporządkowanie wektorów przepływu komunikatów w pionie – wzdłuż linii życia. Można stosować warunki strzegące i specyfikacje iteracji. Można stosować warunki strzegące i specyfikacje iteracji. Wektor odpowiedzi nie opisuje się – jeśli istotna jest wartość zwrotna, to przy wektorze zapytania podaje się zaawansowaną sygnaturę komunikatu. Wektor odpowiedzi nie opisuje się – jeśli istotna jest wartość zwrotna, to przy wektorze zapytania podaje się zaawansowaną sygnaturę komunikatu. Zamiast wektora odpowiedzi można zastosować zwykły wektor przepływu komunikatu. Zamiast wektora odpowiedzi można zastosować zwykły wektor przepływu komunikatu. Skupienie sterowania (focus of control) reprezentuje czas, w którym obiekt jest w stanie przyjmować i nadawać komunikaty (czas aktywności). Skupienie sterowania (focus of control) reprezentuje czas, w którym obiekt jest w stanie przyjmować i nadawać komunikaty (czas aktywności).

14 DiagramyInterakcji 14/20Diagramy interakcji Tworzenie i niszczenie obiektu anObject:aClass Create()

15 DiagramyInterakcji 15/20Diagramy interakcji Równoległe wątki sterowania anObject:aClass

16 DiagramyInterakcji 16/20Diagramy interakcji Rekurencja anObject:aClass

17 DiagramyInterakcji 17/20Diagramy interakcji Dokładne określenie czasu t1 t2 {t2-t1<1 min} t3 {t3-t3<10 ms}

18 DiagramyInterakcji 18/20Diagramy interakcji Przykład diagramu sekwencji Klient Lista klientów: Lista Sprzedawca Rachunki niezapłacone: Lista 1: Zgłoszenie() 2: jest := Wyszukanie() 5: [jest] nzap:=Wyszukanie() Zamówienie: Zamówienia 7a:[akcja=nowy] Create() 6: akcja := Potwierdzenie zgłoszenia(nzap) 3:[nie jest] Podaj dane() 4: 3/ jest := Nowy klient()

19 DiagramyInterakcji 19/20Diagramy interakcji Przykład diagramu kolaboracji Klient Lista klientów: Lista Sprzedawca Rachunki niezapłacone: Lista 1: Zgłoszenie() 2: jest := Wyszukanie() 5: [jest] nzap:=Wyszukanie() Zamówienie: Zamówienia 7a:[akcja=nowy] Create() 6: akcja := Potwierdzenie zgłoszenia (nzap) 3:[nie jest] Podaj dane() 4: 3/ jest := Nowy klient()

20 DiagramyInterakcji 20/20Diagramy interakcji Literatura Booch G, Rumbaugh J, Jacobson I: UML. Przewodnik użytkownika, WNT, Warszawa 2002 Booch G, Rumbaugh J, Jacobson I: UML. Przewodnik użytkownika, WNT, Warszawa 2002 Dennis A., Haley Wixom B., Tegarden D.: System Analysis & Design. An Object-Oriented Approach with UML, John Wiley & Sons, Inc., USA 2001 Dennis A., Haley Wixom B., Tegarden D.: System Analysis & Design. An Object-Oriented Approach with UML, John Wiley & Sons, Inc., USA 2001


Pobierz ppt "Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania."

Podobne prezentacje


Reklamy Google