`
terryfeng
  • 浏览: 504765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UML中对关系的描述 (二)

UML 
阅读更多

    UML 中的关系是比较难记的部分,这里我把UML常用的关系做一下总结和简单介绍。

    说明: 示例图形是使用  EA 7.5 绘制的。

   

UML 五种基础关系(类图为例)

关联关系

关联关系连接元素和实例,用无方向实线连接两个模型元素。

关联的两端可以为双方标记角色多重性

现实事物不是孤立存在的,对象与对象之间都存在着一定的关系,比如教师和学生,我们用关联关系表示。

 

建角色

image

角色:

代表Class3扮演“目标端”这个角色,比如,人,欣赏,演出

人是元素,欣赏是关系,演出是目标元素,人扮演的角色是“观众”,演出扮演的角色是“演员”

可见性:

在下面的表示的“目的端”前面有一个“+”号,他代表,本类中包含有可被访问的特性或者方法,如果是“-”号的话就代表,类中包含隐含的特性和方法。UML2.0中不再使用可见性默认全部为+

建多重性(阶元):

image

建关系名称

image

导航性 

关系还有一个特性叫“导航性”,导航性的特点就是在关系的实现一段出现了一个箭头,代表着单向可见或使用被指向的对象(包含成员,或者调用方法什么的),如果要双向导航就省略箭头,因为默认情况下,无箭头的关系就代表着双向可导航,可以为关系定义导航的名称以更好的说明导航的含义,比如 人-使用 ->汽车 ,但汽车不能使用人。

 

依赖关系

依赖关系描述了一个元素对另一个元素的依存关系,依赖关系用带虚线箭头指向目标模型,代表源对象依赖于目标对象的存在

image

新建一个依赖

image

从工具栏拖动一个关系进来,可以通过高级中的更改类型来改类型,反向来掉转方向,依赖关系也可以添加多重性,名称等。

 

泛化关系(继承关系)

泛化代表一个元素是另一个元素的特例。,用下面的图形表示,一个三角形的实线,代表,源元素(特殊)是目标元素(一般)的特例

image

泛化关系不能建立多重性标识。

新建可以从工具栏中拖动一个进来

image

 

实现关系

实现关系描述一个元素实现了另一个元素,比如一个类实现了一个接口的定义,用虚线三角表示。下面可以看到类实现了接口

image

新建一个实现

image

可以看到他有一个构造型《Realize》而且无法去掉,不可以加多重性

 

聚合关系

聚合关系描述元素之间部分与整体的关系,即表示一个增提的模型元素可以有几个表示部分的模型元素所构成。

举例说明一下聚合,台式机(整体)由主机(部分)+显示器(部分)组成,且只有这两部分,好比像要一个台式机,就必须存在主机和显示器,而也就只需要这两个部分即可。

聚合就是用来说明一个复杂的对象是可以通过多个简单的对象组合起来的。

程序上理解聚合:

Class A

{

  B[] b;

}

也就是程序中会使用到B的定义;

如果你仅想表示一个元素包含另一个元素的使用,而不是组合的关系,可以使用依赖关系。

image

在上面可以看到C4 由C5和C6组成,右键点击聚合关系,会有一个Set Aggregation To Composite的选项,这个选项是用来将 聚合 和  复合(组成) 两种关系之间进行切换的。

复合(组成)关系

复合(组合)关系是更强的耦合性关系,他与聚合都是表示整体由部分组成,不同之处在于部分必须要求整体的存在,比如像下面的图形中,如果没有了数据库,那么就没有了表和存储过程。

 

程序上理解聚合:

Class A

{

  B b;

  A

  {

    b = 1;

  } 

}

也就是B会做为A的一个成员;

 

image

组合关系可以包含多重性,上图中表示,一个数据库可以对应1个或者多个表,一个数据库可以对应0个或者多个存储过程,这里数据库都被要求至少且仅有一个数据库,都是存在1对多的关系。

 

用例图中的关系

包含关系

包含关系代表把一些公共部分抽离出来成为一个新的用例去使用。

重点:包含关系代表了这个关系用例是一定会执行到的,也就是这个用例会总是被要求执行。

在虚线箭头上加《include》构造型

image

这个图就代表了,UC1和UC2,都会去执行UC3定义的需求。

 

扩展关系

扩展关系是一种依赖关系,他指定了一个用例可以增强另一个用例的功能。

重点理解:扩展关系可以直接理解为条件执行,不是必须执行的,而是根据某种需要才去执行他。

注意:他的箭头是反方向的。

image

什么是构造型

构造型是一种扩展机制,他把UML中已经定义元素的语义专有化。防止UML过于复杂。

构造型就是用一个单词来表述一定的含义,赋予关系或者元素上,构造型太多,一般也不用看或者背,理解他的含义应用既可。

标准构造型表 可参考 《面向对象设计与分析》 226页

分享到:
评论
1 楼 chen975311486 2011-08-31  
用哪个工具画的????

相关推荐

    UML中的包含关系和扩展关系

    在UML中,包含关系和扩展关系是两种关键的结构关系,它们帮助我们理解和描述系统的组件如何相互作用和组织。这些概念在软件设计师的考试中是重要的考察点,因此理解它们的含义和应用至关重要。 首先,我们来看包含...

    六大UML类图以及关系

    本文将详细介绍UML类图中的六种基本关系:依赖、类属、关联、实现、聚合和组合。 #### 二、依赖(Dependency) **定义**: - 当元素A的变化会影响元素B,但元素B的变化不会反过来影响元素A时,我们说B依赖于A。 - ...

    UML中类图实例讲解关系

    UML类图是UML中的一种重要组成部分,用于描述类和对象之间的关系。 1.UML类图的基本组成部分 UML类图由三个部分组成:类名、类特性和类操作。类名表示类的名称,如果是抽象类就用斜体显示。类特性是类的字段和属性...

    UML语言中用例关系描述(详细,有例子介绍)

    ### UML语言中用例关系描述 #### 一、引言 统一建模语言(Unified Modeling Language,简称UML)是一种广泛应用于软件工程领域的可视化建模语言,它为描述、可视化、构造和文档化软件系统的架构提供了标准工具。在...

    UML类图关系大全

    UML类图作为UML中的一种重要图表类型,主要用于描述系统中类与类之间的关系。本文将详细介绍UML类图中的几种主要关系类型:关联、聚合/组合以及依赖,并通过具体的实例和代码示例来帮助读者更好地理解这些概念。 ##...

    UML类图在关系数据库中的实现

    然而,随着业务需求的日益复杂以及对数据模型灵活性的需求提高,实体关系模型在描述复杂组织信息时显得有些力不从心。因此,一种更为灵活且健壮的建模方法——统一建模语言(UML)应运而生。 UML是一种面向对象的...

    uml客户关系管理系统

    《UML在构建客户关系管理系统中的应用》 UML(统一建模语言)是一种标准化的图形建模语言,用于软件工程领域,特别是系统分析和设计阶段。在这个课设项目中,“uml客户关系管理系统”深入展示了如何运用UML来构建一...

    UML中类图中的几个关系

    ### UML中类图的关键关系解析 UML(Unified Modeling Language),统一建模语言,是一种标准的图形化建模语言,被广泛应用于软件工程中,用于描述系统的结构和行为。在UML中,类图是一种重要的图形,用来展示系统中...

    用 UML 描述需求

    本文主要探讨如何使用UML来描述需求,以及在这一过程中可能遇到的问题和解决策略。 #### 二、识别系统执行者 在使用UML描述需求时,第一步是识别系统执行者。执行者是指在系统之外,通过系统边界与系统进行有意义...

    uml静态视图习题

    13. 泛化关系:UML 中的泛化关系用于描述类之间的继承关系,展示类之间的继承关系。 14. 聚合关系:UML 中的聚合关系用于描述类之间的聚合关系,展示类之间的聚合关系。 15. 组合关系:UML 中的组合关系用于描述类...

    UML类图关系表

    UML类图是一种建模工具,它用于描述对象导向设计中的类、接口及其相互关系。在UML中,类图展示了类与类之间的多种关系,包括关联、单向关联、自关联、多重关联、聚合、组合、依赖以及泛化关系。下面我们将详细探讨...

    UML1.0简介及描述

    类图是UML中最常见的视图之一,它描述了系统的静态结构,包括类、接口、属性和它们之间的关系。类图可以帮助开发者理解系统中的对象及其相互作用。 #### 用例图(Use Case Diagram) 用例图展示了系统功能与外部...

    UML参考手册第二版

    2. 类图(Class Diagrams):用来描述系统中类的结构和它们之间的关系。 3. 序列图(Sequence Diagrams):展示对象之间交互的时间顺序,常用来描述用例实现。 4. 状态图(State Diagrams):描述一个对象在其生命...

    UML用户手册中英文版含第二版 - UML用户指南英文版

    "UML用户手册中英文版含第二版 - UML用户指南英文版" 提供了对UML的全面理解和应用的资源。手册和指南覆盖了UML的不同版本,包括第二版,这使得它适用于不同阶段的软件开发人员和项目团队。 **UML的基础知识** UML...

    uml书籍( UML用户指南(第2版).pdf+面向对象设计uml实践(第二版).pdf)

    《UML用户指南(第2版).pdf》与《面向对象设计uml实践(第二版).pdf》这两本书籍是IT领域中关于统一建模语言(Unified Modeling Language,简称UML)的重要参考资料,对于理解并应用UML进行软件设计具有极高的价值。...

    UML中用例关系讲解

    用例关系是UML中的一种关系类型,用于描述用例之间的关系。用例关系有三种:扩展关系、包含关系和泛化关系。 扩展关系(Extended Relationship) 扩展关系是一种特殊的用例关系,允许用例模型抽出并突显那些可加入...

    UML类关系-依赖,关联,聚合和组合

    UML类关系是UML中的一种基本概念,描述了类之间的关系。今天,我们将探讨UML类关系中的四种基本关系:依赖、关联、聚合和组合。 依赖(Dependency) 依赖关系是指一个类使用另一个类的对象或服务的关系。依赖关系...

Global site tag (gtag.js) - Google Analytics