Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РОБОТА5.doc
Скачиваний:
17
Добавлен:
10.11.2019
Размер:
3.83 Mб
Скачать

Диаграмма классов

Диаграмма классов составляет, так сказать, "сердце" и "душу" объектно-ориентированной системы. В данном наставлении ставится цель только продемонст­рировать возможности статического моделирования применительно к модели классов.

В классы пока что не введено ни одной новой операции. Операции принадле­жат скорее к сфере проектирования, чем анализа. После того, как операции в ко­нечном итоге вводятся в классы, модель классов в явном виде определяет поведе­ние системы.

На рисунке 5.15 показана диаграмма классов для приложения Internet-магазин. Это еще не законченное решение, поскольку, например, для практического решения может потребоваться введение дополнительных атрибутов.

Рисунок 5.15 - Диаграмма классов для приложения Internet-магазин

Моделирование взаимодействий

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

Диаграммы взаимодействий разделяются на два вида — диаграммы последовательно­стей и диаграммы кооперации. Они могут использоваться как взаимозаменяемые, и, ко­нечно, многие CASE-средства поддерживают автоматическое преобразование одной модели в другую. Разница между моделями заключается в акцентах. Модели последова­тельностей концентрируются на временных последовательностях событий, а в моделях кооперации основное внимание уделяется отношениям между объектами.

Взаимодействия

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

Стрелки представляют каждое сообщение, направляемое от вызывающего объекта (отправителя) к операции (методу) вызываемого объекта (полрштеля). Для каждого сообщения, как минимум, указывается его имя.

Фактические аргументы могут быть входными аргументами (передаются от отправителя к получателю) или выходными аргументами (передаются от получателя назад к отправите­лю). Входные аргументы могут быть обозначены ключевым словом in (если ключевое слово отсутствует, то предполагается, что аргумент — входной). Выходные аргументы обо­значаются ключевым словом out. Допускаются также аргументы типа inout ("входные-выходные"), однако, для об'ьектноориентированного подхода они не характерны. Сооб­щение getCourseName, отправленное объекту, обозначенному пере­менной crs_ref, имеет один выходной аргумент и ни одного входного:

crs_ref.getCourseName(out crs_name)

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

Сообщение может быть отправлено коллекции (collection) объектов (коллекция мо­жет быть набором, списком, массивом объектов и т.д.)- Довольно частой является си­туация, когда вызывающий объект связан с несколькими объектами-получателями ' (поскольку кратность ассоциации указана как "один ко многим" или "многие ко мно­гим"). Итеративный маркер— звездочка перед обозначением сообщения — указывает на процесс итерации сообщения по всей коллекции.