劉引濤
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,陜西 咸陽(yáng) 712000)
網(wǎng)上銀行是依托信息技術(shù)和新的服務(wù)模式而興起的新型銀行業(yè)務(wù),它的建設(shè)和發(fā)展對(duì)提高銀行的核心競(jìng)爭(zhēng)力有著重要意義,現(xiàn)在各大銀行的網(wǎng)上銀行系統(tǒng)都得到了飛速發(fā)展,文中針對(duì)“某網(wǎng)上信貸系統(tǒng)”的實(shí)際項(xiàng)目開(kāi)發(fā),結(jié)合當(dāng)前網(wǎng)上交易信息安全的需求,設(shè)計(jì)與實(shí)現(xiàn)了一個(gè)Spring的MVC模式的網(wǎng)上銀行系統(tǒng)(簡(jiǎn)稱OBS,On-line Bank System),該系統(tǒng)充分考慮到網(wǎng)上銀行系統(tǒng)的交易功能,又很好的滿足了服務(wù)功能,為網(wǎng)上銀行系統(tǒng)的實(shí)現(xiàn)提供了一個(gè)切實(shí)可行的框架設(shè)計(jì)解決方案[2]。
網(wǎng)上銀行系統(tǒng)是銀行業(yè)務(wù)系統(tǒng)的一個(gè)分支,它主要負(fù)責(zé)提供客戶在銀行柜臺(tái)或者ATM機(jī)中的存取款操作,系統(tǒng)自動(dòng)記錄用戶的每筆交易操作,并提供給用戶產(chǎn)品交易明細(xì)的功能,使用戶能夠詳細(xì)瀏覽某個(gè)范圍內(nèi)的交易明細(xì)。
系統(tǒng)的架構(gòu)設(shè)計(jì)包括軟件系統(tǒng)框架設(shè)計(jì)、數(shù)據(jù)庫(kù)模型設(shè)計(jì)、硬件框架結(jié)構(gòu)設(shè)計(jì)。這里主要就軟件系統(tǒng)框架設(shè)計(jì)和數(shù)據(jù)庫(kù)模型設(shè)計(jì)進(jìn)行設(shè)計(jì)[1]。
網(wǎng)上銀行系統(tǒng)主要包括以下4大模塊:用戶開(kāi)戶、賬戶信息展示、用戶存取款和交易明細(xì)業(yè)務(wù)。用戶開(kāi)戶主要實(shí)現(xiàn)用于開(kāi)戶的用戶昵稱及證件號(hào)碼;賬戶信息展示主要在頁(yè)面上展示用戶賬號(hào)的相關(guān)信息;用戶存取款主要用于用戶通過(guò)銀行柜臺(tái)或者ATM進(jìn)行存取款業(yè)務(wù)操作;交易明細(xì)主要用于用戶查看某段時(shí)內(nèi)自己賬戶的交易明細(xì)。
網(wǎng)上銀行系統(tǒng)流程圖如下所示。
圖1 網(wǎng)上銀行系統(tǒng)流程圖Fig.1 On-line bank system flow diagram
項(xiàng)目在開(kāi)發(fā)過(guò)程中遵循軟件生命周期原則,按照概念模型→邏輯模型→物理模型的順序進(jìn)行了“網(wǎng)上銀行系統(tǒng)”的數(shù)據(jù)庫(kù)模型設(shè)計(jì)[4]。
概念模型主要是從非技術(shù)的角度描述客觀世界的事或物。這種模型完全不涉及信息在計(jì)算機(jī)系統(tǒng)中的表示,更多是從業(yè)務(wù)角度來(lái)考慮?!熬W(wǎng)上銀行系統(tǒng)”中存在客戶,客戶要進(jìn)行交易,交易時(shí)涉及交易地點(diǎn)。
邏輯模型是從數(shù)據(jù)庫(kù)的角度去描述現(xiàn)實(shí)世界中存在的事或物。邏輯模型是在概念模型的基礎(chǔ)上生成的。最常用的表示方法是“實(shí)體-關(guān)系圖”[6]。網(wǎng)上銀行系統(tǒng)項(xiàng)目中主要涉及3個(gè)實(shí)體:用戶、交易、交易地址。其中用戶實(shí)體的屬性包括卡號(hào)、密碼、用戶姓名、身份證、開(kāi)戶時(shí)間、余額、聯(lián)系方式、地址;交易實(shí)體的屬性主要包括業(yè)務(wù)ID、卡號(hào)、交易地址ID、交易數(shù)量、交易日期、交易方式、用戶余額;交易地址屬性主要包括交易地址ID和交易地址。它們之間的關(guān)系如圖所示。
圖2 網(wǎng)上銀行系統(tǒng)實(shí)體E-R圖Fig.2 On-line bank system entity relationship diagram
其中,“用戶”和“交易”之間是一對(duì)多的關(guān)系,因?yàn)槊恳粋€(gè)用戶進(jìn)行多次RMB交易操作?!敖灰住焙汀敖灰椎刂贰敝g是一對(duì)一的關(guān)系,用戶的每次RMB交易只能存在一個(gè)地點(diǎn)。
該項(xiàng)目在開(kāi)發(fā)過(guò)程中主要是基于Oracle數(shù)據(jù)庫(kù)平臺(tái),充分使用PowerDesigner數(shù)據(jù)模型工具從邏輯模型自動(dòng)生成物理模型,然后直接用該模型工具生成見(jiàn)表的SQL語(yǔ)句。
該項(xiàng)目主要是基于MVC框架,MVC即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成3層-模型層 (Model)、視圖層(View)、控制層(Controller)[3-5]。
圖3 MVC框架Fig.3 MVC framework
Model層主要負(fù)責(zé)業(yè)務(wù)流程的處理及業(yè)務(wù)規(guī)則的制定。其中com/banktrade/service層和com/banktrade/dao層同屬于模型層范圍,相關(guān)之間完成數(shù)據(jù)通信,并提供具體的業(yè)務(wù)操作對(duì)象;View層主要負(fù)責(zé)用戶交互界面,用于前臺(tái)的效果展示以及用戶進(jìn)行各種操作的入口;Controller層主要負(fù)責(zé)從用戶處接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求,其主要負(fù)責(zé)接收用戶請(qǐng)求,獲取請(qǐng)求中部分信息、控制請(qǐng)求的轉(zhuǎn)發(fā)以及最終應(yīng)該跳轉(zhuǎn)到哪個(gè)頁(yè)面顯示效果。
在配置數(shù)據(jù)庫(kù)過(guò)程中,系統(tǒng)引用了spring框架自帶的數(shù)據(jù)源對(duì)象(BasicDataSource),數(shù)據(jù)源對(duì)象用于連接數(shù)據(jù)。配置文件時(shí),開(kāi)發(fā)人員對(duì)配置文件applicationContext.xml進(jìn)行了修改。
用戶通過(guò)客戶端向系統(tǒng)服務(wù)端發(fā)起登錄請(qǐng)求,服務(wù)端獲取客戶端發(fā)來(lái)的請(qǐng)求參數(shù),通過(guò)service層到后臺(tái)驗(yàn)證用戶信息是否合法,如果不合法則將跳轉(zhuǎn)到登錄界面并提示登錄失敗的原因,否則跳轉(zhuǎn)到系統(tǒng)主頁(yè)。
賬戶信息展示界面主要顯示賬戶的一些基本信息,并提供RMB交易和交易明細(xì)查詢等功能。RMB交易功能可以實(shí)現(xiàn)用戶存、取款操作。交易成功后,系統(tǒng)更改用戶余額,同時(shí)還會(huì)刷新index.jsp頁(yè)面上的用戶余額。
該項(xiàng)目通過(guò)應(yīng)用開(kāi)發(fā),經(jīng)過(guò)與需求方多次溝通,從資金、技術(shù)、時(shí)間、人力資源等各方面論證了項(xiàng)目的可行性,軟件開(kāi)發(fā)與軟件測(cè)試同時(shí)進(jìn)行,使其符合用戶的基本要求。通過(guò)將軟件系統(tǒng)的框架設(shè)計(jì)的結(jié)果轉(zhuǎn)換成計(jì)算機(jī)可運(yùn)行的程序代碼,在編碼階段充分考慮了系統(tǒng)的性能,各方面技術(shù)應(yīng)用良好,值得推廣應(yīng)用。
[1]伍慶林,王加.基于J2EE框架的工作流管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(4):107-110.WU Qing-lin,WANG Jia.Design and implementation of J2EE framework based on workflow management system[J].Computer Technology and Development,2008,18(4):107-110.
[2]孫祿,盧瀟,張強(qiáng).基于Java Bean組件技術(shù)的模型表示研究[J].電子設(shè)計(jì)工程,2010,(10):9.SUN Lu,LU Xiao,ZHANG Qiang.Research of model representation based on Java Bean component technology[J].Electronic Design Engineering,2010(10):85.
[3]閆志貴,孟操.MVC模式在嵌入式調(diào)試工具開(kāi)發(fā)中的研究與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2010(4):85.YAN Zhi-gui,MENG Cao.Research and implementation of MVC pattern in embedded debug tool development[J].Electronic Design Engineering,2010(4):85.
[4]崔荔,邵春暉,崔磊.J2EE基于Struts和Hibernate框架的新
聞發(fā)布系統(tǒng)分析與設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012(15):44.CUI Li,SHAO Chun-hui,CUI Lei.Analysis and design of news release system based on J2EE Struts and Hibernate framework[J].Electronic Design Egineering,2012(6):44.
[5]劉斌,王最.Struts,Spring,Hibernate框架在OA開(kāi)發(fā)中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(1):151-154.LIU Bin,WANG Zui.Application of office automation based on SSH framework[J].Computer Technology and Development,2010,20(1):151-154.
[6]盧磊,張峰.基于J2EE的高校資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(2):92.LU Lei,ZHANG Feng.Design and implementation of an asset management system of universities based on J2EE[J].Electronic Design Engineering,2011(9):92.