




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京晓庄学院JAVA程序设计课程设计报告题 目:ATM系统的设计与实现姓 名:黄强 学 号:14131609 班 级:14计算机转本2班 指导教师:徐家喜 完成时间 成 绩:信息工程学院2017年6月1目录1摘要11.1系统开发背景11.2系统开发的目的和意义21.3完成的主要工作22需求分析和总体设计32.1需求分析与设计思路32.1.1关键技术说明32.1.2需求分析32.1.3系统设计方案与思路32.1.4系统目录结构说明42.2系统功能结构52.3数据库设计63详细设计73.1系统模块实现73.1.1ATM主界面实现74系统运行结果115课程设计总结12Java程序设计课程设计模拟ATM系统的设计与实现1 摘要1.1 系统开发背景随着Internet网络的迅速发展,作为电子商务的ATM自动取款系统以其方便、快捷和高效的优势,逐步成为新兴电子商务的经营模式和理念,人们已经不再是只满足于低效率的排队等待,而是渴望能充分享受网络所带来的更多的便利。ATM自动取款系统恰恰适应了如今的快节奏生活。本文以实际ATM取款应用为北京,阐述了系统开发过程的开发方法、系统分析以及一般步骤。本ATM系统的目的就是建立一个客户平台,用户使用此平台进行查询余额、存款、取款、转账、等业务办理。相对于柜员操作一样的,不过ATM系统有的功能有权限设置,一些功能只有银行柜员才能进行的业务办理。ATM取款系统的针对的用户群是使用此软件系统的用户,用户做为系统的服务群体,可以使用数据库已有的账号与密码,登陆ATM系统。当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。这样用户就完成了办理业务。关键词:ATM;MySQL;Java;1.2 系统开发的目的和意义随着信息时代科技的飞速发展,使用ATM取款机、计算机等技术的发展,不仅提高了工作效率,而且大大的提高了其安全性。对于一些复杂的信息,就能够充分的发挥它们的优越性。ATM柜员机就是技术发展的产物,相对的一台ATM柜员机与ATM系统是密不可分的。本系统就是为了更方便人们的生活而设计的。ATM系统作为一款数据传输的技术,用户信息和资金信息的繁杂,包含很多的数据的管理,以前的都是由一些柜员进行操作,而且手续很多。对于ATM取款系统数据的统计和核实等都是采用卡号进行核对的,对于用户的信息资料、以及等用人工办理。数据信息处理工作量大,繁琐。数据处理手工操作,工作量大,工作时需实时认真办理,一但出现错误将带来很大的损失。由于信息一定要准确真实,认真的进行各项核对工作,工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。1.3 完成的主要工作1.实现用户注册,模拟柜台为用户创建用户,以及创建后为用户提供串码作为用户的ID登录。2实现ATM柜员机的所有功能,包括:查询余额、取款、存款、转账。 3查询余额:连接数据库,根据正确的用户名与密码登陆查询对应的余额。 4. 取款、存款: 存款与取款的金额 确保每次操作有效,防止用户误操作,所以如果说用户如果没有输入任何数据要及时提醒用户。成功修改后,更新对应数据库的内容。 5转账:每次转账的金额必需小于余额,只有输入的转为储蓄用户情况下才可以成功转账。 6. 用数据库(或文件)保存当前用户的用户卡号、密码、姓名、余额、信用额度。2 需求分析和总体设计对选题系统进行需求分析和设计思路概述,并给出系统功能结构及数据库设计。2.1 需求分析与设计思路 2.1.1 关键技术说明本项目通过使用Eclipse、MySQL、Visio等软件对程序进程设计,通过Visio等绘图软件对程序的各个窗体的ER图进行设计,然后通过Eclipse对主窗体进行设计,并且通过MySQL等对项目的数据库进行设计以及存储。2.1.2 需求分析1.系统需求本系统是一套类似于ATM机的模拟银行系统存取款管理软件,其采用C/S结构来实现,当用户在界面进行存取款操作后,其数据信息会存入数据库,用户也可以选择查询这些信息。 2.功能需求新用户必须先注册,注册需要填写用户名和密码;老用户可以输入户名和密码直接登陆,通过读取数据库,获取该用户的信息,如果用户不存在则会提示错误。3.用户存取款转账和查询历史功能 用户登录成功后,可以选择存款、取款、转账或者查询历史记录四项业务,系统会自动进行各种计算,然后将结果返回给用户并将信息存入数据库2.1.3 系统设计方案与思路1系统设计概述 本系统使用Eclipse作为开发工具,采用Oracle作为后台数据库,使用swing界面,用户所有的操作信息会自动记录在数据库中,用户界面简单明了,功能严谨合理,务求使用户有好的体验。2注册帐户 填写注册信息,注册成功后,把用户信息存进数据库,并自动获得10元存款。信用用户 自动获得5000元信用值 3登录 输入帐户名和密码,读取数据库内容进行验证,如果存在,登录成功,否则提示无此账户,请确认后重新输入! 登录成功后可进行存款取款转账查询历史操作; 4存款 输入的存款金额进行验证,如输入负数或字母,提示金额错误,否则提示存款成功,存储被修改的余额信息! 5取款 输入的取款金额进行验证,如输入负数或字母,提示金额错误。取款成功后,存入数据库!当取款金额大于余额,要有提示,并操作不成功。 6转账 输入对方户名可以进行转账,转账后自己余额减少,对方余额增加。 7查询历史 显示用户从注册开始的所有操作时间和操作记录2.1.4 系统目录结构说明对系统包结构、文件结构列表说明,如表2-1、2-2所示。表2-1包名作用com放置bank文件,为银行操作Dao放置Account文件,用于临时存储用户信息DB放置accountDB文件,用于连接数据库,并对数据库增删改查等View放置ATM,openAcount,userlogin等界面信息表2-2文件名作用bank.java作为银行柜台操作,主要对用户开户等信息进行处理Account.java用来临时存储用户的个人信息,如账号,姓名,密码等accountDB.java连接数据库,对数据库中添加用户信息,对余额进行相应处理userLogin.java用户登录界面,通过按钮跳转到主界面或注册界面openAcount.java用户注册界面,可像系统自动注册信息,并返回登录 ATM.java主界面的显示,其中包括了用户操作界面以及功能按钮bg.png主界面背景图2.2 系统功能结构对系统实现功能进行说明,分析系统功能结构,画出系统功能结构图,如图2-1所示。图2-12.3 数据库设计在数据设计中,需要对用户的个人信息,以及用户的金额及时更新以增添功能,表结构如图2-2、2-3所示。图2-2图2-3通过MySQL软件设计account表格,在account表格中,设置 id字段,为int类型,该属性模拟用户的银行卡号,在注册时由系统给出,并且设置为主键,不可重复,username为用户名,如用户 为张三,李四等,userpwd为用户密码,用于用户登录时通过用户id和密码同时登录,确保用户的安全,personId 为用户的身份证号码,用户在注册时应通过身份证验证,实名认证制。accountType为系统的标识属性,该属性主要为确立该用户注册的是储蓄用户或信用用户 ,balance为储蓄用户的余额,用于存款,取款,转账等。Ceiling信用用户的信用额度,初始额度默认为5000元。3 详细设计3.1 系统模块实现3.1.1 ATM主界面实现如图3-1所示,该模块为ATM主界面,该界面主要包含中间显示内容区域,以及6个功能的实现,实现了对用户的账户信息,存款,取款,转账等进行处理。图3-1一、 实现原理该项目通过一个JFrame,然后在其中添加容器Panel,然后在Panel内添加查询,转账,存款,取款,返回,退出等按钮,以及 添加中间的子Panel,在用户点击查询按钮时,系统会自动将查询界面的子Panel2调出并添加到Panel中。然后在用户进行完操作后,需要点击返回按钮返回到主界面才能进行其他操作。如果在查询界面,或其他界面,是无法对别的功能进行使用。在用户使用完毕之后,点击退出按钮,即可退出系统。二、 分层结构及调用关系说明如图3-2所示,通过主界面可以点击各个功能按钮,进行查询余额,存款,转账,取款等操作,在用户结束当前工作后,退出该系统。图3-2三、 关键代码分析/*转账*/public void Transfer(int id,int id2,int money)conn=getConnection();/调用连接数据库方法try pstmt=conn.prepareStatement(select * from account where id=?);pstmt.setInt(1,id);rs=pstmt.executeQuery();pstmt2=conn.prepareStatement(select * from account where id=?);pstmt2.setInt(1,id2);rs2=pstmt2.executeQuery();if(rs.next()if(rs.getInt(accountType)0)System.out.println(抱歉,信用卡不支持转账);elseif(moneyrs.getInt(balance)System.out.println(抱歉,您的钱不够转账);elsepstmt=conn.prepareStatement(update account set balance=? where id=+id+);int a=rs.getInt(balance)-money;pstmt.setInt(1, a);pstmt.executeUpdate();if(rs2.next()if(rs2.getInt(accountType)0)System.out.println(抱歉,对方是信用卡不支持转账);elsepstmt2=conn.prepareStatement(update account set balance=? where id=+id2+);int b=rs2.getInt(balance)+money;pstmt2.setInt(1, b);pstmt2.executeUpdate();System.out.println(转账成功);elseSystem.out.println(错误); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();该段代码实现了用户转账时对数据库的操作,主要为当用户进行转账时,判断该用户是什么类型,如果是储蓄用户,支持进行互相转账,如果不是储蓄用户,不支持转账,首先要对转账人的用户金额减去相应的转账金额,然后,让接收人的账户接收转账金额。在运行过程中,要判断是否有该用户,如果能查到该用户信息才可以进行转账,防止用户误操作。四、 分析总结在开发该系统过程中,因为前期构思不够清晰,导致在后期操作起来非常的困难,以及在出现问题等处理能力不足,需要大量的搜集资料,以及在系统设计中,自己考虑到的因素并不完成,通过后期慢慢修改,终于让系统可以完善运行。在该次系统设计中,对Swing程序设计,以及系统结构设计能力进行了提升,以及通过Java对数据库也可以更好的处理。4 系统运行结果以下图4-1至图4-4为模拟银行取款时的界面,其主要功能为查询余额,存款,取款,转账以及操作后返回退出等功能。图4-1 图4-2 图4-3 图4-4 在运行过程中,用户进入主界面,然后根据自己的需求,选择相应的操作,如查询操作,这时,用户可以在界面中看到自己当前账户余额,这时,如果点击存款,转账等为无效操作,根据系统的提醒,需要点击返回到主界面,然后重新选择自己需要进行的操作,如存款,转账等。当操作完毕后,用户点击退出界面,即可退出。5 课程设计总结在本次程序设计中主要介绍了模拟的自动取款系统。从用户视角看主要有四大模块:取款,查询,存款,转账等。实现了报表管理系统的功能需求。在设计过程中主要使用了java的后台开发功能,以及对数据库的操作,可以事先将需要的数据编写到数据库中,或在用户注册时像数据库追加信息。系统需对数据库的操作从开发层面传入数据库来完成数据的修改以及更新操作由于水平有限,本系统的功能有待进一步的完善,只挑选用户感兴趣的相关信息进行显示,大大提高ATM的灵活性和界面友好型。参考文献 1 冯燕奎, 赵德奎. JSP实用案例教程M 清华大学出版社, 2004, 5: 70-1002 王家华 软件工程M 东北大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个性化自驾车租赁夜间城市风光观赏合同
- 2025关于中外合资企业合同范本
- 2025年巴诺客冰淇淋专卖店投资回报与风险控制合同
- 2025关于希望提前终止劳动合同的辞职申请
- 2025年度DJ艺人数字音乐平台直播表演服务协议
- 2025年知识产权保护与维权代理服务协议
- 2025年年度公务车辆租赁与应急支援服务协议
- 2025年环保设备采购协议:区域性污染处理设施集中采购合同
- 2025年度新能源电池采购安全与环保质量承诺协议
- 2025年度物流仓储企业员工安全责任与劳务保障合同
- 2025年高等教育心理学模拟题(含答案)
- 2025年部编版新教材语文七年级上册教学计划(含进度表)
- 医院科研奖励管理办法
- 上汽大众产品与业务培训
- 物流运输服务承诺与质量保证措施
- 【锐仕方达】2025低空经济产业发展及薪酬趋势研究报告623mb
- 车间级职代会培训课件
- 质量信息反馈管理制度
- 第02讲尺寸标注(课件)-2026年高考机械制图一轮复习讲练测
- 湖北校服采购管理制度
- 关于卫生院“十五五”发展规划(完整本)
评论
0/150
提交评论