用例建模-银行系统(三)

一.背景

二.用例分析

用户“取款“、”查询账户“、”“转账都使用了统一用例-验证PIN码。

三.实体

四.确定类

4.1 确定ATM客户端类

 

4.2 确定ATM服务端类

 

五.动态建模

       在以往的开发中会遇到很多问题,在相关的技术文档中明确用例图实体之后就急着画类图以及调用关系,但其实在实际中类和类之间的关系是靠类的实例化对象来实现的。所以使用动态建模来描述每个用例的对象之间的交互是必要的,满足每个用例需要的对象间消息通信序列可以使用通信图来描述。

5.1 ATM客户端建模

  • 1:“ATM客户”参与者将ATM卡插入“读卡器”。“读卡器接口”对象读取卡中信息。
  • 1.1:“读卡器接口”将ATM卡输入数据(卡号、生效日期、失效日期)发送给“ATM卡“实体对象。
  • 1.2:”读卡器接口“将”卡片插入“的消息发送给”ATM控制“对象。”卡片插入“事件使得”ATM控制”状态图从空闲状态转移到等待状态。
  • 1.3:“ATM控制”将“获取PIN码”信息发送给“客户交互”对象。
  • 1.4:“客户交互”对象将“PIN码提示”显示给“ATM客户”参与者。
  • 2:“ATM客户”向“客户交互”对象提供卡数据。
  • 2.1:“客户交互“对象向”ATM卡“请求卡数据。
  • 2.2:”ATM“向”客户交互对象提供卡数据。、
  • 2.3:”客户交互“向”ATM交易“实体对象发送”卡号“、”PIN码“、”生效日期“和”失效日期“。
  • 2.4:”ATM交易“实体向”客户交互“发送”PIN码验证交易“。
  • 2.5:”客户交互对象向”ATM控制“发送”PIN码已输入“的信息。这条信息使得”ATM控制“状态图从”等待PIN码状态“转移到“验证PIN码”状态。
  • 2.6:“ATM控制”向“银行服务”发送一个“验证PIN码”的请求。
  • 2.7:“银行服务“验证PIN并向”ATM控制“发送”有效PIN码“的响应。然后。”ATM控制“转移到”等待客户选择“状态。
  • 2.8:”ATM控制“对象向”客户交互“对象发送”显示菜单“消息。
  • 2.8a:”ATM控制“对象向”ATM交易“对象发送”更新状态“消息。
  • 2.9:”客户交互向“ATM客户”显示包含“取款”、“查询”和“转账”选项菜单。”

5.2 ATM服务端建模

 

      “银行交易协调者”对象从“ATM客户端”以先进先出的方式处理消息队列。对每条信息,交易协调者确定交易类型,然后委托相应的交易管理者处理消息;当交易结束,交易管理者会向“交易协调者”发送响应信息,然后“交易管理者“向”ATM客户端”发送响应消息。

     客户端有多个实例,然而服务子系统只有一个实例。因此每个ATM客户端实例在ATM结点上运行,“银行服务”实例在服务器结点上运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值