- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 需求工程概述 第一章需求工程概述 1.1需求工程的重要性 1.2什么是软件需求 1.3软件需求的分类 1.4需求规格说明 1.5需求工程 1.6其它一些基本概念 1.1需求工程的重要性 软件开发的风险 项目失败或严重超支的8个最重要原因中有5个都与需求相关: 不完整的需求; 缺乏用户的参与; 不实际的客户期望; 需求和需求规格说明的变更; 提供许多不必要的功能。 1.1需求工程的重要性 示例 伦敦股票交易项目TAURUS 。 原因:缺乏健壮的需求规格说明而继续进行系统实现。 1.1需求工程的重要性 需求工程的重要性 Davis A. M.研究发现,在需求阶段检查和修复一个错误所需的费用只有编码阶段的1/5到1/10,而在维护阶段做同样的工作所需付出的代价却是编码阶段的20倍。 结论 在软件开发过程中,必须极早、有效地发现和解决与需求相关的问题。 1.2什么是软件需求 软件需求的各种定义 (1)A. Davis认为: 软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合。 (2)I. Sommerville认为: 需求是问题信息和系统行为、特性、设计和实现约束的描述的集合。 (3) M. Jackson等人认为: 需求是客户希望在问题域内产生的效果。 1.2什么是软件需求 IEEE关于软件需求的定义 (1)用户解决问题或达到目标所需的条件或能力;(用户的角度 ) (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(软件系统的角度 ) 1.3软件需求的分类 软件需求的分类 (1)目标需求; (2)业务需求; (3)功能需求; (4)性能需求; (5)约束与限制。 1.3软件需求的分类 软件需求间的层次关系 1.3软件需求的分类 示例 下面我们通过与文字处理系统相关的部分需求来说明需求的分类 。 1.4需求规格说明 需求规格说明 需求规格说明是软件所应满足的全部需求,并可以文档的方式完整和精确陈述这些需求。 重要性 需求规格说明是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文档。 1.4需求规格说明 内容 需求规格说明应精确地描述一个软件系统必须提供的功能和性能,以及所要考虑的约束条件与限制。 编写方法 需求规格说明也可以说是在1.3节中所定义的所有软件需求的集成,并使用某种描述语言如自然语言按照规定的书写格式编写的文档。 1.4需求规格说明 一个好的需求规格说明应该具有的特征 完整性。 正确性。 可行性。 必要性。 划分优先级。 无二义性。 可验证性。 1.5需求工程 需求工程 需求工程是指应用工程化的方法、技术和规格来开发和管理软件的需求。 目的 要获取高质量的软件需求。 1.5需求工程 任务 确定待开发的软件系统的用户类,并获取他们的需求信息。 分析用户的需求信息,并按软件需求的类型分类这些需求信息,同时也区别出不是需求的信息。 根据软件需求信息建立软件系统的逻辑模型或需求模型,并确认非功能需求和约束条件及限制。 根据收集的需求信息和逻辑模型编写需求规格说明及其文档。 评审需求规格说明。 当需求发生变更时,对需求规格说明及需求变更实施进行管理。 1.6其它一些基本概念 用户(user)。 利用计算机系统所提供的服务的人(们); 直接操作计算机系统的人(们),简单地说,就是直接使用软件系统的人(们)。 客户(customer)。 掌握经费的人(们),通常由他(们)决定软件需求,客户可以是用户,也可以不是用户。 正式接收新开发或修改后的硬件和软件系统的某个(些)人或组织。 1.6其它一些基本概念 软件开发人员(supplier)。 为客户开发软件系统的人。 项目相关人员(stakeholder)。 指与提出和定义软件需求相关的人,其包括所有的用户、客户和软件开发人员。这些人都是软件需求的来源,只是他们站在不同的立场看待将要开发的软件系统。 * * 目标需求:用户使用系统能有效地纠正文档中的拼写错误,并且系统能满足用户的业务要求以及提高用户的工作效率。 业务需求:当找到文档中的拼写错误时,通过一个可供选择的单词表,并在选择单词表中的某一个单词后替换掉原来的单词。 功能需求:查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表。实现整个文档范围内的替换。 非功能需求:检查单词的速度快,准确率要求达到99%,系统的有效性和可靠性要高等。 约束与限制:文件内部格式要与word系统一致。开发平台为Linux系统,以及
文档评论(0)