面向管理資訊系統開發的軟體工廠技術研究的論文

才智咖 人氣:1.12W

軟體工廠技術是提高軟體生產效率的重要方法,軟體體系結構的規範化及Eclipse開放式的開發環境為軟體工廠技術的研究提供了重要的基礎。文章以ERP系統為管理資訊系統的架構藍本,深入研究了ERP系統的功能架構及Java EE的軟體體系結構,利用程式碼自動生成技術,提出了管理資訊系統工廠化外掛研發的方法。

面向管理資訊系統開發的軟體工廠技術研究的論文

0 引言

由於軟體自身的許多特殊性[1],軟體的工廠化的技術研究一直沒有取得太大的進展。隨著人們對軟體的認知日益深入,軟體技術人員對特定領域的軟體架構不斷達成共識,軟體開發過程中的標準與規範不斷形成,為軟體工廠技術的研究創造了條件。近年來,微軟、IBM等國際軟體巨頭都提出了自己的軟體工廠解決方案,微軟的COM/COM+技術在Window平臺開發中得到廣泛應用[2],IBM公司研發的軟體設計工具Rose提供了“正向工程”機制,能通過形式化的設計模型自動生成目標系統的架構和區域性程式碼;開源整合開發工具Eclipes/MyEclipes則提供了“反向工程”機制。通過反向工程,可以從資料庫錶快速地生成目標系統的DAO架構模型及Hibernate配置。這些都是軟體工廠應用研究取得進展的表現。利用JEE系統架構模型及程式碼自動生成原理,結合ERP系統功能架構,深化Eclipes 環境下的軟體工廠技術研究,則可以在Eclipes開發環境中實現企業資訊系統工廠化開發,提高開發效率。

軟體工廠一是要面向某種特定應用,二是自動化及快速配置[3]。因此,面向ERP領域的軟體工廠技術研究,首先要深入ERP系統的功能架構和業務邏輯。其次深入研究資訊系統的層次架構及程式碼自動化原理。

1 ERP系統功能架構

國內ERP領導廠商金蝶國際軟體集團將ERP的業務範圍劃分為資本市場、供應市場、消費市場和知識市場等四大管理領域。資本市場主要涉及財務管理,供應市場主要涉及供應商管理,消費市場涉及客戶關係管理,知識市場涉及人力資源管理(辦公自動化、資訊門戶均屬於這塊內容)。這四個市場的中間是供應鏈管理和製造管理,其中,供應鏈管理又包括採購管理、倉存管理、銷售管理和分銷管理;製造管理又包含計劃管理、車間管理、裝置管理和質量管理。因此,一個完整的ERP系統主要包含:財務管理、銷售管理、客戶關係管理、採購管理、供應商管理、倉存管理、計劃管理、車間管理、質量管理、裝置管理、人力資源管理等功能模組。

在企業運營中,銷售部門根據市場需求或銷售歷史資料制定銷售計劃,形成企業的主生產計劃的資料來源。而企業主生產計劃制定則是其他各部門制定各自計劃的依據。比如,採購部門根據主生產計劃制定採購計劃,生產車間根據主生產計劃制定車間生產計劃和裝置維護計劃。

採購部門根據採購計劃進行物料採購,一方面形成應付賬款,與財務管理子系統對接,另一方面採購入庫物料,與倉存管理子系統對接。採購過程中涉及原材料質量的鑑定與驗收,故涉及質量管理。

生產車間根據車間生產計劃,從倉庫領料出庫進行生產,最後將生產出來的產品存入倉庫,即生產入庫;生產過程中,要進行生產裝置的管理及產品質量的監控,故涉及裝置管理和質量管理。

銷售部門從倉庫中提取產品銷售給客戶,一方面形成銷售出庫行為,與倉存管理系統對接,另一方面產生應收賬款,與財務管理子系統對接。

財務管理子系統通過固定資產管理對接生產部門的裝置管理,通過薪資管理與人力資源管理子系統對接。

2 基於Java EE的軟體架構

2.1 資訊系統的層次結構模型

Java EE是目前最為成熟最為流行的企業資訊系統架構,它目前最流行的兩個開發架構是SSH(Strut+Spring+Hibernate)和SSM(Spring+SpringMVC+Mybase)架構,這些架構都為資訊系統定義了明確層次架構,如圖1所示。

(1)資料訪問層

資料訪問層主要提供資料庫訪問的元操作,為業務邏輯層提供資料庫的訪問介面。它由hibernate配置檔案()、hibernate對映檔案()、POJO物件、DAO介面和物件組成。其中,POJO物件為應用軟體中的實體物件;hibernate對映檔案用於描述了資料庫中表與POJO物件的對映關係;hibernate配置檔案則提供DAO資料訪問物件負責提供資料庫訪問元操作,包括資料的增、刪、改、查等功能,而且業界為其定義了標準的訪問介面。

(2)業務邏輯層

業務邏輯層有Server物件構成,負責處理系統相對複雜的業務,按一定的邏輯順序呼叫資料訪問層的DAO介面訪問資料庫。

(3)控制層

該層主要由Struct Action物件和Struct配置檔案()組成,主要負責響應檢視層發起的業務請求處理和頁面調轉控制。其中,Action物件負責頁面請求處理,配置檔案負責頁面調轉描述。

(4)檢視層

該層負責人機互動,為使用者提供資料輸入介面和資料處理結果顯示。其核心是HTML+CSS,輔以JSP命令、JSTL標籤和Struct標籤。

2.2 Java Web站點檔案管理

Java Web的站點結構是相對穩定的。基於SSH架構的Web站點結構如圖2所示。

web站點根目錄下,主要是站點首頁()及各種web檔案和資原始檔,比如CSS、JS和圖片資源(images)等。值得一提的是“WEB-INF”資料夾,它是Java Web站點十分重要的資料夾,其下面包含classes、lib兩個重要的資料夾和web站點的配置檔案。

Classese資料夾存放由Java原始檔編譯生成的位元組碼檔案(s)。

Lib存放站點所需要的jar檔案。比如資料庫驅動包、hibernate相關的jar檔案等。

是站點的總配置檔案,它描述了首頁的訪問順序、struct對映等內容。

是hibernate的配置檔案,描述了資料庫伺服器的地址及資料庫訪問的行館配置,包括資料連線池引數的配置等資訊。同時還告訴系統Hibernate的映像檔案()位置。

是Spring的配置檔案,描述了Spring的相關配置。

描述資料庫中的`表和應用程式中的物件的對映關係。

3 資訊系統軟體工廠外掛的研發與應用

雖然ERP系統是面向生產製造類企業提出的。但是,從企業分類及涵蓋範圍來看,所有企業和事業單位的業務範圍均可歸屬於它的架構範圍。因此,ERP系統的工廠化外掛可以是任何企業任何管理資訊系統的開發模板和工具。通過工廠化元件應實現以下的開發效果:

(1)通過功能裁剪,實現目標系統所需功能模組的自動生成。即通過對話方塊選擇目標系統所需的功能模組。

(2)可進一步設定各功能模組的相關引數。比如,倉存管理可設定為是否支援倉位管理,是否支援倉存管理策略,採用何種倉存管理策略,採購入庫採用何種操作流程等。

3.1 軟體工廠外掛的研發

ERP是一個龐大而複雜的資訊系統,不同的企業會有不同的功能需求和業務邏輯。因此,要研發一個能自動開發適合不同企業需求的管理資訊系統的工廠化元件,必須建立ERP系統的最大系統模型,這些模型包括:

(1)最大資料庫模型

根據ERP系統最大功能模型建立資料庫,並對其中所有物件的屬性進行詳細分類。比如將物料屬性分為:基本屬性、外觀屬性、物流屬性、計劃屬性和成本屬性等。以便能滿足不同的目標系統的資料服務需求。

(2)子功能庫模型

對各子功能模組進行詳細地分析和分解,並各自功能模組建立子功能庫。

(3)業務邏輯庫模型

為功能庫中的每一個功能建立所有可能的業務邏輯模型,併為相應的模型定義程式碼生成導語,一併構成業務邏輯庫。

系統庫模型建立好後,接下來就是開發工廠化外掛。即開發一個能掛到Eclipse上的一個外掛,該外掛的任務是根據目標系統的功能需求和引數要求,利用系統庫模型自動生成完整的資訊行架構。

3.2 軟體工廠外掛的工作原理

資訊系統軟體工廠外掛主要是利用程式碼自動生成技術,按資訊系統的架構和Web站點檔案部署架構要求,從ERP最大系統庫模型中提取功能子集生成目標系統的架構模型。工作流程如下:

(1)利用程式修改Eclipse的相關檔案,以在Eclipse工作區中建立一個Web專案,並按Web站點部署結構生成相關資料夾和檔案。

(2)根據目標系統的功能選擇,從ERP最大資料庫模型中生成目標系統的資料庫,並利用程式碼自動生成技術生成資料訪問層的相關Java檔案和配置檔案,並匯入相應的jar包。比如Model層的類、DAO介面和實現、Hibernate配置檔案和對映檔案等。

(3)根據所選擇的業務邏輯模型,按其對應的程式碼生成導語,為各功能生成業務邏輯層的程式結構框架。

3.3 軟體工廠外掛的應用

利用軟體工廠外掛開發管理資訊系統只能自動生成目標系統的資料庫、DAO層和業務邏輯層的結構框架,相對複雜的業務和檢視層、控制層的開發則只能通過人工開發。因此,軟體工廠外掛只能實現資訊系統的半自動化開發。使用工廠化外掛開發時,首先將外掛附加到Eclipse開發環境中,通過執行外掛彈出目標系統需求對話方塊,輸入目標系統功能需求和引數要求,生成目標系統的結構框架和相關配置檔案。最後,通過人工完善業務邏輯層及檢視層、控制層的功能。這樣便可以完成一個管理資訊系統的開發。

4 結束語

ERP是一個龐大而複雜的管理資訊系統,涉及的功能多,業務邏輯複雜且多樣化。要建立一個完整的ERP最大系統,需要對各模組進行詳細的功能劃分,併為各功能建立所有可能的業務邏輯模型,這需要很大的時間和精力。筆者在研究過程中就人力資源管理子系統進行了嘗試,取得了較為滿意的結果,證明應用這樣的方法研究資訊系統的軟體工廠技術是可行的。