用例图怎么画?附4大关系详解
不少刚接触用例的新人,在准备用例说明时并不清楚参与者与用例之间应该如何表达,这就导致用例图呈现不太规范、也不太准确。
所以,我绝对对用例图及相关要点进行梳理,包括
- 用例图的定义及组成要素
- 用例图的4种关系
- 常用的用例图软件
01 用例图的定义及组成要素
用例图是编写需求说明时经常用到的需求表达方式,用于向开发、测试同事说明需求中用户与系统功能单元之间的关系。
它主要由三部分组成: 参与者 、 用例 、 参与者与用例之间的关系。
参与者: 不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。
用例: 是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。
关系: 参与者与用例之间的关系主要包括关联、归纳(泛化)、包含、拓展和依赖。
02 参与者与用例的4种关系
1)关联关系
关系说明: 表示参与者与用例之间的关系
表示方法: 带箭头的实线,箭头指向用例。
举例说明: 用户登录系统
2)归纳(泛化)关系
关系说明: 表示参与者与参与者之间、用例与用例之间的关系。一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。
表示方法: 带空心箭头的实线,箭头指向被泛化(被继承)的用例,即基础用例/父用例。 (注意:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。)
举例说明: VIP会员和普通用户,归纳为用户;账号登录与微信登录,也可归纳为登录系统。
3)包含关系
关系说明: 表示用例与用例之间的关系,其中一个用例(基础用例)的行为包含了另一个用例(包含用例)的行为。
表示方法: 虚线箭头+<<include>>字样,箭头指向被包含的用例
举例说明: 用户在账号登录过程中,包括输入账号、输入密码、确认登录等操作
4)拓展关系
关系说明:表示用例与用例之间的关系;用于拓展用例对基础用例的增强; 拓展用例是在特定条件出现时,才会被执行的用例。
表示方法:虚线箭头+<<extend>>字样,箭头指向被扩展的用例(即基础用例)
举例说明:用户在登录过程中忘记了密码
03 常用的用例图软件
可以绘制用例图的工具很多,传统的如Word、PPT,专业的如Visio、 亿图图示 。
以亿图图示为例,用例图的绘制可以分 四步走 :
1)确认用例图的要素 。具体有哪些参与者、用例,参与者和用例之间的关系是怎样的;
2)选择恰当的显示符号 。打开亿图图示符号库,依次打开“软件架构图>UML Modeling>UML用例”,然后将合适的符号拖放至画布;
- 参与者:人型符号
- 用例:椭圆符号
- 参与者和用例之间的关系:箭线
3)按照确定的关系连接参与者和用例 。
4)对关键要素进行信息标注 。
简单四步,一幅用例图就完成了。
最后,附上亿图图示传送门 ↓↓↓