Многомерная множественная классификация 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Многомерная множественная классификация



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

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

На рис. 60 представлен пример с двумя дискриминаторами – «Пол» и «Роль». Соответственно для человека определяются два измерения специализации (два разбиения). Важно понимать, что каждый косвенный экземпляр родительского понятия должен быть экземпляром, по крайней мере, одного понятия из каждого разбиения.

Рис. 60. Двумерная классификация людей по полу и роли в системе

Каждый дискриминатор кроме имени разбиения может также определять его свойства, которые указываются в фигурных скобках (рис. 60). Для разбиений определены две пары стандартных свойств.

– complete означает, что разбиение полное, т.е. каждый экземпляр родительского понятия обязательно является также и экземпляром по крайней мере одного из дочерних понятий в данном разбиении, т.е. базовое понятие является абстрактным в данном измерении;

– incomplete означает, что разбиение неполное, т.е. допускаются прямые экземпляры базового понятия; неполнота разбиения подразумевает, что могут появиться дополнительные дочерние понятия;

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

– overlapping – означает, что разбиение пересекающееся, т.е. допускается, чтобы экземпляр одного дочернего понятия был одновременно экземпляром другого дочернего понятия.

Если свойства разбиения не указаны или указаны не полностью, то по умолчанию считается, что разбиение неполное непересекающееся (incomplete, disjoint). Если не указано имя разбиения, то оно считается безымянным.

Агрегация

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

Определение: Агрегация – это вид ассоциации, моделирующий неравноправные отношения типа «часть–целое».

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

Агрегация бывает двух видов: композитная и коллективная.

Композитная агрегация (обычно ее называют композицией) – это сильная связь; она подразумевает, что со стороны составного объекта кратность не может превышать единицу. Считается, что составной объект является владельцем своих частей, а части не могут существовать без целого. Композитная агрегация изображается в виде закрашенного ромба со стороны составного объекта (рис. 61).

Рис. 61. Пример композитной агрегации

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

Рис. 62. Пример коллективной агрегации



Поделиться:


Последнее изменение этой страницы: 2016-12-15; просмотров: 554; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.70.93 (0.004 с.)