• Nie Znaleziono Wyników

Diagramy interakcji Diagramy interakcji

N/A
N/A
Protected

Academic year: 2021

Share "Diagramy interakcji Diagramy interakcji"

Copied!
20
0
0

Pełen tekst

(1)

Diagramy interakcji Diagramy interakcji

Kamil Kuliczkowski

(2)

Informacje ogólne Informacje ogólne

Diagramy interakcji są to diagramy ułatwiające Diagramy interakcji są to diagramy ułatwiające rozumienie zależności w przepływie sterowania.

rozumienie zależności w przepływie sterowania.

Są dynamiczne. Opisują jak obiekty ze sobą Są dynamiczne. Opisują jak obiekty ze sobą współpracują

współpracują

Pokazują interakcje pomiędzy instancjami występującymi Pokazują interakcje pomiędzy instancjami występującymi w modelu

w modelu

W UML’u wyróżniamy dwa rodzaje diagramów interakcji:

W UML’u wyróżniamy dwa rodzaje diagramów interakcji:

diagramy sekwencji diagramy sekwencji

• diagramy współpracy (kolaboracji) diagramy współpracy (kolaboracji)

(3)

Diagramy sekwencji Diagramy sekwencji

Szczegółowo pokazują, w jaki sposób są wykonywane operacje - jakie komunikaty są wysyłane i kiedy

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

Używamy do:

• pokazania bezpośredniego uporządkowania komunikatów i bodźców pokazania bezpośredniego uporządkowania komunikatów i bodźców

• modelowania w czasie rzeczywistym modelowania w czasie rzeczywistym Rodzaje interakcji

• sekwencyjna sekwencyjna

• współbieżna współbieżna

(4)

Rodzaj interakcji Symbol Znaczenie

synchroniczna Nadawca zawiesza działanie, dopóki odbiorca nie zwróci sterowania..

powrót (return)

Oznacza zakończenie komunikatu i przekazanie

sterowania do nadawcy. Powrót nie jest komunikatem.

jednostronna (flat)

Nadawca komunikatu przekazuje sterowanie do odbiorcy oraz kończy własną działalność nie oczekując na odpowiedź.

asynchroniczna

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.

Notacja

Notacja

(5)

Rodzaj interakcji Symbol

komunikat warunkowy

iteracja

Notacja Notacja

[Pensja < 1000] zwiększ pensje(200)

* [i:= 1…5] operacja

* [pensja < 1200] zwiększ pencję(200)

* [istnieje pracownik] usuń pracownika

komunikacja zwrotna x:= pobierz dane

(6)

Przykład Przykład

:Personel bibl.

:Książka :Członek

bibl. :Egzemplarz Książki

Pożycz (tytuł)

1: CzyMożnaPożyczyć

2: CzyTytułDostępny

2.1: ZaznaczWypożyczenie

linia życia obiektu

czas

pasek aktywacji obiekt inicjujący interakcję

komunikat

(7)

Przykład Przykład

:Sterowanie

:Dzwoniący :Odbierający

podniesienie słuchawki ton w słuchawce

wybór cyfry

łączenie

ton dzwonka uruchomienie dzwonka podniesienie słuchawki koniec tonu koniec dzwonienia

. . .

a b c d d’

{b - a < 1 sec.}

{c - b < 10 sec.}

Rozmowa jest łączona poprzez sieć {d’ - d < 5 sec.}

(ograniczenia czasowe)

(8)

:Personel bibl.

:Członek bibl.

CzyPrzetrzymuje

[jeśli przetrzymuje] email

:Książka

:Egzemplarz książki

RejestrujNową

RejestrujNowy

Przykład Przykład

(ze współbieżnością)

(9)

x

:Sekretariat ds. nauczania

:Wykładowca

n := PobierzNazwisko

:Szef wykładowców

UtwórzNowegoSzefaWykładowców (n) usuń

koniec życia obiektu

powstanie nowego obiektu

Przykład Przykład

(usuwanie i tworzenie obiektu)

(10)

Przykład Przykład

(iteracja)

:Magazynier :Magazyn

zamknij magazyn

:Towar

* [istnieje zapas] usuń towar

x x

(11)

Diagramy współpracy Diagramy współpracy

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

Używamy:

• kiedy struktura jest bardzo istotna kiedy struktura jest bardzo istotna

• do skoncentrowania się na efektach wywieranych na instancje do skoncentrowania się na efektach wywieranych na instancje 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

(12)

Notacja Notacja

Wykładowca

Rodzaj interakcji Symbol

klasa

instancja klasy

obiekt

:Wykładowca

w:Wykładowca

x:= pobierz dane

komunikat

(13)

Przykład Przykład

:Sekretariat ds. nauczania

:Szef

wykładowców {nowy}

:Wykładowca {usuwany}

2: UtwórzNowegoSzefaWykładowców (n) 1: n := PobierzNazwisko

3: usuń

własność

(14)

Przykład Przykład

okno:Interfejs uż.

s:Sieć hoteli

1.1: Zarezerwuj()

1.1.1: Zarezerwuj()

h:Hotel

1.1.1.1: *[na każdy dzień] jest_pokój := dostępność()

r:Rezerwacja

1.1.1.2: [jest_pokój]

1.1.1.2.1:

p:Potwierdzenie

(15)

Podczas opisywania diagramem kolaboracji bardziej złożonej i Podczas opisywania diagramem kolaboracji bardziej złożonej i rozbudowanej struktury, można posługiwać się mechanizmem rozbudowanej struktury, można posługiwać się mechanizmem

wyróżniania subkolaboracji. Metoda ta polega na wyodrębnieniu z wyróżniania subkolaboracji. Metoda ta polega na wyodrębnieniu z modelu grupy elementów i zamienianie ją na pakiet.

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.

Subkolaboracja

Subkolaboracja

(16)

Podsumowanie 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.

(17)

Zadanie 1 Zadanie 1

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

(18)

okno:Interfejs uż.

s:Sieć hoteli

Zarezerwuj()

h:Hotel

*[na każdy dzień] jest_pokój := dostępność()

r:Rezerwacja

[jest_pokój]

p:Potwierdzenie

Zarezerwuj()

x

(19)

Zadanie 2 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.

(20)

k:Klient p:Portier

2.0: Wykwateruj_sie()

r:Rachunek

{nowy} z:Zakwaterowanie

{nowy}

1.0: Zakwateruj_sie(rez) 1.1.0:[rez] p:= przydziel_pokoj()

1.1.1:zakwateruj(p)

1.3:stwórz_zakwaterowanie() 1.2.0:wolny:= czy_jest_wolny_pokoj()

1.2.1:[wolny] wp:= przydziel_wolny_pokoj()

1.2.2:zakwateruj(wp) 3.0: stwórz_rach()

3.1: Wystaw_rach()

3.2: zapłać_rach()

Cytaty

Powiązane dokumenty

Związku zawierania używa się wówczas, gdy z kilku innych przypadków użycia można. wydzielić pewną

początkowy Pseudostan służący do oznaczenia punktu startowego końcowy Pseudostan służący do oznaczenia punktu finalnego złożony współbieżny Stan podzielony na dwa lub

Diagramy aktywności opisują przepływy operacji, ale nie specyfikują, kto jest odpowiedzialny za ich wykonanie, np., którzy ludzie czy które komórki organizacyjne (z

Przejście zewnętrzne – zdarzenie powoduje zmianę stanu obiektu ze stanu Stan1 na stan Stan2, o ile jest spełniony warunek oraz przed przejściem obiektu do stanu Stan2. wykonywana

Usługi uzupełniające to przeglądanie aktywnych aukcji, przeglądanie historii zawartych transakcji, a także finalizacja transakcji, związana z odnotowaniem zapłaty oraz

przebiegu) Modelowanie czasowej sekwencji wymiany komunikatów podczas współpracy obiektów, pakietów lub komponentów. Diagram komunikacji Modelowanie przepływu komunikatów

Diagram czynności – Główny scenariusz przypadku użycia Złóż zamówienie. Obciąż

• Diagram klas obrazuje pewien zbiór klas, interfejsów i kooperacji oraz związki między nimi.. • Jest to graf złożony z wierzchołków (klas, interfejsów, kooperacji) i