Содержание
В статье разобрали основы моделирования и рассказали, какие элементы содержит нотация BPMN 2.0 и как их можно использовать.
1. Когда используется нотация?
Самым важным этапом проекта внедрения решений на базе «1С:Предприятие» является выявление и формализация требований заказчика к информационной системе (ИС). От качества проведения работ на этом этапе во многом зависит успешность всего проекта в целом.
В рамках данного этапа функциональные архитекторы и аналитики решают следующие организационные и проектные задачи:
- определяют перечень бизнес-процессов и их связи со смежными процессами;
- выявляют ответственных лиц, участвующих в процессах, которые могут дать исчерпывающую информацию по требованиям к функциям ИС;
- договариваются о формате визуализации (описания) бизнес-процессов, подлежащих автоматизации;
- проводят сбор и систематизацию требований к ИС, проверяют их на непротиворечивость и достаточность;
- формализуют бизнес-процессы, подлежащие автоматизации.
Самым распространенным инструментом данного этапа может быть моделирование бизнес-процессов с помощью нотации BPMN 2.0. Открытость нотации BPMN и поддержка большинством средств моделирования и автоматизации бизнес-процессов сделали данную нотацию лидером в моделировании бизнес-процессов.
2. Что значит нотация BPMN?
Нотация — это набор графических обозначений (значки, стрелки, пиктограммы), которые позволяют создать графическую схему (модель процесса), понятную другим людям. Конечно, можно описать процесс текстом, но графическая схема гораздо удобнее для быстрого понимания выполняемого процесса.
BPMN (Business Process Model and Notation — нотация и модель бизнес-процессов) разработана компанией Business Process Management Initiative и поддерживается Object Management Group после слияния организаций в 2005 году. Последняя версия 2.0.2 вышла в 2014 году. В 2013 году BPMN утверждена в качестве международного стандарта ISO/IEC 19510.
Считается, что это лучшая нотация для описания и моделирования любых бизнес-процессов. BPMN (Business Process Model and Notation) – самая удобная, гибкая, наглядная, функциональная и вместе с тем простая нотация:
- Модели в нотации BPMN позволяют увидеть и проанализировать все взаимодействия. Визуализация процессов позволяет определить границы проекта и понять, что нужно автоматизировать, а что нет.
- Набора знаков в BPMN достаточно для описания любого процесса и обозначения любых типов событий.
- Нотация BPMN позволяет максимально детализировать процесс на каждом этапе до исполнителей и, наоборот, представить модель через несложную блок-схему — степень детализации не имеет ограничений.
- Только в этой нотации существует разделение событий на события начала, окончания и промежуточные события.
- Возможно разделение потоков на рабочие, информационные и ассоциации.
- Используются удобные взаимосвязи между пересекающимися действиями: на схеме возможно оставить только ссылку на другой процесс, который несколько раз встраивается в основной, а детально описать его отдельно или развернуто, как подпроцесс на ведущей схеме.
- Привязка объектов системы: нотация учитывает не только workflow, но и documentflow (docflow), то есть к действиям можно прикрепить «артефакты», которые исполнители будут использовать или создавать.
Нотацию BPMN выбирает большинство профессионалов в управлении бизнес-процессами. Она наиболее современная и активно развивающаяся. В статье кратко рассмотрим, из чего состоит графическая модель процесса и каким образом удается передать взаимодействие элементов нотации друг с другом.
3. Из чего состоит модель бизнес процесса в BPMN 2.0?
Начнем с описания основных элементов нотации, которые чаще всего используются в моделировании и без которых нет возможности нарисовать схему бизнес-процесса.
3.1 Потоки
Рабочий поток BPMN — это те самые стрелки, которые соединяют процессы, операции, события и шлюзы между собой. Потоки могут быть:
На стандартный поток управления не воздействуют условия, он не проходит через шлюзы, то есть является неконтролируемым (не рекомендуется второй вариант).
Используется для того, чтобы показать, что дальнейшее выполнение процесса будет происходить по определенному потоку только в том случае, если выполняется заданное условие. Ромбик у основания стрелки добавляется, если условный поток управления является исходящим от процесса. Ромбик не добавляется, если условный поток управления является исходящим от шлюза.
Используется, когда необходимо показать, что дальнейшее выполнение процесса будет происходить по определенному потоку только если не выполняется ни одно из заданных условий.
Используется для отображения межпроцессного взаимодействия. Отображает передачу сообщений или объектов из одного процесса в другой процесс или внешнюю ссылку.
Применяется для визуализации связи между элементами потока и объектами, не являющимися элементами потока (артефактами).
Направление определяет последовательность выполнения операций или задействования элементов модели. Поток в бизнес-процессах от стартового события до конечного может идти не только последовательно, но и параллельно. Они даже могут взаимно исключать друг друга. BPMN позволяет это продемонстрировать.
Рабочий поток может содержать в себе какой-то объект. То есть вместе с потоком осуществляется передача чего-то от одной операции к другой. Поток работ отражает порядок выполнения операций и процессов.
3.2. Действия (операции)
Операция — простое действие, его нельзя разбить. Есть несколько типов операций, которые конкретизируют действие в операции. Типы операций обозначаются специальным знаком внутри прямоугольника «операция».
Абстрактная задача. Действие с неопределенным типом. Применяется, когда уточнение типа задачи несущественно. Самый распространенный тип.
Сервисная операция. Выполняется сервисом или механизмом (автоматическая). Этот тип операций удобно использовать, когда необходимо отобразить работу программы или инструмента.
Пользовательская операция. Выполняется сотрудником с помощью сервиса, инструмента или других сотрудников. Это может быть программа, веб-приложение, оборудование и т. д.
Ручная операция. Выполняется сотрудником самостоятельно, без применения каких-то сервисов или инструментов.
Отправка и получение сообщения. Операция, результатом которой является отправленное сообщение внешнему участнику и полученное сообщение от внешнего участника или смежного процесса.
Выполнение сценария. Операция, подразумевающая выполнение сценария. Сценарий создается заранее и представляет собой последовательность действий.
Бизнес-правило. Например, необходимо рассчитать по определенному алгоритму скидку клиенту. Не имеет смысла описывать расчет скидки с помощью диаграммы BPMN, иначе для каждого условия, в том числе нового, необходимо будет перерисовывать диаграмму. Бизнес-правила в BPMN не моделируются, а описываются отдельно в произвольном формате: таблицей, формулами и т. д.
Операция-ссылка. Ссылается на другой процесс и фактически выполняет его. То есть процесс уже где-то существует и здесь он тоже выполняется. Чтобы не копировать процесс из одного места в другое, просто дается ссылка на него.
3.3. Объекты данных
Объект данных — это документ (электронный или аналоговый). Документ с точки зрения управления бизнес-процессами — это любая задокументированная информация.
База данных — хранилище данных, в которое можно поместить или извлечь информацию. С этой точки зрения стеллаж с папками-скоросшивателями — это тоже база данных. Собственно, так оно и есть.
Используется для отображения на диаграмме документов, сопровождающих выполнение процесса. Рядом с блоком размещается наименование документа. В качестве объекта данных может использоваться объект справочников: бумажный документ, электронный документ.
Используется для отображения на диаграмме программных продуктов, сопровождающих выполнение процесса. Рядом с блоком размещается наименование продукта.
Используется для отображения на диаграмме базы данных, сопровождающей выполнение процесса. Рядом с символом размещается наименование базы данных.
3.4. События в BPMN 2.0
Событие — один из основополагающих элементов модели бизнес-процесса.
События определяют ход выполнения процесса. События — это то, что просто произошло. Это обстоятельство, условие, исходя из которого мы действуем дальше. События — это условие «если» в цепочке «если — то».
События делятся на 3 типа:
- события начала определяют условия старта процесса;
- промежуточные события определяют развитие процесса;
- событие окончания отражает условие, при котором мы считаем, что процесс окончен.
Моделирование бизнес-процессов начинается с определения стартовых и финишных событий.
Если события возникают при выполнении процесса, то они разделяются на 2 категории: возникающие из-за какой-то причины и инициирующие какой-то результат. И причина возникновения события, и результат, который инициирует событие, называются триггером. События, обрабатывающие триггер, который привел к их возникновению, называются обработчиками. События, которые инициируют триггер (или некий результат), называются инициаторами.
Возникает из-за выполнения каких-то условий и инициирует начало бизнес-процесса. Обычно одно, но может быть и несколько.
Самые распространенные триггеры стартовых событий:
Сообщение. Информация, поступающая от источника заранее известному исполнителю: заказ, заявка и т. п. Информация должна поступать от смежного процесса или внешнего участника, то есть к стартовому событию, должна идти стрелка от внешнего элемента.
Сигнал. Информация, поступающая от смежного процесса или внешнего участника, то есть к стартовому событию, должна идти в виде стрелки от внешнего элемента.
Условие, правило. После выполнения условия процесс запустится только один раз. Не должно быть связи с внешними элементами.
Самые распространенные триггеры промежуточных событий-обработчиков:
Сообщение. Событие ожидает информацию от смежного процесса или внешнего элемента. К данному событию должна идти стрелка от свернутого пула.
Таймер. Событие ожидает наступление конкретного времени или прохождение определенного промежутка времени (задержка). Не должно быть связей с внешними элементами.
Условие. Событие ожидает, когда условие станет истинным. Не должно быть связи с внешними элементами.
Множественное событие. Это несколько событий, заключенных в один символ. Событие ожидает только первое наступившее событие из перечисленных. Связь с внешними элементами определяется содержанием включенных событий.
Самые распространенные триггеры промежуточных событий-инициаторов:
Сообщение. Событие передает информацию в смежный процесс или определенный внешний элемент. При этом смежный процесс или его часть инициируется. В смежном процессе должно быть зеркальное событие-обработчик.
Промежуточные события (обработчики) могут присоединяться к границе процесса. Такие события называются граничными. Граничное событие изображает событие, возникающее при выполнении процесса, к границе которого это событие присоединено. Причем граничное событие может прервать выполнение процесса — граничное прерывающее, и не прерывать — граничное не прерывающее. Граничное не прерывающее событие изображается пунктирными линиями.
На рисунке изображено использование граничного прерывающего события. Если при выполнении Процесса 1 возникнет Событие 2, то выполнение Процесса 1 прервется и на текущей диаграмме дальнейшее выполнение процесса будет происходить по потоку, исходящему от граничного события, то есть начнется выполнение Процесса 3.
Ниже изображено использование граничного не прерывающего события. Если при выполнении Процесса 1 возникнет Событие 2, то выполнение Процесса 1 продолжится. На текущей диаграмме дальнейшее выполнение процесса будет происходить по потоку, исходящему от граничного события, то есть начнется выполнение Процесса 3. А также после выполнения Процесса 1 начнется выполнение Процесса 2.
Событие окончание
Возникает при получении результата процесса, может инициировать начало следующего процесса. Рекомендуется размещать на схеме в нижнем правом углу или непосредственно в том месте, где заканчивается ветка бизнес-процесса.
Сообщение
Информация, отправляемая смежному процессу или внешнему участнику, то есть от события окончания должна идти стрелка к внешнему элементу.
Сигнал
Информация, отправляемая широкому кругу заранее неизвестных исполнителей: открыт конкурс, размещен тендер, опубликована реклама и т. п. Информация должна отправляться смежному процессу или внешнему участнику, то есть от события окончания должна идти стрелка к внешнему элементу.
Остановка
Немедленное прекращение всего бизнес-процесса, всех веток. Не должно быть связи с внешними элементами.
3.5. Шлюзы BPMN 2.0
Ветвление или шлюз — это логическая развилка в процессе. Если стоит развилка, значит, процесс может развиваться по-разному, в зависимости от условий. Самая простая развилка дает 2 варианта развития событий. Рассмотрим основные шлюзы.
Параллельный шлюз (AND, «И») используется для обозначения слияния/ветвления потоков управления в рамках процесса.
Параллельный шлюз используется для ветвления потоков управления или создания параллельных веток выполнения процесса: после выполнения Процесса 1 запустится выполнение и Процесса 2, и Процесса 3.
Параллельный шлюз используется для слияния потоков управления или синхронизации параллельных веток выполнения процесса. Выполнение Процесса 3 запустится только тогда, когда выполнится и Процесс 1, и Процесс 2.
Эксклюзивный шлюз (XOR, «Исключающее ИЛИ») используется для ветвления потока управления на несколько альтернативных потоков, когда выполнение процесса зависит от выполнения некоторого условия.
На рисунке после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одному потоку, исходящему из шлюза:
- если Условие 1 верно, то выполнится только Процесс 3;
- если Условие 2 верно, то выполнится только Процесс 4;
- если ни Условие 1, ни Условие 2 не верны, то выполнится только Процесс 2.
Эксклюзивный шлюз может использоваться и для слияния потоков управления. В данном случае шлюз просто пропускает через себя все потоки управления без синхронизации. На рисунке Процесс 3 будет выполнен дважды: после выполнения Процесса 1 и после выполнения Процесса 2.
Неэксклюзивный шлюз (OR, «ИЛИ») используется для ветвления потока управления на несколько потоков, когда выполнение процесса зависит от выполнения условий. При этом каждое из указанных условий является независимым, и дальнейшее выполнение процесса может продолжиться сразу по нескольким потокам управления, если условия будут выполнены.
После выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться по любому потоку, исходящему из шлюза, если условие, заданное на этом потоке, выполняется (см. рисунок):
- если Условие 1 верно, то выполнится Процесс 3;
- если Условие 2 верно, то выполнится Процесс 4;
- если ни Условие 1, ни Условие 2 не верны, то выполнится только Процесс 2.
Неэксклюзивный шлюз может использоваться для слияния потоков управления. В данном случае шлюз может использоваться для синхронизации. На рисунке Процесс 3 будет выполнен только тогда, когда выполнится и Процесс 1, и Процесс 2.
Эксклюзивный шлюз по событиям (XOR, «Исключающее ИЛИ») используется для ветвления потока управления на несколько альтернативных потоков, когда дальнейшее выполнение процесса зависит от возникновения некоторого события-обработчика, следующего после шлюза.
Отдельно взятое событие, обычно с типами «Получение сообщения» или «Таймер», определяет выбор только одного маршрута, по которому будет проходить дальнейшее выполнение процесса: событие, идущее после шлюза и возникшее первым, определяет дальнейший ход выполнения процесса. После выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одной ветке, исходящей из шлюза:
- если первым возникло Событие 1, то выполнится только Процесс 2;
- если первым возникло Событие 2, то выполнится только Процесс 3.
Существует 2 типа шлюзов по событиям, которые могут быть использованы в начале процесса:
- эксклюзивный шлюз по событиям (для запуска процесса);
- параллельный шлюз по событиям (для запуска процесса).
В случае, когда шлюз по событиям используется для запуска процесса, у него не должно быть входящих связей.
Эксклюзивный шлюз по событиям (для запуска процесса) аналогичен обычному эксклюзивному шлюзу по событиям: событие, идущее после шлюза и возникшее первым, определяет дальнейший ход выполнения процесса.
На рисунке выполнение процесса начнется с возникновения одного из событий, идущих после шлюза:
- если первым возникнет Событие 1, то дальнейшее выполнение процесса будет осуществляться только по потоку управления, исходящему из этого события, то есть выполнится Процесс 1;
- если первым возникнет Событие 2, то дальнейшее выполнение процесса будет осуществляться только по потоку управления, исходящему из этого события, то есть выполнится Процесс 2.
При использовании параллельного шлюза по событиям (для запуска процесса) выполнение процесса запускается по всем возникшим событиям, идущим после шлюза.
На рисунке Процесс 1 и Процесс 2 будут выполнены, если возникнут события, идущие перед этими процессами.
3.6 Пулы. Дорожки
Пулы и дорожки нужны для того, чтобы отобразить роль в процессе. Все операции и процессы, которые расположены в пуле или дорожке, выполняются этой ролью.
С помощью пулов и дорожек можно отражать роли, которые выполняют сотрудники, организационные единицы и даже программное обеспечение. Распространенная ошибка — использовать пулы для отражения бизнес-процессов. Пул — это роль в процессе. Роль — это совокупность операций и процессов, которая выполняется участником процесса в рамках одного процесса.
Пул нужно называть не наименованием процесса, а наименованием роли.
Свернутый пул — это смежный процесс в виде «черного ящика», или внешний объект, с которым взаимодействует процесс. Внешний объект всегда моделируется как свернутый пул. Другой (смежный) бизнес-процесс всегда моделируется как свернутый пул. Действие моделируемого процесса, сопоставимое по масштабу с самим процессом, может быть переквалифицировано в смежный процесс и отображаться как свернутый пул.
На рисунке ниже изображена связь со свернутым пулом, которая всегда выполняется только через поток сообщений.
4. Композиция диаграмм
Основные требования к схемам бизнес-процессов следующие:
- Оставляйте достаточно свободного пространства.
Не стоит размещать элементы впритык друг к другу. Во-первых, это усложняет восприятие диаграммы. Во-вторых, если понадобится добавить элемент в процессе моделирования, вам придется потратить много времени, чтобы сдвинуть все элементы. Но при этом не стоит слишком сильно разносить элементы. Желательно, чтобы расстояние между элементами было одинаковым.
- Пространство между элементами диаграммы должно быть достаточным.
Нотация BPMN предполагает конструкцию, которая фактически соответствует ветвлению, но без значка ветвления. Из операции или процесса может исходить несколько потоков, по которым процесс будет развиваться при наступлении соответствующих событий или выполнении условий.
Такая конструкция эквивалентна ветвлению типа «исключающее ИЛИ». Это означает, что в таком случае процесс будет развиваться лишь по одному сценарию. По тому, который определен наступившим событием.
Однако хотим предупредить: такие конструкции нужно использовать по минимуму или не использовать вовсе. Все-таки для этого есть ветвление, а использование аналогичных конструкций, тем более визуально отличных, только усложняет диаграммы.
- Выравнивайте элементы диаграммы
Все элементы диаграммы должны быть выровнены относительно друг друга по горизонтали и вертикали
- Однотипные элементы должны иметь один размер
Все операции и процессы должны иметь один размер. Это касается и других типов элементов. Не рекомендуется увеличивать размер событий.
- Ограничьте количество элементов на диаграмме
Не стоит перегружать диаграмму. Чтобы избежать перегрузки, ограничьте количество элементов, которое будет расположено на диаграмме. Лучше разбейте сложные процессы на подпроцессы.
Существует общая рекомендация, которая утверждает, что диаграмма должна размещаться на печатном листе формата А4. Не всегда это возможно, но нужно учитывать, как и в каком виде ее дальше будут читать.
Мы рассмотрели небольшую часть того, что нужно знать для начала моделирования. Нотация BPMN 2.0 содержит более широкий алфавит элементов, поэтому порой большой набор событий и шлюзов, затрудняют разработку и чтение диаграмм. Это приводит к тому, что у разных аналитиков могут получиться разные диаграммы описания одного и того же процесса.
Если вы решили использовать нотацию, определите, какие элементы вы с коллегами будете использовать, и что именно каждый из них означает, чтобы исключить риски возможных семантических расхождений и снизить смысловую нагрузку на читателей диаграммы.
Остались вопросы?
Проконсультируйтесь с нашими специалистами