`

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

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

相关推荐

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

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

    什么是软件需求,什么是功能需求?

    一软件需求包括3个不同的层次――业务需求、用户需求和功能需求。业务需求(Businessrequirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品...

    软件需求(pdf文档)

    6.1 通过业务需求确定项目视图 45 6.2 项目视图和范围的文档 46 6.3 关联图 50 6.4 把注意力始终集中在项目的范围上 51 第7章 寻找客户的需求 52 7.1 需求的来源 52 7.2 用户类 53 7.3 寻找用户代表 54 7.4 产品的...

    软件需求管理计划

    4.4 需求跟踪性:不同或相同类型的需求项间的,或者需求项和项目计划任务、设计元素、实现元素、测试元素、用户文档元素、其他项目元素间的依赖关系。 4.5 概要需求和详细需求:指在需求管理中,对需求粒度不同层次...

    《软件需求》书 软件需求:是什么和为什么

    6.1 通过业务需求确定项目视图 45 6.2 项目视图和范围的文档 46 6.3 关联图 50 6.4 把注意力始终集中在项目的范围上 51 第7章 寻找客户的需求 52 7.1 需求的来源 52 7.2 用户类 53 7.3 寻找用户代表 54 ...

    软件需求规格说明书模板

    【说明待开发系统业务功能需求被分配的软件需求,并统一编号组织。】 Eg:SRS1 XXX SRS1.1 XXX 或者 UC1 XXX UC1.1XXX XXX软件需求(对于结构化分析请采用如下格式) 需求编号 功能描述 输入 处理 输出 约束...

    软件需求考试复习重点

    功能需求(行为需求):规定开发人员必须在产品中实现的软件功能,用户利用这些软件功能来完成任务,满足业务需求。描述了开发人员应该(需要)实现什么,用SRS(软件需求规格说明书)来记录。 4). 非功能性需求:...

    软件需求全过程实践pdf

    6.1 通过业务需求确定项目视图 45 6.2 项目视图和范围的文档 46 6.3 关联图 50 6.4 把注意力始终集中在项目的范围上 51 第7章 寻找客户的需求 52 7.1 需求的来源 52 7.2 用户类 53 7.3 寻找用户代表 54 ...

    软件需求分析方法七大部分(可编辑,有目录)

    软件需求分析方法七大部分(可编辑,有目录),软件需求的三个不同的层次;业务需求、用户需求和功能需求等具体分析,可做参考

    软件需求工程.doc.doc

    2) 业务需求; 3) 功能需求; 4) 性能需求; 5) 约束与限制。 6) 软件需求间的层次关系 需求规格说明 需求规格说明是软件所应满足的全部需求,并可以文档的方式完整和精确陈述这些需 求。 一个好的需求规格说明应该...

    金融业务信息系统模型化需求分析及其描述方法

    本文在进行大量的实践和深入研究的基础上基于国际领先的理论框架结合商业银行的信息系统特点基于业务流程软件项目把需求分析活动引入到建模框架中把其看作体系结构层次的一个过程描述需求过程的结构提出一种新的需求...

    软件需求分析与建模.ppt

    软件需求(Software Requirements)是在业务需求分析和用户需求分析的基础上,从抽象的概念层次上确定系统的要素、构成和结构,得出系统的逻辑模型,并为系统设计提供依据。

    信息系统安全需求分析.docx

    一般而言,针对安全的管理目标包括政策需求和业务需求。获取和分析安全需求通常是从国家法律、组织政策、业务策略和责任追究等方面出发,而这些都是系统管理层需要考虑的内容。 安全信息系统构建的最终目标,就是...

    [详细完整版]37软件工程.doc

    软件bai需求包括 3 个不同的层次:业务需求、用户需求和功能需求。 除此zhi之外,每个系统还有各种非功能需求。 业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买...

    [详细完整版]软件工程.doc

    软件需求可以分为三个不同的层次,下列( )不是软件需求的层次。 [ ] A.设计需求 B.业务需求 C.用户需求 D.系统功能需求 3.下列不是用例特点的是 [ ] A.捕获某些用户可见的需求,实现一个具体的用户目标 B.用例由...

    软件设计规范

    3、软件调度性能,实时的自动化过程(设备控制和自动测量)和用户交互过程(请求服务过程和干预过程;本地交互和远程交互),程控和网络访问的调度(服务器)。 软件项目的3个部分:(把3个阶段由纵向横过来,进行...

    02-需求分类-10041

    需求分类产品 /过程• 产品需求• 过程需求产品需求• 功能性需求• 非功能性需求抽象层次详细程度• 业务需求• 用户需求• 系统需求• 软件设计规约业务需求•

    关于需求获取的简要介绍

    获取用户需求位于软件需求三个层次的中间一层。业务需求决定用户需求,它描述了用户利用系统需要完成的任务。从这些任务中,分析者能获得用于描述系统活动的特定的软件功能需求,这些系统活动有助于用户

Global site tag (gtag.js) - Google Analytics