Лабораторная работа №3. Разработка диаграмм переходов – состояний
Целью лабораторной работы является изучение процесса специфицирования аспектов программных систем, зависящих от времени или реакции на событие, осуществляемого на уровне диаграмм переходов–состояний.
Требования к содержанию, оформлению и порядку выполнения
Отчет по выполнению лабораторной работы должен содержать: титульный лист, название работы, цель работы и содержательную часть.
В содержательной части отчета по выполнению лабораторной работы для своего варианта требуется привести расширения реального времени на диаграммах потоков данных, разработанных в предыдущей лабораторной работе и диаграммы переходов–состояний, детализирующие управляющие процессы с подробными комментариями к принятым решениям и построенным диаграммам.
Теоретическая часть
Теоретические сведения для выполнения лабораторной работы приведены в разделе 3.3.4 и 3.3.5 учебно-методического пособия.
Общая постановка задачи
Осуществите специфицирование поведенческого аспекта задачи, выбранной в первой лабораторной работе, и оформите результат данного анализа в виде расширений реального времени на диаграммах потоков данных и в виде диаграмм переходов–состояний, при этом используйте программный продукт EasyCASE Professional Version 4.21.016. Прокомментируйте принятые решения.
Список индивидуальных данных
Продолжается работа над задачей, выбранной в первой лабораторной работе.
Пример выполнения работы
Дополним приведенную во второй лабораторной работе модель банкомата, введя в диаграммы управляющий процесс и управляющие потоки, позволяющие описать ее функционирование в реальном времени. После такого расширения диаграммы потоков данных, приведенные на рис. Л2.2 и Л2.3 будут выглядеть, как показано на рис. Л3.1 и Л3.2, соответственно.
Рис. Л3.1. Расширение диаграммы потоков данных первого уровня. |
Рис. Л3.2. Расширение диаграммы потоков данных, детализирующей процесс P3 (Обработать запрос на обслуживание). |
Управляющий процесс P5 (УПРАВЛЕНИЕ ОБСЛУЖИВАНИЕМ), получив информацию о том, что кредитная карта введена (поток ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА), вызывает выполнение процесса P1 (поток А: ПОЛУЧИТЬ ПАРОЛЬ). Получив информацию о введенном пароле (поток КОРРЕКТНЫЙ ПАРОЛЬ), процесс P5 информирует процесс P4 о необходимости удаления кредитной карты (поток: УДАЛЕННАЯ КРЕДИТНАЯ КАРТА) и с помощью потока Т: ОБЕСПЕЧИТЬ ТРЕБУЕМОЕ ОБСЛУЖИВАНИЕ вызывает выполнение процесса P2, затем процесса P3 (поток ТРЕБУЕМОЕ ОБСЛУЖИВАНИЕ). Последний управляющий поток на детализирующей процесс P3 диаграмме расчленяется на 4 подпотока, каждый из которых вызывает выполнение процессов P3.1 – P3.4, соответственно.
Диаграмма переходов–состояний детализирующая управляющий процесс P5 (УПРАВЛЕНИЕ ОБСЛУЖИВАНИЕМ) приведена на рис. Л3.3. Она содержит два состояния – ОЖИДАНИЕ и ОБРАБОТКА. Переход из состояния ОЖИДАНИЕ в состояние ОБРАБОТКА осуществляется при условии ввода кредитной карты (ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА). При этом выполняется действие по запуску процесса P1 (ПОЛУЧИТЬ ПАРОЛЬ). Отметим, что для запуска используется А-поток, обеспечивающий непрерывность процесса P1, т.е. возможность повторного ввода пароля. Переход из состояния ОБРАБОТКА в состояние ОЖИДАНИЕ осуществляется двумя различными способами. При условии трехкратного ввода неверного пароля (см. спецификацию процесса P1) кредитная карта удаляется из системы, при этом она переходит в режим ожидания очередного клиента. При условии КОРРЕКТНЫЙ ПАРОЛЬ выполняются действия по обеспечению требуемого сервиса (последовательное включение процессов P2 и P3) и удалению кредитной карты, и затем переход в режим ожидания очередного клиента.
Рис. Л3.3. Диаграмма переходов–состояний. |
Информацию, представленную на рис. Л3.3 можно так же описать таблицей переходов (см. табл. Л3.1).
Таблица Л3.1.
Текущее состояние | Условие | Действие | Следующее состояние |
Начальное состояние | Активизируется каждый раз | ОЖИДАНИЕ | |
ОЖИДАНИЕ | Введенная кред. карта | Получить пароль | ОБРАБОТКА |
ОБРАБОТКА | Некорректный пароль | Удалить кред. карту | ОЖИДАНИЕ |
ОБРАБОТКА | Корректный пароль | Обеспечить требуемый сервис, Удалить кред. карту | ОЖИДАНИЕ |
Контрольные вопросы к защите
1. Для чего предназначены расширения реального времени диаграмм потоков данных?
2. Синтаксис и семантика расширений реального времени:
· управляющие процессы;
· управляющие потоки (Т-потоки, А-потоки, E/D-потоки);
· управляющие хранилища.
3. Для чего предназначены диаграммы переходов–состояний?
4. Синтаксис и семантика диаграмм переходов состояний:
· начальные и терминальные состояния;
· состояния;
· переходы.
5. Как взаимосвязаны расширения реального времени и диаграммы переходов–состояний?
6. В чем заключается методика построения диаграмм переходов–состояний?
7. Построение диаграмм переходов–состояний с помощью программного продукта EasyCASE Professional Version 4.21.016.
Способ оценки результатов
Критерии оценки результатов совпадают с критериями, определенными при описании лабораторной работы №1 в разделе "Способ оценки результатов".