← Назад к вопросам

Какие знаешь виды нотаций?

2.2 Middle🔥 71 комментариев
#Диаграммы и моделирование

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

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Какие знаешь виды нотаций?

Нотации в работе Business Analyst

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

Основные нотации, которые я использую

1. BPMN 2.0 (Business Process Model and Notation) — МОЙ ФАВОРИТ

Это стандартная нотация для бизнес-процессов (ISO 19510).

Элементы BPMN:

⭕ Start/End           - начало и конец процесса
▬ Task (прямоугольник) - одно действие
◇ Decision Gateway     - условие (если/то)
◉ Parallel Gateway     - параллельные действия
▬□ Sub-process         - набор действий
⟷ Flow                 - стрелка между элементами

Пример BPMN процесса:

┌─────────────────────────────────┐
│      Customer: Checkout         │
└─────────┬───────────────────────┘
          │
          ▼
      [START]
          │
          ▼
    ┌─────────────┐
    │ Add items   │
    └────────┬────┘
             │
             ▼
    ┌─────────────┐
    │ Enter email │
    └────────┬────┘
             │
             ▼
         ◇ Logged in? ◇
        /             \
      Yes             No
       │               │
       ▼               ▼
    [✓]          [Login/Register]
       │               │
       └───────┬───────┘
               ▼
        ┌─────────────────┐
        │ Process Payment │
        └────────┬────────┘
                 │
                 ▼
            ◇ Success? ◇
           /            \
         Yes             No
          │               │
          ▼               ▼
     [Confirm]    [Show Error]
          │               │
          ▼               ▼
        [END]            [END]

Когда использую:

  • Моделирование бизнес-процессов
  • Показ stakeholders как работает система
  • Определение всех путей (happy path + exceptions)

2. UML (Unified Modeling Language) — для систем

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

Use Case Diagram (UML):

        ┌─────────────────────┐
        │   Banking System    │
        └─────────────────────┘
                 │
    ┌────────────┼───────────────┐
    │            │               │
   ▼            ▼              ▼
[Login]   [Transfer Money]  [Check Balance]
   │            │               │
   └────────────┼───────────────┘
                │
            ▼   │
        ┌──────┘
        │
        ▼
    ┌─────────┐
    │ Customer│
    └─────────┘

Class Diagram (UML) — для структуры данных:

┌──────────────┐
│   Customer   │
├──────────────┤
│ - id         │
│ - name       │
│ - email      │
├──────────────┤
│ + login()    │
│ + logout()   │
└──────────────┘
       │
       │ Has many
       │
       ▼
┌──────────────┐
│    Order     │
├──────────────┤
│ - id         │
│ - customer_id│
│ - amount     │
├──────────────┤
│ + create()   │
│ + cancel()   │
└──────────────┘

3. Entity-Relationship Diagram (ER Model) — для БД

Обычно используется в BPMN или UML контексте, но это самостоятельная нотация.

┌──────────┐         ┌──────────┐
│  Users   │ 1───────┤  Orders  │
├──────────┤  has    ├──────────┤
│ id (PK)  │─────────│ id (PK)  │
│ name     │  many   │ user_id  │
│ email    │         │ total    │
└──────────┘         └──────────┘

4. Flowchart (блок-схема) — для логики

Старая нотация, но все еще полезна для простых процессов.

     [START]
        │
        ▼
    ┌────────┐
    │ Input  │
    └────┬───┘
         │
         ▼
     ◇ Valid? ◇
    /         \
  Yes         No
   │           │
   ▼           ▼
[Process]  [Error]
   │           │
   └─────┬─────┘
         │
         ▼
    [Output]
         │
         ▼
      [END]

5. Swimlane Diagram — для ответственности

Показывает, кто за что отвечает в процессе.

┌──────────┬──────────┬──────────┐
│Customer │  System │  Admin   │
├──────────┼──────────┼──────────┤
│          │          │          │
│ [Order] ─│─────────▶│          │
│          │ [Process]│          │
│          │          │ [Approve]│
│          │◀─────────│─────────│
│ [Email] ◀│──────────│          │
│          │          │          │
└──────────┴──────────┴──────────┘

6. Data Flow Diagram (DFD) — для данных

Показывает, как движутся данные в системе.

┌──────────┐
│ Customer │ (External Entity)
└────┬─────┘
     │ order_details
     ▼
┌──────────────────┐
│  Process Order   │ (Process)
└────┬─────────────┘
     │ order_data
     ▼
  [Database]
  (Data Store)
     │ order_status
     ▼
┌──────────────────┐
│ Send Notification│ (Process)
└────┬─────────────┘
     │ notification
     ▼
┌──────────┐
│ Customer │ (External Entity)
└──────────┘

7. Decision Table (Матрица решений) — для условной логики

Полезно когда много условий и вариантов.

Condition/Decision Table: "Approve Loan"

┌─────────────────┬─────┬─────┬─────┬─────┐
│ Salary (USD)    │ R1  │ R2  │ R3  │ R4  │
├─────────────────┼─────┼─────┼─────┼─────┤
│ < 30,000        │ Yes │ Yes │ No  │ No  │
│ 30,000 - 50,000 │ Yes │ No  │ Yes │ No  │
│ > 50,000        │ Yes │ Yes │ Yes │ Yes │
├─────────────────┼─────┼─────┼─────┼─────┤
│ Credit Score    │     │     │     │     │
│ < 650           │ No  │ No  │ No  │ No  │
│ 650 - 750       │ Yes │ Yes │ No  │ Yes │
│ > 750           │ Yes │ Yes │ Yes │ Yes │
├─────────────────┼─────┼─────┼─────┼─────┤
│ Debt Ratio      │     │     │     │     │
│ > 50%           │ No  │ No  │ No  │ No  │
│ < 50%           │ Yes │ Yes │ Yes │ Yes │
├─────────────────┼─────┼─────┼─────┼─────┤
│ Action          │ App │ Req │ App │ Rej │
│                 │     │Doc  │     │     │
└─────────────────┴─────┴─────┴─────┴─────┘

Где: App = Approve, Req = Request Documents, Rej = Reject

8. BDD Notation (Given-When-Then) — для тестов

Хотя это не диаграмма, это важная нотация для определения требований.

Feature: Customer Login

Scenario: Valid credentials
  Given customer is on login page
  When customer enters valid email and password
  Then system shows dashboard
  And system stores login timestamp

Scenario: Invalid password
  Given customer is on login page
  When customer enters invalid password
  Then system shows error message
  And login attempt is logged

Как я выбираю нотацию

Вопрос 1: Что моделирую?

Процесс?          → BPMN
Система/данные?   → UML
Данные в БД?      → ER Diagram
Логика/алгоритм?  → Flowchart
Ответственность?  → Swimlane
Движение данных?  → DFD
Условия?          → Decision Table
Тесты?            → BDD

Вопрос 2: Для кого?

Для stakeholders?    → BPMN (проста для непрограммистов)
Для разработчиков?  → UML, DFD (техническая)
Для аналитиков?     → ER, Decision Table
Для QA?             → BDD

Вопрос 3: Сложность?

Простой процесс?    → Flowchart
Сложный процесс?    → BPMN
Много интеграций?   → DFD
Много условий?      → Decision Table

Примеры использования в реальных проектах

Проект 1: E-commerce checkout

Нотация 1: BPMN для бизнес-процесса
  - Показываю stakeholders как работает checkout
  - Все пути: успех, ошибка платежа, отмена, timeout

Нотация 2: UML Use Case для системы
  - Какие actors (Customer, Payment System, Inventory)
  - Какие use cases (Place Order, Process Payment, Confirm)

Нотация 3: DFD для интеграций
  - Как данные идут в Payment Gateway
  - Как обновляется Inventory

Нотация 4: ER Diagram для БД
  - Какие таблицы (Orders, OrderItems, Payments)
  - Какие связи

Проект 2: Loan approval system

Нотация 1: Decision Table для логики одобрения
  - Если зарплата, кредитный скор, долговые обязательства
  - То: одобрить, запросить доки, отклонить

Нотация 2: BPMN для бизнес-процесса
  - От подачи заявки до одобрения/отказа

Нотация 3: Swimlane для процесса
  - Customer подает
  - System валидирует
  - Analyst проверяет
  - Approver решает

Мой рейтинг нотаций по популярности

НотацияИспользованиеСложностьПопулярность
BPMN60%Medium⭐⭐⭐⭐⭐
UML30%Medium⭐⭐⭐⭐
Flowchart20%Easy⭐⭐⭐
DFD20%Medium⭐⭐⭐
ER Diagram15%Easy⭐⭐⭐⭐
Swimlane15%Easy⭐⭐⭐
Decision Table10%Easy⭐⭐
BDD25%Easy⭐⭐⭐⭐

Типичные ошибки

Я использую сложную нотацию для простого процесса

  • BPMN с 50 элементами для простого workflow
  • Никто не понимает, потому что слишком сложно

Я микшу нотации

  • BPMN символы + UML символы в одной диаграмме
  • Людям непонятно

Я не обновляю диаграммы

  • Процесс изменился, диаграмма нет
  • Результат: дезинформация

Я выбираю нотацию на основе личного предпочтения

  • Я люблю BPMN, поэтому использую везде
  • Но может быть, Flowchart проще для этого случая

Я выбираю нотацию на основе:

  • Что я моделирую
  • Для кого это
  • Сколько сложности

Инструменты для создания диаграмм

Универсальные:
- Draw.io (бесплатно, простой)
- Lucidchart (дорогой, красивый)
- Visio (корпоративный стандарт)

Для BPMN:
- Camunda Modeler (специализированный)
- Signavio (enterprise)

Для UML:
- StarUML
- Modelio

Для командной работы:
- Miro
- Figma

Итог

Я знаю и использую эти нотации:

BPMN 2.0 — главная нотация для бизнес-процессов ✅ UML — для систем и архитектуры ✅ ER Diagrams — для структуры БД ✅ DFD — для движения данных ✅ Flowchart — для простых процессов и логики ✅ Swimlane — для показа ответственности ✅ Decision Table — для условной логики ✅ BDD (Given-When-Then) — для тестов и требований

Главное правило: выбираю нотацию, которая решает проблему понимания для конкретной аудитории.

Какие знаешь виды нотаций? | PrepBro