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