ATM模拟系统毕业论文 (2).doc
《ATM模拟系统毕业论文 (2).doc》由会员分享,可在线阅读,更多相关《ATM模拟系统毕业论文 (2).doc(32页珍藏版)》请在三一文库上搜索。
1、天津科技大学2010届本科生毕业设计第一章 前言第一节 介绍本课题的目的和意义随着时代的进步,生活节奏的加快,越来越多的人进入银行。在银行业务量爆炸式增长的时候,ATM已经开始悄悄的走入人们的生活。ATM机作为银行服务的扩展终端,大大的提高了银行离柜业务办理能力,24小时为客户提供最基础的银行服务,使得银行客户在面对长长的队伍时有更加主动的选择。ATM设备已经成为我们日常生活中不可或缺的重要设备。因此我决定学习了解ATM设备的工作愿意,探究ATM机的工作机制,并自行模拟ATM系统能。第二节 国内外发展概况及存在问题随着银行业务的扩展,业务量的增长,人们的生活和银行连接的越来越紧密,这个时候银行
2、的长龙开始出现,银行方面不得不投入巨大的来那个人难以想象的人力和物力来解决个人储户的存取款的问题,在1969年汉华银行(Chemical Bank)的一个广告拉开了这场革命的序幕: “我行将在 9 月 2 日早晨九点开门后永不关门!”汉华银行在纽约长岛北村街 10 号的洛克维尔中心(Rockville Centre)设有一家分行。从那天起,凡持该行带磁条塑料卡的客户再也不用排队等候银行出纳员为他们兑现支票。银行在大街的一面墙上安装了一台机器,客户可以通过它随时取款。这个时候第一台真正意义上的ATM机投入使用,一直到现在,在我国在大街小巷也能看到各个银行的ATM柜员机在工作。相比国外国内的ATM
3、机起步较晚,ATM(Auto Teller Machine)称自动取款机,实质是一种集光、机、电技术的银行业自动化设备。我国的ATM是伴随着银行卡业务的成长而逐步发展起来的,为了满足持卡人在银行营业时间外也能够用卡存、取款,银行投资并安装了ATM,以此提供24小时的自助服务。1987年2月,我国第一台ATM在广东珠海投入使用。1993 年我国“金卡工程”启动后,国内银行对ATM 需求激增。1998年,全国ATM突破2万台。进入21世纪后,ATM数量速度迅猛。到2007年底,中国联网ATM机已经达到12.3万台,近5年国内ATM设备保有量实现了年均20.22%的复合增长,整体ATM机市场保有量已
4、经达到13.8万台,预计2011年会达到20万台。ATM是社会发展过程中电子技术与银行业务完美结合的产物之一,信息技术的创新推动着ATM向更加智能化和人性化的方向发展。现在的ATM机使用方便、界面更加友好,为广大客户提供了一种便捷的自助服务方式,不但增强了银行服务的灵活性,而且提升了银行的整体形象。现在国内主要生产厂家有:广电运通、深圳怡化;广州御银、广州广利、深圳新达通等。虽然起步较晚,但是发展势头良好,在短短的几年之内实现了年均20%多的增长率。随着ATM机功能的复杂化,界面越来越良好。相信会有更加良好的发展前景当然在飞速发展的同时也存在很多的问题(1) 没有树立正确的ATM经营发展理念
5、大部分商业银行是将ATM作为形象宣传或者营业网点的补充,没有树立起一种新的经营理念,对ATM缺乏科学管理和经济效益的考核,导致银行在确定ATM安装选点时没有考虑经济效益,更多地考虑银行形象和减轻网点人员的工作压力。(二)各商业银行对ATM管理不规范首先是银行间管理差距较大,有些商业银行的形象设计不够人性化。有的银行功能齐全、形象统一,设备维护保养好;但也有的银行功能单一、外观五花八门,各类操作标识和提示牌随意张贴。其次,对于因ATM的设备问题导致客户遇到错账、出钞故障等的解决处理也没有统一的服务承诺。(3) ATM布局不合理 从ATM交易量分析,业务量较大的地区主要集中在经济发展热点地区、繁华
6、商业区、大型居民社区、大型批发市场周边,经常出现排队取款的现象。而偏远地区和城填的交易量较小。应该实际状况进行调整,交易量多的地区可以多装,少的地区可以少装或不装,以讲究实效、降低交易成本。(4) 目前ATM功能单一、技术安全还待进一步提高 大多数的ATM仅有修改密码、查询、取现等功能。随着中间业务的发展,ATM应开发多种业务,既方便客户也减轻柜台压力。此外,各地ATM技术故障事件屡见报端,如重庆观音桥步行街邮政储蓄ATM机取出48张同号百元假钞事件、“许霆案”等第三节 相关技术一 C#3.0技术简介C#3.0在原有的基础上改变了很多,再加上和VS2008一起推出,绝对有理由进入到一般编程爱好
7、者的视野之中第一个特性:隐式类型化本地变量这个特性非常简单,有些JavaScript的影子,我们可以统一使用使用var关键字来声明局部变量,而不再需要指明变量的确切类型了,变量的确切类型可通过声明变量时的初始值推断出来。这样一来,可以大大简化我们声明局部变量的工作量了。第二个特性:匿名类型有些时候我们需要临时保存一些运算的中间结果,特别是当这些中间结果是由多个部份组成时,我们常常会去声明一个新的类型,以方便保存这些中间结果。表面上看起来这很正常,而细想之后就会发现,这个新类型只服务于这个函数,其它地方都不会再使用它了,就为这一个函数而去定义一个新的类型,确实有些麻烦。第三个特性:隐式类型化数组
8、这个特性是对隐式类型化本地变量的扩展,有了这个特性,将使我们创建数组的工作变得简单。我们可以直接使用new关键字来声明数组,后面跟上数组的初始值列表。在这里,我们并没有直接指定数组的类型,数组的类型是由初始化列表推断出来的。 第四个特性:对象构造者我们在声明数组时,可以同时对其进行初始化,这样就省去了很多麻烦,但是在创建类的对象时,这招可就不灵了,我们要么调用该类的构造函数完成对象的初始化,要么就手工进行初始化。这两种方法都不太方便,使用构造函数来对对象进行初始化时,我们为了某种灵活性,可能需要编写构造函数的多个重载版本,实在是麻烦。C#3.0中加入的对象构造者特性,使得对象的初始化工作变得格
9、外简单,我们可以采用类似于数组初始化的方式来初始化类的对象,方法就是直接在创建类对象的表达式后面跟上类成员的初始化代码。第五个特性:集合构造者我们可以在声明数组的同时,为其指定初始值,方法是直接在数组声明的后面跟上初始值列表。这样就使数组的初始化工作变得简单,而对于我们自己创建的集合类型,就无法享受到与普通数组一样的待遇了,我们无法在创建自定义集合对象的同时,使用数组的初始化语法为其指定初始值。 C# 3.0中加入的集合构造者特性,可使我们享受到与普通数组一样的待遇,从而在创建集合对象的同时为其指定初始值。为了做到这一点,我们需要让我们的集合实现ICollection接口,在这个接口中,完成初
10、始化操作的关键在于Add函数,当我使用初始化语法为集合指定初始值时,C#编译器将自动调用ICollection中的Add函数将初始列表中的所有元素加入到集合中,以完成集合的初始化操作。第六个特性:Lambda表达式C# 2.0中加入的匿名代理,简化了我们编写事件处理函数的工作,使我们不再需要单独声明一个函数来与事件绑定,只需要使用delegate关键字在线编写事件处理代码。而C# 3.0则更进一步,通过Lambda表达式,我们可以一种更为简洁方式编写事件处理代码,新的Lambda事件处理代码看上去就像一个计算表达式,它使用=符号来连接事件参数和事件处理代码。我可以这样写:SomeEvent +
11、= 事件参数 = 事件处理代码;第七个特性:扩展方法当我们需要对已有类的功能进行扩展时,我们通常会想到继承,继承已有类,然后为其加入新的行为。而C# 3.0中加入的扩展方法特性,则提供了另一种实现功能扩展的方式,我们可以在不使用继承的前提下实现对已有类本身的扩展,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能扩展。在对已有类进行扩展时,我们需将所有扩展方法都写在一个静态类中,这个静态类就相当于存放扩展方法的容器,所有的扩展方法都可以写在这里面。而且扩展方法采用一种全新的声明方式:public static 返回类型 扩展方法名(this 要扩展的类型 sourceOb
12、j ,扩展方法参数列表),与普通方法声明方式不同,扩展方法的第一个参数以this关键字开始,后跟被扩展的类型名,然后才是真正的参数列表。第八个特性:Linq查询表达式C# 3.0中加入的最为复杂的特性就是Linq查询表达式了,这使我们可直接采用类似于SQL的语法对集合进行查询,这就使我们可以享受到关系数据查询的强大功能。Linq查询表达式是建立在多种C# 3.0的新特性之上的二 ADO.NET连接数据库技术1、 Dataset许多的工作都是围绕一个对象dataset来展开工作的,dataset是从数据库查询得来的缓存信息。dataset最革命性的特点是它是无连接的并且同时可以存储多个表并且可以
13、定义他们之间的关系。2、 无连接特性无连接特性是最重要的特点,在先前的连接都是在代码工作的时候保持数据库连接,可以保持即时的更新但是它限制了连接的数目。无连接就不会出现这样的问题。但是无连接也会带一些新的问题,它很容易造成不一致的更新。但是提供了一套特性来解决这些问题。3、 XML集成A很好的支持XML,当你用dataset对象时这个事实可能不是很明显,那是因为dataset的内置方法和属性可以很好的完成你需要管理的数据。但是如果你深入研究,你将会发现你接触dataset中的信息是作为一个xml文档。你甚至可以通过修改XML来修改值和删除行和增加记录,这个dataset会立马更新。A 的功能主
14、要依赖于一小部分核心对象的集合。可以将这些对象分成两部分:1、容纳和管理数据的对象(比如dataset,datatable,datarow,datareleation)2、用来连接某些数据源(比如 connection,command,datareader数据容器对象是完全通用的,无论你使用什么数据源,一旦你提取了数据,都是用同一个dataset类来存储。 第二组对象存在很多不同的形式。数据连接对象的每一个集合都被称为 data provider. Data providers都是自定义的,所以每一个都用自己最好的表现方式来连接它形相应的数据源。比如说SQL Server data provi
15、der是为SQL SERVER 7或以后版本而设计的。在内部,它用SQL ServersTDS(tabular data stream)协议来进行通信,这样就能保证他最好的表现形式常用的编程语言有C,C+,JAVA等。(一) CC语言的特点 1. 简洁紧凑、灵活方便 C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2. 运算符丰富 C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运
16、算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3. 数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。4. C是结构式语言 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种
17、循环、条件语句控制程序流向,从而使程序完全结构化。 5. C语法限制不太严格、程序设计自由度大 一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。 6. C语言允许直接访问物理地址,可以直接对硬件进行操作 因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。7. C语言程序生成代码质量高,程序执行效率高 一般只比汇编程序生成的目标代码效率低1020%。 8. C语言适用范围大,可移植性好 C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UN
18、IX,也适用于多种机型。用法补充:C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言(二)JAVA1 面向对象:其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式
19、编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。 2
20、可移植性:就是在这个系统上作的程序经过一次编译后可以移植到别的系统上解释执行,只要经过简单的粘贴和复制就行了,不影响程序的效果3 安全性:在 iSeries 服务器上运行的大多数 Java(TM) 程序是应用程序,而不是 applet,所以“砂箱”安全性模型对它们不起限制作用。从安全性的观点看,Java 应用程序所受的安全性限制与 iSeries 服务器上的任何其它程序相同。要在 iSeries 服务器上运行 Java 程序,您必须对集成文件系统中的类文件具有权限。程序一旦启动,它就在该用户权限控制下运行。 您可以使用沿用权限来访问具有运行程序的用户的权限和程序拥有者权限的对象。沿用权限临时地
21、将用户原先无权访问的对象的权限授予用户。4 并发性:JAVA支持多线程技术,就是多个线程并行机制,多线程是Java的一个重要方法,特别有利于在程序中实现并发任务.Java提供Thread线程类,实现了多线程的并发机制.然而,程序的并发执行必定会出现多个线程互斥访问临界资源的局面,因而并发系统解决的关键就是对临界资源的管理和分配问题,而在进行临界资源分配时有两方面需要考虑,即安全性和公平性.文中首先讨论了多线程并发系统中的安全性与公平性问题,指出安全性与公平性在并发系统中访问临界资源时的重要性.并通过火车行驶单行隧道的实例,演示各种条件下的行驶情况来进一步说明该问题。(三)RubyRuby语言的
22、主要特点如下。1 纯的面向对象语言在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这一特点。在Java中,求一个数的绝对值的代码如下。int c = Math.abs(-20);而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象,因此,求一个数绝对值的Ruby代码形式如下。c = -20.abs这样的代码编写方式是不是更形象一些呢?2解释型脚本语言Ruby 语言是解释型脚本语言,它既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。一方面,在最初设计Ruby语言时,Ruby的研发者松本行弘考虑到文字处理方面的需要,他借鉴了Perl语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM模拟系统毕业论文 2 ATM 模拟 系统 毕业论文
链接地址:https://www.31doc.com/p-3901148.html