Я предлагаю разделить ваш рабочий процесс на модули и представить активное состояние для каждого модуля.
Модуль является подмножеством вашего основного рабочего процесса. Например, его можно разделить на задачи, человека, роли, отдел и т. Д. Это значительно упростит представление рабочего процесса. Допустим, кто-то отвечает за ввод данных во многие критические моменты. Мы можем сгруппировать все его задачи в один модуль (или вспомогательный рабочий процесс), содержащий те же действия, входы, выходы и условия. Модули могут быть взаимозависимыми и связанными.
A состояние - это место, где мы находимся в модуле. В простых рабочих процессах есть только одна активная задача. В реальной жизни мы многопоточные! Так что, возможно, в одном модуле одновременно могут быть активны многие состояния. Состояние также включает активные входы, выходы и биты памяти.
input - это то, что требуется для выполнения действия для оценки логического условия. Это может быть документ, часть данных, сигнал ...
Вывод - это результат задачи: информация, документ, сигнал ...
Достаточно определений?
Затем просто преобразуйте ваш рабочий процесс в LADDER LOGIC и вы получите свои состояния!
См. Определение Ladder Logic в Википедии
Отображаются только активные состояния:
- Активные задачи для модуля
- Необходимые входы / подтвержденные входные данные
- Требуется вывод / реализован вывод
- Условия для продолжения
Кажется абстрактным?
Вот небольшой пример ...
Джанет вводит данные в систему. Она управляет зелеными задачами диаграммы. Мы ориентируемся только на ее работу, а не на другие задачи. Она знает, как сделать 16 задач в рабочем процессе. Мы ждем от нее следующих действий, и ее панель управления интранетом сообщает:
Приоритет 1 : Вы должны отправить заказ на поставку достаточного количества карандашей на следующий месяц на основании отчета о продажах.
- Задача: отправить заказ на покупку
- Входные данные: прогнозный отчет отдела маркетинга
- Выходы: ПО, поставщик, изделие, количество
- Условие для завершения: заказ отправлен и подтверждение заказа получено от поставщика
Приоритет 2 : Вы должны ввести в финансовую систему количество резинок, отклоненных при производстве
- Задача: Ввод данных
- Входные данные: количество брака от производства
- Выходы: количество бракованных
- Условие для завершения: данные введены и подтверждены
Мы выполняем много операций по устранению неполадок в автоматизированных производственных системах, имеющих сотни тысяч ступенек (рабочий процесс слишком сложен, чтобы представлять его в целом). Когда система заблокирована, мы смотрим на каждый модуль и определяем, какие входные данные отсутствуют для завершения задачи активации.
Удачи!