1、第七章 软件维护与软件再工程7.1 软件维护的概念四类维护活动: 改正性维护 适应性维护 扩充与完善性维护 预防性维护三类维护所占比例:其它维护5 %适应性维 护25%改正性维 护20%扩充与完善性维护50%改正性维护占全部维护量的比率已从 80年代初的20%大幅度下降, 90 年代初一些公司的产品差错率已接近于零各类维护活动的根本目的是延长软件生存期其它维护4 %软件生存周期软件诞生计划分析设计编码测试运行和维护(简称维护)改善期 稳定期 陈旧期1年-10年2个月-2年重构软件工程周期7.2 软件维护的特点M P+Ke= (c-d )M : 维护工作总工作量P : 生产性工作量K : 经验常
2、数c : 复杂度d : 对该软件熟悉程度的度量7.2.1 维护的成本7.2.2 维护中的典型问题(1)难以跟踪软件版本的进化过程,软件的变化未在文档中反映出 (2) 难以跟踪软件的 过程 ( ) 难以 程 ( ) 文档 全 (5)软件 性大 ( )设计 未 改 , 改 难( )维护工作 , 7.3 软件的维护任务7.3.1 维护组织7.3.2 维护报告维护要求表软件维护人员提供给用户的空白的维护要求表,也称为软件问题报告表,这个表格由要求一项维护活动的用户填写。软件维修报告满足维护要求表中的要求所需要的工作量;维护要求的性质;这项要求的优先次序;与修改有关的事后数据。维护阶段的事件流维护currency1 进行“的工作fi些工作fl 改软件设计复 的代码 改 测试和 测试fl 以”的测试的 测试验 测试和复 的维护的重 本 的维护件 中 一个件复它验软件 的 分的 性 维护 中的 软件过程的输出信息可以分为3类: 计算机程序(源代码和可执行程序); 计算机程序的 (供 人员 用户 用); 数据(程序 的 程序 的)。 这 项组成 软件过程中 生的 信息, 它 称为软件 , 这 项 是软件 项。7.3.4 存维护 维护过程中作应 的数程 程 数代码 数 以 的数 构维护数 ,维护