- •Вступление
- •Задачи курса.
- •Описание пособия
- •Тема 1. Основные принципы объектно-ориентированного проектирования. История развития языка uml. Программный продуктRationRose. Процедурно-ориентированная методология
- •Объектно-ориентированная методология
- •Особенности унифицированного языка моделирования (uml)
- •Основные диаграммы языка uml:
- •Программный продукт RationalRose
- •Основные возможности RationalRose:
- •Вопросы:
- •Тема 2 Диаграмма прецедентов (Use Case Diagram) Назначение диаграммы прецедентов
- •Основные элементы диаграммы
- •Типы отношений на диаграмме прецедентов
- •Вопросы:
- •Тема 3. Диаграмма последовательности (SequenceDiagram)
- •Вопросы:
- •Тема 4. Диаграмма классов (ClassDiagram) Основные понятия
- •Типы отношений на диаграмме классов
- •Выявление классов (одна из основных задач проектирования системы- определить классы и отношения между ними)
- •Вопросы
- •Тема 5. Диаграмма кооперации (Collaboration Diagram)
- •Вопросы:
- •Тема 6. Диаграмма состояний (Statechart Diagram)
- •Рассмотрим примеры:
- •Спецификация состояний
- •Переход (transition) из одного состоянияв другое (из предыдущего в последующее)
- •Вопросы:
- •Тема 7. Диаграмма компонентов (Component Diagram) Основные понятия
- •Типы компонентов
- •Подготовка к генерации программного кода:
- •Проверка модели на корректность
- •Установка свойств генерации кода
- •Генерация программного кода
- •Полиморфизм
- •Инкапсуляция
- •Абстрагирование
- •Отношение агрегации и композиции
- •Задания для знакомства с RationRose. Создание пакетов.
- •Задача для лабораторных работ
- •Лабораторная работа № 2. Создание диаграммы прецедентов.
- •Этапы выполнения работы Создать основных Прецедентов и Актёров
- •Добавить ассоциации
- •Создать уточняющих прецедентов и актёров
- •Указать абстрактных актёров
- •Указать связи обобщения между актёрами
- •Добавить связи расширения, включения, ассоциации
- •Добавить интерфейсы
- •Прикрепление файла с документацией к прецеденту
- •Лабораторная работа № 3. Создание диаграмм последовательностей
- •Этапы выполнения работы Настройка
- •Создание диаграммы последовательности
- •Добавление на диаграмму актёровиобъектов
- •Добавление сообщенийна диаграмму
- •Добавление на диаграмму примечаний(нотаций).
- •Добавление нового объектаисообщений
- •Указание типов сообщений
- •Построенная диаграмма должна выглядеть как на рис. 3l.2.
- •Лабораторная работа № 4. Диаграмма классов.
- •Этапы выполнения работы Настройка
- •Создание пакетов
- •Создание Главной диаграммы классов
- •Создание диаграммы классов для сервиса (прецедента) «Наполнить виртуальную корзину»
- •Добавление стереотипов к классам
- •Объединение классов в пакеты
- •Соотнесение объектов с классами
- •Добавление атрибутов и методов для классов
- •Структурирование классов
- •Лабораторная работа № 5. Определение связей между классами.
- •Добавление связей обобщения
- •Построение недостающих связей (с указанием свойств)
- •Построение связей между пакетами
- •Построение диаграммы кооперации
- •Лабораторная работа № 6.Создание диаграмм компонентов. Генерация программного кода. Проверка построенной модели
- •Этапы создания диаграммы компонентов Создание пакетов компонентов
- •Добавление пакетов и связей на Главную диаграмму компонентов
- •Добавление компонентов к пакетам и рисование зависимостей
- •Создание диаграммы компонентов для сервиса «наполнить виртуальную корзину»
- •Размещение компонентов на диаграмме компонентов «наполнить виртуальную корзину»
- •Соотнесение классов с компонентами
- •Добавление зависимостейна диаграмму компонентовTo_fill_Virtual_Basket
- •Ввод тел пакетов на диаграмму Компонентов To_fill_Virtual_Basket
- •Заключение
- •Новые термины
- •Источники
Структурирование классов
На главной диаграмме классов (Main) создайте пакет Help_entities (Вспомогательные сущности).
Перенесите в этот пакет классы User(Пользователь), Order (Заказ) и другие классы, созданные Вами в качестве вспомогательных к основным классам диаграммы.
Для классов из пакета Help_entities (Вспомогательные сущности) укажите стереотип <<help_entities>> (<<вспомогательные сущности>>)
Рис. 4L.2. Диаграмма классов «наполнить виртуальную корзину» |
Рис. 4L.4. Диаграмма последовательности для прецедента «наполнить виртуальную корзину» |
Лабораторная работа № 5. Определение связей между классами.
В этой лабораторной работе будут определены связи между пакетами и между классами на диаграммах классов.
Постановка задачи
После добавления к классам атрибутов и операций следует определить и указать связи между классами. Чтобы определить связи, обратимся к диаграмме последовательности и проанализируем потоки сообщений между объектами. Связи между объектами (сообщения) следует отобразить на диаграмму классов в виде связей между соответствующими классами, которым принадлежат объекты.
Этапы выполнения работы
Настройка
Найдите в броузере диаграмму классов «Наполнить виртуальную корзину».
Дважды щелкните на ней, чтобы открыть ее.
Проверьте, имеется ли на панели инструментов диаграммы кнопка Unidirectional Association. Если ее нет, добавьте на панель эту кнопку.
Добавление связи ассоциаций
Нажмите кнопку панели инструментов Unidirectional Association.
Добавьте (нарисуйте) отношение ассоциации от класса Forma_of_Input_Output к классу List_of_Catalogues (Список каталогов).
Повторите этапы 1 и 2 для создания новых отношений ассоциации:
От класса Forma_of_Input_Output к классу List_of_Goods
От класса Forma_of_Input_Output к классу Goods
От класса Forma_of_Input_Output к классу Basket.
Добавление связи агрегации
Нажмите кнопку Aggregation (Агрегация) на панели инструментов.
Добавьте связь агрегации от класса Basket к классу Order.
Укажите кратность созданного отношения агрегации (каждая виртуальная корзина состоит из любого количества заказов).
Примечание.
При генерации кода программы автоматически будет создан атрибут в классе Basket с типом Order и с указанной кратностью.
Добавьте связь агрегации от класса List_of_Goods к классу Goods и укажите кратность связи.
Добавьте связь агрегации от класса List_of_Catalogues к классу List_of_Goods и укажите кратность связи.
Примечание. Сущность Список товаров (List_of_Goods) является синонимичной к сущности Каталог. Сущность Список каталогов (List_of_Catalogues) – это некоторый набор Каталогов (массив Каталогов или массив Списков товаров). Текущий Список каталогов формируется соответствующими специалистами Виртуального магазина, при включении Каталога в текущий Список учитываются различные факторы: время года, анализ продаж, пожелания покупателей и т.д. Исходя из этих факторов, некоторые Каталоги могут быть не включены в текущий Список каталогов.
Рис. 5L.1. Пример диаграммы классов для сервиса «наполнить виртуальную корзину» |