Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры-2модуль-ТРПО.doc
Скачиваний:
32
Добавлен:
21.03.2015
Размер:
1.2 Mб
Скачать

2.6.1. Общая характеристика

Взаимодействие – это поведение, выражающееся в обмене сообщениями между объектами, в результате чего достигается определенная цель. Чаще всего сообщение сводится к вызову операции или посылке сигнала, но оно может также создавать и уничтожать другие объекты.

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

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

Существует 2 вида ДВ: 1 – диаграммы последовательностей;

2 – кооперативные диаграммы.

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

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

Пример диаграммы последовательностей приведен на рисунке 2.11.

Эта диаграмма изображает следующий ВИ:

1. объект Окно Ввода Заказа посылает объекту Заказ сообщение «приготовиться»;

2. объект Заказ посылает данное сообщение каждой Строке Заказа в данном Заказе;

3. каждая Строка Заказа проверяет состояние определенного Запаса Товара. Если проверка удовлетворяется (true), то Строка Заказа удаляет соответствующее количество товара из Запаса. В противном случае количество Запаса снижается до уровня Повторного Заказа и Запас запрашивает новую поставку товара.

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

Рисунок 2.11. Диаграмма последовательностей.

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

условие, показывающее, в каком случае посылается сообщение (например, нужен Повторный Заказ ()= true);

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

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