Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Использование CASE-средств (ВЕНДРОВ) изд.1.doc
Скачиваний:
235
Добавлен:
08.03.2015
Размер:
6.29 Mб
Скачать

3.5.2. Кооперативные диаграммы

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

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

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

Рис. 3.13. Кооперативная диаграмма с десятичной нумерацией

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

На рис. 3.13 можно увидеть различные формы схемы именования объектов, принятые в UML. Общая форма имеет вид <Имя Объекта: ИмяКласса>, где либо имя объекта, либо имя класса может отсутствовать. При отсутствии имени объекта остается двоеточие, чтобы было понятно, что это имя класса, а не объекта.

3.5.3.

СРАВНЕНИЕ ДИАГРАММ ПОСЛЕДОВАТЕЛЬНОСТИ

И КООПЕРАТИВНЫХ ДИАГРАММ

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

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

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

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

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