Привет, Хабр!

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

Рассмотрим подробней.

Основные компоненты

События

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

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

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

Конечные события обозначают завершение процесса и могут указывать на успешное или исключительное завершение процесса

Активности

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

Шлюзы

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

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

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

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

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

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

Артефакты

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

Существует три вида артефактов:

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

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

Группа. Здесь внутри можно к примеру вставить различные активности и так далее
Группа. Здесь внутри можно к примеру вставить различные активности и так далее

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

Пример BPMN

Из Википедии
Из Википедии

Советы по созданию диаграммы

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

Применяйте единые обозначения и нотации на протяжении всех моделей для обеспечения их понятности.

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

BPMN — это не разовая задача. Регулярно пересматривайте и улучшайте свои процессы, используя данные для выявления областей для улучшения.

Одна из самых частых ошибок — это использование разных наименований для одних и тех же элементов или процессов.

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

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


В заключение напоминаю об открытых уроках в OTUS, которые пройдут в мае:

  • 7 мая: Фиксация требований с помощью Use Case. Записаться

  • 20 мая: API и аналитик. С чего начать и где остановиться. Записаться

Комментарии (3)


  1. kost_tr
    02.05.2024 08:19

    Я бы добавил к описанию:

    • Можно предположить что каждый Task - это Story (для тех кто любит и умеет в трекер задач)

    • Помимо ролей, можно указывать системы (да, да, так вы поймете в какой системе что делается, task можно указывать со значком "+" если она в рамках одной системы - потом на отдельной диаграмме уточните)

    • Если указывать системы и Task с "+" то каждая линия - это интеграция(! очень удобно)

    • И поняв верхний уровень, уже расписывать каждый Task с "+" отдельно (получиться набор use case)

    Результат проверяйте всегда на коллегах:) Помните, если диаграмма сделана хорошо, она будет понятна любому психически здоровому человеку;)


  1. itGuevara
    02.05.2024 08:19

    Примеры формализации BPMN через DOT кто-то встречал?

    Ссылка на "гибридные" методы формализации - визуализации бизнес-процессов.


  1. Batalmv
    02.05.2024 08:19
    +3

    Я вот не понимаю, а зачем?

    Ну к примеру, вот BPMN 2.0 Symbols - A complete guide with examples. | Camunda .

    Или вот: Blog - BPMN 2.0 shapes for detailed process flows and choreography models (drawio.com)

    -----------

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