软件维护需要的工作量很大,大型软件的维护成本高达开发成本的4倍左右。所以,软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。
定义:软件已经交付使用之后,为了改正错误或满足新的需求而修改软件的过程。
维护活动:
- 改正性维护:诊断和改正错误的过程
- 适应性维护:为了和变化了的环境适当地配合而进行地修改软件地活动
- 完善性维护:新增功能或修改已有功能
- 预防性维护:改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件
非结构化维护:软件配置的唯一成分是程序代码,也就是没有软件配套文档。