摘 要: 設(shè)計了基于XML的業(yè)務(wù)建模平臺,該平臺能在短時間內(nèi)構(gòu)建復(fù)雜的業(yè)務(wù)模型,同時以較低成本進(jìn)行系統(tǒng)的運(yùn)營維護(hù)。在平臺中,將業(yè)務(wù)單據(jù)抽象為一個表單對象模型,該模型定義了表單與數(shù)據(jù)庫的接口、定義了表單的屬性、表單操作界面的具體屬性等,實現(xiàn)了表單參照定義、字典參照定義、公式計算定義、列表查詢定義等功能。通過對鐵路發(fā)運(yùn)系統(tǒng)管理進(jìn)行深入分析,實現(xiàn)了鐵路發(fā)運(yùn)管理系統(tǒng)中流程自定義,很好地完成了采購管理、銷售管理、結(jié)算管理、計量管理等功能模塊,滿足了企業(yè)的各種業(yè)務(wù)需求,在企業(yè)發(fā)運(yùn)物資管理中具有很強(qiáng)的實用價值。
關(guān)鍵詞: XML文檔模型;發(fā)運(yùn)物資管理;業(yè)務(wù)建模平臺
隨著計算機(jī)技術(shù)的飛速發(fā)展,計算機(jī)在企業(yè)管理中應(yīng)用將進(jìn)一步加強(qiáng)。對于大中型煤炭運(yùn)輸企業(yè)來說,利用計算機(jī)軟件高效率的管理鐵路發(fā)運(yùn)控制,是適應(yīng)現(xiàn)代化制度的要求、推動企業(yè)走向科學(xué)化、規(guī)范化的必要條件。通過對合同管理業(yè)務(wù)、計劃管理業(yè)務(wù)、計量管理業(yè)務(wù)、結(jié)算業(yè)務(wù)的難點(diǎn)和舞弊行為進(jìn)行分析和研究之后,在充分考慮企業(yè)整個采購、倉儲、銷售過程中的關(guān)系的基礎(chǔ)上開發(fā)出管理系統(tǒng)。鐵路發(fā)運(yùn)系統(tǒng)對各業(yè)務(wù)環(huán)節(jié)進(jìn)行了嚴(yán)密的流程設(shè)計,采用計算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫、軟硬件技術(shù),可以幫助企業(yè)實時監(jiān)控整個計劃流程、計量流程、結(jié)算流程,減少人員的參與,從而防止了人為因素的影響,提高工作效率。
1 開發(fā)工具
軟件建模是提高與有效控制軟件質(zhì)量的有效途徑,近年來,大家關(guān)注的主要是數(shù)據(jù)設(shè)計模型、對象模型和業(yè)務(wù)流程模型。目前主要的建模工具軟件如Sybase Power Designer、IBM Rational Rose、Computer Associates的ERWin等都在加強(qiáng)各自建模工具的融合與集成[1]。Power Designer靈活的分析和設(shè)計特性允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫,同時提供符號表示,使數(shù)據(jù)庫的創(chuàng)建更加容易,同時能更加簡單地向非技術(shù)人員展示數(shù)據(jù)庫和應(yīng)用的設(shè)計。本文采用建模平臺PowerDesigner15進(jìn)行開發(fā)。Visual Studio是微軟公司推出的開發(fā)環(huán)境,是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境。Visual Studio 2010開發(fā)的程序需要.NET Framework 4.0平臺支持,支持Microsoft SQL Server、IBM DB2和Oracle等數(shù)據(jù)庫。鐵路發(fā)運(yùn)管理系統(tǒng)正是需要一個高效、集成的開發(fā)環(huán)境,系統(tǒng)開發(fā)平臺設(shè)計平臺Microsoft Visual Studio 2010,數(shù)據(jù)庫平臺Microsoft SQL Server 2005以及XML的相關(guān)技術(shù)。
2 XML文檔對象模型
可擴(kuò)展標(biāo)記語言XML(Extensible Markup Language),用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言[4]。XML易于在任何應(yīng)用程序中讀寫數(shù)據(jù),能夠很快成為數(shù)據(jù)交換的唯一公共語言,XML同時也推出一種新型文檔類型,使得開發(fā)者也可以不必定義文檔類型。文檔對象模型DOM(Document Object Model),是W3C組織推薦的處理可擴(kuò)展置標(biāo)語言的標(biāo)準(zhǔn)編程接口[2]。它是一種與平臺和語言無關(guān)的應(yīng)用程序接口,可以動態(tài)地訪問程序和腳本,更新其內(nèi)容、結(jié)構(gòu)。DOM是一種基于樹的API文檔,它要求在處理過程中整個文檔都表示在存儲器中。DOM分為HTML DOM和XML DOM兩種,它們分別定義了訪問和操作HTML/XML文檔的標(biāo)準(zhǔn)方法,并將對應(yīng)的文檔呈現(xiàn)為帶有元素、屬性和文本的樹結(jié)構(gòu)。
XML訪問數(shù)據(jù)庫的機(jī)制如圖1所示。
本文所探討的鐵路發(fā)運(yùn)管理系統(tǒng)中,采用的是將XML文檔以文本方式存入數(shù)據(jù)庫表的一個字段中,這個字段通常是文本型(6 000個字符大?。┑模@樣便于存放容量較大的XML文檔[5]。
3 業(yè)務(wù)建模平臺設(shè)計
經(jīng)過對多個已經(jīng)完成的項目進(jìn)行分析后,可以發(fā)現(xiàn)一些共有的特征模塊。從而提出4個基本單元模塊:數(shù)據(jù)、報表、表單、打印。在開發(fā)系統(tǒng)中,基本上都要用到這幾個模塊,因此將這4個部分進(jìn)行模型化,再加上一些控制組件,進(jìn)行組合和調(diào)試之后,形成一個快速開發(fā)的平臺,這樣就可以對軟件開發(fā)的基礎(chǔ)需求進(jìn)行快速的開發(fā),大大縮短了軟件開發(fā)的周期,節(jié)省了開發(fā)成本。在平臺中可以將每一個業(yè)務(wù)需求抽象為一個采用XML表示的表單對象模型,該模型定義了表單與數(shù)據(jù)庫的接口、定義了表單的屬性、定義表單操作界面的具體屬性等,并且實現(xiàn)了公式自定義、表單參照自定義、字典參照自定義、列表查詢自定義等功能[5-6]。業(yè)務(wù)建模平臺功能結(jié)構(gòu)如圖2所示。
對于一個管理系統(tǒng)來說,核心內(nèi)容是基于流程的表單設(shè)計,對于不同的企業(yè)來說,即使是相同類型的管理系統(tǒng),其所要求的表單內(nèi)容都有可能不一樣,為了能在短時間內(nèi)設(shè)計出符合要求的表單,必須實現(xiàn)表單自定義[7]。
表單界面的描述文檔(XML)
表單界面的描述文檔主要提供表單上元素的相關(guān)屬性和數(shù)據(jù)。例如表單元素的名稱、大小、位置、類型、公式、參照,對應(yīng)的數(shù)據(jù)等。可以將描述文檔形式化表述為:
Form={f1,f2……fn}
f1=<head>,記錄表單頭部信息。
head=<標(biāo)題,單據(jù)編碼格式,預(yù)覽模板,打印模板,窗體背景,窗體背景色,必輸項顏色,參照項顏色,只讀項顏色,單據(jù)類型,類型,其他參數(shù)>
f2=<data>,記錄表單表頭的數(shù)據(jù)信息。
data=<表,視圖,主鍵>,另外在data的子節(jié)點(diǎn)中記錄可以使用的列的集合。
……
F4=<text>,記錄了表單輸入項信息,其子節(jié)點(diǎn)定義了每個輸入項位置、大小、顏色、字體等屬性;保存了單據(jù)參照關(guān)系自定義與字典參照自定義,公式自定義等信息。
fn=<gridlist>,記錄列表信息。對查詢、過濾、列表進(jìn)行了自定義。
以下是對代發(fā)合同的表單設(shè)計進(jìn)行說明:
<?xml version="2.0"encoding="utf-8"?>
<root>
<head>
<標(biāo)題>采購合同</標(biāo)題>
<單據(jù)編碼格式 允許手工編碼="0">收貨磅碼單編碼</單據(jù)編碼格式>
<打印模板 prnlst="0">002001001</打印模板>
<單據(jù)類型>01001</單據(jù)類型>
<參數(shù)><!—表單基本參數(shù)-->
<限制刪除他人單據(jù)id="C02"value="1"tag="0不限制1限制"/>
<限制棄審他人單據(jù)id="C03"value="1"tag="0不限制1限制"/>
<限制修改他人單據(jù)id="C01"value="1"tag="0不限制1限制"/>
</參數(shù)>
</head>
<!—數(shù)據(jù)項定義 對應(yīng)數(shù)據(jù)表、主鍵、每一字段項名稱、參照、必輸?shù)仍O(shè)置-->
<data tablename="DF_HT"viewname="hv_DF_HT"primarykey="THBM"order=""sql="">
<HTBM type="C"visible="1"db="1"refer="0"put=""get=""name="合同編碼"point=""default=""required="1"readonly="0"zero="0"maskinput=""format=""sys="1"formula=""value=""min=""max=""/>
……
</data>
<!—表體數(shù)據(jù)項定義 對應(yīng)數(shù)據(jù)子表、主鍵、外鍵、每一字段項名稱、參照、長度等設(shè)置-->
<databody tablename="HTMX"primarykey="MXID"foreignkey="DJBM">
<DJBM length="100"align="left"summary=""min=""max=""…/>……
</databody>
<!—標(biāo)簽項定義 表單上每個標(biāo)簽x y字體、字號等設(shè)置-->
<label newlblcount="5">
<BDBM visible="2"x="4"y="221"fontname="宋體"fontsize="9.75"fontcolor="Black"b="0"i="0"u="0"select="0">磅單編碼</BDBM>
……
</label>
針對數(shù)據(jù)庫中的一個數(shù)據(jù)表,通過設(shè)計不同的單據(jù)類型可以設(shè)計多個表單,根據(jù)用戶的需求,可通過修改表單類型來實現(xiàn),從而對系統(tǒng)的可擴(kuò)展性有了很大的提高。編輯完成之后建模平臺運(yùn)行結(jié)果如圖3所示。
4 鐵路發(fā)運(yùn)系統(tǒng)設(shè)計
對發(fā)運(yùn)系統(tǒng)進(jìn)行了總體設(shè)計,首先做了需求分析,確定了系統(tǒng)建設(shè)的目標(biāo),然后從業(yè)務(wù)、網(wǎng)絡(luò)、硬件、存儲等方面進(jìn)行了分析與設(shè)計,并就業(yè)務(wù)流程進(jìn)行了業(yè)務(wù)分析與設(shè)計,給出了業(yè)務(wù)流程圖。
4.1 系統(tǒng)需求分析
系統(tǒng)采用多級樹形菜單將功能進(jìn)行劃分,按不同的崗位進(jìn)行權(quán)限管理。系統(tǒng)包括采購管理、銷售管理、門禁管理、計量管理、質(zhì)檢化驗管理、結(jié)算管理、系統(tǒng)維護(hù)等功能模塊,系統(tǒng)所包含的模塊如圖4所示。
4.2 業(yè)務(wù)建模平臺功能設(shè)計
功能:將業(yè)務(wù)單據(jù)、報表在設(shè)計器中進(jìn)行設(shè)計,定義數(shù)據(jù)庫的連接、格式和數(shù)據(jù)的交換格式同時生成XML對象模型,并保存到數(shù)據(jù)庫中。
輸入:表單、打印格式,數(shù)據(jù)庫表結(jié)構(gòu)。
輸出:以XML文件描述的表單及報表,XML文件等。
流程圖如圖5所示。
4.3 功能實現(xiàn)
業(yè)務(wù)基于建模平臺進(jìn)行表單建模,設(shè)計表單樣式、打印樣式以及報表樣式,然后在Microsoft Visual Studio 2010開發(fā)平臺中對相關(guān)業(yè)務(wù)進(jìn)行開發(fā)。合同窗體frmHT_DF是從BaseForm2繼承集成過來的,表頭輸入合同基本信息,其中合同單號與供應(yīng)商發(fā)的提貨單編號對應(yīng),同時還包含了對表單基本操作,如新增、批量新增、編輯、審核、保存、刪除、導(dǎo)出、作廢、查詢、預(yù)覽、打印、導(dǎo)出EXCEL;瀏覽定位頁可以列表形式查看合同,并且可方便地實現(xiàn)過濾、排序、匯總、分組、拖動顯示等功能,所有列表可方便的導(dǎo)出EXCEL文件。合同管理主要是對合同的新增、修改、刪除、審核等功能,不同用戶有不同的權(quán)限。以代發(fā)合同為例說明。
合同新增如圖6所示,點(diǎn)擊合同菜單,點(diǎn)擊新增后,按要求填寫相應(yīng)的屬性,完成后點(diǎn)擊保存。如需修改可直接點(diǎn)擊編輯進(jìn)行修改。點(diǎn)擊取消可以取消本次操作,回到上一步操作。如果合同已經(jīng)審核通過的,就不可以再次進(jìn)行編輯,只有審核人棄審后才能修改。
根據(jù)工程實際應(yīng)用,基于XML開發(fā)了一套完整的業(yè)務(wù)建模平臺,通過業(yè)務(wù)建模平臺,可以更加快速的進(jìn)行軟件開發(fā)。在對用戶需求進(jìn)行分析的基礎(chǔ)上,可在平臺上進(jìn)行拖拉,快速繪制出用戶的需求,從而大大調(diào)高了軟件開發(fā)的效率,縮短了軟件開發(fā)的成本,更加方便地為用戶進(jìn)行修改維護(hù)。目前,建模平臺相對覆蓋面比較窄,還需要進(jìn)一步拓寬,不斷適應(yīng)更多行業(yè)的軟件開發(fā)需求,也是今后的研發(fā)重點(diǎn)。
參考文獻(xiàn)
[1] 王衛(wèi)國.基本對象模型及其應(yīng)用技術(shù)[J].兵工自動化,2010(3):30-33.
[2] 辛愛莉.基于XML對象樹模型的異構(gòu)數(shù)據(jù)集成技術(shù)研究[J].中國科技信息,2009(13):22-24.
[3] KIM Y, KANG S, KIM D, et al. WW-FLOW: Web-based workflow management with runtime encapsulation[J]. IEEE Internet Computer, 2002,4(3):55-64.
[4] 方美琪.XML及其在電子商務(wù)中的應(yīng)用[M].北京:清華大學(xué)出版社,2003.
[5] 王春紅,何志林.基于XML的Web系統(tǒng)報表精確打印實現(xiàn)[J].現(xiàn)代電子技術(shù),2007(5):37-39.
[6] 王振輝.基于RDBMS的XML數(shù)據(jù)存儲技術(shù)[J].計算機(jī)系統(tǒng)應(yīng)用,2011(3):32-34.
[7] 董萍萍.基于XML技術(shù)的物流信息系統(tǒng)平臺研究[J].物流技術(shù),2011(1):18-20.
[8] 李霞,王琦.基于.NET構(gòu)件模型的用友U8憑證接口構(gòu)件模型分析與設(shè)計[J].山西大同大學(xué)學(xué)報(自然科學(xué)版),2010(5):41-43.