Основы программирования

Основы UML - Заключительные рекомендации по построению диаграмм кооперации
Индекс материала
Основы UML
Класс
Имя класса
Атрибуты класса
Операция
Отношения между классами
Отношение ассоциации
Отношение агрегации
Отношение композиции
Отношение обобщения
Интерфейсы .
Шаблоны или параметризованные классы
Рекомендации по построению диаграмм классов
Диаграмма состояний (statechart diagram)
Автоматы
Состояние
Список внутренних действий
Начальное состояние
Переход
Сторожевое условие
Выражение действия
Составное состояние и подсостояние
Параллельные подсостояния
Историческое состояние
Сложные переходы
Переходы между составными состояниями
Синхронизирующие состояния
Заключительные рекомендации по построению диаграмм состояний
Диаграмма деятельности (activity diagram)
Состояние действия
Переходы
Дорожки
Объекты
Рекомендации по построению диаграмм деятельности
Диаграмма последовательности (sequence diagram)
Объекты
Линия жизни объекта
Фокус управления
Сообщения
Ветвление потока управления
Стереотипы сообщений
Комментарии или примечания
Заключительные рекомендации по построению диаграмм последовательности
Диаграмма кооперации (collaboration diagram)
Кооперация
Диаграмма кооперации уровня спецификации
Объекты
Мультиобъект
Составной объект
Стереотипы связей
Формат записи сообщений
Заключительные рекомендации по построению диаграмм кооперации
Диаграмма компонентов (component diagram)
Компоненты
Интерфейсы
Зависимости
Рекомендации по построению диаграммы компонентов
Диаграмма развертывания (deployment diagram)
Узел
Соединения
Рекомендации по построению диаграммы развертывания
Особенности реализации языка UML
характеристика CASE-средства Rational Rose 98/2000
Особенности рабочего интерфейса Rational Rose
Стандартная панель инструментов
Специальная панель инструментов
Окно диаграммы
Окно документации
Окно журнала
Начало работы над проектом в среде Rational Rose
Разработка диаграммы вариантов использования в среде Rational Rose
Разработка диаграммы классов в среде Rational Rose
Разработка диаграммы состояний в среде Rational Rose
Разработка диаграммы последовательности в среде Rational Rose
Разработка диаграммы кооперации в среде Rational Rose
Разработка диаграммы компонентов в среде Rational Rose
Разработка диаграммы развертывания в среде Rational Rose
Заключение
Все страницы



9.6. Заключительные рекомендации по построению диаграмм кооперации

Построение диаграммы кооперации можно начинать сразу после построения диаграммы вариантов использования. В этом случае каждый из вариантов использования может быть специфицирован в виде отдельной диаграммы кооперации уровня спецификации. Эта диаграмма способствует более . полному пониманию особенностей реализации функций системой, хотя и не может содержать всю информацию, необходимую для их реализации.
В дальнейшем, после построения диаграммы классов, каждая из диаграмм кооперации может уточняться в виде соответствующей диаграммы уровня примеров. Важно понимать, что диаграмма кооперации этого уровня может содержать те и только те объекты и связи, которые уже определены на построенной ранее диаграмме классов. В противном случае, если возникает необходимость включения в диаграмму кооперации объектов, которые создаются на основе отсутствующих классов, соответствующие диаграммы классов должны быть модифицированы явным описанием этих классов.
Следует помнить, что на диаграмме кооперации изображаются только те объекты, которые непосредственно в ней участвуют. При этом объекты могут выступать в различных ролях, которые должны быть явно указаны на соответствующих концах связей диаграммы. Применение стереотипов унифицирует кооперацию, обеспечивая ее адекватную интерпретацию как со стороны заказчиков, так и со стороны разработчиков. Тем не менее, целесообразно различать терминологию, используемую на диаграммах кооперации уровня спецификации и уровня примеров.
Так, при построении диаграмм кооперации уровня спецификации желательно применять наиболее понятную заказчику терминологию, избегая технических фраз и словосочетаний. Например, «оформить заказ», «отгрузить товар», «представить отчет», «разработать план» и т. д. Такие известные разработчикам слова как «сервер», «защищенный протокол», «закрытая операция класса», а также стереотипы и помеченные значения на этом уровне применять не рекомендуется. На уровне спецификации нужно стремиться достичь по возможности полного взаимопонимания между заказчиком и командой разработчиков всех вариантов использования проектируемой системы в контексте их кооперации.
При построении диаграмм кооперации уровня примеров терминология должна наиболее точно отражать все аспекты реализации соответствующих объектов и связей. Поскольку диаграмма этого уровня является документацией для разработчиков системы, здесь допустимо использовать весь арсенал стереотипов, ограничений и помеченных значений, который имеется в языке UML. Если типовых обозначений недостаточно, разработчики могут дополнить диаграмму собственными элементами, используя механизм расширений языка UML.
Процесс построения диаграммы кооперации уровня примеров должен быть согласован с процессами построения диаграммы классов и диаграммы последовательности. В первом случае, как уже отмечалось, необходимо следить за использованием только тех объектов, для которых определены порождающие их классы. Во втором случае нужно согласовывать последовательности передаваемых сообщений. Речь идет о том, что не допускается различный порядок следования сообщений для моделирования одного и того же взаимодействия на диаграмме кооперации и диаграмме последовательности. Таким образом, диаграмма кооперации, с одной стороны, обеспечивает концептуально согласованный переход от статической модели диаграммы классов к динамическим моделям поведения, представляемым диаграммами последовательности, состояний и деятельности. С другой стороны, диаграмма этого типа предопределяет особенности реализации модели на диаграммах компонентов и развертывания, которые являются предметом рассмотрения в двух последующих главах книги.