在我目前从事的项目中,要求是这样的表格:
- 系统必须...
- 系统必须...
只要没有替代方案,它就可以正常工作。但是,如果系统根据发生的情况以不同的方式工作,我应该怎么写呢?
if ScenarioA Then do This
elseif ScenarioB Then do That
您正在混合需求和设计(更具体地说,用例)。需求描述了系统应该能够提供的高级功能。用例是需求的衍生物。因此,您的要求可以是:
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
步骤是在用例上下文的范围内定义的,没有其他意义。
你为什么不试试用户故事?
用户故事(与需求相反)是简短的意图陈述,描述了系统需要为某些用户执行的操作。
作为关闭应用程序的用户,我希望系统提示我保存自上次保存以来发生的任何更改,以便我可以保留有用的工作并丢弃错误的工作。
- 对于方案 A 执行此操作
- 对于方案 B,这样做
- 作为执行方案 A 的用户,我想要这个,以便我可以打开我的应用程序。
- 作为执行方案 B 的用户,我想要它,以便我可以关闭我的应用程序。