软件工程基础之07软件维护.ppt
《软件工程基础之07软件维护.ppt》由会员分享,可在线阅读,更多相关《软件工程基础之07软件维护.ppt(30页珍藏版)》请在优知文库上搜索。
1、软件维护概述软件维护概述1 1软件维护技术软件维护技术5 5软件维护过程模型软件维护过程模型3 3应注意的问题应注意的问题2 2小结小结6 6 软件维护的基本概念软件维护的基本概念 软件维护的基本类型软件维护的基本类型 维护的困难性维护的困难性 IEEE/EIA 12207ISO/IEC2008IEEE/EIA 12207ISO/IEC2008中中对软件维护的定义是:软件维护是对软件维护的定义是:软件维护是指指由于软件产品出现问题或需要改由于软件产品出现问题或需要改进而对代码及相关文档的修改进而对代码及相关文档的修改,其,其目的是对现有软件产品进行修改的目的是对现有软件产品进行修改的同时保持其
2、完整性。同时保持其完整性。1.1. 软件维护能够改正错误。软件维护能够改正错误。2.2. 软件维护能够改善设计。软件维护能够改善设计。3.3. 软件维护能够实现软件的改进。软件维护能够实现软件的改进。4.4. 软件维护能够实现与其他系统的交互。软件维护能够实现与其他系统的交互。5.5. 软件维护能够为使用不同的硬件、软件、系统的软件维护能够为使用不同的硬件、软件、系统的新性能以及通讯设备等而对软件进行改进。新性能以及通讯设备等而对软件进行改进。6.6. 软件维护能够完成遗留系统的移植。软件维护能够完成遗留系统的移植。7.7. 软件退出使用。软件退出使用。遗留系统:仍能够使用的旧系统,有时对于遗
3、留系统:仍能够使用的旧系统,有时对于业务运行来说至关重要。业务运行来说至关重要。原因:过时的语言或技术实现、昂贵的系统原因:过时的语言或技术实现、昂贵的系统支持导致维护昂贵、结构性差。支持导致维护昂贵、结构性差。 软件维护阶段一般要消耗软件生命软件维护阶段一般要消耗软件生命周期中经费开支的周期中经费开支的大部分大部分。 软件维护的费用占软件总预算的比软件维护的费用占软件总预算的比例:例: 7070年代的年代的35%40%35%40% 8080年代上升为年代上升为40%60%40%60% 9090年代已经占年代已经占70%70%80%80% 维护的类型有维护的类型有四四种:种:o 纠错纠错性维护
4、性维护o 适应性维护适应性维护o 完善性维护完善性维护o 预防性维护预防性维护 国外的统计数字表明,完善性维护占全部维护国外的统计数字表明,完善性维护占全部维护活动的活动的50%50%66%66%,纠错性维护占,纠错性维护占17%17%21%21%,适应性维护占,适应性维护占18%18%25%25%,其他维护活动只,其他维护活动只占占4%4%左右左右 在软件交付使用后,因开发时测试的不彻底、不在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分完全,必然会有部分隐藏的错误隐藏的错误遗留到运行阶段遗留到运行阶段。 设计错误、编码错误、数据错误、文档错误设计错误、编码错误、数据错误、文档错
5、误 这些隐藏下来的错误在某些特定的使用环境下就这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。会暴露出来。 为了为了识别和纠正软件错误、改正软件性能上的缺识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误用,应当进行的诊断和改正陷、排除实施中的误用,应当进行的诊断和改正错误的过程错误的过程就叫做纠错性维护。就叫做纠错性维护。 在使用过程中,在使用过程中,o 外部环境(新的硬、软件配置)外部环境(新的硬、软件配置)o 数据环境(数据库、数据格式、数据输入数据环境(数据库、数据格式、数据输入/ /输出方式、输出方式、数据存储介质)数据存储介质)o 网络环境等其他可能发生的变化。网络环境
6、等其他可能发生的变化。 为使软件为使软件适应外部、数据、网络的变适应外部、数据、网络的变化化,而去修改软件的过程就叫做适应,而去修改软件的过程就叫做适应性维护。性维护。 在软件的使用过程中,用户往往会对软件提出在软件的使用过程中,用户往往会对软件提出新的功能与新的功能与性能要求性能要求。 为了满足为了满足新的功能与性能要求新的功能与性能要求,需要修改或再开发软件,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。件的可维护性。 这种情况下进行的维护活动叫做完善性维护。这种情况下进行的维护活动叫做完善性维护。
7、实践表明,在几种维护活动中,实践表明,在几种维护活动中,完善性维护所占的比重最完善性维护所占的比重最大大。即大部分维护工作是改变和加强软件,而不是纠错。即大部分维护工作是改变和加强软件,而不是纠错。 完善性维护不一定是救火式的紧急维修,而可以是有计划完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。、有预谋的一种再开发活动。 预防性维护是防止问题发生而事先维护,目预防性维护是防止问题发生而事先维护,目的是为了提高软件的可维护性、可靠性等,的是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。为以后进一步改进软件打下良好基础。 体系结构不良、数据结构不
8、理想、文档不全体系结构不良、数据结构不理想、文档不全、缺少变更记录等。、缺少变更记录等。 预防性维护定义为:预防性维护定义为:采用适当的方法对需要采用适当的方法对需要维护的软件或软件中的维护的软件或软件中的某一部分(重新)进某一部分(重新)进行设计、编码和测试行设计、编码和测试。 逆向工程、软件再工程等。逆向工程、软件再工程等。 技术方面技术方面o程序的理解:有限理解程序的理解:有限理解o测试:完整测试消耗大,往往选择回归测试:完整测试消耗大,往往选择回归测试、局部测试。软件运行中,协调测测试、局部测试。软件运行中,协调测试困难。试困难。o影响分析影响分析o可维护性可维护性 影响分析是对修改的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基础 07 软件 维护