Диаграммы взаимодействия
Диаграммы взаимодействия предназначены для моделирования поведения путем описания взаимодействия объектов для выполнения некоторой задачи или достижения определенной цели. Взаимодействие происходит путем обмена сообщениями.
Диаграммы взаимодействия изображаются в нескольких различных графических формах, из которых самыми важными являются диаграммы последовательности и диаграммы кооперации. Семантически эти диаграммы эквиваленты т.к. они описывают одно и то же: последовательность передачи сообщений между объектами в процессе их взаимодействия. В диаграмме последовательности графически подчеркивается упорядоченность во времени передаваемых сообщений, в то время как в диаграмме коммуникации на передний план выдвигается структура связей между объектами, по которым передаются сообщения.
Оба типа диаграмм моделируют поведение "по индукции", от частного к общему, путем описания конкретного протокола передачи сообщений. В этом плюсы и минусы данного способа описания поведения.
Достоинство: в объектно-ориентированной парадигме обмен сообщениями — это и есть само выполнение программы, поэтому протокол передачи сообщений является наиболее точной моделью поведения.
Недостаток: диаграммы описывают поведение на уровне протоколов выполнения алгоритма, а не самого алгоритма.
Основным элементом этих диаграмм является сообщение.
Сообщение (message) – это передача управления и данных от одного объекта (отправителя) к другому (получателю). Отправка сообщения является действием, а получение сообщения — событием. С передачей информации и отправкой сообщений связаны действия:
● вызов метода (call);
● создание объекта (create);
● уничтожение объекта (destroy);
● возврат значения (return);
● посылка сигнала (send).
Действие записывается в виде текста над (или рядом со) стрелкой, символизирующей сообщение. Если действие имеет параметры (вызов метода, создание объекта, посылка сигнала), то аргументы, соответствующие параметрам по числу и типам, записываются справа от имени действия в круглых скобках.
Диаграмма последовательности предназначена для моделирования поведения в форме описания протокола сеанса обмена сообщениями между взаимодействующими объектами во время выполнения одного из возможных сценариев.
Из этого определения вытекают несколько следствий, определяющих состав сущностей и набор отношений, используемых на диаграмме последовательности (также как и на диаграмме кооперации).
● На диаграмме присутствуют только те объекты, которые задействованы в данном взаимодействии. Прочие объекты не показываются, хотя возможно и присутствуют в системе.
● Отображаются только те связи, которые нужны для передачи данной последовательности сообщений, прочие связи не показываются.
● Состав сообщений (а тем самым операций и сигналов) определяется назначением данного взаимодействия; в других взаимодействиях эти же объекты могут обмениваться другими сообщениями.
На диаграмме последовательности объект изображается в виде прямоугольника, от которого вниз проведена пунктирная вертикальная линия. Эта линия называется линией жизни (lifeline) объекта. Она представляет собой фрагмент жизненного цикла объекта в процессе взаимодействия.
Каждое сообщение представляется в виде стрелки между линиями жизни двух объектов. Сообщения появляются в том порядке, как они показаны на странице сверху вниз. Каждое сообщение помечается как минимум именем сообщения; при желании можно добавить также аргументы и некоторую управляющую информацию, и, кроме того, можно показать само-делегирование (self-delegation) – сообщение, которое объект посылает самому себе, при этом стрелка сообщения указывает на ту же самую линию жизни (рис. 3.22).
Вторым видом диаграммы взаимодействия является кооперативная диаграмма. Подобно диаграммам последовательности, кооперативные диаграммы (collaborations) отображают поток событий через конкретный сценарий варианта использования. Диаграммы последовательности упорядочены по времени, а кооперативные диаграммы больше внимания заостряют на связях между объектами (рис. 3.23).
Рисунок 3.22. Диаграмма последовательности прецедента «Снять деньги» Банкомата
Рисунок 3.23 Диаграмма коопераций прецедента «Снять деньги» Банкомата
Дата добавления: 2021-05-28; просмотров: 340;