Нотация и семантика языка - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Нотация и семантика языка - страница №1/1

Нотация и семантика языка UML

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

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

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



Линия жизни служит для обозначения периода времени, в течение которого объект существует в системе. Для обозначения момента уничтожения объекта в языке UML применяется специальный символ "X". Каждый объект графически изображается в форме прямоугольника и располагается в верхней части своей линии жизни. Внутри прямоугольника записываются собственное имя объекта со строчной буквы и имя класса, разделенные двоеточием.

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


а: класс 1



объект 1

: класс 2






















фокус управления линия жизни объекта символ уничтожения объекта

рекурсия

рефлексивное сообщение


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

Сообщения


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





(а) (б) (в) (г)



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

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

Третья разновидность (в) сообщения используется для возврата из вызова процедуры. Примером может служить простое сообщение о завершении вычислений без предоставления результата расчетов.

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



Ветвление потока управления


Одна из особенностей диаграммы последовательности - возможность визуализировать простое ветвление процесса. Для изображения ветвления используются две или более стрелки, выходящие из одной точки фокуса управления объекта. При этом рядом с каждой из них должно быть явно указано соответствующее условие ветви в форме логического выражения. На диаграммах последовательности при записи сообщений также могут использоваться стереотипы. Их семантика и синтаксис остаются без изменения, т.е. как они и определены в нотации языка UML.

ob1


ob2


: класс1



x<0 <>

x>=0



<>

<>

<>

стереотипное значение сообщения



Рекомендации по построению диаграмм последовательности


  1. выделить из всей совокупности классов только те, объекты которых участвуют в моделируемом взаимодействии

  2. нанести все объекты на диаграмму с соблюдением порядка инициализации сообщений

  3. установить, какие объекты будут существовать постоянно, а какие временно

  4. определить сообщения. При этом необходимо учитывать те операции, которые имеют классы соответствующих объектов в модели системы

  5. предусмотреть явные сообщения для уничтожения объектов (при необходимости). Это рекомендуется для оптимального распределения ресурсов

  6. в сложных системах для моделирования каждой ветви управления может потребоваться отдельная диаграмма последовательности

  7. визуализировать особенности реализации каждого варианта использования на отдельной диаграмме последовательности.