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