Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шаврин С.М. Моделирование и проектирование ИС.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.47 Mб
Скачать

Прямые и косвенные экземпляры

Прежде чем двигаться дальше, введем понятия прямых и косвенных экземпляров.

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

Определение. Экземпляр некоторого понятия называется косвенным, если он также является экземпляром, по крайней мере, одного понятия, находящегося ниже по иерархии наследования.

Абстрактные понятия

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

Определение. Абстрактное понятие – это понятие, которое не имеет прямых экземпляров.

Отсутствие прямых экземпляров означает, что множества подтипов полностью покрывают множество супертипа. Сравните рис. 54 с рис. 58. В последнем случае любой элемент множества «Платеж» попадает в одно из подмножеств.

Рис. 58. Множество экземпляров абстрактного понятия «Платеж»

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

Рис. 59. Пример абстрактного понятия

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

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

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

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

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

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

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

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

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

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

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