
- •Вступление
- •Задачи курса.
- •Описание пособия
- •Тема 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
- •Заключение
- •Новые термины
- •Источники
Тема 6. Диаграмма состояний (Statechart Diagram)
Для моделирования поведения могут использоваться несколько диаграмм: состояний, деятельности, последовательности и кооперации, каждая из которых описывает отдельный аспект функционирования системы. В отличие от других диаграмм диаграмма состояний описывает процесс изменения состояний только одного экземпляра класса. Диаграмма моделирует все возможные изменения в состоянии конкретного объекта.
Любая система при взаимодействии с пользователем или с другими системами подвержена изменению, а точнее изменяются объекты, которые входят в состав системы. Объекты изменяю своё состояние в ответ на происходящие с ними события.
Рассмотрим примеры:
Система Автомобиль. Класс Aвтомобиль можно представить композицией следующих классов: Двигатель, Коробка передач, Тормозная система и т.д. При движении автомобиля в зависимости от скорости, от дороги, от количества пассажиров двигатель может переходить в различные состояния (не работать, работать, работать не в полную мощь и т.д.) Аналогично и другие части машины.
Функционирование всей системы зависит от состояний, в которых находятся её элементы (составные части). Диаграмма описывает поведение системы через описание изменений составляющих её элементов. Следует определить разницу между состоянием, в котором находится объект, и переходом в новое состояние (в процессе перехода объект также находится в некотором переходном состоянии). Главное различие между ними заключается в том, что длительность нахождения системы в отдельном состоянии существенно превышает время, которое затрачивается на переход из одного состояния в другое. Предполагается, что в пределе время перехода из одного состояния в другое равно нулю (если дополнительно ничего не сказано), т.е. переход объекта из состояния в состояние происходит мгновенно.
Состояние на диаграмме изображается прямоугольником с округленными углами (см. рис. 6.1), переход– сплошной линией со стрелкой, которая соединяет два состояния. На диаграмме состояний могут присутствовать два особых состояния, которые соответствуют начальному и конечному состоянию объекта. Начальному состоянию соответствует – закрашенный круг, обведенный круг (глаз) соответствует конечному состоянию (см. рис. 6.2).
|
|
Рис. 6.1. Графическое представление состоянияна диаграмме состояний. |
Рис. 6.1. Представление начальногоиконечного состоянияна диаграмме. |
Спецификация состояний
Имя состояния должно раскрывать его содержательный смысл. В качестве имени рекомендуется использовать глаголы в настоящем времени (работает, печатает, ожидает) или соответствующие причастия (занят, свободен, передано, получено).
Прямоугольник, который символизирует состояние, может быть разделен на три части. В верхней области имя состояния, в средней области располагаются переменные состояния, нижняя предназначена для размышления видов деятельности. Переменными состояния могут быть различные таймеры и счетчики. Но, к сожалению, в Ration Rose нет такой спецификации, но в качестве спецификации состояния можно опредлить (указать) виды деятельности.
В секции виды деятельности содержит перечень внутренних действий, которые выполняются в процессе нахождения моделируемого элемента (объекта) в данном состоянии. Каждое из действий записывается в виде отдельной строки и имеет следующий формат: метка-действия /название действия (деятельности) Метка-действия определяет условие, при котором будет выполняться действие. Перечень имён для меток имеет фиксированные значения в языке UML, которые не могут быть использованы в качестве имен событий:
Entry - эта метка показывает, что действие должно выполнятся в момент входа в данное состояние объекта.
Exit - эта метка показывает, что действие должно выполнятся в момент выхода из данного состояние объекта.
Do - эта метка показывает, что действие выполняется в течение всего времени, пока объект находится в данном состоянии, или до тех пор, пока не закончится вычисление.
Некоторые среды UML позволяю также определять свои метки-действия.