UML и BPMN на собеседовании системного аналитика

Готовишься к собесу системного аналитика?
827 вопросов: REST, UML, OAuth, ERD, требования. Тренируйся в Telegram
Тренировать SA в Telegram

Зачем нотации

Нотации — это язык, на котором СА разговаривает с разработчиками, архитекторами и бизнесом. Текст не передаёт связи между сущностями и порядок шагов так же чётко, как диаграмма.

На собесе СА проверяют не «знаете ли все диаграммы UML», а «умеете ли выбрать правильную нотацию для задачи». Базовый минимум — sequence, activity, class, ERD, BPMN.

UML behavior-диаграммы

Sequence diagram

Показывает взаимодействие между объектами/сервисами во времени. Используется для:

  • Описания API-сценариев (клиент → backend → БД → внешний сервис)
  • Визуализации интеграций
  • Протокола между микросервисами

Главные элементы: lifeline (вертикальная линия объекта), activation (вытянутый прямоугольник на lifeline), сообщения (стрелки).

На собесе попросят: «Нарисуй sequence для оплаты картой». Ответ должен включать клиента, frontend, backend, payment provider, БД.

Activity diagram

Бизнес-процесс или алгоритм. В отличие от sequence не привязан к объектам — фокус на потоке управления.

Используется для: описания шагов процесса, decision points, параллельных веток.

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

State diagram

Жизненный цикл сущности: какие состояния, переходы между ними, события.

Пример: заказ может быть в состоянии created → paid → shipped → delivered → completed. Возможные переходы — стрелки с триггерами.

На собесе спрашивают про state diagram редко, но в банках и финтехе часто.

UML structure-диаграммы

Class diagram

Структура объектной модели: классы, поля, методы, связи (inheritance, aggregation, composition).

Используется СА для:

  • Документирования domain model
  • Спорной точки между разработчиками: «как выглядит User, заказ, инвойс»

Главные связи:

  • Association — обычная связь (User имеет Orders)
  • Aggregation — слабая владение (Department содержит Employees, но Employee может существовать без Department)
  • Composition — сильное владение (Order содержит OrderItems, без Order их нет)
  • Inheritance — наследование

Component diagram

Архитектурные компоненты системы и их зависимости. На собесе обычно заменяется C4 Model уровня Context/Container.

Deployment diagram

Где что запускается: серверы, контейнеры, процессы. Редко спрашивают на собесе СА.

BPMN 2.0

BPMN — Business Process Model and Notation. Стандарт для описания бизнес-процессов.

Основные элементы:

  • Pool — границы участника процесса (например, банк)
  • Lane — роль внутри pool (например, оператор, кассир)
  • Task — шаг процесса (rectangle)
  • Gateway — точка решения (ромб)
  • Event — начало/конец/промежуточное событие (круг)
  • Sequence flow — стрелка между шагами

Типы Gateway:

  • Exclusive (XOR) — выбирается один путь
  • Parallel (AND) — выполняются все пути одновременно
  • Inclusive (OR) — выполняются одновременно подходящие условиям пути

На собесе попросят: «Опиши BPMN для процесса возврата товара в маркетплейсе». Ответ — нарисовать pool «маркетплейс» с lanes (клиент, продавец, поддержка), tasks (создал заявку → проверена продавцом → одобрена → возврат денег), gateways (заявка валидна?).

Готовишься к собесу системного аналитика?
827 вопросов: REST, UML, OAuth, ERD, требования. Тренируйся в Telegram
Тренировать SA в Telegram

ERD: связи и кардинальность

ERD (Entity-Relationship Diagram) — описание данных. Сущности, их атрибуты, связи.

Связи

  • 1:1 — у каждого юзера один профиль
  • 1:N — у одного клиента много заказов
  • N:N — студенты записаны на курсы (через промежуточную таблицу)

Кардинальность в Crow's Foot

  • Одна линия — обязательно
  • Двойная линия — необязательно (zero or one)
  • «Ножки» — many

Например: Customer || ━━ {< Order означает «один Customer имеет ноль или больше Orders, у каждого Order ровно один Customer».

Нормализация

  • 1NF — атомарные значения, нет повторяющихся групп
  • 2NF — 1NF + нет частичных зависимостей от составного ключа
  • 3NF — 2NF + нет транзитивных зависимостей
  • BCNF — 3NF + каждая зависимость идёт от суперключа

На собесе спрашивают редко глубже 3NF. Главное — уметь объяснить, зачем нормализация и когда нужна денормализация (для скорости чтения).

Когда что использовать

Задача Нотация
API-сценарий между сервисами Sequence
Бизнес-процесс с ветками BPMN
Алгоритм или поток в коде Activity
Модель данных ERD
Domain model в коде Class diagram
Жизненный цикл сущности State diagram
Архитектура системы C4 / Component

Частые ошибки

Использовать UML где нужен BPMN. Activity-диаграмма для бизнес-процесса работает хуже BPMN. BPMN специально для процессов.

Слишком детальный sequence. На один сценарий — одна диаграмма. 50 стрелок на одной странице — это нечитаемо.

Игнорировать кардинальность в ERD. «Customer связан с Order» — недостаточно. Нужно указать 1:N с обязательностью.

Слишком много pool в BPMN. Pool — это участник вне нашей системы. Внутренние роли — lanes внутри одного pool.

Не использовать стандартные обозначения. Если рисуете «свои» иконки — никто не поймёт. Используйте стандартные элементы.

FAQ

Какой инструмент использовать на собесе?

Live-coding обычно — draw.io / Miro / Lucidchart. Дома — что угодно. Главное — стандартные обозначения, не свои.

Сколько UML-диаграмм нужно знать?

Sequence + activity + class + state — 80% задач. ERD и BPMN отдельно. Component, deployment, communication — реже.

Это официальная информация?

Нет. Статья основана на стандартах OMG (UML, BPMN) и опыте кандидатов.