银行ATM模拟器的设计-毕业论文.doc_第1页
银行ATM模拟器的设计-毕业论文.doc_第2页
银行ATM模拟器的设计-毕业论文.doc_第3页
银行ATM模拟器的设计-毕业论文.doc_第4页
银行ATM模拟器的设计-毕业论文.doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

I 毕 业 设 计 论文题目 银行 ATM 模拟器的设计 II 摘 要 ATM 交易在银行支付渠道中占据着越来越重要的位置 随着信息化 网络化的日新 月异 以 ATM 交易为代表的自助交易将逐步成为个人业务处理的主要渠道之一 在包括 电话银行 网络银行等各类电子化银行业务中 ATM 仍然是最为主要的电子银行渠道 同时 银行 ATM 未来的运行效率 经营成本 管理水平和盈利能力的高低将直接决定其 核心竞争力的高低 本文详细介绍了使用 Microsoft Visual C 6 0 以下简称 VC 和 SQL Server 2000 设计 ATM 模拟器的方法 通过对主流银行现用的 ATM 机分析 吸取其优点 并根据 自身的需要实现相应功能 设计出一个具有特色和个性的 ATM 模拟器 本论文对 ATM 模 拟器的常用功能进行设计开发 包括查询 提款 转账服务等 并在 Microsoft Windows 2000 XP 下测试通过 通过本文 可以初步掌握 VC 编程的方法与技巧 关键词 ATM 模拟器 VC III 目 录 1 绪论 1 1 1 ATM 起源 1 1 2 ATM 发展现状 1 1 3 ATM 模拟器的开发意义 2 2 开发与运行环境 2 2 1 软件运行环境 2 2 2 软件开发环境 2 2 3 开发工具 3 2 3 1 Microsoft Visual C 6 0 3 2 3 2 SQL Server 2000 4 3 可行性分析 5 4 需求分析 5 4 1 功能需求 5 4 2 性能要求 6 5 概要设计 6 5 1 系统设计原则 6 5 2 系统目标概述 7 5 3 系统的模块设计 7 5 4 数据库设计 9 5 4 1 用户数据表设计 9 5 4 2 管理员数据表设计 9 6 详细设计 9 6 1 系统的总体结构介绍 9 6 2 主界面设计 10 6 3 用户端启动和退出功能 11 6 4 基本功能模块 12 6 4 1 余额查询 12 6 4 2 取款 12 IV 6 4 3 转账 13 6 4 4 修改用户密码 14 6 5 UML 建模 15 6 5 1 系统用例图 15 6 5 2 系统状态图 16 6 5 3 转账顺序图 18 6 5 4 取款序列图 19 6 6 用户手册 20 6 6 1 进入系统 20 6 6 2 查询余额功能 21 6 6 3 取款功能 22 6 6 4 转账功能 22 6 6 5 修改用户密码 24 6 7 管理员手册 25 6 7 1 进入管理员端 25 6 7 2 添加用户 26 6 7 3 删除用户 27 7 系统测试 28 7 1 测试目的 28 7 2 主界面测试 28 7 3 基本功能测试 29 8 总结 30 参 考 文 献 32 ABSTRACT 33 致 谢 34 仲恺农业工程学院毕业论文 设计 成绩评定表 35 1 1 绪论 1 1 ATM 起源 ATM 是英文 Automatic Teller Machine 的缩写 中文意译为自动柜员机 它是银行 客户自我服务的一种先进电子设备 现代意义上的 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 1 2 ATM 发展现状 ATM 是近十几年来逐步兴起的可由客户自助存取款的金融服务设备 近些年已经逐 渐衍生出了 CDM 存款取款机 登折机 发票补打机等多种终端产品 1989 年中国银 行引进了第一台 ATM 柜员机 截至 2007 年底 我国各家银行已经布设了近 12 3 万台的 ATM 柜员机 随着我国金融业的不断发展 我国 ATM 机的市场将具备极大的发展前景 就目前国内 ATM 机运营商对于国内市场的看法来说 目前国内还处于独立运营 ATM 机业务的起步阶段 暂时还不是真正意义的 ATM 独立运营 与国外 ATM 机独立运营有很 大差距 主要体现在两大方面 首先是国内 ATM 运营商仍然没有加钞的权利 全部要由 其合作银行处理 其次是 ISO 运营商没有自主的运营网络 需要与合作银行 银联 银 联商务合作的方式进行 以上两点对于 ISO 运营商来说限制了其利润空间 2 3 2 1 3 ATM 模拟器的开发意义 目前全球共有 ATM 超过 120 万台 平均每 5 分钟新增一台 南极科考基地也已安装 了 ATM 每年通过这些机器进行的金融交易超过 400 亿笔 从这些数据可以看出银行自 动提款机已经进入了人们的日常生活 我们对自助式服务已经不再陌生 并成为了人们 日常生活习以为常的一部分 确实给人们的生活带来了极大的便利 经过了近 40 年的 发展 ATM 也取得了长足的进步 从早期的纸券取钱 到现在的一卡在手 ATM 机也从 早期的简单机器 后期的系统集成式机器 发展成了如今的基于个人 PC 操作系统下的 智能化系统 拥有了更多更全更加方便的功能 随着个人 PC 的快速发展 越来越多的 ATM 机逐步替换为了 PC 机 也采用了基于 WINDOWS XP 系统下的操作系统 具有了更加 人性化 更加友好的操作界面 也具有了更快的响应速度 这也使得各个银行之间的 ATM 操作平台有了逐步统一的可能 加强各银行的服务联系 使客户跨行进行 ATM 交易 将更加便捷 资费也能够得到降低 本课题开发的 ATM 系统就是基于 WINDOWS XP 系统 下的具有友好界面的软件系统 4 5 2 开发与运行环境 2 1 软件运行环境 1 硬件平台 主流的 PC 机 2 软件平台 推荐操作系统 Windows 2000 XP Vista 软件配置 本软件需要安装注册 推荐分辨率 1024 768 2 2 软件开发环境 开发语言 Microsoft Visual C 6 0 数据库建模 SQL Server 2000 功能流图 Microsoft office Visio 2003 word 2003 Rational Rose 2002 文本编辑器 记事本 3 2 3 开发工具 2 3 1 Microsoft Visual C 6 0 Visual C 是一个功能强大的可视化软件开发工具 自 1993 年 Microsoft 公司推 出 Visual C 1 0 后 随着其新版本的不断问世 Visual C 已成为专业程序员进行软 件开发的首选工具 虽然微软公司推出了 Visual C NET Visual C 7 0 但它的应用的很大的局限 性 只适用于 Windows 2000 Windows XP 和 Windows NT4 0 所以实际中 更多的是以 Visual C 6 0 为平台 Visual C 6 0 不仅是一个 C 编译器 而且是一个基于 Windows 操作系统的可视 化集成开发环境 integrated development environment IDE Visual C 6 0 由许多 组件组成 包括编辑器 调试器以及程序向导 AppWizard 类向导 Class Wizard 等开发 工具 这些组件通过一个名为 Developer Studio 的组件集成为和谐的开发环境 Visual C 它大概可以分成三个主要的部分 1 Developer Studio 这是一个集成开发环境 我们日常工作的 99 都是在它上 面完成的 再加上它的标题赫然写着 Microsoft Visual C 所以很多人理所当然 的认为 那就是 Visual C 了 其实不然 虽然 Developer Studio 提供了一个很好的 编辑器和很多 Wizard 但实际上它没有任何编译和链接程序的功能 真正完成这些工作 的幕后英雄后面会介绍 我们也知道 Developer Studio 并不是专门用于 VC 的 它也 同样用于 VB VJ VID 等 Visual Studio 家族的其他同胞兄弟 所以不要把 Developer Studio 当成 Visual C 它充其量只是 Visual C 的一个壳子而已 这一点请切记 2 MFC 从理论上来讲 MFC 也不是专用于 Visual C Borland C C Builder 和 Symantec C 同样可以处理 MFC 同时 用 Visual C 编写代码也 并不意味着一定要用 MFC 只要愿意 用 Visual C 来编写 SDK 程序 或者使用 STL ATL 一样没有限制 不过 Visual C 本来就是为 MFC 打造的 Visual C 中的 许多特征和语言扩展也是为 MFC 而设计的 所以用 Visual C 而不用 MFC 就等于抛弃了 Visual C 中很大的一部分功能 但是 Visual C 也不等于 MFC 3 Platform SDK 这才是 Visual C 和整个 Visual Studio 的精华和灵魂 虽然 我们很少能直接接触到它 大致说来 Platform SDK 是以 Microsoft C C 编译器为核 心 不是 Visual C 看清楚了 配合 MASM 辅以其他一些工具和文档资料 上面说 4 到 Developer Studio 没有编译程序的功能 那么这项工作是由谁来完成的呢 是 CL 是 NMAKE 和其他许许多多命令行程序 这些我们看不到的程序才是构成 Visual Studio 的基石 6 11 2 3 2 SQL Server 2000 SQL 是英文 Structured Query Language 的缩写 意思为结构化查询语言 SQL 语 言的主要功能就是同各种数据库建立联系 进行沟通 按照 ANSI 美国国家标准协会 的 规定 SQL 被作为关系型数据库管理系统的标准语言 SQL 语句可以用来执行各种各样 的操作 例如更新数据库中的数据 从数据库中提取数据等 SQL Server 是一个关系数据库管理系统 它最初是由 Microsoft Sybase 和 Ashton Tate 三家公司共同开发的 于 1988 年推出了第一个 OS 2 版本 在 Windows NT 推出后 Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了 Microsoft 将 SQL Server 移植到 Windows NT 系统上 专注于开发推广 SQL Server 的 Windows NT 版本 Sybase 则较专注于 SQL Server 在 UNIX 操作系统上的应用 SQL 语言包含 4 个 部分 数据定义 DDL 语言 如 CREATE DROP ALTER 等语句 数据操纵 DML 语言 INSERT UPDATE DELETE 语句 数据查询语言 SELECT 语句 数据控制语言 如 GRANT REVOKE COMMIT ROLLBACK 等语句 SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管理系统 包含一 套图形工具 如服务器管理 用于启动和关闭数据库服务 企业管理器 用于创建和 修改数据库及备份数据库等 和查询分析器 用于交互执行 Transact SQL 语句和过程 并提供图形查询分析功能 等 该版本继承了 SQL Server 7 0 版本的优点 同时又比 它增加了许多更先进的功能 具有使用方便可伸缩性好与相关软件集成程度高等优点 可跨越从运行 Microsoft Windows 98 的膝上型电脑到运行 Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用 SQL Server 2000 是为迅速提供可伸缩性电子商务 企业及数据仓库解决方案而开 发的完整数据库与分析软件产品 SQL SERVER 2000 定位于 Internet 背景下的数据库应 用 它为用户的 Web 应用提供了一款完善的数据管理和数据分析解决方案 同时 SQL SERVER 2000 还是 Windows DNA Distributed Internet Architecture 架构的一个核 心组件 它极大地缩短了用户开发电子商务 数据仓库应用的时间 SQL SERVER 2000 还提供对 XML Extensible Markup Language 扩展标示语言支持 和 HTTP 的全方位支持 5 SQL Server 2000 按照设计可以为部署和维护强大的 易于管理 支持商务活动的 Web 站点提供最好的性能 这些站点可以从事商家和商家之间或商家与客户之间的交易 在 寻求一个支持您的电子商务解决方案的数据库时 需要考虑的项目包括 可用性 性能 可管理性和价格 而它就具备这些方面的优势 12 16 3 可行性分析 1 经济可行性 本软件只是作为毕业论文的一部分 所用到的资料和素材可以通 过书籍和互联网找到 经济开支可以忽略 2 技术可行性 本软件所采用的技术是 Microsoft Visual C 6 0 中各类控件的 综合应用 遇到问题可以通过自学和查找资料自行解决 3 运行可行性 软件方面 本软件用到的主要是 Microsoft Visual C 6 0 控件 在释出最终程序后 只要把相关控件一起制作成安装程序 完成注册步骤 就可以在 Windows 平台下运行了 因此软件方面也不存在问题 4 法律可行性 整个软件是自行开发 并只作为毕业设计使用 不作商业用途 所以系统本身不存在法律上的版权争议 4 需求分析 4 1 功能需求 基本功能 1 客户端 查询余额 提款 转账 修改密码等 2 管理员 添加用 户 删除用户 a 客户端功能 查询余额 客户在主菜单中选择 查询 操作后 系统从后台服务器中查询该账号 余额并显示给客户看 提款功能 客户在主菜单中选择 提款 操作后 系统提示客户输入提款金额 客 户输入提款金额 每个账号单次提款金额不得超过 2000 元 系统通过后台服务器从客 户账号中扣去取款金额并准备相应数额的现金 客户提取现金 转账功能 客户在主菜单中选择 转账 操作后 系统提示客户输入自己账号密码 6 密码正确后 系统提示客户输入转账账号 客户输入转账账号 系统提示客户输入转账 金额 客户输入转账金额 系统通过后台服务器进行转账操作 转账成功后显示确认信 息 修改密码 客户在主菜单中选择 修改密码 操作后 系统提示客户输入自己账号 的旧密码 密码正确后 系统提示输入新密码 并确认 两次输入相同并且无误 系统 提示修改密码成功 b 管理员功能 添加用户 应客户需求 管理员可以再服务器端添加相应的账户给用户 要求用户 提供个人信息如姓名 身份证和开户存款等 删除用户 当客户想注销账户时 可以跟管理员反映 管理员根据客户需求 可以 删除客户的账户信息 4 2 性能要求 1 界面清晰友好 简单易用 具有良好的执行效率 并且要保证稳定性 2 提供个性化的界面 大方美观 3 要求能完成各功能 4 良好的兼容性 5 要保证软件的正确性 可靠性 容错性 尽量做到易使用性 可维护性 高效 率 5 概要设计 5 1 系统设计原则 为了设计出一个更完善的教务管理系统 本系统设计遵循以下原则 1 实用 通用 可靠 系统应既实用 又具有一定的先进性 2 着重眼前 兼顾长远 本系统设计本着性能适宜 允许随需求增长而扩展规模的原则 应用系统应具有较 好的扩充性 随着用户需求的增加 系统能相应地扩充 应用系统的每一子系统既可单独 运行 又能关联使用 7 3 安全保密 不受干扰 采用验证方式进入系统 确保系统的非法用户入侵 4 易于掌握 便于维护 本系统的用户界面设计和操作方式贴近于用户平时的工作方式 用户可以不需要花 大量时间和精力去阅读繁琐的用户使用手册 就可以轻松使用本系统完成各项功能 17 5 2 系统目标概述 设计项目构建要完成的设计目标是 用户可以在系统中进行查询余额 取款 转账 修改密码等操作 并且可以根据用户需求是否需要打印明细 以便日后查证 总的系统目标是 1 系统界面简单 实用 2 用户操作灵活 方便 迅速 3 提高系统的安全性 5 3 系统的模块设计 1 客户端模块 a 读卡机模块 此功能在本系统中简化为输入账号 插卡 客户将银行卡插入系统 系统读取卡上的客户账号信息 并向后台服务器系 统确认该卡的有效性 输入密码 系统提示客户输入密码 客户输入 6 位密码 系统向后台服务器检查用 户密码是否正确 选择服务 客户通过身份验证后 系统显示操作主菜单供客户选择查询 提款 转 账服务 客户选择他所需要的服务 b 查询余额功能 显示账号余额 系统从后台服务器中查询该卡账号余额并显示给客户看 退出系统 取卡 系统退出银行卡 用户取回银行卡 c 取款功能 输入提款金额 系统提示客户输入提款金额 客户输入提款金额 提取现金 系统通过后台服务器从客户账号中扣去取款金额并准备相应数额的现金 客户提取现金 退出系统 取卡 系统退出银行卡 用户取回银行卡 8 d 转账功能 输入转入账号 系统提示客户输入转账账号 客户输入转账账号 该账号必须是同 一银行内的其他账号 输入转账金额 系统提示客户输入转账金额 客户输入转账金额 系统进行转账 系统通过后台服务器进行转账操作 转账成功后显示确认信息 退出系统 取卡 系统退出银行卡 用户取回银行卡 e 修改密码功能 针对系统中保存的所有银行卡客户 如有需要修改用户密码的用户 可以再本系统 中进行修改密码的操作 2 管理员模块 a 添加用户 输入新用户账号 进入系统后 管理员输入新账户的账户 并点击检测账号 系统 提示该账号是否可以使用 输入用户信息 系统提示账号可用后 管理员输入用户信息 包括用户姓名 身份 证号和开户存款 退出系统 上述步骤结束后 管理员点击确定 用户开户成功 b 删除用户 输入用户账号 管理员输入用户账号后 点击检测账号 系统提示该用户信息 删除用户信息 系统提示用户信息后 点击确定 系统提示是否删除用户信息 点 击 是 则该用户所以信息从系统中删除 点击 否 则不进行任何操作 3 系统功能模块 系统功能模块图如图 1 所示 ATM 模拟器 主 界 面 取 款 转 账 修 改 密 码 查 询 余 额 打 印 明 细 用户端管理员端 添 加 用 户 删 除 用 户 9 图 1 系统功能模块图 5 4 数据库设计 5 4 1 用户数据表设计 该表主要是保存用户的相关信息 包括用户的帐号 密码 姓名 身份 余额等 该表结构如表 1 所示 表 1 用户数据表设计 序 号 列名数据类 型 长 度 小 数 位 标 识 主 键 允 许 空 默认值说明 1UserNamechar190 用户帐号 2UserPwdchar60 用户密码 3UserNamechar200 用户姓名 4UserIDchar190 用户身份 5UserBalanceReal40 用户余额 5 4 2 管理员数据表设计 该表主要是保存管理员的相关信息 包括管理员的账号和密码 该表结构如表 2 所 示 表 2 管理员数据表设计 序 号 列名数据类 型 长 度 小 数 位 标 识 主 键 允 许 空 默认值说明 1ManagerNamechar200 管理员帐号 2ManagerPwdchar100 管理员密码 10 6 详细设计 6 1 系统的总体结构介绍 本文 5 3 已经介绍了本系统的模块组成 本系统由 2 个大模块组成 客户端和管理 员端 而客户端包括 查询余额 取款 转账 修改密码 管理员端包括 添加用户和 删除用户 6 2 主界面设计 a 客户端设计 1 功能介绍 主界面的作用是给用户提供功能的选择 在一个具有自己特色的 ATM 模拟器中 界面显得尤其重要 设计界面既要大方 美观 同时要兼故人性化设计 方便操作 2 实现方法 主界面提供用户选择功能的界面 分成 4 部分 当前业务 业务选 择 业务状态 资金转移操作区 业务选择主要实现以下功能 余额查询 取款 转账 修改密码 3 主界面如下图 2 所示 11 图 2 用户端程序主界面 b 管理员端设计 1 功能介绍 主界面的作用是给管理员提供功能的选择 设计界面既要大方 美 观 同时要兼故人性化设计 方便操作 2 实现方法 主界面提供用户选择功能的界面 分成 2 部分 添加账号和删除账 号 3 主界面如下图 3 所示 12 图 3 管理员登陆主界面 6 3 用户端启动和退出功能 1 功能介绍 介绍 ATM 模拟器在启动的要处理的初始化工作 退出时的工作 2 算法流程图如下图 4 所示 显示欢迎界面 密码是否正确 输入账号密码 显示主界面 结束 N 开始 进入系统 Y 选择某项功能 按系统提示进 行操作 退出 结束 开始 a b 图 4 程序启动 退出流程图 6 4 基本功能模块 6 4 1 余额查询 1 功能介绍 系统从后台服务器中查询该卡账号余额并显示给客户看 2 算法流程图如下图 5 所示 13 进入系统 选择查询余额 查询数据库 结束 开始 图 5 查询余额算法流程图 6 4 2 取款 1 功能介绍 系统提示客户输入提款金额 客户输入提款金额 系统通过后台服务器 从客户账号中扣去取款金额并准备相应数额的现金 2 算法流程图如上图 6 所示 14 选择取款功能 ATM机种是否 低于100元 结束 开始 取款金额是否 低于100元 是否打印 打印 取款成功 N 取款金额是否 大于卡上的余额 取款金额是否 大于2000元 取款金额是否大于 ATM机中的余额 N N N N N Y Y Y 图 6 取款算法流程图 6 4 3 转账 1 功能介绍 系统提示客户输入转账账号 客户输入转账账号 系统提示客户输入转 账金额 客户输入转账金额 2 算法流程图如下图 7 所示 15 选择转账功能 密码是否正确 结束 开始 对方账号 是否合法 是否打印 打印 转账成功 N 转账金额是否 大于卡上的余额 转账金额 是否等于0元 Y Y N N Y N Y 图 7 转账流程图 6 4 4 修改用户密码 1 功能介绍 修改用户密码 方便用户使用 2 算法流程图如下图 8 所示 16 选择转账功能 旧密码是否正确 结束 开始 新密码是否与旧 密码相同 修改密码成功 两次输入新密码 是否一致 新密码是否合法 Y N Y Y Y N 图 8 修改用户密码流程图 6 5 UML 建模 6 5 1 系统用例图 在用例建模过程中 遵从每个用例为用户传递一个有价值的结果的原则 以下根据 各个子系统的功能进行建模 用例图符号说明如图 9 所示 17 Actor 参与者 Use Case 用例 Association 参与者与用例之间的关系 图 9 用例图符号说明 参与者 ATM 用户 和管理员 用户在 ATM 机上可以进行取款 转账 查询余额 及修改密码操作 如图 10 所示 图 10 系统用例图 6 5 2 系统状态图 状态图显示了对象的动作行为 显示对象可能存在的各种状态 对象创建时的状态 对象删除时的状态 对象如何从一种状态转移到另一种状态 对象在不同状态中干什么 通过状态图我们可以无歧义的了解各个活动角色是如何在不同状况下转换的 转换 18 的条件是什么 是否会出现死锁现象 是否有条件没考虑周全 是否有状态无法达到 状态图可以帮助我们发现问题 并及时改正 17 图 11 描述了顾客在 ATM 机上进行操作会经历的几种状态 及各种状态之间转换的 条件 除了等待用户输入账号的起始状态和结束服务的终止状态 顾客会处于输入密码 选择服务类型 查询余额 转账及取款五种状态 输入账号后进入输密码状态 当密码输入正确时进入选择服务类型状态 当输入密 码不正确时 停留在原状态 进入选择服务类型后根据选择的不同 顾客可进入查询余 额 转账及取款状态 查询余额 转账及取款结束后 顾客既可以选择结束服务到最终 状态 也可以选择继续服务回到选择服务类型状态 图 11 系统状态图 19 6 5 3 转账顺序图 图 12 转账顺序图 20 顺序图显示多个对象之间的动态协作 它的重点是显示对象之间发送的消息的时间 顺序 它也显示对象之间的交互 就是在系统执行时 某个指定时间点将发生的事情 顺序图由多个用垂直线显示的对象组成 时间从上到下推移 并且顺序图显示对象之间 随着时间的推移而交换的消息或函数 消息是用带消息箭头的直线表示的 并且它位于 垂直对象线之间 时间说明以及其他注释放到一个脚本中 并将其放置在顺序图的页边 空白处 17 图 12 描述了用户在 ATM 机上转账时信息的流动情况 以时间为顺序 因为仅是示 例 所以整个过程是没有出现任何故障时的流程 并且只画到了转账结束 通过这个图 我们可以看出消息是如何在系统中不同对象之间进行交互 用户输入账号 系统接受账号后 返回一个要求 提示用户输入密码 用户输入密 码后 系统确认密码是否正确 用户输入无误后 系统会询问服务类别 用户选择转账 功能 系统得到确认后提示用户再次输入账户密码 用户输入无误后提示输入要转账的 账号和转账数额 在用户输入后 系统会检测对方账号的合法性 并且检测用户的余额 是否足够 检测到一切正常后 提示转账成功 通过流程图我们可以很清楚地看到系统是如何工作的 系统各部分之间的信息及控 制是如何发送的 整个流程是否合理 流程图对我们的设计起到了很好的帮助作用 注 意在本图没有一个生命线终端有一个 X 这是因为这个流程中还未遇到有对象生命结 束 当有对象生命结束时需在对应的生命线终端画 X 表明这个对象在这时被销毁 6 5 4 取款序列图 序列图是一个用来记录系统需求和整理系统设计的好图 序列图是如此好用的理由 是 因为它按照交互发生的时间顺序 显示了系统中对象间的交互逻辑 与协作图相比 协作图显示的信息和序列图是相同的 只是协作图用不同的方式显示而已 序列图显示 的是对象和参与者随时间变化的交互 而协作图则不参照时间而显示对象与参与者的交 互 顺序图着重于对象间消息传递的时间顺序 协作图着重于表达对象之间的静态连接 关系 17 图 13 所示的是用户取钱的过程 从图中可以看到 客户管理和事务管理相互交互 直接相互通信的对象之间有一条直线 例如用户和读卡机直接相互通信 则其间画一条 直线 没有画直线的对象之间不直接通信 21 图 13 取款序列图 6 6 用户手册 6 6 1 进入系统 欢迎界面 如图 14 所示 默认账号 19 位 密码 6 位 图 14 欢迎界面 22 首页如图 15 所示 分成四部分 当前业务 业务选择 业务状态 资金转移操作 区 业务选择主要实现以下功能 余额查询 取款 转账 修改密码 图 15 主界面 6 6 2 查询余额功能 点击查询余额功能键 则会在业务状态栏里显示账户余额 如图 16 所示 图 16 查询账户余额 23 6 6 3 取款功能 点击取款功能键 系统会在资金转移操作区提示要提款金额是多是 如图 17 所示 图 17 取款 提款成功后 系统会提示是否需要打印清单 如图 18 所示 选择不打印则无打印 信息 选择打印后则会生成一个客户提款通知书 txt 的记事本 记事本里显示账户 提 款金额以及提款日期等信息 如图 19 所示 图 18 提示打印清单 图 19 客户提款通知书 6 6 4 转账功能 点击转账功能键 则系统会提示用户先输入本账号的密码 如图 20 所示 输入不 正确 系统会提示密码错误 如图所示 密码输入正确则进入转账界面 如图 21 所示 如果输入账号错误 则提示账号不存在 如图 22 所示 24 图 20 提示输入密码 图 21 图 22 输入无误后 进入转账界面 如图 23 所示 图 23 转账界面 转账成功后 系统会提示是否需要打印清单 如图 24 所示 选择不打印则无打印信息 选择打印后则会生成一个客户转账通知书 txt 的记事本 记事本里显示自己账号 对方 账号 转账金额 自己账户余额以及转账日期等信息 如图 25 所示 25 图 24 图 25 客户转账通知书 6 6 5 修改用户密码 点击修改密码功能键 系统会提示用户输入旧密码 然后输入新密码 并且在输入 一次新密码 如图 26 所示 如果输入时旧密码错误则会提示旧密码不正确 如图 27 所 示 如出现各种情况 则会有相应的提示显示 如图 28 所示 修改密码成功则提示密 码修改成功 如图 29 所示 图 26 图 27 图 28 26 图 29 6 7 管理员手册 6 7 1 进入管理员端 管理员登录界面 如图 30 所示 图 30 管理员登录界面 登录成功后的主界面如图 31 所示 包括添加用户和删除用户 27 图 31 管理员端主界面 6 7 2 添加用户 点击添加账户功能键 系统提示输入账号 如图 32 所示 管理员输入用户账号后 点击 检测账号 按钮 若账号不可以使用 则提示 抱歉 账号不可用 如图 33 所 示 若可以使用 则提示 恭喜 账号可用 新用户密码默认为 888888 如图 34 所 示 图 32 选择添加账号 28 图 33 图 34 图 36 系统提示账号可以使用后 则系统提示管理员输入用户的信息 包括用户的姓名 身份证号 开户存款等信息 如图 35 所示 注册成功后 系统提示 账号注册成功 如图 36 所示 图 35 管理员输入用户信息 6 7 3 删除用户 点击添加账户功能键 系统提示输入账号 管理员输入用户账号后 点击 检测账 号 按钮 系统显示该用户信息 如图 37 所示 图 37 用户信息 29 经过确认用户信息后 管理员点击 确定 按钮 系统提示是否删除该账号 如图 38 所示 点击 是 系统提示删除成功 如图 39 所示 若点击 否 则系统不进行 任何操作 并返回主界面 图 38 图 39 7 系统测试 7 1 测试目的 为了保证软件的质量与可靠性 在软件交付给用户时 必须先进行软件测试 软件 是由人设计出来的 因此任何软件都不可能是完美的 都会存在错误 当审查代码时的 错误没被发现 到交付用户使用时暴露出来 这样不仅使软件的成本增加 还可能造成 很大的影响 因此在软件工程中 测试是软件生命周期的一个重要阶段 测试的目的就是在软件投入生产性运行之前 尽可能多地发现软件中的错误 而不 是严整程序的正确性 软件测试仍然是保证软件质量的关键步骤 测试是对软件需求分 析 设计和编码的最后复审 它在软件生命周期中跨越了两个阶段 在每个模块编写完 成后进行的测试称为单元测试 是测试的第一阶段 最整个程序完成后 再进行的各种 测试 是第二阶段 我们现在进行的是第二阶段的测试 测试方法 分黑盒测试与白盒测试两种 黑盒测试是在已知产品所具有的功能的基 础上 通过测试来检测每个功能是否都能正常运行并达到预期结果 白盒测试是在已知 产品内部工作过程 通过测试来检测产品内部动作是否按照规格说明书的规定正常运行 本测试采用的是黑盒测试法 18 19 30 7 2 主界面测试 主界面如图 40 所示 图 40 ATM 模拟器主界面 1 测试说明 a 测试各按钮功能是否正常 b 测试显示信息是否正确 2 测试结果 a 各按钮正常 b 各信息显示正确 3 测试总结 与预期效果相同 7 3 基本功能测试 1 用户端测试 a 查询余额 测试说明 进入系统 选择查询余额功能 测试结果 1 直接显示用户余额 测试正常 2 该按钮没产生异常事件 测试总结 与预期效果相同 b 取款 测试说明 1 测试当取款金额小于 100 元时是否回报错 2 测试当卡上余额比 提取的金额少时的情况 3 测试当取款金额大于规定金额时的现象 4 测试当 ATM 机上余额不足时的情况 31 测试结果 1 取款金额小于 100 元时 提示出错 测试正常 2 卡上余额比提 取的金额少时 提示出错 测试正常 3 直接提示出错 测试正常 4 提示出 错 测试正常 测试总结 与预期效果相同 c 转账 测试说明 1 密码输入错误 2 对方账号错误 3 转账金额比自己余额多 4 转账金额为 0 测试结果 1 无法进入转账界面 2 不能继续进行操作 3 提示出错 测试 正常 4 提示出错 测试正常 测试总结 与预期效果相同 d 修改用户密码 测试说明 1 旧密码错误 2 新密码不合法 3 新旧密码相同 测试结果 1 不能修改密码 2 提示出错 测试正常 3 系统提示新旧密码 不能一致 测试总结 与预期效果相同 2 管理员端测试 a 添加用户 测试说明 1 输入新用户账号 检测账号是否存在 2 输入用户身份证时位数 不够 3 添加用户 测试结果 1 该步骤没产生异常事件 2 提示身份证号码要 18 位 测试正常 3 添加成功 测试正常 测试总结 与预期效果相同 b 删除用户 测试说明 1 输入要删除的账户 检测账号信息 2 检测信息是否显示 3 删除用户 测试结果 1 该步骤没产生异常事件 2 系统提示该用户的信息 包括姓名 身份证号及账户余额 测试正常 3 删除成功 测试正常 测试总结 与预期效果相同 8 总结 经过几个月的知识准备 系统开发和论文撰写过程 我终于完成了此次毕业设计 32 通过这次毕业设计 我基本掌握 C 面向对象编程技术和 SQL Server 2000 数据库技术 等知识 对软件工程的流程方法的设计模式有了一定的理解 由于我在以前的学习中对 C 编程不是太重视 所以在刚开始做设计时 知识准备 不充足基础不扎实 碰到了很多问题 但通过不断的学习和查阅相关资料 最终解决了 绝大部分问题 查找了大量的相关资料 有一个很大的益处是了解了很多相关编程方面 的信息 开拓了自己的视野 收集了很多对自己以后实用的信息 通过这次 ATM 模拟器的开发 使我对多 C 面向对象编程有了很深的了解 通过这 样的软件开发 解决实际问题的能力得到锻炼 大大提高了编程能力 做完这次设计 让我感觉到方法的重要性 懂得了正确方法 能少走很多弯路 开 发系统 首先要有一定的知识储备 这是前提 知识储备不足 开发系统会很费时间 有时根本就无从下手 然后是编码前的准备工作 准备工作可参照软件工程的软件开发 步骤 需求分析 概要设计 详细设计 准备工作一定要做充足 编码开始前脑里要 有一套完整的思路 这样系统实现起来会顺利很多 还有一点也很重要 就是编码要规 范化 文件 函数 变量等要统一命名方式 这样才不容易忘记 不会乱 脚踏实地 认真严谨 实事求是的学习态度 不怕困难 坚持不懈 吃苦耐劳的精 神是我在这次设计中最大的收益 我想这是一次意志的磨练 是对我实际能力的一次提 升 也会对我未来的学习和工作有很大的帮助 33 参 考 文 献 1 幻刘青 论自动柜员机的综合使用效益 J 中国科技信息 2005 16 2 邓科日 ATM 市场的现状以及发展商机 J 金融经济 2004 11 3 王冀川 廖涛 李士彬 ATM 应用现状及发展趋势探析 J 中国信用卡 2000 12 4 王慧 基于模拟器的 ATM 可用性评估辅助工具研究 D 大连海事大学硕士学位论文 2006 5 金戈 吴超 银行 ATM 机安全防护解决方案 J 计算机安全 2005 1 6 李师贤 李文军 周晓聪 面向对象程序设计基础 M 北京

温馨提示

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

评论

0/150

提交评论