基于Spring的MVC模式网上银行系统的设计与实现
2013-06-23刘引涛
刘引涛
(陕西工业职业技术学院 信息工程学院,陕西 咸阳 712000)
网上银行是依托信息技术和新的服务模式而兴起的新型银行业务,它的建设和发展对提高银行的核心竞争力有着重要意义,现在各大银行的网上银行系统都得到了飞速发展,文中针对“某网上信贷系统”的实际项目开发,结合当前网上交易信息安全的需求,设计与实现了一个Spring的MVC模式的网上银行系统(简称OBS,On-line Bank System),该系统充分考虑到网上银行系统的交易功能,又很好的满足了服务功能,为网上银行系统的实现提供了一个切实可行的框架设计解决方案[2]。
1 系统架构设计
网上银行系统是银行业务系统的一个分支,它主要负责提供客户在银行柜台或者ATM机中的存取款操作,系统自动记录用户的每笔交易操作,并提供给用户产品交易明细的功能,使用户能够详细浏览某个范围内的交易明细。
系统的架构设计包括软件系统框架设计、数据库模型设计、硬件框架结构设计。这里主要就软件系统框架设计和数据库模型设计进行设计[1]。
1.1 软件系统框架设计
网上银行系统主要包括以下4大模块:用户开户、账户信息展示、用户存取款和交易明细业务。用户开户主要实现用于开户的用户昵称及证件号码;账户信息展示主要在页面上展示用户账号的相关信息;用户存取款主要用于用户通过银行柜台或者ATM进行存取款业务操作;交易明细主要用于用户查看某段时内自己账户的交易明细。
网上银行系统流程图如下所示。
图1 网上银行系统流程图Fig.1 On-line bank system flow diagram
1.2 数据库模型设计
项目在开发过程中遵循软件生命周期原则,按照概念模型→逻辑模型→物理模型的顺序进行了“网上银行系统”的数据库模型设计[4]。
概念模型主要是从非技术的角度描述客观世界的事或物。这种模型完全不涉及信息在计算机系统中的表示,更多是从业务角度来考虑。“网上银行系统”中存在客户,客户要进行交易,交易时涉及交易地点。
逻辑模型是从数据库的角度去描述现实世界中存在的事或物。逻辑模型是在概念模型的基础上生成的。最常用的表示方法是“实体-关系图”[6]。网上银行系统项目中主要涉及3个实体:用户、交易、交易地址。其中用户实体的属性包括卡号、密码、用户姓名、身份证、开户时间、余额、联系方式、地址;交易实体的属性主要包括业务ID、卡号、交易地址ID、交易数量、交易日期、交易方式、用户余额;交易地址属性主要包括交易地址ID和交易地址。它们之间的关系如图所示。
图2 网上银行系统实体E-R图Fig.2 On-line bank system entity relationship diagram
其中,“用户”和“交易”之间是一对多的关系,因为每一个用户进行多次RMB交易操作。“交易”和“交易地址”之间是一对一的关系,用户的每次RMB交易只能存在一个地点。
该项目在开发过程中主要是基于Oracle数据库平台,充分使用PowerDesigner数据模型工具从逻辑模型自动生成物理模型,然后直接用该模型工具生成见表的SQL语句。
2 MVC框架设计与配置数据库
该项目主要是基于MVC框架,MVC即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成3层-模型层 (Model)、视图层(View)、控制层(Controller)[3-5]。
图3 MVC框架Fig.3 MVC framework
Model层主要负责业务流程的处理及业务规则的制定。其中com/banktrade/service层和com/banktrade/dao层同属于模型层范围,相关之间完成数据通信,并提供具体的业务操作对象;View层主要负责用户交互界面,用于前台的效果展示以及用户进行各种操作的入口;Controller层主要负责从用户处接收请求,将模型与视图匹配在一起,共同完成用户的请求,其主要负责接收用户请求,获取请求中部分信息、控制请求的转发以及最终应该跳转到哪个页面显示效果。
在配置数据库过程中,系统引用了spring框架自带的数据源对象(BasicDataSource),数据源对象用于连接数据。配置文件时,开发人员对配置文件applicationContext.xml进行了修改。
3 系统基本功能实现
3.1 用户登录
用户通过客户端向系统服务端发起登录请求,服务端获取客户端发来的请求参数,通过service层到后台验证用户信息是否合法,如果不合法则将跳转到登录界面并提示登录失败的原因,否则跳转到系统主页。
3.2 账户信息展示和RMB交易
账户信息展示界面主要显示账户的一些基本信息,并提供RMB交易和交易明细查询等功能。RMB交易功能可以实现用户存、取款操作。交易成功后,系统更改用户余额,同时还会刷新index.jsp页面上的用户余额。
3.3 交易明细查询
4 结 论
该项目通过应用开发,经过与需求方多次沟通,从资金、技术、时间、人力资源等各方面论证了项目的可行性,软件开发与软件测试同时进行,使其符合用户的基本要求。通过将软件系统的框架设计的结果转换成计算机可运行的程序代码,在编码阶段充分考虑了系统的性能,各方面技术应用良好,值得推广应用。
[1]伍庆林,王加.基于J2EE框架的工作流管理系统设计与实现[J].计算机技术与发展,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模式在嵌入式调试工具开发中的研究与实现[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框架的新
闻发布系统分析与设计[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开发中的应用[J].计算机技术与发展,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的高校资产管理系统的设计与实现[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.