Перейти к основному содержимому

Основы диаграмм и моделирования

Аналитику Архитектору Руководителю Техническому писателю
Зачем эта статья

Здесь — общая теория и карта нотаций. Практика процессов (as-is/to-be, journey, DFD) — в моделировании бизнес-процессов; справочник элементов BPMN — в 129; инструменты — в 126.

Компонент загружается. Это пример интеграции — сейчас мы запрашиваем данные из другой системы.

1. Что такое моделирование и зачем оно нужно

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

Академическое определение. Модель — формализованное представление объекта или системы, построенное с целью изучения, объяснения, проектирования или управления его структурой, поведением или состоянием (обобщение по ISO/IEC/IEEE 24765 и практике системной инженерии). Модель всегда частична: она адекватна только в рамках заявленной цели.

По-человечески. Представьте, что вы объясняете коллеге, как устроен интернет-магазин. На словах за пять минут вы опустите детали про цвет кнопок и версию PostgreSQL — но скажете про «корзину», «оплату» и «склад». Вы уже построили ментальную модель. Диаграмма — это та же идея, только зафиксированная на бумаге или в файле, по правилам нотации, чтобы её поняли не только вы.

Зачем моделировать в IT

ЗадачаЧто даёт модель
СогласованиеБизнес, аналитик и разработчик смотрят на одну схему, а не на десять разных «картинок в голове»
Снижение рискаОшибку на диаграмме исправить дешевле, чем в продакшене
Передача знанийНовый сотрудник читает as-is процесс и C4-контекст быстрее, чем триста страниц переписки
АвтоматизацияИсполняемый BPMN (Camunda, Flowable) — модель становится частью runtime
ПроектированиеUML и ERD помогают дойти до кода и схемы БД без «угадывания» на ходу

Моделирование не заменяет разговор с заказчиком и не гарантирует истину. Оно структурирует знания. Хорошая модель уменьшает энтропию: меньше двусмысленности, меньше «а я думал, что…».

Две большие области в IT

  1. Процессы и операционная логика — кто что делает, в каком порядке, при каких условиях. Нотации: BPMN, EPC, блок-схемы, customer journey.
  2. Структура и архитектура ПО — из чего собрана система, как части общаются, где лежат данные. Нотации: UML, C4, ArchiMate, ERD.

Смешивать их на одном листе без пояснения уровня — частая ошибка новичка. Процесс «оформить заказ» и контейнер «Order Service» отвечают на разные вопросы; оба нужны, но не на одной диаграмме без рамки «это процесс» / «это архитектура».

Дальше по проекту: артефакты аналитика → практика процессов 124технический дизайн → раздел 7.06 Проектирование и архитектура.


2. Терминология

Ниже — словарь из 50 терминов, с которых удобно начинать. Для каждого: коротко «по-человечески» и формулировка ближе к учебнику. Расширенные определения — в глоссарии.

2.1. Базовые понятия визуализации

ТерминПо-человеческиАкадемически / строго
1МодельУпрощённая «копия» реальности под задачуАбстрактное представление системы с явной целью и границами достоверности
2НотацияНабор правил: «круг = событие, прямоугольник = задача»Формальный язык графических символов и связей с заданной семантикой (BPMN 2.0, UML 2.x, C4)
3ДиаграммаРисунок по стандарту, который понимают специалистыГрафическое представление модели в рамках конкретной нотации
4СхемаБыстрый эскиз «на салфетке», правила могут быть свободнымиГрафическое изображение без обязательного соответствия стандарту; часто черновик
5ГрафикЛинии/столбцы по числам во времениВизуализация количественных рядов (временны́е ряды, распределения, сравнения)
6ВиджетОдин блок на экране: KPI, таблица, мини-графикЭлемент пользовательского интерфейса или дашборда с привязкой к источнику данных
7ДашбордЭкран «всё важное сразу» для мониторингаКомпоновка виджетов и графиков для оперативного анализа метрик
8ВизуализацияЛюбой способ показать данные или структуру глазамиПреобразование информации в зрительную форму для познания или принятия решений
9АртефактЛюбой «выход» работы: ТЗ, диаграмма, прототипОсязаемый результат деятельности по ЖЦ ПО (см. 123)
10АбстракцияСкрыть детали, оставить сутьВыделение существенных свойств объекта при игнорировании несущественных

2.2. Элементы модели

ТерминПо-человеческиАкадемически / строго
11Сущность«Объект мира»: заказ, пользователь, серверИдентифицируемый объект предметной области со состоянием и/или поведением
12Связь«A связан с B»Отношение между сущностями: ассоциация, зависимость, агрегация, FK
13АтрибутПоле сущности: имя, цена, датаИменованное свойство сущности с типом и ограничениями
14АктёрКто взаимодействует с системой снаружиРоль вне системы, инициирующая или получающая поведение (UML, C4 Person)
15Событие«Что-то произошло» — старт, таймер, сообщениеМомент изменения состояния, триггер перехода в процессе или автомате
16Состояние«Сейчас заказ в статусе Оплачен»Дискретное значение жизненного цикла объекта при заданных правилах переходов
17ПереходСтрелка «из А в Б»Условие или действие смены состояния или шага процесса
18Контейнер (C4)Крупная часть системы: приложение, БД, очередьЕдиница развёртывания или исполнения с технологической границей
19КомпонентМодуль внутри приложенияЛогическая часть контейнера с явными зависимостями
20Граница системыЧто «внутри нашего продукта», что снаружиScope модели: что включено в описание, а что — внешняя зависимость

2.3. Уровни и аудитория

ТерминПо-человеческиАкадемически / строго
21Уровень абстракции«Насколько крупно рисуем»Степень детализации модели от контекста до кода
22Аудитория диаграммыДля кого рисуем: директор, разработчик, аудиторЦелевая группа потребителей модели, определяющая допустимую детализацию
23Контекст (C4 L1)Система как чёрный ящик среди людей и APISystem Context: границы продукта и внешние взаимодействия
24ДекомпозицияРазбить сложное на частиИерархическое разбиение модели без потери связности
25РефайнментУточнить грубую схему детальнойСвязь моделей разного уровня (один шаг BPMN → подпроцесс)
26As-isКак работает сейчасМодель текущего состояния (baseline)
27To-beКак должно быть после измененийЦелевая модель будущего состояния
28Gap analysisРазница между as-is и to-beСравнительный анализ разрывов процессов, систем или данных
29ScopeГраницы задачи: что входим, что нетОграничение предметной области и глубины моделирования
30StakeholderЗаинтересованная сторонаСубъект, чьи интересы затрагивает система или процесс

2.4. Процессы и BPMN

ТерминПо-человеческиАкадемически / строго
31Бизнес-процессУстойчивая цепочка работы к результатуНабор связанных действий, преобразующих входы в выходы для потребителя
32Задача (Task)Один шаг работыАтомарное действие в потоке BPMN
33Подпроцесс«Мини-процесс внутри процесса»Иерархическая инкапсуляция фрагмента процесса
34Шлюз (Gateway)Развилка: И/ИЛИ/исключающий выборЭлемент ветвления, слияния или параллелизма потока
35Дорожка (Lane)Кто отвечает: отдел, роль, системаSwimlane: пространственное разделение ответственности
36Пул (Pool)Участник взаимодействия (организация, система)Граница независимого процесса или контрагента
37Поток управленияПорядок выполнения шаговSequence Flow в BPMN
38Поток сообщенийОбмен между пуламиMessage Flow между участниками
39Исполняемая модельДиаграмма, которую крутит движокExecutable BPMN с семантикой, поддерживаемой BPMS
40ХореографияКто кому что шлёт без внутренней логикиChoreography: протокол взаимодействия участников

Подробно: справочник BPMN 2.0, движки Camunda и Flowable.

2.5. UML, архитектура, данные

ТерминПо-человеческиАкадемически / строго
41Класс (UML)Шаблон объекта с полями и методамиКлассификатор экземпляров с атрибутами, операциями и отношениями
42ИнтерфейсКонтракт «что должен уметь», без реализацииСпецификация операций; реализация в классах (Realization)
43Прецедент (Use Case)Сценарий «пользователь хочет…»Спецификация поведения системы относительно актёров
44Диаграмма последовательностиКто кому что вызывает по времениInteraction: обмен сообщениями между lifeline в хронологии
45Диаграмма состоянийЖизненный цикл одного объектаState Machine: состояния, события, guard-условия
46C4 ModelЧетыре zoom-уровня архитектурыContext → Containers → Components → Code (Simon Brown)
47ERDТаблицы и связи в БДEntity-Relationship Diagram: сущности, атрибуты, кардинальность
48КардинальностьСколько с каждой стороны: 1, 0.., 1..Ограничение кратности связи в ERD или UML
49НормализацияУбрать дубли и аномалии в таблицахДекомпозиция схемы БД по нормальным формам (1НФ–BCNF)
50МетрикаИзмеримый показатель продуктаКоличественная мера, агрегируемая во времени (DAU, conversion, ARPU)

Дополнительно в глоссарии: UML, C4 Model, бизнес-процесс.


3. Какой вид визуализации выбирать?

Главная шпаргалка: сначала вопрос, потом нотация. Не «нам нужен BPMN», а «нужно показать, кто и в каком порядке согласует заявку».

Таксономия: вопрос → визуализация

Вопрос, который нужно закрытьЧто рисоватьНотация / форматКуда углубиться
Как сейчас / как будет работать операция?Поток работ, роли, ветвленияBPMN 2.0, блок-схема124, 129
Кто взаимодействует с продуктом снаружи?Контекст системыC4 Context, Use Case§6, 7.06
Из чего состоит система технически?Сервисы, БД, очереди, UIC4 Container, диаграмма компонентов UML§6, 126
Как устроены классы и связи в коде?Объектная модельUML Class Diagram124#uml-class-diagram
Как объекты обмениваются вызовами во времени?Сценарий API, интеграцияUML Sequence, BPMN message128, 7.06 design
Какие статусы у заказа, тикета, платежа?Автомат состоянийUML State Machine, таблица переходов124
Как хранятся данные?Таблицы, ключи, связиERD, логическая модель§7
Что видит пользователь и в каком порядке?Экраны, кликиWireframe, user flow, Figma125, 1.25 Интерфейс
Сколько пользователей дошло до оплаты?Воронка, когортыГрафик, Sankey, BI§8, 1123
Как меняется выручка по месяцам?Динамика KPIЛинейный/столбчатый график1123, 3.11 Анализ данных
Нужен ли быстрый эскиз на встрече?Схема на доскеСвободная схема → потом BPMN/C4124
Как ИТ стыкуется с бизнес-целями в корпорации?Слои бизнес / приложение / инфраArchiMate126
Где физически крутятся сервисы?Узлы, сетиUML Deployment, схема инфра8.06
Как данные текут между системами?Потоки без детализации шаговDFD124
Какой путь клиента через каналы?Этапы, боли, точки контактаCustomer Journey Map124
Правило одного листа

Одна диаграмма — один уровень абстракции и одна аудитория. Для совета директоров — C4 Context и KPI. Для разработчиков — Sequence и Class Diagram. Смешивать на одном слайде «процесс согласования» и «микросервис Payment» — признак, что пора разнести на два артефакта.

Диаграмма проектирования ≠ график аналитики

Диаграмма (BPMN, UML, C4, ERD)График / дашборд
ИсточникМодель в голове команды, требованияСобытия, логи, транзакции в БД
ЦельСпроектировать или согласовать будущее/структуруПонять фактическое поведение пользователей
МеняетсяПри смене требований или архитектурыПри каждом новом дне данных
Типичная ошибкаРисуют «красивый BPMN» без интервьюСтроят дашборд без определения метрики

4. Процессы и поведение → BPMN

BPMN (Business Process Model and Notation) — стандарт OMG для описания последовательности работ, событий, ветвлений и участников. Это язык бизнес-аналитика и инженера процессов, а не схема классов.

По-человечески. BPMN отвечает на вопрос: «Что происходит шаг за шагом, кто за это отвечает и где ветвление?» Заказ создан → проверка склада → если нет — уведомление → иначе сборка → отгрузка.

Академически. BPMN 2.0 задаёт метамодель Flow Objects (Events, Activities, Gateways), Connecting Objects, Swimlanes и Artifacts с исполняемой семантикой для подмножества элементов.

Три уровня в BPMN

УровеньСодержаниеКогда использовать
ОрганизационныйПулы, дорожки, взаимодействие подразделенийСогласование с бизнесом, регламенты
ПроцессныйЗадачи, шлюзы, события, потокиAs-is / to-be, ТЗ, автоматизация
ИсполняемыйДетали для Camunda/Flowable: типы задач, сообщения, таймерыCI/CD процессов, low-code

Минимальный набор элементов

  • Стартовое событие — круг с тонкой границей.
  • Задача — прямоугольник со скруглением.
  • Шлюз XOR — ромб с «×» (один путь).
  • Конечное событие — круг с жирной границей.
  • Дорожка — горизонтальная полоса роли или системы.

Не путайте поток управления (внутри пула) и поток сообщений (между пулами).

Куда читать дальше


5. Структура ПО → UML

UML (Unified Modeling Language) — семейство диаграмм OMG для структуры и поведения программных систем. Это не язык программирования: это согласованная нотация между аналитиком, архитектором и разработчиком.

Две группы диаграмм

Структурные — «из чего состоит»:

ДиаграммаНазначение
КлассовТипы, поля, методы, наследование, ассоциации
КомпонентовМодули, библиотеки, API между ними
РазвёртыванияУзлы, артефакты, сеть
ПакетовГруппировка по слоям или доменам
ОбъектовСнимок экземпляров в момент времени

Поведенческие — «как ведёт себя во времени»:

ДиаграммаНазначение
ПрецедентовФункции системы для актёров
ПоследовательностиВызовы и сообщения по времени
СостоянийЖизненный цикл объекта
АктивностиПоток действий с ветвлениями (близко к BPMN)
КоммуникацииСвязи объектов с акцентом на структуру, не время

С чего начать новичку

  1. Use Case — на этапе требований (111).
  2. Диаграмма классов — ядро объектной модели перед кодом.
  3. Sequence — для REST/gRPC и микросервисов (128).

Детальная нотация классов (видимость +/-, ассоциация vs композиция, интерфейсы) — в Моделирование бизнес-процессов, раздел UML. Там же интерактивный эскиз.

Связь с кодом: проектирование сущности, ООП, технический дизайн.


6. Архитектура → C4

C4 Model (Simon Brown) — иерархия из четырёх уровней для описания архитектуры ПО без перегруза UML. Идея: как карты — сначала страна, потом город, потом дом.

УровеньВопросПример элементов
1. ContextЧто делает система и с кем говорит?Person, Software System, External System
2. ContainersИз каких крупных частей собрана?Web App, API, Database, Message Broker
3. ComponentsЧто внутри одного контейнера?Controllers, Services, Repositories
4. CodeКакие классы/модули?Опционально; часто достаточно IDE и Class Diagram

Правило практики: держите C4 на Context и Container в общей документации; Components — для онбординга в сервис; Code — точечно или не на диаграмме вовсе (FAQ 7.06).

Пример: «Вселенная IT» (этот репозиторий)

Уровень C4«Вселенная IT» (it-knowledge-base)
ContextЧитатель, автор, GitHub, spirzen.ru
ContainersРепозиторий; Docusaurus (docs, src, static); GitHub Actions; GitHub Pages
ComponentsТема, remark-плагины, src/components/*, скрипты scripts/*.mjs
CodeОтдельные React-компоненты и MDX-страницы (по необходимости)

Сводная схема — на странице «О проекте».

Инструменты: Structurizr, Mermaid C4, PlantUML, Draw.io — инструменты аналитика. Углубление: основы проектирования, роль архитектора.


7. Данные → ERD

ERD (Entity-Relationship Diagram) описывает логическую структуру данных: сущности (будущие таблицы), атрибуты (столбцы), связи и кардинальность (один-ко-многим и т.д.).

По-человечески. ERD отвечает: «Какие сущности храним и как они ссылаются друг на друга?» Пользователь — Заказ — Строка заказа — Товар.

Отличие от UML Class Diagram. ERD заточен под реляционную БД (PK, FK, нормализация). Диаграмма классов — под объектную модель в коде (наследование, интерфейсы, методы). На одном проекте часто живут обе: ERD для DBA, классы — для разработки; расхождения нужно явно согласовывать.

Минимальный чеклист ERD

  • У каждой сущности есть идентификатор (PK).
  • Связи подписаны глаголом: «содержит», «принадлежит», «оформляет».
  • Кардинальность с обеих сторон: 1, N, 0..1.
  • Имена согласованы с словарём данных.

Куда читать дальше


8. Аналитика и продукт — графики, воронки, дашборды

Этот блок не про проектирование, а про наблюдение за реальностью: что пользователи уже делают в продукте, сколько денег приносит канал, где отваливаются.

Типы визуализаций в продукте и BI

ТипВопросПример
Линейный графикКак метрика меняется во времени?DAU по неделям
Столбчатая диаграммаСравнить категорииВыручка по регионам
Воронка (funnel)Где теряем пользователей по шагам?Визит → регистрация → оплата
Когортный анализКак ведут себя группы, пришедшие в разные даты?Retention 7/30 дней
KPI-карточкаОдно число «здесь и сейчас»Конверсия 3,2%
Таблица / pivotДетализация с фильтрамиТоп SKU по марже
Карта / heatmapПространственное или плотностное распределениеКлики на макете
SankeyПотоки между состояниямиМиграция статусов заказов

Виджет — один такой блок на дашборде. Дашборд — компоновка виджетов для роли (CEO, поддержка, маркетинг).

Отличие от BPMN/UML

  • График строится из логов и витрин (ClickHouse, BigQuery, PostgreSQL, Amplitude).
  • Диаграмма процесса описывает задуманную логику; воронка показывает, как вышло на самом деле.
  • Если воронка расходится с BPMN to-be — либо продукт ведут иначе, либо модель устарела.

Куда читать дальше


9. Инструменты

Один инструмент редко закрывает всё. Типичный стек аналитика:

ЗадачаИнструментЗачем
Текстовые диаграммы в gitMermaid, PlantUMLВерсионирование рядом с docs, CI-рендер
Универсальные схемыDraw.io (diagrams.net)BPMN, UML, C4, экспорт PNG/SVG
Процессы enterpriseBizagi, Camunda Modeler, ELMAВалидация BPMN, исполнение
Архитектура C4Structurizr, Mermaid C4Уровни Context–Container
UX-прототипFigmaWireframe до ТЗ
BI и дашбордыPower BI, Tableau, DataLensМетрики и виджеты

Подробное сравнение, стек по BABOK и чеклист внедрения — Инструменты аналитика.

Диаграммы в этой энциклопедии: mermaid в markdown, интерактив — play.spirzen.ru. Образец пайплайна — О проекте.


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

1. Смешение уровней абстракции

На одной диаграмме «пользователь нажал кнопку», «Kubernetes pod» и «таблица Orders». Лечение: разнести на C4 Context, BPMN и ERD; связать ссылками в документе.

2. Перегрузка диаграммы

Сорок классов или пятнадцать дорожек BPMN на одном листе. Лечение: декомпозиция — подпроцесс, отдельная диаграмма компонентов, ссылка «см. рис. 2».

3. Игнорирование семантики нотации

Ромб без типа шлюза, пунктир там, где нужна ассоциация. Лечение: 129 для BPMN, 124#uml-class-diagram для UML.

4. Устаревшая диаграмма хуже отсутствующей

Код уехал, на схеме — монолит 2019 года. Лечение: C4 только на Context/Container в git; дата и владелец на диаграмме; ADR при смене архитектуры (7.06).

5. Моделирование того, чего нет

Идеальный to-be без интервью с операторами. Лечение: сначала as-is (124), потом gap.

6. Путаница графика и диаграммы проектирования

Строят «BPMN» из цифр продаж. Лечение: см. §3.

7. Диаграмма без аудитории

Sequence с внутренними DTO для CEO. Лечение: подписать «для кого» и «какой вопрос закрывает».

8. Нет легенды и версии

В приложении к ТЗ блок-схема без расшифровки символов. Лечение: техническое письмо — требования к приложениям.


Маршрут после этой статьи

РольСледующие шаги
Бизнес-аналитик124129130116
Системный аналитик124#uml-class-diagram1287.06
Продукт11231121
АрхитекторC4 на проекте1117

Закрепление: Аналитика — итоги, чек-лист.

Содержание