【实用软件工程】软件维护.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文档。上传文档
查看更多
第十一章 软件维护 大约20年前,软件工程人员对做完的程序将不再关心,犹如过时的报纸,程序被束之高阁或弃而不问。到1988年,软件界第一次提出“千年虫问题”,工程人员不得不从洪水般的源代码中去寻找“时间变量”。虽然,所需修改的仅仅是变量的类型或长度,但在全球的软件行业中却掀起了巨大的波澜。 由此可见,软件投入运行后,进行一定的修改和维护是必不可少的。软件维护是软件生命周期的最后一个阶段,最长的一个阶段,也是最为重要的一个阶段,软件维护工作的好坏直接影响到软件使用的成功与否。 对于软件维护工作,我们要有正确的认识,其一、从工作量的角度看,软件维护往往会花费软件开发组织的大量时间,随着用户对软件需求的不断变化及软件环境的改变,软件维护的工作量逐渐递增。当今软件开发人员和维护人员匮乏,如何利用有限的软件工程技术人员去满足节节攀升的软件维护需求是一个亟待解决的严峻问题。其二、从资金投入的角度看,软件属产品范畴,但又不同于普通商品,软件在投入运行后需要追加大量的维护资金,投入量大约是开发成本的四、五倍,甚至更高。 本章我们将主要谈谈软件维护的基本概念和软件维护的过程,以及如何提高软件的可维护性、降低软件维护的时间、经济成本和软件维护的发展趋势。 第一节 软件维护的基本概念 一、软件维护的定义 所谓软件维护(Software Maintenance)就是在软件已经交付使用之后,为了改正错误或满足用户新的需要而修改软件的过程。软件在投入运行之前,往往要经过严格的测试,但事实表明,测试阶段不可能完全暴露软件潜在的错误。同时,用户的需求是发展的,软件能充分满足用户需求是软件工程人员追求的最高目标,也是软件生命力所在。 据《美国程序员》杂志1995年7月提供的统计资料,全球大约5/6的软件项目存在失败的部分。所以,软件维护是任何软件生命周期必不可少的阶段,忽视软件维护的软件工程是盲目的、危险的。 当今信息技术发展迅猛,计算机软硬件的升级频率越来越快,网络等通讯技术突飞猛进,增加了软件系统环境的复杂性,也使软件维护的方式产生了根本性的变化。诸如电话提供解决方案、定期上门维护和网上指导性维护等方式已经逐渐成为当今软件维护的主要方式。 二、软件维护的分类 ANSI/IEEE在20世纪80年代从软件维护类型的角度给出了软件维护的定义:“软件维护是指软件成品提供使用后,为了修改差错、改善功能和性能、适应环境变化而进行的软件修正。”这个对软件维护的定义给出了软件维护的分类。 软件维护通常包括四类: 为了纠正在使用过程中暴露出来的错误而进行的改正性维护; 为了适应外部环境的变化而进行的适应性维护; 为了改进原有的软件而进行的完善性维护; 以及为了提高可维护性和可靠性而进行的预防性维护。 (一)正确性维护(corrective maintenance) 正确性维护又称改正性维护,其主要任务是完成软件潜在错误的改正。 (二)适应性维护(adaptive maintenance) 适应性维护指为适应软件的外界环境变化而进行的修改,它是由软件生存的环境变化引起的。任何系统总是存在于一定的环境之中,环境与系统相辅相成、相互作用。 对软件来说,环境变化源于以下几个方面: (1)用户需求变化。 随着企业业务的不断变化和发展,原系统业务流程图已不能准确描述现有企业业务状况,因此,既存软件系统已经无法完全满足用户的需求,原系统的数据变量定义和相关算法要做适当修改。例如,国家税费调整、电话区号调整及千年虫问题等等。 (2)软件环境的变化。 其一、硬件和操作系统更新。软件运行的平台变化是软件适应性维护的主要因素之一。由于硬件的更新换代,拓宽了软件的运行空间,为软件运行效率的提高提供了基础,不对软件进行适应性维护将对硬件资源造成巨大的浪费。同时,高版本操作系统的推出,导致了大量应用型软件与操作系统的冲突,必须对现有软件进行适应性维护。其二、系统运行环境的变化。如由主机方式变为客户/服务器方式,由客户/服务器方式变为Web方式,这时的系统体系结构必须做相应的改变。 (3)开发环境的升级。 譬如现在常用的VC++、PowerBuilder等开发环境的升级换代如同操作系统一样频繁发生,这样也会对系统提出适应性维护需求。 (三)完善性维护(perfective maintenance) 完善性维护指为扩充系统的功能和改善系统性能而进行的修改,一般包括增加或修改功能,提高系统的安全性、处理能力等任务。完善性维护通常需要用户领域的介入,并且是一个带反馈的反复的功能追加过程。从现实情况来看,现阶段软件维护的主要形式是完善性维护,据有关统计数据表明:全部维护活动的50%到70%是完善性维护。 (四)预防性维护(preventive maintenance)

文档评论(0)

精品资料 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档