Диаграмма последовательности
Типы диаграмм UML |
---|
Структурные диаграммы UML |
Поведенческие диаграммы UML |
В разработке программного обеспечения диаграмма последовательности [1] показывает взаимодействия процессов, расположенные во временной последовательности. На этой диаграмме показаны задействованные процессы и объекты, а также последовательность сообщений, которыми обмениваются необходимые для выполнения функций. Диаграммы последовательности обычно связаны с реализациями вариантов использования в модели архитектурного представления 4+1 разрабатываемой системы. Диаграммы последовательностей иногда называют диаграммами событий или сценариями событий .
Для конкретного сценария варианта использования на диаграммах показаны события, которые генерируют внешние субъекты, их порядок и возможные внутрисистемные события. [2] На диаграмме подчеркиваются события, которые пересекают границы системы, переходя от действующих лиц к системам. Диаграмму последовательности действий системы следует составить для основного сценария успеха варианта использования , а также для частых или сложных альтернативных сценариев.
Существует два типа диаграмм последовательности:
- Диаграмма последовательности (SD) : обычная версия диаграммы последовательности описывает, как работает система, и каждый объект внутри системы описывается конкретно.
- Диаграмма последовательности системы (SSD) : все системы рассматриваются как черный ящик , в котором не показаны все классы, принадлежащие системе. Вместо этого отображается только объект с именем System.
Ключевые элементы диаграмм последовательности
[ редактировать ]Диаграмма последовательности показывает в виде параллельных вертикальных линий ( линий жизни ) различные процессы или объекты, которые существуют одновременно, а в виде горизонтальных стрелок — сообщения, которыми они обмениваются в том порядке, в котором они происходят. Это позволяет графически задавать простые сценарии выполнения.
Диаграмма последовательности операций системы должна определять и показывать следующее:
- Внешние действующие лица
- Сообщения (методы), вызываемые этими субъектами
- Возвращаемые значения (если есть), связанные с предыдущими сообщениями
- Индикация любых циклов или области итерации
Чтение диаграммы последовательности операций системы
[ редактировать ]Профессионалы при разработке проекта часто используют диаграммы последовательности действий системы, чтобы проиллюстрировать, как выполняются определенные задачи между пользователями и системой. Эти задачи могут включать повторяющиеся, простые или сложные задачи. Цель — проиллюстрировать вариант использования в визуальном формате. Знакомство с унифицированным языком моделирования (UML) необходимо для построения диаграммы последовательности системы. Эти модели показывают логику действующих лиц (людей, которые влияют на систему) и системы при выполнении задачи. Чтение диаграммы последовательности начинается сверху с актера(ов) или системы(ов) (которая расположена вверху страницы). Под каждым действующим лицом или системой прикреплены длинные пунктирные линии, называемые «линиями жизни». Действия выполняются с линиями, проходящими между этими линиями жизни. Связь между линией действия и линией жизни показывает взаимодействие между действующим лицом или системой. Сообщения часто появляются вверху или внизу диаграммы последовательности действий системы, чтобы подробно проиллюстрировать действие. Например, запрос актера на вход в систему будет представлен логином (имя пользователя, пароль). После выполнения каждого действия ответ или следующее действие располагается под предыдущим. Читая строки, можно подробно увидеть, как и в каком порядке выполняются те или иные действия в предоставленной модели.
Строительные блоки диаграммы
[ редактировать ]Если линия жизни принадлежит объекту, это демонстрирует роль. Если оставить имя экземпляра пустым, это может означать анонимные и безымянные экземпляры.→Сообщения, написанные горизонтальными стрелками , над которыми написано имя сообщения, отображают взаимодействие. Сплошные стрелки обозначают синхронные вызовы, открытые стрелки представляют собой асинхронные сообщения , а пунктирные линии представляют собой ответные сообщения. [3] Если вызывающая сторона отправляет синхронное сообщение, она должна дождаться завершения сообщения, например, вызова подпрограммы. Если вызывающая сторона отправляет асинхронное сообщение, она может продолжить обработку и не ждать ответа. Асинхронные вызовы присутствуют в многопоточных приложениях, приложениях, управляемых событиями, а также в промежуточном программном обеспечении, ориентированном на сообщения . Поля активации или поля вызова методов представляют собой непрозрачные прямоугольники, нарисованные поверх линий жизни, чтобы показать, что процессы выполняются в ответ на сообщение (ExecutionSpecifications в UML ).
Объекты, вызывающие методы для себя, используют сообщения и добавляют новые поля активации поверх всех остальных, чтобы указать дальнейший уровень обработки . Если объект уничтожен (удален из памяти ), под линией жизни рисуется X, а пунктирная линия перестает рисоваться под ней. Это должен быть результат сообщения либо от самого объекта, либо от другого.
Сообщение, отправленное из-за пределов диаграммы, может быть представлено сообщением, исходящим из закрашенного круга ( найденное сообщение в UML) или из границы диаграммы последовательности ( ворота в UML).
UML внес значительные улучшения в возможности диаграмм последовательности. Большинство этих улучшений основано на идее взаимодействия фрагментов. [4] которые представляют собой более мелкие части охватывающего взаимодействия. Множественные фрагменты взаимодействия объединяются для создания множества комбинированных фрагментов . [5] которые затем используются для моделирования взаимодействий, включающих параллелизм, условные переходы и необязательные взаимодействия.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Диаграммы последовательности». Единый язык моделирования 2.5.1 . Официальный номер документа OMG /05.12.2017. Организация по разработке стандартов группы управления объектами (OMG SDO). Декабрь 2017. с. 595.
- ^ Диаграммы последовательности системы
- ^ ОМГ (2011). Унифицированный язык моделирования OMG (OMG UML), Надстройка, V2.4.1 , стр. 507.
- ^ ОМГ (2008). Унифицированный язык моделирования OMG (OMG UML), Надстройка, V2.1.2 , стр. 485.
- ^ ОМГ (2007). Унифицированный язык моделирования OMG (OMG UML), надстройка, V2.1.2 . п. 467.
Внешние ссылки
[ редактировать ]- «О спецификации единого языка моделирования версии 2.5.1» . Организация по разработке стандартов группы управления объектами (OMG SDO). Декабрь 2017.
- Введение в диаграммы последовательностей UML 2 Скотта В. Эмблера.
- Краткое введение в диаграммы последовательностей UML. Архивировано 11 января 2010 г. в Wayback Machine Яником Ингельбрехтом.
- Диаграммы последовательности UML 2