Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РОБОТА5.doc
Скачиваний:
15
Добавлен:
10.11.2019
Размер:
3.83 Mб
Скачать

Ассоциации

Ассоциация (association) представляет собой один из видов отношений между класса­ми. Помимо ассоциации существуют такие виды отношений, как обобщение (generalization), агрегация (aggregation), зависимость (dependency) и некоторые другие.

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

Порядок ассоциации

Порядок ассоциации (association degree) определяет количество классов, соединенных с помощью ассоциации. Наиболее часто встречаются ассоциации второго порядка. Та­кая ассоциация называется бинарной ассоциацией.

Ее можно также определить на единственном классе. Тогда она называется унарной (unary) (или сингулярной (singular)) ассоциацией. Унарная ассоциация устанавливает связь между объектами одного класса.

Кратность ассоциации

Кратность ассоциации (association multiplicity) определяет, сколько объектов могут занимать позицию, указанную ролевым именем. Кратность говорит о том, сколько объ­ектов целевого класса (указываемых ролевым именем) может быть ассоциировано с одним объектом исходного класса.

Кратность обозначается в виде диапазона целых чисел п1...п2. Число п1 опреде­ляет минимальное количество связываемых объектов, а п2 — максимальное количест­во (если мы не знаем точного максимального целочисленного значения, то вместо максимального количества может быть подставлена звездочка *).

Рисунок 5.8 - Кратность ассоциации

В языке UML термин "кратность" является очень емким. Минимальная кратность, равная "нулю" или "единице", может рассматриваться как еще одно семантическое понятие, называемое принадлежностью (membership) или участием (participation). "Нулевая" минимальная кратность означает необязательную принадлежность объекта ас­социации. "Единичная" кратность означает обязательную принадлежность. Например, предлагаемый курс обучения (объект CourseOffering) должен проводиться под ру­ководством преподавателя (объект Teacher).

Свойство принадлежности само по себе обладает любопытными семантическими особенностями. Например, данная обязательная принадлежность может дополни­тельно означать, что принадлежность является фиксированной, т.е. если объект связан с целевым объектом в ассоциации, он не может быть повторно связан с другим целе­вым объектом в той же ассоциации [10].

Ассоциативная связь и объем ассоциации

Ассоциативная связь представляет собой экземпляр ассоциации. Это кортеж (tuple) ссылок на объекты. Кортеж может быть набором (set) ссылок или списком (list) (упорядоченным множеством) ссылок. В общем случае кортеж может содержать толь­ко одну ссылку. Как рассматривалось выше, связь также представляет ролевое имя. Объем (extent) ассоциации — это количество связей в наборе.

На рисунку 5.9 представлено пять связей. Следовательно, объем ассо­циации равен пяти.

Рисунок 5.9 - Кратность ассоциации