Проектирование архитектур информационных систем. Беляев К.С. - 34 стр.

UptoLike

Составители: 

34
объект может обладать несколькими ассоциативными или агрегативными
связями в модели. Попросту говоря, агрегация в языке UML соответствует
нашим агрегациям типа Включает и Участник.
Сплошной ромб в языке UML представляет композицию. Пустой
ромб используется для определения агрегации. В остальном
спецификация агрегации совпадает с обозначениями для ассоциации.
2.1.14Примерспецификацииагрегацииикомпозиции
Снова обратимся к системе Записи на университетские курсы.
Рассмотрим следующие дополнительные требования.
1. Академическая характеристика студента должна быть доступна по
требованию. Характеристика должна включать информацию об
оценках, полученных студентом по каждому из курсов, на которые
записался студент (и которые он не покинул без взыскания, т. е.
первые три недели с начала семестра).
2. За каждый курс отвечает преподаватель, однако этот курс могут
вести и другие преподаватели. В течение разных семестров за один
курс могут отвечать разные преподаватели; кроме того, в течение
разных семестров курс могут вести разные преподаватели.
На рис. 4 показана модель классов, в которой выделено отношение
агрегации.
Понятие «студент» (объект Student) «включает» академическую
характеристику (объект AcademicRecord) — это описание композиции в
языке UML (с семантикой «по значению»). Каждый объект
AcademicRecord физически помещен в один из объектов Student. Несмотря
на существование ассоциации takes (брать [курс обучения]) объект
AcademicRecord включает атрибут course_code (код курса).
Это необходимо, поскольку ассоциация
takes реализуется с
помощью атрибута takes_crsoff («берет» дисциплину) объекта Student,
введенного как коллекция (collection), например, Set[CourseOffering].