Унифицированный язык моделирования (UML) — это графический язык для OOAD, который предоставляет стандартный способ написания плана системы программного обеспечения. Это помогает визуализировать, определять, конструировать и документировать артефакты объектно-ориентированной системы. Он используется для изображения структур и отношений в сложной системе.
Краткая история
Он был разработан в 1990-х годах как объединение нескольких методов, в частности метод OOAD Грэди Буча, OMT (Техника моделирования объектов) Джеймса Румбо и OOSE (Инженерия объектно-ориентированного программного обеспечения) Ивара Якобсона. UML попытался стандартизировать семантические модели, синтаксические обозначения и диаграммы OOAD.
Системы и модели в UML
Система — набор элементов, организованных для достижения определенных целей, образующих систему. Системы часто делятся на подсистемы и описываются набором моделей.
Модель — Модель — это упрощенная, полная и последовательная абстракция системы, созданная для лучшего понимания системы.
Представление — представление — это проекция модели системы с определенной точки зрения.
Концептуальная модель UML
Концептуальная модель UML включает три основных элемента:
- Основные строительные блоки
- правила
- Общие механизмы
Основные строительные блоки
Три строительных блока UML — это
- вещи
- Отношения
- Диаграммы
вещи
В UML есть четыре вида вещей, а именно:
-
Структурные вещи — это существительные моделей UML, представляющие статические элементы, которые могут быть как физическими, так и концептуальными. Структурными элементами являются класс, интерфейс, совместная работа, сценарий использования, активный класс, компоненты и узлы.
-
Поведенческие вещи — это глаголы UML-моделей, представляющие динамическое поведение во времени и пространстве. Два типа поведенческих вещей — это взаимодействие и конечный автомат.
-
Группировка вещей — они составляют организационные части моделей UML. Существует только один вид группирования, т. Е. Упаковка.
-
Аннотационные вещи — это объяснения в моделях UML, представляющие комментарии, применяемые для описания элементов.
Структурные вещи — это существительные моделей UML, представляющие статические элементы, которые могут быть как физическими, так и концептуальными. Структурными элементами являются класс, интерфейс, совместная работа, сценарий использования, активный класс, компоненты и узлы.
Поведенческие вещи — это глаголы UML-моделей, представляющие динамическое поведение во времени и пространстве. Два типа поведенческих вещей — это взаимодействие и конечный автомат.
Группировка вещей — они составляют организационные части моделей UML. Существует только один вид группирования, т. Е. Упаковка.
Аннотационные вещи — это объяснения в моделях UML, представляющие комментарии, применяемые для описания элементов.
Отношения
Отношения — это связь между вещами. Четыре типа отношений, которые могут быть представлены в UML:
-
Зависимость — это семантические отношения между двумя вещами, так что изменение одной вещи приводит к изменению другой. Первая вещь независимая, а вторая вещь зависимая.
-
Ассоциация — это структурные отношения, представляющие группу связей, имеющих общую структуру и общее поведение.
-
Обобщение — представляет отношение обобщения / специализации, в котором подклассы наследуют структуру и поведение от суперклассов.
-
Реализация — это семантические отношения между двумя или более классификаторами, так что один классификатор устанавливает контракт, который другие классификаторы должны соблюдать.
Зависимость — это семантические отношения между двумя вещами, так что изменение одной вещи приводит к изменению другой. Первая вещь независимая, а вторая вещь зависимая.
Ассоциация — это структурные отношения, представляющие группу связей, имеющих общую структуру и общее поведение.
Обобщение — представляет отношение обобщения / специализации, в котором подклассы наследуют структуру и поведение от суперклассов.
Реализация — это семантические отношения между двумя или более классификаторами, так что один классификатор устанавливает контракт, который другие классификаторы должны соблюдать.
Диаграммы
Диаграмма — это графическое представление системы. Он состоит из группы элементов, обычно в форме графа. UML включает в себя девять диаграмм всего, а именно —
- Диаграмма классов
- Диаграмма объектов
- Диаграмма вариантов использования
- Схема последовательности
- Диаграмма сотрудничества
- Диаграмма состояния диаграммы
- Диаграмма деятельности
- Диаграмма компонентов
- Диаграмма развертывания
правила
UML имеет ряд правил, так что модели семантически самосогласованы и гармонично связаны с другими моделями в системе. UML имеет семантические правила для следующего:
- имена
- Объем
- видимость
- целостность
- выполнение
Общие механизмы
У UML есть четыре общих механизма:
- Характеристики
- Украшения
- Общие подразделения
- Механизмы расширяемости
Характеристики
В UML за каждой графической нотацией есть текстовое утверждение, обозначающее синтаксис и семантику. Это технические характеристики. Спецификации обеспечивают семантическую объединительную панель, которая содержит все части системы и отношения между различными путями.
Украшения
Каждый элемент в UML имеет уникальную графическую запись. Кроме того, существуют нотации для представления важных аспектов элемента, таких как имя, область действия, видимость и т. Д.
Общие подразделения
Объектно-ориентированные системы можно разделить по-разному. Два распространенных способа разделения —
-
Разделение классов и объектов . Класс — это абстракция группы похожих объектов. Объект — это конкретный экземпляр, который реально существует в системе.
-
Разделение интерфейса и реализации . Интерфейс определяет правила взаимодействия. Реализация — это конкретная реализация правил, определенных в интерфейсе.
Разделение классов и объектов . Класс — это абстракция группы похожих объектов. Объект — это конкретный экземпляр, который реально существует в системе.
Разделение интерфейса и реализации . Интерфейс определяет правила взаимодействия. Реализация — это конкретная реализация правил, определенных в интерфейсе.
Механизмы расширяемости
UML — это открытый язык. Можно расширить возможности UML контролируемым образом в соответствии с требованиями системы. Механизмы расширяемости:
Стереотипы — расширяет словарный запас UML, с помощью которого можно создавать новые строительные блоки из существующих.
Помеченные значения — расширяет свойства строительных блоков UML.
Ограничения — расширяет семантику строительных блоков UML.