【UML】- 用例图(结合银行案例解释其中的奥义)
目录
一、相关介绍
作用:
组成:
关系
二、使用具体银行案例解释各组成部分的含义
1、系统
2、参与者
3、用例
4、关联关系
5、扩展关系
6、泛化(继承)关系
三、成品
一、相关介绍
作用:
用例图可以描述一个系统工作的基本流程
组成:
用例图包括四个元素:系统(system)、参与者actors、用例(uer cases)、关系(reletionships)
关系
关联 (Association)
包含(Includ)
扩展(Extend)
泛化 / 继承(Generalization)
二、使用具体银行案例解释各组成部分的含义
1、系统
在这里银行应用就是一个系统:
用一个矩形表示;
系统名称放在矩形顶部;
这个矩形定义的系统的范围。矩形内的任何事都会在银行系统中出现,矩形之外的都不会出现。
2、参与者
参与者分为主要参与者和次要参与者:主要参与者做出动作后,次要参与者才会给予响应
参与者用如下图小人表示:
该系统有两个参与者:
用户(主要参与者):下载并使用银行应用APP
银行(次要参与者):向APP提供相应数据
这些参与者都是APP外部人员,所以放在矩形外,主要参与者在系统左边,次要参与者在系统右边:
3、用例
用于描述系统功能所要用到的元素(银行应用内的动作),用椭圆表示:
将可能有的动作按逻辑顺序排列:
注意:
每个参与者至少与系统中的一个用例进行交互
4、关联关系
用户可以登录APP,可以查看余额,转账,支付等操作,所以用一条直线将用户和用例连接起来:这就是关联关系
以此类推,连出银行参与者的关联关系:
5、包含关系:
(1)、概念:显示基本用例和包含用例之间的依赖关系,每次执行基本用例时,包含关系也会执行。
(2)、使用:当有包含关系时,用虚线箭头指从基本用例指向包含用例,并在线上写出<<include>>。
(3)、在例子中,用户登录是基本用例,验证密码是包含案例,每次登录时,APP都会验证密码是否正确,所以进行包含关系连接:
5、扩展关系
(1)、概念:扩展关系中有基本用例和扩展用例,当基本用例执行时,扩展用例可能执行也可能不执行,扩展用例必须满足一定的条件才会执行,此时就有扩展关系。
(2)、使用:当有扩展关系时,使用一条虚线箭头,从扩展用例指向基本用例,并在线上标注<<extend>>。
(3)、在例子中,用户登录是基本用例,提示密码错误是扩展消息,因为只有密码输入错误才会提示:
注意:
多个基本用例可以指向同一个包含或扩展用例,比如转账和支付两个操作,在执行之前都需要验证资金是否充足(包含关系):
6、泛化(继承)关系
(1)、概念:该关系中有父用例和子用例,子用例拥有父用例的功能,并且子用例还可以额外具有特有的功能,
(2)、使用:当出现泛化关系时,用实线空心箭头从子用例指向父用例连接。
(3)、该例子中支付用例可以细分为支票支付和现金支付,所以存在泛化关系,连接如下: