Gymterview
junior

Какие существуют типы диаграмм?

В UML 2.5 определено 14 типов диаграмм, которые делятся на две большие группы: структурные (описывают статическую архитектуру системы) и диаграммы поведения (описывают динамику — как система работает во времени).

Структурные диаграммы

Показывают «из чего состоит» система — классы, объекты, компоненты, пакеты и их связи.

Диаграмма Что описывает Когда используется
Классов (Class) Классы, атрибуты, методы и связи между ними Проектирование доменной модели, описание API
Объектов (Object) Снимок экземпляров классов в конкретный момент времени Демонстрация конкретного состояния системы
Компонентов (Component) Модули, библиотеки, сервисы и зависимости между ними Архитектура микросервисов, модульная структура
Развёртывания (Deployment) Узлы (серверы, контейнеры) и размещённые на них артефакты Описание инфраструктуры, DevOps-документация
Пакетов (Package) Группировка элементов по логическим пакетам Организация крупных систем, границы модулей
Профилей (Profile) Расширение стандартных элементов UML стереотипами Адаптация UML под конкретную предметную область
Композитной структуры (Composite Structure) Внутреннее устройство класса и взаимодействие его частей Описание сложных классов с внутренними компонентами

Отдельно выделяют диаграмму кооперации (Collaboration) — подвид композитной структуры, показывающий роли и взаимодействие классов в рамках кооперации.

Диаграммы поведения

Показывают «как работает» система — потоки управления, состояния, взаимодействия.

Диаграмма Что описывает Когда используется
Деятельности (Activity) Последовательные и параллельные потоки действий Бизнес-процессы, алгоритмы, workflow
Состояний (State Machine) Состояния объекта и переходы между ними по событиям Жизненный цикл заказа, статусы задачи
Вариантов использования (Use Case) Актёры и функции системы с их точки зрения Сбор требований, обсуждение с заказчиком

Диаграммы взаимодействия (подвид диаграмм поведения)

Диаграмма Что описывает Когда используется
Последовательности (Sequence) Обмен сообщениями между объектами во времени Сценарии API-вызовов, отладка взаимодействий
Коммуникации (Communication) Связи между объектами с нумерацией вызовов Акцент на структуре связей, а не на времени
Обзора взаимодействия (Interaction Overview) Комбинация Activity и Sequence диаграмм Сложные сценарии с ветвлениями
Синхронизации (Timing) Изменение состояний на временной шкале Системы реального времени, протоколы

Какие диаграммы используют чаще всего

На практике в Java-разработке наиболее востребованы: Class diagram (доменная модель, структура пакетов), Sequence diagram (сценарии взаимодействия сервисов), Activity diagram (бизнес-процессы) и Use Case diagram (функциональные требования). Остальные диаграммы применяются в специфических контекстах — например, State Machine для описания жизненного цикла сущностей со сложной логикой переходов.

На собеседовании: не нужно заучивать все 14 типов. Интервьюер ожидает, что вы уверенно назовёте деление на структурные и поведенческие, перечислите 4–5 основных диаграмм и расскажете, в каких ситуациях применяли их на практике. Бонус — упомянуть Sequence diagram как самую популярную для документирования API-взаимодействий.