UML / АСУ_Фонотов_uml
.pdfКафедра Автоматизированных систем управления
Взаимодействие объектов – отношения между классами
© Фонотов Анастас Михайлович
|
|
|
|
|
|
|
Отношения между классами |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
Отношение - relation |
||||
|
|
||||||
|
|
|
Отношение позволяет узнать об атрибутах, операциях и |
||||
управления |
|
|
|
связях другого класса. |
|||
|
|
|
|
|
|
||
|
|
|
Виды отношений: |
||||
систем |
|
|
|
|
|
|
Ассоциация – Описание связей между экземплярами |
|
|
|
|
|
|
классов |
|
|
|
|
|
|
|
|
|
Автоматизированных |
|
|
|
|
|
Зависимость – Отношение, существующие между двумя |
|
|
|
|
|
|
|
элементами модели |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обобщение – Отношение между общим описанием и |
|
|
|
|
|
|
|
|
более специфическими его разновидностями. |
|
|
|
|
|
|
Реализация – отношение между спецификацией и ее |
|
Кафедра |
|
|
|
|
|
|
реализацией |
|
|
|
|
|
Использование – ситуация, когда для корректной работы |
||
|
|
|
|
|
одному элементу системы необходим другой элемент.
© Фонотов Анастас Михайлович
Отношение ассоциации
Кафедра Автоматизированных систем управления
Ассоциация (association) – описывает связь между объектами (экземплярами классов, которые участвуют в ассоциации)
Изображается
Не направленная ассоциация
Направленная ассоциация
Ассоциация может иметь:
Имя
Направление
Кратность
Имена полюсов
© Фонотов Анастас Михайлович
Отношение ассоциации
Студент изучает Курс; на Курс набираются Студенты
Кафедра Автоматизированных систем управления
class Class Model |
|
Студент |
Курс |
* |
* |
|
Преподаватель |
|
|
Кафедра |
||
|
|
|
|
|
||
- |
Имя: Строка(25) |
|
- |
Название: Строка(50) |
||
- |
рКафедра: |
Кафедра 1..* |
1 |
|||
- |
рПреподаватель: Преподаватель |
|||||
- |
ТабНомер: |
int |
|
|||
|
|
|
||||
- |
Фамилия: Строка(25) |
|
|
|
© Фонотов Анастас Михайлович
Отношение ассоциации, понятие
кратности
Кафедра Автоматизированных систем управления
obj ect Class Model |
|
Сидоров:Студент |
UML:Курс |
- Имя: Строка(25) = Иван |
- Название: Строка(50) = UML |
Петров:Студент |
Системный анализ: Курс |
- Имя: Строка(25) = Антон |
- Название: Строка(50) = Системный анализ |
Иванова: Студент
-Имя: Строка(25) = Екатерина
© Фонотов Анастас Михайлович
Взаимодейсвие сущностей
системуправления |
|
|
|
|
Автоматизированных |
|
|
|
|
|
|
Клиентом называется любой объект, |
||
|
|
использующий ресурсы другого объекта |
||
|
|
(называемого Поставщик или Сервер) |
||
Кафедра |
|
|
Такой подход концентрирует внимание на внешних |
|
|
|
проявлениях объекта |
||
|
|
|
||
|
|
Обязательства объектаэто поведение за которое он |
||
|
|
|
отвечает. |
Автор: Фонотов |
|
|
© Фонотов Анастас Михайлович |
||
|
|
|
|
А.М. - доцент |
Отношение ассоциации
Кафедра Автоматизированных систем управления
Разработчик часто реализует ассоциацию в виде ссылки (reference) – это атрибут объекта, ссылающийся на другой объект. (рКафедра, рПреподаватель).
class Class Model |
|
|
|
||
|
Преподаватель |
|
Кафедра |
||
|
|
|
|
||
- |
Имя: Строка(25) |
- |
Название: Строка(50) |
||
- |
рКафедра: |
Кафедра 1..* |
|||
1 - |
рПреподаватель: Преподаватель |
||||
- |
ТабНомер: |
int |
|
|
|
- |
Фамилия: Строка(25) |
|
|
© Фонотов Анастас Михайлович
|
|
|
|
Отношение ассоциации |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Моделирование связи в виде ссылки скрывает тот |
|
|
|
|||
управления |
|
|
факт, что связь не является частью одного из |
|
|
|
является частью курса, а курс – частью человека. |
||
|
|
|
объектов, а зависит от них обоих. Студент не |
|
систем |
|
|
Поэтому все соединения между классами следует |
|
|
|
|
||
Автоматизированных |
|
|
моделировать явным образом: с помощью |
|
|
|
ассоциации. |
||
|
|
|
||
|
|
Ассоциация нарушает инкапсуляцию |
||
|
|
Классы, связанные между собой двунаправленной |
||
Кафедра |
|
|
ассоциацией «знают» друг о друге все. |
|
|
|
|
|
|
|
|
|
© Фонотов Анастас Михайлович |
Отношение ассоциации
Кафедра Автоматизированных систем управления
Название ассоциации задает ей направление.
|
* |
Владеет |
1 |
|
||
ДОМ |
Владелец |
|||||
|
||||||
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Управляет |
1 |
|
||
Автомобиль |
Водитель |
|||||
|
||||||
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
© Фонотов Анастас Михайлович
|
|
|
|
|
|
Отношение ассоциации |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Связь ассоциация является жесткой связью, которая |
|||
|
|
|||||
управления |
|
|
|
требует создание атрибута (экземпляра связанного |
||
|
|
|
класса) |
|||
|
|
|
|
|||
систем |
|
|
Направление ассоциации можно определить, изучая |
|||
|
|
|
потоки событий |
|||
Автоматизированных |
|
|
|
входящие («поставщик») – легко. |
||
|
|
|
Класс с большим количеством исходящих |
|||
|
|
|
|
однонаправленных связей («клиент») повторно |
||
|
|
|
|
использовать трудно, а класс, все связи которого |
||
Кафедра |
|
|
Связь ассоциаций может быть рефлексивной |
|||
|
|
|||||
|
|
|
|
|
© Фонотов Анастас Михайлович |