ATM模拟系统毕业论文.doc

上传人:小小飞 文档编号:26430 上传时间:2018-10-29 格式:DOC 页数:32 大小:1.24MB
返回 下载 相关 举报
ATM模拟系统毕业论文.doc_第1页
第1页 / 共32页
ATM模拟系统毕业论文.doc_第2页
第2页 / 共32页
ATM模拟系统毕业论文.doc_第3页
第3页 / 共32页
ATM模拟系统毕业论文.doc_第4页
第4页 / 共32页
ATM模拟系统毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《ATM模拟系统毕业论文.doc》由会员分享,可在线阅读,更多相关《ATM模拟系统毕业论文.doc(32页珍藏版)》请在三一文库上搜索。

1、1 第一章 前言 第一节 介绍本课题的目的和意义 随着时代的进步,生活节奏的加快,越来越多的人进入银行。在银行业务 量爆炸式增长的时候,ATM 已经开始悄悄的走入人们的生活。ATM 机作为银行服 务的扩展终端,大大的提高了银行离柜业务办理能力,24 小时为客户提供最基 础的银行服务,使得银行客户在面对长长的队伍时有更加主动的选择。ATM 设 备已经成为我们日常生活中不可或缺的重要设备。因此我决定学习了解 ATM 设 备的工作愿意,探究 ATM 机的工作机制,并自行模拟 ATM 系统能。 第二节 国内外发展概况及存在问题 随着银行业务的扩展,业务量的增长,人们的生活和银行连接的越来越紧 密,这个

2、时候银行的长龙开始出现,银行方面不得不投入巨大的来那个人难以 想象的人力和物力来解决个人储户的存取款的问题,在 1969 年汉华银行 (Chemical Bank)的一个广告拉开了这场革命的序幕: “我行将在 9 月 2 日 早晨九点开门后永不关门!”汉华银行在纽约长岛北村街 10 号的洛克维尔中 心(Rockville Centre)设有一家分行。从那天起,凡持该行带磁条塑料卡的 客户再也不用排队等候银行出纳员为他们兑现支票。银行在大街的一面墙上安 装了一台机器,客户可以通过它随时取款。这个时候第一台真正意义上的 ATM 机投入使用,一直到现在,在我国在大街小巷也能看到各个银行的 ATM 柜

3、员机 在工作。 相比国外国内的 ATM 机起步较晚,ATM(Auto Teller Machine)称自动取 款机,实质是一种集光、机、电技术的银行业自动化设备。我国的 ATM 是伴随 着银行卡业务的成长而逐步发展起来的,为了满足持卡人在银行营业时间外也 能够用卡存、取款,银行投资并安装了 ATM,以此提供 24 小时的自助服务。 1987 年 2 月,我国第一台 ATM 在广东珠海投入使用。1993 年我国“金卡工程” 启动后,国内银行对 ATM 需求激增。1998 年,全国 ATM 突破 2 万台。进入 21 世纪后,ATM 数量速度迅猛。到 2007 年底,中国联网 ATM 机已经达到

4、12.3 万 台,近 5 年国内 ATM 设备保有量实现了年均 20.22%的复合增长,整体 ATM 机市 场保有量已经达到 13.8 万台,预计 2011 年会达到 20 万台。ATM 是社会发展过 程中电子技术与银行业务完美结合的产物之一,信息技术的创新推动着 ATM 向 更加智能化和人性化的方向发展。现在的 ATM 机使用方便、界面更加友好,为 广大客户提供了一种便捷的自助服务方式,不但增强了银行服务的灵活性,而 2 且提升了银行的整体形象。 现在国内主要生产厂家有:广电运通、深圳怡化;广州御银、广州广利、深圳新 达通等。虽然起步较晚,但是发展势头良好,在短短的几年之内实现了年均 20%

5、多 的增长率。随着 ATM 机功能的复杂化,界面越来越良好。相信会有更加良好的 发展前景 当然在飞速发展的同时也存在很多的问题 (1)没有树立正确的 ATM 经营发展理念 大部分商业银行是将 ATM 作为形象宣传或者营业网点的补充,没有树立起 一种新的经营理念,对 ATM 缺乏科学管理和经济效益的考核,导致银行在确定 ATM 安装选点时没有考虑经济效益,更多地考虑银行形象和减轻网点人员的工 作压力。 (二)各商业银行对 ATM 管理不规范 首先是银行间管理差距较大,有些商业银行的形象设计不够人性化。有的 银行功能齐全、形象统一,设备维护保养好;但也有的银行功能单一、外观五 花八门,各类操作标识

6、和提示牌随意张贴。其次,对于因 ATM 的设备问题导致 客户遇到错账、出钞故障等的解决处理也没有统一的服务承诺。 (3)ATM 布局不合理 从 ATM 交易量分析,业务量较大的地区主要集中在经济发展热点地区、繁 华商业区、大型居民社区、大型批发市场周边,经常出现排队取款的现象。而 偏远地区和城填的交易量较小。应该实际状况进行调整,交易量多的地区可以 多装,少的地区可以少装或不装,以讲究实效、降低交易成本。 (4)目前 ATM 功能单一、技术安全还待进一步提高 大多数的 ATM 仅有修改密码、查询、取现等功能。随着中间业务的发展, ATM 应开发多种业务,既方便客户也减轻柜台压力。此外,各地 A

7、TM 技术故障 事件屡见报端,如重庆观音桥步行街邮政储蓄 ATM 机取出 48 张同号百元假钞事 件、 “许霆案”等 第三节 相关技术 一 C#3.0 技术简介 C#3.0 在原有的基础上改变了很多,再加上和 VS2008 一起推出,绝对 有理由进入到一般编程爱好者的视野之中 第一个特性:隐式类型化本地变量 这个特性非常简单,有些 JavaScript 的影子,我们可以统一使用使用 3 “var“关键字来声明局部变量,而不再需要指明变量的确切类型了,变量的确切 类型可通过声明变量时的初始值推断出来。这样一来,可以大大简化我们声明 局部变量的工作量了。 第二个特性:匿名类型 有些时候我们需要临时

8、保存一些运算的中间结果,特别是当这些中间结果 是由多个部份组成时,我们常常会去声明一个新的类型,以方便保存这些中间 结果。表面上看起来这很正常,而细想之后就会发现,这个新类型只服务于这 个函数,其它地方都不会再使用它了,就为这一个函数而去定义一个新的类型, 确实有些麻烦。 第三个特性:隐式类型化数组 这个特性是对隐式类型化本地变量的扩展,有了这个特性,将使我们创建 数组的工作变得简单。我们可以直接使用“new“ 关键字来声明数组,后面跟 上数组的初始值列表。在这里,我们并没有直接指定数组的类型,数组的类型 是由初始化列表推断出来的。 第四个特性:对象构造者 我们在声明数组时,可以同时对其进行初

9、始化,这样就省去了很多麻烦, 但是在创建类的对象时,这招可就不灵了,我们要么调用该类的构造函数完成 对象的初始化,要么就手工进行初始化。这两种方法都不太方便,使用构造函 数来对对象进行初始化时,我们为了某种灵活性,可能需要编写构造函数的多 个重载版本,实在是麻烦。C#3.0 中加入的对象构造者特性,使得对象的初始 化工作变得格外简单,我们可以采用类似于数组初始化的方式来初始化类的对 象,方法就是直接在创建类对象的表达式后面跟上类成员的初始化代码。 第五个特性:集合构造者 我们可以在声明数组的同时,为其指定初始值,方法是直接在数组声明的 后面跟上初始值列表。这样就使数组的初始化工作变得简单,而对

10、于我们自己 创建的集合类型,就无法享受到与普通数组一样的待遇了,我们无法在创建自 定义集合对象的同时,使用数组的初始化语法为其指定初始值。 C# 3.0 中加入的集合构造者特性,可使我们享受到与普通数组一样的待遇,从而在创 建集合对象的同时为其指定初始值。为了做到这一点,我们需要让我们的集合 实现 ICollection接口,在这个接口中,完成初始化操作的关键在于 Add 函数,当我使用初始化语法为集合指定初始值时,C#编译器将自动调用 ICollection中的 Add 函数将初始列表中的所有元素加入到集合中,以完 成集合的初始化操作。 第六个特性:Lambda 表达式 C# 2.0 中加入

11、的匿名代理,简化了我们编写事件处理函数的工作,使我 4 们不再需要单独声明一个函数来与事件绑定,只需要使用 delegate 关键字在 线编写事件处理代码。而 C# 3.0 则更进一步,通过 Lambda 表达式,我们可 以一种更为简洁方式编写事件处理代码,新的 Lambda 事件处理代码看上去就 像一个计算表达式,它使用“=“符号来连接事件参数和事件处理代码。我可以 这样写:SomeEvent += 事件参数 = 事件处理代码 ; 第七个特性:扩展方法 当我们需要对已有类的功能进行扩展时,我们通常会想到继承,继承已有 类,然后为其加入新的行为。而 C# 3.0 中加入的扩展方法特性,则提供了

12、另 一种实现功能扩展的方式,我们可以在不使用继承的前提下实现对已有类本身 的扩展,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方 式来完成功能扩展。在对已有类进行扩展时,我们需将所有扩展方法都写在一 个静态类中,这个静态类就相当于存放扩展方法的容器,所有的扩展方法都可 以写在这里面。而且扩展方法采用一种全新的声明方式:public static 返回类 型 扩展方法名 (this 要扩展的类型 sourceObj ,扩展方法参数列表) ,与普 通方法声明方式不同,扩展方法的第一个参数以 this 关键字开始,后跟被扩展 的类型名,然后才是真正的参数列表。 第八个特性:Linq 查

13、询表达式 C# 3.0 中加入的最为复杂的特性就是 Linq 查询表达式了,这使我们可直 接采用类似于 SQL 的语法对集合进行查询,这就使我们可以享受到关系数据查 询的强大功能。Linq 查询表达式是建立在多种 C# 3.0 的新特性之上的 二 ADO.NET 连接数据库技术 1、 Dataset 许多 的工作都是围绕一个对象 dataset 来展开工作的,dataset 是从数据库查询得来的缓存信息。dataset 最革命性的特点是它是无连接的并 且同时可以存储多个表并且可以定义他们之间的关系。 2、 无连接特性 无连接特性是 最重要的特点,在先前的连接都是在代码工作的时 候保持数据库

14、连接,可以保持即时的更新但是它限制了连接的数目。无连接就 不会出现这样的问题。 但是无连接也会带一些新的问题,它很容易造成不一致的更新。但是 提供了一套特性来解决这些问题。 3、 XML 集成 A 很好的支持 XML,当你用 dataset 对象时这个事实可能不是很 明显,那是因为 dataset 的内置方法和属性可以很好的完成你需要管理的数据。 但是如果你深入研究,你将会发现你接触 dataset 中的信息是作为一个 xml 文 5 档。你甚至可以通过修改 XML 来修改值和删除行和增加记录,这个 dataset 会立马更新。 A 的功能主要依赖于一小部分核心对象的集合。可以将这些对象分

15、成两部分: 1、容纳和管理数据的对象(比如 dataset,datatable,datarow,datareleation) 2、用来连接某些数据源(比如 connection,command,datareader 数据容器 对象是完全通用的,无论你使用什么数据源,一旦你提取了数据,都是用同一 个 dataset 类来存储。 第二组对象存在很多不同的形式。数据连接对象的每一个集合都被称为 data provider. Data providers 都是自定义的,所以每一个都用自 己最好的表现方式来连接它形相应的数据源。比如说 SQL Server data provider 是为 SQL S

16、ERVER 7 或以后版本而设计的。在内部,它用 SQL ServersTDS(tabular data stream)协议来进行通信,这样就能保证他最 好的表现形式 常用的编程语言有 C,C+,JAVA 等。 (一) C C 语 言 的 特 点 1. 简 洁 紧 凑 、 灵 活 方 便 C 语 言 一 共 只 有 32 个 关 键 字 ,9 种 控 制 语 句 , 程 序 书 写 自 由 , 主 要 用 小 写 字 母 表 示 。 它 把 高 级 语 言 的 基 本 结 构 和 语 句 与 低 级 语 言 的 实 用 性 结 合 起 来 。 C 语 言 可 以 象 汇 编 语 言 一 样 对

17、 位 、 字 节 和 地 址 进 行 操 作 , 而 这 三 者 是 计 算 机 最 基 本 的 工 作 单 元 。 2. 运 算 符 丰 富 C 的 运 算 符 包 含 的 范 围 很 广 泛 , 共 有 种 34 个 运 算 符 。 C 语 言 把 括 号 、 赋 值 、 强 制 类 型 转 换 等 都 作 为 运 算 符 处 理 。 从 而 使 C 的 运 算 类 型 极 其 丰 富 表 达 式 类 型 多 样 化 , 灵 活 使 用 各 种 运 算 符 可 以 实 现 在 其 它 高 级 语 言 中 难 以 实 现 的 运 算 。 3. 数 据 结 构 丰 富 C 的 数 据 类 型

18、有 : 整 型 、 实 型 、 字 符 型 、 数 组 类 型 、 指 针 类 型 、 结 构 体 类 型 、 共 用 体 类 型 等 。 能 用 来 实 现 各 种 复 杂 的 数 据 类 型 的 运 算 。 并 引 入 了 指 针 概 念 ,使 程 序 效 率 更 高 。 另 外 C 语 言 具 有 强 大 的 图 形 功 能 , 支 持 多 种 显 示 器 和 驱 动 器 。 且 计 算 功 能 、 逻 辑 判 断 功 能 强 大 。 4. C 是 结 构 式 语 言 结 构 式 语 言 的 显 著 特 点 是 代 码 及 数 据 的 分 隔 化 ,即 程 序 的 各 个 部 分 除 了

19、 6 必 要 的 信 息 交 流 外 彼 此 独 立 。 这 种 结 构 化 方 式 可 使 程 序 层 次 清 晰 , 便 于 使 用 、 维 护 以 及 调 试 。 C 语 言 是 以 函 数 形 式 提 供 给 用 户 的 ,这 些 函 数 可 方 便 的 调 用 ,并 具 有 多 种 循 环 、 条 件 语 句 控 制 程 序 流 向 ,从 而 使 程 序 完 全 结 构 化 。 5. C 语 法 限 制 不 太 严 格 、 程 序 设 计 自 由 度 大 一 般 的 高 级 语 言 语 法 检 查 比 较 严 , 能 够 检 查 出 几 乎 所 有 的 语 法 错 误 。 而 C 语

20、 言 允 许 程 序 编 写 者 有 较 大 的 自 由 度 。 6. C 语 言 允 许 直 接 访 问 物 理 地 址 , 可 以 直 接 对 硬 件 进 行 操 作 因 此 既 具 有 高 级 语 言 的 功 能 , 又 具 有 低 级 语 言 的 许 多 功 能 , 能 够 象 汇 编 语 言 一 样 对 位 、 字 节 和 地 址 进 行 操 作 ,而 这 三 者 是 计 算 机 最 基 本 的 工 作 单 元 , 可 以 用 来 写 系 统 软 件 。 7. C 语 言 程 序 生 成 代 码 质 量 高 , 程 序 执 行 效 率 高 一 般 只 比 汇 编 程 序 生 成 的

21、目 标 代 码 效 率 低 10 20%。 8. C 语 言 适 用 范 围 大 , 可 移 植 性 好 C 语 言 有 一 个 突 出 的 优 点 就 是 适 合 于 多 种 操 作 系 统 , 如 DOS、 UNIX,也 适 用 于 多 种 机 型 。 用 法 补 充 : C 语 言 对 操 作 系 统 和 系 统 使 用 程 序 以 及 需 要 对 硬 件 进 行 操 作 的 场 合 , 用 C 语 言 明 显 优 于 其 它 高 级 语 言 , 许 多 大 型 应 用 软 件 都 是 用 C 语 言 编 写 的 。 C 语 言 具 有 绘 图 能 力 强 , 可 移 植 性 , 并 具

22、 备 很 强 的 数 据 处 理 能 力 , 因 此 适 于 编 写 系 统 软 件 , 三 维 , 二 维 图 形 和 动 画 它 是 数 值 计 算 的 高 级 语 言 ( 二 ) JAVA 1 面 向 对 象 : 其 实 是 现 实 世 界 模 型 的 自 然 延 伸 。 现 实 世 界 中 任 何 实 体 都 可 以 看 作 是 对 象 。 对 象 之 间 通 过 消 息 相 互 作 用 。 另 外 , 现 实 世 界 中 任 何 实 体 都 可 归 属 于 某 类 事 物 , 任 何 对 象 都 是 某 一 类 事 物 的 实 例 。 如 果 说 传 统 的 过 程 式 编 程 语

23、言 是 以 过 程 为 中 心 以 算 法 为 驱 动 的 话 , 面 向 对 象 的 编 程 语 言 则 是 以 对 象 为 中 心 以 消 息 为 驱 动 。 用 公 式 表 示 , 过 程 式 编 程 语 言 为 : 程 序 =算 法 + 数 据 ; 面 向 对 象 编 程 语 言 为 : 程 序 =对 象 +消 息 。 所 有 面 向 对 象 编 程 语 言 都 支 持 三 个 概 念 : 封 装 、 多 态 性 和 继 承 , Java 也 不 例 外 。 现 实 世 界 中 的 对 象 均 有 属 性 和 行 为 , 映 射 到 计 算 机 程 序 上 , 属 性 则 表 示 对

24、象 的 数 据 , 行 为 表 示 对 象 的 方 法 ( 其 作 用 是 处 理 数 据 或 同 外 界 交 互 ) 。 所 谓 封 装 , 就 是 用 一 个 自 主 式 框 架 把 对 象 的 数 据 和 方 法 联 在 一 起 形 成 一 个 整 体 。 可 以 说 , 对 象 是 支 持 封 装 的 手 段 , 是 封 装 的 基 本 单 位 。 Java 语 言 的 封 装 性 较 强 , 因 为 Java 无 全 程 变 量 , 无 主 函 数 , 在 Java 中 绝 大 部 分 成 员 是 对 象 , 只 有 简 单 的 数 字 类 型 、 字 符 类 型 和 布 尔 类 型

25、 除 外 。 而 对 于 这 些 类 型 , Java 也 提 供 了 相 应 的 对 象 类 型 以 便 与 其 他 对 象 交 互 操 作 。 2 可 移 植 性 : 就 是 在 这 个 系 统 上 作 的 程 序 经 过 一 次 编 译 后 可 以 移 植 到 别 7 的 系 统 上 解 释 执 行 , 只 要 经 过 简 单 的 粘 贴 和 复 制 就 行 了 , 不 影 响 程 序 的 效 果 3 安 全 性 : 在 iSeries 服 务 器 上 运 行 的 大 多 数 Java(TM) 程 序 是 应 用 程 序 , 而 不 是 applet, 所 以 “砂 箱 ”安 全 性 模

26、 型 对 它 们 不 起 限 制 作 用 。 从 安 全 性 的 观 点 看 , Java 应 用 程 序 所 受 的 安 全 性 限 制 与 iSeries 服 务 器 上 的 任 何 其 它 程 序 相 同 。 要 在 iSeries 服 务 器 上 运 行 Java 程 序 , 您 必 须 对 集 成 文 件 系 统 中 的 类 文 件 具 有 权 限 。 程 序 一 旦 启 动 , 它 就 在 该 用 户 权 限 控 制 下 运 行 。 您 可 以 使 用 沿 用 权 限 来 访 问 具 有 运 行 程 序 的 用 户 的 权 限 和 程 序 拥 有 者 权 限 的 对 象 。 沿 用

27、 权 限 临 时 地 将 用 户 原 先 无 权 访 问 的 对 象 的 权 限 授 予 用 户 。 4 并 发 性 : JAVA 支 持 多 线 程 技 术 , 就 是 多 个 线 程 并 行 机 制 , 多 线 程 是 Java 的 一 个 重 要 方 法 ,特 别 有 利 于 在 程 序 中 实 现 并 发 任 务 .Java 提 供 Thread 线 程 类 ,实 现 了 多 线 程 的 并 发 机 制 .然 而 ,程 序 的 并 发 执 行 必 定 会 出 现 多 个 线 程 互 斥 访 问 临 界 资 源 的 局 面 ,因 而 并 发 系 统 解 决 的 关 键 就 是 对 临 界

28、 资 源 的 管 理 和 分 配 问 题 ,而 在 进 行 临 界 资 源 分 配 时 有 两 方 面 需 要 考 虑 ,即 安 全 性 和 公 平 性 .文 中 首 先 讨 论 了 多 线 程 并 发 系 统 中 的 安 全 性 与 公 平 性 问 题 ,指 出 安 全 性 与 公 平 性 在 并 发 系 统 中 访 问 临 界 资 源 时 的 重 要 性 .并 通 过 火 车 行 驶 单 行 隧 道 的 实 例 ,演 示 各 种 条 件 下 的 行 驶 情 况 来 进 一 步 说 明 该 问 题 。 ( 三 ) Ruby Ruby 语 言 的 主 要 特 点 如 下 。 1 纯 的 面 向

29、 对 象 语 言 在 Ruby 中 , 一 切 皆 是 对 象 。 下 面 举 一 个 例 子 来 更 直 观 地 说 明 Ruby 语 言 的 这 一 特 点 。 在 Java 中 , 求 一 个 数 的 绝 对 值 的 代 码 如 下 。 int c = Math.abs(-20); 而 在 Ruby 语 言 中 , 一 切 皆 是 对 象 , 也 就 是 说 “-20”这 个 数 也 是 一 个 对 象 , 因 此 , 求 一 个 数 绝 对 值 的 Ruby 代 码 形 式 如 下 。 c = -20.abs 这 样 的 代 码 编 写 方 式 是 不 是 更 形 象 一 些 呢 ?

30、2 解 释 型 脚 本 语 言 Ruby 语 言 是 解 释 型 脚 本 语 言 , 它 既 有 脚 本 语 言 强 大 的 字 符 串 处 理 能 力 和 正 则 表 达 式 , 又 不 失 解 释 型 语 言 的 动 态 性 。 一 方 面 , 在 最 初 设 计 Ruby 语 言 时 , Ruby 的 研 发 者 松 本 行 弘 考 虑 到 文 字 处 理 方 面 的 需 要 , 他 借 鉴 了 Perl 语 言 在 文 字 处 理 方 面 的 成 功 经 验 。 另 一 方 面 , 松 本 行 弘 将 Ruby 语 言 设 定 为 一 种 解 释 型 语 言 , Ruby 的 动 态

31、性 使 得 由 Ruby 语 言 编 写 的 程 序 不 需 要 事 先 编 译 即 可 直 接 运 行 , 这 为 程 序 的 调 试 带 来 了 方 便 。 同 时 , 这 一 特 点 可 以 实 现 开 发 过 程 中 的 快 速 反 馈 。 3 其 他 特 点 ( 1) 动 态 载 入 。 可 以 在 运 行 时 候 重 定 义 自 己 , 类 也 可 以 在 运 行 时 继 承 或 取 消 继 承 。 ( 2) 自 动 内 存 管 理 机 制 。 (3) 多 精 度 整 数 。 ( 4) 迭 代 器 和 闭 包 。 ( 5) 开 源 项 目 。 有 大 量 活 跃 的 社 区 支 持

32、 Ruby 语 言 ( 四 ) C+ 8 C+语 言 既 保 留 了 C 语 言 的 有 效 性 、 灵 活 性 、 便 于 移 植 等 全 部 精 华 和 特 点 , 又 添 加 了 面 向 对 象 编 程 的 支 持 , 具 有 强 大 的 编 程 功 能 , 可 方 便 地 构 造 出 模 拟 现 实 问 题 的 实 体 和 操 作 ; 编 写 出 的 程 序 具 有 结 构 清 晰 、 易 于 扩 充 等 优 良 特 性 , 适 合 于 各 种 应 用 软 件 、 系 统 软 件 的 程 序 设 计 。 用 C+编 写 的 程 序 可 读 性 好 , 生 成 的 代 码 质 量 高 ,

33、 运 行 效 率 仅 比 汇 编 语 言 慢 10% 20%。 C+语 言 具 有 以 下 特 点 : (1) C+是 C 语 言 的 超 集 。 它 既 保 持 了 C 语 言 的 简 洁 、 高 效 和 接 近 汇 编 语 言 等 特 点 , 又 克 服 了 C 语 言 的 缺 点 , 其 编 译 系 统 能 检 查 更 多 的 语 法 错 误 , 因 此 , C+比 C 语 言 更 安 全 。 (2) C+保 持 了 与 C 语 言 的 兼 容 。 绝 大 多 数 C 语 言 程 序 可 以 不 经 修 改 直 接 在 C+环 境 中 运 行 , 用 C 语 言 编 写 的 众 多 库

34、函 数 可 以 用 于 C+程 序 中 。 (3) 支 持 面 向 对 象 程 序 设 计 的 特 征 。 C+既 支 持 面 向 过 程 的 程 序 设 计 , 又 支 持 面 向 对 象 的 程 序 设 计 。 (4) C+程 序 在 可 重 用 性 、 可 扩 充 性 、 可 维 护 性 和 可 靠 性 等 方 面 都 较 C 语 言 得 到 了 提 高 , 使 其 更 适 合 开 发 大 中 型 的 系 统 软 件 和 应 用 程 序 。 第二章 系统概述 本 ATM 机模拟管理系统主要实现 ATM 机的取现、查询、转账、修改密码功 能。 第一节 系统及需求分析 一 系统需求: 通过调

35、查,要求系统要有以下功能: (1) 由于操作人员的计算机知识水平参差不齐,要求有良好的人机交互 界面。 (2) 信息显示格式清晰,达到一目了然的效果。 (3) 按钮的位置尽量在醒目位置。 (4) 方便数据查询,支持多条件查询和模糊查询。 二 可行性分析: 经过调查、研究、分析、计算,在 ATM 机模拟系统中的应用已经条件成熟, 我将从以下几个方面总结系统开发的可行性,就具体情况如下: 1技术可行性 以 Windows 为操作系统,运用 SQL SERVER2000 的数据库技术,开发以 9 Windows XP 为用户的操作平台,界面友善、功能齐全的ATM 机模拟系统 。 新系统的运行硬件环境

36、 PC 机,当用户使用系统时,通过正确的用户名及密 码进入系统,进行数据库的维护操作和运用。 2经济可行性 一方面,新系统中有好的人机界面和更强劲的功能支持,会使管理人员的 工作进一步提高,从而节省人力、物力,进而提高经济效益;另一方面,系统 开发成本低,现有 PC 机即可提供该系统开发工作需要的所有硬件设备环境。 3操作可行性 主要使用简单的几个按钮,还有数字键来进行操作,方便简洁。能做到一 目了然。 第二节 系统设计的背景 随着时代的进步,社会生产力高速发展,新技术层出不穷,信息量急剧膨 胀,整个人类社会已成为金融化信 息化的社会,并开始朝着自动化智能化发展。 以往人们去银行存款取款进行各

37、种财务处理都必须通过柜台,随着越来越多的 人们进入银行,使用银行的服务,使银行出现了工作效率低,顾客等待时间过 长等等问题,既加大了银行工作人员的工作量,又使得人们享受银行服务的质量 大幅度降低,所以银行交易的自动化智能化已经成为了一个不可逆转的趋势,而 且必将成为各个银行今后发展的重点。 ATM 机作为银行服务的扩展终端,大大的提高了银行离柜业务办理能力, 24 小时为客户提供最基础的银行服务,使得银行客户在面对长长的队伍时有更 加主动的选择。ATM 设备已经成为我们日常生活中不可或缺的重要设备。因此 我决定学习了解 ATM 设备的工作愿意,探究 ATM 机的工作机制,并自行模拟 ATM 系

38、统能。 第三节 系统的功能简介 经过对比真实的银行提款机系统,同时方便系统程序的使用者,在经过分 析后,本系统需要实现以下的几种任务: 1.两种语言选择:可以选择中文和英文两种语言服务。 2.数据库管理功能:提供一个可直接在前台管理用户信息的界面。 3.身份认证:每个用户对应自己的登录口令。不能修改和查看他人帐号的 内容。 4.密码修改:用户可以对自己的账户口令进行修改。 5.取款:辨认用户输入的取款金额是否正确。 6.存款:辨认用户存入的金额是否正确。 10 7.转帐:与系统中其他用户进行转账,需要对象用户同样存在于数据库中。 8.查询余额:查询自己的余额。 9.查询交易明细:用户可以查询自

39、己账户的过往操作记录,并打印。 以上是本系统在功能呢方面的需求,根据这些需求设计了各个功能模块, 各功能模块的详细设计及实现将在以后章节中进行详细的分析和介绍。 第四节 系统开发的目标 在对现有系统和现状认真调查分析的基础上,明确了 ATM 机模拟系统工作 本身存在的问题和建立管理信息系统的初步要求,进一步研究确定新系统的开 发目标如下: 1 按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持 ATM 工 作的全过程,提高了银行处理业务的能力,提高管理效率。 2 针对现代计算机广泛应用的情况以及数据的封闭性,ATM 机模拟系统基于 Windows 系统研制、设计和开发。 3 考虑经费

40、等原因,新系统使用 PC 机和现有其他打印设备以节省资金,降低成 本。 4 由于这是一个模拟系统所以对安全性方面的考虑较差,数据库为了方便并没 有采取加密方式,实际应用的时候应当注意安全性方面。 11 第三章 系统分析 第一节 业务流程分析 WINDOWS XP 是时下最流行的电脑操作系统稳定性安全性都非常不错,而随 着 ATM 提款机逐步采用个人电脑,以及性能的升级,WINXP 也有了可能成为这 些提款机的操作系统,所以本次系统也在 WINXP 下进行开发。由于需要开发出 前台客户友好界面及后台数据库系统,而对于前台只要能满足其界面开发需要 即可,所以我采用了相对简单易用并且功能强大的 VB

41、6.0,后台数据库则采用 了与之相连方便且功能同样强大的 SQLSERVER2000。采用以上两个开发软件完 全能够满足 ATM 模拟系统的开发需要。 系统主要是由前台(客户操作界面)与后台(数据库)两个部分组成: 业务流程图: 12 用户登陆 身份验证 选择服务 查询余额 取款 转账 修改密码 查询明细 退出 存款 选择语言 管理登陆 管理界面 图 3.1 影院管理系统业务流程图 第二节 数据流程分析 数据流图是在对系统分析调查的基础上,以系统的科学性、管理的合理性、 技术的可行性角度出发,将信息处理功能和彼此之间的联系,自顶向下、逐层 分解,从逻辑上精确的描述具有的数据加工功能、数据输入、

42、数据输出、数据 存储及数据的来源和去向。 影院管理系统经划分出各子系统及其各自的功能,以及相互联系,绘制出 的数据流图如下: 影院管理系统数据流图: 13 用户 ATM 机模拟系统 用户数据密码正确 修改 图 3.2 ATM 机模拟系统顶层数据流图 第四章 系统设计 第一节 网站结构模块设计 1)系统前台设计 前台部分整个代码程序采用一个主模块,在里面定义程序全局变量,把各种功 能函数写入其中,每个界面制作一个独立窗体,在各个窗体代码中来调用主模 块中的各个函数来,来实现相应功能。具有类似功能的界面之间采用了窗口的 复用,如返回错误窗口的Form3能够根据各个功能返回的不同错误来显示相应 的错

43、误信息。 同时前台提供两种语言界面的选择。 在控制界面语言的选择时用到两种方式, 一种是已经写好中文界面,当选定语言种类为英文时,通过变量控制界面语言 14 换为英文。另一种是只有界面的框架,没有已经写好的内容,一开始登陆的时 候选择哪种语言,就给界面赋值为哪种语言。 2)后台数据库设计 经过充分考虑,认为系统并不需要非常复杂的数据库系统就能够达到模拟ATM 系统的效果,所以建立了一个名为AYUATM的SQL服务器,创建了名为USER 的数据库,用户登陆名为sa密码为空,并在ODBC数据源中将USER数据库添加 进去。其中实际上只运用到两个表,一个用户信息表和一个用户操作表。 图2-2-1用户

44、信息表 用户信息表(如图2-2-1 )用以存放用户的卡号,密码,存款金额等信息,由于 该系统只是为了模拟运用,故对安全性的要求并不高,所以密码采用了明文方 式存放,便于使用与查看。本次模拟系统同时还具有创建新用户的功能,可以 通过管理界面对后台的数据库进行简单的管理,如添加和删除用户。当然现实 中的ATM机的这项功能肯定是不对普通用户开放的,银行的数据全部存在于分 行的计算机中,ATM只是与银行数据库的一个交互式作用。 15 图2-2-2用户操作表 用户操作表(如图2-2-2)则用来记录用户在 ATM机上所使用的服务,它包括了所 有用户对自己账户的操作信息,包括时间,操作类型,金额,转帐卡号,

45、成功 与否等等。用户查询明细与打印清单的功能就是通过搜集检索这张表来实现。 同时管理人员也可以从这张表上很方便的查阅用户使用情况。当然,真实的银 行ATM系统,其后台的数据库系统肯定是十分庞大的一个系统,对保密性的要 求也非常的高,在这次的模拟中当然不可能达到那样的要求。 16 系统功能的实现 系统功能的实现包括18个窗口文件和一个模块文件,每个窗口分别实现各个实 际功能,以及主要功能函数的调用。模块里定义窗口中使用的各种自定义函数, 包括身份验证函数Checkuser、修改密码函数Changewd、操作写入数据库函数 InsertDatabase、取款函数TakeMoney、存款函数Save

46、、余额查询函数Qurey、转 账函数trans和 trans2。具体函数实现方式在各个窗口中会具体来说明。 重要全局变量 在程序设计时,一些全局变量发挥了重要的作用。下面介绍其中起到关键作用 的部分变量。 整型变量i是本系统实现中英文界面的重要变量,i=2代表中文、i=1代表英文, 欢迎界面(图3-2-1 )选择语言时,会将i赋予相应的值,以实现中英文的功能。 若不设置这个变量,每个界面的功能都要有两个窗口来实现,代码重复,功能 相同。i的存在不仅代表中英文界面的基本成型,更重要的是简化了程序代码, 将窗口数量缩减了一倍,代码更加简洁优化。 字符串型变量j的每个值代表着系统中的每个操作, j=

47、1代表取款操作,j=2代表 修改密码操作,j=3代表转账操作、 j=4代表查询余额操作、 j=5代表查看交易清 单操作、j=6代表存款操作。 j的值具体应用于用户操作表的插入中,每次操作将 插入代表其操作内容的信息,是变量文字的很好的相互转化媒介。 字符串型变量u,这是登陆验证、信息查询等各种操作安全行的重要变量。通过 登陆时输入的卡号值赋给u,之后的操作都将围绕这个卡号来运行,保证每个用 户只能对自己相应的卡号来进行操作,不能进入到其他人的页面,也不能对其 他用户的信息查询和修改。 欢迎界面实现 在欢迎界面(图3-2-1)我们可以自由的选择两种语言,分别为我们最常用的中文 和英语,语言种类选

48、择后,通过上述变量i对接下来的操作区分中英文。任意点 击一种服务都将进入登陆界面。由于中英文仅是提示语言不同,功能实现完全 相同,以后功能介绍时仅以中文界面为例。 点击中文按钮i值赋予2,点击English按钮i将被赋予1并进入相应语言的登陆界面 进行操作。管理系统也是由此窗口进入,具体功能将在后面进行介绍。退出系 统将结束程序运行。 17 图3-2-1欢迎界面 登陆的实现 下面请看登陆界面: 18 图3-3-1登陆界面(中文) 图3-3-1所示的就是登陆界面的窗口,用户应在相应的TextBox中输入自己的卡 号和密码。密码和卡号的格式是受限的,卡号为8位,密码为6位,点击确认按钮 时,将实现

49、对其的检测,若不符合条件则进入错误输出界面form3,显示相应的 错误信息。重输按钮将TextBox内容清空,语句为 text1.text=”。 本窗口要重点说明的是模块中验证身份函数Checkuser函数 Checkuser函数的代码如下: Public Sub Checkuser() Dim strr As String Set CON = New ADODB.Connection /设置CON为新的ADO连 接对象 strr = “Provider=SQLOLEDB.1;Password= ;Persist Security Info=True;User ID=sa;Initial Catalog=user;Data Source=(local)“ /这里采用的是SQL OLEDB应用接口 CON.Open strr u = Form2.Text1.Text str = “select 密码 from 用户信息 where 卡号=“ & u & “ /只打开密码 列

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1