ATM柜员机模拟系统.docx
- 文档编号:25152241
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:16
- 大小:105.09KB
ATM柜员机模拟系统.docx
《ATM柜员机模拟系统.docx》由会员分享,可在线阅读,更多相关《ATM柜员机模拟系统.docx(16页珍藏版)》请在冰豆网上搜索。
ATM柜员机模拟系统
课程设计说明书
课程名称Java课程设计
设计题目ATM柜员机模拟系统
学生姓名学号
专业
指导教师
2020年06月25日
课程设计评语与成绩评定
项目
评判标准(在每一项目对应的标准下方空格内标记√)
优秀
良好
中等
及格
不及格
工作量
能很好地完成任务书规定的工作量。
能较好地完成任务书规定的工作量。
按时完成任务书规定的工作量。
基本完成任务书规定的工作量。
没有完成任务书规定的工作量。
资料收集方案设计
独立提出实施方案,有分析整理、获取新知识的能力。
能阅读一些自选资料,能较好地分析整理各类信息。
能分析整理各类信息。
能阅读教师指定的参考资料。
未完成教师指定的参考资料的阅读。
综合应用能力
能熟练掌握和运用基本理论,取得的结果有一定的实用价值。
能熟练掌握和运用有关理论,能独立取得结果。
较好地掌握有关理论,在教师指导下能完成工作。
掌握和运用理论比较符合要求。
基本理论模糊不清,无任何结果。
技术水平实际能力
设计合理,有较强的实际动手能力和计算机应用能力。
设计比较合理、有一定的实际动手能力和计算机应用能力。
设计比较合理,实际动手尚可。
设计基本合理,理论分析与实施无大错。
设计不合理,实际动手能力差。
说明书撰写质量
结构严谨,逻辑性强,层次清晰,文字流畅,符合规范化要求,打印精美。
结构合理,符合逻辑,文章层次分明,语言准确,达到规范化要求,打印工整。
结构基本合理,层次较分明,文理通顺,基本达到规范化要求。
结构基本合理,文字尚通顺,勉强达到规范化要求。
结构混乱,文字表达不清,错别字较多,达不到规范化要求。
学习态度
态度认真,作风严谨,严格按进度开展各项工作。
学习态度比较认真,能按期圆满完成任务书规定的任务。
遵守纪律,基本保证设计时间,按期完成各项工作。
态度尚可,在指导教师的帮助下能按期完成任务。
纪律涣散,不能保证设计时间和进度。
综合评定成绩:
优秀
良好
中等
及格
不及格
指导教师:
2010年月日
随着银行客户数量的增加和业务的繁重,一些具体的业务流程若是还只是采纳手工操作的方式来实施,不公费时、费力,效率低下,而且无法达到理想的成效。
例如平常的存取款和查询等业务。
因此,ATM机治理系统随之显现,提高了银行业务处置的效率,也方便了用户。
本系统在极大简化的情形下,想要表现ATM治理系统的大体雏形,想要表现Java技术在传统C/S模式。
多窗体方式下数据库应用系统的开发方式。
本系统的设计与实现能充分表现出JAVA的编程技术,专门是Java操作数据库数据的技术。
一、开发环境与开发工具
1、开发语言:
JAVA
2、开发工具:
Netbeans
3、应用数据库:
Netbeans自带的数据库mysql
4、操作平台:
WindowsXP
二、系统需求分析
用户能够通过ATM柜员机模拟系统实现对账户信息及其相关信息的治理,简化银行业务处置和方便用户,本系统具有如下功能:
1、账户登录认证;
2、取款业务;
3、存款业务;
4、查询余额;
5、查询交易记录;
6、转账;
7、修改密码。
三、功能需求分析
ATM柜员机模拟系统按如上所假设,治理功能是比较简单的,要紧实现了对账户的治理,具体功能有账户认证、存取款、查询余额、查询交易记录、修改密码等。
系统功能布局见系统功能模块,如图1-1所示。
ATM柜员机模拟系统
修改密码模块
查询交易记录
查询余额模块
账户登录模块
转账模块
取款模块
存款模块
图1-1系统功能模块图
四、系统设计
数据概念结构设计
数据流程图
返回信息
办理业务
交易记录信息
账户信息管理
ATM管理系统
用户
系统数据流程图如图1-2所示:
图1-2简易系统数据流程图
系统E-R图
经调研分析后得ATM治理系统整体大体E-R图如图1-3所示。
N
1
更新
余额
交易时间
交易日期
交易金额
交易类型
账号
交易记录信息
余额
密码
账号
账户信息
图1-3系统大体E—R图
数据库逻辑结构(关系模式)设计
依照E-R图到逻辑关系模式的转换规那么,可取得系统如下两个关系:
(1)账户信息(账号、密码、余额);
(2)交易记录信息(账号、交易类型、交易金额、交易日期、交易时刻、余额)
其中带下划线“”的为关系关键字(即主码),带“”为外键。
数据库物理结构设计
本系统数据库表的物理设计通过创建表的SQL命令及数据数库关系图来呈现。
采纳的是Netbeans自带的数据库mysql。
方式如下:
先创建一个数据库,名为db_user,密码为null,(若是数据库名称不一样,要更改配置文件里面的内容),选择表右键选择执行语句,再执行以下语句(若是想一次执行以下全数语句必需全数选择再按执行):
--创建交易记录表
CREATETABLE(CARDNOVARCHAR(22),JYLXVARCHAR(22),JYJEDECIMAL(22),RQDECIMAL(22),SJVARCHAR(22),YEDECIMAL(22));
--创建用户表
CREATETABLE(CARDNOVARCHAR(10)NOTNULL,PWDVARCHAR(6),MONEYDECIMAL(12),PRIMARYKEY(CARDNO));
--添加用户数据
insertinto(cardno,pwd,money)values('0','198612',10000);
insertinto(cardno,pwd,money)values('0','198611',6000);
insertinto(cardno,pwd,money)values('0','6143141',8000);
五、系统功能的实现
数据库连接实现
本系统的数据库是利用netbeans自带的mysql,需要添加驱动在库里,先利用PropertyManager类连接配置文件。
packageinit;
import.*;
import.*;
publicclassPropertyManager{
privatePropertiessettings=newProperties();
publicvoidconfigure(Stringfilename)throwsIOException{
FileInputStreamfi=null;
try{
fi=newFileInputStream(filename);
(fi);
}catch(Exceptionex){
"err-->>"+ex);
}
finally{
if(fi!
=null){
();
}
}
}
publicStringgetProperty(Stringkey){
return}
publicPropertiesgetSettings(){
returnsettings;
}
}
数据库连接类ConnectDB:
packagejdb;
import;
import.*;
publicclassConnectDB{
publicConnectiongetConnection(){
try{
Connectionconn=null;
PropertyManagerpm=newPropertyManager();
("");
Stringdriver=("");
Stringurl=("");
Stringuser=("");
Stringpassword=("");
(driver);
conn=(url,user,password);
returnconn;
}catch(SQLExceptionex){
"SQL--->"+ex);
returnnull;
}catch(ClassNotFoundExceptionex){
"ClassNotFound-->"+ex);
returnnull;
}catch(IOExceptionex){
"IOException-->"+ex);
returnnull;
}
}
}
登录模块的实现
图1-4登录界面
关键方式代码实现:
privatevoidcmdokActionPerformedevt){
UserManagerlg=newUserManager();
etVisible(true);
}
});
}
查询余额窗体实现
图1-6查询余额窗口
关键方式代码:
quals("")){
(null,"请输入金额!
");
}else{
qkje=());
if(qkje%100==0&&qkje<=5000&&qkje>0){
QkFrameqkf=newQkFrame();
if(qkje)){
UserManagerum=newUserManager();
(cardno,qkje,jylx);
(null,"取款成功!
");
();
}
}
else{
(null,"输入金额有误!
");
}
}
}
判定存款金额是不是附合要求
privatevoidcmdokActionPerformedevt){
//TODOaddyourhandlingcodehere:
intckje=());
if(ckje%50==0&&ckje<=10000&&ckje>0){
UserManagerum=newUserManager();
(cardno,ckje,jylx);
(null,"存款成功!
");
();
}else{
(null,"输入有误!
");
}
}
修改密码功能实现
图1-10修改密码功能实现
关键代码:
publicbooleanpdmm(Stringtxtx){//判定密码长度是不是为六位和是不是全都一样
booleanpass=false;
char[]data=newchar[5];
intl=();
if(l!
=6){
(null,"密码只能为六位!
");
}
else{
data=();
intv=1;
for(intj=0;j<=4;j++){
if(data[j]==data[j+1]){
v++;
}
}
if(v==6){
(null,"密码不能全数相同!
请从头输入!
");
}
else{
pass=true;
}
}
returnpass;
}
//修改密码在中的方式
publicbooleanchangePwd(Stringcardno,Stringnewpwd){
booleanyn_success=false;
PreparedStatementps=null;
ConnectDBdao=newConnectDB();
Connectionconn=();
Stringsql="updatesetpwd=?
wherecardno=?
";
try{
ps=(sql);
(1,newpwd);
(2,cardno);
if()!
=0)
yn_success=true;
}
catch(Exceptionex){
"inUserManager-->chanagePwd()[error]:
"+());
}
finally{
try{
if(ps!
=null)
();
if(conn!
=null)
();
}
catch(Exceptionex){}
}
returnyn_success;
}
六、测试与保护
系统编码完成后,经测试,系统动能运行良好。
认证输入密码次数:
认证取款数据:
认证存款数据:
其他功能通过反复的测试,一切运行正常。
就会自动生成jar文件在该项目文件夹目录的dist文件夹(自动创建)下。
七、小结
这几个礼拜通过对ATM的制作进程,对数据库知识和编程的综合运用有了专门大的熟悉,以前老是以为编程跟数据库是没有关系的,此刻明白它们是联系很紧密的,在这次实验中,我不断的去运用以前的知识,是对这学期所学的一个大综合运用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 柜员机 模拟 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)