第1章需求工程概述_第1页
第1章需求工程概述_第2页
第1章需求工程概述_第3页
第1章需求工程概述_第4页
第1章需求工程概述_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 需求工程概述,2021/3/29,2,第一章需求工程概述,1.1需求工程的重要性 1.2什么是软件需求 1.3软件需求的分类 1.4需求规格说明 1.5需求工程 1.6其它一些基本概念,3,一幅漫画带来的思考,4,CHAOS Report,美国专门从事跟踪IT项目成功或失败的权威机构Standish Group在它每年的CHAOS Report报告中给出了IT项目相关调查数据结果。 Success:软件项目按时、按预算完成、并符合要求 Challenged:延期完成、成本超出计划、并没有满足所有要求 Failed:被取消、未能完成配置、不可使用,5,1.1需求工程的重要性,软件开发的风

2、险 软件项目成功因素的前三名: 用户的参与 执行层的支持 清晰的需求描述 软件项目失败或严重超支的8个最重要原因中有5个都与需求相关: 不完整的需求; 缺乏用户的参与; 不实际的客户期望; 需求和需求规格说明的变更; 提供许多不必要的功能。,6,1.1需求工程的重要性,因需求导致的软件项目失败案例 伦敦股票交易项目TAURUS 原因:未能协调不一致需求 Swanick空中交通抗旨系统 原因:缺乏健壮的需求规格说明而继续进行系统实现 需求与成本 Davis A. M.研究发现,在需求阶段检查和修复一个错误所需的费用只有编码阶段的1/5到1/10,而在维护阶段做同样的工作所需付出的代价却是编码阶段

3、的20倍。 结论 在软件开发过程中,必须极早、有效地发现和解决与需求相关的问题。,7,1.2什么是软件需求,软件需求的各种定义 (1)A. Davis认为: 软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。 (2)I. Sommerville认为: 需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。 (3) M. Jackson等人认为: 需求是客户希望在问题域内产生的效果。,8,1.2什么是软件需求,IEEE关于软件需求的定义 用户解决问题或达到目标所需的条件或能力(用户的角度 ) 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条

4、件或能力(软件系统的角度 ) 反映上面所描述的条件或能力的文档说明(规约) 需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束,1.3软件需求的分类,目标需求 系统建立的战略出发点,表现为高层次的目标(Objective),它描述了组织为什么要开发系统 参与各方必须要对高层次的解决方案达成一致,以建立一个共同的前景(Vision) 业务需求 执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么 特性 模糊、不清晰 多特性混杂 多逻辑混杂 系统需求 用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务

5、需求 系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么,11,1.3软件需求的分类,软件需求间的层次关系,功能需求和约束与限制,功能需求 它是对系统应该提供的服务、功能以及系统在特定条件下的行为的描述。它与软件系统的类型、使用系统的用户等相关,有时需要详细描述系统的功能、输入/输出、异常等,有时还需要声明系统不应该做什么。 约束与限制 它是由软件系统的应用领域所决定的特有的功能需求或是对功能的约束。,2021/3/29,14,非功能需求,非功能需求(Requirements)有时也被称作“非功能属性”(Attributes)、“质量属性”(Quality

6、Attributes) 定义: N. S. Rosa:软件的功能性需求定义了一个软件期望做“什么”,而非功能需求则指定了关于软件“如何”运行和功能“如何”展示的全局限制。 R. Thayer:一种明确说明一个系统/软件系统或者系统/软件构件必须要达到的运行能力的系统/软件需求。,15,维度划分的非功能需求分类,16,软件质量属性特征树,17,面向服务的非功能需求分类,18,1.3软件需求的分类,示例 某文字处理系统的相关部分需求,目标需求:用户使用系统能有效地纠正文档中的拼写错误,并且系统能满足用户的业务要求以及提高用户的工作效率。 业务需求:当找到文档中的拼写错误时,通过一个可供选择的单词表

7、,并在选择单词表中的某一个单词后替换掉原来的单词。 功能需求:查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表。实现整个文档范围内的替换。 非功能需求:检查单词的速度快,准确率要求达到99,系统的有效性和可靠性要高等。 约束与限制:文件内部格式要与word系统一致。开发平台为Linux系统,以及使用C语言等。,19,1.4需求规格说明,需求规格说明 需求规格说明是软件所应满足的全部需求,并可以文档的方式完整和精确陈述这些需求。 重要性 需求规格说明是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文

8、档。,20,1.4需求规格说明,内容 需求规格说明应精确地描述一个软件系统必须提供的功能和性能,以及所要考虑的约束条件与限制。 编写方法 需求规格说明也可以说是在1.3节中所定义的所有软件需求的集成,并使用某种描述语言如自然语言按照规定的书写格式编写的文档。,21,1.4需求规格说明,一个好的需求规格说明应该具有的特征 完整性 正确性 可行性 必要性 划分优先级 无二义性 可验证性,22,1.5需求工程,需求工程 需求工程是指应用工程化的方法、技术和规格来开发和管理软件的需求 目的 获取高质量的软件需求,需求工程,需求开发,需求管理,24,1.5需求工程,任务 确定待开发的软件系统的用户类,并

9、获取他们的需求信息。 分析用户的需求信息,并按软件需求的类型分类这些需求信息,同时也区别出不是需求的信息。 根据软件需求信息建立软件系统的逻辑模型或需求模型,并确认非功能需求和约束条件及限制(建模) 根据收集的需求信息和逻辑模型编写需求规格说明及其文档(规约) 评审需求规格说明(检验与验证) 当需求发生变更时,对需求规格说明及需求变更实施进行管理。,25,1.6其它一些基本概念,用户(user) 利用计算机系统所提供的服务的人(们); 直接操作计算机系统的人(们),简单地说,就是直接使用软件系统的人(们)。 客户(customer)。 掌握经费的人(们),通常由他(们)决定软件需求,客户可以是用户,也可以不是用户。 正式接收新开发或修改后的硬件和软件系统的某个(些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论