前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EA&UML日拱一卒 用例图开篇

EA&UML日拱一卒 用例图开篇

作者头像
面向对象思考
发布2021-12-31 19:13:19
2630
发布2021-12-31 19:13:19
举报

创建用例图

在Package节点上调出上下文菜单。

选择【Add Diagram...】

选择【UML Behavioral】分类,选择【Use Case】图面类型。

上图中红框部分就是用例图常用的图形要素。

用例图基本要素

用例

用例是捕获建模主体需求的一种手段,一般用来描述主体应该做什么。作为用例描述对象的主体可以与一个或多个参与者之间进行协作。用例定义主体的行为而不必考虑其内部结构。这些行为涉及之间的相互作用参与者和主体,可能会导致主体状态的变化以及与其环境的通信。一个用例可以包括其基本行为的可能变化,包括异常行为和错误处理。

参与者

参与者是可能与主题发生交互的用户和任何其他系统。

边界

边界用于表示作为建模对象的主体的范围。所有的参与者都应该处于边界外侧。

第一个用例

假设我们在为自动提款机的取款功能建模,这个功能的概要如下:

代码语言:javascript
复制
显示待机画面
检测用户插入银行卡,执行进卡动作
显示语言选择画面
等待并处理用户选择语言
提款机显示用户认证画面
等待用户输入密码并按下确定按钮
如果密码错误,提示重新输入密码
如果密码正确,显示该银行卡类型的有效服务
根据用户选择结果进入取款额输入画面
接受用户输入的取款额
与银行系统服务器通信,如果余额不足,提示用户重新输入
如果余额充足,进入处理中画面,同时将纸币搬运到出钞口
打开出钞口挡板
等待用户取走钞票
关闭出钞口挡板
显示是否需要其他服务画面
如果用户选择打印凭条,进入打印中画面,完成后返回是否需要其他服务画面
如果用户选择其他服务,进入对应服务画面
如果用户选择取卡,执行出卡动作,并提示客户取卡
检测用户取卡后显示待机画面
超过30秒没有取卡,执行吞卡动作

由于我们是在对提款机建模,因此这段脚本每一句都是提款机视角。这点需要注意。

添加边界

选择工具条中的

图标之后,在绘图区双击鼠标。

输入建模对象的名称:ATM。

这个矩形框就是ATM的边界。

添加用例

选择工具条中的

并在绘图区双击鼠标之后,选择【General】分页,输入用用例名:取款。

选择Scenarios分页之后,首先输入如下基本路径。

代码语言:javascript
复制
显示待机画面
检测用户插入银行卡,执行进卡动作
显示语言选择画面
等待并处理用户选择语言
提款机显示用户认证画面
等待用户输入密码并按下确定按钮
显示该银行卡类型的有效服务
根据用户选择结果进入取款额输入画面
接受用户输入的取款额
与银行系统服务器通信,执行取款命令
进入处理中画面,同时将纸币搬运到出钞口
打开出钞口挡板
等待用户取走钞票
关闭出钞口挡板
显示是否需要其他服务画面
如果用户选择打印凭条,进入打印中画面,完成后返回是否需要其他服务画面
如果用户选择取卡,执行出卡动作,并提示客户取卡
检测用户取卡后显示待机画面

和基本路径相比,这段描述去掉的分支和异常处理。结果如下:

按照相同的方式,输入替代路径和异常路径:

名称

类型

内容

密码错误

Exception

如果密码错误,提示重新输入密码

余额不足

Execption

如果余额不足,返回取款额输入画面

打印凭条

Alternate

如果用户选择打印凭条,进入打印中画面,完成后返回是否需要其他服务画面

办理其他业务

Alternate

如果用户选择其他服务,转入服务选择画面

超时吞卡

Execption

超过30秒没有取卡,执行吞卡动作

脚本输入结果如下:

用例添加完成后画面的样子。

添加参与者

选择

图标之后在画面中ATM边界之外适当的位置添加两个参与者:客户和银行系统。

添加使用关系

选择

图标之后分别在客户和取款用例之间,取款用例和银行系统之间连线。

完成!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 面向对象思考 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档