第08章 软件维护.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章 维护 8.1 软件维护的定义 8.2 软件维护的特点 8.3 软件维护过程 8.4 软件的可维护性 8.5 预防性维护 8.6 软件再工程过程 8.7 小结 8.1 软件维护的定义 软件维护定义 所谓软件维护 就是在软件已经交付使用之后,为了改正软件错误和满足新的需求,保证软件在相当长的时期能够正常运作所进行的软件活动。 维护的类型有四种: 改正性维护:修改软件改正软件中固有的错误。 适应性维护:修改软件使之适应变化了的运行环境。 扩充与完善性维护:对软件扩充新功能和修改已有功能以满足用户的新要求。 预防性维护:修改软件以满足可能的未来对软件新版本的需求。 改正性维护 --- Corrective Maintenance 在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。 这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,所进行的诊断和改正错误的过程就叫做改正性维护。 适应性维护 --- Adaptive Maintenance 在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。 为使软件适应这种变化,而去修改软件的过程就叫做适应性维护 扩充与完善性维护 --- Perfective Maintenance 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。 这种情况下进行的维护活动叫做扩充与完善性维护。 预防性维护 --- Preventive Maintenance 预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。 预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。 各种维护所占比例 8.2软件维护的特点 8.2.0 影响维护工作量的因素 8.2.1 两种维护方式差别巨大 1. 非结构化维护 2. 结构化维护 8.2.2 维护的代价高昂 8.2.3 维护的问题很多 影响维护工作量的因素 系统大小: 系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需要更多的维护工作量。 程序设计语言: 使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。 系统年龄: 老系统随着不断的修改,结构越来越乱; 维护人员经常更换,程序又变得越来越难于理解; 许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档,或文档太少;在长期的维护过程中文档在许多地方与程序实现变得不一致,在维护时就会遇到很大困难。 影响维护工作量的因素(续) 数据库技术的应用: 使用数据库可以简单而有效地管理和存储用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。 先进的软件开发技术: 在软件开发时,若使用能使软件结构比较稳定的分析与设计技术,及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。 其它因素: 应用的类型、 数学模型、 任务的难度、 开关与标记、IF嵌套深度、索引或下标数等对维护工作量都有影响。 许多软件在开发时并未考虑将来的修改,为软件的维护带来许多问题。 8.2.1 两种维护方式差别巨大 1. 非结构化维护 如果软件没有按照软件工程的方法学进行开发,软件配置不完整,只有程序裸代码,那么维护活动只能从艰苦的代码审查开始,直接修改或编写新的程序代码。这种维护为非结构化维护。 缺少程序内部文档(设计文档、代码文档),使程序难以阅读、难以理解、产生误解,维护难度大;维护的后果也难以预测。 缺少软件测试文档,维护后不能进行回归测试,难以确认维护后的正确性。 2. 结构化维护 如果存在完整的软件配置,那么维护工作可以从审查设计文档开始,确定软件的功能、性能、接口、结构等特征,评估要求的软件改动将带来的影响,作出维护实施方案,进行维护。维护工作将按照修改设计(并评审)、修改或编写新程序代码、按照测试文档进行回归测试、最后交付使用的步骤进行。这种维护为结构化维护。 8.2.2 维护的代价高昂 由于软件的应用范围越来越广,软件的数量多、复杂性高、可靠性和可用性要求高,使得软件维护的费用(有型成本)逐年大大上升。 70’s占35-40%,80’s占40-60%, 90’s占70-80%软件总成本。 在关注有形的软件维护成本(直接花费了多少钱)的同时,必须关注无形的维护成本所产生的的影响: 可用的资源必须供维护任务使用,

文档评论(0)

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

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档