Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Алгоритмизация 1 курс.doc
Скачиваний:
44
Добавлен:
15.03.2015
Размер:
498.18 Кб
Скачать

I j

1..5 2..3

Рис. 28. Различные варианты изображения навигации и кратности у полюсов ассоциации

На рис. 28 все классы связаны бинарными ассоциациями.

Полюса ассоциаций для классов A, B, H, J имеют навигацию.

Полюса ассоциаций для классов C, D, G не имеют навигации.

Для полюсов ассоциаций классов E, F, I навигация не определена.

Исключающая ассоциация (Xor-association) Случай, когда из нескольких входящих ассоциаций в класс одновременно может быть реализована только одна.

Пример:

1 Физическое

Имеет лицо

{order}

1 .. *

Счет в банке {XOR}

1 .. *

{order}

Имеет

1 Юридическое

лицо

Рис. 29. Графическое изображение исключающей ассоциации между тремя классами

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

3.2. N-арная ассоциация

N-арная ассоциация (n-ary association) – ассоциация, связывающая более двух классов.

Бинарная ассоциация есть частный случай N-арной ассоциации.

N-арная ассоциация (для N >= 3) обозначается ромбом.

Имя ассоциации записывается рядом с ромбом.

Пример 4-арной ассоциации (отношение «Игра») между классами «Футбольная команда», «Год», «День»

Футбольная

команда

+соперник 1

Игра

Год +сезон +встреча Дата

* *

{ordered} {ordered}

+соперник 1

Футбольная

команда

Рис. 30. Графическое изображение 4-арной ассоциации

Экземпляром ассоциации «Игра» может служить кортеж – <Зенит, Спартак, 17 июня, 2010 >

Все состоявшиеся игры упорядочены с помощью свойства {ordered}

3.3. Ассоциация-класс

Ассоциация-класс (association class) – элемент модели, который имеет свойства, как ассоциации, так и класса, и предназначенный для определения дополнительных свойств ассоциации в форме атрибутов и операций класса.

Ассоциация-класс имеет одно имя и характеристики, как класса, так и ассоциации.

Ассоциация-класс изображается в форме символа класса, присоединенного к пути ассоциации посредством пунктирной линии.

Футбольная +соперник-1 +соперник-2 Футбольная

команда1 1 команда

Игра

+встреча : Дата

+сезон : Год

+место : String

+результат : Integer[2]

{ordered}

Рис. 31. Графическое изображение ассоциации класса

Информация о конкретном экземпляре ассоциации класса «Игра» может быть записана в виде кортежа <Спартак, Зенит, игра : Игра>.

При этом для объектов игра : Игра задаются конкретные значения:

  • встреча = 17 июня;

  • сезон = 2011;

  • место = Москва

  • результат = <1, 2>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]