Что такое UML ?
UML (Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, его также используют для моделирования бизнес-процессов, системного моделирования и отображения организационных структур.
Необходимость в таком языке ярко иллюстрирует эта юмористичная картинка.

То есть UML — это некий стандарт для описания различных процессов. Его используют разработчики, аналитики, архитектор, с его помощью можно понятно доносить мысли и общаться между собой. Такой подход с использованием универсального языка значительно сократит время коммуникаций между сотрудниками и уменьшит время для поставки конечного продукта пользователю.
Виды UML
Все UML диаграммы по своей сущности делятся на два вида:
- Структурные диаграммы — описывают структуру сложных объектов и систем, показывают статическую структуру системы и ее частей на разных уровнях абстракции и реализации, а также их взаимосвязь
- Диаграммы поведения — иллюстрируют взаимодействие с системой и процесс её работы, основное внимание здесь уделяется динамическим аспектам системы программного обеспечения или процесса
К структурным диаграммам относят следующие 7 типов диаграмм:
- Диаграмма составной структуры
- Диаграмма развертывания
- Диаграмма пакетов
- Диаграмма профилей
- Диаграмма классов. (Аналогом диаграммы классов (UML) может быть ER-модель, которая используется при проектировании баз-данных (реляционной модели).
- Диаграмма объектов
- Диаграмма компонентов
А к диаграммам поведения относят следующие типы диаграмм:
- Диаграмма активности
- Диаграмма прецедентов
- Диаграмма состояний
- Диаграмма последовательности
- Диаграмма коммуникаций
- Диаграмма обзора взаимодействия
- Временная диаграмма
Чтобы рассмотреть четыре из них детальней, кликните на ссылки выше.
В книге Мартина Фаулера «Основы UML». В главе про моделирование процессов с помощью диаграммы классов (стр. 77) Мартин даёт следующие, понравившиеся мне советы:
1. Не пытайтесь задействовать сразу все доступные понятия. Начните с самых простых, описанных в этой главе: классов, ассоциаций, атрибутов, обобщений и ограничений.
2. Я пришел к выводу, что концептуальные диаграммы классов очень полезны при изучении делового языка. Чтобы при этом все получалось, необходимо всячески избегать обсуждения программного обеспечения, но применять очень простые обозначения.
3. Не надо строить модели для всего на свете, вместо этого следует сконцентрироваться на ключевых аспектах. Лучше создать мало диаграмм, которые постоянно применяются в работе и отражают все внесенные изменения, чем иметь дело с большим количеством забытых и устаревших моделей.