Как представить часть рабочего процесса BPMN, который автоматизирован системой?
Я документирую рабочий процесс пользователя, в котором часть потока автоматизируется системой (например, если объем заказа меньше 10, то следует немедленно одобрить заказ, а не отправлять его персоналу для проверки).
У меня есть плавательные дорожки, которые идут от людей к людям, но я не уверен, где я могу соответствовать этой системной задаче / пути решения. Какая лучшая практика? Возможно, глупая идея, но я склонен создать новую дорожку для плавания и назвать ее "системой".
Какие-нибудь мысли?
3 ответа
Системные задачи (сервисные задачи в BPMN) обычно выполняются от имени актера, поэтому, на мой взгляд, полезно расположить их на линии для этого актера.
Обычно такой дизайн также помогает сделать диаграмму легко читаемой, ограничивая количество переходов между полосами "пользователей" и "системными".
Подход к разделению системной задачи на отдельную полосу вполне возможен, поскольку спецификация BPMN 2.0 явно не определяет значение полос и говорит что-то вроде этого:
Дорожки используются для организации и классификации действий в пуле. Значение дорожек зависит от моделиста. BPMN не определяет использование дорожек. Полосы часто используются для таких вещей, как внутренние роли (например, менеджер, сотрудник), системы (например, корпоративное приложение), внутренний отдел (например, доставка, финансы) и т. Д.
Таким образом, вы совершенно свободны, чтобы заполнить их всем, что вы хотите.
Тем не менее, ваш случай достаточно очевиден и не требует такого разделения вообще. Согласно вашему описанию мы имеем типичную условную активность, которая может быть выражена через задачу обслуживания или подпроцесс. Это 2 разных подхода, и они имеют разную семантику.
В соответствии со спецификацией BPMN Service Task - это задача, которая использует какую-то службу, которая может быть веб-службой или автоматизированным приложением. Т.е. он обычно используется, когда разработчик модели не хочет декомпозировать какой-либо процесс и предназначен для передачи его внешнему инструменту или агенту.
Другая чашка чая - это подпроцесс, который обычно используется, когда вы хотите обернуть какой-то сложный фрагмент рабочего процесса для повторного использования или если этот фрагмент рабочего процесса можно разложить на подэлементы.
В вашем случае использования подпроцесс является предпочтительным. Это очень регулируемый, прозрачный и ремонтопригодный. Например, внутри подпроцесса вы можете использовать Business Rules Engine для вашего параметра условия (Количество заказа) и гибко настраивать его значение на лету. Более подробно вы можете узнать разницу этих подходов из этого блога.
Существует методика выражения системных задач / решений через отдельного участника / дорожку. Затем все системные задачи размещаются на системной дорожке.