Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

· Основные элементы диаграммы

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

Объект на диаграмме изображается в виде прямоугольника на вершине вертикальной пунктирной линии, называемой линией жизни объекта (lifeline) (рис.2.20). Она представляет собой фрагмент жизненного цикла объекта в процессе взаимодействия. Если объект создается или уничтожается на отрезке времени, представленном на диаграмме, то его линия жизни начинается и заканчивается в соответствующих точках, в противном случае линия жизни объекта проводится от начала до конца диаграммы. Символ объекта рисуется в начале его линии жизни; если объект создается не в начале диаграммы, то сообщение о создании объекта рисуется со стрелкой, проведенной к символу объекта. Если объект уничтожается не в конце диаграммы, то момент его уничтожения помечается большим крестиком "Х". При сообщении, вызывающем уничтожение объекта (или самоуничтожение), в конце возвращается сообщение об уничтожении объекта. Линия жизни может разветвляться в две (и более) параллельные линии, показываемые условно. Каждая ответвляющаяся линия соответствует переходу в потоке сообщений. Линии жизни могут объединяться в некоторой последующей отметке.

· Сообщения и переходы

Сообщения (message) связывают объекты между собой и передают информацию о выполняемом действии.

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

Сообщения могут быть следующих типов:

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

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

Обычно стрелка с сообщением рисуется горизонтально. Это символизирует, что сообщение передается мгновенно и ничего не может произойти в момент передачи. Если на передачу сообщения необходимо какое-то время, в течение которого может что-нибудь произойти (например, посылка сообщения в противоположном направлении), то линия со стрелкой может быть ломаной (конец стрелки располагается ниже ее начала).

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

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

· Активация

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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...