Informix數據庫軟件開發方法與工具

當前我國的計算機應用已經深入到社會的各個領域,越來越多的單位建立了以數據庫爲核心的管理信息系統。關係型數據庫系統以其理論基礎嚴格、語言簡潔、易學易用、高度非過程化等特點在市場上佔據優勢。目前流行的大多數數據庫系統都是關係型數據庫,其中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是必不可少的工具。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章