基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】

基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】

ID:429991

大小:705.04 KB

页数:48页

时间:2017-08-01

上传者:U-944
基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】_第1页
基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】_第2页
基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】_第3页
基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】_第4页
基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】_第5页
资源描述:

《基于JAVA的模拟ATM系统的设计与实现【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

毕业论文本科毕业论文开题报告计算机科学与技术基于JAVA的模拟ATM系统的设计与实现一、综述本课题国内外研究动态,说明选题的依据和意义ATM是AutomaticTellerMachine的缩写,即自动柜员机。它是有计算机控制的持卡人自我服务型的金融专用设备。现代意义上的ATM系统始于二十世纪60年代末,最早的ATM机只是现钞发放机,1976年,英格兰的巴克莱银行安装了第一台现钞发放机,它并没有使用磁条卡,而是向用户发行纸券,用户将纸券插入机器,取出面值为10英镑的钞票。现代ATM机的想法来自于唐·维泽尔,1968年,当他在达拉斯银行排队等候的时候,萌发了这个想法。之后,他建议自己的雇主Docutel研制这种机器。研发中最重要的过程是将信息加密后存储在磁条上,然后将磁条加在塑料卡片上。研制成功后,Doctuel将ATM机卖给了纽约化学银行。1969年,化学银行把这个机器安装在洛克菲勒中心的办公室,虽然Docutel的ATM机器使用了现代的磁条技术,但和今天的技术相比,还是显得比较原始,它只能用于取现钞,而且只能脱线使用,机器用特殊的方法打印下交易的纪录。直到20世纪70年代初,ATM技术才发展到我们今天的水平。起初,ATM主要用来处理信用卡,到了1972年,克里夫兰城市国家银行成功地引进了一种可在ATM机上使用的没有透支功能的卡片。如今,ATM机发展了更多功能,包括存钱、支票和储蓄账户之间相互转账,付款等等。同时,ATM实现了与计算机相连接,使客户可以实时地了解账户余额和支付情况。多台ATM机与银行主机相连,就逐渐形成了ATM网络。目前全球共有ATM超过120万台,平均每5分钟新增一台,连南极科考基地都安装了ATM,每年通过这些机器进行的金融交易超过400亿。从这些数据可以看出银行自动提款机已经进入了人们的日常生活,我们对自助式服务已经不再陌生,并成为了人们日常生活习以为常的一部分,确实的给人们的生活带来了极大的便利。39 毕业论文ATM网上银行取款作为电子商务的一种形式正以方便、快捷的优势,逐步成为新兴的经营模式和理念,人们已经不再满足于排队等待办理各种业务,而是渴望着能够充分享受网络所带来的更加多的便利。ATM银行取款系统正适应了当今社会快节奏地生活,使顾客可以方便快捷轻松地办理各种实物银行所能办理的各种业务,大大节约了时间和实物银行所需的人力,物力,财力等。经过了近40年的发展,ATM也取得了长足的进步,从早期的纸券取钱,到现在的一卡在手,ATM机也从早期的简单机器,后期的系统集成式机器,发展成了如今的基于个人PC上操作系统下的智能化系统,拥有了更多更全更加方便的功能。随着个人PC的快速发展,越来越多的ATM机逐步替换为了PC机,也采用了基于WINDOWSXP系统下的操作系统,具有了更加人性化,更加友好的操作界面,也具有了更快的响应速度,这也使得各个银行之间的ATM操作平台有了逐步统一的可能,加强各银行的服务联系,使客户跨行进行ATM交易将更加便捷,资费也能够得到降低。本次开发的ATM系统就是基于WINXP系统下的软件系统。 模拟ATM系统就是对提款机操作系统在个人PC上及主流操作平台中的编程实现,其开发主要包括后台数据库的建立和维护及前端应用程序的开发制作两个方面。用户在ATM客户端登陆,实现取款、查询、转账、密码修改等业务操作,银行管理员在后台实现对银行数据库信息的增删改查等操作。由于银行ATM系统着重的是安全性和实用性,本系统采用JAVA语言进行开发,由于Java语言具有简单、面向对象、多线程、分布性、体系结构中立、安全性等方面的优点,并且由Java语言开发的软件可以在不同的硬件平台和操作系统下运行,大大提高了程序的可移植性。同时通过Access对象进行界面之间的转换,从而完成用户的相关操作和信息保存。 一个软件系统的开发,从最初的需求分析到流程图的绘制及模块的分析,再到最后的数据库设计及代码的编写实现都需要自己动手一步一步的来解决完成,这个过程对于自己在大学所学的知识是一个非常好的检验,对自己动手能力及思维能力也是一次非常好的锻炼。希望通过这次毕业设计的研究学习,认清自己的不足之处,不断的去学习完善自己的理论知识,逐步提高动手能力,为以后的工作打下坚实的基础。二、研究的基本内容,拟解决的主要问题:1.系统分析和建模。主要是流程图的建立与分析。2.操作模块和界面模块的设计。3.数据库的设计和连接,如何实现程序与后台数据库的连接。39 毕业论文4.对卡内余额和取款限制的设计与实现。三、研究步骤、方法及措施:1.总体设计对系统进行架构,包括系统的模块设计,数据库设计等等。2.详细设计程序流程图,功能盒图,出错处理的设计和系统与数据库的连接等等。3.编码阶段用JAVA对系统进行编码。4.测试阶段对系统取款、存款、转账等功能的测试。5.编写论文构思论文总体结构,撰写论文草稿,反复修改论文,最后完成论文。四、参考文献[1]李俊民,高春燕等.SQLServer2000.2006年1月[2]陈昊鹏译.Java编程思想.北京:机械工业出版社,2007[3]开发者突击:JSP网络开发经典模块实现全集.北京:电子工业出版社,2008[4]丁振凡主编.Java语言实用教程.北京:北京邮电大学出版社,2005[5]陈国君等编著.Java2程序设计基础.北京:清华大学出版社,2006[6]施霞萍等编著.Java程序设计教程第2版.北京:机械工业出版社,2006[7]吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006[8]汤一平.Java语言程序设计.科学出版社,2006[9]孙卫琴.Java面向对象编程[M].电子工业出版社,2006[10]万江平.用Java开发的FTP服务器(英文)[J].华南理工大学学报(自然科学版),2001,(08)[11]吴金秀.Java语言中异常的研究[J].软件导刊,2008,(09)[12]周观民,刘书伦.用Java实现多线程程序设计[J].济源职业技术学院学报,2006,(02)39 毕业论文毕业论文文献综述计算机科学与技术基于JAVA的模拟ATM系统的设计与实现ATM是AutomaticTellerMachine的缩写,即自动柜员机。它是有计算机控制的持卡人自我服务型的金融专用设备。ATM机可以向持卡人提供提款、存款、查询余额、更改密码等功能。ATM不仅能接受本行本地卡,还可以通过网络功能接受异地卡、他行卡,同时为持卡人提供每日24小时服务。随着Internet的蓬勃发展,ATM网上银行作为电子商务的一种形式正以方便、快捷的优势,逐步成为新兴的经营模式和理念,人们已经不再满足于排队等待办理各种业务,而是渴望着能够充分享受网络所带来的更加多的便利。ATM银行系统正适应了当今社会快节奏地生活,使顾客可以方便快捷轻松地办理各种实物银行所能办理的各种业务,大大节约了时间和实物银行所需的人力,物力,财力等[1]。一、ATM系统模拟ATM系统就是对提款机操作系统在个人PC上及主流操作平台中的编程实现,其开发主要包括后台数据库的建立和维护及前端应用程序的开发制作两个方面。用户在ATM客户端登陆,实现取款、查询、转账、密码修改等业务操作,银行管理员在后台实现对银行数据库信息的增删改查等操作。一、ATM系统使用的开发语言 人们在ATM系统的开发时,使用了各种不同的计算机语言,本系统采用Java语言作为开发语言,因为Java语言是一个具有简单、面向对象、多线程、分布性、体系结构中立、安全性等方面优点的语言。 Java语言由理解和信奉网络计算梦想的一个小巧而专注的开发组设计的,虽然该语言最初的实施方案有点缺陷,但为了这个梦想,设计者们很少在技术上妥协,结果诞生了一种专为以相互通信为主要目的的设备而设计的语言。其许多技术上的优点都可能会引导嵌入系统开发者选择Java。39 毕业论文优点一,Java与处理器无关。传统上,嵌入程序就是针对特定的微处理器设计并在其上运行的,而C语言程序的可移植性则可通过编译或交叉编译来保障。但是利用Java,一个程序可以存储在一个系统上,而被下载并运行在完全不同的另一个系统上;设备可能从不同地方下载一些程序在一个处理器上运行,或者不同的处理器运行同一个程序,并通过网络在相互间传递数据。使用Java,一个嵌入式系统就可能成为一个通用的通信设备,能下载并运行能完成特定任务的程序。优点二,Java是一种纯粹面向对象的语言,Java类被组织成一个等级层次,在层次结构中,一个子类能够继承其超类的行为,并可用子类所具备的一些特有功能来扩展其超类的功能。其对象模型是能定义对应真实事物的数据结构,使得程序的任务和任务如何实现二者之间的转换变得基本上透明。优点三,由于有了JVM,一个Java应用程序与操作系统或硬件完全隔绝,因此计算机病毒或其他作祟的代码就很难获得对设备的控制。其虚拟机是主机设备和那些可能难以确定其质量和可靠性的软件之间的一个保护层[2]。优点四,JBuilder继承了C++Builder/Delphi的特点,在可视化上使用简便。由于Java本身语言的特点使得他们在网络开发中具有高人一等的表现,而且面向对象特性高,支持的组件技术也非常多,跨平台的特性也使得它在现在和未来的开发中占据越来越重要的地位。三、ATM系统的发展及未来研究方向 为提高国内新增ATM应用效果,要求国内银行必须紧跟ATM技术发展动态,开辟ATM新的业务运用领域。1.安全性能提高主要用于顾客身份合法性识别和认证上采用更加先进安全的技术。例如:(1)美国新泽西一家公司发明了虹膜识别技术,利用人的瞳孔与指纹的独一无二性来识别顾客身份。(2)德国西门子公司带有容貌识别系统的ATM,机器只有在看到持卡人本人的容貌后才会出钞,有效避免持卡人因卡遗失、密码泄漏造成资金损失。(3)NCR最新推出的自动出纳机是“对讲机”,用录制好的信息回答一些简单问题。视频自动出纳机组可在视频显示盘上看到讲话人的头像、磁带,可用于提醒顾客关于银行提供的诸多服务[3]。2.应用领域扩大及新功能的增加,为用户提供更加方便快捷的服务(1)上网。即将开发的网络柜员机,使用户可以通过ATM登录Internet,获取个人帐户历史信息,并在银行间自由调度资金,也可通过任何一台网络ATM支付帐单。(2)手机取款。法国电信公司推出用手机在ATM上取款,还可通过手机买票,39 毕业论文订票费记录在电话费帐单上。(3)投资理财。建立客户关系管理系统,经过对客户数据的深入挖掘分析,向客户提供投资理财方案,提高ATM服务功能,减少柜台服务压力。(4)兑换硬币。在日本,中小学生把零用钱存入ATM机非常常见。新ATM机将便于人们在ATM上取款,还可直接兑换各种面值的硬币、查询自己的帐户及自动存款等,大大减少银行人员开支。(5)一次性可存取款金额提高。NCR已研制限额3000元为单位的存取技术。IBM正在研制一次性存取1万元的ATM机,并承诺下一代产品能一次存取5万元。(6)赠送优惠券。1999年迪堡公司最新推出的ATM除能提供现金外,还能馈赠商家优惠券及非现金有价票券。2000年该公司推出的新ATM,还可购买高速铁路火车票和巴士车票,ATM凭条上还可打印咖啡优惠券、参加海外旅游抽奖等广告,从而增加银行广告收入。在客户等候时,新ATM屏幕会提供:“为了您的健康,早上最好喝杯桔汁,下午要吃巧克力”等建议,交易结束,相应的优惠券就会打印在ATM交易收据背后[4]。3.流动银行 流动银行可以代替固定网点,减少对网点投资,扩大服务覆盖面,灵活性大,机动性强。(1)国外流动银行。美国商业银行在90年代初就开始使用简单的流动银行——汽车银行,美国流动银行数量不少,在全部15万台ATM中,流动ATM有1000多台,预计今后新装ATM的10%是无线可移动ATM,装有ATM的流动银行出现后,极大扩大了银行的服务空间和领域。其优点免除了新增ATM安装、线路连接工作量大的不足,并可根据交易情况随时对不合适地点进行调整,降低了银行的服务成本。流动银行适合应用的场所有:第一大型体育运动盛会和其他大型公共集会等特殊场合,以赢得公共注意力;第二银行网点较少的偏远城镇;第三为不方便到银行网点的老年人提供银行服务;第四对灾难地区提供紧急银行服务及在其他电信基础薄弱的地区提供银行服务等等。(2)国内流动银行。目前我国国内流动银行还停留在汽车银行阶段,1999年初农行顺德分行推出15部汽车移动银行,对顺德大中企业、商业网点实行定时定点服务,业务覆盖面达到80%,每部车每月能吸收存款逾千万元。招行沈阳分行没有购买专门的汽车银行设备,但在休息日开车进校门办理发卡、开折等简单业务,也吸引了不少存款。并且随着我国银行分支机构规模的控制,预计国内安装ATM的流动银行会有所增长[5]。 39 毕业论文参考文献[1]刘书伦.西南财经大学经济信息工程学院;《知识经济》2009年08期[2]汤一平.Java语言程序设计.科学出版社,2006[3]徐淼.ATM技术的原理和特点.《中国科技信息》2005年第2卷第19期[4]陶洋.《通信信息网》.人名邮电出版社,1996年8月[5]洪新伟,付强.《有关ATM发展前景的讨论》华中理工大学电子信息工程系,2005年[6]施霞萍等编著.Java程序设计教程第2版.北京:机械工业出版社,2006[7]吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006[8]孙卫琴.Java面向对象编程[M].电子工业出版社,2006[9]万江平.用Java开发的FTP服务器J].华南理工大学学报(自然科学版),2001,(08)[10]谢希仁.计算机网络(第四版).北京:电子工业出版社,2003年6月[11]Tanenbaum,A.S.,ComputerNetworks,3rdEd.,Prentice-Hall,清华大学出版社影印,1996[12]Kurose,J.F.andRoss,K.W.,ComputerNetworking,ATop-DownApproachFeaturingtheInternet,PearsonEducation,高等教育出版社影印版,200139 毕业论文本科毕业论文(20届)基于JAVA的模拟ATM系统的设计与实现专业:计算机科学与技术39 毕业论文摘要ATM是指有计算机控制的持卡人自我服务型的金融专用设备。目前随着全球金融业的兴起和计算机网络技术的发展,ATM网上银行作为电子商务的一种形式正以方便、快捷的优势,逐步成为金融业一种新兴的经营模式和理念,它迎合了社会快节奏地工作和生活的需要,使顾客可以方便快捷轻松地办理各种实物银行所能办理的各种业务,如提款、存款、查询余额、更改密码等,同时也大大节约了实物银行的人力,物力和财力。本文介绍的模拟ATM系统就是对提款机操作系统在个人PC上平台中的编程实现,其开发主要包括后台数据库的建立和维护及前端应用程序的开发制作两个方面。系统的设计利用了JAVA语言的强大功能,并具有面向对象开发的特点,联系实际ATM的应用界面,采用Eclipse开发工具,以winXP操作系统、Access为后台数据库的技术,实现了用户在ATM客户端登陆、取款、查询、转账、密码修改等业务操作功能。【关键词】ATM,Java,access,Eclipse39 毕业论文ThedesignofATMsimulationsystembasedonJAVAAbstractsATMisaSpecialequipmentoffinancethatcontrolledbycomputerandself-servicebyCardholder.Nowdayswiththeriseoftheglobalfinancialindustryandcomputernetworktechnology,ATMonlinebankingasaformofe-commerce,totheadvantagesoffastandconvenient,hasgraduallybecomeanewbusinessmodelandphilosophyoffinancialindustry.Itcaterstothefastpaceofworkandlife,sothatcustomerscanquicklyandeasilyhandleavarietyofbusinesswhichrealbankdobefore. ThesimulationofATMsystemsthisarticledescribes,isATMoperatingsystemexecutedonapersonalPCplatform,andit'sdevelopmentmainlyincludestwoaspects,theestablishmentandmaintainofdatabase,anddevelopmentoffront-endproduction.UsingthepowerofJAVAlanguageandcharacteristicsofobject-orienteddevelopment,connectingapplicationinterfaceofpracticalATM,useingEclipsedevelopmenttools.TowinXPoperatingsystem,Accessforthebackgroundtodevelopanautomatictellermachinesystem.Basicallyrealizedtheaccountinformation,changepasswords,transfers,ithdrawals.【Keyword】ATM,Java,access,Eclipse39 毕业论文目录摘要IABSTRACTSII1.绪论51.1概述51.2ATM的发展51.3ATM的发展趋势62.系统分析92.1问题定义92.2可行性研究92.2.1技术可行性92.2.2经济可行性102.2.3操作可行性102.3需求分析102.3.1系统功能需求102.3.2系统性能需求112.3.3其他需求123.系统设计133.1系统功能设计目标133.2总体设计133.2.1系统功能模块划分133.2.2系统总体流程图163.3详细设计173.3.1系统主要功能流程图173.2.2主要功能盒图设计203.2.3数据库设计213.2.4出错处理设计224.系统实现2339 毕业论文4.1关于编码234.1.1开发语言234.1.2系统的开发环境配置264.1.3界面的实现264.2系统测试314.2.1测试方法314.2.2黑盒测试的内容325.总结36参考文献3839 毕业论文1.绪论1.1概述ATM自动取款机是有计算机控制的持卡人自我服务型的金融专用设备。ATM是英文AutomaticTellerMachine的缩写。ATM是一种高度精密的一体化智能的装置,它是通过磁性代码卡或智能卡实现金融交易的自助服务用来代替银行柜面人员的一种工作。ATM作为银行储蓄或信用卡的终端设备,持卡人可以通过ATM使用储蓄卡,根据密码办理自动取款、查询余额、转账划拨等业务。通过顾客自助的办理银行柜面业务,一方面提高了银行柜台的工作效率,同时减少了人工操作可能带来的差错,另一方面在延长了银行的营业时间,实现了24小时全天候金融服务的同时,反而节约了银行的人力、物力和财力。特别是银行营业网点之外的人流密集场所安装的离行式ATM,扩大了银行机构的服务范围,满足了顾客的基本金融需求[1]。1.2ATM的发展从其起源看,1939年,LutherGeorgeSimjian就发明了ATM的雏形。他将当时与硬件设备相关的20个专利组合起来,并说服Citicorp公司做了一个样板试验产品。6个月后,作为旗银行(CityBank)前身的纽约市第一国立城市银行(FirstNationalCityBank)反馈认为,该品确有需求,但使用者寥寥无几,因此并未推广。1967年6月27日,位于英国米德尔赛克郡安菲尔德的巴克莱银行(BarclaysBank)安装了世界第一台现钞发放机。它向用户发行纸券用户将纸券插入机器,即可取出面值10英镑的钞票[1]。现代意义ATM的概念提出于1968年,原型机出现于1969年。DonWetzel是ATM部分专利的拥有人和发明和ATM的主要贡献者。他是在银行柜台排队等候取钱时,萌发了发明ATM的想法。当时,Wetzel是开发包裹自动化处设备的Docutel公司负责产品规范的副总裁,该公司另外两个拥有专利的是首席机械工程师TomBarnes和电子工程师GeorgeChastain。他们说服公司共同花费500万美元开发出世界上第一台ATM,其最大的进步在于交易结束后磁片还能再度使用。1973年,Docutel公司申请了ATM的专利。从应用实践看,第一台ATM只能取款,且不与银行主机相连。这种离线模式意味着客户从ATM取钱后,并不实时扣款入账。因此,银行非常在意给哪个客户开通使用ATM的权限,仅允许有良好信用记录的信用卡用户在ATM上操作。接着,Wetzel、Barnes和Chastain共同开发了第一个真正用于ATM的塑料制银行卡,该卡拥有客户账户的相关磁条信息和一个个人ID39 毕业论文号,以在客户取钱时验证其身份。研发中最重要的过程是将信息加密后存储在磁条上,然将磁条加在专用卡上。研制成功后,Doc-tuel将ATM卖给了纽约化学银行(ChemicalBank)。1969年,纽约化学银行将其安装在洛克菲勒中心的办公室。起初,ATM主要用来处理信用卡,1972年,克里夫兰城市国家银行(CityNationalBank)成功引进一种可在ATM上使用的借记卡。20世纪70年代中期,花旗银行研制出使用芯片卡的ATM,这使该行的存款市场占有率快速增加。从网络共享看,起初ATM网络专属于单个银行。后来,不同银行的ATM连同一网络,逐渐形成共享网络。这样,扩大了银行服务的地理范围,客户就可以使用网络中所有的ATM,而不仅限于发卡行。比如在美国,共享ATM网络在20世纪70年代初初步形成,70年代中期开始飞速发展。20世纪70年代初,Docutel公司推出与银行主机联网的ATM,可以存取款并转账。1977年,MPS建立了Jeanie网络,这是第一个在线共享的ATM网络。1980年,共享网络占所有ATM网络的18%。1985年,纽约化学银行等七家金融机构为对抗花旗银行,组建了名为“纽约现金交易所”的网络,实现了所辖800台ATM联网通用。这迫使花旗银行遵从行业标准,转而使用磁条卡。1990年,联网ATM的比例上升到94%。如今,几乎所有的ATM网络都可共享,客户可实时了解账户余额和支付情况,ATM数量与银行机构的比例约为4:1[3]。从行业发展上看,20世纪80年代和90年代,ATM行业一直经历转型。1996年4月,VISA和万事达卡两大国际银行卡组织取消了不准对顾客收取附加费的长期禁令,这使得ATM成为可赢利的行业。独立经营商蜂拥进入ATM市场,他们几乎在全美各地的家庭便利店都安装了ATM,使ATM总数在4年内翻了近一番。随着区域性网络的合并,ATM的全球化进程加速,功能日新月异。当前,以计算机和通信技术为基础的信息系统正处在蓬勃发展的时期,ATM取款系统可充分利用网络技术和数据库技术的发展,形成一种全新的运作方式。随着因特网的形成和发展,基于网络技术的信息系统除了它传统的功能外,实现了特定地方刷卡消费等。不仅提高了银行的业务处理能力,而且大大的节省了人们取钱所花费的时间和价值;并且在有效防止了一些非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越性。1.3ATM的发展趋势随着社会的不断发展,银行和客户需求的不断提升,ATM的安全性和风险防范,银行管理方式、ATM功能模块、个性化营销策略等的创新都将使ATM日趋完善。39 毕业论文1.生物技术应用趋于普遍生物识别技术是通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段密切结合,利用人体固有的生理特性,如指纹、面相、红膜等和行为特征,如笔迹、声音、步态等来进行个人身份的认证。由于人体特征具有唯一性,可有效确保银行和客户的资金财产安全。例如,可在ATM上安装指静脉和手掌静脉识别、指纹提取和识别、语音识别、视网膜(虹膜)身份认证、面部特征认证等人体生物认证装置,用户在ATM上存取款时必须在使用银行卡的同时将手指或手掌在ATM的认证装置上检验以验证持卡人身份。使用这类生物认证装置具有银行卡不会被复制,持卡人身份能够准确确认,出现问题便于追查等优点。2.管理模式趋于集中从国内外银行业的实践来看,各行将设立集中的ATM投诉和处理中心,统一ATM的日常管理。按照科学的规划,采取区域性集中管理模式以提高ATM的处理效率和质量。因此,网点的ATM监控所采用的数字主机必须具备完善的网络功能。从目前实际情况和网络安全性考虑,传输网络采用PSTN、ISDN为宜。随着信息技术的进一步发展和完善,全行性、全国性的宽带互联,实时的集中监控也成为趋势之一。这一技术的实现,将使ATM的跨行、跨境查询和交易功能得以更快实现,使ATM的7×24小时监控模式得以更好实施。3.功能模块开发趋于全面作为柜面业务的替代品,ATM的新的功能模块开发将更趋于全面和深入,在基础业务之上,还可适当增加中间业务和相关查询功能,如当客户在ATM上取款成功后,屏幕上不仅显示交易成功,还可显示卡的原余额、存取款金额、当前余额、可用余额,省去客户再次查询的麻烦;技术成熟时还可提供跨行转账和查询功能;在适当控制成本的前提下,实现网上银行的部分甚至全部中间业务,如可在ATM上添加基金业务、缴费业务、购票业务、充值业务等模块。增加营销功能,如在客户不办理业务时,ATM循环播放银行新产品的广告。建立ATM定位系统,即登录某家银行网站或ATM,输入所在的地区、街道,就可以方便地查询到离客户最近的ATM,清晰看到地图和运营时间等简介。此外,还有一些新型应用,如一些发达国家已在ATM上销售邮票或音乐会门票[6]。4.个性营销手段趋于成熟目前,国外发达银行已经将高达75%的交易转移至自助服务渠道。同时,大规模定制和选择性定制等新型信息系统的实践使得在ATM上实施个性化营销成为可能,如客户生日祝福、节日问候等。以新加坡银行(OCBCBank)为例,他们认为ATM39 毕业论文不仅仅是一台存取款机,而是银行客户服务的中心,是发展新客户、维系现有客户并向其销售金融产品的重要渠道。如华侨银行的客户把银行卡插入ATM时,屏幕上就会出现一句带有客户姓名的个性化问候,还会邀请客户到柜台体验新产品。此外,华侨银行还根据ATM进行目标市场营销,通过数据分析,选择恰当的营销策略和推广方式。由此,华侨银行的客户响应率较直邮方式提高了300%,在亚洲居于领先地位[7]。39 毕业论文1.系统分析2.1问题定义问题定义阶段必须确定系统应该做什么,一般应通过对用户的访问调查,让系统分析员扼要地写出关于问题性质、工作目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到用户的确认。由于此次程序实现的功能较少且简单,只是实现了简单的功能。基本要求:本系统开发的总体任务是实现系统的可操作性,以及界面的简介性。整个开发过程遵循软件工程规范,采用JAVAGUI编程来实现界面以及事件的控制。目标:通过本系统的开发,主要实现系统的可操作性,同时使自己对JAVA语言的了解更进一层,为将来的实际工作打下坚实的基础。条件、假定和限制:由于知识以及能力的限制,本系统所实现的功能不够强大,可对本系统进行改善,从而增强游戏的功能。可行性研究的方法:通过研究分析ATM系统所具备的功能及实现的方法、确定主体结构。利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级软件系统。评价尺度:由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到ATM系统的一般功能即可。2.2可行性研究2.2.1技术可行性技术可行性分析主要是分析现有的技术条件能否顺利完成软件的开发工作,软件、硬件能否满足开发者的需要。本系统采用JAVA技术进行软件开发,数据库采用ACCESS,。JAVA具有动态联编的特性,更能发挥出面向对象的优势。多线程机制使应用程序能并行执行,Java有一套成熟的同步原语,保证了对共享数据的正确操作.通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上实时的交互行为。Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性[7]39 毕业论文。Java有建立在公共密钥技术基础上的确认技术.指示器语义的改变将使应用程序不能再去访问以前的数据结构或是私有数据,大多数病毒也就无法破坏数据.因而,用Java可以构造出无病毒、安全的系统。2.2.2经济可行性本系统实现的功能较少且简单,所以在开发的过程中基本上不需要考虑什么成本,开发人员已尽可能的减少。使用较成熟的开发工具也减少不必要的支出,只需用很小的代价便可开发完毕。使用本系统的用户只需在短时间内就可以获得个人所需的信息,并获得需要的服务。这点与传统的人工服务相比,效率得到了很大的提升,无论是对用户还是公司都节省了大量的时间,带来很大的方便,并且省去了雇佣员工的费用。软件的经济效益大大的超过了它的开发成本,所以开发本软件在经济上是可行的2.2.3操作可行性本系统采用的是直观的图形用户界面,用户进入ATM系统的主界面后,有取款和转账等操作按钮可供用户选择,各个界面简洁,操作方便,容易上手,更有提示信息。总体来说,程序操作简单,数据显示直观。另外,从法律方面来看,该系统的开发只运用于学习中,它不存在法律问题,也可以说是完全合法的,完全可行的。从社会效益方面来看,该系统的应用有利于银行业的发展,提高它的经济效益,同时促进社会经济的发展。2.3需求分析需求分析是软件工程前期的最后一个阶段,在这一阶段需要确定系统必须完成哪些工作,也就是对系统提出完整,准确,清晰,具体的要求[3]。需求分析的方法必须遵守下述准则:1)必须理解并描述ATM系统的信息域,根据这条准则应该建立数据模型。2)必须定义ATM系统应完成的功能,建立相应的功能模型。3)必须描述作为外部事件结果的软件行为,建立相应的行为模型。4)必须对描述信息,功能和行为的模型进行分解,用层次的方式展开细节[3]。2.3.1系统功能需求系统的实现采用直观的图形用户界面,用户进入ATM系统的主界面后,对余额的查询、取款等简单操作,有39 毕业论文查询、取款和转账等操作界面可供用户选择,各个界面简洁,操作方便,容易上手。用户可以对账户进行详细的信息查询,然后根据需求进行取款等操作(整个程序运行过程中,对用户不当的操作将提出错误警告)。系统登录:每个用户对应自己的登录口令,不能修改和查看他人帐号。密码修改:用户可以对自己的帐号和口令进行修改。取款:辨认用户输入的取款金额是否正确。转帐:与系统中其他用户进行转帐,需要对象用户同样存在于数据库中。查询金额:查询自己的余额。交易明细查询:查询自己的交易记录及打印。存款:存入所需款项。退卡:设定退卡时间限制。明确用户的信息需求,明确新系统的逻辑功能。主要工作是对用户需求进行进一步调查分析,创建新系统的逻辑模型。系统用例图如图2-1所示:账户余额查询取款查询ATM银行系统图2-1ATM银行用例图用户密码修改2.3.2系统性能需求本系统对于计算机系统的性能配置要求是能保障能使程序快速、稳定地运行,必须通过用户名和密码的验证才能进入系统,如果用户名与密码验证通不过,则给予错误提示,不显示当前内容,用户登录,必须通过验证,保证其用户名与密码的正确性,才能登录系统,以此满足系统的安全性需求。39 毕业论文2.3.3其他需求除了上述的功能需求分析与性能需求分析,系统还存在着其它的需求,如可靠性和可用需求,可靠性需求能够保障系统的可靠性,可用性需求则可量化用户可以使用系统的程度。此外,还有接口需求,逆向需求等[3]。39 毕业论文3.系统设计系统设计阶段的主要目的是将系统分析所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基本计算机(ATM取款机)与通信系统的物理(技术)方案。系统设计主要包括系统总体结构设计和详细设计。系统设计的依据主要有系统分析的成果、现行技术、用户需求、系统运行环境。3.1系统功能设计目标系统功能设计目标如下:1)实用性强:我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求。2)先进的程序结构:使用当代前卫的软件编程,能延长其生命周期,易于维护与管理。3)安全可靠性高:后台维护功能齐全,根据平台在各个阶段不同的使用情况,可以设置相应的操作权限,增加系统注册,分配各栏目的权限,实现系统的维护,保证系统的安全、可靠。4)使用模块化设计的方法:使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护。5)操作简单,维护方便:每个子系统都具有独立的系统维护功能对可变化的项目可自行护。3.2总体设计3.2.1系统功能模块划分本系统是运用JAVA的模拟ATM系统,主要功能包括:1)登陆2)取款3)转账4)修改密码5)查询一般登陆模块只输入账号、密码,当然在实际应用中没有要求用户输入账号,这是因为在磁卡上有个感应区,编此模块时加上了验证码。39 毕业论文ATM取款机系统退出模块登入模块功能模块退卡修改密码查询取款转账验证码插卡输入密码图3-1功能图系统总体结构是指整个系统由哪些部分组成,以及各部分在物理上、逻辑上的相互关系,包括硬件部分和软件部分,该设计包括:系统总体布局方案的确定、软件系统总体结构的设计、计算机硬件方案的选择和设计、数据存储的总体设计。根据流程图转化为软件的体系结构,进而用软件结构图建立物理模型,得系统活动图,如下39 毕业论文图3-2系统结构图:39 毕业论文开始系统验证账号没找到结束密码正确结束三次都不正确找到了输入密码显示系统功能选项修改密码取款查询转账输入新旧密码输入取款金额查询余额查询交易明细输账号和金额验证用户余额交易明细交易明细新旧密码一致正确显示成功不正确而正确显示操作成功继续返回用户选择界面成功退出欢迎使用成功结束提示成功图3-3系统活动图39 毕业论文3.2.2系统总体流程图系统具体工作流程:首先登陆填写终点站;然后对用户数据信息进行核对处理,如果不符合就提示错误,如果符合要求就显示信息然后对用户填写的数据信息进行核对处理,如果不符合就提示错误,如果符合要求就进入界面,最后填写用户个人信息确定。图3-4程序流程图39 毕业论文3.3详细设计3.3.1系统主要功能流程图功能流程图是人们对解决问题的方法、思路或算法的一种描述。流程图具有以下的优点,首先它采用简单规范的符号,画法简单,其次运用流程图能够使结构更加清晰,逻辑性较强,便于更好的描述系统的功能,使人看了能一目了然,更加容易理解。下面对本网站的几个典型功能模块做如下详细的描述:取款模块是整个系统中比较重要的功能模块,是整个系统的核心功能,通过这一模块进行取款操作,图3-5取款模块具体实现流程图:图3-5取款流程图39 毕业论文转账模块是对转账的具体实现流程进行描述,图3-6是密码修改的功能流程图:图3-6转账流程图39 毕业论文密码修改是ATM系统的重要功能,下图3-7是具体流程图:图3-7密码修改流程图39 毕业论文3.2.2主要功能盒图设计启动总界面选择操作查询操作取款操作密码修改查询账户信息取款新密码图3-8软件启动盒图取款输入取出金额是否符合NY是否为余量不够YN提示出错退回界面用户个人信息图3-9取款操作盒图39 毕业论文密码修改输入密码是否符合信息NY修改密码成功提示出错图3-10密码修改盒图3.2.3数据库设计通常使用实体-联系图来建立数据模型。可以吧实体联系图简称为ER图,相应的可把用ER描绘的数据模型称为ER模型。ER图中包含了实体、关系和属性3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或者圆角矩形表示实体属性,并用直线把实体与其属性连接起来。银行卡卡号密码余额查询卡号操作时间操作时间金额交易明细图3-11ATM银行系统ER图39 毕业论文数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:表3-1交易明细设计表(user)字段信息字段名称类型说明卡号uconint主键操作时间utimedatetime操作类型uid文本金额umonMonkey表3-2账户信息设计表(card)字段信息字段名称类型说明卡号uconint主键账户余额ucjineint密码ucnimaint3.2.4出错处理设计程序在运行时主要会出现两种错误:(1)由于输入信息,或无法满足要求时产生的错误,称为软错误。(2)由于其他问题,如计算机软件故障、模块语句错误等,产生的问题,称为硬错误。对于软错误,须在查询操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。出错信息必须给出相应的出错原因。39 毕业论文4.系统实现4.1关于编码4.1.1开发语言比较各种开发方法的特点,结合银行取款系统的实际情况,整个系统采用结构化生命周期法,以原型法和面向对象的开发方法作为辅助,即系统总体上采用结构化生命周期法进行系统分析和系统设计,系统实施等步骤采用面向对象方法。本系统开发工具使用的是基于Java的可扩展开发平台的Eclipse。(1)、软件开发工具的选择本系统采用Java作为编程语言,采用Eclipse软件开发环境,Eclipse对数据库应用的强大支持,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快[1]Java是一种编程语言最初是由Sun公司的JamesGosling的发展(这是现在是甲骨文公司的子公司),并在1995年发布作为SunMicrosystems的Java平台的核心组件。其派生的语言从C和C++语法而来,但Java却有一个简单的对象模型和较少低级别的设施。Java应用程序通常被编译成字节码(类文件),可以运行在任何Java虚拟机(JVM)的计算机体系结构无关。Java是一种通用的,并发的,基于类的面向对象的语言,是专门设计为尽可能少的执行依赖关系。它的目的是让应用程序开发“编写一次,到处运行“。Java是目前使用的最流行的编程语言之一,并得到广泛的应用软件用于Web应用程序。Sun公司于1995年发布的Java1.0,作为第一个公开的执行情况。它承诺“编写一次,到处运行”,提供无成本运行时间上流行的平台。相当安全,并设有可配置的安全性,它允许网络和文件访问限制。尽快纳入主流Web浏览器能够运行Java小程序在网页和Java迅速走红。随着Java2问世(最初为J2SE1.2发布于十二月1998-1999),新版本有不同类型的平台上建立多个配置。例如,J2EE的企业应用和有针对性的(移动Java)的移动应用程序大大简化版本的J2ME。J2SE中指定的标准版。2006年,出于营销目的,Sun公司更名为JavaEE中,JavaME的,和JavaSE,分别J2的新版本。Java的一个特点是便携性,这意味着在Java语言编写的计算机程序必须运行在任何支持的硬件/操作系统平台类似。这是通过Java语言编译成中间代码表示称为Java字节码,而不是直接向特定于平台的机器代码。39 毕业论文Java字节码指令的机器码类似,但拟由虚拟机的主机硬件书面特别(VM)的解释。最终用户通常使用在一个Java小程序的Web浏览器的Java运行时环境(JRE)对自己的计算机上安装了独立的Java应用程序或。标准化的库提供了一个通用的方法来访问主机的特定功能,如图形,线程和网络。一个使用字节码的主要好处是移植。然而,解释程序几乎总是比编译运行本地可执行程序会更慢。刚刚在即时编译器,介绍了从早期阶段,在运行时编译为机器代码的字节码。Java使用了自动垃圾回收器管理内存中的对象生命周期。程序员创建对象时确定,和Java运行时内存一旦收回对象不再使用的责任。一旦没有引用一个对象仍然存在,无法访问的内存被释放资格成为被垃圾回收器自动。类似内存泄漏仍然可能发生,如果一个程序员的代码拥有一个不再需要的是对象的引用,通常当不再需要的对象是在容器仍在使用中。如果一个不存在的对象的方法被称为一个“空指针异常”抛出。Java的自动内存管理模式的想法之一是,程序员可以幸免,以致要执行手动内存管理的负担。在某些语言中,为创建对象的内存是分配在栈隐含或明确从堆中分配和释放。在后一种情况下,内存管理责任在于程序员。如果该程序不释放一个对象,发生内存泄漏。如果程序试图访问或释放内存已经被释放,其结果是不确定的和难以预料的,程序很可能会变得不稳定和/或崩溃。这可以部分地弥补了智能指针的使用,但这些增加开销和复杂性。但是,垃圾收集并不妨碍“逻辑”内存泄漏,即那些记忆仍然引用但从未使用过。Java库是源代码编制的JRE实现程序开发,支持Java应用程序开发字节码。这些库的例子有:核心库,其中包括:集合库实现如列表,字典,树,套,队列和双端队列,数据结构或栈;XML处理(解析,转换,验证)库;安全; 国际化和本地化库。该集成库,这允许应用程序作家与外部系统进行通信。这些库包括:Java数据库连接(JDBC)API进行数据库访问;Java命名和目录接口(JNDI)的查找和发现;RMI和CORBA的分布式应用开发;JMX的管理和监控应用。用户接口库,其中包括:在(重量级)抽象窗口工具包(AWT),它提供的GUI组件,这些组件的布局手段和处理手段从这些组件的事件;该(轻量级)Swing库,这是建立在AWT的,但提供(非母语)实现了AWT的widgetry;API的音频采集,处理和回放。 一个依赖于平台的实现Java虚拟机(JVM),是其中的Java库和第三方应用程序的字节码执行手段。Java语言的主要特点:Java是一种简单的,面向对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言[6]。39 毕业论文Java的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++[6]。Java的特点:1)平台无关性:平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间[7]。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的[7]。2)安全性:Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问[7]。3)面向对象:Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类[11]。4)分布式:Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易[7]。5)键壮性:Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Bytecode校验[7]。6)多线程机制:使应用程序能并行执行,Java有一套成熟的同步原语,保证了对共享数据的正确操作.通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上实时的交互行为。7)适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。39 毕业论文Java有建立在公共密钥技术基础上的确认技术.指示器语义的改变将使应用程序不能再去访问以前的数据结构或是私有数据,大多数病毒也就无法破坏数据.因而,用Java可以构造出无病毒、安全的系统[15]。4.1.2系统的开发环境配置软件开发的第一步就是要有一个良好的开发环境,因此对开发环境的配置就至关重要,为后面的开发打下基础。环境配置步骤如下:1)安装JDK,按默认方式就行JDK的配置:右键点击[我的电脑],选择[属性],选择[高级]选项卡,单击[环境变量]按钮,在[系统变量]找到path变量,单击[编辑]按钮,把d:jdkbin添加到里面,与已有的内容用分号隔开.在[系统变量]中单击[新建]按钮,在[变量名]文本框中输入名称classpath,在[变量值]文本框中输入D:jdklib。2)JDBC驱动程序安装:按照安装程序的默认方式进行安装。3)Eclipse和MyEclipse的安装及配置:Eclipse直接解压就能运行,不需要任何配置。MyEclipse点击安装,把它和Eclipse安装同一个目录下。安装完成后,进入Myeclipse-windows-Preferences-myeclipse-applicationserver-tomcat5,在右面配置下路径即可。这样就能在Eclipse中使用Tomcat服务器。完成以上的安装后,就可以开始系统的开发[16](2)、数据库管理系统的选择由于本次设计所采用的是MicrosoftOfficeAccess型数据库,这种数据库用来存储少量数据,在设计和实施上有很大的优势。(3)、开发平台的选择windows平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和实际情况,选择Windowsxp作为开发测试和运行的平台。4.1.3界面的实现用户界面设计目前已成为评价软件质量的一条重要指标,所谓用户界面是批软件系统与用户交互的接口,通常包括输入、输出设计、人机对话的界面设计。39 毕业论文图4-1登录模块当插入现金卡之后出现界面,系统出现登入方式,点击按钮之后(进入)出现后对话框:图4-2输入界面登录模块依然采用的是密码验证的方式,需要用户输入卡号、密码和验证码然后点击确认进行验证,程序将根据输入卡号查找密码,第一没有找到提示,找到继续下一步,在这里我用了验证码方式,输入正确继续,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。密码正确继续,否则当输入的次数达到三次时,系统将提示你与前台服务员取得联系。第二如果没有找到,提示输入账号错误。39 毕业论文图4-3首页设计首页的设计主要是设计了查询余额、取款、转账、密码更改及退出按钮等ATM的一些标准操作界面。图4-4查询模块39 毕业论文在此模块中,将通过用户所使用的账户编号来进行余额的查询,将显示账户的实际余额,点击“查询”按钮,通过按钮的Action方法进行方法调用,就可以实现查询的功能并把查询到的账户余额显示到界面上。当用户点击“返回”时,程序返回到初始主界面。图4-5交易明细模块此功能用来查询交易的账号,时间,金额等信息,点击查询按钮后系统将根据与输入的卡号相一致的字段信息,显示输出在该页面上。当点击取消按钮时系统将返回到初始主界面。图4-6修改密码模块此模块需要用户输入旧密码后,两次输入新密码进行确认,然后,点击确定,修改密码,成功后给出提示信息,其中考虑到一些用户的输入错误问题,我做出了一些异常的判断和处理,空输入,输入两次新密码不匹配和原密码不正确等问题。修改更新密码的完成仍然依靠按钮控件的Action事件完成。39 毕业论文图4-7转账业务模块在此模块,用户根据需要自己输入卡号及欲转金额,这里的设计其实最终归结于具体的SQL语句而言,系统将根据输入的卡号查找与只对应的用户数据表,从而修改金额。第一,系统首先根据本卡号,查找本卡金额与输入的金额对比,如果找到,且金额允许就提示转账成功。第二,如果,没有找到输入的卡号,提示没有该用户,重新输入欲转账号。图4-8取款模块取款模块是一个相对比较重要的模块,因为ATM机就要的功能就是取款业务,用户选择账户名点击取款金额然后点击取款进行取款操作,所以几个数字按钮的设计比较大,方便用户操作,其中一些提示信息也相应地给出,以防用户误操作。由于此模块不需要用户输入,所以没有对输入的异常处理。根据所查资料我所采用的SQL语句调用方法是预处理指令方法,这种方法对于处理此程序具有很大的益处,而且可以防止非法SQL注入。当用户点击数组按钮后系统将根据输入的卡号查找卡号余额并与按钮的数字相对比,如果选择的金额大于本卡余额将提示(不允许透支)。39 毕业论文图4-9退卡模块退卡模块相对简单多了,没有什么具体的界面设计,只是一个消息的提示,也是一种友好的处理方式,以防止用户误操作的方法。4.2系统测试4.2.1测试方法系统实施是ATM系统开发过程中的最后一个阶段。它的目标是将技术设计转化成物理实现。系统实施阶段的主要任务有:按总体设计方案购置和安装计算机网络系统、建立数据库、编程与调试、整理基础数据、、程序试运行和系统切换。1、程序设计程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。本系统中用Eclipse编程工具,采用结构化的编程方法对模块进行程序编写。2、程序调试软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合设计标准。本系统采用的主要方法如下:39 毕业论文单元测试:是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。采用白盒法对各模块进行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。集成测试:在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试。确认测试(有效性测试):它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。一般分为用黑盒进行确认测试,再检查软件所有文档的完整性、正确性——软件配置审查。信息技术深深融入业务生活,使得软件产品质量的要求变得很高。这也使我们为提高软件测试的效率来寻求各式各样的方法。而软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:按测试阶段可分为:单元测试、集成测试、确认测试。测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品的内部过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一种方法称为黑盒测试,后一种方法成为白盒测试。4.2.2黑盒测试的内容功能测试也称为黑盒测试,用于验证系统的各项功能是否能正常完成。由于实际情况的多样性,需要由多人重复测试,在不同情况下执行各项功能操作,其输出就是该功能的执行结果。黑盒测试着重测试软件功能。黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。黑盒测试发现下述类型错误:(1)功能不正确或遗漏了功能。(2)界面错误。(3)数据结构错误或外部数据库访问错误。(4)性能错误。(5)初始化和终止错误。使用黑盒测试的情况分析(1)登陆功能测试预期的输出结果:账号密码正确可以登陆。输入错误无法登陆出现提示实际运行结果如下图所示:39 毕业论文图4-10登陆成功图4-11无法登陆运行结果符合预期情况。(2)修改密码功能的测试测试数据:输入原密码:更正.输入新密码。确定预期的输出结果:显示密码修改成功实际运行结果如下图所示:39 毕业论文图4-12密码修改图4-13密码修改成功运行效果符合预期情况。(3)测试数据:输入转账账号:输入转账金额:单击确定。预期的输出结果:账户不存在无法转账,输入正确转账成功实际运行结果如下图所示:图4-14无法转账39 毕业论文图4-15转账成功运行效果符合预期情况(4)测试数据:取款预期的输出结果:取款成功。点击确定,返回主界面实际运行结果如下图所示:图4-16取款成功39 毕业论文5.总结本次毕业设计接近尾声了,它对我所产生的影响却是巨大的。作为计算机科学与技术专业的学生,四年的学习过程让我们学到了很多知识,然而真正运用于实践的并不多,毕业前的这次毕业设计恰是对我们大学四年所学的一次总结,我们可以在老师的帮助下自己来尝试开发一个小型项目,把所学的单纯的理论知识变成为实际的操作经验,而不再是眼高手低。此次模拟ATM系统的开发让我学习到很多知识,现总结如下:1.系统开发的过程中,我深刻体会到了以前上课老师经常提起的一个问题,那就是:一个系统开发的过程中编码不是最重要的,重要的是对系统进行分析以及建立恰当的系统模型。有了一个好的系统模型之后,我们再将其划分成几个模块,那样做起来就会容易得多。本系统中采用了生命周期法进行系统的开发,就体现了该模块化设计思想。2.在该ATM模拟系统设计中,从系统的实用性出发,我能够在开发该系统时站在用户的角度看问题,本着用户操作界面友好、清晰、易学易用的原则进行设计。如开发过程中我尽可能地设想记录为空,输入为空,输入出错等边界条件,然后在这些边界上,设置出错检测,使系统能自动捕获出错点,给出提示,允许用户重新进行操作,使系统能够安全的运行下去,而不是退出系统。3.文章的前面讲到了本系统数据库是使用Access进行设置的,也讲到了它的优点,这里就不多说了,但是在本次设计中,我发现了一种应用编程接口JDBC。它是一种面向对象的、与语言无关的应用编程接口,具有易于使用、高速度、低内存支出和占用磁盘较少,可以使用所有支持ODBC的数据库等优点;使用JDBC可以实现动态数据库的链接,从而避免以往静态方式连接数据库的一些缺点。这些知识对我本次的系统开发有着很大的帮助。开发期间,我学会了有目的的去学习一些将要用到的东西,仔细地考虑工作流程的规律和步骤,充分利用手中的开发工具,利用其所具备的功能,尽量使自己的开发在代码上实现少而精确、让用户能够尽量简单地进行操作。但是在检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作中需要努力改进和完善的。在这次毕业设计中,我遇到了很多困难,这主要是由于我开发软件的经验不足,工具的应用也不够熟练,虽然用的语言是JAVA,但是由于以前基础不够扎实,对我来说可以算是一个全新的尝试,整个开发过程并不是很顺利,却使我从中充分体会到学习的快乐,系统也在从理论到实践,再从实践到理论的反复中一步步得到完善。39 毕业论文虽然,这次系统开发由于个人水平及时间有限等原因,只能完成一些基本的功能,程序代码不够简练,好多设想也未能得到实现,这不能不说是个很大的遗憾。现有系统还存在着以下问题:第一点,交易明细的查询没有实现;第二点,功能模块不够全面。作为模拟ATM系统,系统设计中应该增加取款和打印凭条模块,可是由于能力有限,该想法未能实施。由于我第一次开发一个完整的数据库管理系统,不足之处在所难免,敬请各位老师、领导批评指正,我会在以后的工作中加以完善和改进。总之,这次的系统开发,实现了我自己动手完成一个系统开发的目标,也学习到很多东西,不只是实践经验,还有一些做事的道理:在工作时,要尽量把要遇到的问题考虑周全,提前做好准备,那样就不会在遇到问题时有措手不及的感觉;做事一定要不断地去尝试,然后尽自己最大的努力去完成它,人的发展潜力是巨大的,不要一开始就否定自己,低估自己,虽然不能说只要努力就会取得成功,但是如果不努力,就永远不会成功。39 毕业论文参考文献[1]ATM的历史、运营现状和发展趋势蔡宁伟2005年5月[2]李俊民,高春燕等.SQLServer2000.2006年1月[3]陈昊鹏译.Java编程思想.北京:机械工业出版社,2007[4]开发者突击:JSP网络开发经典模块实现全集.北京:电子工业出版社,2008[5]丁振凡主编.Java语言实用教程.北京:北京邮电大学出版社,2005[6]陈国君等编著.Java2程序设计基础.北京:清华大学出版社,2006[7]施霞萍等编著.Java程序设计教程第2版.北京:机械工业出版社,2006[8]吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006[9]汤一平.Java语言程序设计.科学出版社,2006[10]孙卫琴.Java面向对象编程[M].电子工业出版社,2006[11]万江平.用Java开发的FTP服务器J].华南理工大学学报(自然科学版),2001,(08)[12]吴金秀.Java语言中异常的研究[J].软件导刊,2008,(09)[13]周观民,刘书伦.用Java实现多线程程序设计[J].济源职业技术学院学报,2006,(02)[14]刘书伦.西南财经大学经济信息工程学院;《知识经济》2009年08期[15]洪新伟,付强.《有关ATM发展前景的讨论》华中理工大学电子信息工程系,2005年[16]陶洋.《通信信息网》.人名邮电出版社,1996年8月[17]徐淼.ATM技术的原理和特点.《中国科技信息》2005年第2卷第19期[18]谢希仁.计算机网络(第四版).北京:电子工业出版社,2003年6月[19]Tanenbaum,A.S.,ComputerNetworks,3rdEd.,Prentice-Hall,清华大学出版社影印,1996[20]Kurose,J.F.andRoss,K.W.,ComputerNetworking,ATop-DownApproachFeaturingtheInternet,PearsonEducation,高等教育出版社影印版,200139 毕业论文39

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭