Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Билет 21. Связи: ассоциация, зависимость, наследование, конкретизация



 

Связь - это физическое или концептуальное соединение между объектами, специфическое сопоставление, через которое объект- клиент запрашивает услугу у объекта- сервера или через которое один объект находит путь к другому

Роли объектов в связях:

Клиент: объект может воздействовать на другие объекты, но сам никогда не подвергается воздействию других объектов

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

Агент: объект может выступать как в роли сервера, так и клиента; агент создается для выполнения операций в интересах какого-либо клиента или агента

Аттрибуты отношений:

Мощность – сколько объектов может участвовать в связи с обеих сторон

Направленность – связи бывают однонаправленные и двунаправленные, направленность определяет кто из двух участников «знает» о другом

Стереотип связи – устойчивый характер (семантика) связи

Видимость – каким образом один объект «видит» другой

Имена участников

Имя связи

 

Ассоциация

Ассоциация – самая нестрогая из ассоциаций она выражает просто смысловую связь

Зависимость обозначает отношение между объектами, когда один из них не может выполнять свои функции без другого

это

Использование это разновидность зависимости – один класс использует другой для реализации своих функций

Ассоциация – смысловая связь, как правило, в процессе проектирования системы отношения между объектами уточняются, и ассоциация может «превратиться» в какую-то более хорошо определенную связь

 

Зависимость:

Зависимость это отношение, характеризующееся тем, что реализация одного из классов

зависит от интерфейса другого объекта

Зависимость это отношение между классами

Зависимость изображается пунктирной стрелкой от зависимого класса к тому, от которого он зависит

Отношение использования снабжается стереотипом «uses» («использует»)

Мощность: 1: 1

Направленность: от зависимого к независимому

Стереотип связи: зависимость, поменял и «независимого», нужно менять «зависимого»

Видимость: определяется конкретикой реализации

Имена участников: зависимый (общее имя для второго участника придумать не получается, «независимый»? )

Наследование:

Наследование – очень распространенная связь, поэтому для нее существует специальное обозначение

 

• Наследование – связь между классами

Мощность – 1: 1

Имена участников – базовый класс, производный класс

Направленность – однонаправленная, от потомка к предку

Стереотип связи – являться (is-a)

Видимость: неприменимо, т.к. наследование - отношение между классами, в отношении участвует «один и тот же» объект

• Аттрибут «видимость», неприменим, т.к. нет двух объектов, видимость которых нужно обеспечить, существует лишь один объект, который участвует в этой ассоциации, например, наследование «преподаватель это человек», в этой связи участвует лишь один объект (например, я), который одновременно и преподаватель и человек. Видимость обеспечивается автоматически средствами языка.

 

Конкретизация:

Конкретизация – это создание конкретного класса из параметризованного класса шаблона

Две диаграммы, приведенные на рисунке идентичны, это две разные записи одной и той же связи

• Отношение между классами

Мощность 1: 1

Имена участников: клас-щаблон (параметризованный класс), конкретный (конкретизованный) класс

Стереотип связи: «конкретизация» -

конкретизируем класс подставляя вместо классов-параметров конкретные классы

Видимость: неприменимо

• Аттрибут «видимость», как и в случае наследования неприменим, т.к. нет двух объектов, видимость которых нужно обеспечить, существует лишь один объект, который участвует в этой ассоциации, хотя классов участвует два

 

Билет №22. Связи: реализация, агрегация, зависимость, класс-ассоциации

 
 

 


Чисто абстрактный класс на диаграмм классов UML не имеет поля для атрибутов,

т.к. является выражением «чистого поведения»

Два варианта изображения отношения реализации – круг и «пунктирное» наследование

В некоторые UML редакторах отношение реализации обозначается простой пунктирной

стрелкой с указанием модификатора реализации - < < realize> >

Все три варианта абсолютно идентичны в смысле выражения отнощения реализации.

 

Агрегация

Мощность, направленность и имена участников агрегации нужно определить в каждом конкретном случае, общего правила нет

Стероеотип – «владение», «обеспечение видимости», «ссылка» т.е. агрегат и включенные объекты существуют независимо друг от друга

Видимость для аггрегации задана жестко – это поле-ссылка

 

 

Зависимость это отношение, характеризующееся тем, что реализация одного из классов

зависит от интерфейса другого объекта

Зависимость это отношение между классами

Зависимость изображается пунктирной стрелкой от зависимого класса к тому, от которого он зависит

Отношение использования снабжается стереотипом «uses» («использует»)

Мощность: 1: 1

Направленность: от зависимого к независимому

Стереотип связи: зависимость, поменял и «независимого», нужно менять «зависимого»

Видимость: определеяется конктретикой реализации

Имена участников: зависимый (общее имя для второго участника придумать не получается, «независимый»? )

 

 

 


Класс-ассоциация – специальный вид связи, в которой присутствуют собственные атрибуты.

Пример: для товара, помещенного в заказ можно указать количество экземпляров, кроме того, в заказанном товаре

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

Класс-ассоциация реализуется на С++ в виде класса

Важно: этот класс не имеет смысла, если нет связи между товарами и заказами

Имена участников, направленность, мощность: определяется конкретикой задачи

Стереотип связи: «класс-ассоциация» - дополнительная информация, которая характеризует связь

Видимость: поля класса


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-14; Просмотров: 738; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.027 с.)
Главная | Случайная страница | Обратная связь