软件详细设计第4章软件需求工程.ppt

  1. 1、本文档共139页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 软件需求工程 4.1 软件需求概述   人们对“软件需求”这个术语缺乏统一的描述,客户所说的“需求”在开发人员看来是一个较高层次的产品概念,而开发人员所说的“需求”在用户看来又像是详细设计。应该说,人们从不同的角度和不同的程度反映着各自的要求,形成了不同层次的需求。   《IEEE Standard Glossary of Software Engineering Terminology》给出了有关软件需求的如下定义:   ① 用户解决问题或达到目标所需的条件或能力。   ② 系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力。   ③ 一种反映上面①或②所描述的条件或能力的文档说明。   在IEEE的定义中,需求的概念涵盖了用户角度(系统的外部行为)和开发人员角度(系统的内部特性)两个方面,其中的关键在于需求一定要文档化。   通常,软件需求可以划分为业务需求、用户需求、功能需求和非功能需求、系统需求等类型,它们之间的相互关系如图4.1所示。 图4.1 不同层次的软件需求及其关系 4.1.1 业务需求   业务需求是组织或客户对于系统的高层次目标要求,定义了项目的远景和范围,即确定软件产品的发展方向、功能范围、目标客户和价值来源。通常,业务需求应该涵盖以下内容:   ● 业务:产品属于哪类业务范畴?应该完成什么功能?需要为什么服务?   ● 客户:产品为谁服务?目标客户是谁?   ● 特性:产品区别于其他竞争产品的特性是什么?   ● 价值:产品的价值体现在什么方面?   ● 优先级:产品功能特性的优先级次序是什么?   下面是一些关于图书资料管理系统的业务需求实例:   ● 该系统使用计算机实现图书资料的日常管理,提高工作效率和服务质量;   ● 该系统可以让用户在网络上查询和浏览一些电子资料,改变原有的借阅模式;   ● 由于版权的限制,某些电子资料只能让用户浏览和打印而不能下载。   业务需求代表了项目参与者在产品所满足的业务需要和产品所提供的利益上的统一共识,清楚地界定了产品应该包括什么和不应该包括什么,为后续详细功能需求的确定和需求变更的决策等提供了参考。   项目的远景和范围应该以文档形式描述出来。这种文档一般比较简短,可能只有1~5页,它主要包括业务机会、项目目标、产品适用范围、客户特点、项目优先级和项目成功因素等。下面给出该文档的一种模板。 4.1.2 用户需求   用户需求是从用户角度描述的系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。用户需求的描述应该易于用户的理解,一般不采用技术性很强的语言,而是采用自然语言和直观图形相结合的方式进行描述。   下面给出一个用户对于图书资料管理系统提出的需求描述的实例,请指出它有什么问题。   用户可以通过Internet随时查询图书信息和个人借阅情况,并可以快捷地查找和浏览所需要的电子资料。   首先,上面一句话的需求描述显然包含了3个不同的需求:   (1) 用户可以通过Internet随时查询图书信息;   (2) 用户可以通过Internet随时查询个人借阅情况;   (3) 用户可以通过Internet快捷地查找和浏览所需要的电子资料。   其次,上面描述中的“随时”和“快捷”是对系统功能的约束,但十分模糊,不同的人会对它们产生不同的理解。   上面的实例说明,使用自然语言进行需求描述容易产生含糊不清和不准确的问题,而且多个不同的需求往往混合成一个需求提出。因此,清晰的文档结构和适当的语言表达对于用户需求的描述是十分重要的。 4.1.3 功能需求和非功能需求   功能需求描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。   下面是一些关于图书资料管理系统的功能需求实例:   ● 用户可以从图书资料库中查询或者选择其中的一个子集;   ● 系统可以提供适当的浏览器供用户阅读馆藏文献;   ● 用户每次借阅图书应该对应一个唯一的标识号,它被记录到用户的账户上。   注意一下以上的需求描述,“适当的浏览器”存在着含糊不清的问题。在用户看来,这个需求意味着浏览器可以支持所有格式的文档。但是,开发人员可能迫于开发进度的压力,只实现支持一种文本格式的浏览器。   非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性等。在图4.2中,非功能需求包括过程需求、产品需求和外部需求等类型,其中过程需求包含软件交付、实现方法和标准等方面的需求;产品需求包含软件性能、可用性、存储空间、可靠性、可移植性、安全性、容错性等方面的需求;外部需求有道德、法规、成本、互操作性等需求。 图4.2 非功

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档