第六章师 软件维护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 软件维护 [本章要求] 1 软件维护的概念 2 软件维护的活动 3 程序修改的步骤及修改的副作用 4 软件的可维护性 5 提高维护性的方法 6 逆向工程和再工程 7 软件配置管理 6.1 软件维护的概念 6.1.1 软件维护的定义 软件维护是在软件已交付给用户使用后,为了改正错误,或者满足用户新的需求而修改软件的过程。软件维护的原因多种多样,归纳起来主要有三种类型:(改正性、适应性和扩充性) (1)改正在特定的使用条件下暴露出的一些潜在程序错误或设计缺陷; (2)因为在软件使用过程中数据环境发生变化(例如一个事务处理代码发生改变)或处理环境发生变化(例如安装了新的硬件或操作系统),需要修改软件以适应这种变化。 (3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能要求,就需要修改软件把这些要求归纳到软件中。 由上面的原因而引起的软件维护活动可归纳为如下几类: 1)改正性维护(20%):在软件交付使用后,由于开发时测试的不完全、不彻底,必然有一部分隐藏的错误被带到运行阶段来。这些隐藏下来的错误在某些特定的使用环境下就会暴露。为了识别和纠正软件错误,改正软件性能上的缺陷,排除实施中的误使用,应当进行的诊断和改正错误的过程。 2)适应性维护(25%):随着计算机的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了适应这种变化,而去修改软件的过程。 3)完善性维护(50%):在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能,增强软件性能、改进加工效率,提高软件的可维护性。 在维护阶段的最初一两年,改正性维护的工作量较大。随着错误发现率急剧降低,并趋于稳定,就进入了正常使用期。然而,由于改造的要求,适应性维护和完善性维护的工作量逐渐增加,在这种维护过程中又会引入新的错误,从而加重了维护的工作量。实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。 4)预防性维护(5%): 为了提高软件的可靠性、可维护性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义为:把今天的方法学用于昨天的系统以满足明天的需要。也就是说,采用先进的软件工程方法对需要维护的软件或软件中某一部分(重新)进行设计、编制和测试。 在整个软件维护阶段所花费的全部工作量中,预防性维护只占很小的比例,而完善性维护占几乎一半的工作量。软件维护活动所花费的工作占整个生存周期工作量的70%以上。这是由于在漫长的软件运行过程中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修改需要花费很多精力和时间,而且有时修改不正确,还会引入新的错误,同时,软件维护技术不像开发技术那样成熟、规范化,自然消耗工作量就比较多。 各类维护活动的根本目的是延长软件生存期 6.1.2 影响维护工作量的因素 在软件维护中,影响维护工作量的程序特性有以下6种: (1)系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需要更多的维护工作量。 (2)程序设计语言:使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,生成程序所需要的指令数就越少;语言的能力越弱,实现同样功能所需要语句就越多,程序就越大。 (3)系统年龄:老系统比新系统需要更多的维护工作量。老系统随着不断地修改,结构越来越乱;由于维护人员经常更换,程序又变得越来越难于理解,而且许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档,或文档太少,或在长期的维护过程中文档在许多地方与程序实现变得不一致,这样在维护时就会遇到很大困难。 (4)数据库技术应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。数据库工具可以很方便地修改和扩充报表。 (5)先进的软件开发技术:在软件开发时,若使用能使软件尽管比较稳定的分析与设计技术、及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。 (6)其它:例如,应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引或下标数等,对维护工作量都有影响。 6.1.3 软件维护的策略 控制维护成本: (1) 改正性维护策略 通常要生成100%可靠的软件并不一定合算,成本太高。但通过使用新技术,可大大提高可靠性,并减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件开发环境、程序自动生成系统、较高级的语言。此外, 1)利用应用软件包,可开发出比由用户完全自己已开发的系统可靠性更高的

文档评论(0)

180****9566 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档