正在加载图片...
图74三类维护占总维护比例 图75维护在软件生存期所占比例 ④预防性维护 除了以上三类维护之外,还有一类维护活动,叫做预防性维护。这是为了提高软件的可 维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义为:“把今 天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要 维护的软件或软件中的某一部分(重新)进行设计、编制和测试 在整个软件维护阶段所花费的全部工作量中,预防性维护只占很小的比例,而完善性维护占 了几乎一半的工作量。参看图74。从图75中可以看到,软件维护活动所花费的工作占整个 生存期工作量的70%以上 (2)影响维护工作量的因素 在软件维护中,影响维护工作量的程序特性有以下6种。 系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需 要更多的维护工作量。 程序设计语言:语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱, 实现同样功能所需语句就越多,程序就越大。有许多软件是用较老的程序设计语言书写的 程序逻辑复杂而混乱,且没有做到模块化和结构化,直接影响到程序的可读性。 ■系统年龄:老系统随着不断的修改,结构越来越乱;由于维护人员经常更换,程序又 变得越来越难于理解。而且许多老系统在当初并未按照软件工程的要求进行开发,因而没有 文档,或文档太少,或在长期的维护过程中文档在许多地方与程序实现变得不一致,这样在 维护时就会遇到很大困难。 数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据, 还可以减少生成用户报表应用软件的维护工作量 先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技 术,及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量 ■其它:例如,应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引 或下标数等,对维护工作量都有影响 此外,许多软件在开发时并未考虑将来的修改,这就为软件的维护带来许多问题 3)软件维护的策略 根据影响软件维护工作量的各种因素,针对三种典型的维护, James martin等提出了一 些策略,以控制维护成本。 ①改正性维护 要生成100%可靠的软件成本太高,不一定合算。但通过使用新技术,可大大提高可靠 减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件开发环境、程序自 生成系统、较高级(第四代)的语言,应用以上4种方法可产生更加可靠的代码。此外 利用应用软件包,可开发出比由用户完全自己开发的系统可靠性更高的软件。 结构化技术,用它开发的软件易于理解和测试 防错性程序设计。把自检能力引入程序,通过非正常状态的检査,提供审査跟踪。 通过周期性维护审査,在形成维护问题之前就可确定质量缺陷 ②适应性维护 这一类的维护不可避免,但可以控制。 在配置管理时,把硬件、操作系统和其它相关环境因素的可能变化考虑在内,可以减 少某些适应性维护的工作量。 把与硬件、操作系统,以及其它外围设备有关的程序归到特定的程序模块中。可把因6 图 7.4 三类维护占总维护比例 图 7.5 维护在软件生存期所占比例 ④ 预防性维护 除了以上三类维护之外,还有一类维护活动,叫做预防性维护。这是为了提高软件的可 维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义为:“把今 天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要 维护的软件或软件中的某一部分(重新)进行设计、编制和测试。 在整个软件维护阶段所花费的全部工作量中,预防性维护只占很小的比例,而完善性维护占 了几乎一半的工作量。参看图 7.4。从图 7.5 中可以看到,软件维护活动所花费的工作占整个 生存期工作量的 70%以上。 (2) 影响维护工作量的因素 在软件维护中,影响维护工作量的程序特性有以下 6 种。 ▪ 系统大小:系统越大,理解掌握起来越困难。系统越大,所执行功能越复杂。因而需 要更多的维护工作量。 ▪ 程序设计语言:语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱, 实现同样功能所需语句就越多,程序就越大。有许多软件是用较老的程序设计语言书写的, 程序逻辑复杂而混乱,且没有做到模块化和结构化,直接影响到程序的可读性。 ▪ 系统年龄:老系统随着不断的修改,结构越来越乱;由于维护人员经常更换,程序又 变得越来越难于理解。而且许多老系统在当初并未按照软件工程的要求进行开发,因而没有 文档,或文档太少,或在长期的维护过程中文档在许多地方与程序实现变得不一致,这样在 维护时就会遇到很大困难。 ▪ 数据库技术的应用:使用数据库,可以简单而有效地管理和存储用户程序中的数据, 还可以减少生成用户报表应用软件的维护工作量。 ▪ 先进的软件开发技术:在软件开发时,若使用能使软件结构比较稳定的分析与设计技 术,及程序设计技术,如面向对象技术、复用技术等,可减少大量的工作量。 ▪ 其它:例如,应用的类型、数学模型、任务的难度、开关与标记、IF 嵌套深度、索引 或下标数等,对维护工作量都有影响。 此外,许多软件在开发时并未考虑将来的修改,这就为软件的维护带来许多问题。 (3) 软件维护的策略 根据影响软件维护工作量的各种因素,针对三种典型的维护,James Martin 等提出了一 些策略,以控制维护成本。 ① 改正性维护 要生成 100%可靠的软件成本太高,不一定合算。但通过使用新技术,可大大提高可靠 性,减少进行改正性维护的需要。这些技术包括:数据库管理系统、软件开发环境、程序自 动生成系统、较高级(第四代)的语言,应用以上 4 种方法可产生更加可靠的代码。此外, ▪ 利用应用软件包,可开发出比由用户完全自己开发的系统可靠性更高的软件。 ▪ 结构化技术,用它开发的软件易于理解和测试。 ▪ 防错性程序设计。把自检能力引入程序,通过非正常状态的检查,提供审查跟踪。 ▪ 通过周期性维护审查,在形成维护问题之前就可确定质量缺陷。 ② 适应性维护 这一类的维护不可避免,但可以控制。 ▪ 在配置管理时,把硬件、操作系统和其它相关环境因素的可能变化考虑在内,可以减 少某些适应性维护的工作量。 ▪ 把与硬件、操作系统,以及其它外围设备有关的程序归到特定的程序模块中。可把因
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有