Найти в Дзене
REUNICO

Рекомендации по моделированию BPMN диаграмм на примере Camunda BPM

Данная статья основана на рекомендациях и лучших практиках от Camunda, и конечно, стандарте BPMN, оригинал статьи взят тут: naming-bpmn-elements/#naming-activities В первую очередь, именовать BPMN элементы стоит исходя из ваших бизнес-целей. Для activity необходимо использовать глагол, чтобы описать действие. Для событий (events) необходимо описать, в каком бизнес-состоянии находится процесс или экземпляр процесса в данный момент. Для шлюзов (data-based gateways) задайте вопрос и опишите условия, на основании которых будет выбираться дальнейший путь для исполнения. Для именования действий рекомендуется использовать глагол + существительное. Используя их, вы последовательно описываете ваши действия над объектом. Для подпроцессов (call activity) используйте объект (существительное) и глагол, тем самым вы описываете, что делаете с объектом. Стоит избегать очень широких и общих глаголов, таких как, например, «Обработайте счет» или «Обработайте заказ». Старайтесь более конкретно описывать,
Оглавление

Данная статья основана на рекомендациях и лучших практиках от Camunda, и конечно, стандарте BPMN, оригинал статьи взят тут: naming-bpmn-elements/#naming-activities

BPM Guru
BPM Guru

В первую очередь, именовать BPMN элементы стоит исходя из ваших бизнес-целей. Для activity необходимо использовать глагол, чтобы описать действие. Для событий (events) необходимо описать, в каком бизнес-состоянии находится процесс или экземпляр процесса в данный момент. Для шлюзов (data-based gateways) задайте вопрос и опишите условия, на основании которых будет выбираться дальнейший путь для исполнения.

Именование действий (Activity)

Для именования действий рекомендуется использовать глагол + существительное. Используя их, вы последовательно описываете ваши действия над объектом.

Пример именования действий
Пример именования действий

Для подпроцессов (call activity) используйте объект (существительное) и глагол, тем самым вы описываете, что делаете с объектом.

Пример именования подпроцессов
Пример именования подпроцессов

Стоит избегать очень широких и общих глаголов, таких как, например, «Обработайте счет» или «Обработайте заказ». Старайтесь более конкретно описывать, что вы делаете с точки зрения бизнеса.

Именование событий (Events)

Везде, где это возможно, именуйте события, используя объект и глагол, отражающий бизнес-состояние. Всегда старайтесь описать, в каком состоянии находится объект, когда экземпляр процесса должен покинуть событие.

Пример именования событий
Пример именования событий

Этот подход не всегда является идеальным, всегда старайтесь точно описать бизнес-семантику, когда экземпляр процесса собирается покинуть событие. Такие варианты тоже можно использовать:

Варианты именования событий
Варианты именования событий

Описывайте точно состояние, которого достигло ваше событие (event). Как правило, это будет успешное или не успешное событие, с точки зрения бизнеса:

BPMN диаграмма с двумя вариантами end event
BPMN диаграмма с двумя вариантами end event

1. “Счет оплачен” лучше всего квалифицирует “успешный” бизнес кейс, чем, например, “счет на оплате”.

2. В принципе, “не успешное состояние можно было бы именовать “счет обработан”, но совершенно точно, меньше шансов ошибиться будет, если мы назовем такое событие (end event) “счет отклонен”.

Избегайте таких широких и общих выражений как, например, “счет обработан” или “заказ обработан”

Именование шлюзов (Gateways)

Именуйте эксклюзивный шлюз (exclusive gateway) со знаком вопроса. Назовите исходящие последовательности потоков, используя условие, при котором выполняется каждый из них. Постарайтесь описать условия в виде ответов на вопрос, заданный на этапе шлюза.

Именование шлюзов
Именование шлюзов

Такой подход не всегда корректно работает для инклюзивных шлюзов (inclusive gateways), так как условиях исходящего потока могут быть полностью независимы друг от друга. Используйте вопрос, когда это возможно.

Если такой вариант не подходит, вопрос можно вообще не использовать, важно описать условия выполнения исходящих путей.

Альтернативный вариант
Альтернативный вариант

Избегайте именования самих шлюзов, в том числе параллельных и всех остальных, объединяющих потоки.

Именование процессов

Пулу должно быть присвоено то же имя, что и процессу, который содержится в пуле, с использованием объекта и именованного глагола.

Именование процессов
Именование процессов

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

Если в пуле несколько дорожек, назовите каждую полосу с помощью организационной роли или технической системы, которая отвечает за выполнение действий, показанных на дорожке.

Именование процессов, вариант 3.
Именование процессов, вариант 3.

Назовите диаграмму (файл) тем же именем, что и процесс, показанный на диаграмме. В случае диаграммы c участием различных подразделений (команд) используйте имя, отражающее весь бизнес-процесс, показанный на этой диаграмме.

Наименования с заглавной буквы

Как и в обычных предложениях, все наименования в BPMN диаграмме должны начинаться с заглавной буквы.

Пример именования элементов BPMN
Пример именования элементов BPMN

Технические термины в наименованиях

Если это возможно, рекомендуется избегать техническую терминологию, которая может быть не понятна или ввести в заблуждение.

Аббревиатуры

Рекомендуется избегать использование аббревиатур в наименованиях элементов BPMN, они не всегда и не всем могут быть понятны.

Советуем ознакомиться с данной статьей: Все, что вы хотели знать о Camunda, но боялись спросить

Есть у вас есть вопросы или вы хотели бы обсудить ваш проект, свяжитесь с нами.