·(1)影响软件维护工作量的因素 在软件的维护过程中,需要花费大量的人力物力,从而直 接影响软件维护的成本。应当考虑有哪些因素影响软件维 护的工作量,相应应该采取什么维护策略,才能有效地维 护软件并控制维护的成本。 主要有: ①系统大小:系统越大,理解掌握起来越困难。系统越大 ,所执行功能越复杂。因而需要更多的维护工作量。 第11页
第 11 页 (1)影响软件维护工作量的因素 • 在软件的维护过程中,需要花费大量的人力物力,从而直 接影响软件维护的成本。应当考虑有哪些因素影响软件维 护的工作量,相应应该采取什么维护策略,才能有效地维 护软件并控制维护的成本。 • 主要有: ① 系统大小:系统越大,理解掌握起来越困难。系统越大 ,所执行功能越复杂。因而需要更多的维护工作量
②程序设计语言:使用强功能的程序设计语言可以控制程序 的规模。语言的功能越强,生成程序的模块化和结构化程 度越高,所需的指令数就越少,程序的可读性越好。 ③系统年龄: 老系统随着不断的修改,结构越来越乱 维护人员经常更换,程序又变得越来越难于理解; 许多老系统在当初并未按照软件工程的要求进行开发,因 而没有文档,或文档太少。 在长期的维护过程中,文档在许多地方与程序实现变得不 致,在维护时就会遇到很大困难。 第12页
第 12 页 ② 程序设计语言:使用强功能的程序设计语言可以控制程序 的规模。语言的功能越强,生成程序的模块化和结构化程 度越高,所需的指令数就越少,程序的可读性越好。 ③ 系统年龄: – 老系统随着不断的修改,结构越来越乱; – 维护人员经常更换,程序又变得越来越难于理解; – 许多老系统在当初并未按照软件工程的要求进行开发,因 而没有文档,或文档太少。 – 在长期的维护过程中,文档在许多地方与程序实现变得不 一致,在维护时就会遇到很大困难
④数据库技术的应用:使用数据库,可以简单而有效地管 理和存储用户程序中的数据,还可以减少生成用户报表 应用软件的维护工作量。 ⑤先进的软件开发技术:在软件开发时,若使用能使软件 结构比较稳定的分析与设计技术,及程序设计技术,如 面向对象技术、复用技术等,可减少大量的工作量 ⑥其它,如应用的类型、数学模型、任务的难度等。 许多软件在开发时并未考虑将来的修改,为软件的维护 带来了隐患,是影响软件维护工作量的最主要因素 第13页
第 13 页 ④ 数据库技术的应用:使用数据库,可以简单而有效地管 理和存储用户程序中的数据,还可以减少生成用户报表 应用软件的维护工作量。 ⑤ 先进的软件开发技术:在软件开发时,若使用能使软件 结构比较稳定的分析与设计技术,及程序设计技术,如 面向对象技术、复用技术等,可减少大量的工作量。 ⑥ 其它,如应用的类型、数学模型、任务的难度等。 许多软件在开发时并未考虑将来的修改,为软件的维护 带来了隐患,是影响软件维护工作量的最主要因素
●·。(2)软件维护的策略 ①改正性维护: 要生成100%可靠的软件,成本太高。 可通过新技术提高可靠性,减少进行改正性维护的需要 这些技术包括:数据库管理系统、软件开发环境、程序自 动生成系统、较高级(第四代)的语言。应用以上4种方 法可产生更加可靠的代码。 第14页
第 14 页 (2)软件维护的策略 ① 改正性维护: • 要生成100%可靠的软件,成本太高。 • 可通过新技术提高可靠性,减少进行改正性维护的需要。 这些技术包括:数据库管理系统、软件开发环境、程序自 动生成系统、较高级(第四代)的语言。应用以上4种方 法可产生更加可靠的代码
此外: 利用应用软件包,可开发出可靠性更高的软件。 结构化技术。用它开发的软件易于理解和测试。 防错性程序设计。把自检能力引入程序,通过检查,提供 审查跟踪。 通过周期性维护审查,在形成维护问题之前就可确定质量 缺陷。 第15页
第 15 页 此外: • 利用应用软件包,可开发出可靠性更高的软件。 • 结构化技术。用它开发的软件易于理解和测试。 • 防错性程序设计。把自检能力引入程序,通过检查,提供 审查跟踪。 • 通过周期性维护审查,在形成维护问题之前就可确定质量 缺陷