- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 软件维护 学习目标 掌握软件维护的概念及类型 掌握软件维护的过程 掌握软件维护的可维护性 掌握提高软件可维护性的途径 第5章 软件维护 教学内容: 5.1 软件维护概述 5.2 软件维护的过程 5.3 软件的可维护性 5.4 提高可维护性的途径 5.5 逆向工程和再工程 本章小结 5.1 软件维护概述 5.1.1 软件维护的基本概念 把软件运行/维护阶段对软件产品所作的修改定义为软件维护。 进行软件维护的原因有很多,主要有以下几个方面: 改正在特定的使用条件下暴露出来的一些潜在的程序错误或程序设计缺陷。 在软件使用过程中数据环境发生了变化(如事务处理代码发生改变)或处理环境发生了变化(如安装了新的硬件或操作系统),需要对软件进行修改以适应这种变化的需求。 用户和数据处理人员在使用软件时需要改进现有的功能、增加新的功能、改善总体性能等,为满足这些要求,需要对软件进行修改以便把这些要求纳入到软件之中。 5.1 软件维护概述 5.1.2 软件维护的种类 软件维护是为了满足用户对已开发产品的性能与运行环境不断提高的需要,达到延长软件的寿命的目的。按照这一目标,维护分如下几类: 1.改正性维护(Corrective Maintenance) 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,而应当进行的诊断和改正错误的过程,就叫做改正性维护。 2.适应性维护(Adaptive Maintenance) 随着计算机技术的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应变化,修改软件的过程叫做适应性维护。 5.1 软件维护概述 3.完善性维护(Perfective Maintenance) 软件在使用的过程中,用户常常会对软件提出新的功能与性能的要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性,这种情况下进行的维护活动叫做完善性维护。 4.预防性维护(Preventive Maintenance) 为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义为:“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分进行(重新)设计、编制和测试。 5.1 软件维护概述 在整个软件维护阶段所花费的全部工作量中,预防性维护只占很小的比例,而完善性维护占了几乎一半的工作量,参看图5.1。 5.1 软件维护概述 5.1.3 影响软件维护工作量的因素 维护中,影响维护工作量的程序特性有以下几种: (1)系统的大小 (2)程序设计语言 (3)系统年龄 (4)数据库技术的应用 (5)先进的软件开发技术 (6)其他方面 此外,许多软件在开发时并未考虑将来的修改,这就为软件的维护带来许多问题。 5.1 软件维护概述 5.1.4 软件维护的策略 James Martin等提出了一些维护策略,以控制维护成本。 1.改正性维护 要生成100%可靠的软件,成本太高。可通过新技术提高可靠性,减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件开发环境、程序自动生成系统、较高级(第四代)的语言。应用以上4种方法可产生更加可靠的代码。此外: (1)利用应用软件包,可开发出可靠性更高的软件。 (2)结构化技术。用它开发的软件易于理解和测试。 (3)防错性程序设计。把自检能力引入程序,通过检查,提供审查跟踪。 (4)通过周期性维护审查,在形成维护问题之前就可确定质量缺陷。 5.1 软件维护概述 2.适应性维护 这一类维护不可避免,但可以控制。 (1)在配置管理时,把硬件、操作系统和其他相关环境因素的可能变化考虑在内,可以减少某些适应性维护的工作量。 (2)把与硬件、操作系统,以及其他外围设备有关的程序归到特定的程序模块中;把因环境变化而必须修改的程序局部于某些程序模块之中。 (3)使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。 5.1 软件维护概述 3.完善性维护 利用前两类维护中列举的方法,也可以减少这一类维护。特别是数据库管理系统、程序生成器、应用软件包,可减少系统或程序员的维护工作量。此外,建立软件系统的原型,把它在实际系统开发之前提供给用户。用户通过研究原型,进一步完善他们的功能要求,就可以减少以后完善性维护的需要。 5.1 软件维护概述 5
您可能关注的文档
- 软件工程电子教案景秀丽 第2章 软件可行性研究.ppt
- 软件工程电子教案景秀丽 第4章 软件总体设计.ppt
- 软件工程电子教案景秀丽 第5章 软件详细设计.ppt
- 软件工程电子教案景秀丽 第6章 面向对象技术.ppt
- 软件工程电子教案景秀丽 第7章 统一建模语言.ppt
- 软件工程电子教案景秀丽 第8章 程序编码.ppt
- 软件工程电子教案景秀丽 第9章 软件测试.ppt
- 软件工程电子教案景秀丽 第11章 软件重用技术.ppt
- 软件工程电子教案景秀丽 第12章 软件项目计划与管理.ppt
- 软件工程电子教案景秀丽 第13章 软件开发工具与环境.ppt
- 软件工程——原理、方法与应用(第二版)肖孟强电子教案 06.ppt
- 软件工程——原理、方法与应用(第二版)肖孟强电子教案 07.ppt
- 软件工程——原理、方法与应用(第二版)肖孟强电子教案 08.ppt
- 软件工程——原理、方法与应用(第二版)肖孟强电子教案 09.ppt
- 软件工程——原理、方法与应用(第二版)肖孟强电子教案 10.ppt
- 软件工程——原理、方法与应用肖孟强 曲秀清电子教案 1第1章 教学课件 作者.ppt
- 软件工程——原理、方法与应用肖孟强 曲秀清电子教案 3第3章需求分析 教学课件 作者.ppt
- 软件工程——原理、方法与应用肖孟强 曲秀清电子教案 4第四章面向对象技术 教学课件 作者.ppt
- 软件工程——原理、方法与应用肖孟强 曲秀清电子教案 5第五章UML 教学课件 作者.ppt
- 软件工程——原理、方法与应用肖孟强 曲秀清电子教案 6第6章编码 教学课件 作者.ppt
文档评论(0)