- 用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图
- 用例是系统中的一个功能单元
- 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)
- 用例图多用于静态建模阶段(主要是业务建模和需求建模)
用例图主要有六个元素:
- 参与者(actor)、
- 用例(use case)、
- 关联关系(association)、
- 包含关系(include)、
- 扩展关系(extend)
- 泛化关系(generalization)
1、参与者(actor)
参与者在uml中用下面带有名字的小人来标示,主要表示与您的软件系统交互的人,组织或者外部软件系统。
2、用例(use case)
用例在uml中用使用椭圆标示,主要说明你的软件系统的功能,是使用文字描述的形式说明你的系统的功能。
3、关联关系(association)
在uml中用例图中用箭头来标示,主要描述参与者与用例之间的关系。
【箭头指向】:指向用例
4、包含关系(include)
在uml中包含关系表示为虚线箭头加<>字样,有时候一个用例很大,那么我们可以把用例分块,把复杂的用例分解为几个小用例来描述
【箭头指向】:箭头指向被包含的用例
5、扩展(extend)
在uml中扩展关系表示为虚线箭头加<>字样,扩展是指在基础用例功能的基础上插入新的功能点,新的功能点可以看做是对基础用例的扩展。
【箭头指向】:箭头指向基础用例
6、泛化(inheritance)
在uml中用例泛化用一个空心三角箭头从子用例指向父用例,泛化就是继承关系,子用例可以使用父亲用例中的属性,行为和关系。
【箭头指向】:箭头指向父用例
1、参与者之间的泛化关系
参与者:经理,安全主管,保安
用例:管理人事,批准预算,批准安全证书,监视周边在参与者之间不存在泛化关系的情况下,各个参与者参与用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。
2、用例之间扩展和包含关系
用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。
3、航空售票的用例图
参与者(actor):clerk,监督员,信用卡服务商,信息亭
用例(use case): buy tickets, buy subscription, make charges, survey sales
参与者clerk参与(或称发起)buy tickets和buy subscription 两个用例(关联关系)。这两个用例的事件流都包含make charges用例(包含关系)。
系统由:buy tickets, buy subscription, make charges, survey sales组成。
该系统主要包含:buy tickets, buy subscription, make charges, survey sales这几个功能。
该系统主要面向的用户(参与者):clerk,监督员,信用卡服务商,信息亭。