软件需求的特性有哪些方面(软件需求的特性都有哪些)

lxf2023-03-13 09:27:01

软件需求的特点如下:1、完整性是指每个需求都必须清楚地描述要实现的功能,不能丢失一些信息;2、正确性是指每个需求都必须准确地陈述其要开发的功能;3、可行性是指需求能否正常实现,每个项目需求必须在已知系统和环境的权力和限制范围内实现;4、必要性,是指每一个需求都要记录下客户真正需要和最终需要遵循的标准;5、优先级划分;6、无二义性;7、可验证性。

软件需求的特性有哪些方面(软件需求的特性都有哪些)

软件需求是什么?

用户解决问题或满足目标所需的条件或权力(capability)

系统或系统部件应满足合同、标准、规范或其他正式规定文件所需的条件或权力

能够反映上述1或2所描述的条件或权力的文档描述

需求不仅包括一般意义上的产品功能,还包括行业规范中定义的标准,如银行业技术规范、电信网络接入标准等。

软件需求的特点

在整个研发过程中,原始收集完成后,第一步是需求评估。如果你想评估需求,你必须知道什么样的需求描述是一个很好的解释。通常,一个好的需求描述应该具备以下七个特征。

(1)完整性

完整性是指每个需求都必须清楚地描述要实现的功能,并且不能丢失一些信息。如果信息丢失,则需求不够完整,需求的完整性也是开发人员获取设计和实现这些功能所需的必要信息。

(2)正确性

正确性是指每个需求都必须准确地陈述其要开发的功能,正确判断的参考是需求的来源,如用户或高级系统需求规格,如果软件需求与相应的系统需求相冲突是不正确的。只有用户代表才能确定用户需求的正确性,这也是用户必须积极参与的原因。没有用户参与的需求评估将导致这种现象:“那些没有意义的人不是我们想要的”,因为如果没有用户参与,许多评估可能是我们的评估专家自己的幻想。

(3)可行性

可行性是指需求能否正常实现,每个项目需求都必须在已知系统和环境的权力和限制范围内实现。为了避免不可行的需求,最好在获取需求的过程中,软件工程团队成员总是与需求分析师或考虑市场的人员一起工作,并检查技术的可行性。

(4)必要性

必要性是指每一个需求都应该记录下客户真正需要和最终需要遵循的标准。“必要性”也可以理解为每一个需求都是授权你写文档的“根源”,每一个需求都可以追溯到某个客户的输入。

(5)划分优先级

优先级是对所有需求进行分类,分为不同层次的需求。通常,需求可以分为三个层次:高、中、低。需求优先级是指对关键任务的需求。如果业务没有实现,就没有用户会购买该产品。如果手机的通话功能,如果手机没有通话功能,就没有人会购买。

需求优先级是指业务必须实现,但质量特性可以做得很完美,如手机摄像头功能,现在智能手机有摄像头,但像素不一定很高,如一些制造商做3万 万像素,但我们可以做到1万像素 万像素,所以有人会买产品,但价格可能会受到影响。

低需求优先级是指业务可以实现或不能实现,如月饼包装非常漂亮,如果我们买给自己吃,那么包装是否非常漂亮并不重要,通常这种需求也被称为镀金需求。

(6)无二义性

二义性是指一种描述需求有两种或两种以上的理解方式。在描述需求的过程中,由于自然语言容易导致二义性,所以尽量用简洁明了的用户语言来表达每一个需求。

(7)可验证性

可验证性是指每个需求都可以通过具体的用例或测试步骤来验证,如果我们不能使用一套有效的方法来验证,那么我们就不能客观地判断当前的需求是否正确实现。

以上是我们在评估时需要注意的一些特征。只有满足这些特征的需要,我们才认为这是一个很好的需求,所以需求表明通常有以下四个特征:

1)完整性

我们上面介绍了完整性,是指不能遗漏任何必要的需求信息,如果有遗漏的信息很难找到。

在描述需求时,如果尽量关注用户的任务,抛开系统的功能,可以更好地避免需求的不完整性。

2)一致性

一致性是指与其他软件需求或高级(系统、业务)需求不矛盾,开发前需要解决所有需求之间的不一致性,只有详细检查才能确定需求是否正确。

3)可修改性

必要时或为了维护每个需求,需要修改历史记录,以便独立识别每个需求,并区别于其他需求,以确保无二义。每个需求只应出现在需求说明书中一次,以便在改变需求时保持需求的一致性。

4)可跟踪性

可跟踪性是指每个软件需求与其根源和设计元素、源代码和测试用例之间的链接,以确保每个需求都得到实现和验证,这也是我们工作中常说的需求跟踪矩阵。

更多编程相关知识,请访问:编程教学!!

以上是软件需求的特点有哪些详细内容,更多请关注AdminJS的其他相关文章!