Надстройка
VBA-EXCEL
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Подробнее...
Заказать макрос
Разрабатываем макросы на заказ. Любой сложности. Быстро и качественно.
Подробнее...
Главная » Описание и регламентация » Описание нотации BPMN

Описание нотации BPMN

BPMN - нотация описания бизнес-процессов нижнего уровня (по ролям)

Назначение нотации BPMN

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

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

нотация BPMN пример

Система обозначений нотации BPMN

BPMN использует в качестве обозначений такие графические элементы, как:

  • элементы потока (события, процессы и шлюзы);
  • данные (объекты данных и базы данных);
  • соединяющие элементы (потоки управления, потоки сообщений и ассоциации);
  • зоны ответственности (пулы и дорожки);
  • артефакты (сноски).

Процесс / задача

Процесс, задача – это определенное действие или набор действий, совершаемых для получения какого-то результата. Блок процесса или задачи представляет собой прямоугольник. Внутри блока указывается наименование процесса или задачи.

BPMN процесс

Подпроцесс – это процесс который описан более подробно, то есть декомпозирован, на отдельной своей диаграмме (модели).

BPMN подпроцесс

 

В системе обозначений нотации BPMN есть еще разновидности процессов, такие как «цикл», «компенсация» и т.д. Мы не будем на них останавливаться, так как при более глубоком знакомстве с нотацией BPMN изучение этих блоков не представляет сложности, они интуитивно понятны.

Выделим, пожалуй, наиболее интересный блок – это блок ad-hoc процессов, потому что четкая, безальтернативная регламентация деятельности – это вопрос выбора модели компании, бизнеса. Смотря на шаг вперед, мы понимаем, что выбор будущего – это «бирюзовая модель» по классификации, введенной Фредериком Лалу, предполагающая если не отсутствие регламентов как таковых, то иной принцип их выработки и исполнения.

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

BPMN нотация Ad-Hoc процесс

События

Событие – это состояние, которое влияет или контролирует дальнейшее выполнение бизнес-процесса. Блок события в BPMN обозначается кругом. Внутри блока указывается наименование события.

Относительно точки выполнения процесса события делятся на:

  • стартовое, обозначающее старт процесса

BPMN стартовое событие

  • промежуточное, произошедшее при выполнении процесса

BPMN промежуточное событие

  • конечное, обозначающее завершение процесса

BPMN конечное событие

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

События-обработчики - это все стартовые и некоторые промежуточные события. Если встречается событие-обработчик, то процесс ожидает наступления этого события, т.е. ожидает появления причины возникновения этого события. На диаграмме триггер внутри события, являющегося обработчиком, показывается незакрашенным.

События-инициаторы – это некоторые промежуточные события (включая промежуточное событие с типом "Неопределенное") и все конечные события. Если встречается событие-инициатор, то процесс просто выполняется дальше и ничего не ожидает. На диаграмме триггер внутри события, являющегося инициатором, показывается закрашенным.

Пример различных типов событий:

 

BPMN типы событий

 

- Событие 1 - стартовое событие с типом триггера "Сообщение";
- Событие 2 - промежуточное событие (обработчик) с типом триггера "Таймер";
- Событие 3 - промежуточное событие (инициатор) с типом триггера "Сигнал";
- Событие 4 - конечное событие с типом триггера "Сообщение".

Шлюзы

Параллельный шлюз (AND, "И") используется для обозначения слияния/ветвления потоков управления в рамках процесса.

BPMN параллельный шлюз "AND" "И"

Пример использования параллельного шлюза при ветвлении/разделении потоков:

BPMN параллельный шлюз пример ветвления разделения

В примере выше параллельный шлюз используется для ветвления потоков управления или создания параллельных веток выполнения процесса: после выполнения Процесса 1 запустится выполнение и Процесса 2, и Процесса 3.

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

BPMN параллельный шлюз пример слияния

В примере выше параллельный шлюз используется для слияния потоков управления или синхронизации параллельных веток выполнения процесса. Выполнение Процесса 3 запустится только тогда, когда выполнится и Процесс 1, и Процесс 2.

Эксклюзивный шлюз

Эксклюзивный шлюз (XOR, "Исключающее ИЛИ") используется для ветвления потока управления на несколько альтернативных потоков, когда выполнение процесса зависит от выполнения некоторого условия.

BPMN эксклюзивный шлюз "XOR" "ИЛИ"

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

BPMN эксклюзивный шлюз пример "XOR" "ИЛИ"

после выполнения Процесса 1 (рисунок выше) дальнейшее выполнение процесса может продолжиться только по одному потоку, исходящему из шлюза:
- если Условие 1 верно, то выполнится только Процесс 3;
- если Условие 2 верно, то выполнится только Процесс 4;
- если ни Условие 1, ни Условия 2 не верны, то выполнится только Процесс 2.

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

BPMN эксклюзивный шлюз пример "XOR" "ИЛИ"

На рисунке выше Процесс 3 будет выполнен дважды: после выполнения Процесса 1 и после выполнения Процесса 2.

Неэксклюзивный шлюз

Неэксклюзивный шлюз (OR, "ИЛИ") используется для ветвления потока управления на несколько потоков, когда выполнение процесса зависит от выполнения условий. При этом каждое из указанных условий является независимым, и дальнейшее выполнение процесса может продолжиться сразу по нескольким потокам управления, если условия будут выполнены.

BPMN неэксклюзивный шлюз "OR" "ИЛИ"

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

BPMN неэксклюзивный шлюз пример "OR" "ИЛИ"

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

BPMN неэксклюзивный шлюз "OR" "ИЛИ" пример слияния потоков

На рисунке выше Процесс 3 будет выполнен только тогда, когда выполнится и Процесс 1, и Процесс 2 (пример слияния, или синхронизации).

Еще шлюзы

В BPMN различают также еще два типа шлюзов:

  • комплексный шлюз
  • эксклюзивный шлюз по событиям

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

BPMN комплексный шлюз

Эксклюзивный шлюз по событиям (XOR, "Исключающее ИЛИ") используется для ветвления потока управления на несколько альтернативных потоков, когда дальнейшее выполнение процесса зависит от возникновения некоторого события-обработчика, следующего после шлюза.

BPMN эксклюзивный шлюз по событиям

BPMN эксклюзивный шлюз по событиям пример

На рисунке выше после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одной ветке, исходящей из шлюза:
- если первым возникло Событие 1, то выполнится только Процесс 2;
- если первым возникло Событие 2, то выполнится только Процесс 3.

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

Поток управления - стрелка используется для связи элементов потока BPMN (событий, процессов, шлюзов). Поток управления отображает ход выполнения процесса. При необходимости поток может быть именованным.

BPMN поток управления стрелка

Стандартный поток управления является неконтролируемым, т.е. на поток не воздействуют никакие условия, и поток не проходит через шлюзы.

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

BPMN условный поток управления

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

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

BPMN поток управления по умолчанию

Другие обозначения

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

BPMN поток собщений
Поток сообщений не отображает ход выполнения процесса, а показывает передачу сообщений или объектов из одного процесса в другой процесс или внешнюю ссылку.

 

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

BPMN ассоциация

BPMN ассоциация

 

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

BPMN пул

 

Дорожка - предназначена для отображения организационных единиц (должности, подразделения, роли, внешнего субъекта) - исполнителей задач и подпроцессов процесса BPMN. Внутри блока помещается наименование организационной единицы.

BPMN дорожка

 

Свёрнутый пул - элемент, обозначающий внешний (по отношению к текущей диаграмме) процесс или внешнюю ссылку. Внутри блока помещается наименование внешнего процесса или внешней ссылки.

BPMN свернутый пул

 

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

BPMN объект данных

В качестве объекта данных может использоваться объект любого из следующих справочников: Бумажный документ, Электронный документ, ТМЦ, Информация, Программные продукты, Термины, Прочее.

 

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

BPMN база данных

 

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

BPMN набор объектов данных

 

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

BPMN сноска

 

Немного о правилах нотации

В нотации BPMN есть безусловные правила применения тех или иных блоков нотации: задач, стрелок, шлюзов, и так далее. Но есть и правила, о которых хотелось бы также сказать - правила методологические.

Сколько блоков задач/действий можно умещать на одной диаграмме/модели? С точки зрения нотации – сколько влезет, при чем в прямом смысле – столько, сколько сможете разместить блоков внутри пула процесса. Но с точки зрения анализа, есть не прописанное нигде правило, но которым пользуются аналитики: блоков задач/действий в одном процессе должно быть столько, чтобы не «уходить» на второй этаж пула.

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

Комментарии:

comments powered by Disqus