系统分析与设计案例模拟atm机_第1页
系统分析与设计案例模拟atm机_第2页
系统分析与设计案例模拟atm机_第3页
系统分析与设计案例模拟atm机_第4页
系统分析与设计案例模拟atm机_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

i摘 要二十世纪末,随着金融服务的迅速发展,银行提款机已经发展成了各大银行金融服务战略中的重要一环,同时,银行提款机系统也经历了持续的更新换代,为广大用户提供了更加便捷和人性化的服务。模拟 ATM 系统就是对提款机操作系统在个人 PC 上及主流操作平台上的编程实现,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发制作两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用,界面友好等特点。本系统采用 VB6.0,微软 SQLSERVER2005,实现了用户身份的认证、取款、转帐、交易明细的查询等功能。分析并解决实现中遇到的若干问题,例如数据库资料如何实现更新,文本框的文字输出需要用到什么技术,如何实现中英文两种界面,用户服务功能如何实现等等。关键词: 模拟 ATM 银行系统;ADO 控件;VB6.0;SQLSERVER2005iiAbstractAt the end of the 20th century, as the fast development of financial services, ATM machines have become the major part of the financial services strategy of every bank, bank teller system has undergone a continuous upgrading, supplied a more efficient and human services for the customers. ATM simulation system is the operating system of personal teller machines on the PC platform and the mainstream of programming. The development includes two aspects. The one is establishment and maintenance of background database, the other is development of front-end applications. The former requires establishing a consistency and integrity of strong data security for good. And for the latter demands the application functions are perfect, and easy-to-use and friendly interface, and other features. The ATM system describes the structure and function module of the entire layout of the system; The system realized the user authentication, withdrawals, transfers, details of the transaction inquiries, with the Visual Basic 6.0, Microsoft SQL SERVER2005; The system analyzed and resolved encountered umpteen issues in the realization, for example, how to realize the database updated, whats the necessary technology is to realize the text areas outputting, how to realize the English and Chinese interfaces ingeniously, and how to realize user services functions and so on.Key words: ATM simulation system ; ADO; VB6.0 ; SQLSERVER2005目 录摘 要 .IABSTRACT.II第 1 章 引言 11.1 ATM 起源 11.2 模拟 ATM 系统的意义 .11.3 模拟 ATM 系统开发平台简介 .2第 2 章 系统需求分析 72.1 系统目标 72.2 需求定义 72.3 功能说明 72.4 性能要求 82.5 数据流程图 9数据流程图如下所示。 9第 3 章 系统开发设计 133.1 系统开发主要应用技术 133.2 代码设计 133.3 后台数据库设计 14第 4 章 系统功能的实现 194.1 欢迎界面实现 194.2 登陆的实现 204.3 主界面实现 234.4 查询余额功能的实现 244.5 取款功能的实现 254.6 转账功能的实现 264.7 密码修改功能的实现 304.8 查询交易明细功能的实现 324.9 其余界面及函数 33第 5 章 系统运行结果及工作总结 355.1 系统测试及运行结果 355.2 系统中遇到的问题及解决方法 355.3 工作小结 35参考文献 37第 1 页 共 26 页第 1 章 引言随着时代的进步,社会生产力高速发展,新技术层出不穷,信息量急剧膨胀,整个人类社会已成为金融化信息化的社会,并开始朝着自动化智能化发展。以往人们去银行存款取款进行各种财务处理都必须通过柜台,随着越来越多的人们进入银行,使用银行的服务,使银行出现了工作效率低,顾客等待时间过长等等问题,既加大了银行工作人员的工作量,又使得人们享受银行服务的质量大幅度降低,所以银行交易的自动化智能化已经成为了一个不可逆转的趋势,而且必将成为各个银行今后发展的重点。系统在前台采用了 Visual Basic6.0 这一功能全面,方便易学的语言作为开发语言,而后台则用功能强大的 SQLSERVER2005 数据库加以实现。 1.1 ATM 起源现代意义上的 ATM 和 POS 系统始于二十世纪 60 年代末。最早的 ATM 机只是现钞发放机。1976 年,英格兰的巴克莱银行安装了第一台现钞发放机。它并没有使用磁条卡,而是向用户发行纸券,用户将纸券插入机器,取出面值为10 英镑的钞票。现代 ATM 机的想法来自于唐维泽尔。1968 年,当他在达拉斯银行排队等候的时候,萌发了这个想法。之后,他建议自己的雇主 Docutel 研制这种机器。研发中最重要的过程是将信息加密后存储在磁条上,然后将磁条加在塑料卡片上。研制成功后,Doctuel 将 ATM 机卖给了纽约化学银行。 1969年,化学银行把这个机器安装在洛克菲勒中心的办公室。虽然 Docutel 的 ATM机器使用了现代的磁条技术,但和今天的技术相比,还是显得比较原始。它只能用于取现钞,而且只能脱线使用。机器用特殊的方法打印下交易的纪录。直到 20 世纪 70 年代初,ATM 技术才发展到我们今天的水平。起初, ATM 主要用来处理信用卡,到了 1972 年,克里夫兰城市国家银行成功地引进了一种可在ATM 机上使用的没有透支功能的卡片。如今,ATM 机发展了更多功能,包括存钱、支票和储蓄账户之间相互转账,付款等等。同时,ATM 实现了与计算机相连接,使客户可以实时地了解账户余额和支付情况。多台 ATM 机与银行主机相连,就逐渐形成了 ATM 网络。1.2 模拟 ATM 系统的意义1.2.1 现实意义目前全球共有 ATM 超过 120 万台,平均每 5 分钟新增一台,连南极科考基第 2 页 共 26 页地都安装了 ATM,每年通过这些机器进行的金融交易超过 400 亿笔。从这些数据可以看出银行自动提款机已经进入了人们的日常生活,我们对自助式服务已经不再陌生,并成为了人们日常生活习以为常的一部分,确实的给人们的生活带来了极大的便利。经过了近 40 年的发展,ATM 也取得了长足的进步,从早期的纸券取钱,到现在的一卡在手,ATM 机也从早期的简单机器,后期的系统集成式机器,发展成了如今的基于个人 PC 上操作系统下的智能化系统,拥有了更多更全更加方便的功能。随着个人 PC 的快速发展,越来越多的 ATM 机逐步替换为了 PC 机,也采用了基于 WINDOWS XP 系统下的操作系统,具有了更加人性化,更加友好的操作界面,也具有了更快的响应速度,这也使得各个银行之间的 ATM 操作平台有了逐步统一的可能,加强各银行的服务联系,使客户跨行进行 ATM 交易将更加便捷,资费也能够得到降低。本次开发的 ATM系统就是基于 WINXP 系统下的具有友好界面的软件系统。1.2.2 开发的意义开发一个软件系统,从需求分析到流程图的绘制及模块的分析,再到最后的数据库设计 及代码的编写实现都要自己动手一步一步的来解决完成,这个过程对于自己在大学所学的知识是一个非常好的检验,对动手能力及思维能力也是一次非常好的锻炼。希望通过此次的研究学习,认清自己的不足之处,不断的去学习完善自己的理论知识,逐步提高动手能力,为以后的工作打下坚实的基础。 。Comment 木木木木1: 1模拟 ATM系统开发平台简介1.3.1 Windows下的 Visual Basic 编程环境简介1.3.1.1面向对象的编程微软公司的 Visual Basic 6.0是 Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性 1。故而,实现本系统 VB是一个相对较好的选择。1.3.1.2Visual Basic 6.0特点介绍Vsual Basic6.0是一种可视化的、面对对象和调用事件驱动方式的结构化高级程序设计,可用于开发 Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与 Windows的专业开发工具 SDK相媲美,而且程序开发人员不必具有 C/C+编程基础。在 Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows内部的应用程序接口(API)函数,以及动态链接库(DLL) 、动态数据交换(DDE) 、对象的链接与嵌入(OLE) 、开放式数据访问(ODBC)等技术,可以高效、快速地开发出 Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic 具有以下特点 2:(1)可视化编程用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把 Windows界面设计的复杂性“封装” 起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“ 部件”,即图形对象,并设置这些图形对象的属性。 Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。(2)面向对象的程序设计Visual Basic应用面向对象的程序设计方法 (OOP),把程序和数据封装起来2作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic 自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。(3)结构化程序设计语言Visual Basic 是在 BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic 语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic 是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic 程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离 Visual Basic 环境,直接在 Windows 环境下运行。(4)事件驱动编程机制Visual Basic 通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。在用 Visual Basic 设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。(5)访问数据库Visual Basic 具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理 Microsoft Access 格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic 还能直接编辑和访问其他外部数据库,如dBASE,FoxPro ,Paradox 等,这些数据库格式都可以用 Visual Basic 编辑和处理。Visual Basic 提供开放式数据连接,即 ODBC 功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如 SQL Server,Oracle 等。在应用程序中,可以使用结构化查询语言 SQL 数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的 SQL 的编程技术,为单机上运行的数据库提供了 SQL 网络接口,以便在分布式环境中快速而有效地实现客户/服务器 (client/server)方案。(6)动态数据交换(DDE)利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中3的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他 Windows 应用程序建立动态数据交换,在不同的应用程序之间进行通信。(7)对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE 技术是Microsoft 公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用 OLE 技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。(8)动态链接库(DLL)Visual Basic 是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将 C/C+或汇编语言编写的程序加入到 Visual Basic 应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用 Windows 应用程序接口(API)函数,实现 SDK 所具有的功能。(9)生成帮助文件及版本信息 专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档。微软的 Help Workshop4.0 是一套独立于Visual Basic 的用来协助我们创建、运行于 32 位 Windows 操作系统下的帮助文件的工具。使用它我们可以为我们编写的应用程序生成一组帮助文件。为了是程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。这些信息包括公司名称、版本号、修订号以及其他类似信息。Visual Basic 允许你使用 APP 对象来保存这些信息,APP 对象是一个预定义对象,不需要在程序中创建它。APP 对象的大多数属性被应用程序用来提供常规的信息,通过使用这些APP 提供的属性,可以在应用程序和用户之间交流重要信息,在项目属性框中可以设置它的属性。4SQLSERVER2005 数据库简介数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational) 。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。 微软 SQLSERVER2005 简介SQL Server 2005 是 Microsoft 公司推出的 SQL Server 数据库管理系统的最新版本该版本继承了 SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行 Microsoft Windows 2005 的大型多处理器的服务器等多种平台使用 3。ADO 是访问由微软推出的最新.功能最强,且容易使用的数据访问实例(OLEDB)的应用程序接口. 我们就是通过它以及创建 Active X 数据对象 VB6.0 与 SQL 数据库二者的连接(ADO)ADO Recordset 来访问 SQLSEVER2005 上的 ODBC 数据源.使用 ADO 控件可以方便的在 VB6 中访问 ODBC 数据库,但是通过直接放置 ADODS 控件来获得 ADO 的数据连接比较麻烦,可以在 VB 工程中创建一个公共数据模块,将ADO 控件的初始化、建立连接、关闭连接等操作都写到函数中,这样就可以在工程的其他模块中共享调用这个 ADO 连接。一次完整的 ADO 调用操作分为如下几个步骤 5:(1)打开 ADO 到数据库的连接,初始化 ADO RECORDSET 集。 (2)通过写入 SQL 语句执行查询并返回查询结果 RECORDSET 集;或者可以通过写入 SQL 语句执行相应数据库操作。 (3)释放 RECORDSET 集,关闭数据库连接。需要注意的是,每个动态创建的 ADO 同时只能被一个过程调用,如果需要进行多表并行操作,可能需要在公共数据模块中建立多个动态 ADO。在本次设计中 ,由于我只设计了一个主模块,所以直接将 ADO 控件的初始化、建立连接、关闭连接等操作都写到了最先调用的身份认证函数中,就已经可以满足我对数据库的访问操作。(1)打开 ADO 到数据库的连接,初始化 ADO RECORDSET 集。 5(2)通过写入 SQL 语句执行查询并返回查询结果 RECORDSET 集;或者可以通过写入 SQL 语句执行相应数据库操作。 (3)释放 RECORDSET 集,关闭数据库连接。需要注意的是,每个动态创建的 ADO 同时只能被一个过程调用,如果需要进行多表并行操作,可能需要在公共数据模块中建立多个动态 ADO。在本次设计中 ,由于我只设计了一个主模块,所以直接将 ADO 控件的初始化、建立连接、关闭连接等操作都写到了最先调用的身份认证函数中,就已经可以满足我对数据库的访问操作。通过 ADO 控件使 Visual Basic 程序与 SQLSERVER 数据库之间架起了一座桥梁,我们可以很方便的通过修改程序中 ADODC 的参数,并通过 SQL 语句来指向数据库的不同部分,从而方便的对数据库进行各种操。6系统需求分析2.1 系统目标ATM 模拟系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统开发的总体任务是实现各种信息的系统化,规范化和自动化。2.2 需求定义作为用户对 ATM 模拟系统的要求有:1. 能按卡号和密码查询卡内的余额、明细等情况。2. 能够方便地取款、转帐、查询。3. 能够查询自己的取款、转帐情况。4. 能够熟悉ATM模拟的使用。2.3 功能说明经过对比真实的银行提款机系统,本系统实现以下内容功能:1.可以选择中文和英文两种语言服务2 身份认证3.密码修改4.取款.5.转帐.6.查询余额.7.查询交易明细其系统流程图如图 2-1 所示:7登录身份验证选择服务查询余额 取款 查询明细 转账 修改密码退出图 2-1 工作流程图2.4 性能要求ATM 业务需保证其正确性,可靠性,效率,完整性,易使用性,可维护性,可测试行,复用性,安全保密性,可理解性,可移植性,互联性。业务流程图如图 2-2 所示:用户身份验证选择服务表查询余额 取款 转帐 修改密码 查询明细退出用户用户操作表管理员查阅8图 2-2 业务流层图2.5 数据流程图数据流程图如下所示。1)顶层数据流程图如下图 3-1储户验证身份错误信息密码选择服务更新帐户查询帐户储户输出信息输出信息正确储户信息图 2-3 顶层数据流程2) 1 层数据流程图如下图 3-29储户验证密码检查帐户选择服务修改密码查询余额查询明细取款 转帐显示出错信息储户密码错误密码无效帐户信息帐户出错的信息查询余额信息查 询明 细信 息取 款信 息转 帐信 息修改密码信息图 2-4 1 层数据流层3) 2 层数据流程图子图如下图: 查询余额显示出错信息产生输出帐户储户现 金帐 单图 2-5 2 层数据流程图(1)10查询明细显示出错信息产生输出帐户储户现 金帐 单图 2-6 2 层数据流程图(2)取款显示出错信息产生输出帐户储户现 金帐 单图 2-7 2 层数据流程图(3)转帐显示出错信息产生输出帐户储户现 金帐 单图 2-8 2 层数据流程图(4)11修改密码显示出错信息产生输出帐户储户现 金帐 单图 2-9 2 层数据流程图(4)12第 3 章 系统开发设计系统开发主要应用技术WINDOWS XP 是时下最流行的电脑操作系统稳定性安全性都非常不错,而随着 ATM 提款机逐步采用个人电脑,以及性能的升级, WINXP 也有了可能成为这些提款机的操作系统,所以本次系统也在 WINXP 下进行开发 6。由于需要开发出前台客户友好界面及后台数据库系统,而对于前台只要能满足其界面开发需要即可,所以我采用了相对简单易用并且功能强大的 VB6.0,后台数据库则采用了与之相连方便且功能同样强大的 SQLSERVER20057。采用以上两个开发软件完全能够满足 ATM 模拟系统的开发需要。系统主要是由前台(客户操作界面)与后台(数据库)两个部分组成。前台部分整个代码程序采用一个主模块,在里面定义程序全局变量,把各种功能函数写入其中,每个界面制作一个独立窗体,在各个窗体代码中来调用主模块中的各个函数来,来实现相应功能。通过可爱的卡通动物也实现了友好亲切的操作氛围。 3.2 代码设计银行代码由 8 位阿拉伯数字组成,前 2 位是发卡号,第 3、4 位是卡类型,第 57 位是发卡城市,第 8 位是校验位。例如:00000001 表示发卡银行是中国人民银行,发卡类型是信用卡,发卡城市是北京,最后一位验证信息正确否。如表 3-1 所示。表 3-1 代码设计表代码名称 卡号代码代码简介 用于银行卡编号,每个银行卡一个号码代码结构发卡银行校验位 发卡城市卡类型发卡银行 XX XX XXX X13后台数据库设计3.3.1 数据库需求分析用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对一般 ATM 系统的需求,通过对 ATM 工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构: 用户信息,属性:卡号,密码,金额,操作时间,操作类型,操作金额,转账卡号主键:卡号 用户操作信息,属性:卡号,操作时间,金额,操作类型,操作金额,转账卡号,是否成功主键:卡号和操作时间数据字典:表 3-1外部项系统名:ATM 机系统 编号:条目名:用户 别名:银行账户输入数据流 输出数据率主要特征:用户,即在本系统中进行存取款操作的银行储户表 3-2加工系统名:ATM 机系统 编号:条目名:取款单 别名:取款信息输入数据流 输出数据率存款金额 剩余金额14加工逻辑:1 用户使用密码登陆系统2 选择操作类型3 用户选择取款操作4 远程数据库计算数据金额并向系统报告简要说明:当选择余额查询业务时,系统显示余额表 3-3加工系统名:ATM 机系统 编号:条目名:存款单 别名:存款信息输入数据流 输出数据率存款金额 剩余金额加工逻辑:1 用户使用密码登陆系统2 选择操作类型3 用户选择存款操作4 用户放入现金5 系统清算现金6 远程数据库计算数据金额并向系统报告简要说明:当选择余额查询业务时,系统显示余额表 3-4数据流系统名:ATM 机系统 编号:条目名:余额信息 别名:来源:ATM 去处:用户数据流结构:卡号+密码+ 用户名用户信息+余额信息+存取款金额+操作进行时间余额信息简要说明:储户的每一次存取款业务,在业务的开始和结束时都要进行余额数据存取记录,并完成余额信息反馈153.3.2 数据库逻辑结果设计通过数据库需求分析,数据库实际上只运用到两个表,一个用户信息表和一个用户操作表。如下所示:(1) 基本信息表 3-5 和表 3-6表 3-5 用户信息表中列名 数据类型 可否为空卡号 Char(10) Not null(主键)密码 Char(10) Not null金额 Float Null操作时间 Datetime Null操作类型 Char(10) Null操作金额 Float Null转账卡号 Char(10) Null表 3-6 用户操作表中列名 数据类型 可否为空时间 Datetime Not null(主键)卡号 Varchar Not null操作类型 Char(10) Null交易金额 Float Null转账金额 Float Null转账卡号 Char(10) Null是否成功 Bool Null经过充分考虑,认为系统并不需要非常复杂的数据库系统就能够达到模拟ATM 系统的效果,所以建立了一个名为 XQQATM 的 SQL 服务器,创建了名为 USER 的数据库,用户登陆名为 sa 密码为空,并在 ODBC 数据源中将 USER数据库添加进去。其中实际上只运用到两个表,一个用户信息表和一个用户操作表。16表 3-7 用户信息表用户信息表(如表 3-7)用以存放用户的卡号,密码,存款金额等信息,由于该系统是为了模拟运用,故安全要求不高,所以密码采用了明文方式存放,便于使用查看。本次模拟系统并不具有创建新用户的功能,用户信息表上的内容都是为了模拟而手动添加的样本用户。 表 3-8 用户操作表17用户操作表(如表 3-8)则用来记录用户在 ATM 机上所使用的服务,它包括了所有用户对 ATM 的操作信息,包括时间,操作类型,金额,转帐卡号,成功与否等等。用户查询明细的功能就是通过搜集检索这张表来实现。同时管理人员也可以从这张表上很方便的查阅用户使用情况。当然,真实的银行 ATM系统,其后台的数据库系统肯定是十分庞大的一个系统,对保密性的要求也非常的高,在这次的模拟中当然不可能达到那样的要求。18系统功能的实现欢迎界面实现 图 4-1 欢迎界面在欢迎界面(如图 4-1)我们可以自由的选择两种语言,分别为我们最常用的中文和英语,在这里主模块中定义了一个非常重要的 INT 整型变量 i,通过 i 的值来决定所选择的服务。任意点击一种服务都将进入登陆界面。Private Sub Command1_Click()i = 2 当点中文按钮时,i 的值就被赋为了 2,在后面的操作中,i 的值就将始终为 2,用以区别所选语言服务Unload Form1Form2.ShowEnd SubPrivate Sub Command2_Click()i = 1 点 ENGLISH 按钮时 i 的值赋 1 Unload Form1Form2.ShowEnd Sub19登陆的实现在登陆界面有两种语言可以为用户服务,一是中文,而是英文。选择两种语言的功能和界面背景实际上都是完全一致的,只是语言文字不同。如图 3 为选择中文的界面: 图 4-2 登陆界面(中文)如果点击的是 ENGLISH, 则登陆界面为图 4-2图 4-3 登陆界面(英文)20这里的两个界面并非通过两个窗体单独实现而是共用一个窗体,通过判断i 的值,对 label 中的 CAPTION 进行相应的中文和英文赋值。后面的操作界面同样也是采用这种方法,就不再做英文的界面介绍。这里把默认的语言选择为中文直接在窗体编辑菜单中对 CAPTION 进行了相应赋值。如果为英文则需执行下面的语句,此后的每个界面语言确定及实现都是通过采取这个方法Private Sub Form_Load()If i = 1 Then /判断 i 的值 如果为 1 则进行英文赋值Label1.Caption = “Do you want to continue?Please choose!“Command1.Caption = “other service“Command2.Caption = “Cancel“End IfEnd Sub在窗体中我们首先来判断用户输入的卡号和密码是否符合我们的规定。卡号为8 位密码为 6 位Private Sub Command1_Click() /当我们点下确认按钮时If i = 2 ThenIf Len(Text1.Text) 6 Then / 比较卡号是否为 8 位及密码是否为 6 位Form3.ShowForm3.Label1.Caption = “没有正确输入卡号或密码“Text1.Text = “Text2.Text = “ElseCall Checkuser /这里是调用主模块中的身份验证函数,在后面的窗体实现中都是通过CALL 语句来直接调用相应函数的 End IfEnd If /以下为用户选择英语的代码,和选择中文时是一样的,在后面的介绍中将不在引用英语的代码If i = 1 ThenIf Len(Text1.Text) 6 ThenForm3.ShowForm3.Label1.Caption = “Please Input Correct Cardnumber Or Password“Text1.Text = “21Text2.Text = “ElseCall CheckuserEnd IfEnd IfEnd Sub在主模块 MODEL1 中身份验证函数代码为Public Sub Checkuser() 定义 Checkuser 函数Dim strr As StringSet CON = New ADODB.Connectionstrr = “Provider=SQLOLEDB.1;Password= ;Persist Security Info=True;User ID=sa;Initial Catalog=user;Data Source=XQQATM“/ 这段语句采用了动态连接数据库的方法与数据库 USER 进行连接,采用的是 SQL OLEDB 应用接口。CON.Open strr u = Form2.Text1.Text 把卡号赋给 ustr = “select 密码 from 用户信息 where 卡号 =“ & u & “ /SQL 数据库查询语句,根据卡号把所查询的密码数据放入 str 中Set RS = New ADODB.Recordset /设置 RS 为新的 Recordset 对象RS.Open str, CON, adOpenDynamic, adLockPessimisticIf RS.EOF = True Then /当前记录指针无效,说明不存在这个用户If i = 2 ThenForm3.ShowForm3.Label1.Caption = “ 没有此用户,请检查并重新输入!“u = “ / u 重新设置为空接下来就是比较从所输卡号中取出的密码与用户输入的密码进行比较If Trim(RS.Fields(0) = Trim(Form2.Text2.Text) Then /检验密码是否相同Form4.Show /密码相同转入服务界面RS.Close Unload Form2在窗体中直接通过程序代码调用在模块中的 Checkuser 函数即可,后面的界面都是采用这种方法,都不再进行仔细说明。 22主界面实现图 4-4 服务界面在主界面中(如图 13)有 5 个服务按钮 设置了一个整型变量 j,在点击各种服务的同时,J 也被赋予了不同的数值,用以后面记录用户操作信息,写入数据库。Private Sub Command1_Click()If Option1(0).Value = True Thenj = 1Unload Form4Form5.ShowElseIf Option1(1).Value = True Thenj = 2Unload Form4Form6.ShowElseIf Option1(

温馨提示

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

评论

0/150

提交评论