Требования с альтернативами
В проекте, в котором я сейчас работаю, требования указаны в этой форме:
- Система должна...
- Система должна...
Работает нормально, пока нет альтернативного сценария. Но как мне написать, если система работает по-разному в зависимости от того, что происходит?
if ScenarioA Then do This
elseif ScenarioB Then do That
2 ответа
Почему бы вам не попробовать User Story?
Пользовательские истории (в отличие от требований) - это краткие заявления о намерениях, которые описывают то, что система должна сделать для какого-то пользователя.
Как пользователь, закрывающий приложение, я хочу получить приглашение сохранить все, что изменилось с момента последнего сохранения, чтобы я мог сохранить полезную работу и отказаться от ошибочной работы.
- Для сценария сделать это
- Для сценария B сделать это
- Как пользователь, выполняющий сценарий A, я хочу этого, чтобы я мог открыть свое приложение.
- Как пользователь, выполняющий сценарий 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
шаги определяются в контексте контекста варианта использования и не имеют другого значения.