background image

《软件工程小论文》

软件的易维护性差是软件维护工作量和费用激增的直接原因,因此在软件

工程的各个阶段都要保证软件具有较高可维护性,从而降低软件维护成本,这
是软件工程的重要目标之一。国外的统计数字表明,完善性维护占全部维护活动

50%~66%,改正性维护占 17%~21%,适应性维护占 18%~25%,其

他维护活动只占

4%左右,本文对软件维护做了比较详细的介绍。

软件维护的概念

1.1 软件维护的定义
    在软件运行/维护阶段对软件产品进行的修改就是所谓的维护。

维护的类型有四种:

1.改正性维护:在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分

隐藏的错误遗留到运行阶段。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。
为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断
和改正错误的过程就叫做改正性维护。

2.适应性维护:在使用过程中,外部环境(新的硬、软件配置),数据环境(数据库、

数据格式、数据输入

/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而

去修改软件的过程就叫做适应性维护。

3.完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。

为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效
率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护。

4.预防性维护:预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改

进软件打下良好基础。预防性维护定义为:采用先进的软件工程方法对需要维护的软件或软
件中的某一部分(重新)进行设计、编制和测试。

在整个软件维护阶段所花费的全部工作量中,完善性维护占了几乎一半的工作量。软件

维护活动所花费的工作占整个生存期工作量的

70%以上,这是由于在漫长的软件运行过程

中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修
改需要花费很多精力和时间,而且有时会引入新的错误。

三类维护占

                                维护在软件生存期

  总维护比例

                                 所占比例