Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vaneev_O_N__Turchin_D_E_TIPiS_Praktikum_2013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.04 Mб
Скачать

6.4. Контрольные вопросы

  1. В чем заключается отличие алгоритмической декомпозиции от объектно-ориентированной декомпозиции сложной системы?

  2. Как соотносятся между собой объектно-ориентированный анализ, проектирование и программирование?

  3. В чем заключается объектно-ориентированное абстрагирование?

  4. Что называют инкапсуляцией?

  5. Что понимают под состоянием объекта?

  6. Что такое поведение объекта?

  7. Какие выделяют виды операций объекта?

  8. Что понимают под протоколом объекта?

  9. Что такое роли объектов?

  10. Для чего предназначен язык UML?

  11. Как изображается класс на диаграммах классов языка UML?

  12. Как записывают атрибуты класса на диаграмме классов?

  13. Каков синтаксис записи операции на диаграмме классов?

  14. Каким образом записывают список параметров операции?

7. Описание отношений между объектами и классами предметной области

7.1. Цель работы

Цель работы – приобрести умение описывать отношения между объектами и классами предметной области с помощью языка UML.

Работа рассчитана на 6 часов.

7.2. Основные теоретические сведения

7.2.1. Отношения между объектами. Диаграммы объектов и диаграммы последовательности

Отношения между объектами.

При объектно-ориентированном анализе и проектировании интерес представляют не объекты-одиночки, а взаимодействующие объекты, поскольку взаимодействие объектов реализует поведение системы.

Отношения между двумя объектами основываются на взаимных предположениях о допустимых операциях и ожидаемом поведении. Для объектно-ориентированного анализа и проектирования наиболее важными являются два типа отношений между объектами:

связь – это конкретное соединение, через которое один объект (клиент) запрашивает услугу у другого объекта (сервера) или управляет им;

агрегация – это отношение, описывающее иерархию «часть-целое», при которой один объект (компонент) является составной частью другого объекта (агрегата).

Связь означает, что один объект передает сообщения другому. На диаграммах объектов связи между объектами изображают с помощью соединительных линий (рис. 7.Х). Передаваемые сообщения изображают стрелками, отмечающими их направление, и подписывают именами вызываемых операций.

Рис. 7.Х. Связи между объектами

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

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

сервер – объект, который никогда не воздействует на другие объекты и только используется другими объектами; объект, использующий сервер, называется клиентом;

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

На рис. 7.Х пользователь – это контроллер, наушники – сервер, плейер – агент.

Необходимо учитывать разную организацию действий в физическом мире и в объектно-ориентированной модели. Например, действие «станок обрабатывает деталь» в физическом мире

Для того, чтобы объект A мог послать сообщение объекту B, необходимо чтобы объект B был виден для A.

Различают четыре формы видимости между объектами:

- сервер глобален для клиента;

- сервер является параметром операции клиента;

- сервер является частью клиента;

- сервер является локально объявленным объектом в операции клиента.

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

Агрегация обозначает отношения объектов в иерархии «целое/часть» и обеспечивает возможность перемещения от целого (агрегата) к его частям (компонентам).

Агрегация может обозначать, а может и не обозначать физическое включение части в целое.

При физическом включении частей в целое говорят, что компоненты включены в агрегат по значению (containment by value). На рис. 7.Х. приведен пример включения частей (процессор, оперативная память, системная плата) в агрегат (компьютер) по значению.

Рис. 7.Х. Включение частей в агрегат по значению

При нефизическом включении (композиции) частей в целое говорят, что компоненты включены в агрегат по ссылке (containment by reference). На рис. 7.Х приведен пример включения частей (студент, преподаватель) в агрегат (институт) по ссылке. Очевидно, что студенты и преподаватели являются элементами института, но не входят в него физически.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]