ATM自动取款机系统的用例图
我将以ATM机系统的例子详细叙述用例图的画法:
根据以下客户描述,绘制用例图
ATM可以支持跨行业务,插入卡片输入密码后,密码正确则可以让我选择具体业务,否则提示密码错误并提示重新输入。具体业务包括存款、取款、转账、查询余额,其中,取款、存款、转账之后系统必须显示当前账户余额以方便用户对账户资金的了解;为了方便,还可以设置一些默认的存取金额按钮;同时我还可以修改密码,可以缴纳水费、电费和煤气费等费用;与此同时为了安全起见,ATM上应当有警示小心骗子的提示条,必须设置监控摄像头;倘若用户输入三次密码错误,卡片应当被ATM机自动吞没。系统还应该提供打印凭条业务,即存款、取款、转账及缴纳费用之后我都可以选择是否打印凭条。
用例建模的步骤:
- 确定系统的边界
- 确定参与者
- 确定用例
- 细化用例
- 绘制用例图
一.确定系统的边界
系统边界是指系统与系统之间的界限。系统可以认为是由一系列的相互作用的元素形成的的具有特定功能的有机整体。
可以大致画出ATM机的系统边界:
系统的边界决定了参与者,如果系统的边界规划的不一样,系统的参与者就会发生很大的变化,相应的用例也会发生很大的变化。
二.确定参与者
为了识别参与者,需要考虑的是谁在使用系统。
确定参与者需要注意以下问题
- 参与者对于系统而言总是外部的
- 参与者直接同系统交互
- 参与者可以是人,事物,系统等
- 参与者可在系统扮演不同的角色
该例中参与者有:ATM机,用户,系统
三.确定用例
识别用例的方法:找动作,目的。
从该例中可以识别以下用例:
支持跨行业
插入卡片
输入密码
存款
取款
查询余额
显示余额
修改密码
缴水费
缴电费
缴煤气费
警示条
打印凭条
吞卡
但是以上的全部是用例吗?
答案显然不是的;
根据用例的动作以及目的可以重新识别:
支持跨行业务 (并不是一个完整的动作,即支持跨行业务干嘛并不了解)插入卡片 (同理,插入卡片要干什么也不清楚)输入密码 (同理,输入密码也不是完整的动作)
存款
取款
查询余额显示余额 (并不是一个动作,而是一个结果)
修改密码
缴水费
缴电费
缴煤气费
警示条(同理不是动作)
打印凭条
吞卡
根据以上可以确定一些基本用例。
四.细化用例
找出对应用例的参与者,同时在用例中找出各种关系,如泛化,包含,扩展等。
存款(客户)
取款(客户)
查询余额(客户)
修改密码(客户)
缴水费(客户)
缴电费(客户)
缴煤气费(客户)
上述可以得出泛化关系,即缴费
打印凭条(客户)(扩展关系)
吞卡(ATM)
综上:
可用powerdesigner画出用例图如下:
附:powerdesigner的中文**版
中文**版