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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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

Существует взаимно однозначное отображение между диаграммой последовательности действий и диаграммой сотрудничества. Пример диаграммы последовательности для части ранее использованной диаграммы сотрудничества:

 

 

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

Диаграммы состояний

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

Таким образом, диаграмма состояния показывает автомат. С помощью диаграмм состояний можно описывать как автомат Мили, так и автомат Мура. Разновидностью диаграммы состояний является диаграмма деятельности (activity diagram), в которой состояния — это некоторые работы, а переходы соответствуют завершению работы в исходном состоянии и, возможно, выполнению некоторых условий.

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

Пример диаграммы активности, иллюстрирующей поведение объекта (экземпляра) класса «Строка заказа»:

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

Переходы помечаются в соответствии со шаблоном:

«Событие»(«аргументы») [«условие»] / «Действие» ^ «Отправляемое сообщение»(«аргументы»)

В данном примере события и отправляемые сообщения не имеют аргументов.

Диаграммы состояний поддерживают вложенность, т.е. можно моделировать подсостояния в пределах некоторого состояния.

Процесс построения полезной диаграммы состояний может состоять из следующих шагов:

· выбор конечного и начального состояния объекта;

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

· определение допустимых состояний объекта;

· определение подсостояний для некоторых важных состояний;

· выявление событий, инициирующих переходы между состояниями;

· спецификация переходов;

· проверка достижимости всех состояний и отсутствия тупиковых состояний;

· упрощение графа за счет реорганизации с помощью подсостояний, ветвлений, слияний и т.п.;

· трассировка автомата для проверки согласованности его поведения с ожидаемым.

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

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

Узел графа диаграммы соответствует деятельности (activity), или работе. Деятельность — это продолжительное по времени неатомарное вычисление. Деятельность в конечном итоге выражается в выполнении некоторого действия (action). Действие состоит из атомарных вычислений и может заключаться в вызове операции, посылке сообщения, некотором простом вычислении и т.п. Состояние деятельности может иметь присоединенный подавтомат, в котором работа раскладывается на более мелкие действия.

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

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

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

Пример диаграммы деятельности для прецедента «Выполнить заказ клиента»:

Диаграммы деятельности обычно применяются для решения следующих двух задач.

· Моделирование делового процесса. При этом внимание фокусируется на работе с точки зрения актеров, работающих с системой. Процессы показываются с внешней, видимой для пользователей стороны ИС, и используются для визуализации, определения и документирования деловых процессов, обеспечиваемых ИС.

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

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



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 41; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.14.63 (0.005 с.)