- •Вступление
- •Задачи курса.
- •Описание пособия
- •Тема 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
- •Заключение
- •Новые термины
- •Источники
Вопросы
Для каких целей используют абстрактные классы?
В каких случаях следует использовать Xor-ассоциацию (исключающая ассоциация) между классами? Привести пример.
Что показывает отношение обобщения между классами? Какие могут быть использованы ограничения для уточнения данного отношения (в виде строки текста из ключевых слов рядом со стрелкой обобщения? Привести примеры.
Для какого типа связи между классами используются отношения агрегации и композиции? Привести примеры.
Для каких целей создаётся параметризованный класс (шаблон)? Привести пример.
На какие этапы можно разбить построение диаграммы классов?
Какие существуют подходы к выявлению классов, необходимых для построения объектно-ориентированной модели задачи?
Какие существуют подходы к выявлению необходимых отношений между классами для диаграммы классов?
Тема 5. Диаграмма кооперации (Collaboration Diagram)
Диаграмма последовательности и диаграмма кооперации отражают взаимодействие объектов между собой. На диаграммах представлена одна и та же информация, но с различных точек зрения, поэтому для разработчиков программных систем необходимо иметь перед глазами обе диаграммы. Диаграмма последовательности показывает порядок взаимодействий между объектами во времени, а диаграмма кооперации акцентирует внимание на состояние объектов и общую организацию их взаимодействий. Диаграмма кооперации (как и диаграмма последовательности) отображает поток событий для конкретного варианта использования.
На диаграмме кооперации изображаются участвующие во взаимодействии объекты, связи между ними (связь ассоциации), а также сообщения, которые объекты передают друг другу. Объекты представлены прямоугольником, связи – прямыми линиями, сообщения – линиями со стрелками, которые указывают на объект, к которому обращаются (рис. 5.1). Можно явно указать имя отношения ассоциации и имена ролей, которые играют объекты для описания данной связи. Дополнительно могут быть изображены динамические связи - потоки сообщений. Они представляются также в виде соединительных линий между объектами, над которыми располагается стрелка с указанием направления, имени сообщения и порядкового номера. На этой диаграмме не указывается время в виде отдельного измерения. Поэтому последовательность взаимодействий может быть определена с использованием порядковых номеров.
Объект, представленный на диаграмме кооперации, может быть активным или пассивным. Активный объект (в отличие от пассивного объекта) влияет на ход событий в последовательности взаимодействий, также является инициатором сообщений к пассивным объектам. Активный объект изображает в виде прямоугольника с толстой границей (рис. 5.1).
|
Рис. 5.1. Пример диаграммы кооперации в среде Rational Rose. |
Вопросы:
Какие стереотипы связей между объектами используются на диаграмме кооперации?
В чем специфика составного объекта и мультиобъекта? Для каких целей они используются? Привести примеры.
Какие приняты категории объектов в зависимости от их устойчивости? Привести примеры.
Какие существуют типы сообщений на диаграмме кооперации? Привести примеры.
В чем отличие между обычным сообщением и информационным потоком? В каких случаях целесообразно использовать информационные потоки? Привести примеры.