UML state machine на собеседовании системного аналитика
Карьерник — 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.
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).
Связанные темы
- UML Use Case для SA
- UML Activity для SA
- UML Sequence для SA
- Domain events для SA
- Подготовка к собесу системного аналитика
FAQ
Это официальная информация?
Нет. Статья основана на спецификации UML 2.5 (OMG).
Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.