Дважды связанный список. Проблемы при работе с динамической памятью Стеки и очереди. Определение стека, страница 4

Операция с областью действия на весь класс показывается подчеркиванием имени и возвращаемого типа (операция класса). Абстрактная операция может быть оформлена курсивом.

Отношения между классами

Базовыми отношениями или связями в языке UML являются:

•  отношение зависимости

•  отношение ассоциации

•  отношение обобщения

•  отношение реализации

Отношение зависимости

Отношение зависимости в общем случае указывает некоторое семантическое отношение между двумя элементами модели или двумя множествами таких элементов, которое не является отношением ассоциации, обобщения или реализации. Отношение зависимости используется в такой ситуации, когда некоторое изменение одного элемента модели может потребовать изменение другого, зависимого от него элемента модели.

Отношение зависимости отображается пунктирной линией со стрелкой на одном из ее концов. При этом стрелка направлена от класса-источника к зависимому классу (класс-клиент). В качестве класса-клиента и/или классаисточника могут выступать множества элементов модели. В этом случае одна линия, выходящая из источника, расщепляется на несколько.

Стрелка может помечаться необязательным, но стандартным ключевым словом в кавычках и необязательным индивидуальным именем. Примеры ключевых слов:

“access” – доступность открытых атрибутов и операций класса-источника классам-клиентам;

“bind” – класс-клиент может использовать некий шаблон для своей последующей параметризации;

“derive” – атрибуты класса-клиента могут быть вычислены по атрибутам класса-источника;

“import” – открытые атрибуты и операции класса-источника становятся частью класса-клиента, как будто они были объявлены непосредственно в нем;

“refine” – указывает, что класс-клиент служит уточнением класса-источника в силу причин исторического характера, когда появляется дополнительная информация в ходе работы над проектом;

Отношение зависимости является наиболее общей формой зависимости, все остальные  типы зависимостей являются частным случаем данной.

Отношение ассоциации

Соответствует понятию связь в ER-диаграммах. Обозначается в виде сплошной линии с дополнительными специальными символами, которые характеризуют отдельные свойства этого отношения. Специальными символами могут быть: имя ассоциации (необязательное), а также имена и кратность классов-ролей ассоциации.

В случае бинарной ассоциации. Она связывает два класса и, как исключение, может обеспечивать рекурсию. На диаграмме классов для бинарной ассоциации может быть указан так же порядок следования классов в виде треугольника, направленного от класса, являющегося детализирующим для другого класса.

N-арная ассоциация связывает между собой три и более ассоциации. Она отображается в виде ромба и линий соединяющей ромб с классами-членами ассоциации. Направление ассоциации в данном случае не указывается. Частным случаем ассоциации является исключающая ассоциация. Она указывается на диаграмме в виде пунктирной линией, соединяющей две и более ассоциации со строкой ограничением {xor}. Данная ассоциации используется для указания того факта, что из нескольких возможных ассоциаций в каждый момент времени может использоваться только одна.

Отношение агрегации

Отношение агрегации имеет место в том случае, если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности. Данное отношение имеет фундаментальное значение для описания структуры сложных систем, поскольку применяется для представления системных взаимосвязей типа “часть-целое”.

Графически отношение агрегации изображается в виде сплошной линии, один из концов которой представляет собой незакрашенный ромбик. Этот ромб указывает на тот из классов, который представляет целое.

Отношение композиции