- •Построение и обсуждение uml-диаграмм. Содержание
- •Часть 1. Построение модели поведения в rational rose 3
- •Часть 2. Конструирование классов. 9
- •Часть 3. Диаграммы взаимодействия. 20
- •Часть 1. Построение модели поведения в rational rose при помощи диаграмм действий (activity).
- •1 Диаграммы действий
- •1.1 Назначение диаграмм действий.
- •2 Инструменты диаграммы activity
- •3 Создание диаграмм действий.
- •3.1 Действия
- •3.2 Переходы
- •3.3 Точки принятия решений (элементы выбора)
- •3.4 Линии синхронизации
- •3.5 Секции (зоны)
- •3.6 Начальное и конечное состояния (исходное и завершающеедействия).
- •Контрольные вопросы
- •Часть 2. Конструирование классов.
- •1 Создание классов.
- •1.1 Стереотипы и классы
- •1.2 Определение классов
- •Классы-сущности
- •Граничные классы
- •Управляющие классы
- •1.3 Документирование классов
- •2 Создание пакетов.
- •3 Объекты и классы в системе регистрации курсов
- •4 Диаграммы классов
- •4.1 Панель инструментов.
- •4.2 Контекстное меню класса
- •4.3 Спецификации класса
- •Вкладка сом
- •Контрольные вопросы.
- •Часть 3. Диаграммы взаимодействия.
- •1 Реализации вариантов использования
- •2 Создание реализации Вариантов использования.
- •3 Документирование сценариев
- •4 Диаграммы последовательностей действий
- •4.1 Строка инструментов диаграммы
- •4.2 Настройка времени жизни объекта
- •4.3 Создание диаграммы последовательности действий
- •4.4 Свойства сообщений
- •5 Диаграммы сотрудничества
- •6 Диаграмма последовательности действий для системы регистрации курсов
- •Контрольные вопросы
- •Часть 4. Отношения между классами. Определение отношений.
- •1 Ассоциативные отношения
- •2 Агрегационные отношения
- •2.1 Именование отношений
- •2.2 Мощность отношений
- •3 Возвратные отношения
- •Отношения в системе регистрации учебных курсов
- •4 Отношения между пакетами
- •Отношения между пакетами в системе регистрации учебных курсов
- •Контрольные вопросы:
- •Часть 5. Представление поведения и структуры классов.
- •1. Поведение и структура класса.
- •2. Создание операций
- •Документирование операций
- •Отношения и сигнатуры операций
- •Создание атрибутов
- •Документирование атрибутов
- •Отображение атрибутов и операций
- •Ассоциативные классы
- •Часть 6. Понятие наследования.
- •1 Обобщение
- •2 Специализация
- •3 Иерархии наследования.
- •5 Единичное и множественное наследование
- •6 Наследование и агрегация
- •Часть 7. Диаграмма состояний.
- •1 Диаграмма состояний
- •2 Состояния
- •3 Переходы между состояниями
- •4 Особые состояния
- •5 Параметры переходов
- •6 Параметры состояний
- •Часть 8. Проектирование архитектуры системы.
- •1 Пять уровней архитектуры
- •2 Логический уровень
- •2.1 Ключевые механизмы для задачи регистрации учебных курсов
- •3 Уровень реализации
- •3.1 Программные компоненты
- •3.2 Программные компоненты в задаче регистрации учебных курсов
- •4 Уровень выполнения.
- •5 Уровень промышленного внедрения
- •5.1 Диаграмма размещения для системы регистрации учебных курсов
- •6 Уровень вариантов использования
3 Возвратные отношения
Несколько объектов, принадлежащих одному классу, могут взаимодействовать друг с другом. Такое взаимодействие показывается на диаграмме классов как возвратная (reflexive) ассоциация или агрегация. Для возвратных отношений обычно используется название роли, а не отношения.
Последовательность создания возвратного отношения в программе Rational Rose:
На панели инструментов щелкните по кнопке Association (Ассоциация) или Aggregation (Агрегация).
Щелкните по классу и проведите линии связи на свободное место диаграммы.
Отпустите кнопку мыши.
Щелкните по линии связи и перетащите ее обратно на тот же класс.
Введите название роли и мощность для каждого конца возвратной ассоциации или агрегации.
Рис. 4 6
Возвратное отношение на рис. 4.6 можно интерпретировать следующим образом:
один объект предмет, выступающий в качестве вводного курса (prerequisite), связан с нулем или более объектами предмет;
один объект предмет связан с нулем или более объектами предмет, выполняющими функцию вводных курсов.
Поиск отношений
Чтобы определить наличие отношений между двумя классами, изучают сценарии. Передача сообщений между объектами указывает на то, что последние взаимодействуют друг с другом. Ассоциации и агрегации обеспечивают путь для взаимодействия.
Отношения в системе регистрации учебных курсов
Взаимодействующие объекты и типы отношений, определенные для сценария добавить учебный курс, перечислены в табл. 4.1.
Таблица 4.1. Отношения между классами
Начальный класс |
Конечный класс |
Тип отношения |
Параметры курса преподавателя |
Добавление учебного курса |
Агрегация |
Добавление учебного курса |
Менеджер курсов преподавателя |
Ассоциация |
Менеджер курсов преподавателя |
Предмет |
Ассоциация |
Предмет |
Учебный курс |
Агрегация |
Диаграмма классов с указанными отношениями изображена на рис. 4.7.
Рис.4.7
4 Отношения между пакетами
Отношения между пакетами также включают в модель. Такой тип связи является отношением зависимости и изображается в виде пунктирной стрелки, направленной к зависимому пакету. Если пакет А зависит от пакета В, значит, один или несколько классов в пакете А инициируют связь с одним или более общедоступными классами в пакете В. Пакет А в этом случае называется пакетом-клиентом (client package), а пакет В - пакетом-поставщиком (supplier package).
Отношения между пакетами также выявляются путем изучения сценариев и отношений между классами системы. Так как это итеративный процесс, отношения могут измениться в ходе анализа и проектирования.
Отношения между пакетами в системе регистрации учебных курсов
В сценарии добавить учебный курс класс добавление учебного курса отправляет сообщение классу менеджер курсов преподавателя. Это указывает на наличие связи между пакетами Интерфейсы и Объекты университета. На данном этапе мы не можем выделить какие-либо отношения с пакетом Личные данные.
Для создания отношений между пакетами в программе Rational Rose:
Щелкните по кнопке Dependency Relationship (Отношение зависимости) на панели инструментов.
Щелкните по пакету-клиенту и перетащите линию связи к пакету-поставщику.
Отношения между пакетами в системе регистрации учебных курсов показаны на рис. 4.8.
Рис.4 8
РЕЗЮМЕ
Отношения выступают в качестве проводника между объектами. Два типа объектных отношений, которые можно выделить на этапе анализа, - это ассоциации и агрегации. Ассоциацией называется двунаправленная семантическая связь между классами. Агрегация - это специальная форма ассоциации между целым и его частью или частями.
Ассоциации можно дать название. Обычно для этой цели используется глагол или фраза с глаголом, отражающая смысл связи. Вместо названия ассоциации может быть использована роль. Для ее названия выбирают существительное, описывающее роль, в которой один класс связан с другим классом.
Мощность определяет количество экземпляров класса, участвующих в отношении. Есть два индикатора мощности для каждого отношения ассоциации или агрегации - по одному с каждой стороны линии связи.
Несколько объектов, принадлежащих одному классу, могут взаимодействовать друг с другом. Такое взаимодействие изображается на диаграмме классов как возвратная ассоциация или агрегация.
Для выявления отношений между двумя классами изучают сценарии.
Пакеты могут быть связаны отношением зависимости. Если пакет А зависит от пакета В, значит, один или несколько классов в пакете А инициируют связь с одним или более общедоступными классами в пакете В.