- •Вопрос 1. Внешнее проектирование по: разработка требований, определение целей по, внешние спецификации проекта.
- •Вопрос 2. Процесс разработки.
- •Вопрос 3. Структура сложных систем. Существует пять признаков сложных систем
- •Вопрос 4 Составные части объектного подхода
- •Вопрос 5. Объектная модель предметной области
- •Вопрос 6. Природа объекта.
- •Вопрос 7. Отношение между объектами. Типы отношений.
- •Вопрос 8. Диаграммы вариантов использования, диагр. Потоков данных.
- •Вопрос 10. Диаграммы взаимодействия
- •Вопрос 9. Диаграммы классов, отношения между классами
- •Вопрос 12. Отношение между классами. Типы отношений.
Вопрос 7. Отношение между объектами. Типы отношений.
Для любых двух объектов отношения основывается на предположениях, которыми один обладает относительно другого об операциях и поведении.
Существует два типа иерархических отношений связи, агрегации
Связи.
Семантика - это физическое или концептуальное соединение между объектами Рассмотрим схему (рис 3-2) a Displayltem
Рис 3-2 Связи
Линиями отмечены пути прохождения сообщений Сами сообщения стрелками -> согласно их направлению и помечены именем операции Связь обычно односторонняя. Вступая в связь объект может выполнять роли
активного объекта воздействует на другие, сам не подвергается действию,
сервера только подвергаются воздействию ,
агент может быть как активным так и пассивным
Видимость.
Пусть существует два объекта А и В и связь между ними Чтобы А послал сообщение В, то В должен быть видим для А В предыдущем примере объект rampController видит объект growingRamp, т к он передается в качестве параметра Существует четыре способа обеспечить видимость
Сервер глобален по отношению к клиенту
Сервер (или указатель его) передан клиенту в качестве параметра операции
Сервер является частью клиента
Сервер локально порождается клиентом в ходе выполнения какой-либо операции
Синхронизация.
Если по связи один объект посылает сообщение другому, то говорят, они синхронизируются Синхронизация состоит в запуске метода Однако в многопоточной системе, требуется решить проблему взаимного исключения, типичного для параллельных систем Существуют три подхода к синхронизации Последовательный - пассивный объект подключается в присутствии только ОДНОГО активного процесса
Защищенный - семантика пассивного объекта обеспечивается в присутствии многих потоков управления (без взаимных исключении)
Синхронный - семантика пассивного объекта обеспечивается в присутствии многнх потоков управления взаимное исключение обеспечивает сервер
Агрегация.
Связи обычно равноправные "клиент-серверные" между объектами Но существует еще отношения целого и части, приводящее к соответствующей иерархии объектов Идя от целою {агрегата), к его частям {атрибутам) получим частный случаи ассоциации
Объект rampController и объект growingRamp и атрибут h класса Heater (нагреватель) Объект rampController - целое, h - его часть (часть его состояния) Исходя из rampController можно найти соответствующий нагреватель Однако по h нельзя найти содержащий его объект (контейнер)
Выбирая одно из двух связь или агрегацию, нужно иметь ввиду агрегация предпочтительнее там, где нужно скрыть части в целом, а связи - там где нужна их связь слабее и меньше ограничении Агрегат может посылать сообщение своему атрибуту
Вопрос 8. Диаграммы вариантов использования, диагр. Потоков данных.
Вариант использования представляет собой последовательность действий (транзакций), выполняемых системой в ответ на событие. инициируемое некоторым внешним объектом (действующим лицом) Вариант использования описывает типичное взаимодействие между пользователем и системой В простейшем случае вариант использования определяется в процессе обсуждения с пользователем тех функции которые он хотел бы реализовать
Для наглядного представления вариантов использования в качестве основных элементов процесса разработки ПО применяются диаграммы вариантов использования На рис показан прнмер такой диаграммы для банковской системы с банкоматами
На данной диаграмме человеческие фигурки обозначают действующих лиц, овалы - варианты использования а линии и стрелки - различные связи между действующими лицами и вариантами использования
На этой диаграмме показаны два действующих лица клиент и кредитная система Существуют также шесть основных действий выполняемых моделируемой системой перевести деньги и сделать вклад, снять деньги со счета просмотреть баланс изменить PlN код и сделать платеж На диаграмме вариантов использования показано взаимодействие между вариантами использования и действующими лицами. Она отражает требования к системе с точки зрения пользователя. Таким образом варианты использования - это функции выполняемые системой а действующие лица - это заинтересованные лица(stakeholders) По отношению к создаваемом системе Такие диаграммы показывают; какие действующие лица интересуют варианты использования
Конкретная цель диаграмм вариантов использования - это документирование вариантов использования (все, входящее в сферу применения системы), действующих лиц (все вне этой сферы) и связей между ними. Разрабатывая диаграммы вариантов использования, старайтесь придерживаться следующих правил
• не моделируйте связи между действующими лицами. По определению действующие лица находятся вне сферы действия системы. Это означает что связи между ними также не относятся к ее компетенции,
• не соединяйте стрелкой два варианта использования непосредственно Диаграммы данного типа описывают только, какие варианты использования доступны системе, а не порядок их выполнения Для отображения порядка выполнения вариантов использования применяют диаграммы деятельностей, каждый вариант использования должен быть инициирован действующим лицом Это означает, что всегда имеется стрелка, начинающаяся на действующем лице и заканчивающаяся на варианте использования
