




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山西大学毕业论文 本科毕业设计(论文) 题目:银行交易系统的设计与实现全套设计加扣 3012250582 学生姓名: 学号: 院 系: 软件学院 专 业: 软件工程 指导教师: 学位级别: 二一八年 五月第 4 页 共 24 页目录银行交易系统的设计与实现41.引言42.相关技术介绍52.1开发工具eclipse,jdk1.852.1.1eclipse52.1.2Jdk1.8:52.2开发语言java,html5,oracle52.2.1java52.2.2 html552.2.3 oracle52.3.相关技术62.3.1jsp62.3.2JavaScript63.需求分析:63.1.项目介绍63.2.功能介绍73.3 项目实体联系图73.4 系统运行环境等非功能需求84.总体设计84.1系统架构图84.2 系统模块图95.详细设计105.1数据结构设计105.2 数据库设计:115.3 算法设计126.系统功能实现136.1功能1登录:136.2功能2注册:146.3功能3用户信息显示146.4功能4转账146.5功能5交易记录查询156.6功能6收入156.7功能7刷新157.系统测试177.1测试功能登录:177.2测试功能转账:197.3测试功能交易记录查看:218.总结239. 中文摘要2410. 英文摘要24银行交易系统的设计与实现1.引言当今是个飞速发展的社会,金钱的交易越来越频繁,众所周知,当今时代是信息时代,网络、信息、电脑、软件开发这些名词主导着这个时代的发展,在感受时代的带来的便利同时也应该了解下中国银行的历史背景和过去的人们的交易行为。我国的银行发展史是从大清开始的,大清的户部银行是我国的第一家国家银行。是在光绪30年元月28日也就是1903年3月14日,由内部大臣奕劻建议的一部奏章里面的策略实施。在那之后的一年多里我国在银行方面大力建之后在北京城就成功创立啦我国的第一家国家银行户部银行,内部官员也是行政级别的。在此之后户部银行又改名为大清银行。大清银行在全国各各省会和通商口岸都分别有分支部门银行的设立有多个,这也使得大清银行成为清朝末期在人们心中规模最大的银行。有人宣布成立中国银行,那个人叫孙中山。 它于1912年2月5日正式开放。 改革开放以来,天下各国人民一致认为,中国银行的各项业务已经取得重大进展,并已进入世界最大银行的保护伞下。中国银行虽然壮大啦但当时的信息技术并不发达,人们还只是停留在纸币方面的交易,在银行存取钱也只是在窗口或者是atm机上进行纸币的交易,这是一种在现在看来非常不便利的行为,随着信息技术的高速发展使得软件技术行业能进入到银行各个系统的开发。软件改变着人类的生活方式,在过去人们常用于在atm机上进行金钱交易,或是到银行窗口交易的,这种交易行为,为一种不太便捷的交易,它不能及时交易,不能及时交易就会使得资金运转缓慢,让人力,物力长时间处于一种待滞状态,不能再短时间能高效的发挥作用。现目前是一个数字社会,数据的流通和网络通信得到质的提升。基于此,我便开发出这款银行交易系统。他的意义在于能及时交易,及时查看交易信息,和交易记录,及时性是他最大的优点,正因为有及时性,他可以让人力,物力在短时间内进行有效的运转。我开发的这款系统他基于bs架构运行,现如今,web端的高速发展,使得大多软件可以基于web层开发,如今云计算(它是一种按使用量付费的一种收费形式),大数据等的飞跃的高速的快速的发展,使得信息技术得到史无前例的,让人一目了然的发展。我开发的这款银行交易软件,正式契合拉当今信息发展的热潮,随着信息技术的概念深入人心,使得人们在面对信息或金钱交流方面有啦更多的选择,和更多的交易的捷径,银行交易系统正是一种交易的捷径,他的作用在于能方便与用户与用户之间的金钱交易,是个基于web开发的项目。2.相关技术介绍2.1开发工具eclipse,jdkeclipseEclipse:是一个集成开发工具,eclipse它本身是开源的,作为一个ide它本身也有许多的外部插件,eclipse主要用于java语言的开发,在目前是一个相对比较好用的ide。Eclipse是这项目首先由ibm提出和实现。之后eclipse社区独立出来,成为一个开源的共享的非盈利的社区共大家使用。正因为他的开源使得多数的软件开发者青睐于他。2.1.2Jdk1.8:为java语言开发工具,我用的是1.8版本,提供一些java方法的实现,帮助开发。2.2开发语言java,html5,oracle 2.2.1javaJava:java这个语言它具有其他语言的一些精华留下同时也把其他语言的一些麻烦的东西给去除。Java的编程思想采用的是面向对象的方式,所以,java他在逻辑和数据上的处理是比较模块化的也是易于管理的。Java的设计可以使他能在网络应用上开发较为方便,目前web服务端后台大多使用java开发。Java还有一个好处就是他写的程序只要编译一次,就可以实现跨以平台运行,这点极大的促进啦开发的速度和效率。Java编写的软件是非常方便的软件,他方便在哪里呢,让我给大家一一道来,首先就是他的跨平台性,用他设计的软件啊可以说是你编译一次就可以到处运行啦,厉害吧。再其次,用java设计的软件啊是比较容易写出高度可靠和强大的软件,因为它具有处理异常的能力,它可以简化错误处理和应对任何其鲁棒性。在然后呢,java的内存是比较厉害的啦,他的内存分配设计的比较厉害啦,可以防止恶意代码的攻击所以这在安全方面java还是不错地。因为java是口译和翻译的语言,他可以考虑一个“时间”编译器的需要,所以生成机器码的过程是相当简单的,它可以产生很好的代码本身。Java的多线程也是很厉害的了,他可以出来各种不同的任务,不同的任务可以通过比较简单的代码实现比较复杂的功能。它是一种动态语言。一般用于服务器后台开发。2.2.2 html5Html5:随着技术的进步,浏览器的功能也逐渐变得强大,h5相对于html在绘图功能上有啦极大的提升,同时,也把html那传统的符合w3c标准意义的头部标识的那段令人难以记下的代码个去除。H5的编码速度,和性能要比以往的html的效率要高些,同样作为超文本标记言语。都能使图片和影像等东西在网页上显示出来,只不过h5的效果在编码上会体现的更好。2.2.3 oracleOracle:一种用作数据管理的,主要为关系数据的系统。甲骨文公司开发的他。Oracle数据库在数据管理领域是顶尖而又非常厉害并且可靠的地位。他拥有着高度安全性和数据可靠性这几个特点,使得Oracle数据库系统可谓是在世界上极其流行极其可靠极其受到各个厂商的青睐,他不仅数据可靠安全他的系统得移植性能也较好、使用方便、功能强一种关系数据库,oracle的sql语言也较为简单易学,并且功能强大这深受广大编程人员的喜爱。2.3.相关技术2.3.1jspJsp:这项技术一般用于程序的视图开发,他是将程序的前端页面和后端的一些逻辑代码结合开来,使得页面能有较强的动态效果,在普遍的程序开发中一些中小型项目大多是使用jsp开发技术,这也体现出来jsp技术的一些方快捷性和就好的实际使用能力,它是由太阳公司开发的一款动态web开发技术.jsp技术的开发语言是由java语言编写的,所以他的语言结构也是比较简单,在使用上他也有较高的安全性。Jsp和servlet是在服务器上运行的,jsp通常是将html文本返还给客户端的浏览器,通过标记和编程语言技术生成动态的网页和逻辑处理包。2.3.2JavaScriptJavaScript为一种脚本语言,目前浏览器都有支持它的引擎,可以实现为html增添一些弱动态效果,JavaScript他本身也具有较高的安全性所以,在处理数据方面也是比较好用的。3.需求分析:3.1.项目介绍项目名称为银行交易系统,顾名思义银行交易系统,主要目的在于交易。当今社会,信息技术高速发展,数字通信发着更为迅速,这就使得手机,笔记本等物品能更加方便,随时随地的上网下载或查询有关资料。而在日常生活中金钱的交易也越来越频繁,借此我们完全可以构思出一款能能够便利于用户交易金钱的开发系统,并且可以基于bs架构开发 ,如今浏览器的功能逐渐健大,使得用于能更加方便的访问服务端的资源。3.2.功能介绍功能功能介绍用户登录用户通过前端页面将用户信息传送给服务器后台再由后台逻辑代码实现用户信息的处理,主要是对用户的账号密码进行判断,通过与数据库链接的方式,进行判断用户注册用户通过前端注册页面将用户的信息导入数据库用户信息查询通过链接数据库对用的基本信息进行查询用户账户信息差询通过链接数据库对用户的账号基本信息查询转账用户通过服务器实现用户与用户间的金钱交易收入查看用户的近期的收益交易记录差看用户近期的交易记录(保存在服务器端的缓存文件中)3.3 项目实体联系图图31图31内容基本介绍 :多个地点不同的地点:多个用户:通讯设备:web服务器端:数据库简单概述下,用户不论身在何处都能通过身边的通讯的设备,进行与服务器端的数据交互,多个用户可以因此而实现他们之间的数据交互。这也充分的体现出来互联网带给我们的方便和快捷,智能手机、移动互联网、云计算、大数据统计、人工智能等技术的不断更新,使得我们的生活在网络信息交流方面变得极其便利,银行交易系统就是在这个大的理念下作为前景设计的一款软件,他的设计架构是普通的j2ee框架结构,说以主要语言为java语言作为开发,开发初始我的设计理念是采用ssm框架的设计结构来设计服务器的后端开发,服务器的前端开发主要使用jQuery和ajax技术进行前后端的交互,但顺着项目的进展,由于部分功能原因而放弃ssm架构的模式开发,就只采用普通的j2ee的开发模式。3.4 系统运行环境等非功能需求银行交易系统由java语言组成,Java的开发环境由两个部分组成:一个是Java 的api,另一个就是java的开发虚拟机jvm ,这两部份构成了Java的基本运行和开发的环境。Java api内部用许多java给我开发人员使用的开发方法,是非常便利与我们开发人员使用的,在开发过程中正是由于有java强大的api的帮助才能使软件开发起来相对于其他语言有比较显著的效率。Java的虚拟机jvm是整合在硬件上的一个开发环境。也就是说,Java这个厉害的平台是把Java的一个应用程序从硬件的系统中用一种独有的手段分离开,从而达到啦很好的保证程序的独立性的一个效果。为了更好的适应程序开发工作者们的日常开发的需要,java平台的设计师和研发人员们为我们提供的Java开发平台有以下几种:分别是javase,javaee,javame 每一个版本都有非常厉害的而又丰富的开发工具箱可以适应不同的开发需要。 银行交易系统他所用到的技术主要就是javaee的开发也应为他是基于web端开发,所以在联网的情况下才能正常的运行。4.总体设计4.1系统架构图浏览器种各样的用户控制器主要有验证用户登录,判断用户是否存在,判断用户交易对象是否存在,还有对页面导航的管理,和对页面信息的一些处理和逻辑解决,链接数据库查看用户信息等。视图Login.jsp登录界面Main.jsp用户界面Sy.jsp收益界面Jyjl.jsp交易记录界面.数据库B_userB_id.模型用户基本信息模块用户登录信息模块交易记录模块用户收益模块用户界面刷新模块 图4-1图4-1简单描述:系统建构采用模型,视图,控制器这三个模块进行设计。浏览器:用户通过各种各样的浏览器的与服务器端交互。控制器:对服务器内部逻辑和页面导航,并且有对模型加以操作的控制,主要功能有有验证用户登录,判断用户是否存在,判断用户交易对象是否存在,还有对页面导航的管理,和对页面信息的一些处理和逻辑解决,链接数据库查看用户信息等。数据库:存放一些用户信息,根据信息字段提供相应的逻辑处理在控制器中。模型:这个东西是一个比较关键的东西,控制器所控制的一些内容,没有他其他功能是不能实现得,他为其他功能提供啦基础的数据。视图:顾名思义视图就是用能直接看到的东西,就是呈现给用户看的一个东西,帮助用户更加方便的访问服务器的内部资源。内部界面主要有用户登录界面Log#in.jsp,用户界面Mai#n.jsp收益界面Sy.jsp,交易记录界面Jyjl.jsp,转账界面zz.jsp。4.2 系统模块图登录注册用户界面数据库用户信息交易转账查看记录图4-2如图4-2所示登录:实现用户登录和信息验证。注册:实现用户信息注册,并将其加入到数据库中。用户界面:实现用户其他功能模块的选取,和使用。交易:实现用户和查看自己的历史交易收入账单。转账:实现用户和其他用户的金钱交易。用户信息:查看用户信息,第一时间了解自己的个人账户信息。查看记录:实现交易记录和收入记录的查看,和保存。数据库:设计相应的表,配合项目逻辑实现对信息的保存和处理。5.详细设计5.1数据结构设计图5-1如图5-1所示:部分内容没有写明由于代码量较多总而言之,采用模块化和基本的javaee的设计思想去设计这款软件,其中gather为从服务器文件中采集一些需要的信息,mess为将采集的信息封装成一个对象,jdbccon获取Connection对象之后的可以方便于一些关于数据库的操作,sx就是实现页面刷新,userin为用户注册,userlog为用户登录,zz为转账操作,jl为记录信息的处理(转账信息,收入记录),httpServlet为接口Servlet的一个实现类提供一些可以与前端页面交互的参数从图中可以大致看出系统虽然结构比较简单,但功能和需求还是比较完善的。5.2 数据库设计:用户基本信息表:CREATE TABLE B_user(Id number(8),Name varchar(40),deposit number(8),telephone number(8)Id:身份证id (long型)Name:用户昵称,及登陆后的界面名称,也是用户之间交易的名称。(String类型)Deposit:用户资产。(long型)Telephone:用户电话号码(long型)主键为用户id,外检关联表为用户登录信息表外键为用户id。用户登录信息表:CREATE TABLE B_id(Name varchar(10),Password varchar(10),Id number(8))Id:身份证id (long型)Name:用户登录名称(账号)(String类型)Password:用户登录密码(String类型)主键为用户id,外检关联表为用户基本信息表外键为用户id。5.3 算法设计登录注册用户信息数据访问交易记录收入转账用户界面6.系统功能实现6.1功能1登录:验证用户信息并登录核心代码:通过jdbc连接数据库,获取数据库内的用户资料,获得用户资料的结果集,在通过while语句进行迭代遍历,内部包含if语句块,对页面获取的账号名和密码进行判断,再根据判断结果,进行相应的处理,若用户名和密码均正确那么这跳转到用户界面,若不正确,则返回到登录页面,并给与提示字样“用户名或密码错误”。6.2功能2注册:注册用户信息到数据库核心代码:通过jdbc连接数据库,将页面上获取的信息存放到数据库中,用作用户信息管理,每次登陆时都会从数据库中查找是否有注册过的信息,注册成功后会重定向到登录页面并给与提示,提示信息为注册成功。6.3功能3用户信息显示在用户操作页面方便的查看用户信息。核心代码:通过获取之前登录页面的session.getAttribute(us),可以得到到当前user的对象,通过user对象的内部信息,将信息显示到页面中方便用户查看。6.4功能4转账用户可以将钱转给其他用户,并能及时的更新信息,如果用户不存可以给与相应的提示信息。核心代码:首先通过if语句块判断转账用户是否存在,如果存在则执行相应的代码和数据库的操作实现用户的金钱的转让,转让成功后会给与相应的提示信息,如果用户不存在则给与用户提示信息为“用户不存在”。6.5功能5交易记录查询可以查看用户过往的交易记录(转账记录)核心代码:篇幅原因,只能显示部分代码,mess()方法主要为信息存储操作。设计思想,设计一个信息记录对象,获取从页面取得的信息,再将该对象存入list集合中,然后将list集合序列化到服务器端的文件中,每次执行转账操作时都会从服务器文件,获取相应的list集合,取得该list集合后,将获取新获取的对象信息放到list集合,再将list存入服务器端的文件中,如此操作实现记录信息的及时更新。6.6功能6收入用户可以查看自己的账户信息收入情况核心代码:由于代码复杂,此处代码不填。设计思想,基本操作和记录信息一样,都是通过服务器端的文件操作实现信息的查看和更新。6.7功能7刷新前面操作执行后需要执行此处操作才能显示最新的信息情况。核心代码;篇幅原因,只能显示部分代码,getmess()方法主要为信息获取操作。用户若要获取相应的最新信息需要执行此操作,点击刷新信息,服务器就内部就会再次执行相应的操作,重新获取信息,并将最新信息再次重新显示在页面上。7.系统测试7.1测试功能登录:测试方法:第一次登录使用数据库中没有的账号登录测试,返回提示信息,之后注册用户后,返回到登录页面,并有相应的提示信息,然后使用注册后的用户名登录,可以成功跳转到用户操作界面。登录界面当输入一个错的用户名或密码时给与的提示。当一个用户注册成功时,给与的提示信息。输入正确的用户名后的用户操作界面。7.2测试功能转账:测试方法:使用两个不同的账户昵称分别为frank138,boy,进行相互之间的转账操作,之后刷新页面后查看数据信息是否变化的复合逻辑。转账操作界面将要转给钱的用户boy的基本信息转出之前的frank138的基本信息。执行转账操作转账成功提示转账成功后的frank138 的基本信息转账成功后的boy的基本信息,可以简单而又明显的看出功能实现得没有差错。7.3测试功能交易记录查看:测试方法:让其中一个用户给另一个用户转账,之后查看用户交易记录,是否与前数据对应。交易之前的交易记录执行转账操作更新出的记录无毛病转账后的操作。信息准确快捷方便没毛病完美。8.总结经过这多个月的学习,使我熟悉啦javaee开发所需的一些基本操作,也是我的java的基础更加牢固,再次我要感谢我的老师们对我的栽培,感谢山大的各个老师,感谢山大的领导们对我的悉心栽培,这次我的毕业设计选题是银行交易系统的设计与实现,银行是个热门话题,在任何一个时代,它都是一个比较热门的话题,因为他跟钱有关联。我选这个选题当然也不是仅仅是因为他跟钱有关联,主要是因为当今信息技术的高速发展,使得浏览器越来越先进,使得很多基于web开发的项目得到质的提升,我写的这个银行交易系统他正是基于此开发的一个项目,我目的是我希望我能够透过这个项目,加深我对web项目开发的理解,能够更加熟练的使用java语言或javaee语言进行开发,还有扩展我对银行的一些认识。在这次的项目中我用到的技术有javaee开发,jdbc,jsp技术,html5和JavaScript语言开发页面。在设计思路上多有参考以往的一些经验。像他的采集信息模块,和保存信息模块局均仿照的电信采集项目的一些设计思路,再加以创新实现跟多的新功能。总而言之,通过这次的毕业设计使我无论在今后的学习上,还是技术上,还是对软件的理解上,都有啦很大的提升,通过这次的选题,也是我深刻的认识的信息技术说给我们带来的快捷和便利。银行交易系统的设计与实现这一课题也使我对银行有啦一些了解,通过查询网上和书上的一些关于银行的交易的一些基本知识,使我对交易的这个环节有啦更加系统性的了解。总而言之,感谢大家对我的帮助,设计这款系统也是我对我这四年在大学学到的知识的一些考量和总结,既然我已决定要在软件行业有收作为,那么我一定会在接下来的道路上更加努力的去拼搏去学习。第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阳江市消防救援支队政府专职消防员招录笔试真题2024
- 年关食品安全培训心得
- 工业安全管理培训教学课件
- Ethyl-3-hydroxy-2-2-4-trimethylpentanoate-d6-生命科学试剂-MCE
- 山东事业单位笔试真题2025
- 江西公务员真题试卷
- 2025年安阳事业单位真题
- 2025年安吉事业单位真题
- 2025年漯河市事业单位考试真题
- 消费与零售:2025年物联网+零售行业市场规模及增长趋势分析报告
- 浙教版八年级信息技术上册《第4课-在线协同》课件
- 中文自修杯汉字小达人第二至八届区级活动真题(答案)
- 2024年安徽九华山旅游发展股份有限公司招聘笔试参考题库附带答案详解
- 梅毒艾滋乙肝三病
- 割灌机安全操作规程培训
- 最高法院第一巡回法庭关于行政审判法律适用若干问题的会议纪要
- 《病历书写基本规范》课件
- 足球场的运营可行性方案
- 重庆市面向西南大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题3453笔试难、易错历年高频考点荟萃附带答案解析(附后)
- 小学生电力科普小讲座(课件)-小学常识科普主题班会
- 有限合伙份额质押合同完整版(包含质押登记公证手续)
评论
0/150
提交评论