Diagram Stanów

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

DIAGRAM STANÓW

Diagram stanów (w notacji UML) pozwala na kompletne i jednoznaczne określenie stanów


obiektu oraz zdarzeń powodujących zmiany (przejścia między stanami). Dzięki temu możliwe
jest:
• odkrycie brakujących informacji,
• kontrola kompletności wymagań (związanych z danymi i zachowaniem),
• wyjaśnianie niejasności,
• identyfikacja konfliktów wymagań i ich rozstrzyganie.
Poza nazwą – diagram stanów (ang. State Diagram), znane są także inne: diagram maszyny
stanów (ang. State Machine Diagram), diagram przejść stanów (ang. State Transition Diagram)
czy diagram cyklu życia encji (ang. Entity Life Cycle Diagram).

W momencie wystąpienia zdarzenia uruchamiającego sprawdzany jest warunek dozoru.


Jeżeli warunek jest spełniony wówczas następuje przejście pomiędzy stanami podczas
którego wykonywana jest akcja; w przeciwnym przypadku nie dochodzi do przejścia
pomiędzy stanami.

Zdarzenia czasowe
after(okres_czasu) -
when(moment_czasu) - zdarzenie
zdarzenie następuje po
następuje w określonym momencie
upływie podanego okresu
np. when(termin_zapłaty), when(24:00)
np. after(14 dni), after(2 s.)
Stany ujęte są w sekwencje, w jakiej przyjmuje je obiekt w swoim cyklu życia (od utworzenia
do zniszczenia). W każdym stanie istnieje zamknięta lista zdarzeń, które powodują zmianę
(przejście) na określony inny stan.

Aby stworzyć prosty diagram stanów, wystarczy zidentyfikować i określić:


• Listę stanów,
• Możliwe przejścia między stanami.
Poza tym, na diagramie stanów można przedstawiać także:
• Warunki przejść między stanami (rozgałęzienia wyborów),
• Podstany (stany złożone z podstanów),
• Pseudostany (warunki, przerwania i wznowienia, stany historii),
• Sygnały wysyłane i odbierane,
• Listy stanów,
• Maszyny stanów.
Po szczegóły odsyłam na razie do specyfikacji UML [2].

Stany
Stan (ang. state) reprezentuje określone warunki, w jakich znajduje się obiekt lub status, jaki
może on posiadać. Stany wykluczają się nawzajem – obiekt może być w określonym czasie tylko
w jednym stanie. Aby je zidentyfikować, należy przeanalizować dziedzinę biznesową
(problemową). Ze stanami mogą być związane pewne charakterystyki (atrybuty), np. przejście
zamówienia w stan „złożone” powinno wymagać przypisania daty utworzenia.
Obiekt powinien posiadać:
• stan początkowy (np. utworzony, nowy),
• stany pośrednie (np. zatwierdzony, oczekujący),
• stan końcowy (np. usunięty, zakończony).

Przejścia między stanami


Przejście (ang. transition) reprezentuje zachowanie, które powoduje zmianę stanu obiektu
(z określonego stanu do jednego ze stanów możliwych dla niego do osiągnięcia). Przejścia mogą
być wyzwalane przez zakończone aktywności, zdarzenia czy inne wyzwalacze, ale tylko te,
na które odpowiada obiekt będąc w danym stanie.

• Nowe zamówienie nie może zostać odebrane, zanim nie będzie wysłane (wtedy
dopiero stan „odebrane” będzie osiągalny).
• Zgaszone światło nie reaguje na zdarzenie gaszenia, ale zapalone, już tak.
Przykład:
Przykłady stanów zamówionej pizzy w rzeczywistym procesie jej dostarczania:
zamówiona, upieczona, zapakowana, do dostarczenia, odebrana, schrupana. Jeśli
system nie ma wspierać zadań kucharza a jedynie same zamówienia i doręczenia –
znaczenie będą miały stany: zamówiona i odebrana, dla systemu nie będą miały
znaczenia stany: upieczona, zapakowana, do dostarczenia i schrupana (choć dla nas,
w świecie rzeczywistym, mogą pozostawać bardzo ważne ;).
Ćwiczenie
Proszę wykonać diagram stanów dla systemu wspomagającego pracę antykwariatu.

Książki przyniesione przez potencjalnego sprzedającego są zostawiane do oceny przez


wyznaczonego antykwariusza. O ile nie zostają odrzucone, ustalana jest pierwsza cena. Jeżeli
przez 90 dni książka nie zostanie sprzedana, jest automatycznie przeceniana o 20%. Jeżeli mimo
to nie uda jej się sprzedać przez kolejne 90 dni, wówczas jest wycofywana z półek i czeka
na odbiór przez właściciela na zapleczu. Właściciel może sam wycofać książkę w dowolnym
momencie. Jeżeli uda się sprzedać książkę to (już poprzedni) właściciel jest powiadamiany
i może odebrać pieniądze pomniejszone o prowizję antykwariatu.

Podać diagram stanów dla obiektów klasy Książka.

Zadanie
Proszę wykonać diagram stanów dla systemu wspomagającego pracę biblioteki.

Każdy zakupiony egzemplarz książki przed udostępnieniem dla wypożyczających jest


opracowywany (numer, zabezpieczenia, oznaczenia, ...). Okres wypożyczenie można przedłużać
tylko przed upływem terminu wypożyczenia, przy czym łączny czas trwania nie może być
dłuższy niż rok. Niezwrócenie książki w terminie powoduje konieczność zapłacenia kary za każdy
dzień przetrzymania egzemplarza, kara jest naliczana w momencie zwrócenia książki. Jeżeli
czytelnik zagubi książkę wówczas w momencie zgłoszenia tego faktu zostaje mu naliczona
opłata karna, której opłacenie kończy żywot egzemplarza w bibliotece. Zagubione książki
wypadają z puli udostępnianej do wypożyczeń. Każdorazowo podczas przekazywania książki
do wypożyczeń bibliotekarz sprawdza jej stan i, jeżeli wykryje uszkodzenia, odkłada egzemplarz
do książek uszkodzonych. Jeżeli naprawienie egzemplarza przez introligatora jest niemożliwe
lub nieuzasadnione wówczas egzemplarz jest wycofywany.

Podać diagram stanów dla obiektów klasy Egzemplarz.

You might also like