国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向管理信息系統(tǒng)開發(fā)的軟件工廠技術(shù)研究

2016-12-26 18:15羅明山
海峽科技與產(chǎn)業(yè) 2016年11期
關(guān)鍵詞:系統(tǒng)架構(gòu)管理信息系統(tǒng)

羅明山

摘 要:軟件工廠技術(shù)是提高軟件生產(chǎn)效率的重要方法,軟件體系結(jié)構(gòu)的規(guī)范化及Eclipse開放式的開發(fā)環(huán)境為軟件工廠技術(shù)的研究提供了重要的基礎(chǔ)。文章以ERP系統(tǒng)為管理信息系統(tǒng)的架構(gòu)藍本,深入研究了ERP系統(tǒng)的功能架構(gòu)及Java EE的軟件體系結(jié)構(gòu),利用代碼自動生成技術(shù),提出了管理信息系統(tǒng)工廠化插件研發(fā)的方法。

關(guān)鍵詞:管理信息系統(tǒng);系統(tǒng)架構(gòu);軟件工廠;ERP

0 引言

由于軟件自身的許多特殊性[1],軟件的工廠化的技術(shù)研究一直沒有取得太大的進展。隨著人們對軟件的認知日益深入,軟件技術(shù)人員對特定領(lǐng)域的軟件架構(gòu)不斷達成共識,軟件開發(fā)過程中的標準與規(guī)范不斷形成,為軟件工廠技術(shù)的研究創(chuàng)造了條件。近年來,微軟、IBM等國際軟件巨頭都提出了自己的軟件工廠解決方案,微軟的COM/COM+技術(shù)在Window平臺開發(fā)中得到廣泛應(yīng)用[2],IBM公司研發(fā)的軟件設(shè)計工具Rose提供了“正向工程”機制,能通過形式化的設(shè)計模型自動生成目標系統(tǒng)的架構(gòu)和局部代碼;開源集成開發(fā)工具Eclipes/MyEclipes則提供了“反向工程”機制。通過反向工程,可以從數(shù)據(jù)庫表快速地生成目標系統(tǒng)的DAO架構(gòu)模型及Hibernate配置。這些都是軟件工廠應(yīng)用研究取得進展的表現(xiàn)。利用JEE系統(tǒng)架構(gòu)模型及代碼自動生成原理,結(jié)合ERP系統(tǒng)功能架構(gòu),深化Eclipes 環(huán)境下的軟件工廠技術(shù)研究,則可以在Eclipes開發(fā)環(huán)境中實現(xiàn)企業(yè)信息系統(tǒng)工廠化開發(fā),提高開發(fā)效率。

軟件工廠一是要面向某種特定應(yīng)用,二是自動化及快速配置[3]。因此,面向ERP領(lǐng)域的軟件工廠技術(shù)研究,首先要深入ERP系統(tǒng)的功能架構(gòu)和業(yè)務(wù)邏輯。其次深入研究信息系統(tǒng)的層次架構(gòu)及代碼自動化原理。

1 ERP系統(tǒng)功能架構(gòu)

國內(nèi)ERP領(lǐng)導廠商金蝶國際軟件集團將ERP的業(yè)務(wù)范圍劃分為資本市場、供應(yīng)市場、消費市場和知識市場等四大管理領(lǐng)域。資本市場主要涉及財務(wù)管理,供應(yīng)市場主要涉及供應(yīng)商管理,消費市場涉及客戶關(guān)系管理,知識市場涉及人力資源管理(辦公自動化、信息門戶均屬于這塊內(nèi)容)。這四個市場的中間是供應(yīng)鏈管理和制造管理,其中,供應(yīng)鏈管理又包括采購管理、倉存管理、銷售管理和分銷管理;制造管理又包含計劃管理、車間管理、設(shè)備管理和質(zhì)量管理。因此,一個完整的ERP系統(tǒng)主要包含:財務(wù)管理、銷售管理、客戶關(guān)系管理、采購管理、供應(yīng)商管理、倉存管理、計劃管理、車間管理、質(zhì)量管理、設(shè)備管理、人力資源管理等功能模塊。

在企業(yè)運營中,銷售部門根據(jù)市場需求或銷售歷史數(shù)據(jù)制定銷售計劃,形成企業(yè)的主生產(chǎn)計劃的數(shù)據(jù)來源。而企業(yè)主生產(chǎn)計劃制定則是其他各部門制定各自計劃的依據(jù)。比如,采購部門根據(jù)主生產(chǎn)計劃制定采購計劃,生產(chǎn)車間根據(jù)主生產(chǎn)計劃制定車間生產(chǎn)計劃和設(shè)備維護計劃。

采購部門根據(jù)采購計劃進行物料采購,一方面形成應(yīng)付賬款,與財務(wù)管理子系統(tǒng)對接,另一方面采購入庫物料,與倉存管理子系統(tǒng)對接。采購過程中涉及原材料質(zhì)量的鑒定與驗收,故涉及質(zhì)量管理。

生產(chǎn)車間根據(jù)車間生產(chǎn)計劃,從倉庫領(lǐng)料出庫進行生產(chǎn),最后將生產(chǎn)出來的產(chǎn)品存入倉庫,即生產(chǎn)入庫;生產(chǎn)過程中,要進行生產(chǎn)設(shè)備的管理及產(chǎn)品質(zhì)量的監(jiān)控,故涉及設(shè)備管理和質(zhì)量管理。

銷售部門從倉庫中提取產(chǎn)品銷售給客戶,一方面形成銷售出庫行為,與倉存管理系統(tǒng)對接,另一方面產(chǎn)生應(yīng)收賬款,與財務(wù)管理子系統(tǒng)對接。

財務(wù)管理子系統(tǒng)通過固定資產(chǎn)管理對接生產(chǎn)部門的設(shè)備管理,通過薪資管理與人力資源管理子系統(tǒng)對接。

2 基于Java EE的軟件架構(gòu)

2.1 信息系統(tǒng)的層次結(jié)構(gòu)模型

Java EE是目前最為成熟最為流行的企業(yè)信息系統(tǒng)架構(gòu),它目前最流行的兩個開發(fā)架構(gòu)是SSH(Strut+Spring+Hibernate)和SSM(Spring+SpringMVC+Mybase)架構(gòu),這些架構(gòu)都為信息系統(tǒng)定義了明確層次架構(gòu),如圖1所示。

(1)數(shù)據(jù)訪問層

數(shù)據(jù)訪問層主要提供數(shù)據(jù)庫訪問的元操作,為業(yè)務(wù)邏輯層提供數(shù)據(jù)庫的訪問接口。它由hibernate配置文件(hibernate.conf.xml)、hibernate映射文件(xxx.btm.sml)、POJO對象、DAO接口和對象組成。其中,POJO對象為應(yīng)用軟件中的實體對象;hibernate映射文件用于描述了數(shù)據(jù)庫中表與POJO對象的映射關(guān)系;hibernate配置文件則提供DAO數(shù)據(jù)訪問對象負責提供數(shù)據(jù)庫訪問元操作,包括數(shù)據(jù)的增、刪、改、查等功能,而且業(yè)界為其定義了標準的訪問接口。

(2)業(yè)務(wù)邏輯層

業(yè)務(wù)邏輯層有Server對象構(gòu)成,負責處理系統(tǒng)相對復雜的業(yè)務(wù),按一定的邏輯順序調(diào)用數(shù)據(jù)訪問層的DAO接口訪問數(shù)據(jù)庫。

(3)控制層

該層主要由Struct Action對象和Struct配置文件(Struct.xml)組成,主要負責響應(yīng)視圖層發(fā)起的業(yè)務(wù)請求處理和頁面調(diào)轉(zhuǎn)控制。其中,Action對象負責頁面請求處理,配置文件struct.xml負責頁面調(diào)轉(zhuǎn)描述。

(4)視圖層

該層負責人機交互,為用戶提供數(shù)據(jù)輸入界面和數(shù)據(jù)處理結(jié)果顯示。其核心是HTML+CSS,輔以JSP命令、JSTL標簽和Struct標簽。

2.2 Java Web站點文件管理

Java Web的站點結(jié)構(gòu)是相對穩(wěn)定的。基于SSH架構(gòu)的Web站點結(jié)構(gòu)如圖2所示。

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

Classese文件夾存放由Java源文件編譯生成的字節(jié)碼文件(.class)。

Lib存放站點所需要的jar文件。比如數(shù)據(jù)庫驅(qū)動包、hibernate相關(guān)的jar文件等。

Web.xml是站點的總配置文件,它描述了首頁的訪問順序、struct映射等內(nèi)容。

Hibernate.cfg.xml是hibernate的配置文件,描述了數(shù)據(jù)庫服務(wù)器的地址及數(shù)據(jù)庫訪問的行館配置,包括數(shù)據(jù)連接池參數(shù)的配置等信息。同時還告訴系統(tǒng)Hibernate的映像文件(xxx.hbm.xml)位置。

applicatioContext.xml是Spring的配置文件,描述了Spring的相關(guān)配置。

xxx.hbm.xml描述數(shù)據(jù)庫中的表和應(yīng)用程序中的對象的映射關(guān)系。

3 信息系統(tǒng)軟件工廠插件的研發(fā)與應(yīng)用

雖然ERP系統(tǒng)是面向生產(chǎn)制造類企業(yè)提出的。但是,從企業(yè)分類及涵蓋范圍來看,所有企業(yè)和事業(yè)單位的業(yè)務(wù)范圍均可歸屬于它的架構(gòu)范圍。因此,ERP系統(tǒng)的工廠化插件可以是任何企業(yè)任何管理信息系統(tǒng)的開發(fā)模板和工具。通過工廠化組件應(yīng)實現(xiàn)以下的開發(fā)效果:

(1)通過功能裁剪,實現(xiàn)目標系統(tǒng)所需功能模塊的自動生成。即通過對話框選擇目標系統(tǒng)所需的功能模塊。

(2)可進一步設(shè)定各功能模塊的相關(guān)參數(shù)。比如,倉存管理可設(shè)定為是否支持倉位管理,是否支持倉存管理策略,采用何種倉存管理策略,采購入庫采用何種操作流程等。

3.1 軟件工廠插件的研發(fā)

ERP是一個龐大而復雜的信息系統(tǒng),不同的企業(yè)會有不同的功能需求和業(yè)務(wù)邏輯。因此,要研發(fā)一個能自動開發(fā)適合不同企業(yè)需求的管理信息系統(tǒng)的工廠化組件,必須建立ERP系統(tǒng)的最大系統(tǒng)模型,這些模型包括:

(1)最大數(shù)據(jù)庫模型

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

(2)子功能庫模型

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

(3)業(yè)務(wù)邏輯庫模型

為功能庫中的每一個功能建立所有可能的業(yè)務(wù)邏輯模型,并為相應(yīng)的模型定義代碼生成導語,一并構(gòu)成業(yè)務(wù)邏輯庫。

系統(tǒng)庫模型建立好后,接下來就是開發(fā)工廠化插件。即開發(fā)一個能掛到Eclipse上的一個插件,該插件的任務(wù)是根據(jù)目標系統(tǒng)的功能需求和參數(shù)要求,利用系統(tǒng)庫模型自動生成完整的信息行架構(gòu)。

3.2 軟件工廠插件的工作原理

信息系統(tǒng)軟件工廠插件主要是利用代碼自動生成技術(shù),按信息系統(tǒng)的架構(gòu)和Web站點文件部署架構(gòu)要求,從ERP最大系統(tǒng)庫模型中提取功能子集生成目標系統(tǒng)的架構(gòu)模型。工作流程如下:

(1)利用程序修改Eclipse的相關(guān)文件,以在Eclipse工作區(qū)中創(chuàng)建一個Web項目,并按Web站點部署結(jié)構(gòu)生成相關(guān)文件夾和文件。

(2)根據(jù)目標系統(tǒng)的功能選擇,從ERP最大數(shù)據(jù)庫模型中生成目標系統(tǒng)的數(shù)據(jù)庫,并利用代碼自動生成技術(shù)生成數(shù)據(jù)訪問層的相關(guān)Java文件和配置文件,并導入相應(yīng)的jar包。比如Model層的類、DAO接口和實現(xiàn)、Hibernate配置文件和映射文件等。

(3)根據(jù)所選擇的業(yè)務(wù)邏輯模型,按其對應(yīng)的代碼生成導語,為各功能生成業(yè)務(wù)邏輯層的程序結(jié)構(gòu)框架。

3.3 軟件工廠插件的應(yīng)用

利用軟件工廠插件開發(fā)管理信息系統(tǒng)只能自動生成目標系統(tǒng)的數(shù)據(jù)庫、DAO層和業(yè)務(wù)邏輯層的結(jié)構(gòu)框架,相對復雜的業(yè)務(wù)和視圖層、控制層的開發(fā)則只能通過人工開發(fā)。因此,軟件工廠插件只能實現(xiàn)信息系統(tǒng)的半自動化開發(fā)。使用工廠化插件開發(fā)時,首先將插件附加到Eclipse開發(fā)環(huán)境中,通過運行插件彈出目標系統(tǒng)需求對話框,輸入目標系統(tǒng)功能需求和參數(shù)要求,生成目標系統(tǒng)的結(jié)構(gòu)框架和相關(guān)配置文件。最后,通過人工完善業(yè)務(wù)邏輯層及視圖層、控制層的功能。這樣便可以完成一個管理信息系統(tǒng)的開發(fā)。

4 結(jié)束語

ERP是一個龐大而復雜的管理信息系統(tǒng),涉及的功能多,業(yè)務(wù)邏輯復雜且多樣化。要建立一個完整的ERP最大系統(tǒng),需要對各模塊進行詳細的功能劃分,并為各功能建立所有可能的業(yè)務(wù)邏輯模型,這需要很大的時間和精力。筆者在研究過程中就人力資源管理子系統(tǒng)進行了嘗試,取得了較為滿意的結(jié)果,證明應(yīng)用這樣的方法研究信息系統(tǒng)的軟件工廠技術(shù)是可行的。

百色學院2012年校級科研項目:面向ERP領(lǐng)域的軟件工廠技術(shù)研究(項目編號:2012KB07)

猜你喜歡
系統(tǒng)架構(gòu)管理信息系統(tǒng)
人工智能在智能機器人系統(tǒng)中的應(yīng)用研究
基于云計算的多媒體網(wǎng)絡(luò)學習平臺系統(tǒng)架構(gòu)
基于B/S結(jié)構(gòu)的學生公寓管理信息系統(tǒng)的設(shè)計與實現(xiàn)
基于“互聯(lián)網(wǎng)+”的企業(yè)管理信息系統(tǒng)優(yōu)化分析
基于工作流的水運應(yīng)急信息管理平臺設(shè)計 
河源市| 信丰县| 平塘县| 嘉禾县| 黑山县| 滦南县| 兰考县| 湘西| 济宁市| 台安县| 仙居县| 龙门县| 垫江县| 兖州市| 濉溪县| 潜山县| 花莲市| 宣汉县| 项城市| 静乐县| 墨竹工卡县| 尼勒克县| 江安县| 新田县| 建湖县| 板桥市| 大新县| 晋城| 广东省| 巴马| 乌兰浩特市| 阿克陶县| 潮安县| 祁连县| 应用必备| 泰兴市| 株洲县| 石城县| 静乐县| 内丘县| 元阳县|