Статусная модель — это формальное описание состояний, в которых может находиться объект (заявка, документ, процесс интеграции), и правил перехода между ними. Для аналитика статусная модель — не просто перечень значений поля «Статус», а рабочий инструмент: она задаёт, какие действия допустимы в каждом состоянии, кто и как реагирует на смену статуса и какие события запускаются автоматически. Ниже разобраны два практических среза: статусы процесса интеграции с реакцией на каждый из них и жизненный цикл документа с уведомлениями при смене статуса.

1. Суть темы

Статусная модель описывает жизненный цикл объекта через конечный набор состояний и допустимых переходов. Каждое состояние отвечает на три вопроса: что произошло, что можно делать дальше и какие автоматические действия запускаются. Такой подход напрямую связан с 03.02.04 Диаграмма состояний (State Machine Diagram): диаграмма состояний визуализирует ту же логику — состояния, переходы и события-триггеры.

Ключевые понятия, которые нужно различать:

  • Состояние (статус) — текущее положение объекта в жизненном цикле.
  • Событие — то, что вызывает переход (смена статуса, действие пользователя, срабатывание таймера).
  • Действие — реакция системы или человека на новое состояние (уведомление, эскалация, повторный запуск).

Смена статуса — это типичный пример события в процессе, а реакция на него — поток работ. Поэтому статусную модель удобно читать вместе с материалом 06.02.01 Потоки, шлюзы, события.

2. Статусы процесса интеграции

Процесс интеграции запускается с экранной формы кнопкой «Инициализация процесса интеграции». В ходе выполнения поле Статус обновляется, отражая текущее состояние. Поле принимает пять значений:

ЗначениеОписаниеДействие аналитика / пользователя
COMPLETEИнтеграция завершена успешно, все задачи выполненыПриступать к дальнейшим действиям
FAILИнтеграция завершилась неудачно из-за ошибокИзучить сообщения об ошибках и логи, устранить причину, повторить запуск
WAITПроцесс приостановлен и ждёт условий или действийЕсли статус держится долго — проверить причины задержки (зависимость от внешних систем)
REPAIRТребуются исправления из-за ошибок или неполадокУстранить ошибки перед продолжением или завершением
NO_INFOДанные о состоянии недоступны или ещё не обновленыПроверить доступность данных, обновить информацию, при необходимости обратиться к администратору

Порядок работы с формой: подготовка (настройки, права доступа) → открытие формы → инициализация → отслеживание статуса → документирование итогов → повторный запуск при необходимости. По завершении процесса независимо от результата фиксируются итоги, а при ошибках составляется отчёт с описанием проблем и предпринятых действий.

3. Жизненный цикл документа

Второй пример — статусная модель документа. Полный перечень статусов охватывает путь от создания до архивирования или аннулирования:

  1. Старт — документ создан.
  2. Регистрация — документ проходит регистрацию.
  3. На согласовании — направлен ответственным лицам.
  4. Согласован — согласование завершено успешно.
  5. Отклонен — документ отклонён по результатам рассмотрения.
  6. На доработке — возвращён на доработку.
  7. Утвержден — утверждён уполномоченным лицом.
  8. Подписан — документ подписан.
  9. В исполнении — по документу ведётся исполнение.
  10. Исполнен — исполнение завершено.
  11. Архивирован — документ перемещён в архив.
  12. Аннулирован — документ признан недействительным.

Для англоязычных интерфейсов и интеграций предусмотрен перевод статусов:

РусскийEnglish
СтартStart
РегистрацияRegistration
На согласованииUnder Approval
СогласованApproved
ОтклоненRejected
На доработкеReturned for revision
УтвержденConfirmed
ПодписанSigned
В исполненииIn Execution
ИсполненExecuted
АрхивированArchived
АннулированCanceled

Обратите внимание: статуса «устарел», о котором идёт речь в сценарии уведомлений ниже, в этом перечне нет. Соотношение статуса «устарел» с перечисленными двенадцатью требует уточнения — это открытый вопрос модели.

4. Уведомления при смене статуса

Отдельный сценарий — автоматическое информирование пользователей при переходе документа в статус «устарел». Цель — своевременно напоминать об обновлении или архивировании документа, чтобы в рабочих процессах не использовалась неактуальная информация.

Уведомления отправляются дважды:

  1. Немедленное — сразу после смены статуса на «устарел».
  2. Отложенное — повторно через три месяца, как напоминание.

Архитектурно решение состоит из трёх частей:

  • Триггер на событие смены статуса — реализуется на уровне СУБД (триггеры) либо бизнес-логики приложения (контроллер или сервис, отвечающий за изменение статуса).
  • Система уведомлений — отдельный модуль или сервис, отправляющий email, push-уведомления или сообщения.
  • Планировщик задач — механизм для отложенной отправки второго уведомления.

Для доставки сообщений может применяться система обмена сообщениями (например, Kafka), а для отложенной отправки — планировщик задач (например, Celery или встроенные средства языка).

5. Как читать статусную модель аналитику

Чтобы статусная модель была рабочей, а не декоративной, проверяйте её по чек-листу:

ВопросЗачем
Все ли состояния достижимы и имеют выход?Исключить «тупиковые» статусы
Какое событие вызывает каждый переход?Связать модель с потоками и событиями
Какие действия запускаются автоматически?Уведомления, эскалации, повторные запуски
Кто реагирует на «проблемные» статусы (FAIL, REPAIR, NO_INFO)?Задать регламент обработки ошибок
Согласованы ли названия статусов между системами и языками?Избежать расхождений в интеграциях

Статусная модель становится основой для диаграммы состояний, спецификации API и регламентов поддержки. Именно на этом стыке анализ требований превращается в проектирование поведения системы.