Что такое UML?
UML (Unified Modeling Language) — это унифицированный графический язык моделирования для описания, визуализации, проектирования и документирования объектно-ориентированных систем. Язык предоставляет стандартный набор графических символов и правил их использования, позволяя разработчикам, архитекторам и аналитикам говорить на одном языке при обсуждении структуры и поведения системы.
Аналогия из жизни: UML — это как чертежи здания для архитектора. Заказчик может не знать строительных технологий, но по чертежу он видит, где будут стены, окна и двери. Точно так же UML-диаграмма позволяет увидеть структуру системы без чтения кода.
Ключевые свойства UML
- Графический язык — словарь образуют графические элементы (прямоугольники, стрелки, ромбы), каждому из которых соответствует точная семантика
- Однозначность — модель, созданная одним человеком, может быть однозначно понята другим или интерпретирована программным средством
- Кодогенерация — при наличии инструментального средства (Enterprise Architect, PlantUML, StarUML) модель может быть автоматически переведена в заготовку кода на объектно-ориентированном языке
- Стандартизация — UML поддерживается организацией OMG (Object Management Group) и является международным стандартом ISO/IEC 19505
Что можно моделировать с помощью UML
| Аспект | Пример диаграммы | Что описывает |
|---|---|---|
| Структура | Class, Component | Классы, пакеты, модули и их связи |
| Поведение | Sequence, Activity | Порядок вызовов, бизнес-процессы |
| Развёртывание | Deployment | Узлы, серверы, сеть |
| Варианты использования | Use Case | Функциональные требования глазами пользователя |
Как используется на практике
UML не требует строгого применения всех 14 типов диаграмм. В реальных проектах чаще всего используют 3–5 типов: Class diagram для описания доменной модели, Sequence diagram для визуализации сценариев взаимодействия, Component diagram для архитектуры микросервисов и Use Case diagram на этапе сбора требований. Инструменты вроде PlantUML позволяют описывать диаграммы текстом и хранить их в системе контроля версий вместе с кодом.
На собеседовании: интервьюер обычно проверяет, знаете ли вы UML вообще и какие типы диаграмм использовали на практике. Достаточно уверенно назвать определение, упомянуть, что это стандарт OMG, и рассказать, какие диаграммы применяли в своих проектах. Частая ошибка — заявить «UML никто не использует», хотя Class и Sequence diagram применяются повсеместно.