劉引濤
(陜西工業(yè)職業(yè)技術學院 信息工程學院,陜西 咸陽 712000)
網(wǎng)上銀行是依托信息技術和新的服務模式而興起的新型銀行業(yè)務,它的建設和發(fā)展對提高銀行的核心競爭力有著重要意義,現(xiàn)在各大銀行的網(wǎng)上銀行系統(tǒng)都得到了飛速發(fā)展,文中針對“某網(wǎng)上信貸系統(tǒng)”的實際項目開發(fā),結(jié)合當前網(wǎng)上交易信息安全的需求,設計與實現(xiàn)了一個Spring的MVC模式的網(wǎng)上銀行系統(tǒng)(簡稱OBS,On-line Bank System),該系統(tǒng)充分考慮到網(wǎng)上銀行系統(tǒng)的交易功能,又很好的滿足了服務功能,為網(wǎng)上銀行系統(tǒng)的實現(xiàn)提供了一個切實可行的框架設計解決方案[2]。
網(wǎng)上銀行系統(tǒng)是銀行業(yè)務系統(tǒng)的一個分支,它主要負責提供客戶在銀行柜臺或者ATM機中的存取款操作,系統(tǒng)自動記錄用戶的每筆交易操作,并提供給用戶產(chǎn)品交易明細的功能,使用戶能夠詳細瀏覽某個范圍內(nèi)的交易明細。
系統(tǒng)的架構(gòu)設計包括軟件系統(tǒng)框架設計、數(shù)據(jù)庫模型設計、硬件框架結(jié)構(gòu)設計。這里主要就軟件系統(tǒng)框架設計和數(shù)據(jù)庫模型設計進行設計[1]。
網(wǎng)上銀行系統(tǒng)主要包括以下4大模塊:用戶開戶、賬戶信息展示、用戶存取款和交易明細業(yè)務。用戶開戶主要實現(xiàn)用于開戶的用戶昵稱及證件號碼;賬戶信息展示主要在頁面上展示用戶賬號的相關信息;用戶存取款主要用于用戶通過銀行柜臺或者ATM進行存取款業(yè)務操作;交易明細主要用于用戶查看某段時內(nèi)自己賬戶的交易明細。
網(wǎng)上銀行系統(tǒng)流程圖如下所示。
圖1 網(wǎng)上銀行系統(tǒng)流程圖Fig.1 On-line bank system flow diagram
項目在開發(fā)過程中遵循軟件生命周期原則,按照概念模型→邏輯模型→物理模型的順序進行了“網(wǎng)上銀行系統(tǒng)”的數(shù)據(jù)庫模型設計[4]。
概念模型主要是從非技術的角度描述客觀世界的事或物。這種模型完全不涉及信息在計算機系統(tǒng)中的表示,更多是從業(yè)務角度來考慮?!熬W(wǎng)上銀行系統(tǒng)”中存在客戶,客戶要進行交易,交易時涉及交易地點。
邏輯模型是從數(shù)據(jù)庫的角度去描述現(xiàn)實世界中存在的事或物。邏輯模型是在概念模型的基礎上生成的。最常用的表示方法是“實體-關系圖”[6]。網(wǎng)上銀行系統(tǒng)項目中主要涉及3個實體:用戶、交易、交易地址。其中用戶實體的屬性包括卡號、密碼、用戶姓名、身份證、開戶時間、余額、聯(lián)系方式、地址;交易實體的屬性主要包括業(yè)務ID、卡號、交易地址ID、交易數(shù)量、交易日期、交易方式、用戶余額;交易地址屬性主要包括交易地址ID和交易地址。它們之間的關系如圖所示。
圖2 網(wǎng)上銀行系統(tǒng)實體E-R圖Fig.2 On-line bank system entity relationship diagram
其中,“用戶”和“交易”之間是一對多的關系,因為每一個用戶進行多次RMB交易操作。“交易”和“交易地址”之間是一對一的關系,用戶的每次RMB交易只能存在一個地點。
該項目在開發(fā)過程中主要是基于Oracle數(shù)據(jù)庫平臺,充分使用PowerDesigner數(shù)據(jù)模型工具從邏輯模型自動生成物理模型,然后直接用該模型工具生成見表的SQL語句。
該項目主要是基于MVC框架,MVC即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成3層-模型層 (Model)、視圖層(View)、控制層(Controller)[3-5]。
圖3 MVC框架Fig.3 MVC framework
Model層主要負責業(yè)務流程的處理及業(yè)務規(guī)則的制定。其中com/banktrade/service層和com/banktrade/dao層同屬于模型層范圍,相關之間完成數(shù)據(jù)通信,并提供具體的業(yè)務操作對象;View層主要負責用戶交互界面,用于前臺的效果展示以及用戶進行各種操作的入口;Controller層主要負責從用戶處接收請求,將模型與視圖匹配在一起,共同完成用戶的請求,其主要負責接收用戶請求,獲取請求中部分信息、控制請求的轉(zhuǎn)發(fā)以及最終應該跳轉(zhuǎn)到哪個頁面顯示效果。
在配置數(shù)據(jù)庫過程中,系統(tǒng)引用了spring框架自帶的數(shù)據(jù)源對象(BasicDataSource),數(shù)據(jù)源對象用于連接數(shù)據(jù)。配置文件時,開發(fā)人員對配置文件applicationContext.xml進行了修改。
用戶通過客戶端向系統(tǒng)服務端發(fā)起登錄請求,服務端獲取客戶端發(fā)來的請求參數(shù),通過service層到后臺驗證用戶信息是否合法,如果不合法則將跳轉(zhuǎn)到登錄界面并提示登錄失敗的原因,否則跳轉(zhuǎn)到系統(tǒng)主頁。
賬戶信息展示界面主要顯示賬戶的一些基本信息,并提供RMB交易和交易明細查詢等功能。RMB交易功能可以實現(xiàn)用戶存、取款操作。交易成功后,系統(tǒng)更改用戶余額,同時還會刷新index.jsp頁面上的用戶余額。
該項目通過應用開發(fā),經(jīng)過與需求方多次溝通,從資金、技術、時間、人力資源等各方面論證了項目的可行性,軟件開發(fā)與軟件測試同時進行,使其符合用戶的基本要求。通過將軟件系統(tǒng)的框架設計的結(jié)果轉(zhuǎn)換成計算機可運行的程序代碼,在編碼階段充分考慮了系統(tǒng)的性能,各方面技術應用良好,值得推廣應用。
[1]伍慶林,王加.基于J2EE框架的工作流管理系統(tǒng)設計與實現(xiàn)[J].計算機技術與發(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]孫祿,盧瀟,張強.基于Java Bean組件技術的模型表示研究[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)試工具開發(fā)中的研究與實現(xiàn)[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)分析與設計[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開發(fā)中的應用[J].計算機技術與發(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)的設計與實現(xiàn)[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.