Diagram stanów

Transkrypt

Diagram stanów
Diagram maszyny stanowej - POJĘCIA
Stan : sytuacja w cyklu życia bytu (obiektu, PU, podsystemu, aktora, operacji
itp), kiedy spełnia on pewne warunki, realizuje pewną czynność lub czeka na
pewne zdarzenie. Stan zmienia się w czasie, ale każdy punkt w czasie jest
określony przez:
wartości atrybutów;
związki z innymi obiektami;
czynność, którą realizuje;
Zbiór rozpatrywanych stanów bytu i ich zmian nazywa się maszyną stanów lub
maszyną stanową. Byt jest właścicielem swojej maszyny stanów.
NazwaStanu
Entry / AkcjaWejścia
Do / Czynność
Zdarzenie 1/Akcja 1
Zdarzenie 2 / Akcja 2
Exit / Akcja Wyjścia
zdarzenie(param)
[warunek]Akcja
S2
1
Diagram maszyny stanowej - POJĘCIA
Zdarzenie:- zmiana w otoczeniu lub wewnątrz bytu na którą ten byt reaguje
przejściem w inny stan i/lub podjęciem akcji.
Rodzaje zdarzeń:
1) po upływie pewnego czasu; after
2) po spełnieniu pewnego warunku;when
3) wywołania (call) - nazwa koresponduje z odpowiednią nazwą operacji;
4) sygnał.
Przejście związek między dwoma stanami wskazujący, że byt będąc w stanie
żródłowym w wyniku wyspecyfikowanego zdarzenia przejdzie w stan docelowy
wykonując wyspecyfikowane akcje jeśli będą spełnione wyspecyfikowane
warunki.Diagram stanów opisuje zachowanie bytów poprzez określenie ich reakcji
na zdarzenia.
Diagram stanów opisuje zachowanie bytów poprzez określenie ich reakcji na
zdarzenia. Zazwyczaj są tworzone w celu pokazania calego cyklu życia bytu
2
Diagram maszyny stanowej - wykorzystanie
Diagram typu: "cykl życia obiektu"
Urządzenie
kupno urządzenia
przez klienta
Urządzenie
sprzedane
Urządzenie
niesprzedane
numer: string
status: statusUrzadzenia
after (data
gwarancji)
klient zwrócił
urządzenie
3
Przykład
/pobierz perwszą
pozycję
[Nie wszystkie
pozycje
sprawdzone]
/pobierz następną
Sprawdzanie
[Wszystkie
pozycję są]
do/ sprawdź
pozycje
Wysyłka
do/ inicjuj
dostawę
[Nie wszystkie
pozycje sprawdzone
i niektórych brak]
Pozycja otrzymana
Dostarczone
[Wszystkie pozycje są]
Pozycja otrzymana
[Niektórych brak]
Oczekiwanie
Dostarczone
Przykład: diagram przedstawia stany, w ktorych może przebywać realizowane zamówienie i możliwe przejścia między tymi stanami.
Oczekiwanie: nie występuje żadna czynność, oba przejścia są oznaczone zdarzeniami.
Wysyłka: czynność, po zakonczeniu której zamówienie pozostaje w stanie "wysyłka" i pezechodzi w stan "Dostarczone" zawsze po
4
zdarzeniu (otrzymaniu sygnału) – Dostarczone
„Zamówienie” może znajdować się w tym samym czasie tylko w jednym ze stanów!
Stany złożone
Zamówienie jest w stanie „aktywne” a jednocześnie w jednym ze stanów: „sprawdzanie”, „oczekiwanie”..
Aktywne
[Nie wszystkie
pozycje
sprawdzone]
/pobierz następną
/pobierz perwszą
pozycję
Sprawdzanie
[Wszystkie
pozycję są]
do/ sprawdź
pozycje
Wysyłka
do/ inicjuj
dostawę
[Nie wszystkie
pozycje sprawdzone
i niektórych brak]
Po zycja otrzymana
[Niektórych brak]
Pozycja otrzymana
[Wszystkie pozycje
są]
Dostarczon
e
Oczekiwanie
Anulowane
Anulowane
Dostarczone
5
Diagram stanów ze stanami złożonymi
Realizacja
Kompletowanie
Fakturowanie
Dostarczenie
[Wszystkie
pozycję są]
Rozliczenie
Zamówienie równolegle jest kompletowane i dostarczane oraz fakturowane i rozliczane. Realizacja jest
agregatem dwóch stanów.
6
Diagram maszyny stanowej dla klasy Książka
W_Przygotowaniu
Do/ zarejestruj
Do_Wypożyczenia
Wypożyczenie/odn
otuj
W_konserwacji
Zwrot [O’K]/odnotuj
Zwrot [not O’K]/odnotuj
Wypożyczona
W_terminie
Entry/zaznacz date
Zwrot [nie nadaje
się]/ukaranie
Wycofana
© Dr inż. Ludmiła Rekuć
When (..
Po_terminie
Ponaglenie/wyslij
/ukaranie
Zagubiona
7
Podsumowanie
Cel diagramu maszyny stanowej:
Skontrolować „kompletność” odpowiedzialności klas
Odkryć operacje w wyniku analizy zdarzeń zewnętrznych
Uwaga!
Cykl życia klasy opisywanej diagramem stanów jest
wynikiem analizy wszystkich PU, w których klasa
uczestniczy.
© Dr inż. Ludmiła Rekuć
8
Pytania kontrolne:
Jak jest oznaczane przejście między stanami?
Czy każdy element oznaczenia jest opcjonalny?
Jak może być wyspecyfikowana akcja następująca zawsze przy
wejściu do danego stanu? ...przy wyjściu?
Czym się różni diagram stanów od diagramu czynności?
Czy między stanami może zachodzić związek uogólnienia?
Czy miedzy stanami może zachodzić związek agregacji?
Co jest powodem przejścia z jednego stanu w drugi?
Czym mogą się różnić stany tego samego bytu?
Diagram stanów pokazuje stany obiektów jednej klasy czy wielu klas?
9