2.1.2 Добавление перехода и редактирование его свойств
Для добавления перехода между двумя состояниями нужно с помощью левой кнопки мыши нажать кнопку с изображением перехода на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении исходного состояния на диаграмме и отпустить ее на изображении целевого состояния. В результате этих действий на диаграмме появится изображение перехода, соединяющего два выбранных состояния (см. рис. 3.8).
Рисунок 3.8 - Диаграмма состояний после добавления на нее перехода из начального состояния в состояние «Ожидание системы»
После добавления перехода на диаграмму состояний можно открыть диалоговое окно его свойств и специфицировать дополнительные свойства, доступные на соответствующих вкладках (рис. 3.9). Следует обратить внимание на две первые строки вкладки Detail (Подробно), которые представляются наиболее важными из свойств перехода. Первое поле ввода Guard Condition служит для задания сторожевого условия, которое определяет правило срабатывания соответствующего перехода. Во втором поле ввода Action можно специфицировать действие, которое происходит при срабатывании перехода до того, как моделируемая система попадет в целевое состояние.
Рисунок 3.9 - Диалоговое окно спецификации свойств перехода, открытое на вкладке Detail (Подробно)
При необходимости можно определить сообщение о событии, происходящем при срабатывании перехода, а также визуализировать вложенность состояний и подключить историю отдельных состояний.
3 Пример построения диаграммы состояний
На рисунке 3.10 представлен пример диаграммы состояний для объекта класса “Diskr_analiz” (дискриминантного анализа).
Рисунок 3.10 - Диаграмма состояний объекта класса “Diskr_analiz”
4 Задание на лабораторное занятие
Согласно своему варианту разработать диаграмму состояний для алгоритма вашего метода многомерного статистического анализа.
5 Содержание отчета
- титульный лист;
- постановка задачи;
- диаграмма состояний
6 Контрольные вопросы для защиты лабораторной работы
1. Для чего предназначена диаграмма состояний (Statechart)?
2. Как создать новую диаграмму состояний в среде IBM R Rose 2003?
3. Какие бывают переходы между состояниями?
4. Какие спецификации можно задать для переходов между состояниями?
5. Что такое история состояний?
6. Что такое композитное состояние и как его создать?
7. Какие значки специфичны только для диаграммы состояний, расскажите о назначении каждого из них?
8. Что такое сценарий поведения системы? Для чего его создают?
9. Что такое сторожевое условие?
10. Как настроить панель инструментов, если на ней нет нужных значков?
Тема: «Построение диаграммы классов этапа проектирования в среде Rational Rose»
Цель работы:
1) Освоить методику построения диаграмм классов;
2) Согласно заданию на лабораторное занятие разработать диаграмму классов.
- изучить лекционный материал по данной теме;
- знать методику построения диаграмм классов.
Class diagram (диаграмма классов) — основная диаграмма для создания кода приложения. При помощи диаграммы классов создается внутренняя структура системы, описывается наследование и взаимное положение классов друг относительно друга. Здесь описывается логическое представление системы. Именно логическое, так как классы — это лишь заготовки, на основе которых затем будут определены физические объекты.
Таким образом, диаграмма классов описывает общее представление системы и является противоположной Collaboration diagram, в которой представлены объекты системы. Однако такое разделение не является строгим правилом, и возможно смешанное представление классов и объектов.
Диаграмма классов используется не только для создания логического представления системы, Rational Rose позволяет на основе диаграммы классов создавать исходный код приложения. А так как описание классов создается на языке UML, то по диаграммам, созданным в едином стиле, возможна генерация исходного кода на любом языке программирования, который поддерживается генератором кода Rational Rose.
Обычно диаграмма классов создается для всех классов системы, в отличие от диаграммы объектов, которую проектировщики создают для отдельных объектов со сложным поведением и взаимодействием.
Диаграмма классов содержит значки, представляющие классы, интерфейсы и их связи. Классы могут представлять любые C++ классы: простые, параметризированные или метаклассы. Интерфейсы — это некоторый набор действий или операций, который обслуживает взаимодействие реализаций классов.
Возможно создание одной или нескольких диаграмм классов, которые описывают классы верхнего уровня в текущей модели. Также возможно создание одной или более диаграмм классов, которые описывают классы, содержащиеся в пакетах. Так, диаграмма классов сама по себе является пакетом для классов модели, но можно выделить дополнительные пакеты для логической группировки классов.
Посредством диаграммы классов возможно изменение в любой момент свойств любого класса или его связей, и при этом диаграммы или спецификации, связанные с изменяемым классом, будут автоматически обновлены.
2.1 Особенности разработки диаграмм классов в среде IBM Rational Rose 2003
Диаграмма классов является основным логическим представлением модели и содержит детальную информацию о внутреннем устройстве объектно-ориентированной программной системы или, используя современную терминологию, об архитектуре программной системы. Активизировать рабочее окно диаграммы классов можно несколькими способами:
- окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта;
- щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;
- раскрыть логическое представление (Logical View) в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);
- выполнить операцию главного меню: Browse
Class Diagram (Обзор Диаграмма классов).При этом появляется новое окно с чистым рабочим листом диаграммы классов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы классов (табл. 1). Назначение отдельных кнопок панели можно узнать также из всплывающих подсказок.
Таблица 4.1 - Назначение кнопок специальной панели инструментов для диаграммы классов
Графическое изображение | Всплывающая подсказка | Назначение кнопки |
Selection Tool | Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме | |
Text Box | Добавляет на диаграмму текстовую область | |
Note | Добавляет на диаграмму примечание | |
Anchor Note to Item | Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы | |
Class | Добавляет на диаграмму класс | |
Interfase | Добавляет на диаграмму интерфейс | |
Unidirectional Association | Добавляет на диаграмму направленную ассоциацию | |
Association Class | Добавляет на диаграмму ассоциацию класс | |
Package | Добавляет на диаграмму пакет | |
Dependency or Instantiates | Добавляет на диаграмму отношение зависимости | |
Generalization | Добавляет на диаграмму отношение обобщения | |
Realize | Добавляет на диаграмму отношение реализации |
2.1.1 Добавление класса на диаграмму классов и редактирование его свойств
Для добавления класса на диаграмму классов нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы класса на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение класса с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию NewClass.