Главная страница » Блог » Нотация BPMN. Практическое моделирование

Нотация BPMN. Практическое моделирование

Нотация BPMN давно является стандартом моделирования бизнес-спроцессов. Мы подготовили для вас более 100 иллюстраций, с описанием наиболее распространенных вопросов, связанных с практическим использованием нотации BPMN и моделированием бизнес-процессов.

Если вы еще не знакомы с нотацией BPMN, то рекомендуем предварительно прочитать описание базовых и расширенных элементов нотации.

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

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

BPMN 2.0. События начала

У каждого процесса должно быть, как минимум, одно событие начала

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

Нотация BPMN. У каждого процесса должно быть, как минимум, одно событие начала
У каждого процесса должно быть, как минимум, одно событие начала

У каждого процесса должно быть, как минимум, одно событие начала. Если вы не можете определить событие начала, то есть два варианта:

  1. Границы процесса определены не верно,
  2. Это не процесс, а группа процессов, что, опять же, говорит о том, что процесс и его границы, определены не верно.

Несколько событий начала

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

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

Каждое из этих событий будет стартовать выполнение одного и того же процесса.

Множественное событие начала

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

Нотация BPMN. Множественное событие начала
Множественное событие начала

Параллельное множественное событие начала

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

Нотация BPMN. Параллельное множественное событие начала
Параллельное множественное событие начала

Разные события начала

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

Нотация BPMN. Разные события начала
Разные события начала

Размещение событий начала в пулах

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

Нотация BPMN. Размещение событий начала в пулах
Размещение событий начала в пулах

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

Нотация BPMN. Одно событие в разных пулах
Одно событие в разных пулах

Связь событий между уровнями декомпозиции

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

Нотация BPMN. Связь событий между уровнями декомпозиции
Связь событий между уровнями декомпозиции

Также нужно помнить о том, что промежуточное событие на уровне 1, будет являться событием начала последующего процесса, на уровне 2. Ниже, промежуточное событие Получен заказ от клиента, является событием начала для следующего процесса Обработка клиентских заказов.

Нотация BPMN. Промежуточное событие - начало процесса
Промежуточное событие на одном уровне, является событием начала на другом.

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

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

Нотация BPMN. Декомпозиция события начала
Декомпозиция события начала

Событие начала в подпроцессе не должно иметь типа

Если тип события начала определено на более высоком уровне, то на уровнях ниже событие указывается без типа. Правило нотации BPMN.

Нотация BPMN. Тип события начала не указывается при декомпозиции
Тип события начала не указывается при декомпозиции

Правильное наименование события начала

Одна из распространенных ошибок – называть событие начала наименованием входа, объекта, поступающего в процесс. Например – заявка клиента. Это неверно. Заявка клиента, это документ, объект. А вот событие начала, да и любое событие, должно отражать свершившийся факт законченного действия. Вместо “Заявка клиента”, правильно назвать “Получена заявка клиента”. В названии события обязательно должен быть указан объект и действие, событие, которое с объектом произошло. Наименование события должно иметь форму деепричастного оборота.

Нотация BPMN. Правильное наименование события начала
Правильное наименование события начала

Если событие начала инициировано ролью

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

Нотация BPMN. Инициация события начала
Инициация события начала

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

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

1 – Добавить номер, или наименование связанного процесса, в название события.

Нотация BPMN. Связь событий начала и окончания
Связь событий начала и окончания через наименование

2 – Отобразить значок процесса, который инициирует событие начала и связать его с событием. Это нарушает правила нотации BPMN, но в определенных целях можно и нарушить правила))

Нотация BPMN. Связь событий с ссылками на процессы
Связь событий с ссылками на процессы

3 – Связать события через программные функции. В таком случае, программа позволит увидеть взаимосвязи и перейти к связанному событию окончания.

Нотация BPMN. Программная связь событий
Программная связь событий

 

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

Нотация BPMN. Ссылка в событии на процесс
Ссылка в событии на процесс

BPMN 2.0. Промежуточные события

Событие – условие развития процесса

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

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

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

Нотация BPMN. Промежуточное событие, как результат процесса
Промежуточное событие, как результат процесса

Событие, это всегда результат какого-то процесса или операции

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

Нотация BPMN. Промежуточное событие - всегда результат действия
Промежуточное событие – всегда результат действия

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

Нотация BPMN. Промежуточное событие, инициированное пулом
Промежуточное событие, инициированное пулом

События определяют сценарии процесса

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

Нотация BPMN. События определяют сценарии процесса
Промежуточные события определяют сценарии процесса

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

Нотация BPMN. События определяют сценарии процесса
Промежуточные события, как условия выбора сценария процесса

Не прерывающие событие

В нотации BPMN есть определенный тип событий, под названием Не прерывающий. Такое событие не оказывает влияние на развитие или сценарий процесса. Проще говоря – такое событие не оказывает влияние на процесс. Тогда зачем оно нужно? Самый простой пример – если вы хотите показать некий факт, который свершился в процессе, но не окажет на него влияние. Например – зафиксированы какие-то данные или показатели.

Нотация BPMN. Не прерывающее событие
Событие не прерывает процесс. Можно выдать заказ клиенту, вне зависимости от того, зафиксировано время, или нет

Несколько событий подряд

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

Нотация BPMN. Несколько событий подряд
Несколько событий подряд

Несколько условий, для развития процесса

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

Нотация BPMN. Параллельное множественное промежуточное событие
Параллельное множественное промежуточное событие

Первый вариант лучше использовать, если вы хотите показать лишь факт того, что должно быть выполнено несколько условий.

Нотация BPMN. Объединение нескольких условий
Объединение нескольких условий

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

Событие, как условие времени

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

Нотация BPMN. Условие времени
Первая операция выполняется в 9:00
Нотация BPMN. Временное ограничение
Открытие смены должно быть выполнено до 9:00

События на границах операций / процессов

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

Нотация BPMN. Событие на границе операции
Событие на границе операции

В зависимости от типа промежуточного события, могут потребоваться разные действия. Но в любом случае, с точки зрения сценария, после выполнения всех действий после наступления события, продолжится выполнение операции.
Самым наглядным примером является конструкция компенсации. Если при выполнении операции или процесса произошло событие, которое необходимо “компенсировать”, или устранить через дополнительное действие, для этого используется конструкция компенсации.

Нотация BPMN. Компенсация
Конструкция компенсации

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

Нотация BPMN. Эскалация
Конструкция эскалации

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

Нотация BPMN. Ошибка
Ошибка по ходу выполнения операции

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

Нотация BPMN. Несколько событий на границах процесса
Несколько событий на границах операции

BPMN 2.0. События окончания

Событие окончания – условие завершения процесса

События окончания, как и другие события, это условие. Только событие окончания определяет условие, при котором процесс считается выполненным. У каждого процесса должно быть, как минимум, одно событие окончания.

Нотация BPMN. Событие окончания
Событие окончания – условие завершения процесса

Несколько событий окончания

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

Нотация BPMN. Несколько событий окончания
Несколько событий окончания

Множественное событие окончания

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

Нотация BPMN. Множественное событие окончания
Множественное событие окончания

Можно конкретизировать множественное событие окончания, предварительно объединив условия-промежуточные события, через шлюз.

Нотация BPMN. Объединение промежуточных событий, для логического формирования события окончания
Объединение промежуточных событий, для логического формирования события окончания

Событие окончания может быть событием начала другого процесса

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

Расположение событий окончания

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

Нотация BPMN. Расположение события окончания
Событие окончания располагается в том же пуле, что и последняя операция

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

Нотация BPMN. Завершение процесса в разных пулах
Завершение процесса в разных пулах, но с одинаковым результатом

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

Нотация BPMN. Выполнение последнего условия
Процесс завершается там, где выполняется последнее условие

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

Нотация BPMN. Нарушение взаимосвязанности условий для завершения процесса
Нарушение взаимосвязанности условий для завершения процесса

Нет такого события окончания, как “Процесс завершен”

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

BPMN 2.0. Все события

Событие, это завершенное действие, а не объект

Еще раз повторю – событие, это завершенное действие, в названии которого есть объект и действие, которое выполнено с этим объектом. Не “Приказ”, а “Получен приказ”.

Связь документов и событий

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

Нотация BPMN. Связь событий и документов
Связь событий и документов

Парные события нужно называть одинаково

События, имеющие пару, например, события Сообщения, Связи, Сигнала, Эскалации и Ошибки необходимо называть одинаково. Т.е. если в одном процессе у вас есть событие “Сигнал пожарной охраны”, то в другом процессе, который запускается по данному событию, оно должно называться также.

Нотация BPMN. Парные события
Парные события

Называйте события состояния так, чтобы было понятно, какое состояние оно отражает

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

Нотация BPMN. Событие состояния
Правильное наименование события состояния

BPMN 2.0. Шлюзы

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

Нотация BPMN. Шлюз

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

Нотация BPMN. Шлюз 1

 

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

Шлюз, это логическая конструкция

Существует 3 логические конструкции, которые используются в шлюзах:

  • Исключающее ИЛИ – такая конструкция означает, что при наступлении какого-то из условий, процесс сразу пойдет по сценарию, соответствующему этому условию. То есть наступление одного условия, исключает все остальные. Пример: в составе бизнес ланча вы можете выбрать только один напиток – чай, кофе или компот. Но не можете выбрать несколько, или все напитки.
Нотация BPMN. Исключающее ИЛИ
Исключающее ИЛИ. Ветвление
Нотация BPMN. Исключающие ИЛИ
Исключающие ИЛИ. Объединение
  • ИЛИ – а в этой логической конструкции вы уже можете выбирать. Причем можете выбрать любые комбинации, из представленных условий. То же и с процессом – он может развиваться при выполнении одного, или нескольких условий. Причем в любой комбинации.

В примере ниже, может идти дождь, или снег, или туман, а может и дождь со снегом, а может все вместе. Соответственно, если идет и снег и дождь, нужно выполнить сценарии для этих действий. То есть придется взять и зонт и санки)))

Нотация BPMN. Шлюз ИЛИ
ИЛИ. Ветвление
Нотация BPMN. ИЛИ
ИЛИ. Объединение
  • И – конструкция предполагает несколько условий, но они все должны быть выполнены. Это значит, что процесс далее будет выполняться сразу по нескольким потокам. Тут как с фитнес залами – вы не можете купить абонемент только в бассейн, или только в тренажерный зал. Только и туда, и туда. Только И.
Нотация BPMN. Оператор И
Оператор И. Ветвление и объединение
Нотация BPMN.
Объединяющий шлюз И

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

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

В примере ниже процесс может развиваться только при наступлении двух комбинаций: 1 – В кармане пачка сигарет,  2 – И лампа не горит И врут календари.

Нотация BPMN. Комплексный шлюз. Ветвление
Комплексный шлюз. Ветвление

В следующем примере тоже два варианта: 1 – В кармане пачка сигарет И есть билет на самолет; 2 – Группа крови на рукаве. Обе комбинации приводят к одному сценарию.

Нотация BPMN. Комплексный шлюз. Объединение
Комплексный шлюз. Объединение

Шлюз, это не принятие решения

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

Нотация BPMN. Шлюз не принимает решение
Шлюз не принимает решение. Это делается в операции до него

Условия развития событий

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

Нотация BPMN. Условия развития событий
Обозначение условий сценариев

Ветвление без шлюза

Нотация BPMN предполагает конструкцию, которая, фактически, соответствует ветвлению, но без значка ветвления. Из операции, или процесса, может исходить несколько потоков, по которым процесс будет развиваться при наступлении соответствующих событий, или выполнении условий. Такая конструкция эквивалентна ветвлению типа “исключающее ИЛИ”. Это означает, что в таком случае, процесс будет развиваться лишь по одному сценарию. По тому, которое определено наступившим событием.

Нотация BPMN. Ветвление без шлюза
Ветвление без шлюза

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

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

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

Нотация BPMN. Наименование шлюзов
Наименование шлюзов

Шлюз без названия

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

Ветвление, а затем объединение не имеет смысла

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

Нотация BPMN. Ветвление и последующее объединение
Ветвление и последующее объединение

Такие конструкции не имеют смысла. И вот почему:

  • Если вы хотите показать, что нужно выполнить действия в определенном порядке, то так и нужно показывать.
Нотация BPMN. Последовательность
Если можно определить последовательно операций, то лучше так и сделать
  • Если вы хотите показать, что нужно выполнить несколько действий и порядок выполнения не важен, то замените на процедуру и укажите, что порядок выполнения не важен.
Нотация BPMN. Сценарий
Можно преобразовать в сценарий
  • Если хотите показать, что нужно выполнить действия, но порядок и состав не важен, замените на процесс Ad Hoc. В процессе Ad hoc не важно в каком порядке и, даже, в каком составе будут выполнены операции. Вы можете добавить сахар, сливки, корицу в кофе в любом составе и порядке.
Нотация BPMN. Ad hoc процесс
Ad hoc процесс

Заменяйте сложны ветвления бизнес-правилами

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

Нотация BPMN. Сложные ветвления
Пример сложного ветвления, лишь при трех условиях
Нотация BPMN.
То же сложное ветвление, но представленное в виде бизнес-правила

Суть объединяющего шлюза

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

Объединяющий шлюз также работает по логическим принципам: исключающее ИЛИ, ИЛИ, И.

Нотация BPMN. Комплексный шлюз. Объединение
Комплексный шлюз. Объединение
Нотация BPMN.
Объединяющий шлюз И

Наименование объединяющих шлюзов

Нет необходимости называть объединяющие шлюзы. Можно давать текстовые аннотации к ним, там, где они логически не совсем очевидны.

BPMN 2.0. Пулы / дорожки

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

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

Название пула должно соответствовать роли

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

Пулы, дорожки и организационная иерархия

Дорожки можно размещать в пулах, а в дорожках, можно размещать… другие дорожки)) И ограничения, на количество вложений нет. Это свойство удобно использовать, если вы хотите показать не просто взаимодействие ролей или сотрудников, но также отобразить организационную иерархию. К примеру, пул Отдел качества, в него будет вложена дорожка Специалист по качеству, которая будет отражать должность, а далее будет вложена дорожка Контроллер, которая будет отражать роль, которую выполняет специалист по качеству.

Нотация BPMN. Иерархия пулов и дорожек
Иерархия пулов и дорожек

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

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

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

Нотация BPMN. Пулы и дорожки

Переход процесса от одного пула к другому

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

Нотация BPMN. Информационные потоки между пулами
Информационные потоки между пулами

Дорожки операции в дорожках соединяются рабочими потоками

Нотация BPMN. Рабочий поток между дорожками
Рабочий поток между дорожками

Лучшая связь между элементами разным пулов выглядит как связь между операциями и событиями. То есть действие в одном пуле, порождает событие в другом пуле. Хотя может быть и прямая связь “операция – операция”

Нотация BPMN. Взаимодействие пулов
Лучший способ отразить переход процесса между пулами

Пулы могут обмениваться документами.

Нотация BPMN. Обмен документами между пулами
Обмен документами между пулами

BPMN 2.0. Объекты данных

Объект данных, это документ. Электронный, или аналоговый. Это не так важно. Документ, с точки зрения управления бизнес процессами, это любая задокументированная информация.
База данных – хранилище данных, в которое можно поместить или извлечь информацию. С этой точки зрения, стеллаж с папками-скоросшивателями, это тоже база данных. Собственно, так оно и есть.

Связи документов с элементами BPMN

В нотации BPMN, документ может быть связан с:

  • Операциями и процессами, через направленную ассоциацию
  • Событиям, через ненаправленную ассоциацию
  • Пулами, через направленную ассоциацию
  • Базами данных, через простое соединение
Нотация BPMN. Связи объектов данных
Связи объектов данных с другими элементами

Направление ассоциации имеет значение

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

Нотация BPMN. Связи операций с документами
Направление связи документа и операции имеет значение

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

Нотация BPMN. Связи с базами данных
Направленные ассоциации с базами данных

Отражение состояний объекта данных

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

Нотация BPMN. Отражение состояния документа с помощью наименования
Отражение состояния документа с помощью наименования

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

Копии объектов данных

Вне зависимости от того, какое программное обеспечение, для моделирования, вы используете, нужно помнить о следующем – каждый объект в модели уникален. Представьте, что каждая операция, каждое событие, каждая стрелка в модели, это кусочек пазла. Каждый кусочек имеет свой уникальный размер и форму. С точки зрения программы, каждый кусочек имеет свой уникальный номер, под которым он хранится в базе данных.
Но, если вы скопируете объект, то получите не еще один уникальный объект, а копию, экземпляр, уже существующего объекта. Во многом ПО, если вы что меняете в одной из копий, то те же изменения происходят со всеми другими копиями этого объекта. Поэтому нельзя копировать объекты, если вы хотите создать новый – нельзя скопировать операцию и переименовать ее.
Поэтому важно различать уникальные объекты и их копии. Копии используются тогда, когда вы хотите использовать один и тот же элемент в разных местах. Например, есть документ, который используется в нескольких процессах. В таком случае нужно размещать копии этого документа в процессах. А с документами, использование в разных процессах – обычная история.

Нотация BPMN.
М- оригинал. а – копия

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

Нотация BPMN. Использование копий объектов в одной диаграмме
Копии можно использовать для оптимизации диаграммы

Ссылки на процессы, которые являются источниками документов

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

1 – Если ПО позволяет, то можно создать физическую ссылку на процесс. В Visual Paradigm для этого используется функция Trace.

Нотация BPMN. Ссылки на процессы, которые являются источниками документов
Связь документов и процессов – источников

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

Нотация BPMN. Использование наименование документа, для отражения процесса - источника документа
Использование наименование документа, для отражения процесса – источника документа

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

Нотация BPMN. Отображение процессов - источников документов, с помощью отдельного элемента
Отображение процессов – источников документов, с помощью отдельного элемента

Связь документа и базы данных

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

Нотация BPMN. Связь документов и баз данных
Связи документов и баз данных

Базы данных для отражения ИТ системы

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

Нотация BPMN. Использование значка БД в качестве ИТ системы
Использование значка БД в качестве ИТ системы

Прикрепляйте документы к объектам данных

Если ПО для моделирования позволяет это делать. Это очень хорошая практика, потому что позволяет сразу ознакомится с документами, которые используются в процессе. Если речь об электронном документе, то будет совсем отлично, если в описании объекта данных, вы перечислите поля данных, которые существуют в электронном документе.

Нотация BPMN. Образцы документов

BPMN 2.0. Операции / процессы

Операция – элементарное действие, которое выполняется в процессе. Элементарное – действие, которое нельзя декомпозировать и раскрыть в качестве процесса.
Процесс – совокупность операций и подпроцессов.

Наименование операций

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

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

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

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

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

Нотация BPMN. Разделение процесса на этапы, с помощью подпроцессов
Разделение процесса на этапы, с помощью подпроцессов

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

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

Нотация BPMN.
Сворачивайте последовательные операции в процедуры

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

Вместо разветвленной цепочки условий, лучше использовать операции типа Бизнес-правило. Только не забудьте описать или прикрепить описание правила. Использование процедур и правил существенно упрощает моделирование, восприятие и использование модели.

Цикличные операции / процессы

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

Нотация BPMN. Стандартный цикл
Операция с стандартным циклом

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

Нотация BPMN. Множественный цикл
Множественный цикл

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

Нотация BPMN. Преобразование циклического участка в подпроцесс
Преобразовывайте циклические участки процесса в подпроцессы. В данном примере подпроцесс имеет развернутый вид.

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

Нотация BPMN. Компенсация, вместо циклической конструкции
Компенсация вместо циклической конструкции

Ручная, автоматическая и пользовательская операция

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

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

Если операция выполняется системой или сервисом автоматически, без участия пользователя, то используйте тип операции Автоматическая. Такую операцию лучше отражать в пуле ИТ системы, которая ее выполняет, или обозначить иначе.

Нотация BPMN. Ручная, пользовательская и автоматическая операция
Ручная, пользовательская и автоматическая операция

BPMN 2.0. Потоки

Рабочий поток

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

Нотация BPMN. Рабочий поток
Рабочий поток

Поток работ отражает порядок выполнения операций и процессов

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

Нотация BPMN. Рабочий и информационный поток
Рабочий и информационный поток в диаграмме

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

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

Нотация BPMN. Шлюзы и пулы

Правила наименования

Давать наименование рабочему потоку по умолчанию не нужно
Условные потоки нужно называть в соответствии с теми условиями, по которым они становятся активными.

Располагайте потоки работ горизонтально

Лучше всего, когда потоки работ идут слева направо, горизонтально. Не стоит располагать элементы процесса таким образом, чтобы поток работ сначала шел слева направо, а потом справа налево.

Нотация BPMN. Расположение потоков в диаграмме
Направление потоков всегда идет слева направо

Избегайте пересечений потоков.
Конечно, не всегда это возможно, но помните – чем меньше пересечений потоков, тем лучше.

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

Они не могут соединять объекты внутри одного пула.

Нотация BPMN. Потоки сообщений между пулами
Потоки сообщений между пулами

Информационный поток не содержит в себе документы, лишь информацию.

Поэтому, документы нужно отображать отдельно.

Нотация BPMN. Документы и информационные потоки между пулами
Информационный поток не содержит в себе документы. Их, документы, нужно располагать отдельно

Неочевидные информационное потоки должны иметь название.

Очевидный информационный поток, это поток, который исходит из операции или процесса, в наименовании которого понятно, что и куда передается. К примеру, если информационный поток исходит из операции “Отправить отчет”, то такой поток является очевидным. Если поток идет из операции “Подготовка к инвентаризации”, то оно является неочевидным, потому что непонятно, что именно отправляется или получается с этим потоком

BPMN 2.0. Композиция диаграмм

Оставляйте достаточно свободного пространства

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

Нотация BPMN. Пространство между элементами диаграммы должно быть достаточным
Пространство между элементами диаграммы должно быть достаточным

Выравнивание элементов диаграммы

Все элементы диаграммы должны быть выровнены, относительно друг друга. По горизонтали и вертикали.

Нотация BPMN. Выравнивание элементов диаграммы
Выравнивание элементов диаграммы относительно друг друга

Однотипные элементы должны иметь один размер

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

Нотация BPMN. Размер элементов

Ограничьте количество элементов на диаграмме

Не стоит перегружать диаграмму. Чтобы избежать перегрузки, ограничьте количество элементов, которое будет расположено на диаграмме. Лучше разбейте сложные процессы на подпроцессы. Существует общая рекомендация, которая утверждает – диаграмма должна размещаться на печатном листе формата А4. Не всегда это возможно, но при композиции диаграммы всегда нужно учитывать, как и в каком виде ее дальше будут читать.

Нотация BPMN. Перегруженность диаграмм
Диаграмма явно перегружена
Нотация BPMN. Не перегруженная диаграмма
Оптимально для восприятия

Сохраняйте основную ось процесса – поток по умолчанию

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

Нотация BPMN. Центральная ось
Поток по умолчанию – центральная ось. Остальное, это ответвления от него

Проверяйте грамматику и пунктуацию

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

BPMN 2.0. Частные случаи

Когда пул – черный ящик

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

Нотация BPMN. Использование пулов-черных ящиков
Роль в процессе может быть представлена в виде пула – черного ящика

Кстати, очень удобная конструкция. Позволяет описать процесс, не заходя на территорию, которая не входит, или неподвластна процессу.

Взаимодействие пользователя с ИТ системой

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

Нотация BPMN. Взаимодействие пользователя и ИТ системы
Взаимодействие пользователя и ИТ системы

Сбор результатов параллельных потоков

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

Нотация BPMN. Сбор результатов пулов в шлюз

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

Пожалуйста, пишите в комментариях свои вопросы. На их основе мы будем выпускать новые сборники примеров.
by Roman Zaytsev

One comment

Добавить комментарий

Ваш адрес email не будет опубликован.