基于JAVA语言的ATM系统.docx
- 文档编号:4035887
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:14
- 大小:180.90KB
基于JAVA语言的ATM系统.docx
《基于JAVA语言的ATM系统.docx》由会员分享,可在线阅读,更多相关《基于JAVA语言的ATM系统.docx(14页珍藏版)》请在冰豆网上搜索。
基于JAVA语言的ATM系统
课程设计报告
课程名称:
综合应用课程设计
题目:
基于JAVA语言的ATM系统
院系:
计算机科学与工程学院
班级:
姓名:
学号:
二○○九年十月十五日
一、需求与功能分析2
二、系统总体框架3
三、模块设计与分析4
四、类的设计与分析8
五、特色算法分析10
六、功能测试10
七、存在的不足与对策13
八、程序源代码13
一.
需求与功能分析
随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。
网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。
数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。
数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。
而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。
互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。
产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。
随着金融业的发展,手工操作和旧的管理模式已经严重制约了质量和效率的问题,用计算机管理来代替手工管理是非常必要的。
本文主要介绍了银行管理系统的方案论证、结构特性设计及行为特性设计的实现过程,详细论述了总体设计思想、数据库设计和功能模块设计。
实现了系统初置、系统初值录入、活期储蓄、外部消费与结算模拟、综合统计查询等功能。
整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问题,并具有较强的向导作用,为操作人员提供了丰富的决策功能,而且操作简单方便。
用此系统代替手工操作后,能大大减少在时间和空间上的浪费,为银行节省了大量的人力和物力。
二.系统总体框架
三.模块设计与分析
2.1、登录界面
在整个的系统中,首先用户要正确登录以后才可以进入主界面进行相关的操作:
2.2、主界面
当用户输入正确的登录以后,出现主界面,包括以下的一些功能:
●主界面有转账、退出、查询、取款、存款、修改密码和下面的欢迎界面
●按相应的按钮可以进入相关操作的界面
2.3、取款界面
当用户在主界面点击取款的按钮,可以进入取款界面:
●首先你可以输入取款的金额,输入的必须为数字
●正确输入取款的金额后,直接点击取款,点击是直接可以取走你的钱
●余额不足会出现提示
2.4、存款界面
当用户在菜单栏点击存款的按钮,就可以进入存款界面:
●进入存款界面以后,可以输入存款的金额
●正确输入数字以后,会有相关的提示操作
2.5、余额查询
在菜单栏中点击余额查询,就会弹出余额的窗口。
2.6、行内转账
当点击菜单栏中的行内转账或者点击工具栏中的行内转账的按钮,会出现行内转账的界面,这时就可以进行行内转账;
●分别输入转入的账户和转入的金额,直接点击确定
●会提示转账成功
●余额不足会出现提示
四.类的设计与分析
1.MAINFRAME类
classMAINFRAME
{
publicstaticvoidmain()
publicNewJFrame()
privatevoidinitGUI()
privatebooleanflag;
privateStringsql;
privateStringsql2;
privateinttemp;
privateinttemp2;
};
MAINFRAME类说明表
名称
属性
说明
flag
数据成员
记录是否可以操作
sql
数据成员
记录SQL命令
Sql2
数据成员
记录SQL命令
temp
数据成员
记录临时变量
Temp2
数据成员
记录临时变量
main()
成员方法
执行程序函数
NewJFrame()
成员方法
缺省的构造函数
initGUI()
成员方法
显示界面函数
2.access类
classaccess
{
publicstaticvoidmain()
Stringstrurl;
};
access类说明表
名称
属性
说明
strurl
数据成员
记录SQL命令
main()
成员方法
执行程序函数
五.特色算法分析
在函数或成员方法里找出你认为比较有特色的1~2个算法。
1.access类中的main方法
功能:
连接access数据库
算法思路:
根据jdbc:
odbc:
driver连接
代码:
Stringstrurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=G:
\\nova.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionconn=DriverManager.getConnection(strurl);
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("select*fromclient");
六.功能测试
图6-1帐号登陆图
图6-2查询余额图
图6-3存款图
图6-42727取款图
图6-5转账图
七.存在的不足与对策
由于在下有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。
这些不足请老师多多谅解。
今后在下会更多的学习编程技巧,不断的提高程序设计水平。
1.在使用登录功能时,如果密码输入任意数字会出现抛出异常错误,此时应该输入数据库有的数据(例如帐号1密码1),程序运行就不会出现错误。
2.在使用取款功能时,如果帐号输入英文会出现抛出异常错误,此时应该输入数字的数据,程序运行就不会出现错误。
八.程序源代码(节选)
privatevoidinit(){
FlowLayoutflow=newFlowLayout();
flow.setAlignment(FlowLayout.LEFT);
entryPanel=newJPanel();
operRightPanel=newJPanel();
operLeftPanel=newJPanel();
inquirePanel=newJPanel();
withdrawPanel=newJPanel();
w1=newJPanel();
w2=newJPanel();
editpswPanel=newJPanel();
closeFunction();
entryPanel.setLayout(newGridLayout(2,2));
operLeftPanel.setLayout(newGridLayout(2,1));
operRightPanel.setLayout(newGridLayout(4,1));
inquirePanel.setLayout(newGridLayout(4,1));
withdrawPanel.setLayout(newBorderLayout());
w1.setLayout(flow);
w2.setLayout(newGridLayout(3,1));
setLayout(newBorderLayout());
accLab=newJLabel("帐号");
pwdLab=newJLabel("密码");
tipsLab=newJLabel("欢迎光临");
accFie=newJTextField();
withdrawFie=newJTextField(10);
pwdFie=newJPasswordField(10);
function=newJButton[9];
function[0]=newJButton("查询");
function[1]=newJButton("取款");
function[2]=newJButton("存款");
function[3]=newJButton("修改密码");
function[4]=newJButton("转账");
function[5]=newJButton("退出");
function[6]=newJButton("返回");
function[7]=newJButton("更正");
function[8]=newJButton("确定");
entryPanel.add(accLab);
entryPanel.add(accFie);
entryPanel.add(pwdLab);
entryPanel.add(pwdFie);
operRightPanel.add(function[0]);
operRightPanel.add(function[1]);
operRightPanel.add(function[2]);
operRightPanel.add(function[3]);
operLeftPanel.add(function[4]);
operLeftPanel.add(function[5]);
add(tipsLab,BorderLayout.NORTH);
add(entryPanel,BorderLayout.SOUTH);
pwdFie.addActionListener(newEntryListener());
for(JButtonjb:
function){
jb.addActionListener(newfunctionListener());
}
}
publicvoiddeposit(Stringbal,Stringacc){
try{
inquire(acc);
balanceInt=Integer.parseInt(balanceStr);
intb=Integer.parseInt(bal);
balanceInt+=b;
Strings="updateclientsetbalance="+balanceInt
+"whereaccount="+acc;
linkDatabase().executeUpdate(s);
}catch(Exceptione){
e.printStackTrace();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 语言 ATM 系统