UML (Unified Modeling Language, унифицированный язык моделирования) — стандарт Object Management Group для визуального описания программных систем. Принят в 1997 году, текущая версия — UML 2.5.1. Стандарт содержит 14 типов диаграмм: 7 структурных (что есть в системе) и 7 поведенческих (как система работает). UML применяют разработчики, системные аналитики, архитекторы и тестировщики — везде, где нужно визуализировать, спроектировать или задокументировать программную систему. В статье разберём историю стандарта, базовую нотацию, все 14 видов диаграмм, инструменты и практику применения для системного аналитика.
В начале 1990-х в IT сложилась ситуация: каждый специалист рисовал схемы по-своему. Джеймс Рамбо разработал методологию OMT (1991), Грэди Буч — Booch method (1994), Ивар Якобсон — OOSE (1992). Три подхода решали похожие задачи, но были несовместимы друг с другом.
Учитесь бесплатно за счёт государства
Экономия до 100 000 ₽ на любой программе
В 1994 году все трое объединились в компании Rational Corporation. Их прозвали «Три Амигоса». К 1997 году они создали UML 1.0 — единый стандарт, который Object Management Group (OMG) приняла как официальный. Сегодня действует версия UML 2.5.1.
UML — не язык программирования и не методология разработки. Это язык визуального моделирования: единый способ описать структуру и поведение системы так, чтобы диаграмму одинаково понял разработчик, аналитик, архитектор и заказчик. Стандарт независим от языков программирования и работает в любой предметной области — от IT до бизнес-процессов и инженерии.
Сильные стороны стандарта:
Ограничения, о которых стоит знать:
UML оправдан для средних и крупных систем с несколькими командами. На микропроектах есть более лёгкие нотации.
UML-диаграммы читаются одинаково у всех, потому что каждый элемент имеет строго зафиксированный графический символ. Базовые графические обозначения — в таблице ниже.
| Элемент |
Обозначение |
Применяется в диаграммах |
|---|---|---|
| Класс | Прямоугольник, 3 секции: имя / свойства / методы | Классов, объектов |
| Объект | Прямоугольник, имя подчёркнуто | Объектов |
| Компонент | Прямоугольник с двумя маленькими прямоугольниками слева | Компонентов |
| Узел | 3D-куб | Развёртывания |
| Актёр | Фигурка человека | Прецедентов |
| Юзкейс | Эллипс | Прецедентов |
| Состояние | Скруглённый прямоугольник | Состояний |
| Ассоциация | Сплошная линия | Классов, прецедентов |
| Наследование | Сплошная линия с незакрашенным треугольником | Классов |
| Зависимость | Пунктирная стрелка | Всех типов |
Два обозначения путают чаще всего: пунктирная стрелка — это зависимость (изменение одного элемента влечёт изменение другого), незакрашенный треугольник — наследование. Запомните разницу — и большинство диаграмм прочитаете без затруднений.
Все 14 типов UML-диаграмм делятся на два класса: структурные описывают, что есть в системе (статика), поведенческие — как система работает (динамика).

Быстрая матрица «задача → тип диаграммы»: нужно спроектировать архитектуру ООП — диаграмма классов; зафиксировать требования заказчика — прецедентов; описать сценарий взаимодействия модулей — последовательности; смоделировать бизнес-процесс — деятельности; показать жизненный цикл объекта — состояний; описать физическую инфраструктуру — развёртывания; задокументировать структуру унаследованной системы — объектов.
Структурные диаграммы показывают статическую архитектуру системы. Каждый из семи видов закрывает свой уровень абстракции.
Диаграмма классов — наиболее используемая в объектно-ориентированном программировании (ООП). Описывает типы объектов и статические отношения между ними: ассоциацию, наследование, агрегацию. Применяется при проектировании архитектуры.
Диаграмма компонентов показывает архитектуру программных модулей — файлов, библиотек, сервисов — и зависимости между ними.
Диаграмма развёртывания отражает физическое распределение системы: серверы, узлы, артефакты. Нужна при описании инфраструктуры.
Диаграмма объектов — снимок конкретных экземпляров классов в определённый момент времени. Помогает проверить корректность спроектированной архитектуры.
Диаграмма пакетов группирует элементы модели. Удобна для многоуровневых приложений.
Диаграмма составной структуры описывает внутреннюю структуру класса на микроуровне.
Диаграмма профилей расширяет стандарт UML для специфичных доменов и платформ.
| Диаграмма |
Краткое описание |
Когда применять |
|---|---|---|
| Классов | Типы объектов и их связи | Проектирование ООП-архитектуры |
| Компонентов | Архитектура модулей и зависимости | Описание программных компонентов |
| Развёртывания | Физическая инфраструктура | Описание серверов и узлов |
| Объектов | Снимок экземпляров классов | Проверка архитектуры, документация |
| Пакетов | Группировка элементов | Многоуровневые приложения |
| Составной структуры | Внутренняя структура класса | Детальное описание классов |
| Профилей | Расширение UML для домена | Специализированные платформы |

Поведенческие диаграммы описывают динамику: как объекты взаимодействуют, как меняется состояние системы, как выполняется процесс.
Диаграмма прецедентов (Use Case, варианты использования) описывает функциональные требования с точки зрения пользователей. Элементы: актёр (пользователь или внешняя система), юзкейс (действие системы), граница системы. Главный инструмент системного аналитика на этапе сбора требований.
Диаграмма деятельности — граф рабочего процесса с условными переходами и параллелизмом (fork/join). По виду напоминает блок-схему, но поддерживает параллельные потоки выполнения.
Диаграмма состояний описывает жизненный цикл объекта: переходы между состояниями. Основана на концепции конечного автомата.
Диаграмма последовательности показывает взаимодействие объектов по вертикальной оси времени: линии жизни и сообщения между ними. Применяется для описания API и сценариев взаимодействия.
Диаграмма коммуникации семантически эквивалентна диаграмме последовательности, но акцентирует пространственные связи объектов, а не порядок событий.
Диаграмма обзора взаимодействия — вариант диаграммы деятельности, где узлы — фрагменты взаимодействий.
Временна́я диаграмма — особая форма диаграммы последовательности с горизонтальной осью времени; применяется при строгих временных ограничениях.
| Диаграмма |
Когда применять |
|---|---|
| Прецедентов (Use Case) | Сбор и визуализация требований |
| Деятельности | Моделирование бизнес-процессов |
| Состояний | Жизненный цикл объекта |
| Последовательности | Взаимодействие модулей, описание API |
| Коммуникации | Топология взаимодействий объектов |
| Обзора взаимодействия | Сложные составные сценарии |
| Временна́я | Системы с жёсткими временными ограничениями |

Системный аналитик — главный потребитель поведенческих диаграмм UML. Задача аналитика — перевести бизнес-требования заказчика в технические спецификации для команды разработки, и здесь UML незаменим.
Хотите сменить профессию или повысить квалификацию?
Федеральный проект «Активные меры содействия занятости» даёт возможность пройти обучение бесплатно за счёт государства
Рабочий набор диаграмм для системного аналитика:
Практический маршрут: аналитик строит Use Case для фиксации требований → затем диаграмму последовательности для ключевых сценариев взаимодействия → диаграмму компонентов для обсуждения архитектуры.

Программа «Системный аналитик: с нуля до проектирования систем» (72 ч, бесплатно в рамках нацпроекта «Кадры») включает практику построения именно этих диаграмм — прецедентов, деятельности, последовательности.
Четыре шага, которые работают для любого типа:

Новичкам рекомендуют начинать с диаграммы классов или Use Case — они наиболее интуитивны. Полный справочник по элементам — спецификация UML 2.5.1 на официальном сайте OMG.
Два подхода к работе с UML: визуальный (перетаскивание элементов, drag-and-drop) и подход «от кода» (code-first) — текстовый синтаксис автоматически превращается в диаграмму.
| Инструмент |
Тип |
Бесплатно |
Генерация из кода |
Для кого |
|---|---|---|---|---|
| draw.io (diagrams.net) | Визуальный, браузер | Полностью | Нет | Начинающие, аналитики |
| PlantUML | Code-first, открытый исходный код | Полностью | Да (DSL) | Разработчики, DevOps |
| Mermaid.js | Code-first | Полностью | Да | Разработчики (GitLab, GitHub, Notion) |
| Lucidchart | Визуальный, браузер | Частично | Нет | Командная работа |
| Visual Paradigm | Визуальный, десктоп | Частично | Реверс-инжиниринг | Архитекторы |
draw.io — оптимальный старт: полностью бесплатный браузерный редактор с готовыми UML-шаблонами и интеграцией Google Drive. Работает без регистрации.
PlantUML — текстовое описание синтаксиса превращается в диаграмму. Интегрируется в конвейеры непрерывной интеграции (CI/CD), хранится в системе контроля версий вместе с кодом.
Mermaid.js встроен в GitLab, GitHub и Notion: UML-диаграмма живёт прямо в документации, отдельный инструмент не нужен.
Visual Paradigm поддерживает реверс-инжиниринг — строит диаграммы классов из существующего кода автоматически. Полезен при работе с унаследованными системами.
Хотите освоить UML и системный анализ с нуля? В рамках федерального проекта «Активные меры содействия занятости» можно пройти обучение без вложений — онлайн, в удобное время. Смотрите каталог доступных программ.
UML — стандартизированный язык моделирования, принятый OMG, где каждый элемент имеет строго зафиксированное значение: незакрашенная стрелка — наследование, ромб — агрегация, пунктир — зависимость. Произвольная блок-схема понятна только её автору; UML-диаграмма однозначно читается любым специалистом в мире, потому что нотация стандартизирована и задокументирована в спецификации UML 2.5.1.
UML создан в 1994–1997 годах в Rational Corporation тремя специалистами — Джеймс Рамбо (методология OMT, 1991), Грэди Буч (Booch method, 1994) и Ивар Якобсон (OOSE, 1992). Их называют «Три Амигоса». В 1997 году UML 1.0 принят официальным стандартом OMG.
В UML 14 типов: 7 структурных (классов, компонентов, развёртывания, объектов, пакетов, составной структуры, профилей) и 7 поведенческих (прецедентов, деятельности, состояний, последовательности, коммуникации, обзора взаимодействия, временна́я). На практике большинство задач закрывают 5–6 наиболее распространённых типов.
Диаграмма прецедентов (Use Case) описывает функциональные требования системы с точки зрения пользователей. Элементы: актёр (пользователь или внешняя система), юзкейс (действие системы), граница системы. Используется системными аналитиками на этапе сбора требований для перевода бизнес-запросов заказчика в технические сценарии.
Обе семантически эквивалентны и описывают одно взаимодействие объектов. Диаграмма последовательности акцентирует временну́ю ось (сверху вниз). Диаграмма коммуникации — пространственные связи между объектами. Выбор зависит от акцента: порядок событий → последовательности; топология взаимодействий → коммуникации.
Ассоциация (сплошная линия) — общая связь: объекты взаимодействуют и остаются независимыми. Агрегация (линия с ромбом) — один объект является частью другого, но может существовать самостоятельно. Наследование (незакрашенный треугольник) — дочерний класс берёт все свойства и методы родительского.
Пунктирная стрелка обозначает зависимость: изменение одного элемента влечёт изменение другого. Применяется во всех типах диаграмм. В диаграмме классов — зависимость между классами; в диаграмме прецедентов — отношение «include» или «extend» между юзкейсами.
Два подхода. Подход «от кода» (code-first) — PlantUML и Mermaid.js создают диаграммы из текстового синтаксиса, популярны в конвейерах непрерывной интеграции. Реверс-инжиниринг — Visual Paradigm анализирует существующий код и строит диаграмму классов автоматически. Второй подход особенно полезен для документирования унаследованных систем.
Для начинающих — draw.io (diagrams.net): полностью бесплатный браузерный редактор с готовыми UML-шаблонами и интеграцией Google Drive. Для разработчиков, предпочитающих код, — PlantUML (открытый исходный код). Для командной работы — Lucidchart (есть ограниченный бесплатный план).
Четыре ключевых типа: диаграмма прецедентов (фиксация требований), диаграмма деятельности (бизнес-процессы as-is/to-be), диаграмма последовательности (сценарии взаимодействия систем и API), диаграмма компонентов (архитектурные зависимости). Диаграмму прецедентов считают главным рабочим инструментом системного аналитика.
Подайте заявку —
забронируйте место в группе
45 000 мест на 2026 год. Бесплатное обучение по федеральному проекту «Активные меры содействия занятости»