Требования с альтернативами

В проекте, в котором я сейчас работаю, требования указаны в этой форме:

  1. Система должна...
  2. Система должна...

Работает нормально, пока нет альтернативного сценария. Но как мне написать, если система работает по-разному в зависимости от того, что происходит?

if ScenarioA Then do This
elseif ScenarioB Then do That

2 ответа

Решение

Почему бы вам не попробовать User Story?

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

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

  1. Для сценария сделать это
  2. Для сценария B сделать это
  1. Как пользователь, выполняющий сценарий A, я хочу этого, чтобы я мог открыть свое приложение.
  2. Как пользователь, выполняющий сценарий B, я хочу этого, чтобы я мог закрыть свое приложение.

Вы смешиваете требования и дизайн (точнее, варианты использования). Требования описывают функциональность высокого уровня, которую система должна быть в состоянии предоставить. Варианты использования являются производными от требований. Таким образом, ваши требования могут быть:

1. For scenarioA do this
2. For scenarioB do that

Обратите внимание, что требования не зависят от контекста и в основном описывают возможности.

И из этих требований может быть определен вариант использования (или даже несколько), описывающий определенное динамическое поведение:

a. Step 1
b. Step 2
...
n. [ScenarioA] do this
n1. [ScenarioB] do that (alternate path)
...

Здесь n а также n1 шаги определяются в контексте контекста варианта использования и не имеют другого значения.

Другие вопросы по тегам