UML用例中的包含、扩展、泛化关系的理解

原创 2004年06月24日 14:59:00

在用例关系中有有三种关系,一是包括,"include" 一是扩展"extend"一是泛化,当然还有最基本的关系,“关联”.

其中,包含关系:

包含关系用于将部分工作流程分离出去,对这部分工作流程来说,基本用例只取决于结果,与获得结果的方法无关。如果这种分离可以简化对基本用例的理解(隐藏详细的行为),或者可以在其他基本用例中复用被分离的行为,您就可以将这部分工作流程分离出去。

基本用例通过包含关系连接到包含用例。包含用例总是抽象的。它描述在执行基本用例的用例实例中插入的行为段。基本用例可控制与包含用例的关系,并可依赖于执行包含用例所得的结果,但是基本用例和包含用例都不能访问对方的属性。从这种意义上来讲,包含用例是被封装的,它代表可以在各种不同的用例中复用的行为。

包含关系用于:(1)从基本用例中分解出来这种的行为:它对于了解基本用例的主要目的不是必需的,只有它的结果才比较重要。(2)分解出两个或者多个用例所共有的行为。

扩展关系:

扩展关系将扩展用例与基本用例连接了起来,通过在基本用例中引用扩展点,可以定义在基本用例的哪些位置插入扩展用例,扩展用例通常是抽象的,但是不是必须抽象。

扩展的目的在于:(1)表明用例的某一部分是可选的(或者可能可选)的系统行为。这样,你就可以将模型中的可选行为和必选行为分开。(2)表明只有在特定条件下(有时候是异常情况下)才执行的分支流,如触发警报。(3)表明可能有一组行为段,其中的一个或者多个段可以在基本用例中的扩展点处插入。所插入的行为段(以及插入的顺序)将取决于在执行基本用例时与主角进行的交互。

扩展是有条件的,它是否执行取决于在执行基本用例时所发生的事件。基本用例并不控件执行扩展的条件,这些条件在扩展关系中进行说明。扩展用例可以访问和修改基本用例的属性。但是基本用例看到到扩展用例,也无法访问它们的属性。

扩展用例以隐含的方式修改基本用例。也可以说,基本用例定义了可以在其中添加扩展用例的模块化的框架,但是基本用例看不见特定的扩展用例。

基本用例自身应该是完整的,即基本用例应该是可理解并且有意义的,而不必引用任何扩展用例。但是基本用例并不独立于扩展用例,因为如果无法遵循扩展用例,就不能执行基本用例。

泛化关系:用例的泛化关系是指一种从子用例到父用例的关系,它指定了子用例如何特化父用例的所有特征和行为。

父用例可以特化形成一个或者多个子用例,这些子用例代表了父用例比较特殊的形式。尽管在大多数情况下父用例是抽象的,但是无论是父用例还是子用例这两者都不要求一定抽象。子用例继承父用例的所有结构、行为和关系。同一父用例的子用例都是该父用例的特例。这就是可适用于用用例的泛化关系。

当你发现两个或者多用例在行为,结构和目的方面存在共性时,就可以使用泛化关系。这种情况发生时,你可以用一个新的、通常也是抽象的用例来描述这些共有部分,该用例随后被子用例特化。

?

UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解

Peter Wei在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。...
  • weigbo
  • weigbo
  • 2011年03月13日 02:34
  • 6450

UML用例图中包含、扩展和泛化三种关系详解

本文转自:http://www.cnblogs.com/shinings/archive/2009/04/21/1440765.html UML用例图中包含(include)、扩展(extend)和泛...
  • caihaijiang
  • caihaijiang
  • 2010年09月24日 13:17
  • 14943

用例图中的三种关系包含、扩展、泛化

用例图使用户 与开发人员交流的一种重要的方式,是对用户需求的一种描述。开发人员从用户的角度整体上理解系统的功能。              用例图主要有三种元素:参与者(Actor),用例,以及用例...
  • vicky_lxw
  • vicky_lxw
  • 2017年04月09日 17:16
  • 139

软考之UML用例图中包含、扩展和泛化的区别

在软考复习下午题的时候,涉及UML图时会有一个知识点就是用例图中包含、扩展和泛化的区别。这里我们就来总结一下。 1、包含 2、扩展 3、泛化...
  • huanjileaimeidan
  • huanjileaimeidan
  • 2014年06月06日 15:36
  • 2334

用例的泛化,包含,扩展关系的比较

一般来说可以用is a和has a来判断使用哪种关系。泛化关系和扩展关系表示的是用例之间的is a关系,包含关系表示的是用例之间的has a关系。扩展关系和泛化关系相比,多了扩展点的概念,也就是说,一...
  • angelfallen
  • angelfallen
  • 2004年12月08日 10:51
  • 3541

用例图

用例图中包含的元素除了系统边界、角色和用例,另外就是关系。关系包括用例之间的关系,角色之间的关系,用例和角色之间的关系。1、角色之间的关系:角色之间的关系。由于角色实质上也是类,所以它拥有与类相同的关...
  • kf
  • kf
  • 2007年04月28日 01:31
  • 1224

讨论:何谓扩展用例?

关于UML中的扩展用例的定义我发现各家之言各不相同,在《UML用户指南》中有这么一段:用例之间的扩展关系表示基础用例在由延伸用例间接地说明的一个位置上,隐式地合并了另一个用例的行为。基础用例可以单独存...
  • LoveLion
  • LoveLion
  • 2006年09月18日 15:08
  • 2716

用例图中的三种关系包含、扩展、泛化

用例图使用户 与开发人员交流的一种重要的方式,是对用户需求的一种描述。开发人员从用户的角度整体上理解系统的功能。 用例图主要有三种元素:参与者(Actor),用例,以及用例图中对...
  • lxy344x
  • lxy344x
  • 2014年10月21日 21:53
  • 11263

UML——用例图的扩展和包含关系

用例图(Use Case Diagram)是从用户的角度描述系统的功能,并指出各功能的操作者,主要作用有3个:获取需求、指导测试、在整个过程中的其他工作流中期指导作用。用例元素包括参与者和用例,用例间...
  • u013046097
  • u013046097
  • 2014年11月30日 21:21
  • 3020

用例图中的三种关系包含、扩展、泛化

http://m.blog.csdn.net/lxy344x/article/details/40346525           用例图使用户 与开发人员交流的一种重要的方式,是对用户需求...
  • rnZuoZuo
  • rnZuoZuo
  • 2017年12月27日 16:58
  • 63
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UML用例中的包含、扩展、泛化关系的理解
举报原因:
原因补充:

(最多只允许输入30个字)