Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_ООП_1_4_2 Основи об'єктно-орієнтованого про...doc
Скачиваний:
0
Добавлен:
12.11.2019
Размер:
179.71 Кб
Скачать

Тема 1.4. (Продовження) Основи об'єктно-орієнтованого проектування мовою uml

1. Діаграми послідовності і кооперації.

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

Как правило, диаграмма взаимодействия описывает поведение только одного варианта использования. На такой диаграмме отображаются только экземпляры объектов и сообщения, которыми они обменива­ются между собой в рамках данного варианта использования.

Существует два вида диаграмм взаимодействия: диаграммы последо­вательности (sequence diagrams) и диаграммы кооперации (collaborati­on diagrams).

Диаграммы последовательности

На диаграмме последовательности объекты изображаются прямо­угольниками на вершине вертикальной пунктирной линии жизни (lifeline) объекта. Она представляет собой жизненный цикл объекта в процессе взаимо­действия.

Каждое сообщение представляется стрелкой между линиями жизни двух объектов.

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

Каждое сооб­щение помечается как минимум именем сообщения; можно также указать аргументы и некоторую управляющую информацию.

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

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

Управляющая информация может быть представлена двумя способами.

Во-первых, существует некоторое условие, которое указывает, когда сообщение может быть передано (например, [нуженПовторныйЗаказ]). Сообщение посылается, только если это условие истинно.

Во-вторых, может оказаться полезным маркер итерации, показывающий, что сообщение посылается несколько раз для множества принимающих объектов. Та­кая итерация указывается в квадратных скобках с предшествующей звездочкой, например *[для всех позиций заказа].

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

Половина стрелки на конце сообщения служит для обозначения асинхронного сообщения. Асинхронное сообщение не блокирует вы­зывающий объект, то есть последний может продолжать выполнение своего собственного процесса. Асинхронное сообщение может выпол­нять одно из трех действий:

Создание нового потока, при этом сообщение соединяется с прямо­угольником активизации.

Создание нового объекта.

Установление связи с потоком, который уже выполняется.

Удаление объекта изображается большой буквой X. Объекты могут са­моуничтожаться либо могут быть уничтоже­ны другим сообщением.

Диаграммы кооперации

Экземпляры объектов изображаются в виде пик­тограмм.

Стрелки обозначают сообщения, обмен которыми осуществляется в рамках данного варианта использования. Их временная последова­тельность указывается посредством нумерации сообщений.

При отсутствии имени объекта необходимо оставить двоеточие, чтобы было понятно, что это имя класса, а не объекта.

CRC-карточки (Класс-Ответственность-Кооперация).

Использование CRC-карточек помогает моделировать взаимо­действие между классами, в частности, показать особенности выполнения некоторого сценария. Выяснив для себя детали вза­имодействия, можно приступить к его документированию в фор­ме диаграмм взаимодействия.

Использование ответственностей поможет вам сформулировать основные ответственности класса. А они являются полезным средством для приведения в порядок описаний классов.