软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。
交付前完成的活动包括交付后运行的计划和维护计划等。交付后的活动包括软件修改、培训和帮助资料等。软件维护包括如下类型:
(1)更正性维护(2)适应性维护(3)完善性维护(4)预防性维护
软件维护不仅仅是在软件交付之后为保障软件运行而要完成的活动,还包括软件交付前应该完成的活动。
软件维护指在软件运行/维护阶段对软件产品所进行的修改。
改正性维护
改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷。
适应性维护
因在软件使用过程中数据环境发生变化或处理环境发生变化,对软件进行的修改。
完善性维护
用户和数据处理人员在使用时常提出改进现有功能、增加新的功能,以及改善总体性能的要求,为了满足这些要求需要进行软件修改。
预防性维护
预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础的维护活动。预防性维护可定义为:“把今天的方法用于昨天的系统以满足明天的需要”。
软件维护包括如下类型。
(1)更正性维护:软件产品交付后进行的修改,以更正发现的问题。
(2)适应性维护:软件产品交付后进行的修改,以保持软件产品能在变化后或变化中的环境中可以继续使用。
(3)完善性维护:软件产品交付后进行的修改,以改进性能和可维护性。
(4)预防性维护:软件产品交付后进行的修改,以在软件产品中的潜在错误成为实际错误前,检测和更正它们。