02需求工程软件建模与分析阅读笔记之二

此次阅读了解到了什么是优秀的需求。

1、完整性:优秀的需求都是完整的,他不需要做更多的扩展就可以充分的说明用户需要的系统功能。每一个需求的描述都应该包含开发人员设计和实现这项功能需要的所有信息,这样在开发过程中,他们才可以被独立出来,单独对待。在需求开发的过程中,对于不清晰的信息可以标记为TBD(待确定),但在需求开发结束之前,所有的TBD都必须被解决。

2、正确性:每一项需求都必须正确的描述所需要的系统功能,要真实的反映用户的意图。需求的正确性只有提出需求的人才能加以判断,所以需求在传递给开发人员之前必须请需求的提出者予以确认。

3、精确性:需求的最大的用途是实现知识的共享,它将用户的期望准确的传递给系统的相关开发人员,包括设计者,实现者,测试者等,所以需求的描述是要具有可理解性的。可理解性要求描述的信息要充分要具有完整性。同时因为过多的冗余信息会扰乱读者的思路,所以,可理解性也要求描述仅包含必要的信息,即精确性。具有精确性的需求应该简洁,清晰。

4、可行性:需求必须能够在系统极其运行环境的已知条件和约束下实现。用户无法判断需求的技术可行性,所以需求的可行性是由开发人员检查的。在检查过程在,开发人员可能须要进一步的研究和分析,而不是单纯的凭借经验和直觉。对于难以判断的需求,必要的时候要通过开发原型进行判断。

5、必要性:每一项需求都应该是必要的,他是满足用户的业务需求所必需的。如果一条需求被忽略之后,系统仍然可以以同样的效果解决用户问题,那么他就不值得在开发过程中消耗额外的资源。

6、无歧义:需求能够正确的传递知识的前提是传递者和受众能够形成共同的理解,因此每一项需求都应该有且仅有一种解释,即需求无歧义。

7、可验证:需求应该是可验证的,也就是说可以通过分析,检查,模拟或者测试等方法能够判断需求是否被满足。

原文地址:https://www.cnblogs.com/lhj1017/p/8302948.html