ATM系统的分析设计及仿真实现毕业论文.doc_第1页
ATM系统的分析设计及仿真实现毕业论文.doc_第2页
ATM系统的分析设计及仿真实现毕业论文.doc_第3页
ATM系统的分析设计及仿真实现毕业论文.doc_第4页
ATM系统的分析设计及仿真实现毕业论文.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国民航大学本科毕业论文ATM系统的分析设计及仿真实现毕业论文中国民航大学本科毕业论文目 录摘 要IABSTRACTII第1章 绪论11.1 ATM系统现状11.2 本文的研究目的1第2章 开发环境介绍22.1 开发环境22.2 统一建模语言UML2第3章 需求分析33.1 系统概述33.2 系统的功能需求33.3 系统的性能需求43.4 系统的需求分析53.4.1 系统的基本功能53.4.2 系统操作流程53.5 系统用例建模63.5.1 用例图63.3.2 用例描述7第4章 系统分析与设计144.1系统类图设计144.2 用例分析144.2.1 登录用例分析144.2.2 取款用例分析154.2.3 查询余额用例分析164.2.4 转账用例分析164.2.5 存款用例分析174.2.6 修改密码用例分析图184.2.7 查看交易记录用例分析194.2.8 充话费用例分析204.3 数据库设计214.3.1 E-R图214.3.2 数据库逻辑结构设计21第5章 功能实现255.1系统主界面255.2登录功能实现255.3取款功能实现265.4查询余额功能实现285.5转账功能实现285.6存款功能实现305.7修改密码功能实现315.8查看记录功能实现33第6章 结论36参考文献37致 谢38附录:外文翻译资料39第1章 绪论第1章 绪论自动柜员机大部分的功能就是取款,所以大家习惯称之为自动取款机。它是利用一种有磁性的卡片进行自主服务的机器,代替银行柜面人员的工作;最大程度上的满足了持卡人的业务需求,从根本上减少了银行对于人力资源的开销。银行卡持有者可以使用信用卡或储蓄卡,输入密码,验证正确后可自助办理取款、查询余额、转账、存款,修改密码,查看交易记录,话费充值等业务。1.1 ATM系统现状随着人们生活水平的提高,银行业务的发展,业务量的增长,人们开始越来越多地办理银行卡业务,银行方面变得很被动,他们不得不投入巨大的人们难以想象的人力和物力资源来解决大众的存取款的问题,自动取款机的来源是在1969年汉华银行(Chemical Bank)在纽约长岛北村街10号的洛克维尔中心(Rockville Centre)的一面墙上安装了一台机器开始的,从那天起,凡持该行的带磁条塑料卡的用户可以不用排队等候银行出纳员为他们办理业务,客户可以通过它隨时取款。这就是世界上的第一台真正意义上的ATM机,时至今日,在我国的大街小巷到处都可以看到各个银行的ATM自动柜员机在工作,人们也开始习惯依赖自动柜员机,进行各种自助的存取款操作。1.2 本文的研究目的 ATM机作为银行服务的扩展终端机,大大的提高了银行柜台业务办理能力,24小时为客户提供最基础的银行服务。本文基于UML对ATM系统进行分析设计与仿真实现,运用了UML的用例图、用例描述、类图、时序图,在此基础上运用C#基础三层架构实现银行卡的认证、账户密码验证、存取款、转账、交易明细的查询等功能。本文一方面可以锻炼面向对象分析设计能力,另一方面也可以作为软件建模与分析的很好的教学案例。第3章 需求分析第2章 开发环境介绍2.1 开发环境 开发工具:Microsoft visual studio 2012 开发语言:C# 数据库:SQL Server 2008 操作系统:windows 72.2 统一建模语言UML统一建模语言UML是一种建模语言,是由一系列标准的图形符号组成的,它用于描述软件系统的分析、设计及实施。UML的定义包含两个主要成分:语义和表示法。UML的语义是用自然语言和对象约束语言描述,UML的表示法定义了UML的可视化标准表示符号,这也就意味着UML是一种可视化的建模语言。建立应用程序级别的模式中使用这些图形符号和文字即是UML,在语义上,模型是元模型的实例。定义表达模型所用语言的模型即是元模型,它定义了UML模型的结构。4UML的建模工具一共13种图形,被分为两大类,如图2-1所示:图2-1 UML建模工具图第3章 需求分析第3章 需求分析3.1 系统概述ATM银行自动取款机系统,提供了银行卡持有者进行存取款、转账、查询余额、修改密码等相关功能操作,向用户提供了一个方便、简单、方便操作、及时、可以不限时间存取款的现代计算机化的网络系统。其功能很大程度的人力资源的开销,同时由于手续程序减少减少了业务员的工作量,有效地提高了银行整体的工作效率和精准度。也减少了用户办理业务的等待时间;使用户不用一味的在柜台办理业务,也不用在下班时间苦恼银行已经下班,用户可以不限时间地点的存取款,并且操作简单易懂且安全。自动取款机(ATM)是一台机器,银行卡持有者可以通过它完成大量的金融交易事务。用户插入银行卡到自动取款机,系统读取磁卡的信息并提示用户输入银行卡密码,用户输入密码远程地获取银行数据库中该账户的密码,然后进行验证。若三次密码输入错误,则进行吞卡处理并打印吞卡凭条,用户可凭借凭条信息去银行柜台办理业务;若两者比较是一致的,则用户可进行一系列的业务操作,若用户输入取款数额,系统则分发现金并询问用户是否打印取款凭条并且用户可以选择继续服务或退卡等相关操作,同时更新数据库,包含这次业务信息的操作时间、ATM 机编号、事务类型、金额等信息。3.2 系统的功能需求对于系统用户来说主要使用的功能有:取款功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行取款操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。自动取款机余额不足或者取款金额超过每日限额时,系统错误信息显示,用户重新输入取款金额;取款之后,用户可以进行打印凭条操作。存款功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行存款操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。如果用户存入的人民币存在假币或有折叠的,系统会提示取出假币,用户可重新放入。存款成功后,用户可以选择进行打印凭条操作。查询余额功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行账户查询操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。查询之后,用户可以进行打印凭条操作。转账功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行转账37第3章 需求分析操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。如果目的账户输入错误,则会提示错误;如果转账金额超过每日限额或账户余额不足,系统提示信息,用户可重新输入;转账之后,用户可以进行打印凭条操作。修改密码功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行修改密码操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。如果在修改密码时输入的原密码错误次数超过限制,系统进行退卡处理;如果用户两次输入的新密码不一致,系统错误信息提示,用户可以重新输入;修改密码之后,用户可以进行打印凭条操作。查看记录功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行查看记录操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。查看记录之后,用户可以进行打印凭条操作。充话费功能:银行卡持有者将银行卡插入ATM,通过身份验证后,可以进行话费充值操作;如果用户身份验证错误,且输入密码错误连续超过限制的3次,系统进行吞卡处理。如果充值金额查过账户余额或者账户每日限额,系统提示错误信息,用户可重新输入;话费充值之后,用户可以进行打印凭条操作。3.3 系统的性能需求在银行自动取款机系统中,需要满足以下几条性能需求: (1)实用性。银行自动取款机系统要处理的是基于银行自助服务业务,包括基本的存款、取款、转账等,系统应最大程度地满足用户自助服务的需要,不仅要考虑到系统的操作界面,还应考虑到系统对数据的处理以及与数据库数据的交互,应以满足用户要求的银行业务需求为第一要素。系统实现旳功能要能在日常事务处理中得到充分的利用,以降低开发的成本,并从实际出发,专注于业务实用性。 (2)可扩展性。为了适应未来用户需求的变化,系统功能应具有良好的可扩展性,可以比较容易地实现服务的升级更新和应用的扩展。系统开发应尽量减少模块间的依赖关系,从而为系统扩展减少不必要的操作成本。应使系统可以较轻松地集成新的应用,较容易地分解开数据和应用程序。 (3)易用性。系统实现不仅要考虑到功能的完整性,也应该考虑到功能的易用性,因为系统面向的用户不可能全部是计算机操作熟手,所以一个功能在系统中应以最简单明了的方式体现出来,使任何用户都能很快地使用功能。 (4)安全性。系统的安全性随着病毒类型的不断增多,系统很容易受到病毒的入侵,最终导致数据的破坏或丢失,严重的会出现硬件的损坏,所以加强系统的安全性是必须的。为了进一步的提高银行自动柜员机系统的安全性,需要从几个方面进行安全性保障。数据安全性:系统数据信息保存在数据库表中,要对数据安全性进行加第3章 需求分析强,需要保证数据库系统的安全。而主要是通过方为用户权限设置来对安全性提供保障。同时还提供数据加密机制,这样一来更好的保障了数据的安全;系统安全性:主要是通过控制用户的一些权限来提供应用系统的安全性能;操作系统安全性。一般是采用Windows Server 2003或者xp系统,因为这两种系统的稳定性都是非常好的;数据传输安全性:采用加密以及解密机制来进行数据传输来提高数据传输的安全性;网络安全性:主要通过防火墙机制来保障。 (5)稳健性。ATM系统要能根据不同用户的需要从而选择不同的硬件,操作系统,数据库,网络和其他服务器软件,运用服务器集群技术优化应用程序的组成和结构,以确保系统可以正常运行和稳定,降低大规模的用户同时使用的压力,以达到系统在大量用户使用下的稳定。 (6)可重用性。确保该系统满足信息技术的快速发展。从技术上讲,系统应不仅能满足当前的使用,更应该在新技术的产生时,最大限度地与新的技术迸行整合使用。3.4 系统的需求分析3.4.1 系统的基本功能系统的基本功能如下图3-1所示:图3-1 系统基本功能图3.4.2 系统操作流程ATM系统的操作流程如下图3-2所示:第3章 需求分析3-2 系统操作流程图3.5 系统用例建模3.5.1 用例图需求分析后有以下用例:登录、取款、存款、查询余额、转账、修改密码等,具体如下图3-3所示:图3-3用例图3.3.2 用例描述对图3-3用例图中的用例进行用例描述,如下表3-1至表3-8所示:表3-1 登录功能用例描述用例名称登录用例描述银行卡持有者将银行卡插入到自动取款机中,自动取款机进行账户查询验证及密码验证。参与者银行卡持有者前置条件自动取款机空闲,显示欢迎界面。后置条件自动取款机显示服务主界面基本流1)用户将银行卡插入ATM机中。2)系统识别银行卡,读取用户的卡号信息,检查该银行卡有没有被挂失,并提示用户输入密码。3)用户输入密码。4)密码正确,系统显示所有服务,并提示用户选择事务类型,包括取款、查询、转账及修改密码等等。5)用户选择退卡。6)系统退出银行卡。7)用户取走银行卡。8)系统空闲,显示欢迎界面。异常2a)用户插入无效银行卡,系统吐卡。2b)用户插入的银行卡已经被挂失,系统进行吞卡处理。4a)用户输入密码错误 4a.1)在 3 次机会之内重新输入正确。4a.1.1)系统提示用户密码错误,并转至步骤3。 4a.2)3次输入密码错误。 4a.2.1)系统提示用户3次输入密码错误,进行吞卡处理。表3-2取款功能用例描述用例名称取款用例描述银行卡用户将银行卡插入到自动取款机中,账户验证通过后,选择取款业务,提取现金。参与者银行卡持有者前置条件银行卡用户登录成功后置条件客户已经取走现金。基本流1)系统显示所有服务,并提示用户选择事务类型,包括取款、查询、转账及修改密码等等。2)用户选择取款,并输入取款金额。3)系统检查用户的账户余额足够与否,当日的取款总额是否超过账户每日限额、以及系统余额是否足够,所有的检查都合法,系统分发现金。4)用户提取现金并选择打印凭条。5)系统打印凭条,凭条信息包括处理的事务号、事务类型、取款的金额及处理时间等信息。6)用户选择退卡。7)系统退出银行卡。9)用户取走银行卡。10)系统空闲,显示欢迎界面。异常2a)用户取消存款操作。跳转至步骤1。3a)用户当日的取款总额超过账户每日限额,系统提示用户重新输入取款金额,重新回到步骤5。3b)用户取款金额超过账户余额。系统提示用户重新输入取款金额,重新回到步骤5。3c)自动取款机余额不足,抱歉信息显示,跳转至步骤9。注:用户可以在取款基本操作流程中的提取现金之前的任何一步选择退出,跳转至步骤 1。表3-3 查询余额功能用例描述用例名称查询余额用例描述银行卡持有者将银行卡插入到自动取款机中,账户及密码验证通过后,选择查询账户余额,系统显示账户余额信息。参与者银行卡持有者前置条件银行卡用户登录成功。后置条件显示用户查询的账户余额信息。基本流1)显示出系统中的所有服务,并提示用户选择交易类型,包括存取款、查询、转账及修改密码等。2)用户选择查询。3)系统读取账户余额信息并显示。4)用户选择打印凭条。5)系统打印凭条,凭条信息包括处理的事务号、事务类型、账户余额及操作时间等信息。6)用户选择退卡。7)系统退出银行卡。8)用户取走银行卡。9)系统空闲,显示欢迎界面。异常2a)用户取消查询操作。跳转至步骤1。注:用户可以在基本操作流程中显示余额信息之前的任何一步选择退出,转至基本操作流程的步骤 1。表3-4 转账功能用例描述用例名称转账用例描述银行卡持有者将银行卡插入到自动取款机中,账户及密码验证通过后,用户选择转账业务,把资金从一个有效银行账户转到另一个有效账户中。参与者银行卡持有者前置条件银行卡用户登录成功后置条件用户账户资金转移。基本流1)显示出系统中的所有服务,并提示用户选择交易类型,包括存取款、查询、转账及修改密码等。2)用户选择转账,并输入转账金额和目的账户号码。3)如果系统确认用户的源账户余额足够,则进行转账处理,并显示账户余额。4)用户选择打印凭条。5)系统打印凭条,凭条信息包括处理的事务号、事务类型、转账金额、账户号码及操作时间信息。6)用户选择退卡。7)系统退出银行卡。8)用户取走银行卡。9)系统空闲,显示欢迎界面。异常2a:用户取消转账操作,跳转至步骤1。2a:目的转账无效,系统提示错误信息,跳转至步骤2。2b:源账户中余额不足,系统提示错误信息,跳转至步骤2。2c:超过账户每日限额,系统提示错误信息,跳转至步骤2。注:用户可以在转账基本操作流程中转账成功之前的任何一步选择退出,跳转至步骤1。用例名称存款用例描述银行卡持有者将银行卡插入到ATM中,账户及密码验证成功,选择存款业务,将资金存入账户中。参与者银行卡持有者前置条件银行卡用户登录成功后置条件用户的账户存入资金。基本流1)显示出系统中的所有服务,并提示用户选择交易类型,包括存取款、查询、转账及修改密码等。2)用户选择存款,并放入现金。3)如果系统确认放入现金正确,则显示现金数目。4)用户确认现金数目。5)系统进行存款处理,并显示账户余额。6)用户选择打印凭条。7)系统打印凭条,凭条信息包括处理的事务号、事务类型、存款金额及操作时间等信息。8)用户选择退卡。9)系统退出银行卡。10)用户取走银行卡。11)系统空闲,显示欢迎界面。异常2a)用户取消转账操作。跳转至步骤1。2a)用户放入现金有假币、折损或数额不是整百。 2a.1)用户不继续存放现金。2a.1.1)系统提示取出不符合的现金。2a.1.2)用户取出不符合现金,并确认现金数目。跳转至步骤5。 2a.2)用户继续存放现金。2a.2.1)系统提示取出不符合的现金。2a.2.2)用户取出不符合现金,并选择继续存款,放入现金,跳转至步骤2。表3-5 转账功能用例描述 注:用户可以在基本操作流程中的存放现金之前的任何一步选择退出,转至基本操作流程的步骤 1。表3-6 修改密码功能用例描述用例名称修改密码用例描述银行卡持有者将银行卡插入到自动取款机中,账户及密码验证通过后,选择修改密码。参与者银行卡持有者前置条件银行卡用户登录成功后置条件用户的账户密码修改成功。基本流1)显示出系统中的所有服务,并提示用户选择交易类型,包括存取款、查询、转账及修改密码等。2)用户选择修改密码,并填入原密码。3)系统提示输入新密码。4)用户输入两次新密码。5)系统显示修改密码成功。6)用户选择打印凭条。7)系统打印凭条,凭条信息包括处理的事务号、事务类型及操作时间等信息。8)用户选择退卡9)系统退出银行卡。10)用户取走银行卡。11)系统空闲,显示欢迎界面。异常2a)用户取消修改密码操作。2a)用户输入密码错误 2a.1)在 3 次机会之内重新输入正确。2a.1.1)系统提示用户密码错误,并转至步骤2。 2a.2)3次输入密码错误。 2a.2.1)系统提示用户3次输入密码错误,进行吞卡处理。4a)用户两次输入新密码不相同。系统提示错误信息,跳转至步骤3。注:用户可以在修改密码基本操作流程中密码修改成功之前的任何一步选择退出,跳转至步骤 1。表3-7 查看记录功能用例描述用例名称查看记录用例描述银行卡持有者将银行卡插入到ATM中,账户及密码验证正确,用户选择查看转账记录,系统根据用户操作显示账户记录。参与者银行卡持有者前置条件银行卡用户登录成功后置条件系统显示账户记录。基本流1)显示出系统中的所有服务,并提示用户选择交易类型,包括存取款、查询、转账及修改密码等。2)用户选择查看记录, 2.1)用户选择转账记录,并输入查询的时间段。 2.2)用户选择存款记录,并输入查询的时间段。 2.3)用户选择取款记录,并输入查询的时间段。3)系统列出该时间段的记录。4)用户选择打印凭条。5)系统打印凭条,凭条信息包括处理的事务号、事务类型及操作时间等信息。6)用户选择退卡。7)系统退出银行卡。8)用户取走银行卡。9)系统空闲,显示欢迎界面。异常2a)用户取消查看转账记录操作,跳转至步骤1。2b): 用户输入时间段不正确(起始日期后于结束日期,起始日期或结束日期超前系统日期),系统显示错误信息,跳转至步骤2。注:用户可以在查看记录基本操作流程中记录显示之前的任何一步选择退出,跳转至步骤1。表3-8话费充值功能用例描述用例编码1-8用例名称话费充值用例描述银行卡用户将银行卡插入到ATM中,账户及密码验证正确后,选择充费,输入手机号及金额,给手机充话费。参与者银行卡用户前置条件自动取款机空闲,显示欢迎界面。后置条件用户账户金额减少,手机话费增多。基本流1)显示出系统中的所有服务,并提示用户选择交易类型,包括存取款、查询、转账及修改密码等。2)用户选择充话费,并输入手机号码。3)系统显示手机账户欠费信息。4)用户输入充值金额。6)系统显示充值信息。7)用户确认信息,并选择打印凭条。8)系统打印凭条,凭条信息包括处理的事务号、事务类型、充值金额及操作时间等信息。9)用户选择退卡。10)系统退出银行卡。11)用户取走银行卡。10)系统空闲,显示欢迎界面。异常2a)用户取消充话费操作,跳转至步骤1。2b)用户输入手机号码无效,系统提示错误信息,重新输入手机号码,跳转至步骤2。4a)账户余额不足,系统提示错误信息,跳转至步骤4。4b)超过账户每日限额,系统提示错误信息,跳转至步骤4。 注:用户可以在话费充值基本操作流程中话费充值成功之前的任何一步选择退出,跳转至步骤1。第4章 系统分析与设计4.1系统类图设计系统中所需的类有:Bank, BankCard, Customer, Account, Transaction, Deposit, Withdraw, Transfer等,具体如下图4-1所示:图4-1 类图4.2 用例分析4.2.1 登录用例分析主要的交互过程描述:1. 用户给ATM边界类发送银行卡号2. 控制类调用实体类方法验证银行卡,判断其是否挂失;3. 用户给ATM边界类发送密码,4. 控制类调用实体类进行账户密码验证;验证正确后,即可进入服务主界面。具体描述如图4-2所示:第4章 系统分析与设计图4-2 登录用例分析图4.2.2 取款用例分析主要的交互过程描述:1.用户给ATM边界类发送取款金额;2.控制类调用实体类方法处理取款业务;3.用户给ATM边界类发送打印凭条消息,4.控制类调用实体类方法进行凭条消息显示;5.用户给ATM边界类发送退卡消息;6.边界类传递消息给控制类进行退卡处理。具体描述如图4-3所示:图4-3 取款用例分析图4.2.3 查询余额用例分析主要的交互过程描述:1.用户给ATM边界类发送查询余额消息;2.边界类传递消息给控制类,控制类调用实体类方法处理查询余额业务;3.用户给ATM边界类发送退卡消息;4.边界类传递消息给控制类进行退卡处理。具体描述如图4-4所示:图4-4 查询余额用例分析图4.2.4 转账用例分析主要的交互过程描述:1.用户给ATM边界类发送转账账号消息;2.边界类传递消息给控制类,控制类调用实体类方法显示目的账户信息;3.用户给ATM边界类发送转账金额消息;4.边界类传递消息给控制类,控制类调用实体类方法处理转账业务;5.用户给ATM边界类发送打印凭条消息,6.控制类调用实体类方法进行凭条消息显示;7.用户给ATM边界类发送退卡消息;8.边界类传递消息给控制类进行退卡处理。具体描述如图4-5所示:第4章 系统分析与设计图4-5 转账用例分析图4.2.5 存款用例分析主要的交互过程描述:1.用户给ATM边界类发送存款金额消息;2.边界类传递消息给控制类,控制类调用实体类方法处理存款业务;3.用户给ATM边界类发送打印凭条消息,4.控制类调用实体类方法进行凭条消息显示;5.用户给ATM边界类发送退卡消息;6.边界类传递消息给控制类进行退卡处理。具体描述如图4-6所示:第3章 需求分析图4-6 存款用例分析图4.2.6 修改密码用例分析图主要的交互过程描述:1.用户给ATM边界类发送新密码信息;2.边界类传递消息给控制类,控制类调用实体类方法处理修改密码业务;3.用户给ATM边界类发送退卡消息;4.边界类传递消息给控制类进行退卡处理。具体描述如图4-7所示:第4章 系统分析与设计图4-7 修改密码用例分析图4.2.7 查看交易记录用例分析主要的交互过程描述:1.用户给ATM边界类发送查看记录及日期消息;2.边界类传递消息给控制类,控制类调用实体类方法显示交易记录;3.用户给ATM边界类发送退卡消息;4.边界类传递消息给控制类进行退卡处理。具体描述如图4-8取款记录、图4-9存款记录及图4-10转账记录所示:图4-8查看取款记录用例分析图图4-9查看存款记录用例分析图图4-10查看转账记录用例分析图4.2.8 充话费用例分析主要的交互过程描述:1.用户给ATM边界类发送手机号码消息;2.边界类传递消息给控制类,控制类调用实体类方法提取手机欠费信息;3.用户给ATM边界类发送充值金额小心;4.边界类传递消息给控制类,控制类调用实体类方法处理话费充值业务;5.用户给ATM边界类发送打印凭条消息,6.控制类调用实体类方法进行凭条消息显示;7.用户给ATM边界类发送退卡消息;8.边界类传递消息给控制类进行退卡处理。具体过程如图4-11所示:第4章 系统分析与设计图4-11话费充值用例分析图4.3 数据库设计4.3.1 E-R图数据库的E-R图如下图4-12所示:图4-12 E-R图4.3.2 数据库逻辑结构设计数据库中一共有8个表:银行信息表、银行卡信息表、用户信息表、账户信息表、账单信息表、存款记录表、取款记录表、转账记录表;具体个表属性如下表4-1至表4-8所示:表4-1 银行信息表列名数据类型允许Null值中文名bankIDVarvhar(50)银行号bnameVarvhar(50)银行名baddressVarvhar(50)银行地址bphoneVarvhar(50)银行电话bprincipalVarvhar(50)银行负责人表4-2 银行卡信息表列名数据类型允许Null值中文名cardcodeVarvhar(50)银行卡号cardtypeVarvhar(50)银行卡类型customerIDint用户IDcnameVarvhar(50)用户名opentimedatetime办卡时间bnameVarvhar(50)银行名islostint是否挂失表4-3 用户信息表列名数据类型允许Null值中文名customerIDVarchar(50)用户idcnameVarchar(50)用户名sexnchar(10)性别ageint年龄identityNumVarchar(50)身份证号cardcodeVarchar(50)银行卡号cphoneVarchar(50)联系方式caddressVarchar(50)地址表4-4 账户信息表列名数据类型允许Null值中文名accountIDVarchar(50)账户号anameVarchar(50)账户名balancemoney余额passwordVarchar(50)密码customerIDVarchar(50)用户名cardcodeVarchar(50)银行卡号bankIDint银行号opentimedatetime开户时间limitmoney剩余每日限额表4-5 账单信息表列名数据类型允许Null值中文名transaIDint账单号cardcodeVarchar(50)银行卡号typeVarchar(50)业务类型timedatetime业务时间moneymoney交易金额addressVarchar(50)交易地址表4-6 存款记录信息表列名数据类型允许Null值中文名depositIDint存款记录号cardcodeVarchar(50)银行卡号dmoneymoney存款金额dtimedatetime存款时间daddressVarchar(50)存款地点transaIDint账单号表4-7 取款记录信息表列名数据类型允许Null值中文名withdrawIDint取款记录号cardcodeVarchar(50)银行卡号moneymoney取款金额timedatetime取款时间addressVarchar(50)取款地点transaIDint账单号表4-8 转账记录信息表列名数据类型允许Null值中文名withdrawIDint转账记录号sourcecodeVarchar(50)原银行卡号descodeVarchar(50)目的银行卡号moneymoney转账金额timedatetime转账时间addressVarchar(50)转账地点transaIDint账单号第5章 功能实现第5章 功能实现5.1系统主界面本系统是在WindowsForm下实现仿真的;系统主界面主要显示终端机的主要功能、以及开始操作提示。系统主界面中有一个Lable控件、一个textbox控件、一个由许多按钮组成的键盘(panel控件)、一个Image控件和一个单独的button控件。具体的实现结果如下图5-1所示:图5-1系统主界面5.2登录功能实现登录功能分为验证账户和验证密码两部,具体如下:1.按钮“插卡”的Click事件:将Lable控件内容变化,并将textbox中的银行卡号传递给函数CheckCard(cardcode),进行卡号验证是否挂失;按钮“插卡”文本变为“退卡”;textbox文本清空。2.输入密码,简易键盘中“确定”按钮Click事件实现验证密码:将卡号及密码传递给函数isLogin(cardcode,password),验证密码;正确时将服务菜单panel设为可见panelOper.Visibal=true;具体的实现结果如图5-2及图5-3所示: 图5-2 输入密码界面 图5-3密码正确具体函数调用过程如图5-4所示:图5-4 登录实现时序图5.3取款功能实现取款功能的实现具体有两个Button事件,其中一个为传递取款金额信息,另一个为具体的处理取款业务,具体如下:1. 选择“取款”按钮,其Click事件:l_maind的text设为“请输入取款金额”;从键盘中输入金额给t_message(如图5-5中的“100”),在此判断输入的金额是否为整百的倍数;2. 在简易键盘“确定”按钮的Click事件中实现取款,具体实现过程说明如下:调用函数balance(accountID)获取余额,判断是否余额不足;调用函数selectLimit(accountID)获取每日限额,判断是否超额;调用函数updateBalance(accountID,money)更新余额;调用函数saveTransaction(cardcode,type, time, money, address)存储交易记录;调用函数withdrawInsert(cardcode, money, time, address, transaID)存储取款记录信息;调用函数updateLimit(accountID,limit)更新每日限额。l_maind的text设为“操作结果”,t_message的text设为“操作成功!取款金额为100元”(其中的“100”由用户取款的金额决定);具体的实现结果如图5-5及图5-6所示:图5-5 输入取款金额界面 图5-6 取款操作完成具体函数调用如图5-7所示:图5-7 取款功能具体时序图5.4查询余额功能实现选择“查询余额”按钮,Click事件:l_maind的text设为“你的余额是”;t_message的text为函数调用返回的值,如图5-8中的“3200.00”;调用函数balance(accountID)获取余额。图5-8 余额显示界面具体函数调用如图5-9所示:图5-9 查询余额功能具体时序图5.5转账功能实现转账功能的实现具体有三个Button事件,其中一个为传递转账目的账户信息,一个为了传递转账金额信息,最后一个为具体的处理转账业务,具体如下:1. 选择“转账”操作,Click事件:l_maind的text设为“请输入目的卡号”;从键盘中输入卡号给t_message,如图5-10中的“2222222222222222222”;2. 点击简易键盘中的“确定”按钮,Click事件实现验证账户功能,具体说明如下:调用函数CheckCard(cardcode)验证卡号合法性;l_maind的text设为“请输入转账金额”,从键盘中输入金额给t_message,如图5-11中的“500”;3. 点击简易键盘中的“确定”按钮,Click事件实现转账功能,具体说明如下:调用函数balance(accountID)获取余额,判断是否余额不足;调用函数selectLimit(accountID)获取每日限额,判断是否超额;调用函数updateBalance(accountID,money)更新余额(再次更新两次,原卡号及目的卡号的余额);调用函数saveTransaction(cardcode,type, time, money, address)存储交易记录;调用函数withdrawInsert(cardcode, money, time, address, transaID)存储取款记录信息;调用函数updateLimit(accountID,limit)更新每日限额。l_maind的text设为“操作结果”,t_message的text设为“操作成功!转账500元”(其中的“500”由用户转账的金额决定)。 图5-10 输入目的卡号界面 图5-11输入转账金额界面图5-12转账成功界面具体函数调用如图5-13所示: 第5章 功能实现 图5-13 转账功能具体时序图5.6存款功能实现存款功能的实现具体有两个Button事件,其中一个为传递存款金额信息,另一个为具体的处理存款业务,具体如下:1.选择“存款”操作,Click事件:l_maind的text设为“请输入存款金额”;从键盘中输入金额给t_message(如图5-14中的“200”);2.点击简易键盘中的“确定”按钮,Click事件实现存款功能,具体说明如下:调用函数balance(accountID)获取余额,判断是否余额不足;调用函数updateBalance(accountID,money)更新余额;调用函数saveTransaction(cardcode,type, time, money, address)存储交易记录;调用函数depositInsert(cardcode, money, time, address, transaID)存储取款记录信息;l_maind的text设为“操作结果”,t_message的text设为“操作成功!存款200元”(其中的“200”由用户存款的金额决定);具体的实现结果如图5-14及图5-15所示:图5-14 输入存款金额界面 图5-15存款成功界面具体函数调用如图5-16所示: 图5-16存款功能具体时序图5.7修改密码功能实现修改密码功能的实现具体有三个Button事件,其中两个都是传递新密码信息,最后一个为具体的处理修改密码业务,具体如下:1.选择“修改密码”操作,Click事件:l_maind的text设为“请输入新密码”;从键盘中输入新密码给t_message(如图5-17所示);2.点击“确定”按钮,Click事件:l_maind的text设为“请再次输入新密码”;从键盘中再次输入密码给t_message(如图5-18所示);3.点击“确定”按钮,Click事件:比较两次输入的密码是否一致;调用函数password(cardcode,newpassword)更新密码;l_maind的text设为“操作结果”,t_message的text设为“修改密码成功”,如图5-19所示; 图5-17输入新密码界面 图5-18再次输入新密码界面图5-19修改密码成功界面具体函数调用如图5-20所示: 图5-20 修改密码功能具体时序图5.8查看记录功能实现1. 选择“查看记录”操作,Click事件:跳转页面至QueryRecord页面;调用函数queryRecord()显示全部交易记录,如图5-21所示:图5-21 查询记录页面2. 点击“存款记录”按钮,Click事件:调用函数queryDeposit()显示存款记录,如图5-21所示;图5-21存款记录显示界面3. 点击“取款记录”按钮,Click事件:调用函数queryWithdraw()显示取款记录,如图5-22所示;图5-22取款记录显示界面4. 点击“转账记录”按钮,Click事件:调用函数queryTransfor()显示转账记录,如图5-23所示;图5-23转账记录显示界面具体函数调用如图5-24所示:图5-24 查询记录功能具体时序图第6章 结论本文首先对ATM的现状进行了简单的介绍,然后简单介绍了系统的开发工具以及相关技术,其次对系统进行基于UML建模的需求分析、又在需求分析的基础上对各个模块进行了设计(类图,时序图),对系统进行了整体的介绍,再然后详细设计了系统的各个功能模块,分别为登录模块、取款模块、查询余额模块、转账模块、存款模块、修改密码模块、查看记录模块、话费充值模块等。本文不仅完成了基本的功能,同时也满足了该系统的一些性能要求,例如:安全性:系统中所有的涉及密码的模块,会将相应的内容设置为*,以及密码输入错误3次就会进行吞卡处理等,保证其安全操作;准确性:存款取款的金额数保证准确。本文基于UML设计,严格按照UML进行需求分析以及设计实现。需求分析阶段主要从用例入手,画出用例图,并且对每个用例进行了详细的描述;之后进行设计,有类图和时序图,二者相互完善,最后根据这些分析与设计进行的编码。本文还存在一些不足与缺陷,没有考虑到很多问题,例如系统的界面没有很好的优化,系统的其他功能:交水电费、话费充值等还没有仿真实现;这些问题需要进一步的完善和改进。参考文献参考文献1 郑琦.银行自动柜员机系统的分析与设计T:(硕士学位论文).云南:云南大学,2012.2 孙玉国.ATM系统的面向对象系统分析:(硕士学位论文) 20123 Joseph Sack.SQL Server 2005范例代码查询辞典.北京:人民邮电出版社,2008.6.4 袁涛.统一建模语言UML.北京:清华大学出版社,2009.55 陈建伟,张波.Visual C#2010程序设计教程。北京:清华大学出版社,2012.66 王珊,萨师煊.数据库系统概论(第四版).北京:高等教育出版社,2006.57 曹卫东.数据库系统原理实验指导书.天津:中国民航大学,20118 Delaney,K.,Paul S.Randal,et al.深入解析SQL Server 2008.北京:人民邮电出版社,2010.79 Chandler, E.,Carlisle, M,et al.Contemporary Ergonomics and Human Factors 2013, p 339-342, 2013, Contemporary Ergonomics and Human Factors 2013致 谢经过两个多月的忙碌与努力,我的毕业设计终于要完成了!在此,我要首先要感谢的就是我的毕业设计指导老师霍纬纲老师,老师对于我论文的严格的进行了指导,从我的选题开始到答辩,老师一直督促着我,阶段性的完成任务,并且在此过程中,每周进行一次交流,包括毕设的一些问题、找工作的事等。在老师的耐心的指导下,我才得以顺利的完成这次毕业设计,对此,我对霍纬纲老师致以最诚挚的敬意和表示衷心的感谢。同时也要感谢在大学期间传授我知识的各位老师,是你们为我答疑解惑,让我收获了那么多的专业知识,提高了我的专业技能。感谢我的同学和舍友,有了你们,我们一起交流知识,一起谈心,一起学习,共同进步。你们不仅让我收获了友谊,还有人生的感悟。是你们的鼓励与支持,让我走到了今天。最后,感谢百忙之中审阅我论文的各位老师。I附录:外文翻译资料附录:外文翻译资料Design Patterns in Object Oriented Analysis and Design (Source From:Software Engineering and Service Science (ICSESS), 2011 IEEE 2nd International Conference on10.1109/ICSESS.201

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论