- •Вступление
- •Задачи курса.
- •Описание пособия
- •Тема 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
- •Заключение
- •Новые термины
- •Источники
Полиморфизм
1. Какие операции являются полиморфными для указанных классов (рис. 1L.2).
ОПЕРАЦИЯ |
ДА/НЕТ |
Заполнить |
|
Удалить |
|
Сортировать |
|
Создать новый(-ую) |
|
Определить размер |
|
Переименовать |
|
Изменить цвет |
|
Рис. 1L.2. Полиморфизм. |
Придумать несколько полиморфных операций для следующих классов (рис. 3).
Рис. 1L.3. Полиморфизм. |
Инкапсуляция
Указать операции (действия) класса, выполнение которых должно быть инкапсулировано
КЛАСС |
ОПЕРАЦИИ |
Банкомат |
|
Холодильник |
|
Принтер |
|
Пейджер |
|
Абстрагирование
Какими свойствами должен обладать класс Сотрудник, для решения задачи:
1-ая задача. Необходимо разработать программное обеспечение (ПО) для начисления премии сотрудникам фирмы
2-ая задача. Необходимо разработать ПО для подбора интерьера кабинета каждому сотруднику фирмы.
Задача |
Свойства объектов класса Сотрудник |
1-ая задача |
|
2-ая задача |
|
Отношение агрегации и композиции
Привести пример агрегации классов (объектов)
Привести пример композиции классов (объектов).
Задания для знакомства с RationRose. Создание пакетов.
Запустите программу Rational Rose.
Перейдите в папку Logical View (Логическое представление системы).
Используя контекстное меню для папки Logical View (щелчок правой кнопки мыши), создайте пакет Глобальная сеть
Перенесите созданный Вами пакет (удерживая левую кнопку мыши) на диаграмму Main.
Использую панель инструментов, которая находится слева от области диаграммы, создайте ещё два новых пакета: Локальная сеть, Региональная сеть.
Для пакета Глобальная сеть создайте пояснение (нотацию), где укажите дату и автора создания данного пакета.
В области для ввода документации (левый нижний угол) поясните различие между локальной и региональной сетью.
Откройте пакет Глобальная сеть, используя двойной щелчок мыши. Внутри данного пакета создайте следующие подпакеты: Ip-адреса, Статистика.
В области для ввода документации обоснуйте важность сбора и анализа статистической информации.
Сохраните данный проект к себе в папку.
Задача для лабораторных работ
Разработать модель в среде Rational Rose для программного обеспечения системы «Интерент-магазин». Интернет-магазин позволяет делать покупки с доставкой на дом. Клиентам магазина обеспечивается доступ к каталогу продаваемых товаров, в котором товары распределены по разделам. О каждом товаре доступна полная информация (название, вес, цена, изображение, дата изготовления и срок годности). Для удобства клиентов предусмотрена система поиска товаров в каталоге и сортировка товаров по нескольким критериям. Клиентами Интернет-магазина могут быть физические и юридические лица. Для физического лица нельзя оформить более 10 заказов (пока один из десяти заказов не будет выполнен, нельзя сделать следующий заказ). Вся необходимая информация по заказу оформляется в накладной заказа.
При отборе клиентами товаров должна поддерживаться виртуальная "торговая корзина". Любое наименование товара может быть добавлено в "корзину" или изъято в любой момент по желанию покупателя с последующим пересчетом общей стоимости покупки. Необходимо также, чтобы текущее содержимое "корзины" постоянно отображалось на экране клиента. При оформлении заказа клиенты также должны выбрать возможные варианты оплаты и указать условия доставки покупок (адрес, время, контактный телефон, анкетные данные заказчика и др. для оформления накладной заказа).
Проверка наличия товаров на складе и их резервирование Интернет-магазином не производятся.