Definicja
Diagram stanów (UML State Machine Diagram) pokazuje wszystkie stany, w jakich może znajdować się obiekt, oraz zdarzenia powodujące przejścia między stanami.
Przykład: Cykl życia zamówienia
[Start] → (Nowe) --opłacone--> (Opłacone) --wysłane--> (Wysłane) --dostarczone--> (Dostarczone) → [Koniec]
| |
anulowane zwrócone
↓ ↓
(Anulowane) (Zwrócone)
Kiedy stosować?
- Obiekt ma wiele stanów z ważnymi regułami przejść (zamówienie, zgłoszenie, faktura)
- Potrzebujesz zdefiniować dozwolone przejścia (z "Nowe" można do "Opłacone" lub "Anulowane", ale nie do "Dostarczone")
- Wymagania mówią "po opłaceniu zamówienie zmienia status na..." → diagram stanów
Dlaczego to ważne?
Diagram stanów: - zapobiega nieprawidłowym przejściom (np. anulowanie już dostarczonego zamówienia), - jest kontraktem między BA a developerem (state machine w kodzie), - ułatwia testowanie — każde przejście = scenariusz testowy.