基于JAVA的ATM模拟系统论文含源文件.docx
《基于JAVA的ATM模拟系统论文含源文件.docx》由会员分享,可在线阅读,更多相关《基于JAVA的ATM模拟系统论文含源文件.docx(22页珍藏版)》请在冰豆网上搜索。
基于JAVA的ATM模拟系统论文含源文件
基于JAVA的自动取款机模拟系统
摘要:
ATM是指有计算机控制的持卡人自我服务型的金融专用设备。
目前随着全球金融业的兴起和计算机网络技术的发展,ATM网上银行作为电子商务的一种形式正以方便、快捷的优势,逐步成为金融业一种新兴的经营模式和理念,它迎合了社会快节奏地工作和生活的需要,使顾客可以方便快捷轻松地办理各种实物银行所能办理的各种业务,如提款、存款、查询余额、更改密码等,同时也大大节约了实物银行的人力,物力和财力。
本文介绍的模拟ATM系统就是对提款机操作系统在个人PC上平台中的编程实现,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发制作两个方面。
关键部分为系统功能需求模块、系统实现。
功能需求模块部分介绍了系统设计的指导思想、数据库的设计、各功能模块的设计;系统实现介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与数据库的连接及用户界面的设计等方面。
系统设计采用eclipse作为开发工具,使用Java语言编写,并连接MSSQL数据库,搭建和模拟银行最常见存款取款转账操作。
可实现用户登录、用户存款、用户取款、用户转账、查询该用户信息和余额的功能。
关键词:
ATM机;Java;SQLServer;Eclipse
JAVA.basedATMsimulationsystem
Abstract:
ATMisaSpecialequipmentoffinancethatcontrilledbycomputerandself.servicebyCardholder.Nowdayswiththeriseoftheglobalfiancialindustyandcomputernetworktechnology,ATMonlinebankingasaformofmerce,totheadvantagesoflastandconvenient,hasgraduallybecomeanewbusinessmodelandphilosophyoffinancialindustry.Itcaterstothefastpaceofworkandlife,sothatcustomerscanquicklyandeasilyhandleavarietyofbusinesswhichrealbankdobefore.
ThesimulationofATMsystemsthisarticledescribes,isATMoperatingsystemexecutedonapersonalPCplatform,andit’sdevelopmentmainlyincludestwoaspects,theestablishmentandmaintainofdatabase,anddevelopmentoffront.endproduction.Akeypartsystemforfunctionalrequirementsmodule,thesystemimplementation.Functionalrequirementspartofthemodulesystemthispaperintroducesthedesignoftheguidingideology,databasedesign,thefunctionofeachmoduledesign;Systemimplementationinspecificreducestheneedtoimplementwhensolvesometechnical,suchasdevelopmentframeworkintegrationoftechnology,developmentframeworkwiththedatabaseconnectionanduserinterfacedesign.
ThesystemUSESeclipseasadevelopmenttool,usingjavalanguage,andconnectSQLServerdatabase,setupandsimulatedoperatingbankthemostcommondepositwithdrawalsbybanktransfer.Canrealizeuserregistration,userlogin,usersdeposits,withdrawals,transfersandquerytheuserinformationoffunction.
Keywords:
ATMmachine,SQLServer,Eclipse
前言................................................................................................................................1
3.1、ATM功能需求............................................................................................11
前言
随着市场经济的发展,经济信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。
同时,随着国内银行机构的大量增加,我国的银行业面临更加激烈的同行业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。
ATM的出现使银行卡业务近年来得到了迅猛发展,银行卡发卡量、交易量大幅激增,ATM设备数量也随之增加。
而商业银行旧有的前置应用系统己不堪重负,日渐暴露出交易故障增多、设备接入管理不便、系统维护投入过大、交易安全隐患增多等弊端,这大大影响了银行的正常运作,对银行的业务发展造成了严重束缚。
设计出功能完备、架构先进、性能卓越、高稳定性、高可靠性的前置应用系统成为各大银行的迫切任务。
本文针对行业发展及研究状况,详细分析了银行ATM前置系统的需求,并在此基础上,以克服银行旧有系统的弊端为目标,提出了对原有工作操作进行优化发展的目的。
由于系统设计的可扩展性将直接影响系统后续的二次开发和升级,为达到系统良好的可扩展性,设计过程中对ATM的前置业务功能进行了抽象与综合,以达到优化的目的。
Java是一个广泛使用的编程语言,是一种新的计算概念。
1995年Java的诞生让全世界的程序员为之疯狂。
与以往的任何一种语言相比Java都有着无可比拟的优势。
首先,Java是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、动态的语言。
目前,Java已得到了全世界主要计算机软硬件厂商的支持,在计算机领域中得到了广泛应用。
本设计选题为基于Java程序设计的ATM系统,是模拟银行存取款的管理。
设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有要有良好的容错性,在出现误操作时能尽量及时地给出警告,以便用户及时地改正。
1.本课题的开发背景、研究意义和目的
1.1.开发背景
随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行帐目管理之中的应用日益受到人们的关注。
近年来我国信息产业发展迅速,手工管理方式在银行帐目管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。
目前,对外开放的必然趋势以使银行业直面外国银行巨头的直接挑战,因此,银行必须提高其工作效率,改善其工作环境,直面外国的挑战。
这样,帐户管理的信息化势在必行。
在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题。
因此改过成必须实现信息化。
我们的系统开发的整体任务是实现银行ATM管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的。
1.2.研究意义
随着社会的进步和计算机技术的发展,尤其是网络技术的飞速进步,信息观念已经深入人心。
信息科学作为当代社会中的重要一环在国民经济中起着举足轻重的作用。
自第三次科技革命以来,各交叉学科不断涌现,管理科学与信息科学的密切结合更是大大促进了生产效率,改变了人们久已习惯的人治理念。
管理科学的信息化将人们调度优化任务的能力大大提高。
我国政府审时度势,提出了以信息化带动工业化的明确战略发展决策。
这对于我国占领科技制高点,普及科技教育,推动国民经济的健康可持续发展具有重要的意义。
第三产业在一个国家经济中所占据的比例是其经济结构是否先进成熟的重要标准之一。
而金融业是第三产业中最为重要的产业,是其他所有产业的力量后盾,为其他产业的正常运营提供保障。
作为资金周转的核心层,金融业担负着国计民生的重要职责,其稳定高效的运营是国民经济发展的首要重点。
目前每天国际金融及证券市场上的货币流通量远远大于同等时间内产品贸易的货币流通量。
如果金融业出现纰漏,将对国民经济产生灾难性的影响。
基于金融业的重要性,软件业的发展在很大程度上受到了金融业对信息化程度要求不断提高的影响。
目前软件市场上相当大的份额是管理类软件,而且非专业管理类软件也大部分可以通用到金融领域的管理决策。
银行作为金融业的执行机构,其主要业务是吸纳存款、发放贷款并使之安全有效地运行。
在中国经济蓬勃发展的今天,越来越庞大的储蓄用户数目和资金流通量对银行帐户管理的可靠性每天都在进行苛刻的考验。
本文编制的银行ATM系统正是基于此考虑而编制的专用软件。
一般把与银行合作开展业务的单位叫做商户,如:
若中国电信与交通银行开展代收话费业务则可被视为交行的商户。
从目前看来,依靠电子化手段,加强银行帐户的管理,是各家银行提高其工作效率、增强其业务竞争力的重要因素。
对银行来说,至少育如下几点益处:
(1)有利于增加结算存款
开展各项业务时,商户一般会在银行开设本单位的结算帐户,发生更多的往来,帐户上也会保持一定数量的存款余额:
同时,被代理商户的客户在银行办理代收代付业务时,也有可能在银行开设个人帐户并留有一定的存款,总之,高效的银行帐户管理系统能够提高银行的存款总量.
(2)有利于扩大客户群、发掘潜在客户,从而带动银行传统业务的发展
通过提供高效,优质的业务,吸引更多的客户来银行办理业务,从而扩大了银行的客户群,加强了银行和客户的业务联系,也会带动其他业务的发展;
(3)有利于提高银行的社会形象,稳固业务基础
开拓和发展高效的银行ATM系统,,不仅可以服务客户、联系客户、吸引客户、稳定客户,巩固银行业务经营基础,而且通过服务社会,可以塑造银行自身的市场形象,体现银行的综合实力;
(4)加强了银业与商户的联系,为以后更广泛,更深入地开展银企合作打下了基础。
高效的帐户管理系统,使银行从某种程度上为被代理单位拓展了业务,节省了一定的人力、物力和财力,通过业务交流和接触,双方加深了了解和友谊,加强了双方的信用协作关系,为以后的发展和合作奠定了良好的基础;
(5)有利于改善银行的业务结构,扩大收益来源,增强抵御风险的能力。
近年来,央行连续多次降低利率,迅速缩小了商业银行的利差水平,伴随着信贷业务风险意识的增强,商业银行之间竞争更加激烈,经营成本日趋提高;因此,银行管理系统在整个国际银行业获得了空前的发展,并受到广泛而高度的重视。
所以,加快银行帐户系统的科学管理,有利于拓展金融服务的深度和广度,有助于银行获得新的利润增长点,从而改善业务结构、扩大收入来源,提高抗风险能力。
总之,现代商业银行的竞争和发展,已突破传统业务的框架,为了提高银行的业务竞争能力,扩大客户群,培育新的利润增长点,务必大力改良其ATM系统,因此建立一个功能齐全、灵活、通用、可靠、安全、统一的ATM系统成为银行当前业务发展的迫切之需。
1.3.本论文的目的
随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。
现今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务:
同时,随着我国加入世贸组织的日益临近,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。
近几年来,各商业银行加快了与社会各业的合作,利用自身的网点优势和业务特点,为其提供各种高效、快捷的代收代付业务,也就是ATM系统,目前以与广大人民群众生活密切相关的各项缴费业务,这些业务开展方式多种多样,但一般都离不开计算机的高效管理支持。
随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的电子化水平和相应的管理水平提出了更高的要求。
如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。
2.ATM开发相关知识介绍
2.1.Java开发语言介绍[6]
面向对象:
其实是现实世界模型的自然延伸。
现实世界中任何实体都可以看作是对象。
对象之间通过消息相互作用。
另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。
如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。
用公式表示,过程式编程语言为:
程序=算法+数据;面向对象编程语言为:
程序=对象+消息。
所有面向对象编程语言都支持三个概念:
封装、多态性和继承,Java也不例外。
现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。
所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。
可以说,对象是支持封装的手段,是封装的基本单位。
Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。
而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。
可移植性:
就是在这个系统上作的程序经过一次编译后可以移植到别的系统上解释执行,只要经过简单的粘贴和复制就行了,不影响程序的效果
安全性:
在iSeries服务器上运行的大多数Java(TM)程序是应用程序,而不是applet,所以“砂箱”安全性模型对它们不起限制作用。
从安全性的观点看,Java应用程序所受的安全性限制与iSeries服务器上的任何其它程序相同。
要在iSeries服务器上运行Java程序,您必须对集成文件系统中的类文件具有权限。
程序一旦启动,它就在该用户权限控制下运行。
您可以使用沿用权限来访问具有运行程序的用户的权限和程序拥有者权限的对象。
沿用权限临时地将用户原先无权访问的对象的权限授予用户。
并发性:
JAVA支持多线程技术,就是多个线程并行机制,多线程是Java的一个重要方法,特别有利于在程序中实现并发任务.Java提供Thread线程类,实现了多线程的并发机制.然而,程序的并发执行必定会出现多个线程互斥访问临界资源的局面,因而并发系统解决的关键就是对临界资源的管理和分配问题,而在进行临界资源分配时有两方面需要考虑,即安全性和公平性.文中首先讨论了多线程并发系统中的安全性与公平性问题,指出安全性与公平性在并发系统中访问临界资源时的重要性.并通过火车行驶单行隧道的实例,演示各种条件下的行驶情况来进一步说明该问题。
2.2.MicrosoftSQLServer数据库简介[5]
介绍:
MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
管理:
SQLServerManagementStudio集成了对SQLServer2005所有组件的管理。
BusinessIntelligence从业者都将得益于Microsoft服务器“能力”扩展这一用户盼望已久的功能增强,即从关系引擎(伸缩性、可靠性、可用性、可编程性,等等)扩展为全套的BI平台组件。
支持的操作系统:
Windows2000ServicePack4;
WindowsServer2003ServicePack1;
WindowsXPServicePack2
硬件要求:
具有IntelPentiumIII600MHz(或同等性能的兼容处理器)或速度更快处理器(建议使用1GHz或速度更快的处理器。
)的计算机最低192MB的RAM(建议使用512MB或更高的RAM。
)100MB的可用硬盘空间
注意事项:
安装此包之前,必须从系统中删除SQLServerManagementStudioExpress的任何Beta版本或CommunityTechnologyPreview(CTP)版本。
如果不执行此操作,则将导致此包安装失败。
2.3.eclipse开发工具简介
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。
2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。
2007年6月,稳定版3.3发布。
2008年6月发布代号为Ganymede的3.4版。
2009年7月发布代号为GALILEO的3.5版。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug.inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。
例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
3.ATM系统需求分析与设计
3.1.ATM使用的现状
目前ATM的行业资源集中度较高。
在中国ATM市场上,中国工商银行,农业银行,中国银行,中国建设银行,交通银行,中国邮政储蓄银行等6大银行由于网点多,客户群大,资金雄厚,拥有大部分的ATM市场份额,约占中国ATM市场总量的85%。
已安装运行ATM机最多的是建设银行和工商银行,而ATM操作系统以较好的有工商和招商银行等。
中国的ATM人均拥有量与市场成熟的德国,美国,韩国等国家相比还是有很大差距。
甚至与世界平均水平相比还有明显的差距,国内ATM市场增长空间巨大。
从区域分布来看,国内ATM的分布极不均匀。
3.2可行性分析
开发工具eclipse,数据库SqlServer2005。
满足基本的开发要求。
成熟的框架及思想,为开发提供了技术前提。
硬件的满足及技术的成熟使得开发技术可行性得到了支持。
▪3.2.1时间的可行性
从时间来看。
充足的时间,足够学习相应的技术,并应用于系统。
预计本系统在规定的时间内,能基本完成。
▪3.2.2经济的可行性
开发该系统和所需的相关专业资料可以通过上网机图书馆获得,相关的数据资料可以通过相应的网站以及调研进行采集。
所需的硬件,软件要求不是很高,易于获得。
人力要求不多。
开发成本要求不高。
与传统的开发模式相比,具有高效率,低成本,高质量的特点。
可以用少许人力、物力及财力进行开发。
从经济,人力的角度来看。
该系统的开发具有可行性。
3.3系统功能需求
ATM软件分别有登陆,存款,取款,查询,转账,修改密码,账户
明细查询,退出等功能。
功能图如下:
图2.1ATM基本功能图示
设计时常将各个功能分模块设计,各个模块各有不同的特点及功能,最终来完成各自相应的功能。
各模块的数据都存放在数据库中,又形成一个整体。
数据的调用和连接都有程序来完成。
ATM终端机通过用户输入9位的卡号和6位的对应密码,经过验证后,准确无误后可以同系统进行各种交互,例如:
查询、存款、取款、转账、明细查询等;系统根据终