javaATM机银行存取款系统的设计与实现毕业设计Word文档下载推荐.docx
《javaATM机银行存取款系统的设计与实现毕业设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《javaATM机银行存取款系统的设计与实现毕业设计Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。
![javaATM机银行存取款系统的设计与实现毕业设计Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/29/76952791-0f81-4346-a596-a26405359eda/76952791-0f81-4346-a596-a26405359eda1.gif)
按照学校要求提交毕业设计(论文)的印刷本和电子版本;
学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;
学校可以采用影印、缩印、数字化或其它复制手段保存论文;
在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
摘要
计算机科学技术的发展不仅极大地促进了整个科学的发展,而且明显加快了经济信息化和社会信息化的进程。
绝大多数的公司的日常办公已经离不开计算机技术和软件技术。
国内的银行大都大力发展银行自动取款机(ATM),以提高工作效率和降低成本。
本系统采用Eclipsc作为开发工具,使用Java语言编写,并连接Oracle数据库,搭建和模拟银行最常见存款取款转账操作。
可实现用户注册、用户登录、用户存款、用户取款、用户转账、查询该用户所有的操作记录的功能。
关键词
注册;
登陆;
存取款;
转账;
历史记录
Designandimplementationofbankdeposit
andwithdrawalsystem
Abstract
Thedevelopmentofcomputerscienceandtechnologynotonlygreatlypromotedthedevelopmentofscienceasawhole,andsignificantlyspeeduptheprocessofeconomicandsocialinformation.Thevastmajorityofthecompany'
sday-to-dayofficecannotdowithoutthecomputertechnologyandsoftwaretechnology.DomesticbanksMostvigorouslydevelopmentBankautomatedlermachine(ATM),inordertoenhanceefficiencyandreducecosts.
EclipscThesystemusesasadevelopmenttooloftousingtheJavalanguage,andconnecttoanOracledatabase,setupthemostcommonandanalogbankdepositwithdrawalstransferoperation.Userregistration,userlogin,theuserdepositstheuserwithdrawal,checkalloperatingrecordoftheuser.
Keywords
Registration;
Login;
Deposit;
Transfer;
History
引论
随着市场经济的发展,经济信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。
同时,随着国内银行机构的大量增加,我国的银行业面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。
Java是一个广泛使用的编程语言,是一种新的计算概念。
1995年Java的诞生让全世界的程序员为之疯狂。
与以往的任何一种语言相比Java都有着无可比拟的优势。
首先,Java是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、动态的语言。
目前,Java已得到了全世界主要计算机软硬件厂商的支持,在计算机领域中得到了广泛应用。
本系统选题为基于Java程序设计的银行存取款系统,是模拟银行存取款的管理。
设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有要有良好的容错性,在出现误操作时能尽量及时地给出警告,以便用户及时地改正。
鉴于本系统的特殊性,还需要本程序有良好的保密性。
1银行存取款系统概述
1.1背景
随着我国金融电子化建设的深入发展和银行客户对金融服务质量要求的提高,自动柜员(ATM机)在金融行业的应用越来越广泛,自动柜员机(ATM机)在拉近客户与银行之间的距离,扩展营业网点,改善用卡环境,提供全天候、全方位的金融服务,降低经营成本,提高金融行业的服务质量和综合竞争实力等方面正发挥着不可替代的作用。
1.2意义
对用户来说,自动柜员机(ATM机)的诞生,使原来必须到银行柜台办理的账务查询、转账等业务,可以在大街小巷的固定取款机前进行办理。
对银行来说,自动柜员机(ATM机)的开通,将大大提高工作效率,在方便用户的同时可以节省大量的柜台服务为人员,从而降低生产经营成本。
2银行存取款系统需求分析
2.1系统需求
本系统是一套类似于ATM机的模拟银行系统存取款管理软件,其采用CS结构来实现,当用户在界面进行存取款操作后,其数据信息会存入数据库,用户也可以选择查询这些信息。
2.2功能需求
根据系统的需求分析,本系统的功能要求如下:
2.2.1用户注册和登陆功能
新用户必须先注册,注册需要填写用户名和密码;
老用户可以输入户名和密码直接登陆,通过读取数据库,获取该用户的信息,如果用户不存在则会提示错误。
2.2.2用户存取款转账和查询历史功能
用户登录成功后,可以选择存款、取款、转账或者查询历史记录四项业务,系统会自动进行各种计算,然后将结果返回给用户并将信息存入数据库。
2.3软件属性需求
本系统为银行存取款管理系统,要求程序具有一定的可移植,可扩展,安全性、保密性!
2.4业务流程描述
图1-1业务流程
3.银行存取款系统总体设计
3.1系统设计概述
本系统使用Eclipse作为开发工具,采用Oracle作为后台数据库,使用swing界面,用户所有的操作信息会自动记录在数据库中,用户界面简单明了,功能严谨合理,务求使用户有好的体验。
3.2注册帐户
填写注册信息,注册成功后,把用户信息存进数据库,并自动获得10000元存款。
3.3登录
输入帐户名和密码,读取数据库内容进行验证,如果存在,登录成功,否则提示无此账户,请确认后重新输入!
登录成功后可进行存款取款转账查询历史操作;
3.4存款
输入的存款金额进行验证,如输入负数或字母,提示金额错误,否则提示存款成功,存储被修改的余额信息!
3.5取款
输入的取款金额进行验证,如输入负数或字母,提示金额错误。
取款成功后,存入数据库!
当取款金额大于余额,要有提示,并操作不成功。
3.6转账
输入对方户名可以进行转账,转账后自己余额减少,对方余额增加。
3.7查询历史
显示用户从注册开始的所有操作时间和操作记录。
3.8退出
退出系统。
4Oracle数据库的设计
4.1Oracle数据库设计概论
OracleDatabase,简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
到目前仍然是全球最流行的数据库。
在银行存取款系统的设计中,多次使用了Oracle作为存储信息和读取信息的工具。
4.2表的结构设计
在银行存取款系统的设计中,我们建立了用户表和历史表用于存储信息;
4.2.1用户表
用户表用于存储用户的户名密码余额注册时间信息,当用户注册成功后这些信息会自动记录在数据库中,以便用户查询。
表3-1用户表
字段名
数值类型
说明
HUMING
VARCHAR2(15)
用户户名(主键)
MIMA
用户密码
YUE
MUMBER
用户余额
SHIJIAN
DATE
用户注册时间
4.2.2历史表
历史表用于存储用户从注册开始的所有用户操作,历史表中的字段HUMING与用户表中的字段HUMING是外键关系,以实现2个表之间的关联。
表3-2历史表
用户执行当前操作的时间(主键)
用户户名
CAOZUO
VARCHAR2(100)
当前操作
MUNBER
操作后用户余额
4.3PLSQL存储过程的设计
存储极大地方便了对数据库的增删改查等操作,因此创建与用户表对应的存储过程P_YH和与历史表对应的存储过程P_LS。
4.3.1用户表存储过程的设计
针对用户表的特点和JDBC连接的需要,现设计P_YH代码如下:
createorreplaceprocedurep_yh(
--plsql存储过程-用于对用户表--进行更新密码和余额操作
v_rmarkinnumber,--判定操作
v_varchar2,--户名
v_mimainvarchar2,--用户密码
v_yueinnumber--剩余金额
)
is
begin
if(v_rmark=1)then
insertintoyonghuvalues(v_
updateyonghusetmima=v_mimawherenumber,--判定操作
v_caozuoinvarchar2,--用户操作
v_yueinnumber--操作金额
if(v_rmark=1)then--存储
insertintolishivalues(to_char(systimestamp,'
yyyy-mm-dd(String[]agrs){
Dlactd=newDlact();
d.ff();
}
Override
publicvoidactionPerformed(ActionEvente){
Strings1=t1.getText();
Strings2=String.valueOf(p1.getPassword());
if(e.getSource()==JB2){
调用注册界面
Zcactz=newZcact();
z.ff();
}
else{
登陆成功进入用户操作界面
Xzactx=newXzact();
x.ff(s1,s2);
5.2新用户注册模块的实现
新用户在登陆界面点击注册按钮后调转到注册界面,在程序中调用Zcact类;
5.2.1界面样式
图3-2新用户注册界面
5.2.2功能实现
新用户输入户名、密码及确认密码。
输入两次密码必须一致,不一致提示输入不一致需要重新输入。
在程序中定义两个变量s1和s2,判断两个变量的值是