实时UML与RationalRoseRealTime建模案例剖析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实时UML与RationalRoseRealTime建模案例剖析11.1ATM自动取款机系统概述:09:00图书导读当前章节:11.1ATM自动取款机系统概述·目录·前言·1.3实时系统的设计方法与技术·11.2ATM自动取款机系统的初始模型的创建·11.3ATM自动取款机系统用例模型的创建·11.4ATM自动取款机系统的概要设计高性能网页开发新20条规则详解Yahoo优异性能开发团队2008魁北克会议演讲中小IT企业如何留住80后技术人才了解80后一代的职场观架构师|项目经理|产品经理俱乐部真公司、真职位、实名的高级技术人员SNS如果你希望与真诚的人真诚的交流,欢迎加入!自动取款机系统概述ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。本节主要简单介绍ATM自动取款机系统及其开发流程。11.1.1ATM自动取款机简介ATM是英文AutomaticTellerMachine的缩写,即自动取款机的意识,图11-1是一个ATM自动取款机的示意图。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询和改密的业务。作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。11.1.1ATM自动取款机简介ATM是英文AutomaticTellerMachine的缩写,即自动取款机的意识,图11-1是一个ATM自动取款机的示意图。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询和改密的业务。作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。11.1.2ATM自动取款机的开发流程ATM自动取款机系统的开发流程遵循实时系统的统一开发过程,主要生命周期包括系统分析、概要设计、详细设计和实现与测试,采用的软件开发方法为迭代式。开发流程详细说明如下。l系统分析。主要标识系统涉及的用例,以及为每个用例创建的事件流。而且,还需要定义初始功能测试用例,作为检查最后实现是否正确和完备的工具。系统分析还需要显示用例隐含的类,利用分析类图进行文档化处理。l概要设计。使用CRC卡,定义每个类的职责。首先通过全局类图定义设计的静态结构,然后定义设计的动态结构,使用状态图定义主要控制类的动态行为,为主要用例创建交互图。l详细设计。包括为每个类定义属性和操作,利用包图对相关类进行组织。l代码生成。利用代码生成工具将设计转换为Java代码,并对代码进行详细处理,编写辅助代码,完成系统实现,并能够对设计进行模拟,能够作为Applet运行,能够在浏览器中查看可执行版本。需要注意的是,本实例采用实时Java作为最后的实现语言,创建了一个ATM自动取款机的模拟程序。模拟真实ATM机的行为,还需要JDK的支持。11.1.3ATM自动取款机系统初始需求描述下面是一个ATM自动取款机系统初始需求描述示例,供读者参考。“ATM自动取款机系统初始需求规格说明书”1.引言1.1目的本文档描述了自动取款机系统的软件需求,支持ATM的设计人员、开发人员和维护人员。1.2范围ATM的功能要求支持计算机银行网。1.3概述文档剩余部分组织如下:本节后续部分将给出一些重要术语的定义;第2部分将包含对ATM的一些基本描述;第3部分表示特定的功能需求、外部接口和性能需求。1.4定义l账号。在银行中,事务应用的单个账号。账号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个账号。lATM。一个工作站终端,使得顾客能够使用现金卡在ATM上进行自己的事务处理。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和处理信息之后,将现金通过ATM提供给顾客。l银行。一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。l银行计算机。银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互。银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交互的计算机。l现金卡。每张卡提供给一个银行客户,授权客户可以使用ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。每张卡只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。l客户。拥有银行的一个或者多个账号的人。客户可以包括一个人或者多个人,或者是公司。相同的人,拥有不同银行的账号被认为是不同的客户。事务。对单个客户账号的单个完整的操作请求。11.2ATM自动取款机系统的初始模型的创建在RationalRoseRealTime中,创建ATM自动取款机系统模型的第1步是创建初始模型,其操作步骤如下。(1)启动RationalRoseRealTime,在“CreateNewModel”对话框中,选择“RTJava”选项,这是因为ATM自动控制系统采用实时Java实现,需要导入Java框架。然后单击“Open”按钮,如图11-4所示。图11-4定义模型框架(2)RationalRoseRealTime将在工具集中初始化一个空的模型,标题将显示为“RationalRoseRealTime-(Untitled)”,表示这是一个新模型,还没有保存到磁盘中。(3)保存所创建的模型,并命名为“ATM”,如图11-5所示。这样就完成了初始模型的创建操作,下面将介绍如何创建其他UML模型。11.4ATM自动取款机系统的概要设计明确需求之后,就需要开始对系统进行概要设计。概要设计的主要输出是概要设计说明书,但在此并不介绍如何编写ATM自动取款机系统的概要设计说明书,而是分析如何基于面向对象的思想、UML和RationalRoseRealTime执行系统的概要设计。11.4.1分析初始类模型通过对ATM自动取款机系统的用例模型进行分析,可以提取以下Capsule和类。l自动取款机Capsule:ATM,由以下Capsule组成。Ø操作面板:OperatorPanel。Ø读卡机:CardReader。Ø顾客面板:CustomerConsole。Ø同银行的网络连接:NetworkToBank。Ø吐钱机:CashDispenser。Ø现金接收器:EnvelopeAcceptor。Ø收据打印机:ReceiptPrinter。l对应于用例的Capsule。Ø会话类:Session。Ø事务类(抽象类,复杂公共特性,支持对特定事务类型的继承):Transaction。lATM信用卡类:Card。lATM机器维护的事务日志Capsule:Log。基于用例分析和上述提取的Capsule和类,可以创建以下初始分析类图,以显示类同参与者及类图之间的关系,如图11-17所示。图11-17初始分析类图11.4.2创建ATM的CRC卡CRC(Class-Responsibility-Collaborator)卡建模是一种简单且有效的面向对象的分析技术。在一个实时系统开发项目中,包括用户、系统分析员和开发者,在建模和设计过程中,经常应用CRC卡建模,使整个开发团队普遍的理解形成一致。CRC卡由类(Class)、职责(Responsibility)和协作(Collaborator)3部分组成。类代表许多类似的对象。而对象是系统模型化中关注的事物。对象可以是人、地方、事情或任何对系统有影响的概念。类名一般列在CRC卡的顶部。职责是类需要知道或需要做的任何事物。这些职责是类自身所具备的知识,或类在执行时所需要的知识。协作是指为获取消息或协助执行活动的其他类。在特定情形下,与指定的类按一个设想共同完成同一个(或许多)步骤。协作的类名在CRC卡的右边排列。在此,主要为以下Capsule和类定义CRC卡。ATMCRC卡:如表11-2所示,它是ATM自动取款机的顶层类,用于实现ATM操作的业务逻辑。表11-2ATMCRC卡ATM当开关打开时,启动系统当开关关闭时,关闭系统当顾客插入信用卡时,开始一个新的会话提供对Session和Transaction构件的访问能力OperatorPanelCashDispenserNetworkToBankCustomerConsoleSessionlCardReaderCRC卡:如表11-3所示,用于读取现金卡的信息。表11-3CardReaderCRC卡CardReader告诉ATM信用卡什么时候插入的从卡上读取信息弹出信用卡保存信用卡ATMCardlCashDispenserCRC卡:如表11-4所示,该类用于处理弹出现金操作的业务逻辑。表11-4CashDispenserCRC卡CashDispenser跟踪信用卡,采用初始金额进行初始化报告是否有足够的金额吐钱LoglCustomerConsoleCRC卡:如表11-5所示,该类用于支持用户控制台操作。表11-5CustomerConsoleCRC卡CustomerConsole显示消息无显示提示信息,从键盘接收口令显示提示信息和菜单,从键盘接收一个选项显示提示信息,从键盘接收输入的金额数量对用户按下的取消键作出响应lEnvelopeAcceptorCRC卡:如表11-6所示,该类用于处理现金接收器的业务逻辑。表11-6EnvelopeAcceptorCRC卡EnvelopeAcceptor从顾客接收现金LoglLogCRC卡:如表11-7所示,用于记录操作日值。表11-7LogCRC卡Log记录发送到银行的消息记录从银行接收到的消息记录吐的现金数记录从顾客接收的现金数无lNetworkToBankCRC卡:如表11-8所示,用于支持ATM同银行的连接。表11-8NetworkToBankCRC卡NetworkToBank在ATM机启动时初始化同银行的连接向银行发送消息,等待响应在系统关闭时终止同银行的连接MessageLogBalancesStatuslOperatorPanelCRC卡:如表11-9所示,用于处理操作面板的业务逻辑。表11-9OperatorPanelCRC卡OperatorPanel通知ATM将状态修改为开关状态允许操作员定义初始现金的数量ATMlReceiptPrinterCRC卡:如表11-10所示,用于支持收据打印。表11-10ReceiptPrinterCRC卡ReceiptPrinter打印收据ReceiptlSessionCRC卡:如表11-11所示,用于支持用户会话的业务逻辑。表11-11SessionCRC卡Session执行会话用例如果顾客重新输入口令,则更新口令值ATMCardReaderCardCustomerConsoleTransactionlTransactionCRC卡:如表11-12所示,用于支持用户事务操作的业务逻辑。表11-12TransactionCRC卡(续表)Transaction允许顾客选择事务类型执行事务用例ATMCustomerConsoleWithdrawalDepositTransferInquiryATMCustomerConsole(续表)Transaction执行非法口令扩展用例WithdrawalDepositTransferInquiryMessageNetworkToBankReceiptReceiptP

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功