background image

1.2 影响维护工作量的因素

在软件的维护过程中,需要花费大量的工作量,从而直接影响了软件维护的成本。应

当考虑有哪些因素影响软件维护的工作量,相应应该采取什么维护策略,才能有效地维护
软件并控制维护的成本。影响因素如下:

系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需

要更多的维护工作量。

程序设计语言:使用强功能的程序设计语言可以控制程序的规模。语言的功能越强,

生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。

系统年龄:老系统随着不断的修改,结构越来越乱;维护人员经常更换,程序又变得


来越难于理解。许多老系统在当初并未按照软件工程的要求进行开发,因而没有文档,或文
档太少。在长期的维护过程中文档在许多地方与程序实现变得不一致,在维护时就会遇到很
大困难。

数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据,

还可以减少生成用户报表应用软件的维护工作量。

先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技

术,及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。

1.3 软件维护的策略

1.改正性维护:通常要生成 100%可靠的软件并不一定合算,成本太高。但通过使用

新技术,可大大减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件开发环
境、程序自动生成系统、较高级

(第四代)的语言。以及新的开发方法、软件复用、防错程序设计

及周期性维护审查等。

2.适应性维护:这一类维护不可避免,但可以控制。
(1) 在配置管理时,把硬件、操作系统和其它相关环境因素的可能变化考虑在内。
(2) 

 

把与硬件、操作系统,以及其它外围设备有关的程序归到特定的程序模块中。

(3) 使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供

方便。

3.完善性维护:利用前两类维护中列举的方法,也可以减少这一类维护。特别是数据

库管理系统、程序生成器、应用软件包,可减少维护工作量。此外,建立软件系统的原型,把
它在实际系统开发之前提供给用户。用户通过研究原型,进一步完善他们的功能要求,就可
以减少以后完善性维护的需要。