ATM自动取款机系统毕业设计论文.docx
《ATM自动取款机系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《ATM自动取款机系统毕业设计论文.docx(29页珍藏版)》请在冰豆网上搜索。
ATM自动取款机系统毕业设计论文
江苏财经职业技术学院
综合毕业实践说明书
标题:
基于WCF的ATM自动取款机系统
系别:
计算机技术与艺术设计系
专业:
计算机应用技术
学号:
**********
******
*******
2009年05月10日
摘要
随着我国社会主义市场经济的建立,银行电子化建设迅速发展ATM自动取款机的数量不断增加和普及。
因为ATM机具有自动取款功能和无人值守这一使用环境,使得利用ATM机犯罪的案件和纠纷不断增加。
如何保证ATM机的安全运行,防范和降低银行与储户的风险,打击利用ATM机的犯罪,保护银行与储户的利益,是一个亟待解决的问题。
随着社会经济的发展,人们不满足于仅仅只能从ATM上取钱,很多时候还希望能方便的进行现金存款。
特别是近年来信用卡使用量的快速增长,很多信用卡持卡人都希望能够方便的通过ATM进行还款,这就需要银行投放更多的存取款一体机。
为加强ATM机的安全性,更方便的让客户进行操作,保护客户的利益,增强ATM自动取款机系统的分布处理能力,设计系统采用了Microsoft公司的较新技术WCF;在对当前ATM自动取款机系统进行分析后,结合客户不断增长的需求,将ATM系统主要分为登录模块、客户模块和管理模块;主要运用了面向对象和面向服务的技术对ATM自动取款机系统进行架构和具体的实现。
最后,对所开发的ATM自动取款机系统进行了必要的测试。
关键词:
ATM(AutoTellerMachine);WCF(WindowsCommunicationFoundation);契约;分布式系统;服务;数据库
基于WCF的ATM自动取款机系统的开发
引言
随着我国社会主义市场经济的建立、银行电子化建设迅速发展、ATM自动取款机的数量不断增加和普及,ATM机在方便百姓生活,活跃金融市场等方面起到了积极的作用。
但正因为ATM机具有自动取款功能和无人值守这一使用环境,使得利用ATM机犯罪的案件和纠纷不断增加。
如何保证ATM机的安全运行,防范和降低银行与储户的风险,打击利用ATM机的犯罪,保护银行与储户的利益,是一个亟待解决的问题。
同时ATM系统应该更方便客户的操作,保护客户的利益。
ATM机市场上增长最快的是存取款一体机,市场份额不断上升到。
随着社会经济的发展,人们不满足于仅仅只能从ATM上取钱,很多时候还希望能方便的进行现金存款。
特别是近年来信用卡使用量的快速增长,很多信用卡持卡人都希望能够方便的通过ATM进行还款,这就需要银行布放更多的存取款一体机,预计存取款一体机仍将快速增长。
ATM系统中常用术语:
银行:
一个金融机构,负责保存客户的账号信息。
可以经授权访问账号。
卡:
储蓄卡,银行发行的可以在ATM终端交易的一种储蓄凭证介质。
客户:
在ATM系统上交易的银行账户拥有者。
一个持卡人就是一个客户,可能拥有多个银行帐号。
ATM:
AutoTellerMachine,简称ATM;主要分为两部分:
一部分是ATM服务器,另一部分是ATM终端。
ATM终端负责和银行卡持有者(客户)进行交互;ATM服务器负责处理交易,并记录每次交易的信息,一个ATM服务器可以同时连接多个ATM终端。
账号:
一张银行卡对应一个账户,卡号与账号之间是一对一关系。
1开发工具
1.1.NET
.NET通过VisualStudio.NET为其提供了统一集成开发环境(IntegratedDevelopmentEnvironment即IDE),简化了程序员的编程工作,提高了模块的可重用性;集成了许多可视化辅助工具,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;大大简化了应用程序的开发,提高编程效率,同时使不同语言之间的数据和代码交换更加便利;其封装了Windows的API函数、DATA、.Net、GDI函数,简化了编程时创建、维护窗口等许多复杂的工作。
1.2C#语言
C#是当前功能最为强大可视化开发语言,它不仅支持传统的软件开发方法,更重要的是它支持面向对象和可视化的开发风格。
因此又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
开发ATM系统中使用较频繁的Winform中系统预定义控件主要有以下几种:
(1)Button(按钮控件):
产生某些命令或改变某些选项设置。
(2)Textbox(编辑框控件):
完成文字的输入输出双向操作,查看并编辑文字。
(3)Label(标签控件):
为控件提供运行时信息或说明性文字。
1.3SQLServer2005
微软开发的SQLServer2005是在Windows95/98/2000及WindowsNT平台中应用的关系型数据库管理系统,可以通过各种数据库对象对数据进行控制和管理,不论客户创建的独立桌面数据库适用于个人、部门还是整个企业,SQLServer2005都可以为管理数据生成易于使用的数据库,SQLServer2005不仅拥有众多传统数据库管理软件所具备的功能,同时还进一步增强了与web页集成,能够更方便的共享跨越各种平台和不同客户级别的数据。
引进四个新的数据挖掘运算法,改进的工具和精灵,它们会使数据挖掘,对于任何规模的企业来说,都变得简单起来。
SQLServer2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。
1.4数据访问接口
数据访问对象接口引用了ADO.NET数据访问对象及OLEDB(OLEdataBase,OLE数据库)。
ADO.NET采用了专门为.NET平台设计的数据访问结构,就是离线访问模式。
ADO.NET可以把数据库中的任何数据转换为XML。
可以使数据传输轻松的通过防火墙。
ADO.NET提供了DataSet新特性,支持回滚和前滚或修改操作代替等。
1.5WCF
在Windows平台下,尤其是在.NET平台下开发面向服务的应用程序,或者开发分布式系统,最佳选择就是WCF。
WCF既支持具有互操作性的Web服务,也能够实现.NET客户端与.NET服务端的通信,提供了分布式事务的支持,同时在安全性上,它完全遵循了WS-*的标准;此外,它还支持队列服务,可以非常方便地利用消息队列完成异步操作与脱机调用。
而这些功能,在微软公司以前推出的技术中都只是部分的得以实现。
WCF引入了通道封装消息的通信细节,例如编码、事务处理、安全等,然后又通过引入绑定的概念,封装了通道的组成顺序与处理细节。
最后,引入了独有的Endpoint元素,集成了地址、绑定和契约之间的“三位一体”,以最简单的方式定义和发布服务。
WCF的运行过程如图1.1所示。
图1.1WCF的运行过程
2需求分析
根据系统需求,将ATM取款机系统主要分为客户端和服务器。
服务器应用WCF技术提供相应的服务。
客户端又分为:
管理模块和客户模块。
其中管理模块主要包括:
配款、维护、统计和报表打印功能;客户模块主要包括:
存/取款、转账、修改密码和查询等功能。
2.1功能模块
根据系统安全性的要求,无论是管理员还是客户都必须先登录,然后才能进行相关业务的处理,按照面向对象和面向服务的编程思想,将登录功能单独设计为一个模块。
ATM自动取款机系统的开发主要包括登陆模块、客户模块和管理模块等三个模块的设计。
登陆模块:
用以核对客户身份,使拥有权限的客户进入自己的账号进入系统进行存/取款、转账、查询等操作或管理员进入后台进行维护等。
客户模块:
其主要功能是对满足客户存/取款、转账、查询等功能需求,方便客户的操作。
管理模块:
主要实现用以对ATM自动取款机系统的一些设置、日常维护、统计和报表打印等功能。
2.2系统框架图
ATM自动取款机系统框架如图2.1所示。
2.2模块数据分析
通过对ATM自动取款机系统需求分析,以及各模块之间数据传输分析,得出各模块涉及数据项主要有:
客户的信息:
卡号及密码,管理员登录名及密码,交易的类型、金额等。
3设计思想
3.1面向对象技术
面向对象技术是一个非常实用而强有力的软件开发方法。
它具有许多特色。
一是方法的唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到的。
二是从生存期的一个阶段到下一个阶段的高度连续性,即在一个阶段所用到的部分与在下一个阶段所使用的部分是衔接的,所使用的技术经过生存期每一阶段后不改变。
三是把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)及面向服务体系结构(SOA)集成到生存期的相应阶段。
对象(OBJECT)的基本成分。
每个对象可用其一组属性和它执行的一组操作来定义。
属性一般只能通过执行对象的操作改变。
操作又称为方法或服务,在C++中成为成员函数,它描述了对象执行的功能。
类(CLASS)同数据结构和相同操作的对象的集合。
类的定义包括一组数据属性和在数据上的某组合法操作。
类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。
在一个类中,每个对象都是类的实例(Instance),它们都可使用类中提供的函数。
一个对象的状态则包含在它的实例变量中。
继承(Inheritance)是使用已存在的(现存)定义作为基础建立新定义的技术。
使用继承设计一个新的类,可以视为描述一个新的对象集合,它是现存类所描述对象集合的字集合。
这个新的类可以认为是现存类的一个特化。
面向对象的程序设计已成为软件界主流的程序设计思想和方法。
传统的过程是程序设计本质的缺陷是非常不自然、不符合客观世界本身的特点以及人们分析和思考问题的习惯。
面向对象的程序设计一方面是为了满足日益复杂的程序开发所提出的,一方面为程序设计提供了一个更为合理和自然的分析和思考方式。
3.2面向服务技术
SOA(Service-OrientedArchitecture)既服务导向架构,是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实现的一种软件系统架构。
该定义的学术味道较浓,但其核心思想并不难理解:
让应用不受限于技术,让企业轻松应对商业服务变化和发展的需要。
面向服务架构(SOA)是一种应用框架,它着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的服务。
SOA使用户可以构建、部署和整合这些服务,且无需依赖应用程序及其运行计算平台,从而提高业务流程的灵活性。
这种业务灵活性可使企业加快发展速度,降低总体拥有成本,改善对及时、准确信息的访问。
SOA有助于实现更多的资产重用、更轻松的管理和更快的开发与部署。
在当今的业务环境中,变化是毫无疑问的,因此快速响应客户需求、市场机遇和外部威胁的敏捷性比以往任何时候都更显重要。
SOA在本质上是一种分布式的架构方法,因此其治理需求比集中式环境更显重要。
要获得必需的业务和技术适应能力,企业需要适当的功能、资产和流程。
SOA环境的治理目标就是要确保在这些功能、资产和流程中实现面向服务的战略。
SOA与WebServices之间的关系:
WebServices并不一定要转向SOA,也并非所有的SOA都要基于WebServices,这两种技术方向之间的关系是非常重要的,并且它们是相互影响的。
WebServices将使SOA能够为大型机客户所用;与此同时,SOA的最佳实践架构将有助于使WebServices获得成功。
SOA不是一定需要WebServices来实现,并且一个基于WebServices开发出来的应用也不代表就是一个基于SOA构架应用。
WebServices只是服务实现的一个典型,是实现企业SOA的一个组件(非必需组件)。
SOA为基于服务的分布式系统提供了概念上的设计模式。
WebServices则是基于标准的、可经济实惠地实现SOA的一项技术。
SOA将IT资源透过服务这样一个在业务