UML / АСУ_Фонотов_uml
.pdfГенерация кода.
Однонаправленная ассоциация
Кафедра Автоматизированных систем управления
class ClassA
{
public:
ClassA();
virtual ~ClassA(); ClassB *m_ClassB; ClassA *m_ClassA;
};
class Class Model
ClassA
1
4
ClassB
© Фонотов Анастас Михайлович
Отношение ассоциации, n-арная
Связь может быть бинарной или n-арной.
Кафедра Автоматизированных систем управления
© Фонотов Анастас Михайлович
Пример тернарной ассоциации
Кафедра Автоматизированных систем управления
© Фонотов Анастас Михайлович
Отношение ассоциации, класс-
ассоциация
класс-ассоциация
Кафедра Автоматизированных систем управления
© Фонотов Анастас Михайлович
Отношение ассоциации, квалификатор
|
Квалификатор (qualificator) – это значение., |
|
|
|||||||
управления |
однозначно определяющее объект в группе |
|
|
|||||||
объектов, связанных с ним посредством ассоциации |
||||||||||
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
систем |
|
|
|
Футбольній Матч |
|
|
|
|
|
|
|
|
|
|
|
1 |
0..1 |
|
|
||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
||||
|
|
|
|
Дата : Date |
Билет |
|
||||
Автоматизированных |
|
|
|
|
|
|
|
|||
|
|
|
|
|
Место : Integer |
|
|
|
|
|
Кафедра |
|
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||
|
|
Основное назначение – снизить кратность |
||||||||
|
|
противоположного полюса ассоциации. |
© Фонотов Анастас Михайлович
Исключающая ассоциация между
тремя классами
Кафедра Автоматизированных систем управления
1 Физическое
лицо
Имеет
{ordered} 1..*
Счет в банке |
{xor} |
1..* {ordered}
Имеет |
1 |
|
|
Юридическое |
|||
|
|||
|
|
||
|
|
лицо |
|
|
|
|
© Фонотов Анастас Михайлович
Агрегация (aggregation)
Кафедра Автоматизированных систем управления
С помощью агрегации показываются объекты, состоящие из частей.
Класс агрегат представляется как расширенный объект, обрабатываемый операциями, как единое целое. Хотя на самом деле он состоит из отдельных частей.
Транзитивность – наиболее важное свойство агрегации, если В является частью А, а С является частью В, то С – часть А.
Часть может существовать отдельно от целого. Может отдельно использоваться.
class Association
Часть |
Целое |
© Фонотов Анастас Михайлович
Агрегация
class Association
управлениясистем |
Склад |
|
|
|
|
Автоматизированных |
1 |
* |
|
class Association |
|
|
Группа |
|
Кафедра |
|
|
(aggregation)
class Association
Учебный_план
Товар
Семестр
Студент
Дисциплина
© Фонотов Анастас Михайлович
Агрегация – представление
Кафедра Автоматизированных систем управления
В средах программирования (включая большинство объектных СУБД) агрегация реализуется точно также, как традиционная ассоциация - с помощью ссылок в суперклассе на компонентные объекты.
Агрегация обладает свойствами:
-Транзитивности (если Б принадлежит А, а С принадлежит Б, то С принадлежит А)
-Асимметрии (Если Б принадлежит А, то А не может принадлежать Б)
Более строгий вид агрегации – композиция обладает еще одним свойством:
- Зависимость по существованию
© Фонотов Анастас Михайлович
Агрегация – сферы применения
Кафедра Автоматизированных систем управления
Агрегация является мощным инструментом в: -Приложения мультимедиа -Игры
-Сложные аналитические системы -Системы управления и сопровождения технологических процессов
© Фонотов Анастас Михайлович