前言
软件维护相当于建筑后期的维护
一、维护的类型
如下图,软件维护分为以下的几种,软件维护在软件生存期中占用的比例为70.8%,它是整个生存期中消耗资金人力最多的环节。
1、改正维护(测试为检错出错)
改正性维护是指改正在系统开发系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的17%-21%。所发现的错误有的不太重要,不影响系统的正确运行,其维护工作可随时进行:而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并且进行复查和控制。
适应性维护
2、适应性维护(软硬件的层出不穷)
适应性维护是指使用软件适应信息技术裱花和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的18%-25%。由于计算机硬件价格的不断下降,各类系统软件屡出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变换也使得各级管理人员不断提出新的信息需求,这些因素都将导致适应性维护工作的产生,进行这方面的维护工作也要像系统开发一样,有计划,有步骤地进行。
3、完善性维护(扩充功能,改善性能)
完善性维护是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写程序的改进,这方面的维护占工作的50%-60%,比重较大,也是关系到系统开发质量的重要方面。这两面的维护除了要有计划、有步骤地完成外,还要注意将相关的文档资料加入到前面相应的文档中去。
二、维护为什么成本高
1、维护的时间长,工作量大
2、理解程序员写的代码困难,毕竟是别人写的,与自己的书写风格一定会不一样
3、文档资料的不完善
4、大多数的软件在设计的收获都不会考虑到将来要修改
5、软件人员流动性高,维护不能靠开发人员