Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104573911
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-19 21:15:15

      当前我国的计算机应用已经深入到社会的各个领域,越来越多的单位建立了以数据库为核心的管理信息系统。关系型数据库系统以其理论基础严格、语言简洁、易学易用、高度非过程化等特点在市场上占据优势。目前流行的大多数数据库系统都是关系型数据库,其中Informix数据库已经得到了比较广泛的应用。 
Informix数据库系统是由美国Informix软件公司开发出来的关系型数据库产品。多年来经过不断地更新及升级,目前已经形成了以数据库系统核心Informix-Online(或Informix-SE)为基础,以多种数据库软件开发工具相互配合而构成的综合数据库系列产品,具有非常强大、丰富的开发及应用功能。 
我们知道,应用软件系统的开发是一项复杂和艰苦的工作。用户需求越多,系统就越庞大,软件的开发周期就越长,软件开发的工作量也越大。如何缩短软件的开发周期,减少软件开发的工作量,提高软件的内在质量和运行质量,是长期困扰软件开发人员的一个难题。笔者认为,通过对应用软件开发方法和软件开发工具进行深入地研究,分析这些开发工具的优缺点,在开发过程中扬长避短、灵活运用,便能够解决上述问题。 
一、开发方法 
根据软件工程理论,开发一个应用软件系统需要经过系统需求分析、软件需求分析、概要设计、详细设计、编码、测试、运行与维护等七个阶段。软件开发工具主要应用在其中的详细设计、编码、测试、运行与维护等四个阶段。在应用软件的开发实践中,这四个阶段实际上可以归纳为数据库定义与设计、软件编程与调试、系统维护等三个阶段。软件开发者根据用户需求确定好数据字典,建立起具体的数据库和数据表,安装相应的基础数据,为下一步的软件编程奠定基础,这一过程称为数据库定义与设计。软件编程与调试就是利用开发工具,实现输入数据经过各种应用流程产生相应的输出数据的过程。系统维护就是指应用软件投入运行后对数据库数据的管理维护及对软件的升级完善。 
针对软件开发工具实际应用的特点,在下面的分析中,我们所说的应用软件开发过程就是指软件开发的数据库定义与设计、软件编程与调试、系统维护等三个阶段。这三个阶段是应用软件实际形成的关键阶段,打个比喻,开发一个应用软件如同建造一幢大厦,数据库的定义与设计就相当于打造坚实的地基,一砖一瓦建造大厦的过程就是软件的编程与调试,大厦建成投入使用后的管理和维修就相当于软件系统的维护。 
一个应用软件系统一般由数据输入模块、数据处理模块和数据输出模块构成。数据输入模块包括数据的录入、查询、修改和删除等,这些处理都是应用软件系统中最基本和必不可少的。在数据处理模块里,根据用户的应用需求,确定相应的算法和数据流程,对输入数据做进一步处理,生成最终输出数据。最终的输出数据通常以报表打印、屏幕显示和介质(磁盘或磁带等)拷贝等方式输出。 
二、开发工具 
Informix数据库的软件开发工具(环境)主要有Informix-SQL、Informix-ESQL、Informix-4GL等。它们具有不同的功能和特点,既能单独使用,也可根据实际需要相互配合使用。目前,这些软件开发工具在Informix数据库应用软件系统的开发过程中扮演着非常重要的角色。 
1.Informix-SQL 
Informix数据库最早期的软件开发工具是INFORMIX-SQL,它也是Informix重要的数据库维护工具。 
SQL(Structured Query Language)语言是1974年由Boyce和Chamberlin提出的。由于它具有功能丰富、使用方式灵活、语言简洁易学等突出优点,被众多计算机公司和软件公司所采用,经过多年的发展,SQL语言已成为关系数据库的标准语言,具有数据一体化、高度非过程化、面向集合的操作方式等特点。 
Informix以SQL语言为基础加以扩充,形成了一个综合应用开发工具(环境)Informix-SQL。Informix-SQL的软件开发工具主要由五个强有力的开发工具组成,即屏幕表格(Form)生成工具、用户菜单(User Menu)生成工具、报表(Report)书写工具、模式定义工具和查询语言SQL。屏幕表格是Informix-SQL最主要的功能模块。它通过开发者自己设计的与Informix数据库紧密相连的屏幕表格来操纵数据库,实现数据的输入、查询、修改和删除等操作。Informix-SQL提供了比较丰富的数据操纵功能,可以进行各种有条件查询和无条件任意查询,能够前后查找、修改及删除数据。报表控制能够完成简单的报表统计生成和输出。通过用户菜单可以生成各种功能菜单,将各种屏幕表格和报表控制连接组合在一起,构成一个完整的应用系统。 
Informix-SQL通过数据库管理软件Isql对Informix数据库(DataBase)和数据表(Table)进行管理与维护。Isql提供了屏幕表格、SQL交互数据操纵、数据库控制、数据表控制、报表控制等功能机制。数据库管理员可以利用屏幕表格完成数据的查询、修改和删除,也可以使用标准SQL语言实现数据定义、数据操纵。对于数据库的建立和删除可以通过数据库控制来实现。对于数据表和索引的建立、修改及删除则可通过数据表控制来完成。 
作为软件开发工具,Informix-SQL的优点在于它的简单、易学以及程序的通用性(即不需编译,可在各种UNIX操作系统下直接运行),而且程序所占的存储空间和运行空间较小,但它的用户界面只能处理比较简单的数据流程,无法适应各种复杂的应用系统。利用Informix-SQL进行应用软件开发的过程如下: 
首先,根据用户需求,确定相应的应用系统的数据字典,利用Informix-SQL数据库模式定义工具建立起相关的数据库及数据表,完成应用软件开发的数据库定义与设计过程。建立数据库及数据表,既可以使用Isql软件通过系统菜单提示实现,也可以通过建立Shell文件的方式实现。由于Shell文件本身是文本文件,不需要编译就能执行,修改起来非常方便,所以使用Shell文件成为建立数据库及数据表的常用方法。 
其次,在软件的编程和调试过程中,可以充分利用Informix-SQL的各种开发工具进行开发。我们可以利用用户菜单创建起应用系统的各级功能菜单,利用屏幕表格构造出应用系统的数据输入模块,使用SQL 语言实现数据的处理,利用报表输出工具实现数据的输出。这样,通过用户菜单、屏幕表格、SQL 语言和报表输出的有机结合,构成了一个完整的应用软件系统。 
2.Informix-ESQL 
Informix-ESQL称为嵌入式SQL开发工具,即将符合ANSI标准的SQL语句嵌入到宿主语言中。主语言可以是C、COBOL、ADA和FORTRAN等语言,因此Informix-ESQL可细分为Informix-ESQL/C、Informix-ESQL/COBOL、Informix-ESQL/ADA和Informix-ESQL/FORTRAN等。Informix-ESQL是在Informix-SQL基础上发展起来的第三代程序语言开发工具(环境)。 
由于C语言具有灵活、运行效率高、与UNIX系统连接方便、紧密等特点,所以Informix-ESQL/C便成为Informix-ESQL开发工具系列中的首选。下面以Informix-ESQL/C为例对Informix-ESQL进行分析。 
  Informix-ESQL/C包括预处理程序、C语言的库函数以及前导文件等。利用这些软件,可以方便地完成下述工作: 
(1)在C语言及其子程序中嵌入SQL语句。 
(2)执行DECIMAL、DATE、DATETIME和INTERVAL等数据类型的转换和操作。 
(3)使用C语言实用函数完成特定的操作。 
(4)在ACE报表工具中调用C函数。 
(5)在PERFORM屏幕表格工具中调用C函数。 
Informix-ESQL/C 作为一个非常优秀的应用软件开发工具,在第三代程序设计语言中占据着重要的地位。Informix-ESQL/C 充分继承了C 语言简练、灵活、表达能力丰富的特点,生成的目标程序精练、运行效率高。通过嵌入在C 语言中的SQL语句,Informix-ESQL/C 可以方便灵活地操纵Informix数据库。利用宿主变量,数据能够在C语句和SQL语句之间进行传递。通过分析指示变量,C语言能够对SQL语句的返回结果进行逻辑判断,确定数据的正确走向。为了处理多行数据,Informix-ESQL/C提供了一种游标机制,能够实现多行数据的查询和插入。Informix-ESQL/C还具有动态处理的功能,可以动态地处理各种SQL语句。 
Informix-ESQL/C在应用软件的开发过程中发挥着重要的作用。在数据库定义与设计阶段,Informix-ESQL/C的表现形式与Informix-SQL相似,但其目标程序生成需要经过编译。在软件的编程与调试阶段,Informix-ESQL/C灵活、功能丰富的特点得到充分体现。在数据输入模块中,我们可以直接使用Informix提供的PERFORM屏幕表格工具实现数据的输入及查、删、改等功能。在数据处理模块,C语言灵活、强大的功能得到了充分的发挥。在数据输出模块,Informix提供的ACE报表工具能够方便地实现各种报表输出。此外,我们还可以编写C函数或使用UNIX系统的Lex工具等直接生成各式各样的报表,实现数据的各种输出。 
利用Informix-ESQL/C开发软件,目标程序必须经过编译生成。其目标程序占用的存储空间较小,运行空间也较小,因此程序的运行效率非常高。由于Informix-ESQL/C程序的主体是C语言,虽然灵活性很强,但程序的编写及调试比较复杂,相应的程序维护也比较困难。 
3.Informix-4GL 
Informix-4GL是第四代数据库开发语言,它的功能非常强,可以用一条简单的语句实现若干条低级语言语句才能实现的功能。 
Informix-4GL提供了开发基于Informix数据库的管理信息系统的全部工具,包括数据库语言、程序设计语言、屏幕建立程序、菜单建立程序、报表书写程序和窗口管理程序。通过数据库语言我们可以直接在4GL程序中对数据库进行定义、数据插入及查、删、改等操作。其程序设计语言既有第四代程序设计语言的简单性,又有通用程序设计语言的灵活性。4GL的非过程语句非常紧凑,并能满足大量的应用要求。过程化语句可以实现4GL的设计者们未能预见的功能。Informix-4GL包括一个屏幕建立程序(FORM4GL),软件开发者可以用它来设计美观的屏幕格式作为应用程序的用户画面,并使用Informix-4GL的交互式语句实现数据的输入及显示。菜单建立程序使程序员只要描述出菜单的各选择项及相应动作,就能自动完成系统功能菜单的建立。报表书写程序提供了建立各种报表的语句及内部函数,使报表的生成非常容易。利用窗口管理程序可以在应用程序中根据需要打开相应的窗口,并在窗口中执行相应的程序,使开发出的程序界面更友好和丰富,软件的功能更强。 
使用Informix-4GL开发应用软件比较容易。使用数据库语言,我们可以在Informix-4GL程序中直接定义并建立所需的数据库及数据表。利用菜单建立程序,我们可以方便地建立起应用程序的各级功能菜单。通过屏幕建立程序和窗口建立程序,我们能够迅速构造起应用程序的数据输入模块。使用4GL的程序控制语句、内部函数及C语言函数接口,可以编写出各种复杂流程的数据处理程序。通过报表书写程序,能够快速生成各种输出报表。 
使用Informix-4GL编写程序,它的目标程序也必须经过编译生成。其目标程序占用的存储空间较大,所需运行空间也较大。但是,4GL程序的开发及调试比较简单,程序维护也比较方便。 
三、结束语 
可以看到,Informix为程序设计者提供了功能强大、内容丰富、特点各异的多种软件开发工具。它们既有突出的优点,同时又都存在一些缺陷。 
利用Informix-SQL开发程序简单方便,且无需编译,但面对复杂应用问题的束手无策及不友好的用户界面使其难以在应用软件的开发中占据重要地位。Informix-ESQL以功能强大、存储及运行空间小、运行效率高等特点在应用软件开发中发挥着重要的作用,但其开发及维护的复杂性无疑加大了软件的开发周期。简洁易懂、功能丰富的Informix-4GL开发软件快速、方便,但其较大的存储和运行空间使软件系统的维护费用较高。 
根据这些软件开发工具各自不同的特点,在实际开发过程中,只有根据实际需要加以灵活、合理、综合地运用,才能够及时开发出令人满意的应用软件。在应用软件开发的数据库定义与设计阶段应该使用Informix-SQL,通过SQL的Shell文件来建立相应的数据库及数据表,这样根据需要可以方便地对数据库结构进行修改。在软件编程与调试阶段,应根据用户的应用需求和计算机设备的具体情况来确定采用何种软件开发工具:如果用户的应用需求非常急切,而且使用的计算机设备性能配置比较高,那么Informix-4GL就是首选的开发工具;若用户有比较充裕的开发时间,则可选择Informix-ESQL;而在系统的维护阶段,Informix-SQL是必不可少的工具。 
阅读(533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~