Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КИС_2013_02_18.doc
Скачиваний:
0
Добавлен:
07.01.2020
Размер:
3 Mб
Скачать

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

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

Объекты на диаграмме изображаются в виде прямоугольников, внутри которых указывается имя объекта и имя класса, к которому принадлежит объект. Вниз от объекта проводится вертикальная пунктирная линия, которая называется “линией жизни” объекта. Она описывает определенный период жизни объекта. Ось времени на диаграммах направлена сверху вниз.

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

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

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

Например, SD диаграмма для банкомата, выдающего деньги по пластиковой карте, может выглядеть так :

Рисунок 5. Упрощенная SD диаграмма работы банкомата

Объект на SD диаграмме изображается как экземпляр класса Имя объекта:Имя класса. Если имя объекта не указано – предполагается, что оно совпадает с именем класса.

Типы сообщений

Различают 4 типа сообщений :

  1. обычное – посылка простого сообщения другому объекту

  2. вложенное – вызов подпрограммы или вложенный поток управления. Вся вложенная последовательность должна завершиться, прежде чем внешний поток управления сможет продолжаться далее.

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

  4. ответное – ответ объекта на полученное сообщение

На диаграммах им соответствуют разные виды стрелок.

Рисунок 6. Типы сообщений

Рисунок 7. Использование различных типов сообщений

Например, рассмотрим SD диаграмму приготовления кофе. После того как мы включим чайник, можно выполнить целый ряд действий, не дожидаясь пока чайник вскипит. Поэтому сообщение «вскипятить» является асинхронным. Все остальные сообщения требуют ожидания завершения действий, вызванных ими, и поэтому являются вложенными.

Параллельные сообщения

Рисунок 8. Параллельные сообщения

Если несколько сообщений посылаются одновременно, то на диаграмме их начальные концы объединяют.

Ветвление по условию

Часто сообщение может быть послано лишь при выполнении некоторого условия. Такое условие указывается в квадратных скобках перед именем сообщения. Условия позволяют выбрать одно сообщение из нескольких возможных, что дает возможность показать несколько различных сценариев прохождения сообщений на одной диаграмме.

Рисунок 9. Использование условий