ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:62.10KB ,
资源ID:6135396      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6135396.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java实训ATM取款机设计报告.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

java实训ATM取款机设计报告.docx

1、java实训ATM取款机设计报告吉林工程技术师范学院信息工程学院 Java项目实训 课程设计报告题 目: ATM取款机JAVA实训课程设计 专 业: 计算机科学与技术 班 级: C1341 姓 名: 姜秋红 学 号: 25 摘要我选择的是“ATM取款机”,其目的主要是现在市面上的取款机功能不完善还有许多功能没有实现,用户对界面很熟悉,做起来更得心应手,所以的采用的界面和现在用户所用的界面基本相同,可以实现后台与前台的交互以及数据库之间的连接,使得我设计的ATM取款机更加完善。利用jps网页设计一个总页面设计选择使用的用户是用户页面还是管理员页面,让使用的人根据权限去使用不同的功能。在我的ATM

2、取款机上实现了ATM机的基本功能,其界面参照了和原系统基本相同的界面。增加了一些管理员的功能。首先选择是用户登入还是管理员登入。选择用户登入,有查看,存款,取款,转账和修改密码等功能。选择管理员登入,有开户,销户,查询等功能;利用这些更能,使得ATM更加完善。关键字:ATM,查询,取款,转账,修改,界目录程序设计概念 4程序设计的目的 4课程设计的内容 4设计方案的论证 5概要设计 5需求分析 5技术可行性 5经济可行性 5设计实现内容 6数据字典 6成员变量 6方法设计 6页面如下 7数据流程图 7测试运行及结果分析 10测试及问题探讨 11课设总结与体会 12致谢 13参考文献 14附录

3、115一、课程设计的概念1.1课程设计的目的现代社会,ATM可以说是一种使用非常广泛的机器, ATM使用是非常频繁的,然而由于程序及其机器本人的一些漏洞,导致ATM机的犯罪现象屡有发生。该项目的开发有利于进一步提高ATM机的性能及安全性,模拟开发ATM系统软件,掌握系统开基本流程,在开发系统中可以巩固所学的有关软件开发的知识,有利于提出优化改进现代ATM系统的建议。1.2课程设计的内容 银行ATM机的使用已经普及,人们都已习惯利用自动柜员机来提取现金,查询存款,转账,修改密码等等,我设计的ATM取款机添加了新的功能,具体功能如下:1.2.1管理员状态登入:1.2.1.1开户:添加一个新的用户1

4、.2.1.2销户:删除一个无用用户1.2.1.3查询:管理员可以查询用户的相关信息 1.2.2普通用户状态登入: 1.2.2.1查询:用户可以查询自己的银行卡信息 1.2.2.2存款:提供用户提取现金的功能 1.2.2.3转账:提供用户在统一银行内的转账功能 1.2.2.4查询交易情况:查询交易文件中的交易记录 1.2.2.5修改密码:能够修改用户的银行卡密码 二、设计方案的论证2.1概要设计JAVA程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完JAVA程序设计课程后,进行的一次全面的综

5、合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。2.2需求分析 2.2.1技术可行性ATM设计的主要目标为:管理员登陆时要写入账户的名和身份证号在数据库里进行匹配,匹配成功则登入否则在前台显示账号或密码错误;普通用户登入时要写入银行卡号和所属银行卡号的密码,在数据库中进行匹配,匹配成功即登入否则在前台显示账号或密码错误2.2.2经济可行性可行性分析法是对工程项目技术经济论证技术经济论证经济合理性综合分析的方法。其目的是通

6、过对技术先进程度,经济合理性和条件可能性的分析论证,选择以最小的人力、物力、财力耗费,取得最佳技术、经济、社会效益的切实方案。它是解决项目投资前期分析的主要手段。三、设计实现内容3.1系统功能结构设计3.1.1数据字典数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。3.1.2成员变量成员变量也叫类的属性,一般带有访问控制属性的,而全局变量虽然也有类的属性,但全局变量严重影响了封装和模块化,一般的全局变量前面要加上static和fina属性其中,static使该变量任何类都可

7、用(方法ClassName.全局变量名),而fina则使得变量不可更改,基本上算是常量了,这也在一定程度上防止对变量的非法修改。3.1.3方法设计方法名称为任何合乎语法的识别字,返回值类型是方法执行结果返回给调用者的数据类型,void表示没有返回值,参数行(parameterlist)是调用时给予的参数声明,两个以上的参数声明以逗号隔开,若没有参数则参数行为空白,调用时每一个参数对应一个参数值(argument)大括号内为方法本体,也称为方法程序模块(block),包含声明(declarations)和语句(statements),声明也可以掺杂在语句之间。一个方法不能声明在另一个方法内。表3

8、.1.3方法定义方法名功能备注Kh开户Xh销户Cx查询Yhcx用户查询Jiaoyan校验Yhjy用户校验Dl登入Card卡号Select选择update修改Yhdata用户修改yhc用户查询jiaoyan登入校验GLjiaoyan管理用户登录校验3.1.4页面如下:图:3.1.1主页面图3.1.2用户登入页面图3.1.3普通用户显示界面图3.1.4管理员显示页面3.1.5数据流程图图3.1.5 选择方式登入图3.1.6登入验证图3.1.7功能选择四、测试运行及结果分析1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;2、用户输入该银行卡的密码,ATM

9、提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”; 3、用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;4、系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。 5、用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;五、测试及问题探讨如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。 如果用户输入的密码错误,

10、则提示用户“您输入的密码无效,请重新输入”如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。 如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是2500RMB,请重新输入”; 如果用户输入的单笔金额,不是以50RMB为单位的,那么提示用户“您输入的提款金额错误,请输入以50为单位的金额”; 如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动

11、退出该银行卡; 如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,3秒钟后,自动退出银行卡如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足!”,3秒钟后,自动退出银行卡; 如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直接恢复到界面的初始状态; 六、课设总结与体会大约一个星期的编写JAVA程序,发现自己不懂的地方很多,在完成这个设计的时候,我总是被一些小的,细的问题挡住前进的步伐,让我总是为了解决一个小问题而花费很长的时间,甚至做到很晚,最好猛然发现自己缺少一个定义或者还要查阅其他的书籍才能找出解决的办法。例如,我定义了一个

12、链表,可是向里面添加东西的时候,总是出错,后来在上机的时候问老师,才知道链表没有初始化,这是自己的粗心造成的。我在做设计的过程中发现有很多东西,我都还不知道。在做进制转换时不知道函数怎么写,是我上网查到的,再经过修改查到我的程序中。其实在用语言来编程的时候,基础是一个不可缺少的知识,但是往往一些核心的高层次的东西更是不可缺少。七、致谢通过这次课程设计还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,并且还发现了自己的

13、许多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。但通过这次课程设计之后,一定把以前所学过的知识重新温故。我完成了这次JAVA课程设计,不过这只是我学习路上的驿站。我相信我在未来的学习中会记住从本次课程设计中所学到的东西,并将它用到未来的学习中去。在这里谢谢老师的指导,我会更加努力的学习八、参考文献1.张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社2毕广吉. Java程序设计实例教程. 北京:冶金工业出版社,2007年6董迎红、王薇编著,Java程序设计案例教程与实训,北京大学出版社7赵文靖编著,Java程序设计基础与上机指导,清华大学出版社九、附录p

14、ackage c;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.Date;import java.util.List;import c.LianJie;import c.info;public class

15、Zong implements JieK public void kh(info u)throws ClassNotFoundException, SQLException System.out.println( 进入方法中的u里的user_name:+u.getUser_name(); String pid = u.getPid(); String user_name = u.getUser_name(); String telephone = u.getTelephone(); String addr = u.getAddr(); LianJie lj=new LianJie(); Con

16、nection con = lj.getConnection(); String sql = call kaihu(?,?,?,?); CallableStatement cs = con.prepareCall(sql); cs.setString(1,pid); cs.setString(2,user_name ); cs.setString(3,telephone ); cs.setString(4,addr); cs.executeUpdate(); cs.close(); System.out.println(调用开户方法,创建用户得到的user_name+u.getUser_nam

17、e(); public void xh (String user_id)throws ClassNotFoundException, SQLException Connection con = null; LianJie lj=new LianJie(); con = lj.getConnection(); String sql = call xiaohu(?); CallableStatement cs = con.prepareCall(sql); cs.setString(1,user_id); cs.executeQuery(); public List cx(String pid,S

18、tring user_id) throws ClassNotFoundException, SQLException Connection con = null; LianJie lj=new LianJie(); con = lj.getConnection(); Statement sta = null; String sql = SELECT * FROM userinfo where 1=1; if (pid != null & pid!=) sql = sql+ and pid=+ pid+; if (user_id != null & user_id!=) sql = sql+ a

19、nd user_id=+ user_id+; sta = con.createStatement(); ResultSet rs = null; rs = sta.executeQuery(sql); List list=null; list = new ArrayList(); while(rs.next() String user_id1 = rs.getString(1); String user_name = rs.getString(2); String pid1 = rs.getString(3); String telephone = rs.getString(4); Strin

20、g addr = rs.getString(5); info s = new info(); s.setUser_id(user_id1); s.setUser_name(user_name); s.setPid(pid1); s.setTelephone(telephone); s.setAddr(addr); list.add(s); return list; public List yhcx(String card_id)throws ClassNotFoundException,SQLException /System.out.println(card_id); Connection

21、con = null; LianJie lj=new LianJie(); con = lj.getConnection(); PreparedStatement ps =null; String sql1=select u.user_id,u.user_name,u.telephone,c.card_id,c.open_date,c.balance from cardinfo c,userinfo u where c.user_id=u.user_id and card_id=? ; ps = con.prepareStatement(sql1); ps.setString(1,card_i

22、d); ResultSet rs = ps.executeQuery(); List li=new ArrayList(); while(rs.next() String user_id=rs.getString(1); String user_name=rs.getString(2); String telephone=rs.getString(3); String card_id1=rs.getString(4); Date open_date=rs.getDate(5); int balance=rs.getInt(6); info info=new info( ); info.setU

23、ser_id(user_id); info.setUser_name(user_name); info.setTelephone(telephone); info.setCard_id(card_id1); info.setOpen_date(open_date); info.setBalance(balance); li.add(info); return li; public void jiaoyi(info u) throws ClassNotFoundException,SQLException System.out.println(qqqqq); String card_id = u

24、.getCard_id(); String trans_type=u.getTrans_type(); int trans_money=u.getTrans_money(); String card_id1 = u.getCard_id(); System.out.println(card_id); Connection con = null; LianJie lj=new LianJie(); con = lj.getConnection(); String sql = call user_money(?,?,?,?); CallableStatement cs = con.prepareC

25、all(sql); System.out.println(card_id); System.out.println(aaaaa); cs.setString(1, trans_type); cs.setString(2, card_id); cs.setInt(3, trans_money); cs.setString(4, card_id1); cs.executeQuery(); public List yhjy(String card_id) throws ClassNotFoundException, SQLException Connection con = null; LianJi

26、e lj=new LianJie(); con = lj.getConnection(); Statement sta = null; String sql = SELECT * FROM transinfo where 1=1; if (card_id != null & card_id!=) sql = sql+ and card_id=+ card_id+; System.out.println(sql); sta = con.createStatement(); ResultSet rs = null; rs = sta.executeQuery(sql); List list=nul

27、l; list = new ArrayList(); while(rs.next() Date trans_date = rs.getDate(1); String card_id1 = rs.getString(2); int balance = rs.getInt(3); String trans_type = rs.getString(4); int trans_money = rs.getInt(5); String remark = rs.getString(6); info s = new info(); String a=trans_date.toString(); System

28、.out.println(a); s.setTrans_date(a); s.setCard_id(card_id1); s.setBalance(balance); s.setTrans_type(trans_type); s.setTrans_money(trans_money); s.setRemark(remark); list.add(s); return list; public info dl(String user_id,String passwd)throws ClassNotFoundException, SQLException Connection con = null

29、; LianJie lj=new LianJie(); con = lj.getConnection(); Statement sta = con.createStatement(); String sql = SELECT card_id FROM cardinfo where user_id=+user_id+ and passwd=+passwd+ ; ResultSet rs = null; rs = sta.executeQuery(sql); String card_id=null; info in=null; while(rs.next() in = new info(); card_id = rs.getString(card_id); in.setCard_id(ca

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2