




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ATM 自动 取款 机系 统概 述 11 1 ATM 自动取款机系统概述自动取款机系统概述 ATM 自动取款机是由计算机控制的持卡人自我服务型的金融专用设备 本节主 要简单介绍 ATM 自动取款机系统及其开发流程 11 1 1 ATM 自动取款机简介自动取款机简介 ATM 是英文 Automatic Teller Machine 的缩写 即自动取款机的意识 图 11 1 是一个 ATM 自动取款机的示意图 ATM 是最普遍的自助银行设备 可以提供最 基本的银行服务之一 即出钞交易 有些全功能的产品还可以提供信封存款业 务 在 ATM 自动取款机上也可以进行账户查询和改密的业务 作为自助式金融 服务终端 除了提供金融业务功能之外 ATM 自动取款机还具有维护 测试 事件报告 监控和管理等多种功能 11 1 1 ATM 自动取款机简介自动取款机简介 ATM 是英文 Automatic Teller Machine 的缩写 即自动取款机的意识 图 11 1 是一个 ATM 自动取款机的示意图 ATM 是最普遍的自助银行设备 可以提供最 基本的银行服务之一 即出钞交易 有些全功能的产品还可以提供信封存款业 务 在 ATM 自动取款机上也可以进行账户查询和改密的业务 作为自助式金融 服务终端 除了提供金融业务功能之外 ATM 自动取款机还具有维护 测试 事件报告 监控和管理等多种功能 11 1 2 ATM 自动取款机的开发流程自动取款机的开发流程 ATM 自动取款机系统的开发流程遵循实时系统的统一开发过程 主要生命周期 包括系统分析 概要设计 详细设计和实现与测试 采用的软件开发方法为迭 代式 开发流程详细说明如下 l 系统分析 主要标识系统涉及的用例 以及为每个用例创建的事件流 而且 还需要定义初始功能测试用例 作为检查最后实现是否 正确和完备的工具 系统分析还需要显示用例隐含的类 利用分析类图进行文档化处理 l 概要设计 使用 CRC 卡 定义每个类的职责 首先通过全局类图定义设计的静态结构 然后定义设计的动态结构 使用状态图定义 主要控制类的动态行为 为主要用例创建交互图 l 详细设计 包括为每个类定义属性和操作 利用包图对相关类进行组织 l 代码生成 利用代码生成工具将设计转换为 Java 代码 并对代码进行详细处理 编写辅助代码 完成系统实现 并能够对设计进行 模拟 能够作为 Applet 运行 能够在浏览器中查看可执行版本 需要注意的是 本实例采用实时 Java 作为最后的实现语言 创建了一个 ATM 自 动取款机的模拟程序 模拟真实 ATM 机的行为 还需要 JDK 的支持 11 1 3 ATM 自动取款机系统初始需求描述自动取款机系统初始需求描述 下面是一个 ATM 自动取款机系统初始需求描述示例 供读者参考 ATM 自动取款机系统初始需求规格说明书 1 引言 1 1 目的 本文档描述了自动取款机系统的软件需求 支持 ATM 的设计人员 开发人员和 维护人员 1 2 范围 ATM 的功能要求支持计算机银行网 1 3 概述 文档剩余部分组织如下 本节后续部分将给出一些重要术语的定义 第 2 部分 将包含对 ATM 的一些基本描述 第 部分表示特定的功能需求 外部接口和性 能需求 1 4 定义 l 账号 在银行中 事务应用的单个账号 账号可以为多种类型 但是至少包括支票和存款 每个顾客可以拥有多个账号 l ATM 一个工作站终端 使得顾客能够使用现金卡在 ATM 上进行自己的事务处理 ATM 同顾客进行交互 收集事务信息 并发送事 务信息到中心计算机 由中心计算机确认和处理信息之后 将现金通过 ATM 提供给顾客 l 银行 一个金融机构 负责保存顾客的账号信息 执行授权卡通过 ATM 网访问账号 l 银行计算机 银行拥有的计算机 同 ATM 网和银行自己的现金工作站进行交互 银行可以拥有自己的内部计算机网处理账号 但是 我们只关心同网络进行交互的计算机 l 现金卡 每张卡提供给一个银行客户 授权客户可以使用 ATM 机访问自己的账号 每张卡包含一个银行代码和一个卡号 银行代码 根据信用卡的国际标准进行编码 卡号确定卡能够访问的账户 一张卡不能访问客户的所有账户 每张卡只能有一个持卡人 但是多个 复本可能存在 所以必须考虑从不同的 ATM 机同时使用相同卡的行为 l 客户 拥有银行的一个或者多个账号的人 客户可以包括一个人或者多个人 或者是公司 相同的人 拥有不同银行的账号被认为是 不同的客户 11 2 ATM 自动取款机系统的初始模型的创建自动取款机系统的初始模型的创建 在 Rational Rose RealTime 中 创建 ATM 自动取款机系统模型的第 1 步是创建 初始模型 其操作步骤如下 1 启动 Rational Rose RealTime 在 Create New Model 对话框中 选 择 RTJava 选项 这是因为 ATM 自动控制系统采用实时 Java 实现 需要导入 Java 框架 然后单击 Open 按钮 如图 11 4 所示 图 11 4 定义模型框架 2 Rational Rose RealTime 将在工具集中初始化一个空的模型 标题将显 示为 Rational Rose RealTime Untitled 表示这是一个新模型 还没有 保存到磁盘中 3 保存所创建的模型 并命名为 ATM 如图 11 5 所示 这样就完成了初始模型的创建操作 下面将介绍如何创建其他 UML 模型 11 4 ATM 自动取款机系统的概要设计自动取款机系统的概要设计 明确需求之后 就需要开始对系统进行概要设计 概要设计的主要输出是概要 设计说明书 但在此并不介绍如何编写 ATM 自动取款机系统的概要设计说明书 而是分析如何基于面向对象的思想 UML 和 Rational Rose RealTime 执行系 统的概要设计 11 4 1 分析初始类模型分析初始类模型 通过对 ATM 自动取款机系统的用例模型进行分析 可以提取以下 Capsule 和类 l 自动取款机 Capsule ATM 由以下 Capsule 组成 操作面板 OperatorPanel 读卡机 CardReader 顾客面板 CustomerConsole 同银行的网络连接 NetworkToBank 吐钱机 CashDispenser 现金接收器 EnvelopeAcceptor 收据打印机 ReceiptPrinter l 对应于用例的 Capsule 会话类 Session 事务类 抽象类 复杂公共特性 支持对特定事务类型的继承 Transaction l ATM 信用卡类 Card l ATM 机器维护的事务日志 Capsule Log 基于用例分析和上述提取的 Capsule 和类 可以创建以下初始分析类图 以显 示类同参与者及类图之间的关系 如图 11 17 所示 图 11 17 初始分析类图 11 4 2 创建创建 ATM 的的 CRC 卡卡 CRC Class Responsibility Collaborator 卡建模是一种简单且有效的面向 对象的分析技术 在一个实时系统开发项目中 包括用户 系统分析员和开发 者 在建模和设计过程中 经常应用 CRC 卡建模 使整个开发团队普遍的理解 形成一致 CRC 卡由类 Class 职责 Responsibility 和协作 Collabor ator 3 部分组成 类代表许多类似的对象 而对象是系统模型化中关注的事物 对象可以是人 地方 事情或任何对系统有影响的概念 类名一般列在 CRC 卡的顶部 职责是类需要知道或需要做的任何事物 这些职责是类自身所具备的知识 或 类在执行时所需要的知识 协作是指为获取消息或协助执行活动的其他类 在特定情形下 与指定的类按 一个设想共同完成同一个 或许多 步骤 协作的类名在 CRC 卡的右边排列 在此 主要为以下 Capsule 和类定义 CRC 卡 ATM CRC 卡 如表 11 2 所示 它是 ATM 自动取款机的顶层类 用于实现 ATM 操 作的业务逻辑 表 11 2 ATM CRC 卡 ATM 当开关打开时 启动系统 当开关关闭时 关闭系统 当顾客插入信用卡时 开始一个新的会话 提供对 Session 和 Transaction 构件的访问能力 OperatorPanel CashDispenser NetworkToBank CustomerConsole Session l CardReader CRC 卡 如表 11 3 所示 用于读取现金卡的信息 表 11 3 CardReader CRC 卡 CardReader 告诉 ATM 信用卡什么时候插入的 从卡上读取信息 弹出信用卡 保存信用卡 ATM Card l CashDispenser CRC 卡 如表 11 4 所示 该类用于处理弹出现金操作的业务逻辑 表 11 4 CashDispenser CRC 卡 CashDispenser 跟踪信用卡 采用初始金额进行初始化 报告是否有足够的金额 吐钱 Log l CustomerConsole CRC 卡 如表 11 5 所示 该类用于支持用户控制台操作 表 11 5 CustomerConsole CRC 卡 CustomerConsole 显示消息 显示提示信息 从键盘接收口令 显示提示信息和菜单 从键盘接收一个选项 显示提示信息 从键盘接收输入的金额数量 对用户按下的取消键作出响应 无 l EnvelopeAcceptor CRC 卡 如表 11 6 所示 该类用于处理现金接收器的业务逻辑 表 11 6 EnvelopeAcceptor CRC 卡 EnvelopeAcceptor 从顾客接收现金Log l Log CRC 卡 如表 11 7 所示 用于记录操作日值 表 11 7 Log CRC 卡 Log 记录发送到银行的消息 记录从银行接收到的消息 无 记录吐的现金数 记录从顾客接收的现金数 l NetworkToBank CRC 卡 如表 11 8 所示 用于支持 ATM 同银行的连接 表 11 8 NetworkToBank CRC 卡 NetworkToBank 在 ATM 机启动时初始化同银行的连接 向银行发送消息 等待响应 在系统关闭时终止同银行的连接 Message Log Balances Status l OperatorPanel CRC 卡 如表 11 9 所示 用于处理操作面板的业务逻辑 表 11 9 OperatorPanel CRC 卡 OperatorPanel 通知 ATM 将状态修改为开关状态 允许操作员定义初始现金的数量 ATM l ReceiptPrinter CRC 卡 如表 11 10 所示 用于支持收据打印 表 11 10 ReceiptPrinter CRC 卡 ReceiptPrinter 打印收据Receipt l Session CRC 卡 如表 11 11 所示 用于支持用户会话的业务逻辑 表 11 11 Session CRC 卡 Session 执行会话用例 如果顾客重新输入口令 则更新口令值 ATM CardReader Card CustomerConsole Transaction l Transaction CRC 卡 如表 11 12 所示 用于支持用户事务操作的业务逻辑 表 11 12 Transaction CRC 卡 续表 Transaction 允许顾客选择事务类型 ATM CustomerConsole Withdrawal Deposit 续表 Transaction 执行事务用例 执行非法口令扩展用例 Transfer Inquiry ATM CustomerConsole Withdrawal Deposit Transfer Inquiry Message NetworkToBank Receipt ReceiptPrinter CustomerConsole Session CardReader l Withdrawal CRC 卡 如表 11 13 所示 用于处理用户取款事务的业务逻辑 表 11 13 Withdrawal CRC 卡 Withdrawal 执行取款事务用例相关操作CustomerConsole CashDispenser Message Receipt l Deposit CRC 卡 如表 11 14 所示 用于处理用户存款事务的业务逻 辑 表 11 14 Deposit CRC 卡 Deposit 执行存款事务用例相关操作CustomerConsole Message EnvelopeAcceptor Receipt l Transfer CRC 卡 如表 11 15 所示 用于处理用户转账的业务逻辑 表 11 15 Transfer CRC 卡 Transfer 执行转账事务用例相关操作CustomerConsole Message Receipt l Inquiry CRC 卡 如表 11 16 所示 用于执行账户查询的业务逻辑 表 11 16 Inquiry CRC 卡 Inquiry 执行查询事务用例相关操作CustomerConsole Message Receipt l Balances CRC 卡 如表 11 17 所示 用于存储账户信息的类 表 11 17 Balances CRC 卡 Balances 表示银行返回的账户余额信息无 l Card CRC 卡 如表 11 18 所示 用于处理现金卡信息的类 表 11 18 Card CRC 卡 Card 表示顾客 ATM 卡的编码信息无 l Message CRC 卡 如表 11 19 所示 用于处理操作消息的类 表 11 19 Message CRC 卡 Message 表示在网络上发送到银行的信息无 l Receipt CRC 卡 如表 11 20 所示 用于处理收据的类 表 11 20 Receipt CRC 卡 Receipt 表示在收据上打印的信息无 l Status CRC 卡 如表 11 21 所示 用于处理事务状态的类 表 11 21 Status CRC 卡 Status 表示银行返回的事务状态信息无 11 5 ATM 自动取款机系统的详细设计与实现自动取款机系统的详细设计与实现 11 5 1 详细设计详细设计 详细设计的一个主要任务是为类图中的类添加属性和方法 在 ATM 自动取款机 系统中 需要明确以下内容 l ATM 类是一个活动类 也就是说 ATM 对象具有自己的线程 l 使用特定的信号初始化计算 l Transaction 类层次包含抽象类 Transaction 和 4 个具体的子类 Withdrawal Deposit Transfer 和 Inquiry l Receipt 类是一个抽象类 每种事务类型的 completeTransaction 方法创建一个实例 包含相关的事务信息 l Status 类是一个抽象类 NetworkToBank 类的 Send 方法构造一个具体的实例 包含发送到银行的相关信息 表 11 22 至表 11 43 是 ATM 自动取款机系统的相关类的详细设计方法 表 11 22 ATM 属 性方 法 id int ATM id int place String bankName String bankAddress InetAddress 续表 属 性方 法 place String bankName String bankAddress InetAddress cardReader CardReader cashDispenser CashDispenser customerConsole CustomerConsole envelopeAcceptor EnvelopeAcceptor log Log networkToBank NetworkToBank operatorPanel OperatorPanel receiptPrinter ReceiptPrinter state int switchOn boolean cardInserted boolean OFF STATE final int IDLE STATE final int SERVING CUSTOMER STATE final int run switchOn switchOff cardInserted getID int getPlace String getBankName String getCardReader CardReader getCashDispenser CashDispenser getCustomerConsole CustomerConsole getEnvelopeAcceptor EnvelopeAcceptor getLog Log getNetworkToBank NetworkToBank getOperatorPanel OperatorPanel getReceiptPrinter ReceiptPrinter performStartup performShutdown 表 11 23 CardReader 属 性方 法 atm ATM CardReader atm ATM readCard Card ejectCard retainCard 表 11 24 CashDispenser 属 性方 法 atm ATM log Log cashOnHand Money CashDispenser log Log setInitialCash initialCash Money checkCashOnHand amount Money boolean dispenseCash amount Money 表 11 25 CustomerConsole 属 性方 法 CustomerConsole display message String readPIN prompt String int throws Cancelled readMenuChoice prompt String menu String int throws Cancelled readAmount prompt String Money throws Cancelled 表 11 26 EnvelopeAcceptor 属 性方 法 log Log EnvelopeAcceptor log Log acceptEnvelope throws Cancelled 表 11 27 Log 属 性方 法 Log logSend message Message logResponse status Status logCashDispensed amount Money logEnvelopeAccepted 表 11 28 NetworkToBank 属 性方 法 log Log bankAddress InetAddress NetworkToBank log Log bankAddress InetAddress openConnection closeConnection sendMessage message Message out balances Balances Status 表 11 29 OperatorPanel 属 性方 法 atm ATM OperatorPanel atm ATM getInitialCash Money 表 11 30 ReceiptPrinter 属 性方 法 ReceiptPrinter printReceipt receipt Receipt 表 11 31 Session 属 性方 法 atm ATM atm ATM pin int state int Session atm ATM performSession setPIN int pin READING CARD STATE final int READING PIN STATE final int CHOOSING TRANSACTION STATE final int PERFORMING TRANSACTION STATE final int EJECTING CARD STATE final int FINAL STATE final int 表 11 32 Transaction 属 性方 法 atm ATM session Session card Card pin int serialNumber int message Message balances Balances TRANSACTION TYPES MENU final String nextSerialNumber int state int GETTING SPECIFICS STATE final int SENDING TO BANK STATE final int INVALID PIN STATE final int COMPLETING TRANSACTION STATE final int PRINTING RECEIPT STATE final int ASKING DO ANOTHER STATE final int Transaction atm ATM session Session card Card pin int makeTransaction atm ATM session Session card Card pin int Transaction throws Cancelled performTransaction boolean throws CardRetained performInvalidPinExtension Status throws Cancelled CardRetained getSerialNumber int getSpecificsFromCustomer Message throws Cancelled completeTransaction Receipt throws Cancelled 表 11 33 Withdrawal 属 性方 法 from int amount Money Withdrawal atm ATM session Session card Card pin int getSpecificsFromCustomer Message throws Cancelled completeTransaction Receipt 表 11 34 Deposit 属 性方 法 to int amount Money Deposit atm ATM session Session card Card pin int getSpecificsFromCustomer Message throws Cancelled completeTransaction Receipt throws Cancelled 表 11 35 Transfer 属 性方 法 from int to int amount Money Transfer atm ATM session Session card Card pin int getSpecificsFromCustomer Message throws Cancelled completeTransaction Receipt 表 11 36 Inquiry 属 性方 法 from int Inquiry atm ATM session Session card Card pin int getSpecificsFromCustomer Message throws Cancelled completeTransaction Receipt 表 11 37 AccountInformation 属 性方 法 ACCOUNT NAMES final String ACCOUNT ABBREVIATIONS final String 表 11 38 Balances 属 性方 法 total Money available Money Balances setBalances total Money available Money getTotal Money getAvailable Money 表 11 39 Card 属 性方 法 number int Card number int getNumber int 表 11 40 Message 属 性方 法 WITHDRAWAL f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年园艺科普知识考查试题及答案
- 2024年农业职业经理人考试试题及答案
- 2024年农艺师考试变革与创新试题及答案
- 2024北京房山区三年级(下)期末语文试题及答案
- 园艺师考试复习策略试题及答案
- 泵车安全教育试题及答案
- 农业项目评估与实施的最佳实践试题及答案
- 学习花艺设计的有效途径试题及答案
- 农业职业经理人考试在个人职业生涯中的重要性与体现试题及答案
- 植物采收与保鲜技术试题及答案
- 内科学肺炎(课件)
- 左拉精选课件
- 国际外贸模板:装箱单
- LY/T 1831-2009人造板饰面专用装饰纸
- 检验科标本采集手册(新版)
- 人力资源开发与管理-自考课件
- 第7课《大雁归来》课件(共41张PPT) 部编版语文八年级下册
- 农业面源污染进展课件
- DB44-T 2267-2021《公共机构能源资源消耗限额》-(高清现行)
- 广东省韶关市各县区乡镇行政村村庄村名明细
- 挖掘机使用台班记录表
评论
0/150
提交评论