7.3.5 软件维护的成本问题

更新于 2026年10月10日 版权声明
7.3.5 软件维护的成本问题

软件维护是软件生存周期中最耗时、最耗能的阶段,需要大量的时间、人力和物力。为了降低和控制软件维护的成本,我们应该考虑哪些因素影响软件维护的工作量,并相应地采取最合适的维护策略。

在20世纪70年代,软件维护成本占软件预算总额的35%到40%。20世纪80年代,软件维护成本进一步增加,约占软件总预算的60%。近年来,这个数字已经上升到80%左右。统计表明,随着软件复杂性的增加,软件维护变得越来越困难。这不仅会导致维护成本增加、软件生产率急剧下降,还会带来其他负面影响。例如,在使用资源(人力资源、设备等)时,维护的优先级高于当前的开发任务,因此维护期间的资源占用将不可避免地影响正在开发的项目,导致维护对后续项目的影响扩大,这可能导致恶性循环。支出是最明显的,这是一个有形的成本。还有其他无形成本无法估量,值得更多关注。例如,有时为了维持需求,我们必须为维护工作提供可用的资源,从而延误时间或失去开发机会;无法及时处理合理的修改需求,导致用户不满;软件修改可能导致新的错误,导致软件质量下降;许多开发专家被用于现有软件的维护,这将不可避免地影响开发工作、投资。

支出是最明显的,这是一个有形的成本。还有其他无形成本无法估量,值得更多关注。例如,有时为了维持需求,我们必须为维护工作提供可用的资源,从而延误时间或失去开发机会;无法及时处理合理的修改需求,导致用户不满;软件修改可能导致新的错误,导致软件质量下降;许多开发专家被用于现有软件的维护,这将不可避免地影响开发工作、投资。

通常,把软件维护的工作量分为助动性和生产性两个组成部分。助动性工作量是理解各种文档和代码所需的工作量;生产性工作量则是用于分析和评估、修改设计和修改代码的工作量。给出了维护工作量估算模型。

图示

其中:(https://www.daowen.com)

M:维护所用工作量。

P:生产性工作量。

K:经验常数。

c:软件维护的复杂性取决于软件的复杂性、软件设计的质量和文档化的程度。

d:维护人员对软件的熟悉程度。

估计模型表明,软件的维护工作量与软件的维护复杂度呈指数关系。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)