您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > ATM自动取款机系统需求分析
1ATM自动取款机Bruce面向对象分析与设计—案例2ATM系统ATM系统图1ATM系统储户ATM中央计算机分行计算机分行计算机账户储户柜员储户ATM中央计算机分行计算机分行计算机账户账户柜员终端储户柜员账户账户ATMATMBruce面向对象分析与设计—案例31.建立对象模型问题描述ATM问题陈述:•某银行开发一个自动取款机系统,其组成:自动取款机、中央计算机、分行计算机、柜员终端组成的网络系统。ATM和中央计算机由中行投资购买。中行拥有多台ATM,分别设在全市各个主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。Bruce面向对象分析与设计—案例4银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户可以从自己的账户中取款,通常一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信。分行计算机具体处理针对某个账户的事务并且维护账户。Bruce面向对象分析与设计—案例5拥有银行账户的储户有权申请领取现金兑换卡,使用现金兑换卡可以通过ATM访问自己的账户。目前,仅限于用现金兑换卡在ATM上提取现金,或查询有关自己账户的信息(如有没有余额),将来还要使用ATM办理转账、存款等事务。现金兑换卡是一张磁卡,上面有分行代码和卡号。Bruce面向对象分析与设计—案例6分行代码唯一标识总行下属的一个分行.卡号确定这张卡可以访问哪些账户。通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。每张现金兑换卡仅属于一个储户所有,但是用一张卡可能有多个副本因此,必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性也就是说系统应当处理并发的访问。Bruce面向对象分析与设计—案例7当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息。并与中央计算机交换关于事务的信息。首先,ATM要求输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这些事务。Bruce面向对象分析与设计—案例8中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。若用户输入的密码是正确的,ATM要求用户选择事务类型(取款、查询等),当用户选择取款时,ATM请求用户输入取款额。最后ATM从现金出口吐出现金,并且打印出账单交给用户。Bruce面向对象分析与设计—案例9建立对象模型的步骤:.确定类—&—对象.确定属性建立实例连接.确定结构.确定主题.确立服务建立消息连接Bruce面向对象分析与设计—案例101)确定类—&—对象找出候选的类—&—对象.找名词(34个)银行,总行,分行,系统,中央计算机,分行计算机,街道,市,营业厅,网络,储蓄所,软件,成本,信息,柜员终端,柜员,储户,事务,现金,现金兑换卡,支票,账户,用户,余额,磁卡,副本,卡号,密码,类型,账单,取款额,自动取款机,分行代码,(访问)Bruce面向对象分析与设计—案例11筛选出正确的对象和类冗余:储户、用户,现金兑换卡、磁卡、副本无关:去掉:成本、市、街道、营业厅、储蓄所去掉模糊类、概括类银行指总行、分行;网络、系统、软件、信息等去掉非独立的类(属性):描述其他对象的属性实现:通信链路、事务日志—设计实现时考虑Bruce面向对象分析与设计—案例12自动取款机(ATM)中央计算机分行计算机柜员终端总行分行柜员储户账户事务现金兑换卡最后确定的对象:Bruce面向对象分析与设计—案例132)确定属性建立实例连接属性:描述对象静态特征的一个数据项.名词词组表示属性、形容词表示枚举的属性.注意误把对象当作属性在邮政目录中,“城市”是属性在人口普查中,“城市”是对象Bruce面向对象分析与设计—案例14误把内部状态当成属性构造一个“电话模型”时,“拨号”是操作开发“电话自动记账”时,“拨号”是类,有属性(时间等)不要把链属性误作为属性误把限定当属性是否存在不一致的对象Bruce面向对象分析与设计—案例15确定ATM对象的属性“分行代码”是关联分行组成总行上的限定词“卡号”是分行发放现金兑换卡关联上的限定词“账号”是关联分行保管账户上的限定词“雇员号”是分行雇用柜员上的限定词“站号”是分行拥有柜员终端,柜员终端与分行计算机通信及中央计算机ATM通信等三个关联上的限定词Bruce面向对象分析与设计—案例16图2ATM对象模型中的属性及实例连接分行代码1+保管1+1+1+拥有1+修改1+输入1+修改1+1+1+组成通信通信1+拥有1+通信1+拥有1+输入输入授权1+3拥有分行代码站号柜员终端分行计算机站号雇员号分行分行名账号账户余额限额类型卡号远程事务储户姓名地址站号发放总行ATM现有金额付出金额中央计算机1+现金兑换卡密码类型日期金额总行名柜员事务类型日期金额柜员姓名Bruce面向对象分析与设计—案例17确定ATM的关联直接提取动词短语得出的关联(18个关联)ATM、中央计算机、分行计算机、柜员终端组成网络。总行有多台ATMATM设在主要街道上分行提供分行计算机、柜员终端柜员终端设在分行营业厅及储蓄所内分行分摊软件开发成本储户拥有账户分行计算机处理针对账户的业务Bruce面向对象分析与设计—案例18直接提取动词短语得出的关联分行计算机维护账户柜员终端与分行计算机通信柜员输入针对账户的事务ATM与中央计算机交换关于事务的信息中央计算机确定事务与分析的对应关系ATM读现金兑换卡ATM与用户交互ATM吐出现金ATM打印账单系统处理并发的访问Bruce面向对象分析与设计—案例19需求陈述中的隐含关系总行由各行组成分行保管账户总行拥有中央计算机系统维护事务日志系统提供必要的安全性储户拥有现金兑换卡根据问题域、知识得出的关联现金兑换卡访问账户分行雇用柜员Bruce面向对象分析与设计—案例20已被删去类之间的关联ATM、中央计算机、分行计算机、柜员终端组成网络;ATM设在主要街道上;分行分摊软件开发成本系统提供必要的安全性;系统维护事务日志ATM吐出现金;ATM打印账单;柜员终端设在分行营业厅及储蓄所内.与问题无关的或在实现中要考虑的关联去掉分行计算系统处理并发的访问去掉不正确、不必要的关联Bruce面向对象分析与设计—案例21发现一般-特殊结构具有领域的分类知识按常识考虑事物的分类用一般-特殊关系去发现一般-特殊结构考虑领域范围内的复用3)确定结构一般---特殊结构(分类结构)Bruce面向对象分析与设计—案例22发现整体部分结构•客观世界存在的整体部分关系(物理上的)•组织机构上下级关系•事物的包容性•抽象事务和某个抽象方面•具体事物和它的某个抽象方面Bruce面向对象分析与设计—案例234)确定主题(subject)图3ATM系统划分成三个主题主题ATM1+保管1+1+拥有1+修改1+输入1+修改1+1+1+1+雇用1主题总行通信通信1+分行代码拥有1+拥有通信1+拥有1+输入输入授权访问1+3拥有333总行分行中央计算机ATM储户1+账户2现金兑换卡远程事务柜员柜员终端柜员事务分行计算机组成2主题分行12Bruce面向对象分析与设计—案例242.建立动态模型编写脚本确定各个对象之间的事件构造事件追踪图(交互图)构造状态图添加活动和动作验证一致性、完整性建立顺序图、协作图、状态图、活动图步骤:Bruce面向对象分析与设计—案例251)TM系统正常情况下的脚本Bruce面向对象分析与设计—案例262)ATM系统异常情况下的脚本Bruce面向对象分析与设计—案例27(1)顺序图(交互图、事件追踪图、序列图)展示对象之间的交互顺序,这些交互是指在场景或用例的事件流中发生的。Bruce面向对象分析与设计—案例28图4ATM系统正常情况下的对象交互Bruce面向对象分析与设计—案例29图5ATM状态图中(2)ATM状态图Bruce面向对象分析与设计—案例30“总行类”状态图:图6总行类状态图Bruce面向对象分析与设计—案例31“分行类”状态图:图7分行类状态图Bruce面向对象分析与设计—案例323.功能模型功能模型描述系统的数据信息,系统中数据之间的依赖关系,及有关的数据处理功能。功能模型规定了对象模型中操作的意义,动态模型中动作的意义。功能模型是由多张数据流图DFD组成的。DFD图中允许出现:•输入、输出对象(矩形框)•处理•数据流•控制流•数据存储Bruce面向对象分析与设计—案例33ATM系统的DFD图:图8ATM系统的DFD图Bruce面向对象分析与设计—案例34图9ATM系统细化的DFD图
本文标题:ATM自动取款机系统需求分析
链接地址:https://www.777doc.com/doc-5519136 .html