Жизненные циклы и воркфлоу
Обновлено: 23.10.2023
Жизненный цикл — это набор состояний сущности и правил переходов между ними. Состояние характеризует текущий этап работы с сущностью и определяет её поведение. Состояние носит информативный характер, это характеристика сущности.
Простой пример жизненного цикла счета:
В системе можно определять права на выполнение переходов между состояниями. Например, перевести счет из состояния «Оплачен» в «Отменен» может только финансовый контроллер.
Состояние дополняет ролевую модель и может запрещать редактирование сущности. Например, счет можно редактировать только в состоянии «Черновик».
Воркфлоу — это пошаговый список функций, который дополняет жизненный цикл и предназначен для организации рабочего процесса. Прежде всего — для постановки задач на выполнение каких-либо работ.
Жизненный цикл счета из примера выше может быть дополнен простым рабочим процессом:
Функции воркфлоу:
- Финансовый менеджер создает счёт и запускает воркфлоу. Счет переходит в состояние «Выпущен».
- Менеджер проекта получает задачу на согласование с клиентом и контроль оплаты.
- Если есть замечания, то Менеджер проекта выполняет задачу с результатом «Есть замечания». Далее Финансовый менеджер получает задачу на уточнение счёта, а потом задача снова создается для Менеджера проекта.
- Если Клиент согласовал и оплатил счет, то Менеджер проекта выполняет задачу с результатом «Оплачено» и счет переходит в состояние «Оплачен». Процесс завершается.
- Если Клиент отказал, то Менеджер проекта выполняет с результатом «Отказано» и счет переходит в состояние «Отменен». Процесс завершается.
Настройка жизненного цикла достаточна в том случае, если не требуется взаимодействие или нет конкретных исполнителей задач.
Пример:
Все операции со счетами проводят несколько сотрудников, самостоятельно переводят каждый обработанный Счет в состояние «Выпущен», а затем в состояние «Оплачен».
Настройка воркфлоу организует взаимодействие между сотрудниками в рамках процесса.
Пример:
В согласовании таймшитов принимают участие несколько исполнителей (Сотрудник, Менеджер проекта, Линейный руководитель и т. д.). Само согласование регламентировано сроками и маршрутами. Поэтому в данном случае необходима настройка воркфлоу.
Одновременное применение наборов прав и настроек воркфлоу — это рекомендуемая практика. Так бизнес-администраторы должны иметь права принудительного изменения состояний.
Пример:
После согласования таймшита может потребоваться его повторное открытие для внесения корректировок — это работа Бизнес-администратора, и ему необходимы права для перевода таймшита из состояния «Согласовано» в «Черновик».