ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:88.55KB ,
资源ID:20570039      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20570039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(#ATM自动取款机系统概述Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

#ATM自动取款机系统概述Word格式.docx

1、1.4 定义 账号。在银行中,事务使用的单个账号。账号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个账号。 ATM。一个工作站终端,使得顾客能够使用现金卡在ATM上进行自己的事务处理。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和处理信息之后,将现金通过ATM提供给顾客。 银行。一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。 银行计算机。银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互。银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交互的计算机。 现金卡。每张卡提供给一个银行客户,授权客户可以

2、使用ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。每张卡只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。 客户。拥有银行的一个或者多个账号的人。客户可以包括一个人或者多个人,或者是公司。相同的人,拥有不同银行的账号被认为是不同的客户。11.2 ATM自动取款机系统的初始模型的创建在Rational Rose RealTime中,创建ATM自动取款机系统模型的第1步是创建初始模型,其操作步骤如下。(1)启动Rational Rose RealTime

3、,在“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自动取款机系统的概要设计明确需求之后

4、,就需要开始对系统进行概要设计。概要设计的主要输出是概要设计说明书,但在此并不介绍如何编写ATM自动取款机系统的概要设计说明书,而是分析如何基于面向对象的思想、UML和Rational Rose RealTime执行系统的概要设计。11.4.1 分析初始类模型通过对ATM自动取款机系统的用例模型进行分析,可以提取以下Capsule和类。 自动取款机Capsule:ATM,由以下Capsule组成。 操作面板:OperatorPanel。 读卡机:CardReader。 顾客面板:CustomerConsole。 同银行的网络连接:NetworkToBank。 吐钱机:CashDispenser

5、。 现金接收器:EnvelopeAcceptor。 收据打印机:ReceiptPrinter。 对应于用例的Capsule。 会话类:Session。 事务类(抽象类,复杂公共特性,支持对特定事务类型的继承):Transaction。 ATM信用卡类:Card。 ATM机器维护的事务日志Capsule:Log。基于用例分析和上述提取的Capsule和类,可以创建以下初始分析类图,以显示类同参和者及类图之间的关系,如图11-17所示。图11-17 初始分析类图11.4.2 创建ATM的CRC卡CRC(Class-Responsibility-Collaborator)卡建模是一种简单且有效的面向

6、对象的分析技术。在一个实时系统开发项目中,包括用户、系统分析员和开发者,在建模和设计过程中,经常使用CRC卡建模,使整个开发团队普遍的理解形成一致。CRC卡由类(Class)、职责(Responsibility)和协作(Collaborator)3部分组成。类代表许多类似的对象。而对象是系统模型化中关注的事物。对象可以是人、地方、事情或任何对系统有影响的概念。类名一般列在CRC卡的顶部。职责是类需要知道或需要做的任何事物。这些职责是类自身所具备的知识,或类在执行时所需要的知识。协作是指为获取消息或协助执行活动的其他类。在特定情形下,和指定的类按一个设想共同完成同一个(或许多)步骤。协作的类名在

7、CRC卡的右边排列。在此,主要为以下Capsule和类定义CRC卡。ATM CRC卡:如表11-2所示,它是ATM自动取款机的顶层类,用于实现ATM操作的业务逻辑。表11-2 ATM CRC卡ATM当开关打开时,启动系统当开关关闭时,关闭系统当顾客插入信用卡时,开始一个新的会话提供对Session和Transaction构件的访问能力OperatorPanelCashDispenserNetworkToBankCustomerConsoleSession CardReader CRC卡:如表11-3所示,用于读取现金卡的信息。表11-3 CardReader CRC卡CardReader告诉A

8、TM信用卡什么时候插入的从卡上读取信息弹出信用卡保存信用卡Card CashDispenser CRC卡:如表11-4所示,该类用于处理弹出现金操作的业务逻辑。表11-4 CashDispenser CRC卡跟踪信用卡,采用初始金额进行初始化报告是否有足够的金额吐钱Log CustomerConsole CRC卡:如表11-5所示,该类用于支持用户控制台操作。表11-5 CustomerConsole CRC卡显示消息显示提示信息,从键盘接收口令显示提示信息和菜单,从键盘接收一个选项显示提示信息,从键盘接收输入的金额数量对用户按下的取消键作出响应无 EnvelopeAcceptor CRC卡:

9、如表11-6所示,该类用于处理现金接收器的业务逻辑。表11-6 EnvelopeAcceptor CRC卡EnvelopeAcceptor从顾客接收现金 Log CRC卡:如表11-7所示,用于记录操作日值。表11-7 Log CRC卡记录发送到银行的消息记录从银行接收到的消息记录吐的现金数记录从顾客接收的现金数 NetworkToBank CRC卡:如表11-8所示,用于支持ATM同银行的连接。表11-8 NetworkToBank CRC卡在ATM机启动时初始化同银行的连接向银行发送消息,等待响应在系统关闭时终止同银行的连接MessageBalancesStatus OperatorPan

10、el CRC卡:如表11-9所示,用于处理操作面板的业务逻辑。表11-9 OperatorPanel CRC卡通知ATM将状态修改为开关状态允许操作员定义初始现金的数量 ReceiptPrinter CRC卡:如表11-10所示,用于支持收据打印。表11-10 ReceiptPrinter CRC卡ReceiptPrinter打印收据Receipt Session CRC卡:如表11-11所示,用于支持用户会话的业务逻辑。表11-11 Session CRC卡执行会话用例如果顾客重新输入口令,则更新口令值CardReader CustomerConsole Transaction Transa

11、ction CRC卡:如表11-12所示,用于支持用户事务操作的业务逻辑。表11-12 Transaction CRC卡(续表)允许顾客选择事务类型执行事务用例执行非法口令扩展用例Withdrawal Deposit Transfer Inquiry Message NetworkToBank Receipt Session Withdrawal CRC卡:如表11-13所示,用于处理用户取款事务的业务逻辑。表11-13 Withdrawal CRC卡Withdrawal执行取款事务用例相关操作CashDispenser Deposit CRC卡:如表11-14所示,用于处理用户存款事务的业务

12、逻辑。表11-14 Deposit CRC卡Deposit执行存款事务用例相关操作EnvelopeAcceptor Transfer CRC卡:如表11-15所示,用于处理用户转账的业务逻辑。表11-15 Transfer CRC卡Transfer执行转账事务用例相关操作 Inquiry CRC卡:如表11-16所示,用于执行账户查询的业务逻辑。表11-16 Inquiry CRC卡Inquiry执行查询事务用例相关操作 Balances CRC卡:如表11-17所示,用于存储账户信息的类。表11-17 Balances CRC卡表示银行返回的账户余额信息 Card CRC卡:如表11-18所

13、示,用于处理现金卡信息的类。表11-18 Card CRC卡表示顾客ATM卡的编码信息 Message CRC卡:如表11-19所示,用于处理操作消息的类。表11-19 Message CRC卡表示在网络上发送到银行的信息 Receipt CRC卡:如表11-20所示,用于处理收据的类。表11-20 Receipt CRC卡表示在收据上打印的信息 Status CRC卡:如表11-21所示,用于处理事务状态的类。表11-21 Status CRC卡表示银行返回的事务状态信息11.5 ATM自动取款机系统的详细设计和实现11.5.1 详细设计详细设计的一个主要任务是为类图中的类添加属性和方法。在

14、ATM自动取款机系统中,需要明确以下内容。 ATM类是一个活动类,也就是说,ATM对象具有自己的线程。 使用特定的信号初始化计算。 Transaction类层次包含抽象类Transaction和4个具体的子类(Withdrawal,Deposit,Transfer和Inquiry)。 Receipt类是一个抽象类,每种事务类型的completeTransaction()方法创建一个实例,包含相关的事务信息。 Status类是一个抽象类。NetworkToBank类的Send()方法构造一个具体的实例,包含发送到银行的相关信息。表11-22至表11-43是ATM自动取款机系统的相关类的详细设计方

15、法。表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: Lo

16、g - networkToBank: NetworkToBank - operatorPanel: OperatorPanel - receiptPrinter: ReceiptPrinter - state:- switchOn: boolean - cardInserted:- OFF_STATE: final int - IDLE_STATE:- SERVING_CUSTOMER_STATE: final int+ run()+ switchOn() + switchOff + cardInserted() + getID():+ getPlace():+ getBankName():+

17、 getCardReader():+ getCashDispenser():+ getCustomerConsole():+ getEnvelopeAcceptor():+ getLog():+ getNetworkToBank():+ getOperatorPanel():+ getReceiptPrinter():- performStartup() - performShutdown()表11-23 CardReader- atm:+ CardReader(atm: ATM) + readCard(): Card + ejectCard() + retainCard()表11-24 Ca

18、shDispenser- cashOnHand: Money+ CashDispenser(log: Log) + setInitialCash(initialCash: Money) + checkCashOnHand(amount: Money):+ dispenseCash(amount: Money)表11-25 CustomerConsole+ CustomerConsole() + display(message: String) + readPIN(prompt: String): int throws Cancelled + readMenuChoice(prompt: Str

19、ing, menu: String ):+ readAmount(prompt: Money throws Cancelled表11-26 EnvelopeAcceptor Log+ EnvelopeAcceptor(log:+ acceptEnvelope() throws Cancelled表11-27+ Log() + logSend(message: Message) + logResponse(status: Status) + logCashDispensed(amount:+ logEnvelopeAccepted()表11-28 NetworkToBank InetAddres

20、s+ NetworkToBank(log: Log, bankAddress:+ openConnection() + closeConnection() + sendMessage(message: Message, out balances: Balances): Status表11-29 OperatorPanel+ OperatorPanel(atm:+ getInitialCash():表11-30 ReceiptPrinter+ ReceiptPrinter() + printReceipt(receipt: Receipt)表11-31 Session ATM - pin:- R

21、EADING_CARD_STATE:- READING_PIN_STATE:- CHOOSING_TRANSACTION_STATE:-PERFORMING_TRANSACTION_STATE:- EJECTING_CARD_STATE:- FINAL_STATE:+ Session(atm: ATM) + performSession() + setPIN(int pin)表11-32 Transaction# atm:# session: Session # card:# pin:# serialNumber:# message: Message # balances: Balances

22、- TRANSACTION_TYPES_MENU: final String - nextSerialNumber:- GETTING_SPECIFICS_STATE:- SENDING_TO_BANK_STATE:- INVALID_PIN_STATE:- COMPLETING_TRANSACTION_STATE:- PRINTING_RECEIPT_STATE:- ASKING_DO_ANOTHER_STATE:# Transaction(atm: ATM, session: Session, card: Card, pin: int) + makeTransaction(atm: int):

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1