Diagram stanów

Ze stanami, statusami mamy do czynienia w zamówieniach, wizytach, ubezpieczeniach, obiegu dokumentów, czyli w praktycznie każdym systemie. Bywa, że tworzymy listę stanów, ale już nie zawsze pamiętamy jednoznacznie określić wszystkie możliwości przejść między nimi. Wtedy zaczyna się wymyślanie – tworzenie ograniczeń lub nierealnych możliwości.

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

Od czego zacząć?

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.

Przykład? Wiadomość w skrzynce. Stany? Odebrana, Odczytana, Zarchiwizowana, W koszu.

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.
Przykłady:

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

Ku uwadze

Przygotowując diagramy stanów należy pamiętać, by nie tworzyć ich zbyt wiele i pilnować zgodności z zakresem rozwiązania (czy przejście jest akcją, która znajduje się w granicach rozwiązania?). Niektóre stany, które posiada obiekt, mogą nie mieć znaczenia w kontekście systemu i należy je pominąć.
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 ;).

Diagram stanów w 2026: Fundament bezpiecznego projektowania

W 2026 roku, gdy systemy stają się coraz bardziej złożone i autonomiczne, precyzyjne określenie stanów obiektu to nie luksus, a fundament bezpiecznego wdrożenia. Nawet przy wsparciu AI, to analityk pozostaje strażnikiem logiki biznesowej.

Diagram stanów jest w tym procesie bezlitosnym weryfikatorem – pozwala wyłapać luki w wymaganiach na etapie projektu, zanim zamienią się w kosztowne błędy na produkcji. Często okazuje się, że to właśnie nieprzewidziane przejścia między stanami są najczęstszą przyczyną awarii, które zmuszają zespół do łapania się za głowę. Zrozumienie tej dynamiki pozwala przejść od teoretycznego opisywania funkcji do budowania systemów, które są przewidywalne i odporne na błędy.

Jeśli chcesz opanować tę umiejętność i tworzyć modele, które staną się jasnym drogowskazem dla deweloperów, zapraszam Cię do uporządkowania tej wiedzy w praktyczny sposób.

W moim kursie UMLpodstawy modelowania systemów pokazuję, jak przekładać skomplikowaną logikę na czytelne diagramy, zachowując przy tym autentyczność i biznesowy konkret. To GPS, który przeprowadzi Cię przez meandry modelowania tak, abyś zawsze dokładnie wiedział/a, w jakim punkcie projektu się znajdujesz.

Źródła:

  1. International Institute of Business Analyst IIBA, A Guide to the Business Analysis Body of Knowledge® (BABOK® Guide), Version 2.0, 2009.
  2. Object Management Group: Unified Modeling Language version 2.4.1 [on-line]. Dostępne: http://www.omg.org/spec/UML/2.4.1/

Może zainteresować Cię również...

Biznes i nauka

Jak dwie połówki doskonałej jedności – biznes i nauka rozpaczliwie potrzebują się nawzajem, choć tak trudno im się odnaleźć i do siebie zbliżyć. Miałam ostatnio okazję być na międzynarodowej konferencji (http://2012.eurospi.net/) i porozmawiać z ludźmi

czytaj dalej

Kurs Specjalistów Analizy

Pierwszego września ruszył Kurs Specjalistów Analizy (poziom 2). Kontynuuje on Kurs Adeptów Analizy (poziom 1 – dla juniorów i aspirujących analityków). Znajdziesz w nim 30 lekcji z różnymi zagadnieniami na poziomie

czytaj dalej

Pozytywnie do problemu

Istnieje w językoznawstwie takie pojęcie jak semantyka i ona stanie się dziś tematem wpisu. Nie ta językoznawcza jednak, która zajmuje się stricte wykorzystaniem znaków do opisu przedmiotów i abstrakcyjnych idei w danym języku. Mam

czytaj dalej

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Cześć, jestem Hania.

Jako strategiczny analityk biznesowy na pograniczu zarządzania i IT zapewniam, że projekty i działania w organizacji przynoszą wartość biznesową. Dostarczam kompetencji analitycznych managerom i zarządom z Polski, Niemiec i Szwajcarii przy tworzeniu strategii oraz wdrażaniu jej w kilkuset osobowej międzynarodowej organizacji.

Szukasz ludzi, którzy naprawdę kumają Twoje analityczne rozkminy?

Właśnie dlatego powstało BA Circle. Miejsce, gdzie wiedza spotyka praktykę, a samotne przerabianie kursów zamienia się we wspólne wyzwania, wsparcie i wymianę doświadczeń.

To nie jest kolejny kurs online.
To nie jest kolejna zamknięta grupa na Facebooku.

To przestrzeń stworzona specjalnie dla analityków takich jak Ty.

Na tej platformie:

  • znajdziesz innych analityków,
  • podejmiesz wyzwania i sprawdzisz się,
  • dostaniesz informację zwrotną i zbudujesz nowe relacje.

I wszystko to w 1 miesiąc,  bez zobowiązań.

Koszyk
Przewijanie do góry