В чем разница между BPMN и UML

«В чем разница между BPMN и UML» — вопрос из категории Нотации и диаграммы, который задают на 33% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

BPMN (Business Process Model and Notation) и UML (Unified Modeling Language) — это два разных стандарта моделирования, но с разными целями:

  • BPMN фокусируется на бизнес-процессах, их визуализации и исполнении. Используется для описания последовательностей действий, событий, ветвлений и взаимодействий между участниками. Пример элемента: User Task, Exclusive Gateway.

  • UML — это универсальный язык для моделирования структуры и поведения ПО. Включает диаграммы классов, последовательностей, состояний и др. Пример: Class Diagram для проектирования ООП.

Пример BPMN (процесс заказа):

<bpmn:process id="OrderProcess">
  <bpmn:startEvent id="Start"/>
  <bpmn:userTask id="ApproveOrder" name="Approve Order"/>
  <bpmn:endEvent id="End"/>
</bpmn:process>

Пример UML (класс Order):

class Order {
  -String id;
  +void approve();
}

Ключевое отличие: BPMN — для бизнес-аналитиков, UML — для разработчиков. Иногда их комбинируют (например, BPMN для процесса, UML для деталей системы).