菜鸟笔记
提升您的技术认知

UML之用例图

一、用例图概要

  • 用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图
  • 用例是系统中的一个功能单元
  • 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)
  • 用例图多用于静态建模阶段(主要是业务建模和需求建模)

 

二、用例图中的元素及解释

用例图主要有六个元素:

  1. 参与者(Actor)、
  2. 用例(Use Case)、
  3. 关联关系(Association)、
  4. 包含关系(Include)、
  5. 扩展关系(Extend)
  6. 泛化关系(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,监督员,信用卡服务商,信息亭。

   4、庭审系统用例图