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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

java实训ATM取款机设计报告文档格式.docx

1、数据字典6成员变量6方法设计6页面如下7数据流程图7测试运行及结果分析10测试及问题探讨11课设总结与体会12致13参考文献14附录115一、课程设计的概念1.1课程设计的目的现代社会,ATM可以说是一种使用非常广泛的机器, ATM使用是非常频繁的,然而由于程序及其机器本人的一些漏洞,导致ATM机的犯罪现象屡有发生。该项目的开发有利于进一步提高ATM机的性能及安全性,模拟开发ATM系统软件,掌握系统开基本流程,在开发系统中可以巩固所学的有关软件开发的知识,有利于提出优化改进现代ATM系统的建议。1.2课程设计的容银行ATM机的使用已经普及,人们都已习惯利用自动柜员机来提取现金,查询存款,转账,

2、修改密码等等,我设计的ATM取款机添加了新的功能,具体功能如下:1.2.1管理员状态登入:1.2.1.1开户:添加一个新的用户1.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程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不

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

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

5、封装和模块化,一般的全局变量前面要加上static和fina属性其中,static使该变量任何类都可用(方法ClassName.全局变量名),而fina则使得变量不可更改,基本上算是常量了,这也在一定程度上防止对变量的非法修改。3.1.3方法设计方法名称为任何合乎语法的识别字,返回值类型是方法执行结果返回给调用者的数据类型,void表示没有返回值,参数行(parameterlist)是调用时给予的参数声明,两个以上的参数声明以逗号隔开,若没有参数则参数行为空白,调用时每一个参数对应一个参数值(argument)大括号为方法本体,也称为方法程序模块(block),包含声明(declaration

6、s)和语句(statements),声明也可以掺杂在语句之间。一个方法不能声明在另一个方法。表3.1.3方法定义方法名功能备注Kh开户Xh销户Cx查询Yhcx用户查询Jiaoyan校验Yhjy用户校验Dl登入Card卡号Select选择update修改Yhdata用户修改yhcjiaoyan登入校验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提款机中插入银行卡,如果

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

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

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

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

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

12、、附录package 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 cl

13、ass 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();

14、 Connection 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();调用开户方法,创建用户得到的user_name public void xh (String user_id)th

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

16、tion con = lj.getConnection(); Statement sta = null;SELECT * FROM userinfo where 1=1 if (pid != null & pid!=) sql = sql+ and pid=+ pid+ if (user_id ! user_id! and user_id=+ user_id+ sta = con.createStatement(); ResultSet rs = null; rs = sta.executeQuery(sql); List list=null; list = new ArrayList();

17、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); String addr = rs.getString(5); info s = new info(); s.setUser_id(user_id1); s.setUser_name(user_name); s.setPid(pid1); s.setTelephone(telephone);

18、s.setAddr(addr); list.add(s); return list; yhcx(String card_id)throws ClassNotFoundException,SQLException /System.out.println(card_id); 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_i

19、d and card_id=? ps = con.prepareStatement(sql1); ps.setString(1,card_id); 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.get

20、Date(5); int balance=rs.getInt(6); info info=new info( ); info.setUser_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 ClassNotFoundE

21、xception,SQLException qqqqq); String card_id = u.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); String sql = call user_money(? System.out.println(card_id);aaaaa cs.setString(1, trans_type); cs.setS

22、tring(2, card_id); cs.setInt(3, trans_money); cs.setString(4, card_id1); cs.executeQuery(); yhjy(String card_id) throws ClassNotFoundException, SQLExceptionSELECT * FROM transinfo where 1=1 if (card_id ! card_id! and card_id=+ card_id+ System.out.println(sql); Date trans_date = rs.getDate(1); String

23、 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); String a=trans_date.toString(); System.out.println(a); s.setTrans_date(a); s.setCard_id(card_id1); s.setBalance(balance); s.setTrans_type(tra

24、ns_type); s.setTrans_money(trans_money); s.setRemark(remark); public info dl(String user_id,String passwd)throws ClassNotFoundException, SQLException Statement sta = con.createStatement();SELECT card_id FROM cardinfo where user_id=+user_id+ and passwd=+passwd+ ; String card_id=null; info in=null; in = new info(); card_id = rs.getString(card_id in.setCard_id(card_id); card_id:+card_id); sta.close(); con.close(); return in; card(String user_id) throws SQLException,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1