基于javaATM机银行存取款系统的设计与实现含源文件毕业设计论文.docx
- 文档编号:27978121
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:74
- 大小:241.39KB
基于javaATM机银行存取款系统的设计与实现含源文件毕业设计论文.docx
《基于javaATM机银行存取款系统的设计与实现含源文件毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于javaATM机银行存取款系统的设计与实现含源文件毕业设计论文.docx(74页珍藏版)》请在冰豆网上搜索。
基于javaATM机银行存取款系统的设计与实现含源文件毕业设计论文
本科毕业论文(设计)
银行存取款系统的设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
银行存取款系统的设计与实现
摘要
计算机科学技术的发展不仅极大地促进了整个科学的发展,而且明显加快了经济信息化和社会信息化的进程。
绝大多数的公司的日常办公已经离不开计算机技术和软件技术。
国内的银行大都大力发展银行自动取款机(ATM),以提高工作效率和降低成本。
本系统采用Eclipsc作为开发工具,使用Java语言编写,并连接Oracle数据库,搭建和模拟银行最常见存款取款转账操作。
可实现用户注册、用户登录、用户存款、用户取款、用户转账、查询该用户所有的操作记录的功能。
关键词
注册;登陆;存取款;转账;历史记录
Designandimplementationofbankdeposit
andwithdrawalsystem
Abstract
Thedevelopmentofcomputerscienceandtechnologynotonlygreatlypromotedthedevelopmentofscienceasawhole,andsignificantlyspeeduptheprocessofeconomicandsocialinformation.Thevastmajorityofthecompany'sday-to-dayofficecannotdowithoutthecomputertechnologyandsoftwaretechnology.DomesticbanksMostvigorouslydevelopmentBankautomatedtellermachine(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机的模拟银行系统存取款管理软件,其采用C/S结构来实现,当用户在界面进行存取款操作后,其数据信息会存入数据库,用户也可以选择查询这些信息。
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
VARCHAR2(15)
用户密码
YUE
MUMBER
用户余额
SHIJIAN
DATE
用户注册时间
4.2.2历史表
历史表用于存储用户从注册开始的所有用户操作,历史表中的字段HUMING与用户表中的字段HUMING是外键关系,以实现2个表之间的关联。
表3-2历史表
字段名
数值类型
说明
SHIJIAN
VARCHAR2(15)
用户执行当前操作的时间(主键)
HUMING
VARCHAR2(15)
用户户名
CAOZUO
VARCHAR2(100)
当前操作
YUE
MUNBER
操作后用户余额
4.3PL/SQL存储过程的设计
存储极大地方便了对数据库的增删改查等操作,因此创建与用户表对应的存储过程P_YH和与历史表对应的存储过程P_LS。
4.3.1用户表存储过程的设计
针对用户表的特点和JDBC连接的需要,现设计P_YH代码如下:
createorreplaceprocedurep_yh(
--pl/sql存储过程-用于对用户表--进行更新密码和余额操作
v_rmarkinnumber,--判定操作
v_huminginvarchar2,--户名
v_mimainvarchar2,--用户密码
v_yueinnumber--剩余金额
)
is
begin
if(v_rmark=1)then
insertintoyonghuvalues(v_huming,v_mima,v_yue,sysdate);
elsif(v_rmark=2)then
updateyonghusetmima=v_mimawherehuming=v_huming;
else
updateyonghusetyue=yue+v_yuewherehuming=v_huming;
endif;
commit;
end;
4.3.2历史表存储过程的设计
针对历史表的特点和JDBC连接的需要,现设计P_LS代码如下:
createorreplaceprocedurep_ls(
--pl/sql存储过程--用于对历史表--进行存储删除操作
v_rmarkinnumber,--判定操作
v_huminginvarchar2,--户名
v_caozuoinvarchar2,--用户操作
v_yueinnumber--操作金额
)
is
begin
if(v_rmark=1)then--存储
insertintolishivalues(to_char(systimestamp,'yyyy-mm-ddhh24:
mi:
ss'),v_huming,v_caozuo,v_yue);
else
deletefromlishiwherehuming=v_huming;
endif;
commit;
end;
5银行存取款系统的实现
5.1用户登陆模块的实现
5.1.1界面样式
图3-1用户登陆界面
5.1.2功能实现
程序启动后调用Dlact类,显示用户登陆界面。
新用户需要点击注册按钮调转到用户注册界面进行注册,老用户输入户名和密码点击登陆按钮,程序将跳转到用户操作界面。
户名和密码错误或者不存在会提示登录失败。
该模块主要代码如下:
publicclassDlactextendsJFrameimplementsActionListener{
publicvoidff(){
f.setLayout(null);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
f.setVisible(true);
}
publicstaticvoidmain(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,判断两个变量的值是否相等。
新用户注册成功后,系统将自动存储信息,并有余额10000元。
该部分主要代码如下:
publicclassZcactextendsJFrameimplementsActionListener{
publicvoidff(){
f.setLayout(null);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
f.setVisible(true);
}
@Override
publicvoidactionPerformed(ActionEvente){
Strings1=t1.getText();
Strings2=String.valueOf(p1.getPassword());
Strings3=String.valueOf(p2.getPassword());
System.out.println(s2);
if(!
s2.equals(s3)){
//判断2次密码是否一致
JOptionPane.showMessageDialog(null,"密码输入不一致");
return;
}
else{
JOptionPane.showMessageDialog(null,"注册成功");
}
Yhvoyvo=newYhvo();//调用Yhvo将数据存入用户表
Lsvolvo=newLsvo();//调用Lsvo将数据存入历史表
yvo.setHuming(s1);
yvo.setMima(s2);
yvo.setYue(10000);
lvo.setHuming(s1);
lvo.setCaozuo("注册账号获得10000");
lvo.setYue(10000);
yvo.setShijian(newDate());
try{
Yhdao.ff2(yvo,1);
Lsdao.ff2(lvo,1);
}catch(ClassNotFoundExceptione1){
e1.printStackTrace();
}catch(SQLExceptione1){
e1.printStackTrace();
}
}
}
5.3用户操作模块的实现
用户登陆成功后,进入操作选择界面。
在程序中应用Xzact类。
5.3.1界面样式
图3-3用户主界面
5.3.2功能实现
用户登陆成功后,用户可以选择存款、取款、转账、查询历史操作;选择不同的操作会跳转到对应的界面;该部分主要代码如下:
publicclassXzactextendsJFrameimplementsActionListener{
Stringhm=null;
Stringmm=null;
publicvoidff(Stringhm,Stringmm){
this.hm=hm;
this.mm=mm;
f.setLayout(null);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
f.setVisible(true);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 javaATM 银行 取款 系统 设计 实现 源文件 毕业设计 论文