Diagram stanów

Diagram stanów
Polecane artykuły


Diagram stanów inaczej zwany również jako State Machine Diagram jest graficzną prezentacją maszyny stanów i jednym z 14 typów diagramów UML dla oprogramowań i systemów. Diagramy stanów przedstawiają model behawioralny składający się ze stanów, przejść stanu i działań. Diagramy stanu UML oparte są na koncepcji diagramów stanów autorstwa Davida Harela i przedstawiają dozwolone stany i przejścia, a także zdarzenia, które wpływają na te przejścia.

Zastosowanie

Diagramy stanów używamy do opisywania zachowania obiektu obejmującego kilka przypadków użycia systemu, ale nie nadają się do opisu zachowań obejmujących współdziałanie wielu obiektów.

Stosując diagramy stanów, nie należy rysować ich dla każdego systemu. Mimo że jest to czasami stosowane, to prawie zawsze jest stratą czasu. Diagramy stanów stosuje się tylko kiedy występuje interesujące zachowanie, i tam, gdzie narysowanie diagramu stanów pomoże zrozumieć, jak zachodzi dany proces (K.Sobolewski 2018, s. 3).

Jak sporządzic diagram

Diagram stanów jest grafem złożonym ze:

  • stanu początkowego (initial state) - to zainicjowanie maszyny stanowej w momencie jego utworzenia. Każdy diagram stanu zawiera tylko jeden taki stan. Do stanu początkowego nie dochodzą żadne przejścia.

\[\bigodot\]

  • stanów (state) - jest etapem cyklu życia obiektu. Obiekt przebywający w danym stanie spełnia określony warunek. Występują w formie prostokąta o zaokrąglonych rogach.

\[\subset\supset\]

  • przejść (transition) - korelacja pomiędzy dwoma stanami wskazująca, że obiekt znajdujący się w pierwszym stanie wykona pewne akcje i przejdzie do drugiego stanu. Występują w formie strzałek.

\[\longrightarrow\]

  • decyzji (decision) - ukazuje wybór między dwiema (lub więcej) wartościami logicznymi wydarzenia. Zwiększa czytelność diagramu, ale nie zawsze występuje w diagramie stanów (R. Plebaniak 2013, s. 14).

\[\nwarrow\nearrow \]

  • Stanu końcowego (Final state) – może być ich kilka. Stan końcowy uzyskuje się z zainicjowanych zdarzeń i kończy proces. Nie można przejść do innych stanów (M. Fleck 2011, s. 1-5).

\[\bigotimes\]

Rodzaje zdarzeń

W diagramie stanów występują również zdarzenia. Zdarzenia są opisane jako te, które pojawiają się w wewnętrznym przedziale przejściowym stanu lub na przejściu między stanami. Zdarzenie jest chwilą, która może być znacząca na zachowanie obiektów w dalszym procesie (R.Klimek, 2014, s. 4-12). Występują cztery typy zdarzeń:

  • Zdarzenie wywołania - polegające na wywołaniu operacji.
  • Zdarzenie sygnałowe – reprezentuje nazwany obiekt, asynchronicznie wysyłany przez jeden obiekt i odbierany przez drugi.
  • Zdarzenie zmiany - występuje, gdy określony warunek zostanie. spełniony.
  • Zdarzenie czasowe - występuje po upływie określonego czasu.

Diagram stanów a schemat blokowy

Tak naprawdę istnieje wiele metod, modeli oraz narzędzi służących do opisywania przebiegu procesów lub systemów sterowania. Wiele osób myli diagram stanów od schematu blokowego (flowcharts). Chociaż opisują te same problemy, to nie to samo (J.Castro 2002, s. 41-45).

  • Przejścia procesu są znacznie wyraźniejsze w przypadku diagramu procesów, ponieważ nie są zobowiązane do sprawdzania tego samego.
  • Schematy blokowe nie mają z natury koncepcji oczekiwania na coś, co się wydarzy. Inaczej działa diagram stanów, ponieważ przejście nie nastąpi, dopóki stan nie zostanie zakończony.
  • Diagram stanów lepiej opisują działanie mechanizmu natomiast schematy blokowe lepiej opisują rozgałęzioną sekwencję działań.
  • Diagram stanów w sposób naturalny hermetyzują grupy działań, a schematy blokowe nie.

Bibliografia

Autor: Krzysztof Dwornik