MASZYNA STANÓW

WPROWADZENIE

Diagram maszyny stanów (zwany także maszyną stanowa albo diagramem stanów) pokazuje w jakie stany przyjmuje dany obiekt pod wpływem zdarzeń w systemie. Na diagramie są zobrazowane wszystkie możliwe stany wraz z opisem warunków, które muszą zaistnieć, aby przejście pomiędzy stanami zostało zrealizowane. 

 Diagram stanów jest także używany by przedstawić cały cykl życia danego obiektu, aby deweloperzy i biznesowi interesariusze mogli lepiej zrozumieć działanie sytemu.

Maszyna stanowa pozwala przedstawiać zmiany stanów obiektu danych biznesowych wraz ze zdarzeniami powodującymi przejście pomiędzy stanami. Diagram ten zatem pokazuje w ujęciu dynamicznym możliwe wartości (stany) jakie obiekt może przyjąć w zależności od reguł  biznesowych ograniczających otoczenie biznesowe organizacji. Konieczne jest także zaznaczenie, że kolejny stan danego obiektu zależy nie tylko od zdarzenia warunkującego daną tranzycję (input), ale także od poprzednich wartości stanów obiektu. —> chodzi o wejście w konkretną ścieżkę.

Aby zamodelować zachowanie obiektu w systemie w ramach jego cyklu życia potrzebujemy przejść następujące kroki:

  1. Określenie stanów: stan jest rozumiany jako status jaki obiekt może przyjąć w trakcie swojego życia. Minimalnie identyfikuje się dwa stany – początek i koniec, ale z reguły są jeszcze stany pośrednie.
  2. Określenie tranzycji: tranzycja jest to dozwolone przejście pomiędzy jednym stanem a drugim.
  3. Zdefiniowanie zdarzeń oraz warunków brzegowych: konieczne jest pokazanie jakie zdarzenia wyzwalają przejście pomiędzy stanami oraz jakie ograniczenia wynikające z reguł biznesowych powodują, że przejścia mogą być zrealizowane.

 

Działanie diagramu maszyny stanów zaczyna się od pseudostanu początkowego, zaś kończy w chwili osiągnięcia stanu końcowego albo stanu, z którego nie wychodzą już żadne przejścia.

Przejście początkowe (ang. initial transition) jest to przejście wychodzące z pseudostanu początkowego. Dla danego pseudostanu początkowego może być określone co najwyżej jedno takie przejście, które nie może mieć zdefiniowanych warunków. Stan (ang. state) opisuje sytuację, jaka występuje w trakcie cyklu życia obiektu, w trakcie której spełniony jest określony warunek (np. wniosek jest zarejestrowany). Warunek ten zwykle nie jest jawnie wyspecyfikowany, najczęściej reprezentuje go nazwa. W praktyce stan obiektu określa się przez zbiór wartości jego atrybutów oraz związków z innymi obiektami, z jakimi w danym momencie on występuje. Dla przykładowego wniosku można określić następujące stany: Zarejestrowany, Odrzucony, Zaakceptowany, Oddalony.

Przejścia między stanami danego obiektu są inicjowane wystąpieniem określonego zdarzenia (a precyzyjniej, wyzwalaczem skojarzonym z określonym zdarzeniem). UML definiuje następujące rodzajów zdarzeń:

  • warunkowe (ang. change event),
  • czasowe (ang. time event),
  • odbioru komunikatu (ang. message event), spośród których wyróżniono dodatkowo:
    • odbiór sygnału (ang. signal event),
    • wywołanie operacji (ang. call event),
    • odbiór dowolnego komunikatu (ang. any receive event).

Dokładniejsze omówienie elementów diagramu maszyny stanów można znaleźć we wpisie Maszyny stanów modelu informacyjnego systemu.

Powyższy diagram prezentuje przykład maszyny stanowej z różnymi typami stanów oraz wyzwalaczy. Każdy obiekt klasy Klasa, po utworzeniu przejdzie do stanu Stan 1. Następnie, w zależności od tego, które ze zdarzeń wystąpi jako pierwsze, przejdzie, albo do stanu Stan 3, albo do stanu złożonego Stan Z, a konkretniej, do podstawnu Stan 2. Warto zwrócić uwagę, iż wyzwalacze powodujące te przejścia są różnych typów.  Obiekt ze stanu 2 do stanu 3 jest przeprowadzany wskutek wystąpienia zdarzenia Akcja 1. W metodyce OMNIS jest to jedna z konwencji, mająca na celu wskazanie, iż wyzwalaczem przejścia jest fakt wywołania akcji na diagramie aktywności. Więcej informacji o tej konwencji można znaleźć we wpisie Konwencja [call action]. Warto przy tej okazji zwrócić uwagę na fakt stymulowania dbałości o spójność pomiędzy analizą odpowiedzialności a maszynami stanów, co jest bardzo porządane przy tworzeniu spójnego opisu systemu.

Rola techniki w metodyce OMNIS

Maszyna stanów jest narzędziem służącym do opisywania istotnych z punktu widzenia systemu etapów cyklu życia obiektów danej klasy. Dodatkowo, analiza systemu poprzez  stany pozwala na identyfikację brakujących wymagań.

Wykorzystywane języki i narzędzia

Wykorzystywanym w OMNIS środkiem wyrazu jest diagram (maszyny) stanów (UML).

UŻYTECZNE TECHNIKI

as-maszyna-stanow

utworzone przez | kwi 27, 2022

as-maszyna-stanow

utworzone przez | kwi 27, 2022

Tworzenie jednoznacznej definicji

We wpisie zaprezentowano jeden z najskuteczniejszych sposobów tworzenia jednoznacznej definicji (znaczenia) pojęcia.Informacje ogólneCel Model pojęć to jeden z filarów dobrego modelu analitycznego, którego celem jest stworzenie jednoznacznego aparatu pojęciowego,...

Brainwriting

Wpis omawia jedną z technik warsztatowych służącą do generowania idei i pomysłów -  Brainwriting.Brainwriting jest jednym z wariantów popularnego brainstormingu - techniką, która w relatywnie krótkim czasie pozwala na wygenerowanie znacznej liczby pomysłów lub...

Effort Benefit Diagram

Wpis omawia jedną z bardziej popularnych technik warsztatowych oceny atrakcyjności pomysłu -  Effort Benefit Analysis.Effort Benefit Diagram jest prostą techniką warsztatową pozwalającą ocenić zasadność realizacji określonego działania. Ocena dokonywana jest w dwóch...

Force Field Analysis

Wpis omawia jedną z najbardziej popularnych technik podejmowania decyzji odnośnie planowanej do wdrożenia zmiany - Force Field Analysis.Technika Force Field Analysis jest szeroko stosowanym modelem zarządzania zmianą; działa jako narzędzie diagnostyczne i decyzyjne...