UML state machine на собеседовании системного аналитика

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем state machine

Описывает behavior объекта во времени. Useful для entities с complex lifecycle (Order, User, Application).

Элементы

State. Где объект находится. Прямоугольник со скруглёнными углами.

Transition. Стрелка между states. Triggered event. Может иметь guard / action.

[Initial] → [Created]
[Created] --on PAY-→ [Paid]
[Created] --on CANCEL [if not_shipped]-→ [Cancelled]
[Paid] → [Shipped] → [Delivered]
[Paid] --REFUND [if grace_period]-→ [Refunded]

Event. Что triggers transition.

Guard. Condition ([grace_period]).

Action. Что happens при transition (/log, /notify).

Pseudo-states

Initial. Закрашенный круг. Старт.

Final. Bullseye. Конец.

Choice. Diamond — branching.

Junction. Combine multiple paths.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Hierarchical states

Composite state — contains substates.

[Order]:
  [Active]:
    [Created] / [Paid] / [Shipped]
  [Closed]:
    [Delivered] / [Cancelled] / [Refunded]

Transition from Active может go в Closed regardless substate.

Уменьшает complexity diagrams.

Применения

Order lifecycle. E-commerce — pending, paid, shipped, delivered, etc.

Document workflow. Draft, review, approved, published, archived.

Application states. Onboarding, active, suspended, churned.

Network connection. Connecting, connected, idle, closed.

Game character. Idle, walking, running, jumping, attacking.

В коде — implemented как state machine pattern или libraries (XState, Spring State Machine).

Связанные темы

FAQ

Это официальная информация?

Нет. Статья основана на спецификации UML 2.5 (OMG).


Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.