文档介绍:第六章软件维护工程
软件维护的概念
软件维护是在软件已交付给用户使用后,为了改正错误,或者满足用户新的需求而修改软件的过程。软件维护一般不包括重大体系结构的修改。
软件维护的原因:
·修改软件中的错误;
·软件运行环境发生了变化;
·用户要求增加软件新的功能或提高软件的性能。
dae_meng
软件维护分类
纠错性维护
适应性维护
完善性维护
预防性维护
三类维护所占比例:
其它维护
5 %
适应性
维护
25%
改正性
维护
20%
扩充与完
善性维护
50%
改正性维护占全部维护量的比率已从80年代初
的20%大幅度下降, 90年代初一些公司的产品
差错率已接近于零
各类维护活动的根本目的是延长软件生存期
其它维护
4 %
软件
生存
周期
软件诞生
计
划
分
析
设
计
编
码
测
试
运行和维护(简称维护)
改善期稳定期陈旧期
1年-10年
2个月-2年
重构
软件工程周期
软件维护过程
影响软件维护工作量的因素:
系统的大小。
程序设计语言。
系统的年龄。
数据库技术的应用。
先进的软件开发技术。
其他因素。例如,在程序中使用的数学模型、任务的难度、IF嵌套的深度开关和标记等等,都会对维护工作有影响。
M
P+K
e
=
(c-d )
M : 维护工作总工作量
P : 生产性工作量
K : 经验常数
c : 复杂度
d : 对该软件熟悉程度的度量
维护的成本
该模型说明,如果没有一个好的软件开发途径,原来的开发人员不能参加维护工作,则维护工作量将按指数级增加。
软件维护流程
见教材图