# UML **Унифицированный язык моделирования** (UML) в настоящий момент является стандартом де-факто при описании (документирования) результатов проектирования и разработки объектно-ориентированных систем. Начало разработки UML было положено в 1994 г. Гради Бучем и Джеймсом Рамбо, работавшим в компании Rational Software. Осенью 1995 г. к ним присоединился Ивар Якобсон и в октябре того же года была выпущена предварительная версия 0.8 унифицированного метода. С этого времени было выпущено несколько версий спецификации UML. ## Нотация UML Нотация представляет собой графическую интерпретацию семантики для ее визуального представления. В UML определено три **типа сущностей**: - структурная – абстракция, являющаяся отражением концептуального или физического объекта; - группирующая – элемент, используемый для некоторого смыслового объединения элементов диаграммы; - поясняющая (аннотационная) – комментарий к элементу диаграммы. **Диаграмма** представляет собой группировку элементов нотации для отображения некоторого аспекта разрабатываемой информационной системы. Диаграммы представляют собой, как правило, связный граф, в котором сущности являются вершинами, а отношения – дугами. В следующей таблице дана краткая характеристика диаграмм UML: Диаграмма | Назначение ----------|----------- [Вариантов использования](../articles/5_1_1_10_uml_use_case.md)
(use case) | Отображает функции системы, взаимодействие между актерами и функциями [Классов](../articles/uml_class.md)
(class) | Отображает набор классов, интерфейсов и отношений между ними Пакетов
(package) | Отображает набор пакетов и отношений между ними Автоматов
(state machine) | Отображает состояния сущности и переходы между ними в процессе ее жизненного цикла [Деятельности](../articles/uml_activity.md)
(activity) | Отображает бизнес-процессы в системе (описание алгоритмов поведения) [Последовательности](../articles/uml_sequence.md)
(sequence) | Отображает последовательность передачи сообщений между объектами и актерами [Коммуникации](../articles/uml_communication.md)
(communication) | Аналогична диаграмме последовательности, но основной акцент делается на структуру взаимодействия между объектами Компонентов
(component) | Отображает компоненты системы (программы, библиотеки, таблицы и т.д.) и связи между ними Развертывания
(deployment) | Отображает размещение компонентов по узлам сети, а также ее конфигурацию Часть диаграмм после их построения требует развития и уточнения в рамках разработки следующей модели (технологического процесса). Так, например, диаграммы вариантов использования должны быть уточнены при разработке модели анализа. В моделях вариантов использования и анализа разрабатывается и уточняется диаграмма классов анализа, а в модели проектирования – итоговая детализированная диаграмма классов. Как правило, диаграмма классов анализа и диаграмма классов существуют независимо.