Таблицы «событие - реакция»




Есть еще один способ систематизации и документации пользовательских требований: определить внешние события, на которые система должна реагировать. Событием (event) называется какое-либо изменение или действие в среде пользователя, вызывающее реакцию системы ПО (McMenamin и Palmer, 1984; Wiley, 2000). В таблице «событие-реакция» ( event-response table) [ее также называют таблицей событий (event table) или списком событий (event list)] перечислены все такие события и ожидаемое поведение системы, которое должно последовать, как реакция на каждое событие. Существует несколько типов системных событий, они показаны на рис. 8-9 и описаны далее:

· взаимодействие пользователя с ПО, как когда он, например, вызывает вариант использования [иногда называется бизнес-событием (business event)]. Последовательность событий и реакций соответствует этапам взаимодействия для этого варианта использования, В отличие от вариантов использования, в таблице «событие - реакция» не описываются цели пользователя при работе с системой и не приводятся причины, по которым эта последовательность событий и реакций имеет значение для пользователя;

· контрольный сигнал, чтение данных или прерывание, полученное от внешнего аппаратного устройства, например при изменении положения выключателя, изменении напряжения или перемещении мыши пользователем;

· событие инициируется в определенный момент времени (скажем, автоматический запуск экспорта данных в полночь) или когда истекает предварительно заданный период времени с момента определенного события (например, система фиксирует температуру, считываемую сенсором каждые 10 секунд).

 

 

Рис. 8-9. Примеры системных событий и реакций.

Таблицы «событие - реакция» особенно хороши для управления системами, работающими в режиме реального времени. Табл. 8-1 представляет собой простую таблицу «событие — реакция», в которой частично описано поведение очистителей ветрового стекла автомобиля. Обратите внимание, что ожидаемая реакция зависит не только от события, но и от состояния, в котором находится система во время события. Например, результаты событий 4 и 5.1 в табл. 8-1 различаются из-за того, были ли включены «дворники» в момент, когда пользователь настроил управление «дворниками» на периодический режим. Реакция может просто изменить некоторую внутреннюю системную информацию (события 4 и 7.1 в таблице) или привести к результату, заметному извне (большинство других событий).

Информация в таблице «событие — реакция» фиксируется на уровне пользовательских требований. Если в таблице определены и названы все возможные комбинации событий, состояний и реакций (включая условия исключений), таблица также может служить частью функциональных требований для этого фрагмента системы. Однако аналитик должен добавить дополнительные функциональные и нефункциональные требования в спецификацию требований к ПО. Например, сколько «взмахов» в минуту делают «дворники» в быстром и медленном режиме очищения? В быстром или медленном режиме выполняется периодическая очистка? Является ли периодический режим непрерывно изменяющимся или он работает дискретно? Каковы максимальный и минимальный интервал времени при работе в периодическом режиме? Если вы закончите работу на уровне пользовательских требований, разработчику самому придется выяснять эту информацию. Помните, ваша цель - сформулировать требования настолько точно, чтобы разработчик знал, что строить.

Обратите внимание, что события перечисленные в табл. 8-1 записаны на важнейшем (абстрактном) уровне (описывается суть события), а не на уровне реализации (описываются особенности реализации). В табл. 8-1 ничего не говорится о том, как выглядит элемент управления «дворниками» или о том, как пользователь управляет ими. Дизайнер может реализовать эти требования как угодно — от традиционных элементов управления «дворниками», как в современных автомобилях, до системы распознавания голоса, реагирующей на произносимые команды: «включить дворники», «выключить дворники», «быстрая очистка», «очистить один раз» и т.д. Записывая пользовательские требования на важнейшем (абстрактном) уровне, вы избежите введения ненужных ограничений проектных решений. Однако следует фиксировать все известные ограничения по дизайну (проектированию), чтобы заставить разработчика думать.

 

Таблица 8-1. Таблица «событие - реакция» для автомобильных «дворников»

 

ID Событие Состояние системы Реакция системы
1.1 установка системы управления «дворниками» в режим медленной очистки «дворники» отключены установка механизма «дворников» в режим медленной очистки
1.2 установка системы управления «дворниками» в режим медленной очистки быстрая очистка установка механизма «дворников» в режим медленной очистки
1.3 установка системы управления «дворниками» в режим медленной очистки периодическая очистка установка механизма «дворников» в режим медленной очистки
2.1 установка системы управления «дворниками» в режим быстрой очистки «дворники» отключены установка механизма «дворников» в режим быстрой очистки
2.2 установка системы управления «дворниками» в режим быстрой очистки медленная очистка установка механизма «дворников» в режим быстрой очистки
2.3 установка системы управления «дворниками» в режим быстрой очистки периодическая очистка установка механизма «дворников» в режим быстрой очистки
3.1 отключение системы управления «дворниками» быстрая очистка, 1. завершение текущего цикла очистки 2. выключение механизма «дворников»
3.2 отключение системы управления «дворниками» медленная очистка 1. завершение текущего цикла очистки 2. выключение механизма «дворников»
3.3 отключение системы управления «дворниками» периодическая очистка. 1. завершение текущего цикла очистки 2. выключение механизма «дворников»
  установка системы управления «дворниками» в режим периодической очистки «дворники» отключены 1. считывание временного интервала очистки 2, инициализация таймера очистки
5.1 установка системы управления «дворниками» в режим периодической очистки быстрая очистка 1. считывание временного интервала очистки 2. завершение текущего цикла очистки 3. инициализация таймера очистки
5.2 установка системы управления «дворниками» в режим периодической очистки медленная очистка 1. считывание временного интервала очистки 2. завершение текущего цикла очистки 3. инициализация таймера очистки
  со времени предыдущей очистки прошел установленный интервал времени периодическая очистка выполнение одного цикла медленной очистки
7.1 изменение интервала периодической очистки периодическая очистка 1. считывание временного интервала очистки 2. инициализация таймера очистки
7.2 изменение интервала периодической очистки «дворника отключены реакция отсутствует
7,3 изменение интервала периодической очистки быстрая очистка реакция отсутствует
7.4 изменение интервала периодической очистки медленная очистка реакция отсутствует
  получение сигнала на выполнение периодической очистки «дворники» отключены выполнение одного цикла медленной очистки

Что теперь? · Составьте несколько вариантов использования для вашего текущего проекта на основании шаблона на рис. 8-6. Включите в них все альтернативные направления развития и исключения. Определите функциональные требования, которые позволят пользователю успешно завершить каждый вариант использования. Проверьте, не включены ли уже все эти функциональные требования в спецификации требований к ПО. · Перечислите все внешние события, которые могут вызвать определенное поведение системы. Создайте таблицу «событие - реакция», в которой показано состояние системы в момент воздействия каждого события и реакция системы на него.  



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: