正在加载图片...
可维护性 低 第二代 第四代 机器语言 汇编语言 高级语言:查询语言,报表生成语言 ( FORTRAN、图象语言,应用生成语言 COBOL等) 图78程序设计语言对可维护性的影响 低级语言,即机器语言和汇编语言,很难理解,很难掌握,因此很难维护。高级语言比 低级语言容易理解,具有更好的可维护性。但同是高级语言,可理解的难易程度也不一样。 第四代语言,例如査询语言、图形语言、报表生成器、非常高级的语言等,有的是过程化的 语言,有的是非过程化的语言。不论是哪种语言,编制出的程序都容易理解和修改,而且 其产生的指令条数可能要比用 COBOL语言或用PL/1语言编制出的少一个数量级,开发速 度快许多倍。有些非过程化的第四代语言,用户不需要指出实现的算法,仅需向编译程序或 解释程序提出自己的要求,由编译程序或解释程序自己做出实现用户要求的智能假设,例如 自动选择报表格式,选择字符类型和图形显示方式等。总之,从维护角度来看,第四代语言 比其它语言更容易维护。 5)改进程序的文档 程序文档是对程序总目标、程序各组成部分之间的关系、程序设计策略、程序实现过程 的历史数据等的说明和补充。程序文档对提高程序的可理解性有着重要作用。即使是一个十 分简单的程序,要想有效地、高效率地维护它,也需要编制文档来解释其目的及任务。而对 于程序维护人员来说,要想对程序编制人员的意图重新改造,并对今后变化的可能性进行估 计,缺了文档也是不行的。因此,为了维护程序,人们必须阅读和理解文档 好的文档是建立可维护性的基本条件。它的作用和意义有三点: 文档好的程序比没有文档的程序容易操作。因为它增加了程序的可读性和可使用性 但不正确的文档比根本没有文档要坏得多 好的文档意味着简洁、风格一致、且易于更新。 程序应当成为其自身的文档。就是说,在程序中应插入注释,以提高程序的可理解, 并以移行、空行等明显的视觉组织来突出程序的控制结构。如果程序越长、越复杂,则它对 文档的需要就越迫切。 另外,在软件维护阶段,利用历史文档,可以大大简化维护工作。历史文档有三种: ①系统开发日志 ②错误记载 ③系统维护日志 7.软件再工程 术语“逆向工程”来自硬件。软件公司对竞争对手的硬件产品进行分解,了解竞争对手 在设计和制造上的“隐秘”。成功的逆向工程应当通过考察产品的实际样品,导出该产品的 个或多个设计与制造的规格说明。 (1)逆向工程与再工程的概念 软件的逆向工程是完全类似的。但是,要做逆向工程的程序常常不是竞争对手的,因为 要受到法律约束。公司做逆向工程的程序,一般是自己的程序,有些是在多年以前开发出来17 机器语言 汇编语言 高级语言: 查询语言,报表生成语言, (FORTRAN、 图象语言,应用生成语言 COBOL 等) 图 7.8 程序设计语言对可维护性的影响 低级语言,即机器语言和汇编语言,很难理解,很难掌握,因此很难维护。高级语言比 低级语言容易理解,具有更好的可维护性。但同是高级语言,可理解的难易程度也不一样。 第四代语言,例如查询语言、图形语言、报表生成器、非常高级的语言等,有的是过程化的 语言,有的是非过程化的语言。不论是哪种语言,编制出的程序都容易理解和修改,而且, 其产生的指令条数可能要比用 COBOL 语言或用 PL/1 语言编制出的少一个数量级,开发速 度快许多倍。有些非过程化的第四代语言,用户不需要指出实现的算法,仅需向编译程序或 解释程序提出自己的要求,由编译程序或解释程序自己做出实现用户要求的智能假设,例如 自动选择报表格式,选择字符类型和图形显示方式等。总之,从维护角度来看,第四代语言 比其它语言更容易维护。 (5) 改进程序的文档 程序文档是对程序总目标、程序各组成部分之间的关系、程序设计策略、程序实现过程 的历史数据等的说明和补充。程序文档对提高程序的可理解性有着重要作用。即使是一个十 分简单的程序,要想有效地、高效率地维护它,也需要编制文档来解释其目的及任务。而对 于程序维护人员来说,要想对程序编制人员的意图重新改造,并对今后变化的可能性进行估 计,缺了文档也是不行的。因此,为了维护程序,人们必须阅读和理解文档。 好的文档是建立可维护性的基本条件。它的作用和意义有三点: ▪ 文档好的程序比没有文档的程序容易操作。因为它增加了程序的可读性和可使用性。 但不正确的文档比根本没有文档要坏得多。 ▪ 好的文档意味着简洁、风格一致、且易于更新。 ▪ 程序应当成为其自身的文档。就是说,在程序中应插入注释,以提高程序的可理解, 并以移行、空行等明显的视觉组织来突出程序的控制结构。如果程序越长、越复杂,则它对 文档的需要就越迫切。 另外,在软件维护阶段,利用历史文档,可以大大简化维护工作。历史文档有三种: ① 系统开发日志 ② 错误记载 ③ 系统维护日志 7. 软件再工程 术语“逆向工程”来自硬件。软件公司对竞争对手的硬件产品进行分解,了解竞争对手 在设计和制造上的“隐秘”。成功的逆向工程应当通过考察产品的实际样品,导出该产品的 一个或多个设计与制造的规格说明。 (1) 逆向工程与再工程的概念 软件的逆向工程是完全类似的。但是,要做逆向工程的程序常常不是竞争对手的,因为 要受到法律约束。公司做逆向工程的程序,一般是自己的程序,有些是在多年以前开发出来 第一代 语言 第二代 语言 第三代 语言 第四代 语言 低 高 可维护性
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有