Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание диаграммы состояний для классов и диаграммы компонентов






 

Диаграммы состоянийопределяют все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий [2].

На диаграмме имеются два специальных состояния - начальное (start) и конечное (stop). Начальное состояние выделено черной точкой, оно соответствует состоянию объекта, когда он только что был создан. Конечное состояние обозначается черной точкой в белом кружке, оно соответствует состоянию объекта непосредственно перед его уничтожением. На диаграмме состояний может быть одно и только одно начальное состояние.

Добавим на диаграмму точку старта и первое состояние класса. Для добавления точки начала необходимо на панели инструментов выбрать инструмент «Start State» и добавить её на диаграмму состояний. Добавление происходит с помощью инструмента «State» (рисунок 7.1).

 

Рисунок 7.1 – Добавление точки старта и состояния класса на диаграмму состояний

 

Откроем окно спецификации состояния «Ожидание ввода ФИО студента», которое изображено на рисунке 7.2.


Рисунок 7.3 – Окно спецификации состояния «Поиск студента»

 

Перейдем на вкладку «Actions». С помощью пункта «Insert» контекстного меню добавим новое действие «Инициализация», как показано на рисунке 7.3. По умолчанию тип запуска «On Entry» т.е. при входе (запуске состояния). Также введем остальные операции.

Аналогичным образом добавляем остальные состояния.

Следующим шагом является добавление связей между состояниями. Добавление связей между состояниями аналогично добавлению связей между классами, только выполняется инструментами «State Transition» и «Transition To Self».

Конечный вариант диаграммы состояний представлен на рисунке 7.4 для класса «Account», 7.5 для класса «RegInfo» и 7.6 для класса «DataBase».

 

Рисунок 7.4 – Диаграмма состояний для класса «Account»

Рисунок 7.5 – Диаграмма состояний для класса «RegInfo»

 

Рисунок 7.6 – Диаграмма состояний для класса «DataBase»

 

Диаграмма компонентов включает заголовочные файлы и файлы с исходным кодом, для всех классов, представленных на диаграмме классов.

Добавление заголовка класса происходит с помощью инструмента «Package Specification», добавление файла исходного кода с помощью инструмента «Package Body». После добавления заголовка или тела класса на диаграмму необходимо ввести его имя. Также в окне спецификации компонента необходимо поменять язык на C++ в выпадающем списке Language (рисунок 7.7).

 

Рисунок 7.7 – Окно спецификации компонента «Account»

 

Далее, устанавливаем логические связи между компонентами диаграммы и добавляем на диаграмму сервер базы данных. Добавление сервера происходит с помощью инструмента «Task Specification».

После установления связей необходимо соотнести компоненты класса с самим классом. Для этого необходимо перетащить класс из браузера на компонент класса изображенный на диаграмме.

Готовая диаграмма компонентов изображена на рисунке 7.8.


Рисунок 7.8 – Диаграмма компонентов информационной подсистемы для деканата ВУЗа

 

Выводы

1. На диаграмме состояний былиопределены все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий.

2. Так же составлена диаграмма компонентов, котораяпоказывает, как выглядит модель на физическом уровне. Выбрав в качестве языка программирования С++, для каждого класса созданы соответствующие этому языку компоненты.







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.