Источник
Полезные диаграммы из UML
Подборка диаграмм, которые действительно полезны в проектировании.
UML - это унифицированный язык моделирования, который вырос из трех нотаций Гради Буча, Джеймса Рамбо и Айвара Якобсона. Он остается удобным способом обсуждать архитектуру, дизайн решений и поведение системы. Эта глава сфокусирована на диаграммах и их пользе, а не только на книгах и стандартах. Если хотите обзор всех нотаций, загляните в вводную главу раздела. А если интересна эволюция архитектуры и взгляд одного из соавторов UML, посмотрите выпуск с Гради Бучем.
Почему UML полезен в System Design
Общий язык архитектуры
UML помогает обсуждать систему без двусмысленностей между инженерами и бизнесом.
Фокус на решениях
Диаграммы фиксируют компромиссы, зависимости и ключевые архитектурные выборы.
Объяснение сложного
Один лист с диаграммой часто заменяет десятки страниц текста.
Основа для эволюции
Модели помогают планировать изменения и не терять контекст системы.
Главные UML диаграммы и их задача
Фильм
Evolution of software architecture
Выпуск с Гради Бучем о UML, абстракции и роли архитектора.
UML уже не доминирует на рынке - часто выбирают C4 Model или другие способы моделирования. Но эти диаграммы до сих пор помогают быстро разложить систему на части, обсудить сценарии и увидеть компромиссы.
Use Case
Сценарии, роли и цели. Суть в текстовых happy path и exceptional flow, а не в человечках.
Parking System
Уровни моделирования UML (M0-M3)
UML описывает модели на разных уровнях абстракции. Это помогает не смешивать реальные объекты, модели и правила их построения.
M0
Real World / Instances
Конкретные объекты и их связи в реальной системе. Object diagram - снимок состояния.
M1
Models
Пользовательские модели UML: use case, class, sequence и другие диаграммы.
M2
Metamodel
Спецификация UML: понятия Class, Association, Attribute и правила их использования.
M3
Meta-metamodel (MOF)
MOF описывает метамодели и может быть применен не только к UML.
Подробный разбор уровней - в посте Уровни моделирования в UML и почему их всего 4.
Почему уровней всего четыре
Самоописание MOF
M3 описывает сам себя, поэтому дополнительный уровень не нужен.
Нет бесконечной рекурсии
Если ввести M4, потребуется M5, M6 и так далее.
Практическая достаточность
M0-M3 покрывают все задачи моделирования в инженерной практике.
MOF - Meta-Object Facility: ссылка на описание.
Примеры уровней в разных областях
Пример из HR
- M0 - сотрудник Иван Петров, родившийся 15.03.1990
- M1 - класс "Сотрудник" с полями имя, дата_рождения
- M2 - понятия "Класс", "Атрибут", "Связь" в UML
- M3 - мета-класс и мета-атрибут как шаблон для M2
Пример из строительства
- M0 - мебель и люди в комнатах
- M1 - планы комнат с расположением объектов
- M2 - архитектура здания и его структура
- M3 - строительные нормы и правила проектирования
Пример из лингвистики
- M0 - предложение "Иван читает книгу"
- M1 - правила русского языка и части речи
- M2 - термины "фонема", "морфема" и другие
- M3 - философия языка и мета-уровень описания
Как применять UML на практике
- Не рисуйте все подряд - выбирайте диаграмму под цель разговора.
- Начинайте с простого: use case или sequence, затем углубляйтесь.
- Держите модели актуальными и используйте их в обсуждениях.
- Комбинируйте UML с C4 и ArchiMate, если нужно показать контекст.
Связанные материалы
Уровни моделирования в UML и почему их всего 4
Telegram: book_cube
Самоучитель UML, 2 издание
Telegram: book_cube
Перечень полезных UML диаграмм
Telegram: book_cube
Building Web Applications with UML
Telegram: book_cube
Agile Modeling: Effective practices for XP
Telegram: book_cube
The Rational Unified Process. An Introduction
Telegram: book_cube
Applying Use Case Driven Object Modeling with UML
Telegram: book_cube
