当前位置 工程之家 软件工程 正文 下一篇:

软件需求的层次

软件需求主要包括3个不同的层次:业务需求、用户需求、功能需求和非功能需求,不同层次从不同角度和不同层次反映其细节问题,他们之间的关系如图4-2所示。

图4-2 软件需求的关系

1.业务需求

业务需求是组织或客户对于系统的高层次目标要求,定义了项目的远景和范围,即确定软件产品的发展方向、功能范围、目标客户和价值来源。这种需求通常来源于项目投资人、购买产品的客户、市场营销部门或产品策划部门,一般使用远景和范围文档进行记录。业务需求通常应该涵盖业务、客户、特性、价值、优先级这几个方面的内容。

以个人网上银行系统为例,其业务需求:

●该系统支持手机端和PC端的个人网上银行服务,为用户提供高效、便捷的银行自助服务;

●该系统可使得系统用户查询个人账户余额、转账、生活缴费、理财产品管理、基金产品管理、以及信用卡管理;

●由于某些功能存在风险问题,理财产品和基金产品的管理需要用户在银行网点进行签约确认后才可使用。

在需求的层次结构中,业务需求处于整个结构的最顶层,它定义了整个系统的远景与范围,其他需求都必须符合业务需求设定的目标。项目的远景和范围应该以文档形式描述出来,这种文档一般比较简短,可能只有1~5页,主要包括业务机会、项目目标、产品适用范围、客户特点、项目优先级等方面的内容。

2.用户需求

用户需求是从用户角度描述系统必须完成的任务,包括系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。用户需求的描述应该易于用户的理解,一般不采用技术性很强的语言,而是采用自然语言和直观图形相结合的方式进行描述。利用用例(Use Case)模型或场景(Scenario)等方式说明。

以个人网上银行系统为例,其用户需求包括:

系统用户可 随时 通过Internet查询个人的账户余额和收支明细,并可以 快捷 地进行水、电、气的缴费,可以 方便 地进行手机话费充值。

使用自然语言进行需求描述容易产生含糊不清和不准确的问题,因此,清晰的文档结构和适当的语言表达对于用户的需求描述是十分必要的。

3.功能需求和非功能需求

功能需求描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。在某些情况,功能需求还需明确声明系统不应该做什么。功能需求取决于开发的软件类型,软件未来的用户及开发的系统类型。

比如,个人网上银行系统为系统用户提供了以下服务:①系统用户能查询该行所有自身账户的账户余额、账户明细情况,也应支持账户挂失;②系统用户输入水、电、煤气、电话费单的用户号,选择资金划出账号即可进行缴纳;③用户可以选择相应的理财产品或基金产品进行购买,用户还可以查询自己的理财产品信息和基金产品信息。

以上的功能需求可以以不同的详细程度反复编写和细化。

非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。非功能需求包括过程需求、产品需求和外部需求等类型,其中过程需求包含交付、实现方法和标准等方面的需求,产品需求包含性能、可用性、实用性、可靠性、可移植性、安全性、容错性等方面的需求,外部需求有法规、成本、互操作性等需求。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/501.html
返回顶部