软件需求的层次

转载 2013年12月06日 11:24:19

软件需求的层次

软件需求包括3个不同的层次――业务需求、用户需求和功能需求。
  除此之外,每个系统还有各种非功能需求。
  业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围(vision and scope)文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求(project charter 或 market requirement)文档。
  用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。
  功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求(behavioral requirement),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么。
  系统需求(system requirement)用于描述包含多个子系统的产品(即系统)的顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。
  业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。业务规划本身并非软件需求,因为它们不属于任何特定软件系统的范围。然而,业务规则常常会限制谁能够执行某些特定用例,或者规定系统为符合相关规则必须实现某些特定功能。有时,功能中特定的质量属性(通过功能实现)也源于业务规则。所以,对某些功能需求进行追溯时,会发现其来源正是一条特定的业务规则。
  功能需求记录在软件需求规格说明(SRS)中。SRS完整地描述了软件系统的预期特性。SRS我们一般把它当作文档,其实,SRS还可以是包含需求信息的数据库或电子表格;或者是存储在商业需求管理工具中的信息;而对于小型项目,甚至可能是一叠索引卡片。开发、测试、质量保证、项目管理和其他相关的项目功能都要用到SRS。
  除了功能需求外,SRS中还包含非功能需求,包括性能指标和对质量属性的描述。
  质量属性(quality attribute)对产品的功能描述作了补充,它从不同方面描述了产品的各种特性。这些特性包括可用性、可移植性、完整性、效率和健壮性,它们对用户或开发人员都很重要。其他的非功能需求包括系统与外部世界的外部界面,以及对设计与实现的约束。
  约束(constraint)限制了开发人员设计和构建系统时的选择范围。
  产品特性。所谓特性(feature),是指一组逻辑上相关的功能需求,它们为用户提供某项功能,使业务目标得以满足。对商业软件而言,特性则是一组能被客户识别,并帮助他决定是否购买的需求,也就是产品说明书中用着重号标明的部分。客户希望得到的产品特性和用户的任务相关的需求不完全是一回事。一项特性可以包括多个用例,每个用例又要求实现多项功能需求,以便用户能够执行某项任务。
  还有一项称为可用性(usability)的质量属性,它规定了业务需求中“有效”(efficiently)一词的含义。
  管理人员或市场营销人员负责定义软件的业务需求,以提高公司的运营效率(对信息系统而言)或产品的市场竞争力(对商业软件而言)。所有的用户需求都必须符合业务需求。需求分析员从用户需求中推导出产品应具备哪些对用户有帮助的功能。开发人员则根据功能需求和非功能需求设计解决方案,在约束条件的限制范围内实现必需的功能,并达到规定的质量和性能指标。
  当一项新的特性、用例或功能需求被提出时,需求分析员必须思考一个问题:“它在范围内吗?”。如果答案是肯定的,则该需求属于需求规格说明,反之则不属于。但答案也许是“不在,但应该在”,这时必须由业务需求的负责人或投资管理人来决定:是否扩大项目范围以容纳新的需求。这是一个可能影响项目进度和预算的商业决策。

不属于需求的内容
  需求规格说明中不包括(除已知约束外的)设计和实现的细节、项目的计划信息,以及测试信息(Leffingwell 和 Widrig 2000)。把这些内容与需求分开,就可以把需求活动的注意力集中到了解开发小组需要开发的产品特性上。项目中通常还包括其他类型的需求,如开发环境需求,进度或预算限制,帮助新用户跟上进度的培训需求,或者发布产品使其转入支持环境的需求。这些都属于项目需求而不是产品需求,因此不属于软件需求的讨论范围。


什么是软件需求,什么是功能需求?——论需求的三个层次和三个方面(2)

     我们的软件产品或者项目,其需求都有三个层级和三个方面。     一、我们首先看需求的三个层次          软件需求包括3个不同的层次――业务需求、用户需求和功能需求。  业务需求(Bu...
  • qinhl99
  • qinhl99
  • 2010年04月20日 23:45
  • 6484

软件工程中需求的三个不同层次

软件需求包括3个不同的层次――业务需求、用户需求和功能需求。   除此之外,每个系统还有各种非功能需求。   业务需求(Business requirement)表示组织或客户高层次的目标。业...
  • larry_lv
  • larry_lv
  • 2011年09月15日 09:53
  • 752

需求分析的图形工具(层次方框 warnier IPO)

1 层次方框图 层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。     例如,描绘一家计算机公司全部产品的数据结构可以用下图层次方框图表示。 这家公司的产品由硬件、软件和服务3类...
  • qq_15037231
  • qq_15037231
  • 2017年03月05日 15:42
  • 1341

人5个层次的需求

人类基本需要是按确定的等级排列的,生理需求最强,接着依次是安全需求、归属和爱的需求、尊重需求和自我实现。绝大多数情况下人只有满足了初级需求,才能去追求中高级需求,低级的需要是人生存的基本条件,高级需要...
  • suipingsp
  • suipingsp
  • 2014年08月06日 17:10
  • 3244

软件需求分析的概念

转载URL:http://www.cnblogs.com/liping13599168/archive/2011/02/04/1949098.html      本篇文章主要是对于软件需求分析相...
  • liangpei2008
  • liangpei2008
  • 2014年03月26日 13:14
  • 974

.软件需求的层次

发布时间: 2007-4-04 11:54    作者: victorcook    来源: 51testing博客转 软件需求包括3个不同的层次――业务需求、用户需求和功能需求。   除此之外,...
  • larry_lv
  • larry_lv
  • 2011年09月15日 09:52
  • 294

软件需求包括3个不同的层次――业务需求、用户需求和功能需求

软件需求包括 3 个不同的层次――业务需求、用户需求和功能需求。    除此之外,每个系统还有各种非功能需求。     业务需求( Business requirement ) 表示组织或客户...
  • wangsenhong
  • wangsenhong
  • 2013年12月25日 16:06
  • 699

细说马斯洛需求层次理论与产品的关系——老吴说产品

马斯洛需求层次理论是美国心理学家马斯洛在1943年在《人类激励理论》论文中所提出。书中将人类需求象阶梯一样从低到高按层次分为五阶,分别是:生理需求、安全需求、社交与归属感需求、尊重需求和自我实现需求。...
  • wudilaile
  • wudilaile
  • 2016年03月11日 09:56
  • 1175

马斯洛需求层次理论与消费者需求

消费者的需求是多种多样的,了解清楚消费者的需求有助于根据结果调整自己的产品策略和营销策略。虽然人类的需求多种多样但是还是有法可循的,美国心理学家亚伯拉罕·马斯洛1943年在《人类激励理论》论文中所提出...
  • u013761220
  • u013761220
  • 2014年03月24日 15:52
  • 1086

软件需求层次

无论是开发人员,需求分析员,或者是测试工程师,做为软件行业的从业者,在每个项目的开始阶段大家都会自然而然地谈到需求。也许是因为被周围的人和大量的相关资讯影响,也许是软件工程的指引,也许是前一个项目的惨...
  • hanchao1973
  • hanchao1973
  • 2011年01月24日 13:05
  • 201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件需求的层次
举报原因:
原因补充:

(最多只允许输入30个字)