Ответ вслух Middle UML обновлено

Диаграмма состояний и статусная модель

Вопрос

Зачем аналитику диаграмма состояний? Что на ней обязательно показать?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Диаграмма состояний описывает жизнь объекта: заявки, заказа, договора. На ней показываю начальное состояние, все промежуточные и конечные, и переходы в формате событие, условие, действие.

Что должно прозвучать в ответе

  • Жизненный цикл объекта: все состояния, начальное и конечные

  • Переходы: событие, условие, действие

  • Запрещённые переходы видны как отсутствие стрелок

  • Кто инициирует переход: пользователь, система, внешняя система

  • Из диаграммы получаются проверки в коде и тест-кейсы

Что могут спросить следом

  • Как быть, если статусов больше 15?
  • Как статусная модель связана с API?

Разбор

Диаграмма состояний описывает жизнь объекта: заявки, заказа, договора. На ней показываю начальное состояние, все промежуточные и конечные, и переходы в формате событие, условие, действие. Например, «отмена [до сборки] / вернуть деньги». Важно, чего нет на схеме: если из «Доставлен» нет стрелки в «Новый», такой переход запрещён, и это требование. Подписываю, кто инициирует переход. Разработчики по схеме делают проверку допустимых переходов, API возвращает 409 на недопустимый, тестировщики покрывают каждую стрелку и несколько запрещённых. Если статусов много, выделяю подсостояния или отдельные модели для разных аспектов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.