Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
413 Кб
Скачать
☆

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

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

Существует два типа иерархических отношений связи, агрегации

Связи.

Семантика - это физическое или концептуальное соединение между объектами Рассмотрим схему (рис 3-2) a Displayltem

Рис 3-2 Связи

Линиями отмечены пути прохождения сообщений Сами сообщения стрелками -> согласно их направлению и помечены именем операции Связь обычно односторонняя. Вступая в связь объект может выполнять роли

  • активного объекта воздействует на другие, сам не подвергается действию,

  • сервера только подвергаются воздействию ,

  • агент может быть как активным так и пассивным

Видимость.

Пусть существует два объекта А и В и связь между ними Чтобы А послал сообщение В, то В должен быть видим для А В предыдущем примере объект rampController видит объект growingRamp, т к он передается в качестве параметра Существует четыре способа обеспечить видимость

  • Сервер глобален по отношению к клиенту

  • Сервер (или указатель его) передан клиенту в качестве параметра операции

  • Сервер является частью клиента

  • Сервер локально порождается клиентом в ходе выполнения какой-либо операции

Синхронизация.

Если по связи один объект посылает сообщение другому, то говорят, они синхронизируются Синхронизация состоит в запуске метода Однако в многопоточной системе, требуется решить проблему взаимного исключения, типичного для параллельных систем Существуют три подхода к синхронизации Последовательный - пассивный объект подключается в присутствии только ОДНОГО активного процесса

Защищенный - семантика пассивного объекта обеспечивается в присутствии многих потоков управления (без взаимных исключении)

Синхронный - семантика пассивного объекта обеспечивается в присутствии многнх потоков управления взаимное исключение обеспечивает сервер

Агрегация.

Связи обычно равноправные "клиент-серверные" между объектами Но существует еще отношения целого и части, приводящее к соответствующей иерархии объектов Идя от целою {агрегата), к его частям {атрибутам) получим частный случаи ассоциации

Объект rampController и объект growingRamp и атрибут h класса Heater (нагреватель) Объект rampController - целое, h - его часть (часть его состояния) Исходя из rampController можно найти соответствующий нагреватель Однако по h нельзя найти содержащий его объект (контейнер)

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

Вопрос 8. Диаграммы вариантов использования, диагр. Потоков данных.

Вариант использования представляет собой последовательность действий (транзакций), выполняемых системой в ответ на событие. инициируемое некоторым внешним объектом (действующим лицом) Вариант использования описывает типичное взаимодействие между пользователем и системой В простейшем случае вариант использования определяется в процессе обсуждения с пользователем тех функции которые он хотел бы реализовать

Для наглядного представления вариантов использования в качестве основных элементов процесса разработки ПО применяются диаграммы вариантов использования На рис показан прнмер такой диаграммы для банковской системы с банкоматами

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

На этой диаграмме показаны два действующих лица клиент и кредитная система Существуют также шесть основных действий выполняемых моделируемой системой перевести деньги и сделать вклад, снять деньги со счета просмотреть баланс изменить PlN код и сделать платеж На диаграмме вариантов использования показано взаимодействие между вариантами использования и действующими лицами. Она отражает требования к системе с точки зрения пользователя. Таким образом варианты использования - это функции выполняемые системой а действующие лица - это заинтересованные лица(stakeholders) По отношению к создаваемом системе Такие диаграммы показывают; какие действующие лица интересуют варианты использования

Конкретная цель диаграмм вариантов использования - это документирование вариантов использования (все, входящее в сферу применения системы), действующих лиц (все вне этой сферы) и связей между ними. Разрабатывая диаграммы вариантов использования, старайтесь придерживаться следующих правил

• не моделируйте связи между действующими лицами. По определению действующие лица находятся вне сферы действия системы. Это означает что связи между ними также не относятся к ее компетенции,

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