Справочник элементов BPMN с примерами

Найдено 78

Потоки: Ассоциативная связь

Association Flow
Описание

Используется для соединения элементов и объектов данных

Плохой пример

Заменяет собой поток управления

Хороший пример

Показывает связь действия и объекта данных

Подпроцесс: Вызов повторно-используемого действия

Call Activity
Описание

Используется для вызова другого процесса, нарисованного не на этой диаграмме

Плохой пример

Использование как обычного действия

Хороший пример

Разделение большого процесса на логически очерченные блоки подпроцессов

Действия: Вызов сервиса (Задача-вызов сервиса)

Service Task
Описание

Используется для вызова информационной системы

Плохой пример

Символ не соответствует тексту

Хороший пример

Отправка и обработка запроса от сторонней информационной системы

Действия: Выполнение бизнес-правила (Задача-выполнение бизнес-правила)

Business Rule Task
Описание

Используется для принятия решения в процессе по бизнес-правилам

Плохой пример

Активное действие, не связанное с бизнес-правилами

Хороший пример

Расчёт стоимости тарифа по правилам

Действия: Выполнение сценария (Задача-выполнение сценария)

Script Task
Описание

Используется для для вызова "скрипта"

Плохой пример

Символ не соответствует тексту

Хороший пример

Выполнение небольшой автоматизационной задачи на скриптовом языке

Группа: Группа

Group
Описание

Используется для визуального объединения элементов

Плохой пример

Используется вместо специализированных символов

Хороший пример

Показывает ответственных за группу активностей

Дорожка: Дорожка

Lane
Описание

Используется для отображения участника процесса

Плохой пример

Любое использование дорожек

Хороший пример

Нет хорошего повода использовать дорожки. Используйте вместо них разноцветные элементы

Действия: Задача, выполняемая вручную

Manual Task
Описание

Используется для задачи, выполняемой в дали от "компьютера"

Плохой пример

Интеграционная задача, а сделана как ручная

Хороший пример

Задача вне компьютера

Действия: Задача, выполняемая пользователем

User Task
Описание

Используется для задачи, выполняемой за компьютером

Плохой пример

Символ не соответствует тексту

Хороший пример

Звонок через CRM с внесением результата

Прочее: Комментарий

Annotation
Описание

Используется для текстового комментария к элементах схемы

Плохой пример

Комментарий описывает то, что следовало бы отобразить как часть схемы

Хороший пример

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

Действия: Компенсирующее действие

Compensation Activity
Описание

Используется для действия компенсации

Плохой пример

Использование как обычного действия

Хороший пример

Специальное действие, которое "откатывает" другое дейсвтие, если случилось что-то плохое

Развилки: Комплексная развилка

Complex Gateway
Описание

Используется для сложных сценариев разветвления

Плохой пример

Развилка проверяет обычный выбор, можно заменить на развилку ИЛИ\ИЛИ

Хороший пример

Развилка проверяет, что 3 из 5 судей проголосовали

Компенсация: Конечное событие-инициатор компенсации

End compensation throw event
Описание

Используется для заверешния процесса (или уничтожения токена) и отправки компенсации

Плохой пример

null

Хороший пример

null

Отмена: Конечное событие-инициатор отмены

End cancel throw event
Описание

Используется для завершения текущего процесса (или уничтожения токена) и отправки отмены

Плохой пример

Использование где-либо, кроме транзакционных подпроцессов

Хороший пример

Используем в транзакционным процессом для старта обработки

Ошибка: Конечное событие-инициатор ошибки

End error throw event
Описание

Используется для отправки ошибки и завершения процесса (или уничтожения токена)

Плохой пример

Использование без прикрепленного события обработкикка

Хороший пример

Выкидывает наружу ошибку

Сигнал: Конечное событие-инициатор сигнала

End signal throw event
Описание

Используется для отправка сигнала и завершение текущего процесса (или уничтожение токена)

Плохой пример

Замена обычного завершающего события

Хороший пример

В результате процесса нужно отправлять сигнал в другие процессы

Сообщения: Конечное событие-инициатор сообщения

End message throw event
Описание

Используется для завершения текущего процесса (или уничтожения токена) и отправки сообщения другому участнику взаимодействия

Плохой пример

null

Хороший пример

null

Эскалация: Конечное событие-инициатор эскалации

End escalation throw event
Описание

Используется для завершения текущего процесса (или уничтожения токена) и отправки эскалации

Плохой пример

null

Хороший пример

null

Останов: Конечное событие-останов

End terminate throw event
Описание

Используется для уничтожения всех токенов в процессе и завершение процесса

Плохой пример

Замена обычного завершающего события

Хороший пример

Вы допускаете существование нескольких токенов, но при определённом действии надо прекратить процесс

Сигнал: Начальное непрерывающее событие-сигнал

Start non-interrupting signal event
Описание

Используется для старта подпроцесса обработчика по сигналу

Плохой пример

Получение сигнала из соседнего процесса и запуск своего процесса

Хороший пример

Хорошим примером является отказ от использования сигналов

Сообщения: Начальное непрерывающее событие-сообщение

Start non-interrupting message event
Описание

Используется для старта встроенного подпроцесса обработчика по сообщению и уничтожения родительского процесса

Плохой пример

null

Хороший пример

null

Таймер: Начальное непрерывающее событие-таймер

Start non-interrupting timer event
Описание

Используется для старта встроенного подпроцесса обработчика по таймеру

Плохой пример

null

Хороший пример

null

Условия: Начальное непрерывающее событие-условие

Start non-interrupting conditional event
Описание

Используется для старта встроенного подпроцесса

Плохой пример

null

Хороший пример

null

Эскалация: Начальное непрерывающее событие-эскалация

Start non-interrupting escalation event
Описание

Используется для старта встроенного подпроцесса по получению эскалации

Плохой пример

null

Хороший пример

null

Компенсация: Начальное прерывающее событие-компенсация

Start interrupting compensation event
Описание

Используется для старта подпроцесс обработчика эскалации и прерывании родительского процесса

Плохой пример

null

Хороший пример

В вашей схеме используется компенсация и вы

Ошибка: Начальное прерывающее событие-ошибка

Start interrupting error event
Описание

Используется для старта процесса из-за ошибки

Плохой пример

Используем вместо других символов, например таймера

Хороший пример

Запускаем подпроцесс обработки неисправляемой ошибки

Сигнал: Начальное прерывающее событие-сигнал

Start interrupting signal event
Описание

Используется для старта подпроцесса обработчика по сигналу и прерывания родительского процесса

Плохой пример

Получение сигнала из соседнего процесса и запуск своего процесса

Хороший пример

Хорошим примером является отказ от использования сигналов

Сообщения: Начальное прерывающее событие-сообщение

Start interrupting message event
Описание

Используется для старта встроенного подпроцесса обработчика по сообщению и уничтожения родительского процесса

Плохой пример

Использование с противоречивым описанием

Хороший пример

Обработка отмены заказа и немедленное прерывание основного процесса

Таймер: Начальное прерывающее событие-сообщение

Start interrupting timer event
Описание

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

Плохой пример

null

Хороший пример

null

Условия: Начальное прерывающее событие-условие

Start interrupting conditional event
Описание

Используется для старта встроенного подпроцесса и прерывания родительского процесаа

Плохой пример

null

Хороший пример

null

Эскалация: Начальное прерывающее событие-эскалация

Start interrupting escalation event
Описание

Используется для старта встроенного подпроцесса по получению эскалации и приерыванию родительского процесса

Плохой пример

null

Хороший пример

null

Сигнал: Начальное событие-сигнал

Start signal event
Описание

Используется для старта процесса по сигналу

Плохой пример

Получение сигнала из соседнего процесса и запуск своего процесса

Хороший пример

Хорошим примером является отказ от использования сигналов

Сообщения: Начальное событие-сообщение

Start message event
Описание

Используется для старта процесса при получении события от других участников взаимодейсвтия

Плохой пример

Использование как обычного старта или с противоречивым описанием

Хороший пример

Запуск независимого процесса, результаты которого не нужны в текущем

Таймер: Начальное событие-таймер

Start timer event
Описание

Используется для старта процесса по времени

Плохой пример

null

Хороший пример

null

Условия: Начальное событие-условие

Start conditional event
Описание

Используется для старта процесса по условию

Плохой пример

null

Хороший пример

null

Хранилище: Объект данных

Data Object
Описание

Используется для создания сущности(например документа) только в рамках процесса

Плохой пример

Создали заявку, но обращаемся к ней из разных процессов

Хороший пример

Создаем и работаем с заявкой в рамках процесса

Действия: Отправка сообщения (Задача-отправка сообщения)

Send Task
Описание

Используется для отправки сообщения в другой процесс

Плохой пример

Отправка уведомления клиенту

Хороший пример

Отправки сообщения соседнему участнику бизнес-процесса

Подпроцесс: Подпроцесс «по требованию»

Ad Hoc Subprocess
Описание

Используется для действия, которое выполняется по инициативе исполнителя одной из задач процесса

Плохой пример

Любое использование ad hoc процессов

Хороший пример

Нет хороших поводов использовать ad-hoc процессы

Подпроцесс: Подпроцесс по событию

Event Subprocess
Описание

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

Плохой пример

Попытка организовать переиспользование через встроенные подпроцессы обработчики

Хороший пример

Уведомления менеджеру о том, что процесс долго выполняется

Действия: Получение сообщения (Задача-получение сообщения)

Receive Task
Описание

Используется для получения сообщения от другого процесса

Плохой пример

Ожидание е-мейл или смс сообщения

Хороший пример

Получение сообщения из другого бизнес-процесса

Потоки: Поток сообщений

Message Flow
Описание

Используется для соединения сообщений и\или пулов, отображает отправку сообщений

Плохой пример

Участники одного процесса разнесены в разные пулы и между ними отправляются сообщения

Хороший пример

Используется для отправки сообщения между двумя участниками

Потоки: Поток управления

Sequence Flow
Описание

Используется для передачи работы между элементами процесса

Плохой пример

Отображение вариативности конкретного действия

Хороший пример

Передает ответственность за работу и информацию по процессу

Сигнал: Промежуточное прикрепленное непрерывающее событие-обработчик сигнала

Intermidiate attached non-interrputing signal catch event
Описание

Используется для ожидания получения сигнала, пока активно родительское действие

Плохой пример

Получение сигнала из соседнего процесса, предназначенного конкретному экземпляру

Хороший пример

Хорошим примером является отказ от использования сигналов

Сообщения: Промежуточное прикрепленное непрерывающее событие-обработчик сообщения

Intermidiate attached non-interrputing message catch event
Описание

Используется для точки ожидания сообщения, пока активно действие

Плохой пример

null

Хороший пример

null

Таймер: Промежуточное прикрепленное непрерывающее событие-обработчик таймера

Intermidiate non-interrupting attached timer catch event
Описание

Используется для старта ожидания таймера, пока родительское действие и активно

Плохой пример

null

Хороший пример

null

Условия: Промежуточное прикрепленное непрерывающее событие-обработчик условия

Intermidiate attached non-interrputing conditional catch event
Описание

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

Плохой пример

null

Хороший пример

null

Эскалация: Промежуточное прикрепленное непрерывающее событие-обработчик эскалации

Intermidiate attached non-interrupting escalation catch event
Описание

Используется для обработки эскалации

Плохой пример

null

Хороший пример

null

Компенсация: Промежуточное прикрепленное прерывающее событие-обработчик компенсации

Intermidiate attached interrupting compensation catch event
Описание

Используется для старта обработки компенсации и прерывании родительского элемента

Плохой пример

null

Хороший пример

null

Отмена: Промежуточное прикрепленное прерывающее событие-обработчик отмены

Intermidiate attached interrupting cancel catch event
Описание

Используется для обработки отмены от родительского действия

Плохой пример

Использование где-либо, кроме транзакционных подпроцессов

Хороший пример

Используем на транзакционном процессе для старта обработки

Таймер: Промежуточное прикрепленное прерывающее событие-обработчик таймера

Intermidiate interrupting attached timer catch event
Описание

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

Плохой пример

null

Хороший пример

null

Эскалация: Промежуточное прикрепленное прирывающее событие-обработчик эскалации

Intermidiate attached interrupting escalation catch event
Описание

Используется для обработки эскалации и завершения родительского действия

Плохой пример

null

Хороший пример

null

Ошибка: Промежуточное прикрепленное событие-обработчик ошибки

Intermidiate attached interrupting error catch event
Описание

Используется для обработки ошибки, полученной в рамках действия

Плохой пример

Использование без инициатора ошибки

Хороший пример

Обрабатываем полученную ошибку

Сигнал: Промежуточное прикрепленное событие-обработчик сигнала

Intermidiate attached signal catch event
Описание

Используется для ожидания получения сигнала, пока активно родительское действие, и его прерывания при получении сигнала

Плохой пример

Получение сигнала из соседнего процесса, предназначенного конкретному экземпляру

Хороший пример

Хорошим примером является отказ от использования сигналов

Сообщения: Промежуточное прикрепленное событие-обработчик сообщения

Intermidiate attached message catch event
Описание

Используется для точки ожидания сообщения, пока активно действие и его уничтожения по получению сообщения

Плохой пример

null

Хороший пример

null

Условия: Промежуточное прикрепленное событие-обработчик условия

Intermidiate attached conditional catch event
Описание

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

Плохой пример

null

Хороший пример

null

Компенсация: Промежуточное событие-инициатор компенсации

Intermidiate compensation throw event
Описание

Используется для отправки компенсации

Плохой пример

null

Хороший пример

null

Сигнал: Промежуточное событие-инициатор сигнала

Intermidiate signal throw event
Описание

Используется для отправка сигнала

Плохой пример

Действие, не связанное с сигналами

Хороший пример

Во время процесса нужно отправлять сигнал в другие процессы

Сообщения: Промежуточное событие-инициатор сообщения

Intermidiate message throw event
Описание

Используется для точки отправки сообщения другому участнику взаимодействия

Плохой пример

null

Хороший пример

null

Ссылка: Промежуточное событие-инициатор ссылки

Intermidiate link throw event
Описание

Используется для замены потока управления и отображения завершения замены

Плохой пример

Ставим ссылки

Хороший пример

Хорошим примером является отказ от использования ссылок

Эскалация: Промежуточное событие-инициатор эскалации

Intermidiate escalation throw event
Описание

Используется для запуска эскалации

Плохой пример

null

Хороший пример

null

Сигнал: Промежуточное событие-обработчик сигнала

Intermidiate signal catch event
Описание

Используется для ожидания получения сигнала

Плохой пример

Получения смс-ки от клиента

Хороший пример

Хорошим примером является отказ от использования сигналов

Сообщения: Промежуточное событие-обработчик сообщения

Intermidiate message catch event
Описание

Используется для отображения точки ожидания сообщения от другого участника взаимодействия

Плохой пример

null

Хороший пример

null

Ссылка: Промежуточное событие-обработчик ссылки

Intermidiate link catch event
Описание

Используется для замены потока управления и отображения начала замены

Плохой пример

Ставим ссылки

Хороший пример

Хорошим примером является отказ от использования ссылок

Таймер: Промежуточное событие-обработчик таймера

Intermidiate timer catch event
Описание

Используется для старта ожидания таймера в процессе

Плохой пример

null

Хороший пример

null

Условия: Промежуточное событие-обработчик условия

Intermidiate conditional catch event
Описание

Используется для ожидания выполнения условия

Плохой пример

null

Хороший пример

null

События: Простое конечное событие

None end event
Описание

Используется для завершения процесса (или уничтожения токена)

Плохой пример

Снабжение элемента смыслом, который может быть выражен другими символами

Хороший пример

Просто завершение процесса \ уничтожение токена

События: Простое начальное событие

None start event
Описание

Используется для старта процесса

Плохой пример

Используется простой старт, но текстом указано пояснение, которое можно выразить другим символом

Хороший пример

Не требуется указание специфики старта процесса

События: Простое промежуточное событие-обработчик

None catch event
Описание

Используется для отображения важного события в рамках процесса

Плохой пример

Ожидание события

Хороший пример

Переход сущности в определенный статус

Развилки: Развилка «и» (Параллельная развилка)

Parallel Gateway
Описание

Используется для разделения потока управления

Плохой пример

Зацикливание процесса

Хороший пример

Нужно И позвонить, И отправить смску

Развилки: Развилка «и/или»

Inclusive Gateway
Описание

Используется для выбора конкретных потоков управления

Плохой пример

Использования для более простой логики

Хороший пример

В конверт сложат и Заказ, и промоматериалы

Развилки: Развилка «или/или»

Exclusive Gateway
Описание

Используется для нужна для развилки по одному потоку управления

Плохой пример

Сложная неявная логика на ветках

Хороший пример

Показывает выбор из равнозначных вариантов

Развилки: Развилка по событиям

Event Gateway
Описание

Используется для развилки по потенциальным событиям

Плохой пример

Использование развилки для каких-то других целей

Хороший пример

Одновременно может произойти 3 равнозначных события, Ждём любого из них

Пул: Раскрытый пул

Pool
Описание

Используется для показа бизнес-процесса и\или участников взаимодействия

Плохой пример

Зачем-то пытаемся ставить задачи клиенту

Хороший пример

Раскрываем подробности того, как устроен один из наших бизнес-процессов

Пул: Скрытый пул (Пул-«черный ящик»)

Black Box Pool
Описание

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

Плохой пример

Зачем-то пытаемся ставить задачи клиенту

Хороший пример

Работаем с пулом, как с черным ящиком. Не знаем, как он себя поведёт

Петля: Стандартный цикл

Standard Loop
Описание

Используется для демонстрации выполнения действия до определённых условий

Плохой пример

Итерирование по набору сущностей

Хороший пример

Указание в тексте до каких пор выполняется действие

Подпроцесс: Транзакционный подпроцесс

Transactional Subprocess
Описание

Используется для части процесса, которая либо выполнится вместе, либо не будет выполнена вообще

Плохой пример

Неуместное использование транзакционного подпроцесса

Хороший пример

Если снять деньги не получилось, то и отель надо отменить

Прочее: Хранилище данных

Data Store
Описание

Используется для ит-систем и\или хранилищ данных в любой форме (папка, архив)

Плохой пример

Пытаемся заставить что-то сделать хранилище

Хороший пример

Получаем данные из хранилища

Петля: Цикл по объектам

Multi-Instance Loop
Описание

Используется для выполнения действия по набору объектов

Плохой пример

Без явного указания на множественность операций в названии

Хороший пример

Явное отображение множественности операции в названии