java专业课程设计ATM柜员机模拟程序.doc
《java专业课程设计ATM柜员机模拟程序.doc》由会员分享,可在线阅读,更多相关《java专业课程设计ATM柜员机模拟程序.doc(45页珍藏版)》请在咨信网上搜索。
1、课程设计(大作业)汇报课程名称:面向对象程序设计课程设计 设计题目:ATM柜员机模拟程序 院 系:信息技术学院 班 级: 设 计 者: 学 号: 指导老师: 设计时间:-1-4-1-8 信息技术学院昆明学院课程设计(大作业)任务书姓 名:院(系):信息技术学院专 业:计算机科学和技术 学 号:任务起止日期:-1-4-1-8课程设计题目:设计一个ATM柜员机模拟程序,实现系统登录、余额查询、ATM取款、ATM存款、修改密码等部分ATM柜员机基础功效,模拟ATM工作原理和人机交互。课程设计要求:使用图形用户界面。当输入给定卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用
2、户能够根据以下规则进行:1、查询余额:初始余额为10000元2、ATM取款:每次取款金额为100倍数,总额不超出5000元,支取金额不许可透支。3、ATM存款:不能出现负存款。4、修改密码:新密码长度大于6位,不许可出现6位完全相同情况,只有旧密码正确,新密码符合要求,且两次输入相同情况下才能够成功修改密码。工作计划及安排:1月4号,老师部署任务、讲授设计内容。1月5号,查阅资料,进行初步设想并画出步骤图。 1月6号,具体设计,创建各个类、编写程序代码。1月7号,测试,对程序进行调试、运行并进行对应分析。1月8号,书写课程设计汇报,验收、考评及答辩。指导老师签字 年 月 日 课程设计(大作业)
3、成绩学号: 姓名: 指导老师: 课程设计题目:设计一个ATM柜员机模拟程序,实现系统登录、余额查询、ATM取款、ATM存款、修改密码等部分ATM柜员机基础功效,模拟ATM工作原理和人机交互。总结:经过为时一周课程设计,我受益匪浅,把平时所学知识通通利用了进来,即使平时积淀知识点比较少、比较单一,不过在这次试验中把零零碎碎知识全部连贯起来了,也达成了课程设计目标,最关键是经过一周努力我最终用面向对象程序设计知识做出了这个“ATM柜员机模拟系统”。因为知识积淀比较少,且有些知识掌握不太牢靠,记忆模模糊糊,最终决定恶补一下落下知识点再进行程序设计。第一天,去图书馆借了相关图书,把知识点打牢,然后参考
4、了相同多个实例,并进行了部分分析和总结。基础功课做好以后第二天正式开工,选定好了题目,进行方法选择、框架设计、画出步骤图、UML图,进行了初步程序设计构想。第三天,编写程序代码,这个过程我认为是最艰苦,因为代码太多,还有API接口不是很熟悉,所以要常常翻阅手册,花费了很多时间。程序一不小心就会犯错不能运行,还需要认真检验,细心细心加细心才能做好。反复进行分析调试,最终一天把程序调试经过后,进行课程设计汇报撰写。即使很幸苦不过,最终结果还是令人满意,最终感谢指导老师对我们帮助和支持。指导老师评语:成绩:填表时间:指导老师署名:课程设计(大作业)汇报一、 题目分析1.系统需求分析(1)设计目标:伴
5、随市场经济繁荣发展,大家物质生活得到极大提升,手中剩下资金也日益增多。受传统观念影响,绝大多数人喜爱把资金投进银行,而在需要使用现金时候再到银行提取现金。这就造成银行业务急剧增加。即使银行网点越来越多,银行工作效率也伴随信息化有较显著增加,不过依旧不能满足广大用户需要。而一味增加营业网点,从理论上即使能稍微缓解银行压力,不过治标不治本,而且每增加一个网点,不仅要付出昂贵资金成本,还需要长久投入人力资本,成本很之昂贵。这时候就迫切需要一个自动,易于普及,低成本设备来处理这一问题。于是ATM机系统应运而生了。自动柜员机,即ATM,是指银行在不一样地点设置一个小型机器,利用一张信用卡大小胶卡上磁带统
6、计用户基础户口资料(通常就是银行卡),让用户能够透过机器进行提款、存款、转账等银行柜台服务,大多数用户全部把这种自助机器称为自动提款机。本文正是经过设计一个ATM模拟模拟程序来实现ATM机系统基础功效,充足利用自己所学Java知识进行设计编程。(2)题目设计要求:本ATM柜员机关键功效以下所述:要求使用图形用户界面。当输入给定卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户能够根据以下规则进行:l 查询余额:初始余额为10000元。l ATM取款:每次取款金额为100倍数,总额不超出5000元,支取金额不许可透支。l ATM存款:不能出现负存款。l 修改密码:新密
7、码长度大于6位,不许可出现6位完全相同情况,只有旧密码正确,新密码符合要求,且两次输入相同情况下才能够成功修改密码。2.ATM模拟系统总体设计结构(1)设计思想:经过程序要求,我们能够清楚知道此次设计ATM柜员模拟程序需要实现四大功效,即查询余额、取款、存款、修改密码。首次之外,作为ATM系统,还需要最基础两大功效,即登陆和退出。依据上述功效分析,我们能够把整个ATM系统分为登陆模块、查询模块、取款模块、存款模块、修改密码模块。除此之外,还有在登陆系统后功效选择模块,退出功效则镶嵌在各个需要模块中。因为各个模块功效实现是经过界面显示出来,则程序设计又能够了解为几大界面设计:登陆界面、主界面、查
8、询余额界面、取款界面、存款界面、修改密码界面。除了几大界面之外,还有系统初始化,关键是初始卡号、密码设定等。在程序大致框架确定以后,我们需要了解各个模块所要实现和需要含有功效。依据现有银行ATM系统,我们能够很快就能够了解此次设计ATM系统应该含有操作。a.登陆界面用户输入正确账号和密码就能够登录到该系统主界面中去,进行对应操作:取款、存款、查询、修改密码。b.主界面主界面包含查询、存款、取款、修改密码、退出功效按钮,按下对应按钮,能够进行对应操作。c.查询界面在主界面中按下查询按钮能够进行查询操作。经过查询功效我们能够查询账户余额,在查询过程中我们能够选择取款业务,除此之外,查询界面之中还有
9、返回和退出操作。返回操作会使用户回到主界面,退出操作会使用户直接回到登陆界面。d.取款界面取款界面既能够经过主界面进入,也能够经过查询、存款等操作过程中界面进入。取款功效在对话框中输入你想要取出金额,不过次金额不能够比账户余额大,且必需是100整数倍,取款完成,会弹出是否显示余额提醒,选“是”话就会进入查询界面,选“否”话,则回到主界面。e.存款界面在主界面按下存款按钮能够进行存款操作,在对话中输入你需要存入金额,所输入数字也要是100整数倍,而且不能够是负数。存款完成,会弹出是否显示余额提醒,选“是”话就会进入查询界面,选“否”话,则回到主界面。f.修改密码选择修改密码按钮能够进行修改密码房
10、,不过要先输入就密码正确而且两次输入新密码一致才能够修改密码。修改完成后,会返回主界面。(2)ATM柜员机总体步骤图,图 图1图1(3)ATM柜员机模拟模拟系统UML图,图 图2 图 23.系统开发及运行环境软件平台:Eclipse,jdk全套软件,editpuls编辑器Eclipse 是一个开放源代码、基于Java可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于经过插件组件构建开发环境。幸运是,Eclipse 附带了一个标准插件集,包含Java开发工具(Java Development Kit,JDK)。Eclipse是著名跨平台自由集成开发环境(IDE)。最初关键用来Java语
11、言开发,经过安装不一样插件Eclipse能够支持不一样计算机语言,比如C+和Python等开发工具。Eclipse本身只是一个框架平台,不过众多插件支持使得Eclipse拥有其它功效相对固定IDE软件极难含有灵活性。很多软件开发商以Eclipse为框架开发自己IDE。 图 3二、各模块分析和实现1.系统各模块介绍代码中出现Account类、MainFrame类、Load类、Take类、Input类、Setpew类和Display类全部继承了Java类JFrame。(1)账户创建模块Class Accout创建用户,初始化用户信息功效和保留用户信息,比如:卡号、密码、原有余额、取款后卡里余额和存
12、款后卡里余额。这类包含组员有:组员变量account、count、password和方法结构方法Account()。实现了账户信息初始化工作,设置默认账户信息,账号:123456,密码:123456。方便后续测试登陆时作为进入模拟系统信息凭证。创建账户关键代码:class Account private int count=10000; /初始账户余额10000 private String account=123456; /初始账号 private String password=123456; /初始密码 public Account() /账户函数 public void setpw(S
13、tring password) /设置密码 this.password=password; public void deccount(int money) /deccount 取款 count-=money;/取款后再原来基础上减所取部分 public void reccount(int money) /reccount 存款 count+=money;/存款后在原来基础上加所存部分 (2)主界面结构模块Class MainFrame结构主界面,提供业务选择,让用户能够在这个界面选择存款、取款、查询余额、修改密码。它包含组员有:结构方法MainFrame()和初始化主界面方法 initComp
14、onents()和组员变量checked、cunkuan、quite、qukuan、reset。实现功效关键为主界面初始化,主界面布局管理,设置好查询、存款、取款、退出、返回操作按钮。关键代码:class MainFrame extends JFrame /主框架方法由JFrame继承而来 public JButton checked; /检测 public JButton cunkuan; /存款 public JButton quit; /退出 public JButton qukuan; /取款 public JButton reset; /重设 /框架按钮参数 public MainF
15、rame() /主框架函数 initComponents(); /添加组件 this.setLocationRelativeTo(null); /设置窗口相对于指定组件位置 this.setVisible(false); /隐藏其它窗口 (3)登陆模块Class Load 实现登录功效和登录界面,假如用户名和密码匹配就能够登录到主界面不然报错。它组员有:Jpassword、accountnum、committ、JL1、JL2和结构方法Load()和初始化方法initComponents()。关键代码:class Load extends JFrame public JPasswordField
16、 Jpassword; public JTextField accountnum;/ public JButton commit;/增删 private JLabel jL1;/设置对齐 private JLabel jL2; public Load() initComponents(); /初始化添加组件和添加监听器 this.setLocationRelativeTo(null);/使窗口至于屏幕中央 this.setVisible(true); (4)取款模块Class Take实现取款功效,按返回键返回主界面,按清除键能够删除输入数字,而且取出金额必需是100整数倍,一次取出金额不能超
17、出5000,取完款后能够显示余额。该类组员有:back、clear、commit、quite、JL1、JT1和结构方法Take()和初始化initComponents()。关键代码:class Take extends JFrame public JButton back; public JButton clear; public JButton commit; private JLabel jL1; public JTextField jT1; public JButton quit; String str=; public Take() initComponents(); this.set
18、LocationRelativeTo(null); this.setVisible(false); (5)存款模块Class input实现存款功效,存款金额必需是100整数倍,不然报错提醒重新输入。组员有:clear、commit、jL1、jT1、str和结构函数Inputhe()和初始化方法initComponents()。关键代码:class Input extends JFrame private JButton clear; private JButton commit; private JLabel jL1; private JTextField jT1; String str=;
19、 public Input() initComponents(); this.setLocationRelativeTo(null); this.setResizable(false); this.setVisible(false); (6)显示余额模块Class Display功效为显示目前余额,在显示余额时JTextField内容不能够编辑,组员有:组员变量back、jL1、quit、qukuan和结构方法Display()和方法数set(String str)和初始化方法initComponents()。关键代码:class Display extends JFrame public J
20、Button back; private JLabel jL1; public JTextField jT1; public JButton quit; public JButton qukuan; public Display() initComponents(); jT1.setText(String.valueOf(myaccount.get(); this.setLocationRelativeTo(null); this.setVisible(false); (7)修改密码模块class Setpw创建这类是为了实现修改密码功效,设置密码必需是六位以上字符,而且所设置密码不能是同一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 专业课程 设计 ATM 柜员机 模拟 程序
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。