发布网友 发布时间:2022-04-29 01:29
共1个回答
热心网友 时间:2022-06-27 14:49
下面这些定义是需求工程领域中常见术语的定义。
软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。
1.业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们
在项目视图与范围文档中予以说明。
2.用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use
case)文档或方案脚本说明中予以说明。
3.功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的
任务,从而满足了业务需求。
在软件需求规格说明书(SRS)中说明的功能需求充分描述了软件系统所应具有的外部行为。软件
需求规格说明在开发、测试、质量保证、项目管理以及相关项目功能中都起了重要的作用。对一个大
型系统来说,软件功能需求也许只是系统需求的一个子集,因为另外一些可能属于子系统(或软件部
件)。
作为功能需求的补充,软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和
执行的操作等。它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或
实现的约束条件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上的*。质量属性是
通过多种角度对产品的特点进行描述,从而反映产品功能。多角度描述产品对用户和开发人员都极为
重要。
下面以一个子处理程序为例来说明需求的不同种类。业务需求可能是:“用户能有效地纠正文档中
的拼写错误”,该产品的包装盒封面上可能会标明这是个满足业务需求的拼写检查器。而对应的用户
需求可能是“找出文档中的拼写错误并通过一个提供的替换项列表来供选择替换拼错的词”。同时,该
拼写检查器还有许多功能需求,如找到并高亮度提示错词的操作;显示提供替换词的对话框以及实现
整个文档范围的替换。
从以上定义可以发现,需求并未包括设计细节、实现细节、项目计划信息或测试信息。需求与这些
没有关系,它关注的是充分说明你究竟想开发什么。项目也有其它方面的需求,如开发环境需求或发
布产品及移植到支撑环境的需求。尽管这些需求对项目成功也至关重要,但它们并非本书所要讨论的。