Диаграмма взаимодействия (кооперации, collaboration diagram)
Диаграммы последовательностей - это отличное средство документирования поведения системы, детализации логики сценариев использования; но есть еще один способ описания поведения системы - использовать диаграммы взаимодействия.
Диаграмма взаимодействия показывает поток сообщений между объектами системы и основные ассоциации между ними и по сути, как уже было сказано выше, является альтернативой диаграммы последовательности. Диаграмма объектов делает то же самое?
Диаграмма объектов показывает статику, некий снимок системы, связи между объектами в данный момент времени, диаграмма же взаимодействия, как и диаграмма последовательностей, показывает взаимодействие (извините за невольный каламбур) объектов во времени, т. е. в динамике.
Следует отметить, что использование диаграммы последовательностей или диаграммы взаимодействия - личный выбор каждого проектировщика и зависит от индивидуального стиля проектирования. Кто-то чаще отдаёт предпочтение диаграмме последовательностей, кто-то наоборот.
На обозначениях, применяемых на диаграмме взаимодействия, думаем, не стоит останавливаться подробно. Здесь все стандартно: объекты обозначаются прямоугольниками с подчеркнутыми именами (чтобы отличить их от классов, помните?), ассоциации между объектами указываются в виде соединяющих их линий, над ними может быть изображена стрелка с указанием названия сообщения и его порядкового номера.
Необходимость номера сообщения объясняется очень просто - в отличие от диаграммы последовательностей, время на диаграмме взаимодействия не показывается в виде отдельного измерения. Поэтому последовательность передачи сообщений можно указать только с помощью их нумерации. В этом и состоит вероятная причина пренебрежения этим видом диаграмм многими проектировщиками.
Но давайте же, наконец, перейдем к примерам (рис. 3.15):
Рис. 3.15.
Как видите, эта диаграмма в общих чертах (примерно) описывает работу персонала библиотеки по обслуживанию клиентов:
1. Библиотекарь получает заказ от клиента,
2. Поручает сотруднику найти информацию по нужной клиенту книге,
3. После получения данных поручает еще одному сотруднику выдать книгу клиенту.
Еще пример (рис. 3.16):
Рис. 3.16.
Диаграмма описывает процесс управления учебными курсами (очевидно, путем создания их из готовых модулей) для некоего учебного центра. Как видите, все просто!
И еще один пример (рис. 3.17), который должен вызвать легкое "дежавю" у внимательного читателя.
Рис. 3.17.
Это последний пример, который мы рассматривали, говоря о диаграммах последовательностей, - мобильный телефон! Как видим, это просто другая форма представления. Кто-то может посчитать её менее удобной.
Впрочем, в команде могут работать различные люди, с различными предпочтениями и особенностями восприятия, так что какой вид диаграмм использовать для описания логики сценариев - диаграммы последовательностей или диаграммы кооперации - решать вам.
Дата добавления: 2017-03-29; просмотров: 747;