- •Введение
- •1 Цели и задачи курсового проектирования
- •2 Организация курсового проектирования
- •3 Задание на курсовое проектирование
- •4 Структура пояснительной записки
- •4.1 Типовая структура
- •4.5 Раздел «Постановка задачи»
- •4.6 Раздел «Выбор метода решения»
- •4.2 Титульный лист
- •4.3 Лист задания
- •4.4 Раздел «Введение»
- •5 Метод
- •5.1 Объектно-ориентированный анализ
- •5.2 Объектно-ориентированное проектирование
- •5.2.1 Диаграммы классов
- •5.2.2 Диаграммы объектов
- •5.2.3 Диаграммы состояний и переходов
- •5.2.4 Диаграммы взаимодействия
- •5.3 Объектно-ориентированное программирование
- •5.3.1 Диаграммы модулей
- •5.3.2 Диаграммы процессов
- •5.3.3 Протоколы классов
- •Часть 1. Работа с оо словарем ПрО.
- •Часть 2. Работа с crc-карточками.
- •Часть 3. Работа с диаграммой классов.
- •Часть 4. Определение модификаторов доступа, типов данных и начальных значений.
- •Часть 5. Реализация методов.
- •Часть 6. Распределение классов по модулям.
- •Часть 7. Реализация многопоточности.
- •5.3.4 Реализация модуля главной программы
- •6 Указания по оформлению материалов курсового проекта
- •6.1 Требования к оформлению пояснительной записки
- •6.2 Требования к оформлению программного продукта
- •Перечень ссылок
- •Приложение а Тематика курсовых проектов
- •Приложение б Пример оформления титульного листа
- •Приложение в Пример оформления листа задания на курсовое проектирование
- •Приложение г Пример оформления листа «Реферат»
- •Приложение д Пример оформления листа «Содержание»
- •Приложение е Пример оформления листа «Перечень обозначений, символов, единиц, сокращений и терминов»
- •Приложение ж Пример оформления Технического задания
- •Приложение з Пример оформления листинга программы Приложение г Листинги программных модулей
- •Приложение и Пример оформления экранных форм
5.2.4 Диаграммы взаимодействия
Диаграмма взаимодействия используется, чтобы проследить выполнение сценария в том же контексте, что и диаграмма объектов [2]. В известной степени диаграмма взаимодействия есть просто другой способ представления диаграммы объектов. Преимущество диаграммы взаимодействия в том, что на ней легче читается порядок посылки сообщений, а преимущество диаграммы объектов в том, что она лучше подходит для многих объектов со сложными вызовами и допускает включение другой информации. Диаграммы взаимодействия не вводят новых понятий или обозначений, они берут существенные элементы диаграммы объектов и перестраивают их.
Диаграмма взаимодействия внешне напоминает таблицу. Имена объектов диаграммы взаимодействия (те же, что и на диаграмме объектов) записываются горизонтально в верхней ее строке: объект-клиент заключается в прямоугольник, а объект-сервер – в прямоугольник с двойным контуром. Под каждым из них рисуется вертикальная пунктирная линия. Отправления сообщений (которые могут обозначать события или вызовы операций) показываются горизонтальными стрелками, с тем же синтаксисом и обозначениями синхронизации, что и на диаграмме объектов. Линия, обозначающая посылку сообщения, проводится от вертикали клиента к вертикали сервера. Первое сообщение показывается на самом высоком уровне, второе ниже и т.д., таким образом отпадает надобность в их порядковых номерах.
Диаграммы взаимодействия часто лучше диаграмм объектов передают семантику сценариев на ранних этапах жизненного цикла разработки, когда еще не идентифицированы протоколы отдельных классов. В начале разработки диаграммы взаимодействий обычно сконцентрированы скорее на событиях, чем на операциях, потому что события помогают определить границы системы. Когда же уточнились структуры классов, акцент смещается к диаграммам объектов, семантика которых более выразительна.
Диаграммы взаимодействия концептуально очень просты, но есть два поясняющих элемента, которые позволяют сделать их более выразительными при наличии сложных шаблонов взаимодействия.
Для сложных сценариев, использующих условия или итерации, диаграмма объектов может быть дополнена пояснениями, которые могут быть подписаны к любому сообщению слева от диаграммы на соответствующем уровне простым текстом, с элементами структуризации, или с использованием синтаксиса языка реализации.
Ни простейшие диаграммы объектов, ни диаграммы взаимодействий не показывают передач управления. Например, если объект A посылает сообщения X и Y другим объектам, то остается неясным, являются ли сообщения X и Y независимыми сообщениями из A или они были вызваны как части некоторого объемлющего сообщения Z. В таком случае на вертикальной линии каждого объекта рисуются полоски, показывающие периоды, когда управление находится в этом объекте.
На рисунке 5.21 приведен пример диаграммы взаимодействия. Объекты рекомендуется располагать таким образом, чтобы горизонтальные стрелки сообщений не пересекали полосы периодов управления.
Рисунок 5.21 – Диаграмма взаимодействия
