7.2.1 软件维护的基本类型
维护阶段是软件生存周期的最后阶段,该阶段是花费时间最长、投入人力财力最多且难度系数最大的一个阶段,不同的维护种类应该采取不同的策略。角度不同导致分类方法不同,从而分类结果也不同。传统的软件维护一般分为四大类,如表7.1所示。
表7.1 软件的四类维护

(1)改正性维护。改正性维护是指纠正在系统开发阶段时发生的而在系统测试阶段没有被发现的错误。这方面的维护工作量占总工作量的17%~21%。发现的一些错误并不是非常严重的,不影响系统的正常运行。他们的维护可以随时进行。但是有的错误对于系统是非常重要的,出现一点错误可能会影响整个系统的正常运行。所以他们的维护工作必须事先做好计划、修改、复查和控制等工作。(https://www.daowen.com)
(2)适应性维护。适应性维护是指使用一些软件来适应信息技术和管理需求的变化。该类型的维护工作量占总工作量的18%~25%。伴随着计算机硬件价格的下降,各种各样的系统软件层出不穷。人们经常需要对系统进行更新来满足改善系统的硬件环境和运行环境的需求。外部市场环境和企业的管理需求的千变万化也使得各级管理者不断提出新的信息需求。这些因素都是导致适应性维护工作的原因。正如系统开发一样,这方面的维护工作也应该有计划地、分步骤地进行。
(3)完善性维护。完善性维护是为了扩展功能和提高性能而进行的修改,主要是为了在系统分析和设计阶段加一些没有指定的现有软件系统中的一些功能和性能特征。这些特性和功能对于改善系统的功能是必要的。此外,它还包括在处理效率和编写程序上的改进,占了整体维护的50%~60%,比例较大,但也关系到系统开发质量的重要方面。除了有计划和有系统地完成维护外,还需要注意将相关文档进行更新。
(4)预防性维护。预防性维护,用以提高应用软件的可靠性和可维护性,为了去适应未来软硬件环境的变化,我们应主动增加新的预防性功能,使应用系统适应各种变化而不被消除。这一维护的工作量约占整个维护工作的4%。