UML / АСУ_Фонотов_uml
.pdfАгрегация «Обладает»
Кафедра Автоматизированных систем управления
*Применение в UML
В UML агрегация типа «Обладает реализуется с помощью классической декомпозиции»
Студента можно перевести в другую группу, но вне группы он не может существовать как объект
class System
Группа
Студент
© Фонотов Анастас Михайлович
Кафедра Автоматизированных систем управления
class Student;
class Group {
private: student person[20];
};
class account{
private: Position* itsPos;
public: Account() {
itsPos=new Position();
}
virtual ~Account() {delete itsPos;}};
© Фонотов Анастас Михайлович
Агрегация «Включает»
Кафедра Автоматизированных систем управления
Агрегация типа «Включает» обычно реализуется с помощью ссылки на компонентный объект.
Компонентный объект не обязан разрушаться при удалении составного объекта.
Как правило реализует отношений «один ко многим»
© Фонотов Анастас Михайлович
Агрегация «Включает»
Кафедра Автоматизированных систем управления
*Применение в UML
Агрегация типа «Включает» реализуется в UML с помощью классической связи агрегации
class Association
Склад |
Товар |
© Фонотов Анастас Михайлович
|
|
|
|
|
|
Агрегация «Включает» |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
||||
|
class Sklad; |
|||||
управления |
|
|
|
|
|
|
систем |
class Tovar { |
|||||
|
|
|
|
|
private: Professor* members[5]; |
|
АвтоматизированныхКафедра |
|
|
|
|
||
}; |
|
|||||
|
|
© Фонотов Анастас Михайлович
Агрегация «Участник»
Кафедра Автоматизированных систем управления
Агрегация типа «Участник» обладает свойством целенаправленного группирования независимых объектов.
Агрегация типа «Участник» - это абстракция, посредством которой совокупность членов-компонентов рассматривается как составной объект более высокого уровня.
Компонентный объект может одновременно принадлежать более, чем одному составному объекту.
Кратность аргегации типа «Участник» может иметь значение «многие ко многим»
© Фонотов Анастас Михайлович
Агрегация «Участник»
управления |
*Применение в UML |
|
Агрегация типа «Участник» |
||
|
||
систем |
реализуется в UML с |
|
помощью классической |
||
|
||
Кафедра Автоматизированных |
агрегации. |
|
|
© Фонотов Анастас Михайлович
class Association
Учебный_план
Семестр
Дисциплина
Кафедра Автоматизированных систем управления
Агрегация и делегирование
Агрегация использует делегирование для повторного использования реализации компонентных объектов.
Всякий раз, когда составной объект не в состоянии выполнить задание самостоятельно, он может вызвать методы одного из его компонентных объектов.
При использовании механизма делегирования, функциональные возможности системы реализуются с помощью включения (клонирования) функций существующих объектов во вновь требуемые функции. (пример)
Существующие объекты трактуются как прототипы для создания новых объектов.
Идея: Отыскать сначала требуемые функции в существующих объектах, а затем реализовать эти функции в более общих объектах (составных).
Реализованные по этому принципу системы называются «системы-прототипов»
© Фонотов Анастас Михайлович
Адресная книга
Кафедра Автоматизированных систем управления
|
|
|
|
|
|
Обобщение (Generalization) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Обобщение (наследование) - связь типа частное- |
|||
|
|
|||||
управления |
|
|
|
общее. |
||
|
|
Более общий класс называется суперклассом, более |
||||
|
|
|||||
систем |
|
|
|
частные - подклассами. |
||
|
|
Классы принято называть предками, в том случае |
||||
АвтоматизированныхКафедра |
|
|
|
|||
|
|
|
если имеется ввиду не непосредственно суперкласс, |
|||
|
|
|
|
|||
|
|
|
|
а еще более общий класс. |
© Фонотов Анастас Михайлович