软件维护的成本和工作量
软件维护是一项非常广泛的活动,一旦操作完成就会发生。它通过减少错误、消除无用的代码行和应用高级开发来优化软件性能。构建一个软件系统可能需要长达 1-2 年的时间,而其维护和修改可能需要 15-20 年的持续活动。
软件维护的类别:
- 修复性维修
- 适应性维护
- 完美维护
- 预防性的维护
系统维护成本占大多数使用软件系统的组织的预算的很大一部分。超过 65% 的软件生命周期成本是在维护活动中扩展的。
软件维护的成本可以通过推迟来控制。软件维护的发展机会,但这将导致以下无形成本:
- 当维修或修改请求无法及时解决时,客户不满意。
- 由于在维护的软件中引入隐藏错误的更改而降低了整体软件质量。
软件维护成本因素:
区分开发和维护并导致更高维护成本的关键因素分为两个子类别:
- 非技术因素
- 技术因素
非技术因素:
非技术因素包括:
- 应用领域
- 人员稳定性
- 程序寿命
- 对外部环境的依赖
- 硬件稳定性
技术因素:
技术因素包括:
- 模块独立性
- 编程语言
- 编程风格
- 程序验证和测试
- 文档
- 配置管理技术
维护方面的努力可以分为生产力活动(例如分析和评估、设计和修改、编码)。以下表达式提供了一个维护工作模块:
M = P + K(C - D)
在哪里,
M:在维护上付出了全部努力。
P:生产性努力。
K:经验常数。
C:可归因于缺乏良好设计和文档的复杂性度量。
D:衡量对软件的熟悉程度。