UML (Unified Modeling Language) – язык моделирования (версия 2.0)

UML — это универсальный язык визуального моделирования, используемый для описания, проектирования и документирования программных систем.


🧩 UML использует:

  • Фигуры
  • Линии (связи)
  • Значки
  • Надписи

UML применяет разные типы диаграмм и текстовые пояснения, уточняющие детали моделей.


📊 Виды UML-диаграмм:

1. Диаграмма прецедентов (Use Case Diagram)

Используется для определения ключевых компонентов и процессов системы.
Основные элементы:

  • Акторы (внешние участники)
  • Прецеденты (сценарии использования) — действия, которые могут выполнять акторы
    Диаграмма показывает, какие акторы взаимодействуют с какими действиями системы.

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

Развивает диаграмму прецедентов, описывая более подробный дизайн системы.
Классы могут иметь:

  • Методы — действия/функции, которые может выполнять класс
  • Атрибуты — свойства класса
    Связи между классами (например, «имеет», «является») отображаются через ассоциации.

3. Диаграмма объектов (Object Diagram)

Показывает конкретные экземпляры классов (объекты) в определённый момент времени.
Используется для описания состояния системы и взаимосвязей между объектами в момент выполнения.


4. Диаграмма состояний (State Diagram)

Показывает, какие состояния проходит объект в течение своего жизненного цикла.
Также отображаются:

  • События, вызывающие переходы между состояниями
  • Начальное и конечное состояние

5. Диаграмма активности (Activity Diagram)

Описывает поток процессов внутри системы.
Состоит из:

  • Действий, переходов, условий, развилок, начальной и конечной точек
    Похожа на диаграмму состояний, но описывает действия более пошагово.

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

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

  • Как и в каком порядке объекты обмениваются сообщениями
    Полезна для анализа сценариев работы функций или процессов.

7. Диаграмма взаимодействий (Collaboration Diagram)

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


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

Представляет высокоуровневые компоненты системы и их взаимосвязи.
Показывает, из каких модулей/блоков состоит система и как они связаны между собой.
Иногда используется также как диаграмма данных (БД).


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

Отображает аппаратные компоненты и расположение программных компонентов во время выполнения системы.
Полезна для анализа архитектуры внедрения/развёртывания приложения.


10. Сюжетная доска (Storyboard)

Используется на этапе проектирования интерфейса и функциональности.

  • Не отображает визуальный дизайн, а показывает структуру и содержание страниц сайта/приложения.
  • Помогает принять решения по технологиям, бюджету, архитектуре.
  • Может быть создана вручную или с помощью графических редакторов.