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

Что такое UML?

1.2 Junior🔥 171 комментариев
#Диаграммы и моделирование

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

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

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

Что такое UML

Определение

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

UML разработан объединением методов Booch, OMT и OOSE в 1990-х годах и сейчас является стандартом ISO/IEC 19501.

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

1. Диаграмма вариантов использования (Use Case Diagram)

Описывает взаимодействие между акторами (пользователями) и вариантами использования (функциями системы).

Компоненты:

  • Актор (фигурка человека) — пользователь или внешняя система
  • Use Case (овал) — функция или сценарий
  • Связи (стрелки) — отношения между акторами и вариантами

Пример: Система банкоматов

Актор: Клиент
Use Cases:
- Снять наличные
- Пополнить счёт
- Проверить баланс
- Изменить PIN

2. Диаграмма классов (Class Diagram)

Показывает структуру данных — классы, их атрибуты, методы и связи.

Символика:

┌─────────────────┐
│    Пользователь │
├─────────────────┤
│ - id: int       │  (атрибуты с минусом — приватные)
│ - name: string  │
├─────────────────┤
│ + getEmail()    │  (методы с плюсом — публичные)
│ + login()       │
└─────────────────┘

Связи между классами:

  • Ассоциация (обычная стрелка) — объекты связаны
  • Композиция (чёрный ромб) — часть целого (удаление целого удаляет части)
  • Агрегация (белый ромб) — слабая связь
  • Наследование (стрелка с треугольником) — дочерний класс наследует родительский

Пример:

Заказ (1) ←→ (*) Товар
- уникальность: 1 заказ может содержать много товаров

3. Диаграмма последовательности (Sequence Diagram)

Отображает последовательность взаимодействия между объектами или участниками во времени.

Элементы:

  • Акторы/Объекты (вверху) — участники процесса
  • Временные линии (вниз) — ось времени
  • Сообщения (стрелки) — взаимодействие между участниками

Пример: Процесс аутентификации

Пользователь → Сервер: Отправить логин/пароль
Сервер → БД: Проверить учётные данные
БД → Сервер: Результат проверки
Сервер → Пользователь: Выдать токен доступа

4. Диаграмма деятельности (Activity Diagram)

Показывает последовательность действий с условиями, параллелизмом и циклами. Похожа на блок-схему.

Элементы:

  • Действия (прямоугольники) — задачи
  • Решения (ромбы) — условия (если/то)
  • Синхронизация (чёрные полосы) — параллельные процессы

Пример: Процесс оформления заказа

Начало → Выбрать товар → Добавить в корзину → 
[Товар в наличии?]
├─ Да → Оплатить → Отправить → Конец
└─ Нет → Уведомить → Конец

5. Диаграмма компонентов (Component Diagram)

Отображает архитектуру системы — компоненты и их зависимости.

Примеры компонентов:

  • UI
  • API Gateway
  • Бизнес-логика
  • БД
  • Внешние сервисы

6. Диаграмма развёртывания (Deployment Diagram)

Показывает, как компоненты распределены на физические серверы/устройства.

Зачем UML нужен Business Analyst

  • Визуализация — сложные процессы становятся понятнее
  • Коммуникация — единый язык для всей команды
  • Анализ требований — выявить недостающие функции
  • Документирование — сохранить архитектуру проекта
  • Планирование — оценить сложность
  • Отладка — найти проблемы до разработки

Совет по использованию

Не нужно рисовать все диаграммы сразу. Начни с Use Case (что делает система) и Class Diagram (как устроены данные). Остальное добавляй по мере необходимости.

Для рисования используй инструменты: Lucidchart, Draw.io, StarUML, Visio.

UML — мощный инструмент для структурирования сложных требований и архитектуры. Освоение основных диаграмм критично для профессионального аналитика.