Поделиться через


Свойства ассоциаций на UML-схемах классов

На UML-схеме классов в Visual Studio Ultimate можно создавать ассоциации между любой парой типов.Тип — это класс, интерфейс или перечисление.

Ассоциация указывает, что разрабатываемая система хранит ссылки определенного вида между экземплярами связанных типов.Как правило, ассоциация не сообщает никаких сведений о реализации ссылок.Например, это могут быть указатели, строки в таблице, имена в XML, на которые даются перекрестные ссылки, и т. д.

Ассоциация — это схематический метод отображения атрибута или пары атрибутов.Например, если определено, что класс "Ресторан" имеет атрибут типа "Меню", то же самое определение можно выразить, создав ассоциацию между классом "Ресторан" и атрибутом типа "Меню".

Чтобы создать ассоциацию, щелкните инструмент Ассоциация на панели элементов, затем последовательно щелкните первый и второй тип.Можно щелкнуть один и тот же тип дважды, чтобы показать, что экземпляры одного типа могут быть связаны между собой.

Свойства

Далее приведены свойства ассоциации на UML-схеме классов.

Чтобы просмотреть свойства ассоциации, щелкните ассоциацию правой кнопкой мыши и выберите Свойства.Свойства отобразятся в окне свойств.

Некоторые свойства также видны на схеме, как показано на следующей иллюстрации.

Свойства на уровне ассоциаций

Свойство.

Описание

Имя (1)

Обозначает ассоциацию.Также отображается на схеме рядом со средней точкой ассоциации.

Полное имя

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

Рабочие элементы

Число рабочих элементов, связанных с этой ассоциацией.Сведения о связывании рабочих элементов см. в разделе Связывание элементов модели и рабочих элементов.

Цвет

Цвет соединителя.В отличие от других свойств это свойство характеризует данное представление ассоциации, а не базовое отношение в модели.

Первая роль

Вторая роль

Каждое окончание ассоциации называется ролью.Каждая роль описывает свойства эквивалентного атрибута класса на противоположном окончании ассоциации.

На схеме в примере ассоциация между элементами "Меню" и "Пункт меню" имеет роли, которые называются "Меню" и "Содержимое".

"Содержимое" — это имя атрибута для класса "Меню".

Dd323862.collapse_all(ru-ru,VS.110).gifСвойства каждой роли

Чтобы просмотреть свойства каждой роли, разверните свойство Первая роль или Вторая роль.

Свойство.

Default

Описание

Имя роли (2)

Имя типа в данной роли

Имя роли.Отображается рядом с окончанием ассоциации на схеме.

Агрегат

None

Нет (4) — представляет общее отношение между экземплярами классов.

Составной (5) — объект в этой роли содержит объект в противоположной роли.Чтобы создать ассоциацию с составным агрегатом, можно воспользоваться средством Составной.

Сделано общим (6) — объект в этой роли содержит ссылки на объект в другой роли.Чтобы создать ассоциацию с таким агрегатом, можно воспользоваться средством Агрегат.

Точная интерпретация значений свойств определяется локальными правилами.

Является производным

False

Если значение true, объект на этом окончании связи вычисляется из других атрибутов и ассоциаций.Например, MyWorkPlace вычисляется из MyEmployer.WorkPlace.Сведения нужно записать в поле "Описание" или прикрепленное примечание.

Является производным объединением

False

Если значение true, роль — это объединение набора ролей в производных типах.

Является перемещаемым

True

Ассоциацию можно прочитать в этом направлении.Если предоставить описываемой программе экземпляр противоположной роли, она сможет эффективно определить связанный экземпляр этой роли.

Если одна роль имеет свойство Is Navigable, а другая — нет, на ассоциации в направлении перехода появляется стрелка (7).

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

Является доступным только для чтения

False

Если значение true, экземпляр ассоциации невозможно изменить после создания.Ссылка всегда относится к тому же объекту.

Кратность (3)

1

1 — это окончание ассоциации всегда связано с одним объектом.Каждый "Пункт меню" на рисунке относится к одному "Меню".

0..1 — либо это окончание ассоциации связано с одним объектом, либо связи не существует.

* — каждый объект на другом окончании ассоциации связан с коллекцией объектов на этом окончании, и коллекция может быть пустой.

1..* — каждый объект на другом окончании ассоциации связан хотя бы с одним объектом на этом окончании.На рисунке каждое "Меню" имеет хотя бы один "Пункт меню".

n..m — каждый объект на другом окончании имеет коллекцию, состоящую из ссылок на объекты на этом окончании в количестве от n до m.

Является упорядоченным

False

Если значение true, возвращенная коллекция формирует последовательный список.Если кратность имеет значение больше 1.

Является уникальным

False

Если значение true, в возвращенной коллекции нет повторяющихся значений.Если кратность имеет значение больше 1.

Видимость

Открытый

Открытый — видимый глобально.

Закрытый — не видимый за пределами типа-владельца.

Защищенный — видимый типам, производным от владельца.

Пакет — видимый другим типам в том же пакете.

См. также

Основные понятия

UML-схемы классов: справочные материалы

Свойства типов на UML-схемах классов

Свойства атрибутов на UML-схемах классов

Свойства операций на UML-схемах классов

UML-схемы классов: правила работы