Краткое описание UML
Настоящий стандарт разработан с применением UML - унифицированного языка моделирования. UML создан для моделирования любых предметных областей с применением стандартных терминов, диаграмм, символов, графиков и позволяет описать предметную область формально с необходимой и достаточной степенью детализации. UML широко применяется аналитиками, разработчиками программного обеспечения, менеджерами в области информационных технологий для создания моделей систем, процессов, программ, баз данных и т.п.
UML предлагает набор сущностей и отношений, позволяющих представить моделируемую систему в графическом виде.
Сущность (UML класс) - это общее формальное описание группы объектов, обладающих одинаковым набором характеристик, т.е. сущность описывает множество объектов со сходной структурой, поведением и отношениями. Это основное понятие, вокруг которого строится объектно-ориентированная система.
Основные виды отношений - ассоциация, агрегирование, обобщение и зависимость - изображены на рисунке А.1.
Рисунок А.1 - Основные виды отношений UML
Ассоциация описывает отношения между классами. Ассоциация имеет определенную множественность с каждой из сторон.
Множественность представляет собой ограничение на число объектов, которые могут быть ассоциированы с другим объектом. Способы обозначения множественности приведены на рисунке А.2.
Рисунок А.2 - Способы отображения множественности
Различают однонаправленную и двунаправленную ассоциации. В однонаправленной ассоциации стрелка указывает направление ассоциации. Двунаправленная ассоциация представляется на UML-диаграммах линией.
Имя ассоциации указывается над линией по центру. Для описания участия соответствующего класса в ассоциации используется роль. Информация о ролях классов в ассоциации указывается на концах линии, изображающей эту ассоциацию, в местах ее присоединения к классам. Имя роли может быть пустым.
На рисунке А.3 показаны способы отображения имен ролей и ассоциаций в UML-диаграммах.
Рисунок А.3 - Способы отображения ролей и ассоциаций в UML-диаграммах
Агрегирование является асимметричной ассоциацией, в которой объект одного класса рассматривается как "целое" (агрегат), состоящее из объектов другого класса, которые рассматриваются как "части" (композит). На рисунке А.4 представлено графическое отображение данного вида связи.
Рисунок А.4 - Отношение агрегирования между UML-классами
Обобщение - это отношение между более общим классом (суперкласс или родительский класс) и более специализированным видом класса (подкласс или дочерний класс). Суперкласс описывает общие черты множества подклассов. Каждый подкласс обладает свойствами суперкласса, т.е. наследует структуру, отношения и поведение суперкласса, а также может иметь некоторые дополнительные свойства, присущие только этому подклассу.
Обобщение изображается в виде незаполненного треугольника на конце линии отношения, присоединенной к родительскому классу, показанного на рисунке А.5.