- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 主编 曹哲 高诚 中国水利水电出版社 第13章 软件维护 了解维护的概念,掌握四类维护 了解维护过程、软件的可维护性 第13章 软件维护 软件维护是软件生命周期的最后一个阶段,软件从部署完毕到退役的整个时间内对软件的改动所做的工作都是维护的内容。 在项目的各个阶段对项目的可维护性进行充分考虑、对可维护性的严格评审以及在维护阶段有效地组织和管理维护活动,则是保证软件可维护性和降低维护费用的关键。 本章重点内容:维护的主要内容、维护的流程、如何在软件的生产过程各个阶段保证软件的可维护性目标。 13.1 软件维护概述 软件维护的主要目标是使已部署的软件按照需求规格说明书的要求(或用户的新需求)运行,这要求软件不仅要满足用户所需要的各项功能需求,同时还要满足用户对软件的非功能需求。软件维护的基本内容则包含了实现这些目标所做的全部工作。 13.1.1 软件维护的定义 按照维护的起因分类: 纠错性维护 适应性维护 改善性维护 预防性维护四类。 1. 纠错性维护——为改正软件系统中潜藏 的错误而进行的活动。 用户在使用软件过程中发现软件的错误是激发该种维护的起因。 13.1.1 软件维护的定义 2. 适应性维护——为适应软件运行环境的 变化而修改软件的活动。 软件的运行环境包括两个方面,硬件和软件,软件则大体上包括操作系统、中间件、虚拟机等等。 13.1.1 软件维护的定义 3. 改善性维护——根据用户在软件使用过程中提出的建设性意见而进行的维护活动。 主要是针对用户提出的新的软件需求或修改原有的软件需求而进行的维护,该种维护通常占所有维护工作量的一半以上。软件在部署之后一段时间内,用户的改善性维护应该是递减的。 13.1.1 软件维护的定义 4. 预防性维护——为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。 预防性维护可以采取逆向工程(reverse engineering)和重构工程(re-engineering)方式。 13.1.1 软件维护的定义 严格按照软件工程标准生产的软件产品在维护过程中纠错性维护的工作量很低,不到总维护工作量的1/5。 由于改善性维护和适应性维护需要修改需求规格说明书,应按照需求变更来进行管理,相当于螺旋模型中的又一次迭代过程,因此工作量很大。 13.1.2 影响维护工作的因素 1.系统大小 系统越大,越复杂,维护人员理解起来就越困难。因而需要更多的维护工作量。可用源程序语句数,输入输出文件数,实现的功能模块数量来衡量系统的大小。 2.系统的开发文档 系统的开发文档完善,维护工作就好做很多。开发文档不完善,则维护的工作量将会很大,因为要通过源程序去阅读,理解一个程序的功能和设计思想将是非常困难的。 3.其他因素 在程序中使用的数学模型、任务的难度、IF嵌套深度、索引或下标数等,对维护工作量都有影响。 13.1.3 维护成本 软件的维护成本体现为有形和无形两类。有形的软件维护成本是花费了多少钱,无形的成本是对其他方面的影响,可以是以下几种: (1)维护不及时和不能满足用户新的功能需求,使得用户不满意。 (2)在维护时因引入了新的错误,使软件整体质量下降,从而造成更大的维护活动。 (3)当必须把软件人员抽调到维护工作中去时,影响正在进行的软件开发工作。 软件维护的代价是在生产率(用LOC/PM或功能点/PM度量)方面惊人的下降。有报告说,生产率将降到原来的1/40。维护工作量可以分成生产性活动(如分析和评价,设计修改和实现)和“轮转”活动(如力图理解代码在做什么、试图判明结构、接口特性、性能界限等)。 13.2 软件可维护性 对于一个复杂的软件系统,造成维护工作十分困难的一个直接原因是缺乏软件开发文档。因为没有足够的、规范的文档,很难理解以前的软件的功能、算法,很难阅读和理解源程序。但实际上,最根本的原因是没有严格按照软件工程的规范和标准来开发软件,在维护时也没有按照规范来做,为以后的维护带来了更多的问题。所以,为了使得软件能够易于维护,首先必须考虑使软件具有可维护性。 13.2.1 软件可维护性的定义 可维护性、可使用性、可靠性是衡量软件质量的几个主要质量特性,也是用户十分关心的几个方面。软件的可维护性是软件开发阶段各个时期的关键目标。目前广泛使用的是如下的七
您可能关注的文档
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第9章 面向对象软件的测试.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第14章一个自动测试实战项目案例(曹炼).ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第八章 软件测试与软件开发过程.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第二章测试原理.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第六章 单元测试.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第七章 系统测试与集成测试.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第十二章 自动测试工具QTP的使用.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第十一章软件测试工具.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第十章 软件测试自动化.ppt
- 软件测试技术教程 教学课件 作者 徐光侠 韦庆杰 第四章 黑盒测试技术.ppt
- 软件工程曹哲电子教案 第14章.ppt
- 软件工程导论 教学课件 作者 陈明 01第一章 概述.ppt
- 软件工程导论 教学课件 作者 陈明 02第二章 可行性研究.ppt
- 软件工程导论 教学课件 作者 陈明 03第三章 需求工程.ppt
- 软件工程导论 教学课件 作者 陈明 04第四章 概要设计.ppt
- 软件工程导论 教学课件 作者 陈明 05第五章 详细设计.ppt
- 软件工程导论 教学课件 作者 陈明 06第六章 面向对象的分析和设计方法.ppt
- 软件工程导论 教学课件 作者 陈明 07第七章 编码.ppt
- 软件工程导论 教学课件 作者 陈明 08第八章 软件质量与质量保证.ppt
- 软件工程导论 教学课件 作者 陈明 09第九章 项目计划与管理.ppt
文档评论(0)