李佳等
摘要:針對財務管理網(wǎng)絡化需求,提出了基于Struts2架構(gòu)、采用B/S結(jié)構(gòu)的財務管理系統(tǒng)設計方案。該方案以美發(fā)店為參考模型,由客戶管理、收入管理、支出管理、統(tǒng)計管理等幾個模塊組成。應用表明,該系統(tǒng)能夠滿足需求。
關(guān)鍵詞:財務管理系統(tǒng);Struts2架構(gòu);B/S結(jié)構(gòu)
DOIDOI:10.11907/rjdk.143702
中圖分類號:TP315
文獻標識碼:A 文章編號文章編號:16727800(2015)001011102
0 引言
伴隨著信息技術(shù)的發(fā)展和互聯(lián)網(wǎng)的廣泛應用,財務管理從C/S模式擴展到B/S模式是必然的?!熬W(wǎng)絡財務”是以網(wǎng)絡計算技術(shù)為基礎(chǔ),實現(xiàn)企業(yè)財務與業(yè)務協(xié)同、各種遠程操作、動態(tài)核算和在線財務管理、支持電子商務的一種全新的財務管理模式[1]。為了設計出優(yōu)秀的系統(tǒng),本文的財務管理系統(tǒng)選擇“網(wǎng)絡財務”的管理模式,采用基于Struts2架構(gòu)瀏覽器/服務器(B/S)結(jié)構(gòu)、大型數(shù)據(jù)庫等技術(shù),能夠?qū)崿F(xiàn)遠程處理、集中處理和信息共享。
1 相關(guān)技術(shù)
1.1 B/S結(jié)構(gòu)
B/S是Browser/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Internet Explorer,服務器安裝Oracle、Sybase、MySQL 或 SQL Server等數(shù)據(jù)庫。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),主要事務邏輯在服務器端實現(xiàn),瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。
B/S模式與傳統(tǒng)的C/S模式相比,體現(xiàn)了集中式計算的優(yōu)越性:具有良好的開放性,利用單一的訪問點,用戶可以在任何地點任何時間使用系統(tǒng);可以跨平臺以相同瀏覽器界面訪問系統(tǒng)。
1.2 Struts 2架構(gòu)
Struts2是一個 Pull類型的 MVC框架, 它與傳統(tǒng)類型的 MVC框架不同之處在于:在 Struts 2中,Action既是模型, 又是業(yè)務控制器。視圖直接從 Action里拉取所需的數(shù)據(jù), 而不是另外需要一個單獨的模型對象存在。在 Struts 2中, MVC 模式通過5個核心組件來實現(xiàn):①Action;②攔截器;③值棧/OGNL;④結(jié)果類型;⑤結(jié)果 /視圖技術(shù)[2]。
Struts2工作原理:使用 FilterDispatcher 將 HTTP轉(zhuǎn)換成一個請求,這個請求穿過 Struts2 的攔截器,到達相應的 action 類,調(diào)用相應的 execute方法產(chǎn)生不同的result,這些result在struts.XML中被分別轉(zhuǎn)換成不同的 Web 響應[3]。
2 系統(tǒng)設計與實現(xiàn)
2.1 系統(tǒng)總體結(jié)構(gòu)設計
系統(tǒng)主要有4大模塊,分別是客戶管理、收入管理、支出管理、統(tǒng)計管理,每個模塊都具有打印功能。為了操作方便,對數(shù)據(jù)增加提供了批量導入功能,節(jié)約了操作時間。系統(tǒng)功能模塊如圖1所示。
圖1 系統(tǒng)功能模塊
2.2 客戶管理
客戶管理是對美發(fā)店客戶的詳細資料進行管理。詳細資料包括客戶姓名、電話、郵箱等聯(lián)系信息,以及頭發(fā)特征,例如是否卷發(fā)、頭發(fā)顏色、長度等,最后還有客戶在本店的消費總金額。
該模塊提供了搜索客戶姓名功能,篩選出相應的客戶,以及實現(xiàn)對客戶詳細資料的增刪改功能。對客戶資料的添加,可以分為單條手工錄入和批量導入,前者操作比較繁瑣,數(shù)據(jù)量大時可以選擇后者。
2.3 收入管理
美發(fā)店收入僅限于客戶的消費。收入屬性包括客戶編號、消費日期、消費金額。
該模塊可搜索客戶姓名,或者選擇消費日期來篩選出相應的收入記錄,以及收入的增刪改。收入添加功能在客戶管理模塊操作,在該模塊搜索出消費客戶,隨后在該條記錄上點擊“消費”按鈕,即可跳轉(zhuǎn)到收入添加頁面,此時客戶相關(guān)信息不可編輯。
2.4 支出管理
支出管理是對美發(fā)店所有支出的管理,包含員工工資、水電費、通信費、代理費以及其它費用。
該模塊可選擇支出日期來篩選相應的支出記錄,以及實現(xiàn)支出的增刪改功能。
2.5 統(tǒng)計管理
統(tǒng)計管理是對美發(fā)店財務情況的管理,美發(fā)店的營業(yè)利潤就是收入金額減去支出金額。根據(jù)實際需要,統(tǒng)計管理分為統(tǒng)計盈虧(日盈虧、月盈虧、年盈虧)、支出、收入幾個部分。統(tǒng)計管理是財務系統(tǒng)的核心,有效反映出整個美發(fā)店經(jīng)濟狀況。
該模塊提供日期段盈虧情況,支出、收入統(tǒng)計。盈虧統(tǒng)計可把一段時期的所有收入減去所有支出。盈虧統(tǒng)計核心代碼如下:
incomes=inservice.getincomessbyfddate(selectGroup.getFdate(), selectGroup
.getEdate());
expenses=exservice.getexpensessbyfddate(selectGroup.getFdate(), selectGroup
.getEdate());
float income = 0;float expense = 0;
for(Income icm :incomes){
income += icm.getMoney();}
for(Expense exp :expenses){
expense+=exp.getMoney();}
float amount = income - expense;
具體運行效果如圖2所示。
3 數(shù)據(jù)庫設計與實現(xiàn)
考慮到數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設計分為6個階段:需求分析、概念結(jié)構(gòu)設計、邏輯結(jié)構(gòu)設計、物理結(jié)構(gòu)設計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護[4]。
概念數(shù)據(jù)庫設計可以使用ER(EntityRelationship)圖、數(shù)據(jù)流程圖等設計方法進行,實現(xiàn)時還可以采用某些工具進行。根據(jù)實際需求設計的數(shù)據(jù)庫實體E-R圖共用6個實體,分別是客戶、收入、支出、盈虧統(tǒng)計、收入統(tǒng)計、支出統(tǒng)計,具體分布如圖3所示。
圖2 盈虧統(tǒng)計
圖3 E-R實體
財務管理系統(tǒng)的大容量數(shù)據(jù)存儲需要借助優(yōu)秀的數(shù)據(jù)庫平臺,安全、完整地快速存儲數(shù)據(jù),以及方便靈活地查詢,MySQL 數(shù)據(jù)庫無疑是一個很好的選擇,它是多線程、多用戶的關(guān)系型數(shù)據(jù)庫[5]。財務管理系統(tǒng)所涉及的主要數(shù)據(jù)庫表如下 :①客戶表:客戶ID、客戶編號、客戶姓名、電話號碼;②收入表:收入ID、客戶編號、收入日期、金額;③支出表:支出ID、支出日期、支出類型、支出金額;④盈虧統(tǒng)計表:收入統(tǒng)計ID、支出統(tǒng)計ID、總計;⑤收入統(tǒng)計表:收入統(tǒng)計ID、開始日期、結(jié)束日期、總計;⑥支出統(tǒng)計表:支出統(tǒng)計ID、開始日期、結(jié)束日期、總計。
4 結(jié)語
基于B/S結(jié)構(gòu)的美發(fā)店財務管理系統(tǒng)實現(xiàn)了財務管理網(wǎng)絡化,用戶操作方便,系統(tǒng)界面友好,采用了多級安全機制并支持電子商務。
參考文獻:
[1] 李寶泉.基于B_S結(jié)構(gòu)的財務管理系統(tǒng)的設計與實現(xiàn)[D].北京:北京工業(yè)大學,2010.
[2] ROUGHLEY I.Starting struts2[EB/OL].http://www.infoq.com/minibooks/startingstruts2.
[3] 丁波,晁愛農(nóng).基于Struts2 框架的AJAX開發(fā)研究[J].計算機工程與設計,2009 (16):39103913.
[4] 張露.數(shù)據(jù)庫設計[J].安陽工學院學報,2007(6):7779.
[5] 李榮國.MySQL數(shù)據(jù)庫在自動測試系統(tǒng)中的應用[J].計算機應用,2011(12):150153.