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

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

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

Отношение обобщения указывает на связь между более общим элементом (родителем) и более специальным элементом (потомком). Это отношение реализует наследование. Изображается в виде сплошной линии с незакрашенным треугольником (стрелкой) на конце. Стрелка указывает на более общий класс.

Рядом со стрелкой обобщения может располагаться строка текста, указывающая на некоторые дополнительные свойства данного отношения. Такой текст будет относиться ко всем линиям обобщения, которые идут к классампотомкам (отмеченное в виде текста свойство касается всех подклассов данного отношения). При этом текст следует рассматривать как ограничение и тогда он записывается в фигурных скобках. В качестве ограничений можно использовать следующие ключевые слова языка UML:

{complete} – означает, что в данном отношении обобщения специфицированы все классы-потомки и других потомков у этого класса быть не может.

{disjoint} – означает, что классы потомки не могут содержать объекты, одновременно являющиеся экземплярами двух и более классов.

{incomplete} – противоположный 1-му варианту. Предполагается, что на диаграмме указаны не все классы-потомки и в последующем возможно дополнить их перечень не изменяя суть уже построенной диаграммы.

{overlapping} – означает, что отдельные экземпляры классов-потомков могут одновременно принадлежать нескольким классам.

Объекты

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

Для графического изображения объектов используется тот же символ прямоугольника, что и для классов. Отличия проявляются при указании имени объектов, которые в случае объектов обязательно подчеркиваются. При это запись имени объекта имеет следующую форму: имя объекта: имя класса.

Все атрибуты объекта должны иметь конкретные значения. Все связи показываются сплошными линиями.

Диаграмма состояний

Главное предназначение такой диаграммы – показать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакций на восприятие конкретных событий. Системы, которые реагируют на внешние воздействия от других систем или от пользователей, иногда называют реактивными. Если такие действия инициируются в произвольные случайные моменты времени, то говорят об асинхронном поведении модели.

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

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