第8章 软件维护_1.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文档。上传文档
查看更多
第8章:维护 软件维护是软件生命周期的最后一个阶段。 它的任务是:维护软件的正常运行,不断改进软件的性能和质量,为软件的进一步推广应用和更新替换做积极工作。 软件维护所需的工作量非常大,一般说来,大型软件的维护成本高达开发总成本的四倍左右。目前,软件开发组织把60%以上的工作量用于维护自己的软件上。 问题:软件交付使用 软件验收测试以后,就标志着软件设计开发阶段的结束。 而软件交付用户使用,才真正标志漫长的维护阶段的开始。? 软件交付使用就是新系统和旧系统的转换。 旧系统可能是人工作业系统,也可能是某个旧的计算机系统。 软件交付应该是一个过程,而不是一个突然事件,软件的交付使用应尽可能平稳过渡,不影响生产或工作,新系统逐步安全地取代旧系统。 一、软件交付使用的工作 1)将旧系统的数据转换到新系统(如数据库数据); 2)新系统调试完成并加载入机器,准备运行; 3)将有关资料(如使用说明)转交给用户; 4)对用户做适当的培训。 二、软件交付使用的方式 1)直接方式 由于新系统没有承担过实际工作,可能会出现意想不到的问题,甚至出现程序设计错误。 因此,实际应用时,采取一些措施,以便新系统一旦出错,旧系统能够恢复运行。 直接方式不适用于一些关系重大的系统。 2)并行方式 优点: A. 可以对系统进行全面测试,减少了新系统失灵带来的风险,因为旧系统也仍然存在; B.用户也能够有一段熟悉新系统的时间。 缺点: 所需费用较高,双系统要投入更多的人力财力。 3)逐步方式 逐步方式是将软件分期,部分地交付使用。这种方式克服了上面两种方式的缺点,既能防止直接转换产生的危险性,又能减少并行方式的费用。 但是这种方法使得整个系统中一部分是旧系统,一部分是新系统,所以必须考虑好它们的相互配合问题和接口问题。 8.1 软件维护的定义 通常要求进行软件维护的原因有三种: 1)改正在特定使用条件下暴露出来的一些潜在程序错误或设计缺陷; 2)因在软件使用过程中数据环境发生变化(如所要处理的数据发生变化)或处理环境发生变化(如硬件或软件操作系统等发生变化),需要修改软件,以适应这种变化; 3)用户和数据处理人员在使用时常提出改进现有功能、增加新功能、以及改善总体性能的要求,为满足这些要求,需要修改软件。 1)改正性维护 交付给用户使用的软件,即使通过严格的测试,仍可能有一些潜在的错误在用户使用的过程中发现和修改。诊断和改正错误的过程称为改正性维护。 2)适应性维护 随着计算机的飞速发展,新的硬件系统和外部设备时常更新和升级,一些数据库环境、数据输入/输出方式、数据存储介质等也可能发生变换。为了使软件适应这些环境变化而修改软件的过程叫做适应性维护。 3)完善性维护 在软件投入使用过程中,用户可能还会有新的功能和性能要求,可能会提出增加新功能、修改现有功能等要求。为了满足这类要求而进行的维护称为完善性维护。 4)预防性维护 为了改进软件未来的可维护性或可靠性,或者为了给未来的改进奠定更好的基础而进行的修改,称为预防性维护。 这种维护活动在实践中比较少见。 在各类维护中,完善性维护占软件维护工作的大部分。 根据国外的数据统计表明,完善性维护占全部维护活动的50%~66%,改正性维护占17%~21%,适应性维护占18%~25%,其它维护活动占4%左右。 8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护的差别 1. 非结构化维护 软件配置的唯一成分是代码,维护从评价程序代码开始,对软件结构、数据结构、系统接口、设计约束等常产生误解,不能进行回归测试,维护代价大。 2. 结构化维护 有完整的软件配置,维护从评价设计文档开始,确定软件结构、性能和接口特点,先修改设计,接着修改代码,再进行回归测试。 软件维护的代价表现为有形代价和无形代价。 有形代价指软件维护的费用开支。 70年代,用于软件维护的费用只占软件总预算的30%~40%,80年代上升到60%左右,90年代许多软件项目的维护经费预算达到了80%。 无形代价: 1)当一些看起来合理的要求不能及时满足时,会引起用户的不满; 2)改动软件可能会引入新的错误,使软件质量下降; 3)把许多软件工程师调去从事维护工作,势必影响开发工作。 软件维护所花费的工作量,一部分用于生产性活动,如分析、评价、修改设计、编写程序等;另一部分用于非生产性活动,如理解代码的含义、解释数据结构和接口特点等。 Belady和Lehman提出了一种维护工作量模型: M=P+

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档