UML用例图(二)

1、 基本概念

1)系统中与实现无关的视图,只关心系统的高级功能,而不关心系统的具体实现细节

2)通常在项目开始时要先确定,之后不轻易修改(主要需求)

2、用例图由三部分组成:参与者,一组用例,关系

3、参与者的定义:

是直接与系统相互做用的系统、子系统或类的外部实体的抽象。它是用户所扮演的角色,是系统的用户。每个参与者定义了一个角色集合。通常,一个参与者可以代表一个人、一个计算机子系统、硬件设备或者时间等角色。典型的参与者如销售部经理、销售员和结账系统。

4、图形表示:

UML用例图(二)

5、参与者的识别:谁将使用系统的主要功能?

(1)    谁将需要系统的支持来完成他们的日常任务?

(2)    谁必须维护、管理和确保系统正常工作?

(3)    谁将给系统提供信息、使用信息和删除信息?

(4)    系统需要处理哪些硬件设备?

(5)    系统使用了外部资源吗?

(6)    系统需要与其他什么系统交互吗?

(7)    谁或者什么对系统产生是结果感兴趣?

(8)    一个人同时使用几种不同的规则吗?

(9)    几个人使用相同的规则吗?

(10)  系统使用遗留下来的应用吗?

6、用例的定义:对一组动作序列的描述,系统通过执行这一组动作序列为参与者产生一个客观察的结果。

7、用例的特征:

(1)    说明了系统具有的一种行为模式

(2)    说明了一个参与者与系统执行的一个相关的事务序列

(3)    提供了一个获取系统需求的方法

(4)    提供了一种与最终的用户和领域专家进行沟通的方法

(5)    提供了一种测试系统的方法

8、用椭圆形表示,用例的名字显示在图标的下面

UML用例图(二)

9、用例模型

一个用例模型由一个或者多个用例图和所有的支持文件所构成。用例规范是大多数用例模型的产物,而用例图充当将需求模型综合在一起的粘合剂。用例模型应当从项目投资者的角度进行开发,而不是从开发者的观点去开发。

10、关系反应了参与者和用例之间、用例和用例之间的以及参与者和参与者之间的相互作用。

11、三种常用的关系:关联关系、依赖关系、泛化关系。以及相关的扩展形式:扩展关系、包含关系、精化关系。

1)关联关系

关联关系表示一种通信路径,它存在于参与者和用例之间,提供用例和参与者之间的通信途径。建立通信之后,信息可以双向流动。关系方向显示的不是信息的流动方向,而是谁启动信息。

单向关联:

UML用例图(二)

双向关联

Actor1UseCase1

Actor2UseCase1

UML用例图(二)

2)依赖关系

存在于两个模型要素之间的一种关系,其中一个模型要素的改变将影响另一个模型要素。

UML用例图(二)
UML用例图(二)

3)泛化关系

在一个更一般的模型要素和另一个较具体的模型要素之间存在的一种关系,通常用于表示类之间的继承关系

表示方法:

UML用例图(二)

用例之间的泛化关系:

UML用例图(二)

参与者之间的泛化关系:

UML用例图(二)

关系的扩展:

(1)    扩展关系

扩展关系可以放置在所有的关系上,大多数扩展构造型都放置在依赖关系和联系关系上。

扩展关系用带箭头的虚线表示,沿线上加一个用双尖括号括起来的“extend

UML用例图(二)

(2)    包含关系

是一种构造型关系,它将一个基用例连接到一个包含用例,包含关系在一个用例种重用另一个用例中的步骤

包含关系用带箭头的虚线表示,沿线上加一个用双尖括号起来的“include

UML用例图(二)

(3)    精化关系

精化关系在不同的语义层或者开发阶段连接两个或者多个模型要素。它表示了某些在一个特定的细节层次上规定的东西的更加全面的规格说明。