Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПрИ - Тема 6. Модели поведения системы (State Diagram).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.65 Mб
Скачать

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

Факультет экономики и процессов управления

Кафедра информационных технологий

Дисциплина: Программная инженерия

Учебно-методическое пособие

к практическим занятиям по теме №6

Создание модели поведения системы при помощи диаграммы состояний (State Diagram)

Сочи, 2015

Учебно-методическое пособие к практическим занятиям по дисциплине Программная иниженерия, тема №6 Создание модели поведения системы при помощи диаграммы состояний (State Diagram), автор-составитель к.т.н., доц. кафедры ИТ Мацканюк А.А.

Утверждено на заседании кафедры информационных технологий “___” _______ 2015 г. (протокол № ____ ).

Оглавление

Назначение диаграммы 3

Создание заготовок классов 3

Создание StateСhart-диаграммы 4

Инструменты диаграммы Statechart 6

Первые шаги в создании диаграммы 8

Состояние тестирования датчиков 9

Вывод диаграммы из цикла 12

Добавление замечания 13

Настройка среды 13

Скрытие вложенных состояний 15

States History (история состояний) 16

Примерные вопросы для самопроверки и защиты 17

Литература 17

Назначение диаграммы

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

Единственный недостаток — это то, что пока содержание данной диаграммы никак не отражается на получаемом коде программы. И это может создать у программиста ошибочное мнение, что без модели поведения можно обойтись. Но это не так. Модель поведения позволяет взглянуть на получаемый программный объект со стороны, ведь основное назначение объектно-ориентированного программирования - создавать объекты, наделенные определенным поведением, которые в дальнейшем и будут производить работу в программном коде. А данный тип диаграмм позволяет четко представить все поведение полученного программного объекта в виде графических значков состояний. Кто занимался теорией конечных автоматов — знает, что практически любую сложную машину можно разложить на простые автоматы, имеющие определенные состояния, а в программных системах этот подход действительно оправдан.

Создание заготовок классов

Для того чтобы начать создавать модель поведения, необходимо добавить в модель классы, на основе которых эти объекты впоследствии будут создаваться.

Исходя из рассмотренных в теме 5 устройств, получаем следующих кандидатов для создания классов:

  • EnvironmentalController — контроллер управления исполнительными устройствами;

  • TemperatureSensor — датчик температуры;

  • pHSensor — датчик кислотности;

  • Heater — нагреватель;

  • Cooler — вентилятор для снижения температуры;

  • Light — осветитель;

  • WaterTank — хранилище для воды;

  • NutrientTank — хранилище для удобрений.

Данные наименования используются в книге Г. Буча, и нет необходимости придумывать что-то иное. И к тому же, использование английских наименований позволяет не опасаться, что при генерации исходного кода на выбранном языке программирования процесс может окончиться неудачей в случае конфликта с русскими именами.

Однако не все созданные классы будут в точности повторять описанные в книге Г. Буча. Для создания работающей системы я изменил некоторые классы, которые в указанной книге приводились для иллюстрации различных приемов объектно-ориентированного проектирования.

Рис. 6.1. Создание нового класса в окне Browse

Для добавления класса в модель необходимо перейти в окно Browser и на строке Logical View проделать RClick=>New=>Class, как показано на рис. 6.1.

Измените название NewClass на EnvironmentalController, и первый класс готов. Аналогично добавьте остальные классы, и можно начинать создавать модель поведения.