1.4 维护成本
有形的软件维护成本是花费了多少钱,无形的维护成本有更大的影响:一些合理的修
复或修改请求不能及时安排,使得客户不满意;变更的结果引入新的故障,使得软件整体
质量下降;把软件人员抽调到维护工作中,干扰了软件开发工作。
软件维护的代价是降低了生产率,在做老程序的维护时非常明显。例如,开发每一行源
代码耗资
25 美元,维护每一行源代码需要耗资 1000 美元。维护工作量包括生产性活动
“
”
(如分析和评价、设计修改和实现)和 轮转 活动(如力图理解代码在做什么、试图判明数
据结构、接口特性、性能界限等)。
维护工作量的模型:
其中
M 是维护中消耗的总工作量,p 是上面描述的生产性工作量,K 是一个经验常数,
c
是因缺乏好的设计和文档而导致复杂性的度量,
d 是对软件熟悉程度的度量。
模型指明,如果使用了不好的软件开发方法(未按软件工程要求做),原来参加开发
的人员或小组不能参加维护,则工作量(及成本)将按指数级增加。
二
软件维护活动
为了有效地进行软件维护,应事先就开始做组织工作。
A.首先建立维护的机构
B.申明提出维护申请报告的过程及评价的过程
C.为每一个维护申请规定标准的处理步骤
D.建立维护活动的登记制度以及规定评价和评审的标准。
2.1 维护机构
除了较大的软件开发公司外,通常在软件维护工作方面,并不保持一个正式的组织机
构。
虽然不要求建立一个正式的维护机构,但是在开发部门确立一个非正式的维护机构则是非
常必要的。
维护申请提交给维护管理员,他把申请交给某个系统监督员去评价。一旦做出评价,由
修改负责人确定如何进行修改,在修改程序的过程中,由配置管理员严格把关,控制修改
的范围,对软件配置进行审计。在维护之前,就把责任明确下来,可以减少维护过程中的混
乱。
2.2 软件维护申请报告
维护申请报告或称软件问题报告,由申请维护的用户填写。用户必须完整地说明产生错
误的情况,包括输入数据、错误清单以及其它有关材料。如果申请的是适应性维护或完善性
维护,用户必须提出一份修改说明书,列出所有希望的修改。维护申请报告将由维护管理员
和系统监督员来研究处理。他们应相应地做出软件修改报告,指明:所需修改变动的性质;
申请修改的优先级;为满足某个维护申请报告,所需的工作量;预计修改后的状况
.
软件修改报告应提交修改负责人,经批准后才能开始进一步安排维护工作。
尽管维护申请的类型不同,但都要进行同样的技术工作:修改软件需求说明;修改软
件设计;设计评审;对源程序做必要的修改;单元测试;集成测试
( 回归测试);确认测试;
d
c
Ke
p
M
−
+
=