0

我正在关注验证和验证线程,我认为一个示例可能会有所帮助。我不是经验丰富的开发人员,所以我想知道这是否正确:

  1. 用户需求:我想将我朋友的姓名、地址和电话号码保存到系统中
  2. 软件需求规范:用户希望能够输入和保存姓名、地址、电话号码。
  3. 技术分析:用于数据输入的 Web UI。数据将保存到 SQL DB 中。
  4. 详细设计:UI元素:一个字符串类型的3个字段,1个按钮,对象XYZ,dbConnection....
  5. 代码:(UI的实际代码,db脚本)

是这样吗?任何人都可以更正或添加我在这里缺少的内容吗?

至于验证,可以根据需求(可追溯性)验证每个阶段。至于验证,功能代码应该按预期工作(保存三个属性)。

4

2 回答 2

1

虽然这在理论上是正确的(我不得不这么说),但在所有实际和现实世界的场景中都是完全错误的。

捕捉用户需求以及他为什么想做某件事。这使您可以只构建用户想要的软件,消除作为虚构需求、技术需求、拥有等方面的一部分的浪费。

所以,而不是,

I want to be save my friend's name, address and phone number to the system...

我宁愿有以下强调为什么?用户的真正需求

我想在我朋友生日那天给他寄一张贺卡。

现在,我知道我只需要他的姓名和地址。由于这是为了将来,我也想存储这些信息。所以我接下来要写的是一套满足上述客户需求的验收标准。如果我可以将它们捕获为一组可执行规范,那么它会更好,因为它们可以通过编程方式进行验证。

忽略其他一切。可追溯性是不必要的开销。如果我们基于虚构的需求构建软件,我们就需要它。

阅读以下内容

于 2012-11-06T21:22:27.263 回答
0

我从未见过一种在单个冲刺/时间框之外将代码跟踪到需求的好方法。而且,您的列表中缺少测试人员!除非您的测试人员也是您的业务分析师(根据我的经验,专业测试人员发现很多需求不一致 - 也就是错误)。

我认为最好的方法是让每个人都尽可能参与,这样你就可以经常交叉引用每个人的期望。如果每个人都一起工作,您就不需要实施一种货物崇拜流程,即批量信息以一种方式向下传输。

具有可追溯性的最简单工具是您的 VCS,其中每个提交都包含与该提交相关的用户故事/用例的 ID。

于 2012-11-06T21:22:00.733 回答