徐云松, 曹媛媛, 王肖奕
(山東青島煙草有限公司, 山東 青島 266071)
隨著經(jīng)濟全球化的迅速發(fā)展,我國的企業(yè)競爭越來越激烈,企業(yè)的電子商務(wù)需求越來越大。構(gòu)建一套完整的適應(yīng)信息化的管理機制對企業(yè)來說至關(guān)重要,而這一切都要依賴于ERP來實現(xiàn),企業(yè)ERP財務(wù)管理系統(tǒng)可以統(tǒng)籌企業(yè)中的人、財、物等信息資源[1]。為了高效地處理管理企業(yè)財務(wù)信息的事務(wù),提高企業(yè)的綜合競爭力和優(yōu)化能力,針對企業(yè)財務(wù)管理系統(tǒng)靈活性差、維護困難的問題,基于MVC(Model-View-Controller)的設(shè)計模式可以解決上述的難題,MVC的主要核心思想就是復(fù)用,提高復(fù)用率。ERP系統(tǒng)在國外是由MRP發(fā)展起來的[2],從單一式財務(wù)管理逐漸發(fā)展成全面涵蓋所有經(jīng)濟內(nèi)容。并且針對ERP軟件的復(fù)雜性和低成功率,IBM、SAP、BEA和Oracle公司等共同制定和部署MVC架構(gòu)的產(chǎn)品以克服ERP的缺點。在國內(nèi),MVC架構(gòu)模型逐漸本地化,企業(yè)采用Web服務(wù)實現(xiàn)C/S或者B/S模式[3]。業(yè)務(wù)邏輯設(shè)計的MVC架構(gòu)有效地避免了系統(tǒng)軟件開發(fā)周期比較長的缺點,提升了企業(yè)的運轉(zhuǎn)效率。
MVC是目前常見的一種軟件設(shè)計模式,是Java平臺的推薦設(shè)計模型,其對Web的開發(fā)應(yīng)用提供合理的分析方法,通常用來連接一個應(yīng)用的整體流程。MVC的處理流程圖,如圖1所示。
圖1 MVC組件關(guān)系圖
依照分層原理,依次為模型層、控制層和視圖層[4]。視圖層則表示為Web應(yīng)用的交互界面,有可能是HTML、XML或Applet界面。而對于系統(tǒng)業(yè)務(wù)流程上的數(shù)據(jù)處理則需要模型層的操作,用戶界面的數(shù)據(jù)輸入和數(shù)據(jù)請求過程傳遞給控制層與模型層[5]。模型層的內(nèi)容是業(yè)務(wù)流程的數(shù)據(jù)操作以及業(yè)務(wù)規(guī)則的制定,依照業(yè)務(wù)規(guī)則進行業(yè)務(wù)模型設(shè)計是MVC架構(gòu)中的核心研究內(nèi)容,對于應(yīng)用模型的抽象化處理依然按照適當(dāng)?shù)某橄髮哟危瑥亩岣吣P偷闹赜眯訹6]??刂茖拥淖饔镁褪墙邮沼脩舻姆?wù)請求并完成視圖與模型的對接,不做任何的數(shù)據(jù)操作動作,因此模型與視圖的對應(yīng)關(guān)系存在一對多或多對一的關(guān)系。
MVC的3個層次也分別對應(yīng)軟件開發(fā)的上、中、下層。上層是顯示界面層;中層是控制層;下層是模型層。上層調(diào)用下層的數(shù)據(jù)與服務(wù)[7],并且還要保持每個層次的獨立性,只暴露出連接接口,封裝具體的實現(xiàn)細節(jié),如圖2所示。
圖2 MVC模塊層次圖
MVC的處理過程就是三層依次配合,最后返回結(jié)果的流程,如圖3所示。
圖3 MVC處理流程圖
由此,也可以總結(jié)出,MVC設(shè)計模式的優(yōu)點包含多視圖對應(yīng)單模型、無格式的模型數(shù)據(jù)和軟件工程合理化管理[8]。MVC設(shè)計模式增加了應(yīng)用的靈活性和個性化。
隨著ERP系統(tǒng)的普及,對于IT的決策分析支持算法也在不斷的升級,為了適應(yīng)更新的決策算法以分析數(shù)據(jù)中的規(guī)律。存儲在ERP系統(tǒng)中的歷史財務(wù)數(shù)據(jù)作為數(shù)據(jù)挖掘的數(shù)據(jù)源。常見的算法包含決策樹算法、聚類算法、遺傳算法和神經(jīng)網(wǎng)絡(luò)等[9]。決策樹算法在ERP系統(tǒng)中是比較常見的算法,在二叉樹的基礎(chǔ)上在每個分支作為數(shù)據(jù)特征,將二叉樹葉作為數(shù)據(jù)集合參照特定的數(shù)據(jù)特征依次實現(xiàn)數(shù)據(jù)分割[10],直至完成所有數(shù)據(jù)分類,如圖4所示。
圖4 ERP系統(tǒng)決策樹示意圖
在此基礎(chǔ)上構(gòu)建C4.5算法,依照信息增益率的概念分析決策樹的屬性進行剪枝操作[11]。信息增益率,如式(1)。
(1)
計算數(shù)值大的信息增益率,完后根節(jié)點的選擇建立決策樹。
傳統(tǒng)的財務(wù)管理系統(tǒng)的軟件已經(jīng)無法滿足企業(yè)的需求,需要對原有的ERP軟件進行改造和升級,對現(xiàn)有企業(yè)的核心財務(wù)管理內(nèi)容進行模擬仿真,在其中加入MVC設(shè)計模式思想,從而提高企業(yè)的內(nèi)部效率,有效地對財務(wù)信息進行查詢與存儲。對于企業(yè)財務(wù)管理模式逐漸由核算型和管理型向集中式管理過渡[12],具備更好的財務(wù)管理模塊,主要包括應(yīng)收賬款模塊、總賬模塊、應(yīng)付賬款模塊、固定資產(chǎn)模塊、工資模塊、成本管理模塊和現(xiàn)金管理模塊等。為了將企業(yè)預(yù)算、審核和監(jiān)控進行完全的覆蓋,在分析需求時,要考慮企業(yè)的總體布局、戰(zhàn)略規(guī)劃、設(shè)備管理、財務(wù)狀況、資金運轉(zhuǎn)、生產(chǎn)力規(guī)劃和物料籌劃等方面,從而指導(dǎo)企業(yè)的生產(chǎn)、庫存、采購和銷售[13]。
在對需求進行分析后,本文設(shè)計基于MVC架構(gòu)的ERP軟件時,主要劃分成兩大部分,財務(wù)系統(tǒng)功能和系統(tǒng)管理兩個子系統(tǒng)。用戶根據(jù)自己的用戶名和密碼登錄到系統(tǒng)中,進行其他的財務(wù)管理操作,包含憑證管理、賬務(wù)管理、報表管理、工資管理、固定資產(chǎn)管理和財務(wù)分析等。一個標(biāo)準ERP處理的基本流程,如圖5所示。
圖5 財務(wù)系統(tǒng)流程圖
信息系統(tǒng)項目情況、項目使用情況和員工基本信息作為系統(tǒng)的主體。系統(tǒng)體系的架構(gòu)應(yīng)符合.Net開發(fā)原則[14],業(yè)務(wù)邏輯上包括對于服務(wù)的調(diào)用,如圖6所示。
圖6 Web服務(wù)的調(diào)用
對于數(shù)據(jù)庫的設(shè)計,首先從概念模型入手,分別從用戶管理概念數(shù)據(jù)、財務(wù)薪資概念數(shù)據(jù)、用戶和項目信息管理概念數(shù)據(jù)來展開。用戶和部門的管理信息實體分別是用戶、角色、部門和部門類別。財務(wù)薪資管理對應(yīng)財務(wù)的報銷審核、薪資發(fā)放和獎金發(fā)放等。一個企業(yè)可以包含多個數(shù)據(jù)表信息。財務(wù)管理模塊的數(shù)據(jù)表,如表1所示。
表1 財務(wù)管理數(shù)據(jù)表
而對于財務(wù)信息管理,其數(shù)據(jù)表應(yīng)包含憑證表、分錄歷史表、憑證歷史表、明細賬簿、分類賬簿、本年明細賬簿、固定資產(chǎn)清單、員工清單、工資清單和工資發(fā)放表等。表單與信息應(yīng)保持一對一的關(guān)系,部門的財務(wù)信息表的用途,如表2所示。
表2 財務(wù)信息表
接下來是進行系統(tǒng)部署設(shè)計,系統(tǒng)的部署包含Web Service服務(wù)器、Web服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器,所有數(shù)據(jù)的操作對于數(shù)據(jù)訪問層都是通過ADO.NET數(shù)據(jù)來完成的。
從上述的分析中系統(tǒng)采用基于J2EE的Web結(jié)構(gòu)進行開發(fā),操作系統(tǒng)為Windows Server 2012,數(shù)據(jù)庫采用Microsoft SQL Server 2015,采用Tomcat 9.0的Web服務(wù)器,對于客戶端則采用IE 9.0進行訪問服務(wù)器,利用數(shù)據(jù)庫連接字符串分配數(shù)據(jù)庫的地址。Eclipse作為集成的開發(fā)環(huán)境,STRUTS的版本為1.2。使用的編程語言是Java語言,采用代碼分離的設(shè)計模式,其特征是便于維護、調(diào)試,以及后續(xù)邏輯代碼開發(fā)的復(fù)用。選擇主流的開發(fā)框架SSH,其中包含采用Hibermate對象關(guān)系映射框架,利用JSON作為數(shù)據(jù)交換語言,AJAX+DOMAPI創(chuàng)建站點,滿足系統(tǒng)設(shè)計的靈活性。根據(jù)前述的設(shè)計方法,解決方案的結(jié)構(gòu)圖,如圖7所示。
圖7 解決方案的結(jié)構(gòu)圖
以分層的方法實現(xiàn)業(yè)務(wù)邏輯代碼,在編譯后由Web服務(wù)進行封裝,通過實現(xiàn)一個JSON Web服務(wù)器對業(yè)務(wù)處理層適配,經(jīng)數(shù)據(jù)傳遞至持久化層,并將各個層次的數(shù)據(jù)存儲到數(shù)據(jù)庫中。
在客戶端的表示層實現(xiàn)功能,需要啟動host進行添加服務(wù)應(yīng)用完成服務(wù)的調(diào)用。每個賬戶都有特定的角色,用戶登錄系統(tǒng)后,對于采購模塊進行管理,對訂單的內(nèi)容進行維護。其界面的設(shè)計,如圖8所示。
圖8 訂單采購管理界面
數(shù)據(jù)庫的設(shè)計中包含企業(yè)員工的信息,一個產(chǎn)品具有編號、所屬倉庫、經(jīng)辦人、創(chuàng)建日期和創(chuàng)建人等。當(dāng)查詢員工的信息時,通過代理調(diào)用而成。其查詢界面設(shè)計,如圖9所示。
圖9 商品庫存瀏覽界面
當(dāng)?shù)谝淮芜M行界面加載時,可以通過“查詢”按鈕查詢項目類別,用戶完全掌握業(yè)務(wù)邏輯層的操作,數(shù)據(jù)庫的數(shù)據(jù)集將界面操作聯(lián)系在一起,組成整體的商品庫存信息查詢功能。
當(dāng)企業(yè)財會人員使用財務(wù)信息管理時,主要按照項目的賬目對報表進行編制,并且可以按照與其他企業(yè)的來往資金信息對項目財務(wù)管理信息進行編輯和復(fù)核,如圖10所示。
圖10 財務(wù)管理界面
為了驗證該ERP系統(tǒng)的性能與穩(wěn)定性,主要考量Web服務(wù)器的應(yīng)力測試和分析Web組件[15],采用黑盒測試的方法進行財務(wù)系統(tǒng)測試,保證數(shù)據(jù)在測試條件下,能夠與真實應(yīng)用的數(shù)據(jù)匹配在一起,而不是處于抽象的層次。為了掌握ERP財務(wù)管理系統(tǒng)的響應(yīng)時間和并行處理能力,以每秒發(fā)送的平均請求數(shù)RPS作為客觀評價的指標(biāo)。該數(shù)值越大就表明系統(tǒng)的響應(yīng)時間較快,當(dāng)連接服務(wù)數(shù)目過大的時候,RPS的數(shù)值就比較低。當(dāng)開始測試時候,利用LoadRunner編寫腳本創(chuàng)建新的測試向?qū)?,并且?dǎo)入測試內(nèi)容,觸發(fā)多路訪問條件,獲取測試結(jié)果。依據(jù)上述步驟建立的測試項,如表3所示。
表3 ERP系統(tǒng)響應(yīng)時間測試場景結(jié)果表
在測試環(huán)境中,對基于MVC架構(gòu)的ERP財務(wù)管理系統(tǒng)的時間響應(yīng)能力的測試結(jié)果,如圖11所示。
圖11 系統(tǒng)平均事務(wù)響應(yīng)時間的顯示圖
并發(fā)用戶數(shù)目為100名時,此時的系統(tǒng)響應(yīng)時間在0.995秒左右,CPU的利用率為51.58%;當(dāng)用戶請求服務(wù)數(shù)為50時,響應(yīng)時間在0.556秒左右。通常來說,隨著請求服務(wù)數(shù)目的增加,響應(yīng)時間也會增加。當(dāng)用戶請求數(shù)目在100以內(nèi)的響應(yīng)時間保持在視為延遲可忽略的范圍內(nèi),及時響應(yīng)請求。
ERP軟件已經(jīng)成為世界通用的企業(yè)財務(wù)管理系統(tǒng),是企業(yè)必要的技術(shù)支撐。為了提高ERP財務(wù)軟件的靈活性與松耦合性,采用MVC技術(shù)架構(gòu),從而使得企業(yè)財務(wù)模塊的設(shè)計更加靈活,也為企業(yè)查詢信息功能帶來極大的便利,采用MVC技術(shù)模式對系統(tǒng)進行設(shè)計。本文通過設(shè)計財務(wù)、商品等數(shù)據(jù)的數(shù)據(jù)庫,通過持久層適配,解決ERP的痛點,設(shè)計財務(wù)管理界面。通過構(gòu)建整體的體系架構(gòu),分析后對服務(wù)實現(xiàn)、業(yè)務(wù)邏輯層和數(shù)據(jù)庫等進行詳細設(shè)計?;贛VC體系構(gòu)建四層體系架構(gòu),對業(yè)務(wù)流程適當(dāng)?shù)亟⒛P停诮缑鎸崿F(xiàn)后,利用黑盒測試軟件對請求數(shù)目測試響應(yīng)時間。經(jīng)過測試,在100個請求服務(wù)數(shù)內(nèi),系統(tǒng)的響應(yīng)時間在1秒內(nèi),CPU的利用率為51.58%左右,可以滿足系統(tǒng)的性能,保證系統(tǒng)的功能與性能的全面性。在后續(xù)的研究中,可以進一步對ERP系統(tǒng)進行功能擴展,以支持更多的財務(wù)管理活動,完善更好的安全策略。