Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

UML / АСУ_Фонотов_uml

.pdf
Скачиваний:
47
Добавлен:
03.03.2016
Размер:
3.35 Mб
Скачать

Агрегация – реализация

Кафедра Автоматизированных систем управления

Агрегация реализуется как обычная ассоциация!

Реализация более строгой семантики агрегации полностью лежит на программисте!

Во время выполнения агрегация ведет себя не так как ассоциация.

Агрегация не полностью поддерживается средами программирования.

© Фонотов Анастас Михайлович

Композиция (Composition)

Кафедра Автоматизированных систем управления

Композиция – частный случай агрегации

Составляющая часть может принадлежать не более чем к одному агрегату (целому)

составляющая часть получает срок жизни того агрегата

(целого), которому она принадлежит

class Association

Книга

Глава

 

class Association

Документ

Позиция_документа

© Фонотов Анастас Михайлович

Кафедра Автоматизированных систем управления

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

Комбинируя ингредиенты для блюд при приготовлении пищи мы можем получить новый ингредиент.

ингредиент

© Фонотов Анастас Михайлович

Композиция (Composition)

Кафедра Автоматизированных систем управления

Окно программы

1 1 11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

1

 

1

 

Заголовок

 

Полоса

 

 

Рабочая

 

Главное

 

прокрутки

 

 

область

 

меню

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© Фонотов Анастас Михайлович

Агрегация - достоинства

Кафедра Автоматизированных систем управления

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

© Фонотов Анастас Михайлович

Агрегация – виды

Кафедра Автоматизированных систем управления

Можно выделить 4 основных вида агрегации:

1.Агрегация типа «Безраздельно обладает»

2.Агрегация типа «Обладает»

3.Агрегация типа «Включает»

4.Агрегация типа «Участник»

© Фонотов Анастас Михайлович

Кафедра Автоматизированных систем управления

Агрегация «Безраздельно обладает»

Агрегация типа «Безраздельно обладает» Устанавливает зависимость по существованию. Т.Е. Удаление составного объекта

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

При таком виде агрегации объект может принадлежать только одному суперклассу в течении своего жизненного цикла.

© Фонотов Анастас Михайлович

Агрегация «Безраздельно обладает»

Кафедра Автоматизированных систем управления

*Применение в UML

Агрегация типа «Безраздельно обладает» можно показать в UML с помощью ключевого слова «ExclusiveOwns» и дополнительно ограниченную с помощью ключевого слова frozen – замороженный. Ограничение frozen примененное к компонентному классу констатирует, что объект компонентного класса не может быть заново соединен (в течении своего ЖЦ) с другим составным объектом.

© Фонотов Анастас Михайлович

Агрегация «Безраздельно обладает»

Кафедра Автоматизированных систем управления

Глава является частью книги, и не может выдаваться в библиотеке отдельно от нее.

© Фонотов Анастас Михайлович

class System

Книга

0..1

«ExclusiveOwns»

0..* {frozen}

Раздел

Агрегация «Обладает»

Кафедра Автоматизированных систем управления

Агрегация типа «Обладает», является более «мягкой» связью агрегации чем агрегация типа «Безраздельно обладает».

Основное отличие в том, что компонентный объект в каждый момент времени принадлежит по меньшей мере одному составному объекту.

Компонентный объект может быть заново соединен с другими составными объектами.

© Фонотов Анастас Михайлович

Соседние файлы в папке UML