Теория и практика UML. Диаграммы взаимодействияЗачастую на этапе спецификации требований необходимо показать не только алгоритм действий или изменение состояния объекта, но и обмен сообщениями между отдельными объектами Системы. Данную задачу решает диаграмма взаимодействия.
Диаграмма взаимодействия предназначена для моделирования отношений между объектами (ролями, классами, компонентами) Системы в рамках одного прецедента.
Данный вид диаграмм отражает следующие аспекты проектируемой Системы:
В отличие от диаграммы деятельности, которая показывает только последовательность (алгоритм) работы Системы, диаграммы взаимодействия акцентируют внимание разработчиков на сообщениях, инициирующих вызов определенных операций объекта (класса) или являющихся результатом выполнения операции.
Расширение нотации диаграмм взаимодействия в UML 2.0 позволяет аналитикам на более детальном уровне проработки требований по возможности заменять диаграммы деятельности диаграммами взаимодействия.
Таким образом, основной целевой аудиторией для диаграммы взаимодействия будет команда разработчиков. Для Заказчика данный вид диаграмм будет интересен только в рамках моделирования взаимодействия проектируемой ИС и сторонних Систем, работающих на стороне Заказчика.
Для описания взаимодействия объектов в UML предусмотрены следующие виды диаграмм:
Взаимодействие между отдельными компонентами Системы лучше отражает диаграмма коммуникаций. Данный вид диаграмм предназначен в основном для моделирования отношений между объектами.
Коммуникационные диаграммы представляют комбинацию информации из диаграмм классов, последовательности и вариантов использования. Данный вид диаграмм описывает сразу статическую структуру и динамическое поведение системы.
Диаграмма содержит взаимодействующие объекты и ассоциации, показывающие какой именно объект, с кем взаимодействует. Ассоциации могут быть дополнены сообщениями, показывающими поток сообщений. Последовательность сообщений указывается с помощью иерархического номера сообщений.
Таким образом, диаграмма коммуникации показывает во многом ту же информацию, что и диаграмма последовательности, при этом акцентируя внимания на определенных сторонах Системы. Диаграмма коммуникаций нагляднее показывает, с какими элементами взаимодействует каждый элемент, а диаграмма последовательности яснее показывает, в каком порядке происходят взаимодействия.
В данном случае мы отчетливо видим, что взаимодействие всех компонентов Системы в рамках процесса проверки заказа осуществляется через компонент «Менеджер заказа». Менеджер заказа в данном случае должен содержать все операции, связанные с обработкой заказа. Данный вид диаграммы по большей части предназначен для проектирования архитектуры Системы.
Стереотипы объектов на диаграмме могут быть заменены на классы, содержащие перечень атрибутов и операций.
Новым видом диаграмм взаимодействия, появившемся в UML 2.0, стала временная диаграмма.
Временная диаграмма представляет собой симбиоз диаграммы состояний и диаграммы последовательности. Временная диаграмма предназначена для отражения изменения состояний нескольких объектов в ходе взаимодействия во времени.
Существуют два стиля отражения временных диаграмм, которые могут объединяться:
Первый стиль следует предпочесть, когда состояний немного, а второй стиль лучше подходит, когда количество состояний достаточно велико. Временные ограничения записываются в фигурных скобках. Также на временных диаграммах могут быть указаны сообщения, инициирующие переход объекта из одного состояния в другое.
Симбиозом диаграммы деятельности и диаграммы последовательности стала диаграмма обзора взаимодействия. |