学位论文基于java的小额支付管理平台的设计与实现论文Word格式.docx
《学位论文基于java的小额支付管理平台的设计与实现论文Word格式.docx》由会员分享,可在线阅读,更多相关《学位论文基于java的小额支付管理平台的设计与实现论文Word格式.docx(72页珍藏版)》请在冰点文库上搜索。
sfactorandsoonsecurityconsiderations,beforeasystemdesign,needstocarryontheplanandthetechnicalproof.Thereforethisdesign'
ssystemmainlysimulatesAgricultureBankofChina'
son-linebankelectrontransaction,providestheinquiryremainingsumforthegeneralcustomers,todrawmoney,functionsandsoonaccounttransfer.
Iusethecomputerspecializedknowledgewhichonestudy,thesimulationdesignonetobesimilarwithAgriculturalbank'
son-linebankingsystem,causesitselftofurthergrasputilizestheJSPlanguageprogrammingability,anddeeperstepunderstandingrelatedon-linebankelectrontransactionrelatedknowledge.
Keywords:
Computertechnology;
On-linebank;
JSP
1.绪论
目前我国国企改革的深入和社会主义市场经济的日趋繁荣,金融体系的规模更是日益庞大,同时也由于网上购物的兴起,带动了网上支付的热潮,在我们周围也就出现了很多的网上支付平台,如支付宝、财付通等,给人们带来了很多便利。
与此同时,客户对银行的服务要求也在不断提高,为了方便客户管理自己的财产,模拟一个快捷方便安全智能的小额支付系统有很高的实用价值。
本系统模拟银行帐户的管理,开发一个小额支付系统,设计主要实现用户在银行正常交易的一些功能而且作为一个实用的管理系统,要有良好的容错性,在出现误操作能尽量地给出警告,以便用户及时地更正,计算机地资源是受到限制的,因此要充分利用JSP的功能,设计出功能强大的软件,同时要尽可能的减少对系统的资源的占用,签于本系统的特殊性,还需要本程序有良好的保密性。
所以本次设计的系统主要是模拟中国农业银行的小额支付电子交易,为广大的客户提供查询余额、取款、转账等功能。
我利用自己所学的计算机专业知识,模拟设计一个类似与农业银行的小额支付系统,使自己进一步掌握运用JSP语言编程的能力,并更深一步的了解有关小额支付电子交易的相关知识。
1.1系统开发的背景
当今世界经济是我们综合国力的主要象征,而作为经济发展的支柱,各大银行先后进行了全国联网,实现了异地存款,取款等业务。
在全国任何地方都可以及时查询自己帐户,甚至在家里,打开电脑,登录自己的小额支付,还可以实现足不出户,了解自己帐户信息,给人们的生活和社会的经济带来了空前的变化。
所以本次设计的系统主要是模拟中国农业银行的小额支付电子交易,为广大的客户提供转账、查询银行卡、发放工资等功能。
1.2系统开发的目的
小额支付管理平台设计的目的是使客户能够足不出户就完成对自己账户的管理工作,为用户提供便利,同时也减轻了银行银行的压力。
通过对于各大银行网银的研究以及对于一些第三方支付平台的调查,搜集了一些资料。
通过进行可行性分析、需求分析等确定了开发该程序的可行性以及市场的需求性,并在农业银行网上银行的基础上加以改进,增删一些功能,使得我创建的小额支付管理平台能够更好的起到方便用户的作用。
1.3系统开发的现实意义
(1)方便了客户,使客户能够足不出户就可以管理自己的银行账户
(2)改变了以前不同银行不同账户不好管理的问题,通过同一平台进行操作,更加方便管理
(3)减轻了银行的压力,一些简单的转账业务客户就可以在家解决
1.4国内外现状
自网银产生以来,小额支付发展迅速,交易额成倍增长。
1994年全球网上小额交易总额仅为12亿美元,1997年达到26亿美元,2000年达到3000亿美元。
虽然受到经济危机的影响,但是发展依然迅猛。
世界各国公司通过因特网进行交易在2006年达到了4.3万亿美元。
从世界各国小额支付的发展来看,北美和欧洲发展比较早,发展速度也比较完善。
亚太地区信息产业发达的日本、新加坡、韩国,小额支付发展也很迅猛。
经过十余年的努力,我国发展小额支付的基础环境逐步完善,截止2010年,使用小额支付进行网上转账的用户总人数一达到11100万人,与上年同期相比增长18.1%。
网上商务信息资源的不断丰富也大大促进了我国电子商务的发展。
1.5主要研究内容
1.综述小额支付管理平台对用户管理自己账户所带来的便利
2.了解实现小额支付管理的相关技术;
3.熟悉小额支付管理平台的开发环境;
4.设计小额支付管理平台对用户提供的功能,大致分为五个模块:
客户及管理人员模块
a)后台系统模块
b)跨行转账模块
c)发放工资模块(用于企事业单位可以向员工账户发放工资)
d)记录模块
5.深入分析实现小额管理平台的的关键技术与编写语言java的具体方法;
6.熟练掌握基于java的小额支付管理平台代码编写;
7.设计与实现可供用户使用和管理员管理的小额支付管理平台。
1.6系统功能
根据上述对于系统开发目的的介绍,整个系统抽象出以下几个功能模块,如图1-3所示。
下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协作,完成整个系统流程,单一事物功能模块间是相互独立的。
图1-1系统功能模块
2.系统分析
2.1系统可行性分析
2.1.1技术可行性
根据所要设计的小额支付管理平台所要完成的功能,以及实现该系统的各种约束条件,根据新系统目标来衡量所需要的技术。
本系统是一个B/S系统,很多主要是服务器端的技术。
现有的该项技术已经较为完善,硬件、软件的性能都十分良好,估计利用现有条件应该可以达到该系统的功能目标。
2.1.2经济可行性
系统的开发是本人对java程序开发的时间学习而来,软件开发成本不高,企业不需要在投入经费,因此开发费用很少,可以被接受。
2.1.3社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
本系统是根据网上小额支付、网银等开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。
(2)用户使用可行性
本系统对用户的要求很低,除了需要具备使用电脑的能力外,并不需要特别的技术能力。
在使用过程中,并不需要安装特定的软件,只要通过浏览器进行操作就可以办到。
这样既减少投入成本又简化了操作环节。
因此,小额支付管理平台具有社会可行性。
2.2系统需求分析
通常,需求陈述的内容包括:
问题范围,功能需求,性能需求,应用环境及假设条件等。
总之,需求陈述应该阐明“做什么”而不是“怎样做”。
它应该描述用户的需求而不是提出解决问题的方法。
应该指出哪些是系统必要的性质,哪些是任选的性质。
应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活性。
对系统性能及系统与外界环境交互协议的描述,是合适的需求。
此外,对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。
下面以农业银行小额支付中的电子交易模块为例说明如何进行系统需求陈述。
本系统需要具有以下功能:
(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。
(2)能够实现转账功能,能成功的对各种信息进行查询及管理。
(3)查询数据方便,数据的稳定性和可靠性好。
系统采用B/S模式。
整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。
系统任务确定之后,下面的工作就是进行系统分析。
面向对象的分析的主要任务是分析问题领域,找出问题解决方案,发现对象,分析对象的内部构成和外部关系,建立软件系统的对象模型。
分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。
分析问题领域的结果是对问题领域的清晰,精确的定义,明确目标系统将做什么。
分析问题领域的主要任务是:
对问题领域进行抽象,提出解决方案;
对未来的系统进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境及假设条件等。
实施面向对象分析的一般步骤如下:
1.分析用户需求,建立UseCase并通过用例图来描述用户的需求。
2.通过建立域模型以识别类与对象,从而识别系统中的各种对象。
3.确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。
4.识别对象之间的关系并使用设计模式对类的结构进行优化和改造。
5.获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图等)。
3.系统架构设计
软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。
也可以通俗地理解为:
总体设计和总体结构布局。
一般而言,软件系统架构有两个要素:
1.它是一个软件系统从整体到部分的最高层次的划分。
2.建造一个系统所做出的最高层次的,以后难以更改的,商业和技术的决定。
3.1架构设计目标
软件架构设计要达到如下的目标:
1.可行性(Feasible)。
架构具有可行性是架构设计的基石。
2.可靠性(Reliable)。
软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。
3.安全行(Secure)。
软件系统所承担的交易的商业价值极高,系统的安全性非常重要。
4.可定制化(Customizable)。
同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。
5.可扩展性(Extensible)。
在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。
6.可维护性(Maintainable)。
软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。
一个易于维护的系统可以有效地降低技术支持的花费。
7.可升级性(Scalable)。
软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。
只有这样,才能适应用户的市场扩展得可能性。
8.客户体验(CustomerExperience)。
软件系统必须易于使用。
软件的最终用户很可能是不具有计算机专业技术的人员。
3.2系统架构设计
下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。
将信息系统中比较关心的对象分层,可分为三层:
用户界面层、业务层、数据访问层(如下图3-1所示),再把各层中的一些公共部分提出来:
权限管理、异常处理。
图3-1电子交易模块包图
Fig3-1PackageDiagramofSalesManagementModel
1.用户界面包
用户界面包的职责是:
(1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。
(2)对于输入的数据进行数据校验,过滤非法数据。
(3)向业务处理对象发送处理请求。
用户界面包图展开如图3-2所示:
图3-2用户界面包展开图
Fig3-2PackageDiagramofUsersInterface
用户界面包包含的类见图3-3:
图3-3用户界面类图
Fig3-3ClassDiagramofUsersInterface
2.业务逻辑包
业务逻辑包的职责是:
(1)实现各种业务处理逻辑或处理算法。
(2)验证请求者的权限。
(3)向数据访问对象发送数据持久化操作的请求。
(4)向用户界面层返回处理结果。
业务逻辑包图展开如图3-4所示:
图3-4业务逻辑包图展开
Fig3-4PackageDiagramofBusiness
业务逻辑包包含的类见图3-5:
图3-5业务逻辑类图
Fig3-5ClassDiagramofBusiness
3.数据访问包
数据访问层的职责是:
(1)实现数据的持久化操作。
(2)实现事务处理。
数据访问包图展开如图3-6所示:
图3-6数据访问包图展开
Fig3-6PackageDiagramofDataAccess
数据访问包包含的类见图3-7:
图3-7数据访问类图
Fig3-7ClassDiagramofDataAccess
对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象,在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作,而这些操作又必须在同一个事务中,这时需要用同一个数据库连接对象来进行统一的事务处理。
这里的数据库连接类的创建用到了单件(Singleton)模式,保证一个类仅有一个实例,一个客户在同一时刻只能用一个数据库连接对象。
4.权限管理包
权限管理的主要职责是:
(1)验证请求者的请求权限。
(2)提供请求者的权限列表。
权限管理包图展开如图3-8所示:
图3-8权限管理包图展开
Fig3-8PackageDiagramofAccessAuthorization
权限管理包包含的类见图3-9:
图3-9权限管理类图
Fig3-9ClassDiagramofAccessAuthorization
5.异常处理包
异常处理的职责:
(1)汇报运行时的详细异常信息。
(2)记录异常处理日志。
异常处理包图展开如图3-10所示:
图3-10异常处理包图展开
Fig3-10PackageDiagramofExceptionProcessing
异常处理包包含的类见图3-11:
图3-11异常处理类图
Fig3-11ClassDiagramofExceptionProcessing
因为异常处理类型比较多,如:
系统异常、数据库异常、业务逻辑异常等,针对不同类型的异常处理方式也容易变,如:
显示错误,记录文本日志,记录数据库日志等,所以这里使用了桥接(Bridge)模式来实现,使各部分的变化比较独立。
3.3系统架构图
3.3.1系统架构类图
将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。
农业银行小额支付中的电子交易模块系统架构类图如下图3-12所示。
图3-12系统架构类图
Fig3-12ClassDiagramofSystemArchitecture
3.3.2注册新用户流程图
输入:
用户的用户名、姓名,密码、身份证、性别、年龄、生日。
处理:
添加会员信息。
在这里可以添加会员。
添加信息有:
用户的户名、姓名,密码、身份证、性别、年龄、生日。
输出:
添加成功,提示成功信息,不成功则显示错误的信息页面。
流程图如下:
图3-13注册用户流程图
3.3.3系统用例图
客户可以发起转账、发放工资、还可以修改密码和详细资料以及对操作记录的查询工作。
图3-14客户用例图
管理员可以管理注册信息、添加管理员、还可以修改管理员密码和详细资料以及发布及管理系统通知、管理银行信息对操作记录的查询、管理工作。
图3-15管理员用例图
3.4数据库设计
关系型数据库是目前应用最广泛的数据库。
既然是面向对象系统设计,数据库设计当然也要是面向对象的。
现在要考虑如何对类进行持久化操作,即如何将对象类映射到关系数据库的二维表。
目前可以采用数据库建模工具来实现,象PowerDesigner、Rose等。
3.4.1数据库的完整性
SQL把各种完整性约束作为数据库模式定义的一部分。
既有效防止了对数据库的意外破坏,提高了完整性检测的效率,又可以减轻编程人员的负担。
SQL对三种不同完整性约束的设置及检测,采取了不同的方式加以实现。
实体完整性规定,主码的任何属性都不能为空,因为,概念模型中实体和联系都是可区分的,而且它们以码为唯一性标识。
SQL中实体完整性是通过主码来实现的。
一旦某个属性或属性组被定义为主码,该主码的每个属性就不能为空值,并且在关系中不能出现主码值完全相同的两个元组。
主码的定义是在CreateTable语句中使用PrimaryKey关键字来实现的。
方法有两种:
a)在属性定义后加上关键字PrimaryKey;
b)在属性表定义后加上额外的定义主码的子句:
PrimaryKey(<
主码属性名表>
)
参照完整性是对关系间引用数据的一种限制。
对于用户自定义完整性约束,SQL提供了非空约束、对属性的CHECK约束、对元组的CHECK约束、触发器等来实现用户的各种完整性要求。
提高数据库运行效率的办法:
(1)在数据库物理设计时,降低范式,增加冗余,少用触发器,多用存储过程。
(2)当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C++语言计算处理完成之后,最后才入库追加到表中去。
这是电信计费系统设计的经验。
(3)发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。
水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。
若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。
(4)对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数。
(5)在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。
总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。
3.4.2ER图
E-R图如图所示:
图3-16实体E—R图
3.4.3物理表结构图
该表用于存储注册用户的基本信息。
该表的主要字段有用户编号、用户名、用户密码、申请时间、标志、。
其中编号是表中的主键,得到物理表结构如