要求,设计,代码推导

时间:2012-11-06 20:48:33

标签: documentation verification

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

  1. 用户要求:我想将我朋友的姓名,地址和电话号码保存到系统中
  2. 软件要求规范:用户希望能够输入并保存姓名,地址,电话号码。
  3. 技术分析:用于输入数据的Web UI。数据将保存到SQL DB中。
  4. 详细设计:UI元素:字符串类型的3个字段,1个按钮,对象XYZ,dbConnection ....
  5. 代码:( UI的实际代码,db脚本)
  6. 是这样的吗?任何人都可以纠正或添加我在这里缺少的东西吗?

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

2 个答案:

答案 0 :(得分:1)

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

捕获用户需求和为什么他想做某件事。这使您可以构建用户想要的软件,消除作为构成要求,技术要求,有钱等等的浪费。

所以不是,

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

我更愿意在下面强调为什么?用户的真正需要

  

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

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

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

阅读以下内容

答案 1 :(得分:0)

我从未见过将代码跟踪到单个sprint / time框之外的需求的好方法。此外,您还缺少列表中的测试人员!除非您的测试人员也是您的业务分析师(我的经验,专业测试人员发现很多要求不一致 - 即错误)。

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

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