计算机信息管理与信息系统毕业设计中国邮政银行ATM机取款系统设计与实现.docx
《计算机信息管理与信息系统毕业设计中国邮政银行ATM机取款系统设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机信息管理与信息系统毕业设计中国邮政银行ATM机取款系统设计与实现.docx(60页珍藏版)》请在冰豆网上搜索。
计算机信息管理与信息系统毕业设计中国邮政银行ATM机取款系统设计与实现
中国邮政银行ATM机取款系统设计与实现
ChinapostbankATMwithdrawalssystemdesignandrealization
江苏科技大学成人高等教育 届毕业设计任务书
学院:
专业:
信息管理与信息系统
班级:
学生姓名
指导教师
职称
讲师
课题名称
中国邮政银行ATM机取款系统设计与实现
课题工作
内 容
ATM自动取款机系统开发是为了应对现代社会进步的需求。
指标(目标)要求
1、能运行Wingdows98/2000/XP系统、MicrosoftVisualC#、2005SQL、Server2000;
2、采用C/S结构;
3、采用软件工程的设计思路,具体设计模型可根据自己所搜集的资料的详细程度帅选,不做指定要求;
4、软件的开发要有一定的实用性和可操作性,必须采取多种测试方法,保证软件的可实用性
进
程
安
排
(1)了解ATM机取款系统业务流程第一周;
(2)资料收集第二周;
(3)系统设计第三周—第五周;
(4)论文初稿第六周—2011年3月25日。
(5)论文终稿2011年3月26日—2011年5月15日。
主
要
参
考
文
献
[1]《UML基础与应用》清华大学出版社王养廷李磊宋汉珍编著
[2]张海藩软件工程(第二版).北京:
人民邮电出版社,2006
[3]刘韬、楼兴华SQLServer2000数据库系统开发实例导航.北京:
人民邮电出版社,2004
[4]李红管理信息系统开发与应用.北京:
电子工业出版社,2003
[5]王要武管理系统开发.北京:
电子工业出版社,2003
实习地点
起止
日期
系主任:
指导教师:
摘要
本篇论文的主题是“ATM自动取款机系统的设计和实现”。
要想设计一个软件系统,其前期工作一定要做好需求分析,需求分析便是前期阶段的首要任务。
这里首先就对ATM系统进行了详细的需求陈述,确定了该系统有这样的一些功能:
拥有银行账户的现金兑换卡在ATM上提取现金(即取款),或查询有关自己的账户信息(例如,某个指定账户上的余额),使用ATM办理转账等事务。
在需求分析阶段还画出了该系统的数据流程图。
经过需求分析之后,设计便进入了总体设计阶段。
在此阶段包含了详细的总体设计过程并且利用了面向数据流的设计方法设计出了软件总体结构,用以回答“概括地说,系统应该如何实现?
”这个问题。
总体设计之后,接着就进入了详细设计。
在此阶段利用VisualBasic6.0为前台开发工具,以MicrosoftSQLServer2000为后台数据库的设计方法描述了详细设计的过程。
并且在对整个系统的设计过程中进行白盒测试和对完成阶段进行黑盒测试。
该系统的设计方案基本合理,功能比较完备,经过测试运行稳定,能够满足用户的基本需要。
关键词:
ATM自动取款机系统;SQLServer2000;VB6.0语言;C/S
Abstract
Thispaper'sthemeis"ATMsystemdesignandrealization".Wanttodesignasoftwaresystem,itsantecedentworkmustdoneedsanalysis,requirementanalysisistheprimarytaskoftheearlystage.HerefirstdetailedofATMsystemdemandstatements,todeterminethesystemhavesoofsomefunctions:
haveabankaccount,cashcardonATMextractscash(namelyawithdrawal),orinquirestheaccountinformationabouthis(forexample,adesignatedaccountbalance),usingATMconductiontransferetc.Onthedemandanalysisstagealsodrewandataflowdiagramofthesystem.Afterdemandanalysis,designenteredaftergeneraldesignstage.Inthisphaseincludesadetailedoveralldesignprocessandusingthedesignmethodofdatafloworienteddesignedsoftwareoverallstructure,toanswer"generallyspeaking,thesystemshouldbehowtoachieve?
"Thisproblem.Theoveralldesign,thenenteredafterdetaileddesign.AtthisstageusingVisualBasic6.0forthefrontdeskdevelopmenttoolstoMicrosoftSQLServer2000isbackenddatabasedesignmethodsdescribethedetaileddesignprocess.Andinthewholesystemdesignprocesstocompletewhite-boxtestingandblackboxtestingphase.Thedesignschemeofthesystemisreasonable,functionrelativelycompletebasicoperationisstable,and,afterthetestthatmeettheuser'sbasicneeds.
Keywords:
ATMsystem;SQLServer2000;VB6.0language;C/S
第一章绪论
1.1项目开发背景
AutomaticTellerMachin简称为ATM。
ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。
ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。
在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。
作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。
ATM自动取款机系统,是一个有终端机、ATM系统和数据库组成的应用系统。
系统功能有用户在ATM上提取现金、查询账户余额、修改密码及转账功能。
ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。
可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。
减少了用户办理业务的等待时间;用户可以随时随地存取款,并且操作简单易懂;用户还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务。
1.2项目开发目标
这个系统功能主要实现用户在ATM上提取现金、查询账户余额、修改密码和转账功能,采用现代化技术对存取款进行管理,提高邮政储蓄对用户的科学化管理。
实现ATM自动取款机工作流程的规范化、自动化和系统化。
这个系统主要为了方便广大用户不再为存取钱,转账等银行业务耗时、耗资源而设计,使用本系统,可以有效的管理用户的账户存取款信息,主要有:
提取现金、查询账户余额、修改密码和转账功能。
1.3项目提出的意义
如今,各家银行都有越来越多的人前往银行开新账户或者用现金或支票向自己拥有的某个账户内存款,同时也有很多储户前往银行从自己的账户中取款。
这样就给银行造成了巨大的工作量与压力,如果不对此现象加以遏制,银行的工作量与压力只会越来越大。
银行为了遏制这种现象的发生,于是他们纷纷有了“拟开发一个自动取款机系统“的方案。
他们要求这是一个由自动取款机(ATM)、中央计算机、分行计算机及柜员终端组成的网络系统。
ATM和中央计算机由总行投资购买。
总行拥有多台ATM,分别设在全市各主要街道上。
分行负责提供分行计算机和柜员终端。
柜员终端设在分行营业厅及分行下属的各个储蓄所内。
拥有银行账户的储户有权申请领取现金兑换卡。
储户只要将该卡插入ATM中就可以访问自己的账户。
目前仅限于用现金兑换卡在ATM上提取现金,或查询有关自己的账户信息(例如,某个指定账户上的余额)。
将来可能还要求使用ATM办理转账、取款等事务。
只有通过开发自动取款机系统,各家银行才能遏制工作量与压力的无限增大,除此之外,储户们也避免了经常亲自前往银行办理相关手续,而只要通过当地的自动取款机就能完成自己想要办理的手续。
第二章开发工具简介
WINDOWSXP是现在电脑操作系统稳定性安全性都不错的开发应用技术,而随着ATM提款机逐步采用个人电脑,以及性能的升级,WINXP也有了可能成为这些提款机的操作系统,所以本次系统也在WINXP下进行开发。
由于需要开发出前台客户友好界面及后台数据库系统,而对于前台只要能满足其界面开发需要即可,所以我采用了相对简单易用并且功能强大的VB6.0,后台数据库则采用了与之相连方便且功能同样强大的SQLSERVER2000。
采用以上两个开发软件完全能够满足ATM模拟系统的开发需要。
2.1VisualBasic6.0简介
VisualBasic是在BASIC和QuickBASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式,其语句简单易懂。
VisualBasic是一种可视化的,面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下功能强大、图形界面丰富的应用软件系统。
VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封闭”起来。
开发人员不必为界面设计而编写大量程序代码,只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的VisualBasic的就会自动产生界面设计代码。
由于程序设计人员只需要编写实现程序功能的那部分代码,因此可以大大提高程序设计的效率。
VisualBasic通过事件来执行对象的操作一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
VisualBasic提供开放式数据库连接(OpenDatabaseConnectivity,ODBC),可通过真接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等;在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库;并提供了简单的面向对象的库操作指令、多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
2.2SQLServer2000数据库简介
SQLServer是美国微软公司开发的一款关系型数据库管理系统的产品,具有成本低,易上手,工具全等优点。
适用于大型或超大型数据库服务器端。
SQLServer是一个关系数据库管理系统它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的于1988年推出了第一个OS/2版本。
在WindowsNT推出后Microsoft与Sybase在SQLServer的开发上就分道扬镳了Microsoft将SQLServer移植到WindowsNT系统上专注于开发推广SQLServer的WindowsNT版本Sybase则较专注于SQLServer在UNIX操作系统上的应用在本书中介绍的是MicrosoftSQLServer以后简称为SQLServer或MSSQLServer。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
数据库是为了克服文件系统的缺点而出现的。
早期数据库系统的处理能力非常有限,主要用于商业数据处理,例如投资管理、工资管理等。
后来,随着数据库技术的进展,特别是关系数据库系统的出现,数据库的应用领域迅速扩大,数据库技术很快被应用到航空、保险公司等各种领域。
这些应用要求数据库管理系统不仅具有数据处理能力,而且必须具有很强的事务处理能力。
我们可以把这些应用归类为事务处理类应用。
数据库是一项新型的数据管理技术,由于它的出现,使得数据处理以程序为中心开始向以数据为中心转变。
传统的程序设计语言都是以程序为中心的,数据或文件只是程序加工对象,但在数据库系统中,它是以数据为中心的,围绕着数据完成查询、更新等操作,使得数据处理的效率大大提高。
数据库系统现在已成为现代管理信息系统不可缺少的强有力的工具。
层次与网状数据库系统是最早出现的数据库系统,被称为第一代数据库系统,是数据库系统发展史上的一个重要里程碑。
层次与网状数据库系统在70年代与80年代初非常流行,在当时的数据库系统产品中占主导地位。
虽然近年来层次与网状数据库系统正逐渐被关系数据库系统取代,但目前在美国等一些国家里,由于历史的原因,这两类数据库系统的用户仍然很多。
自从美国计算机学会会刊发表题为“RelationalModelofDataforSharedDataBanks”的论文后,开创了数据库系统的新纪元。
从此,人们开始了关系数据库系统的研究。
多年来,关系数据库系统的研究取得了辉煌的成就。
关系理论的确立标志着关系数据库系统的基础形式已经接近顶峰。
关系数据库系统已经占据数据库系统的市场。
第三章需求分析
为了开发出真正满足用户需求的软件产品,首先必须要了解用户的需求。
需求分析的基本任务是准确地回答”系统必须做什么?
”这个问题。
具体地说,应该确定系统必须具有的功能、性能、可靠性和可用性,必须实现的出错处理需求,接口需求和逆向需求,必须满足的约束条件,并且预测系统的发展前景。
3.1系统需求分析
中国邮政储蓄拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。
ATM和中央计算机由总行投资购买。
总行拥有多台ATM,分别设在全市各主要街道上。
分行负责提供分行计算机和柜员终端。
柜员终端设在分行营业厅及分行下属的各个储蓄所内。
该系统的软件开发成本由各个分行分摊。
银行柜员使用柜员终端处理储户提交的储蓄事务。
储户可以用现金或支票向自己拥有的某个帐户内存款或开新帐户。
通常储户也可以从自己的帐户中取款,一个储户可能拥有多个帐户。
柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。
柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个帐户的事务并且维护帐户。
拥有银行帐户的储户有权申请领取银行储蓄卡。
使用银行储蓄卡可以在ATM自动取款机上访问自己的帐户。
目前仅限于用银行储蓄卡在ATM自动取款机上提取现金(即取款),或查询有关自己帐户的信息(例如,某个指定帐户上的余额)或办理转帐、存款等事务。
所谓银行储蓄卡就是一张特制的磁卡,上面有分行代码和卡号。
分行代码惟一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些帐户。
通常,一张卡可以访问储户的若干个帐户,但是不一定能访问这个储户的全部帐户。
每张银行储蓄卡仅属于一个储户所有,但是,同一张卡可能有多个副本,因此,必须考虑同时在ATM上使用同样的银行储蓄卡的可能性。
也就是说,系统应该能够处理并发的访问。
当用户把银行储蓄卡插在ATM自动取款机上之后,ATM自动取款机就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。
首先,ATM自动取款机要求用户输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。
中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。
如果用户输入的密码是正确的,ATM就要求用户选择事务类型(取款、查询等)。
当用户选择取款时,ATM请求用户输入取款额。
最后,ATM从现金出口吐出现金,并且打印出帐单交给用户。
表3-1组成数据流程图的元素
源点/终点
处理
超级管理员用户
普通管理员用户
登录事务处理
处理事务类型
更新账户信息
更新用户信息
数据流
数据存储
用户登录信息
验证信息
登陆出错信息
账户信息
用户信息
用户基本信息表
管理员基本信息表
账户基本信息表
3.2建立功能模型
系统的数据流程图是描述信息流和数据从输入流动到输出的变换的图形化技术,是表示软件逻辑模型的图形工具。
既是对原系统进行分析和抽象的工具,也是用以描述新系统逻辑模型的主要工具。
它既提供了信息流建模机制,也提供了功能建模的机制,是自顶向下的分解和自底向上的抽象工具。
本系统遵循了“自顶向下,逐层展开”结构化时间原则,系统功能按模块化实现,各模块之间既关联又相互独立,每个模块执行特定的功能,系统设计操作简单,可读性强。
首先,用顶层图对系统总的功能进行抽象的描迷。
如下图所示:
图3-1ATM系统功能数据流图
对总的功能级数据流图的进一步分解,如下图所示:
图3-2分解后的零层数据流图
对零层图的处理1数据流图的分解,如下图所示:
图3-3处理1的功能级数据流图
对处理2的功能级数据流图的分解,如下图所示:
图3-4处理2的功能级数据流图
第四章总体设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了.总体设计的基本目的就是回答“概括地说,系统应该如何实现?
”这个问题。
总体设计过程通常由两个主要阶段组成:
系统设计阶段和结构设计阶段。
前者是确定系统的具体实现方案;后者是确定软件结构
系统总体结构设计的任务,是根据系统分析的逻辑模型设计应用软件系统的物理结构。
系统物理模型必须符合逻辑模型,能够完成逻辑模型所规定的信息处理功能,这是物理设计的基本要求。
同时,必须考虑到一个计算机应用软件系统不是固定的、静止的,在其生命周期中,它总是处于动态变化过程之中。
在系统调试和运行初期,要进行大量改错工作,以消除在设计阶段未考虑或未预见到的问题和隐患。
随着时间的推移,改错的工作逐渐减少,而由于系统环境的不断变化,以及计算机和外围设备的更新换代,都要反映到系统中来,都会对系统提出修改的要求。
同时,随着计算机应用的深入开展,开阔了领导和管理人员的眼界,他们会对系统提出一些更新、更高的要求,系统也随之不断改进。
在结构化总体结构设计中,整个应用软件系统由多个功能模块组成,通过合理地划分和组织模块,正确处理模块之间与模块内部的联系,达到使整个系统有良好的可用性、可读性、可修改性,易于调试和维护的目的。
4.1系统功能模型设计
系统的功能模型有很多种描迷的方法,不同的方法有不同的等点。
现在采用的是层次方框图来描迷系统的功能。
本系统的功能模块分为:
登录处理模块,系统的安全审计模块,系统的功能实现模块,系统的数据处理结果生成模块,能及对数据库的处理模块。
在系统的功能实现模块中分为数据的录入模块和数据的查询模块,数据的录入是对于DBMS系统的四种基本的处理:
数据修改处理,数据删除处理,数据增加处理。
数据的查询是根据用户的不同的要求显示查询的结果,查询的结果在客户端中显示或者生成报表在打印机中打印出来。
系统的层次方框图是对于系统的各个功能模块的说明,各个模块的调用关系,也就是上一级的调用下一级的模块,或者不同之间的模块的调用。
4.1.1系统功能关系图
用例图:
图4-1系统功能关系图
4.1.2系统功能概述
ATM自动取款机系统相关的主要对象有:
(1)用户:
使用ATM自动取款机进行现金交易。
进行取款、查询余额、设置密码、转账等操作。
(2)系统:
对用户的需求进行接收,通过与数据库的交互,根据对用户应用服务的响应,更新数据库中用户的信息。
(3)数据库:
对用户的所有信息进行存储更新。
(4)取款功能:
用户按照系统输入要求输入取款金额即可取出相应金额的现金。
(5)查询余额功能:
用户可以查看账户所剩现金余额。
(6)修改密码功能:
如果用户想要修改当前密码,通过系统可以设置新密码。
(7)转账功能:
用户可以通过该功能将自己账户上的金额转到其他账户。
首先,ATM要求用户输入密码,接下来ATM把从银行卡上读到的信息以及用户输入的密码传给ATM自动取款机系统,系统通过于数据库中的信息进行核对,如果密码正确ATM就要求用户选择事务类型(取款、查询等),直至用户选择退出应用服务,询问用户是否退出银行卡结束服务,如果用户选择结束,则退出银行卡,系统重回登陆界面。
(8)登录界面:
在整个的系统中,首先用户要选择应用的提示语言的种类,“ENGLISH”或“汉语”,之后输入正确用户登录密码以后才可以进入主界面进行相关的操作。
(9)主界面:
当用户输入正确的用户密码以后,出现主界面,包括以下的一些功能:
主界面有“查询余额”“取款”“转账”“修改密码”等功能选项。
主界面中还有“退卡”功能选项,点击即退出系统服务。
(10)取款界面:
当用户在菜单栏点击取款功能选项,可以进入取款界面。
首先你可以输入取款的金额,输入的必须为50倍数的数字,否则系统会提示输入的金额错误,请重新输入。
如果屏幕上有便捷提示,比如:
1000元、800元、500元等。
如果上边有你想要取款的金额,你可以按相对应的按键就可以了,如果没有,你再找一个“其他金额”按下之后,就可以自由输入自己想取的金额了,输入金额之后,按“确认”,即完成取款功能。
正确输入取款的金额后,直接点击取款,会再次确认你取款的金额,点击“是”即可以取出取款机吐出的现金,并且数据更新到相关的数据库文件中,以便以后查询。
(11)余额查询界面:
在主界面中点击余额查询功能选项,就会弹出余额的窗口。
(12)修改密码界面:
在主界面中点击修改密码功能选项,进入修改密码功能界面,系统要求首先输入旧密码,再输入写密码,并对新密码进行第二次确认,全部输入正确修改功能完成。
(13)转账界面:
当点击转账功能选项,会出现转账的界面,这时就可以进行转账;
分别输入转入的账户和转入的金额,直接点击转入;
若转入过程中出错会有相关的提示的操作。
4.1.3系统功能用例描述
用例描述:
图4