UML之用例图【概念、关系、例子】

一、UML用例图基本概念

UML用例图:由参与者【Actor】、用例【Use Case】以及它们之间的关系构成的用于描述系统功能的动态视图。用例图由参与者、用例、箭头和系统边界构成。

startUML中,UseCase 栏显示如下内容:从上到下是:包、用例、参与者、关联、直联、泛化、依赖、包含、扩展、系统边界。

参与者【Actor】:是指系统以外的,在使用系统或与系统交互中所扮演的角色。

说明:

1、参与者不是指具体的人,只是与系统交互的角色。

比如:对应生产产品来说,人工组装产品,人是参与者。科技发达了,机器人可以代替人生产,机器人这时候是参与者。

2、一个事物或用户可以扮演多个角色,也就是该事物或用户对应系统的多个参与者。

比如:生产过程中,有时赶时间出货,产线上忙不过来,厂长也上产线组装机器。有一天QC请假了,没人顶班,厂长又去当QC了。厂长只有一个,但是扮演了多个角色。

3、多个事物或者用户也可以对应一个参与者。

在生产产品中,组装员工和机器人对应一个参与者。

4、参与者的主要特征是:作为外部用户与系统发生交互。

用例【Use Case】:系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达 。

二、UML用例图的关系

如图:【该图来自:http://kb.cnblogs.com/page/129491/

包含【include】:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用。基用例控制与包含用例的 关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以依赖包含用例 执行的结果,但是双方都不能访问对方的属性。

说明:

1、UML用例图关系中包含关系最典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。

2、箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,如果缺少包含用例,基用例就不完整;包含用例必须被执行,不需要满足某种条件;其执行并不会改变基用例的行为。

比如:包工头要接了工程,要建房子。建房子要买材料,要绘图纸,还要砌墙等等:

扩展【extend】:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。但是扩展用例对基用例不可见。

说明:箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。

比如:砌墙时,抽烟、喝酒由包工头自己决定是否进行。但是建房子砌墙是必须的。如果包工头不抽烟喝酒,不会影响到砌墙的完整性,但是如果喝酒多了,建房子容易出事故,也就是,执行了扩展用例改变了基用例的行为。

泛化【genneralizition】:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。

比如建房子要搬砖,可以搬红砖,也可以搬水泥砖:

有所不足、多多指正、共同进步!

参考资料:

详解UML建模之用例图关系

UML用例图总结

《StartUML详解》

时间: 2024-07-29 21:52:41

UML之用例图【概念、关系、例子】的相关文章

UML类图符号 各种关系说明以及举例

UML类图符号 各种关系说明以及举例 UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A:类属关系和实现关系在语义上讲也是依赖关系,但由于其有更特殊的用途,所以被单独描述.uml中用带箭头的虚线表示D

[转发]UML类图符号 各种关系说明以及举例

UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A:类属关系和实现关系在语义上讲也是依赖关系,但由于其有更特殊的用途,所以被单独描述.uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖

UML类图符号 各种关系说明以及举例(转载)

文章出处:http://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A:类属关系和实现

【UML】详解六种关系

UML中包含六中关系,分别是:关联(Association).聚合(Aggregation).组合(Composition).泛化(Generalization).依赖(Dependency).实现(Realization) 一. 1关联关系(Association) 关联关系表示两个类之间存在某种语义上的联系.例如,一个人为一家公司工作,一家公司有许多办公室.我们就认为人和公司.公司和办公室之间存在某种语义上的联系. 关联关系提供了通信的路径,它是所有关系中最通用.语义最弱的.在UML中,用一

[UML][转]UML类图符号 各种关系说明以及举例

修改自:http://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html UML中描述类和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A:类属关系和实现关系

【转】UML中的几种关系详细解析

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法). 3) 类的属性即类的数据职责,类的操作即类的行为职责 一.依赖关系(Dependence) 依

转 UML类图几种关系的总结

UML类图几种关系的总结 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向

UML中的6大关系详细说明

UML中的6大关系详细说明: 1.关联关系: 含义:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法:通常含有"知道","了解"的含义 体现:在C#中,关联关系是通过成员变量来实现的: 方向:双向或单向: 图示:实线 + 箭头:箭头指向被关联的类:2.依赖关系: 含义:是类与类之间的连接,表示一个类依赖于另外一个类的定义:依赖关系仅仅描述了类与类之间的一种使用与被使用的关系: 体现:在C#中体现为局部变量.方法/函数的参数或者是对静态方法的调用: 方向:

设计模式之UML类图的常见关系

设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition). 1.泛化关系 泛化关系是继承或实现的关系,是is a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系. 2.依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的.临时性的.非常弱的,一个类的变化会影