Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Podobne prezentacje


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

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

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

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

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

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

6 Uwagi do diagramu kolaboracji (1/2)
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) 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. 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. DiagramyInterakcji Diagramy interakcji

7 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. 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. DiagramyInterakcji Diagramy interakcji

8 Opis komunikatu (1/3) 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 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 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) DiagramyInterakcji Diagramy interakcji

9 Opis komunikatu (2/3) Warunek strzegący, dozoru (guard condition)
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] Określenie iteracji 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] DiagramyInterakcji Diagramy interakcji

10 Opis komunikatu (3/3) Zwracany wynik Lista argumentów
wynik := nazwa operacji (lista argumentów) Lista argumentów 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. W wyrażeniach mogą występować wartości zwrotne z poprzedzających komunikatów DiagramyInterakcji Diagramy interakcji

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

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

13 Uwagi do diagramu sekwencji
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. 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. 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. Skupienie sterowania (focus of control) reprezentuje czas, w którym obiekt jest w stanie przyjmować i nadawać komunikaty (czas aktywności). DiagramyInterakcji Diagramy interakcji

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

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

16 Rekurencja anObject:aClass DiagramyInterakcji Diagramy interakcji

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

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

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

20 Literatura 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 DiagramyInterakcji Diagramy interakcji


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

Podobne prezentacje


Reklamy Google