软件工程课件第9章 软件维护.ppt

软件工程课件第9章 软件维护.ppt

ID:57036160

大小:253.50 KB

页数:41页

时间:2020-07-27

软件工程课件第9章 软件维护.ppt_第1页
软件工程课件第9章 软件维护.ppt_第2页
软件工程课件第9章 软件维护.ppt_第3页
软件工程课件第9章 软件维护.ppt_第4页
软件工程课件第9章 软件维护.ppt_第5页
资源描述:

《软件工程课件第9章 软件维护.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章软件维护9.1软件维护的基本概念9.2软件维护的过程9.3软件维护技术9.4软件可维护性9.5逆向工程和再工程9.1软件维护的基本概念软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。软件维护工作处于软件生命期的最后阶段,维护阶段是软件生存期中最长的一个阶段,其费用高达整个软件生命期花费的约60%-70%。因此,应充分认识到维护工作的重要性和迫切性,提高软件的可维护性,减少维护的工作量和费用,延长已开发软件的生命期,以发挥其应有的效益。9.1.1软件维护的定义和目的1、软件维护的定义2、软件维护的目的在运行中发

2、现在测试阶段未能发现的软件错误和设计缺陷;需要改进设计,以增强软件的功能,提高软件的性能;要求已运行的软件能适应特定的硬件、软件、外部设备和通信设备等的工作环境,或是要求适应已变动的数据或文件;为使投入运行的软件与其他相关的程序有良好的接口,以利于协同工作;为使运行软件的应用范围得到必要的扩充。由于软件的发展非常迅速,显然,对软件进行维护的目的是为了纠正软件开发过程未发现的错误,增强、改进和完善软件的功能和性能,以适应软件的发展,延长软件的寿命。通常要求进行维护的主要原因有:完善性维护(PerfectiveMaintenance)纠错性维护(C

3、orrectiveMaintenance)适应性维护(AdaptiveMaintenance)预防性维护(PreventiveMaintenance)按照不同的维护目的,维护工作可分成4类。9.1.2软件维护的分类(1)完善性维护扩充原有系统的功能,提高系统的性能,提高软件运行的效率,满足用户的实际需要而进行的维护活动。当一个软件系统投入使用和成功地运行时,用户会根据业务发展的实际需要,提出增加新功能、修改已有功能以及性能的改进要求等。1、软件维护的分类(2)纠错性维护软件测试不可能找出一个软件系统中所有潜伏的错误,所以当软件在特定情况下运行时

4、,这些潜伏的错误可能会暴露出来。对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程,称为纠错性维护。(3)适应性维护计算机的软、硬件环境,数据环境在不断的变化,使运行的软件能适应运行环境或者数据的变动而修改软件的过程称为适应性维护。为了进一步改善软件的可靠性和易维护性,或者为预见的将来软件运行和维护打下更好的基础而对软件进行修改。(4)预防性维护纠错性维护25%适应性维护21%完善性维护50%预防性维护4%软件维护工作量完善性维护所占的比例最大,占50%左右。各种维护的工作量所占的比

5、例如下图所示。纠错性维护适应性维护完善性维护预防性维护2、软件维护的策略针对以上几种类型的维护,可采取相应的维护策略,以提高维护效率,降低维护成本。(2)适应性维护策略对可能变化的因素进行配置管理,将因环境变化而必须修改的部分局部化,即局限于某些程序模块等。(1)纠错性维护策略开发过程中采用新技术,利用应用软件包,提高系统结构化程度,进行周期性维护审查等。(4)预防性维护策略常采用提前实现、软件重用等技术。(3)完善性维护策略除了可以使用前面两类维护的策略外,还有使用功能强、使用方便的工具,采用原型化方法开发等,也可提高可维护性。9.1.3软件

6、维护的特性1、时间长、工作量大、成本高维护阶段是软件生存期中最长的一个阶段,软件维护的工作量占整个软件生存期的70%以上,而且还在逐年增加。维护71%其余29%维护工作比例2、维护的副作用维护的副作用是指由于修改程序而导致新的错误或者新增加一些不必要的活动。(1)修改代码的副作用在修改源代码时,可能引起的错误。(2)修改数据的副作用在修改数据结构时,有可能造成软件设计与数据结构不匹配因而导致软件出错。数据副作用就是修改软件信息结构导致的结果。(3)修改文档的副作用对软件的数据流、软件结构、模块逻辑等进行修改时,必须对相关技术文档进行相应修改。但

7、修改文档过程会产生新的错误导致文档与程序功能不匹配,缺省条件改变等错误,产生文档的副作用。3、软件维护的困难由于软件维护工作通常并不由软件的设计和开发人员来完成,维护人员首先要对软件各阶段的文档和代码进行分析、理解。(1)非结构化维护非结构化维护缺乏必要的文档说明,难于确定数据结构、系统接口等特性,这样的维护工作令人生畏,事倍功半。太累了!受不了啦!几万行程序怎么改哦???结构化维护指软件开发过程是按照软件工程方法进行的,开发各阶段的文档齐全,软件的维护过程,有一整套完整的方案、技术、审定过程及文档。可以看到,维护工作的难度及工作量的大小,明显

8、与前期的开发工作密切相关。(2)结构化维护4、软件维护的代价影响软件维护的因素影响软件维护工作量和成本的因素很多,主要有以下方面:(1)系统的大小:系

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。