Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы / ответы на экз.docx
Скачиваний:
41
Добавлен:
17.06.2016
Размер:
7.58 Mб
Скачать

Диаграмма последовательности (sequence diagram) uml.

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

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

  • синхронное (аналогично вызову процедуры, обозначается сплошной стрелкой с закрашенным треугольным концом);

  • асинхронное (вызов без ожидания возврата, изображается сплошной стрелкой с обычным концом);

  • возврат (ответ на синхронное сообщение, изображается пунктирной стрелкой);

  • создающее (входит в прямоугольник, с которого начинается линия жизни);

  • удаляющее (за которых на линии жизни указывается «крестик»-терминатор); сообщение с длительностью (нарисованное с наклоном);

  • найденное сообщение (без указания линии жизни, отправившей его);

  • потерянное сообщение (без указания линии жизни, принимающей его).

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

Каждое сообщение может быть описано в таком формате:

  • номер : переменная = операция (аргументы): возвращаемое значение

  • номер : – порядковый номер сообщения;

  • переменная = – указание, где будет сохранен результат;

  • операция (аргументы) – указание вызываемой операции и фактических параметров;

  • возвращаемое значение – явное указание возвращаемого значения. Любая из частей описания может отсутствовать.

В UML 2.0 диаграммы последовательности могут содержать комбинированные фрагменты взаимодействия, описывающие более сложные случаи, чем простой обмен сообщениями. Каждый фрагмент взаимодействия содержит один или более операндов взаимодействия, соединённых оператором взаимодействия. Перечень операторов взаимодействия:

  • alt – несколько альтернатив (каждая альтернатива представляется отдельным операндом, каждый операнд снабжается сторожевым условием, фрагмент предписывает вычислить все сторожевые условия, в зависимости от истинности сторожевых условий выбрать один операнд взаимодействия и выполнить его, если есть несколько альтернатив с истинными сторожевыми условиями, выбор осуществляется недетерминировано);

  • opt – необязательное взаимодействие (единственный заданный операнд выполняется только тогда, когда сторожевое условие истинно, иначе не делается ничего);

  • par – параллельно выполняемые операнды взаимодействия;

  • loop – цикл (единственный операнд – тело цикла, в сторожевом условии может быть указано минимальное и максимальное количество итераций и/или while- условие);

  • region – критический участок;

  • neg – неверное, недопустимое взаимодействие;

  • ref – использование взаимодействия – ссылка на другую диаграмму, подборно моделирующую один из этапов взаимодействия;

  • sd – блок, включающий диаграмму последовательности целиком;

  • break – досрочный выход из цикла (встречается внутри loop-фрагмента, обеспечивает выполнение своего единственного операнда взаимодействия и досрочный выход из обрамляющего цикла при истинном сторожевом условии);

  • strict, seq – строгое или слабое упорядочение операндов взаимодействия (при строгом упорядочении всё выполняется последовательно – первый операнд, за ним второй; при слабом упорядочении упорядочиваются только сообщения, получаемые каждой линией жизни. Сами по себе наборы сообщений, относящиеся к разным линиям жизни, могут рассылаться и обрабатываться параллельно).

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

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

Соседние файлы в папке Ответы