Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Диаграммы переходов–состояний
Диаграммы переходов–состояний (STD) предназначены для моделирования и документирования аспектов систем, зависящих от времени или реакции на событие. Они позволяют осуществлять декомпозицию управляющих процессов и описывают отношения между входными и выходными управляющими потоками на управляющем процессе-предке. С помощью STD можно моделировать последующее функционирование системы на основе ее предыдущего и текущего функционирования. Моделируемая система в любой заданный момент времени находится точно в одном из конечного множества состояний. С течением времени она может изменить свое состояние, при этом переходы между состояниями должны быть точно определены. STD строится из следующих объектов. Состояние, которое рассматривается как условие устойчивости для системы. Находясь в определенном состоянии, мы имеем достаточно информации о прошлой истории системы, чтобы определить очередное состояние в зависимости от текущих входных событий. Имя состояния должно отражать реальную ситуацию, в которой находится система. Начальное состояние – узел STD, являющийся стартовой точкой для начального системного перехода. Диаграмма переходов–состояний имеет только одно начальное состояние, соответствующее состоянию системы после её инсталляции, но перед началом реальной обработки, а также любое (конечное) число завершающих состояний. Переход, который определяет перемещение моделируемой системы из одного состояния в другое. При этом имя перехода идентифицирует событие, являющееся причиной перехода и управляющее им. Это событие обычно состоит из управляющего потока (сигнала), возникающего как во внешнем мире, так и внутри моделируемой системы при выполнении некоторого условия. Не все события вызывают переходы из отдельных состояний, а также одно и то же событие не всегда вызывает переход в то же самое состояние. С переходом связываются условия и действия. Условие представляет собой событие, вызывающее переход и идентифицированное именем перехода. Если в условии участвует входной поток управляющего процесса предка, то его имя должно быть заключено в кавычки, например, " пароль" =0638, где " пароль" – входной управляющий поток. Действие – это операция, которая может иметь место при выполнении перехода. Если действие необходимо для выбора выходного управляющего потока, то имя этого потока должно заключаться в кавычки, например, " введенная карта" =TRUE, где " введенная карта" – выходной управляющий поток. Для спецификаций А-, Т-, E/D–потоков имя запускаемого или переключаемого процесса также должно заключаться в кавычки, например, А: " Получить пароль" – активировать процесс " Получить пароль". Фактически условие есть некоторое внешнее или внутренне событие, которое система способна обнаружить и на которое она должна отреагировать определенным образом, изменяя свое состояние. При изменении состояния система обычно выполняет действия: производит ввод, выдает сообщения на терминал, выполняет вычисления и т.д. Таким образом, действие представляет собой отклик, посылаемый во внешнее окружение, или вычисление, результаты которого запоминаются в системе (обычно в хранилищах данных на DFD), для того, чтобы обеспечить реакцию на некоторые из планируемых событий. На STD состояния представляются узлами, а переходы – дугами (рис. 6). Условия идентифицируются именем перехода и записываются рядом с дугой. Действия привязываются к переходам и записываются под соответствующим условием. Начальное состояние на диаграмме должно иметь входной переход, изображаемый потоком из подразумеваемого стартового узла (иногда этот узел изображается небольшим квадратом и привязывается к входному состоянию). Рис. 6. Символы диаграммы переходов–состояний При построении STD рекомендуется следовать следующим правилам: · строить STD на как можно более высоком уровне детализации диаграмм потоков данных; · строить как можно более простые STD; · по возможности детализировать STD; · использовать те же принципы именований состояний, событий и условий, что и при именовании процессов и потоков. Применяются два способа построения STD. Первый способ заключается в идентификации всех возможных состояний и дальнейшем исследовании всех небессмысленных связей (переходов) между ними. По второму способу сначала строится начальное состояние, затем следующие за ним и так далее. В результате применения любого из способов получается предварительная STD, для которой затем осуществляется контроль состоятельности, заключающейся в ответе на следующие вопросы: · все ли состояния определены и имеют уникальные имена; · все ли состояния достижимы; · все ли состояния имеют выход; · (для каждого состояния) реагирует ли система соответствующим образом на все возможные условия; · все ли входные/выходные потоки управляющего процесса отражены в условиях/действиях на STD? В ситуации, когда число состояний и/или переходов велико, для проектирования спецификаций управления могут использовать таблицы и матрицы переходов. Обе эти нотации позволяют зафиксировать ту же самую информацию, что и STD, но в другом формате. Таблица переходов состоит из четырех колонок. Первая колонка таблицы содержит список всех состояний проектируемой системы, во второй колонке для каждого состояния приведены все условия, вызывающие переход в другие состояния, а в третьей колонке – совершаемые при этих переходах действия. Четвертая колонка содержит соответствующие имена состояний, в которые осуществляется переход из рассматриваемого состояния при выполнении определенного условия. Формат таблицы переходов приведен на рис. 7.
Рис. 7. Формат таблицы переходов Матрица переходов содержит по вертикали перечень состояний системы, а по горизонтали – список условий. Каждый ее элемент содержит список действий, а также имя состояния, в которое осуществляет переход. Используется и другой вариант матрицы переходов: по вертикали указываются состояния, из которых выполняется переход, а по горизонтали состояния, в которые выполняется переход. При этом каждый элемент матрицы содержит соответствующие условия и действия, обеспечивающие переход из " вертикального" состояния в " горизонтальное". Пример. Рассмотрим диаграмму переходов состояний для программы построения графиков функций одной переменной. Программа относится к классу интерактивных, соответственно на этапе анализа и определения спецификаций целесообразно уточнить поведение программы на уровне интерфейса с пользователем, тем более, что наличие простого интерфейса оговорено в техническом задании. Один из возможных вариантов диаграммы переходов состояний программы представлен на рис. 8. Рис. 8. Диаграмма переходов состояний программы построения графиков/таблиц функций
Практическое задание Цели работы : – изучить процесс специфицирования аспектов программных систем, зависящих от времени или реакции на событие, осуществляемый на уровне диаграмм переходов-состояний; – приобрести навыки функционального анализа информационных систем. Задание: 1. Изучить описание предметной области в соответствии с вариантом задания и составить иерархический список функций информационной системы. 2. Изобразить функциональную диаграмму с помощью средств Microsoft Visio. 3. Для своего варианта разработать таблицу или матрицу переходов, а также диаграмму переходов-состояний. 4. С помощью Microsoft Visio осуществить ввод и редактирование этой диаграммы переходов–состояний. 5. Составить отчет по работе. Популярное:
|
Последнее изменение этой страницы: 2017-03-09; Просмотров: 1425; Нарушение авторского права страницы