软件需求的三个层次

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件需求的三个层次
⼀、理解
今天在课堂上被⽼师提问到软件需求的三个层次分别是什么,但是⾃⼰并不是很了解,于是就查阅了相关资料并进⾏了以下总结。

需求分析是软件⼯程中的⼀个关键过程。

在这个过程中,系统分析员和软件⼯程师确定顾客的需要。

只有在确定了这些需要后他们才能够分析和寻求新系统的解决⽅法。

软件需求包括三个不同的层次——业务需求、⽤户需求和功能需求,当然也包括也包括⾮功能需求。

(⼀)概念
1、业务需求( Business requirement )
描述组织或客户⾼层次的⽬标。

业务需求就是系统⽬标,它必须是业务导向、可度量、合理、可⾏的。

业务需求通常来⾃项⽬投资⼈、购买产品的客户、实际⽤户的管理者、市场营销部门或产品策划部门。

业务需求描述了组织为什么要开发⼀个系统(why),即组织希望达到的⽬标。

⼀般使⽤前景和范围( vision and scope )⽂档来记录业务需求,这份⽂档有时也被称作项⽬轮廓图或市场需求( project charter 或 market requirement )⽂档。

组织愿景是⼀个组织对将使⽤的软件系统所要达成的⽬标的预期期望。

这些最⾼级别的需求数量很少(2-5条)。

2、⽤户需求( user requirement )
描述的是⽤户的⽬标,或⽤户要求系统必须能完成的任务。

通常是在问题定义的基础上进⾏⽤户访谈、调查,对⽤户使⽤的场景进⾏整理,从⽽建⽴从⽤户⾓度的需求。

⽤例、⽤户故事、场景描述和事件等都是表达⽤户需求的有效途径。

⽤户需求必须能够体现软件系统将给⽤户带来的业务价值,并能够描述了⽤户能使⽤系统来做些什么(what)。

3、功能需求( functional requirement )
规定开发⼈员必须在产品中实现的软件功能,⽤户利⽤这些功能来完成任务,满⾜业务需求。

功能需求有时也被称作⾏为需求( behavioral requirement ),因为习惯上总是⽤“应该”对其进⾏描述:“系统应该发送电⼦邮件来通知⽤户已接受其预定”。

功能需求是需求的主体,它描述的是开发⼈员如何设计具体的解决⽅案来实现这些需求(how),其数量往往⽐⽤户需求⾼⼀个数量级。

这些需求记录在软件需求规格说明(Software Requirments Specification)中。

功能需求描述是开发⼈员需要实现什么。

4、补充
软件需求规格说明还应包括⾮功能需求,它描述了系统展现给⽤户的⾏为和执⾏的操作等。

它包括产品必须遵从的标准、规范和合约;外部界⾯的具体细节;性能要求;设计或实现的约束条件及质量属性。

所谓约束是指对开发⼈员在软件产品设计和构造上的限制。

质量属性是通过多种⾓度对产品的特点进⾏描述,从⽽反映产品功能。

多⾓度描述产品对⽤户和开发⼈员都极为重要。

需求并未包括设计细节、实现细节、项⽬计划信息或测试信息。

需求与这些没有关系,它关注的是充分说明你究竟想开发什么。

(⼆)层次之间关系
业务需求是需求定义的产物;
⽤户需求是需求捕获的结果;
软件需求是需求分析和建模的综合。

业务需求和⽤户需求只有经过需求分析的转化,变为产品的功能需求后,才能得以实现。

(三)区别
1、业务需求:公司想如何解决⽤户的问题,如何满⾜⽤户的欲望,并将利益最⼤化。

2、⽤户需求。

⽤户需要在应⽤系统中实现什么东西,为实现这个⽬标,需要⽤户提供的全部的详细的业务说明,业务流程,表格样式等。

3、功能需求。

将⽤户需求归类分解为计算机可以实现的⼦系统和功能模块,⽤设计语⾔描述和解释⽤户的需求,以达到可以指导程序设计的⽬的。

⼆、实例
1、这⾥以⼀个拼写检查器的软件为例。

业务需求可能是:“⽤户能有效地纠正⽂档中的拼写错误。

”(即组织希望达到的⽬标)
⽤户需求可能是:“找出⽂档中的拼写错误并通过⼀个提供的替换项列表来供选择替换拼错的词。

”(即⽤户能⽤系统来做些什么)
功能需求可能是:“找到并⾼亮度提⽰错词的操作;显⽰提供替换词的对话框以及实现整个⽂档范围的替换。

”(即开发⼈员需要实现什么)2、课堂上⽼师还举过⼀个⽤户⾃主邮寄快递的例⼦。

需求描述:某快递公司,就希望利⽤快递柜,来实现⽤户⾃助寄件的需求。

业务需求
案例的业务⽅是:快递公司,其业务需求就是:⽤户⾃助寄件。

业务⽅之所以要建设这个需求,其⽬的是:希望利⽤快递柜,实现更⾼效的收件服务,减少⼈⼯上门收件的等待、低效、⼈⼒投⼊成本⾼等问题。

⽤户需求
案例的⽤户是:每⼀个要寄快递的⼈,那么他们的需求就是:在进⾏“⾃助寄件”的过程中,你尽量让我简单、易⽤,⾼效、快捷。

功能需求
⽤户邮寄快递包含三个流程:填写快递单——找到快递柜⼦放快递——⽀付邮费
所以我们可以分别从这三个阶段具体的分析出功能需求:
填写快递单:⼀键登录、默认发货地址等。

找柜⼦放快递:验证码开启柜⼦、柜⼦使⽤概览等具体功能。

⽀付邮费:根据柜⼦体积制定相应价格等。

所以,在需求分析的过程中,我们⾸先要充分理解组织⽅的业务需求,在深⼊了解系统⽤户具体任务的需求,在经过详细的需求分析后,将业务需求和⽤户需求推理转化为系统的具体功能,即功能需求。

相关文档
最新文档