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