软件需求是用户解决问题或达到目标所需条件或权能、系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能,或者一种反映上面所述条件或权能的文档说明。中培课堂《需求分析与管理最佳实践》培训专家郭老师就软件需求的分类情况进行了详细介绍。
一、根据不同阶段、不同属性、不同场景等特性,需求可以分为以下几类:
1、业务需求(Business requirement):
反映了组织机构或客户对系统、产品高层次的目标要求。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标,使用前景和范围(vision and scope)文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求(project charter 或 market requirement)文档。
2、用户需求(User requirement):描述的是用户的目标或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径,也就是说用户需求描述了用户能使用系统来做些什么。
3、系统需求(system requirement):是系统必须完成的事以及必备的品质,一般用于描述包含多个子系统的产品(即系统)的顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。系统需求包括功能需求、业务流程需求和非功能需求。
4、功能需求(Functional requirement):定义了开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求(behavīoral requirement),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么。
5、业务流程需求:业务流程需求是根据业务目标对业务过程进行分解,说明业务的处理步骤、以及每个步骤的角色者,一般用活动图并辅以文字加以描述。业务流程需求通常还需要说明业务规则,也就是业务办理过程中的一些约束条件,包括输入数据的校验规则和业务处理的逻辑规则。
6、非功能需求(Non-functional requirement):非功能需求包括产品必须遵从的标准、规范和合约、外部接口的具体细节、性能要求、设计或实现的约束条件及质量属性等。非功能需求包括性能需求、接口需求、可靠性需求、可恢复性需求、易用性需求、安全性需求、GUI需求、可保障性(Supportable)需求、兼容性需求、部署需求、安装需求等。
7、测试需求(Testing requirement):确切地讲,所谓的测试需求就是在项目中要测试什么。我们在测试活动中,首先需要明确测试需求(What),才能决定怎么测(How),测试时间(When),需要多少人(Who),测试的环境是什么(Where),测试中需要的技能、工具以及相应的背景知识,测试中可能遇到的风险等等,以上所有的内容结合起来就构成了测试计划的基本要素。
8、运营需求:运营需求是系统上线后对通过IT服务对业务的运营支撑,所反映出的用户对业务的接受度、订单量的波动情况、注册用户数的波动情况、有策划的市场活动对电子交易的贡献等信息状态。
9、采购需求:采购需求是指对采购标的的特征描述。要实施采购就一定要搞清楚采购需求,好的采购需求能够合理、客观反映采购标的的主要特征以及要求供应商响应的条件,符合适用原则、非歧视原则,并能够切合市场实际。
10、外包需求:将某项任务或服务的执行或管理责任转由第三方来完成的需求,称之为外包需求。
11、接口需求:用户对待开发软件系统与其他软件系统或硬件设备之间的接口的要求。
12、性能需求:用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。
13、安全性需求:用户在身份认证、授权控制、私密性、加密管理等等方面的要求。
14、可靠性需求:用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。
15、可恢复性需求(Recovery testing):是指系统从灾难或出错中可以很好恢复的需求,如遇到系统崩溃、硬件损坏或其他灾难性出错,应用程序和数据可以很快得到正确的恢复。可恢复需求通常需要关注恢复所需的时间以及恢复的程度。
16、可保障性(Supportable)需求:用户在软件可配置性、可扩展性、可维护性、可移植性等方面的要求。
17、易用性需求:用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。(行业标准)。
18、GUI需求:从GUI设计的规范性、GUI布局的合理性、GUI风格的一致性、GUI界面操作课定制性等方面对界面设计提出要求。
19、兼容性需求:是对软件从某一环境转移到另一环境的能力的具体要求,包括以下几方面:操作系统兼容性,异构数据库兼容性,新旧数据转换,异种数据兼容性,用软件兼容性,硬件兼容性等。
20、部署需求:对软件系统运行环境的要求,包括操作系统、数据库、中间件等软件版本、硬件环境、网络等。
21、安装需求:是对软件安装的具体要求,例如:软件在正常和异常情况的不同条件下,都可以正确安装,完整的或自定义的安装都能正常进行,系统升级可以正确进行,软件卸载可以正常进行。异常情况包括磁盘空间不足、缺少目录创建权限等系统会给出正确提示。
22、业务规则:包括企业方针、政府条例、工业标准、会计准则和计算方法等,业务规则通常是隐性需求。
想了解更多,请咨询中培伟业官网:https://www.zpedu.com