9.5. Пример построения диаграммы кооперации


В качестве примера рассмотрим построение диаграммы кооперации для моделирования процесса телефонного разговора с использованием обычной телефонной сети (см. главу ф. Напомним, что объектами в этом примере являются два абонента а и Ь, два телефонных аппарата с и На начальном этапе изобразим все объекты и связи между ними на диаграмме кооперации при помощи соответствующих обозначений (рис. 9.11). Заметим, что первый телефонный аппарат изображен как активный объект, а второй – как пассивный.
Рис. 9.11.Начальный фрагмент диаграммы кооперации для примера моделирования обычного телефонного разговора
В последующем необходимо специфицировать все связи на этой диаграмме, указав на их концах необходимую информацию в форме ролей связей. Дополненный таким образом вариант диаграммы кооперации изображен ниже (рис. 9.12). Заметим, что для объекта «Разговор» указано помеченное значение {transient}, которое означает, что этот объект создается в процессе выполнения объемлющего процесса и уничтожается до его завершения. Напомним, что помеченные значения (tagged values) являются стандартными элементами языка UML.
Рис. 9.12.фрагмент диаграммы кооперации, дополненный стереотипами ролей связей, именами ассоциаций и помеченным значением объекта
Рис.
9.13.Окончательный вариант диаграммы кооперации для моделирования телефонного разговора
Наконец, на диаграмму кооперации необходимо нанести все сообщения, указав их порядок и семантические особенности. Окончательный фрагмент диаграммы кооперации изображен на рис. 9.13 и содержит, строго говоря, модель кооперации только для начала разговора. Эта диаграмма может быть дополнена сообщениями, необходимыми для окончания разговора, что читателям предлагается выполнить самостоятельно в качестве упражнения.
Как нетрудно заметить, диаграмма кооперации для примера с телефонным разговором не содержит ни временных особенностей передачи сообщений, ни особенностей жизненного цикла участвующих в данной кооперации объектов. Поэтому может быть принято решение о том, что она является избыточной при наличии построенной диаграммы последовательности. Этот факт не вызывает сомнений в тех случаях, когда структура взаимодействующих объектов является достаточно тривиальной.
Если же взаимодействующие объекты образуют между собой различные типы отношений-ассоциаций (композиция, агрегация), то диаграмма кооперации оказывается необходимым представлением модели на всех ее уровнях.
<< | >>
Источник: Александр Леоненков. Самоучитель UML. 2007

Еще по теме 9.5. Пример построения диаграммы кооперации:

  1. 9.6. Заключительные рекомендации по построению диаграмм кооперации
  2. 8.3. Пример построения диаграммы последовательности
  3. 4.6. Пример построения диаграммы вариантов использования
  4. 12.8. Разработка диаграммы кооперации в среде Rational Rose
  5. Диаграмма кооперации (collaboration diagram)
  6. 5.6. Рекомендации по построению диаграмм классов
  7. 7.5. Рекомендации по построению диаграмм деятельности
  8. 10.4. Рекомендации по построению диаграммы компонентов
  9. 8.4. Заключительные рекомендации по построению диаграмм последовательности
  10. 11.3. Рекомендации по построению диаграммы развертывания
  11. 6.7. Заключительные рекомендации по построению диаграмм состояний
  12. 9.1. Кооперация
  13. 6.5 Планирование специализации и кооперации
  14. 7.1. Разделение и кооперация труда
  15. 12.7. Разработка диаграммы последовательности в среде Rational Rose
  16. 12.6. Разработка диаграммы состояний в среде Rational Rose
  17. Диаграмма последовательности (sequence diagram)
  18. 12.9. Разработка диаграммы компонентов в среде Rational Rose