`
terryfeng
  • 浏览: 492194 次
  • 性别: 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定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。希望本文的介绍对你的学习有所帮助。

    一种基于AOP的UML用例扩展关系描述

    一种基于AOP的UML的用例扩展关系的描述,介绍了AOP的相关概念,以及和UML的联系。

    UML解惑:图说UML中的六大关系

    用图解的方式描述了UML的六中关系,简单明了

    UML四种关系

    描述UML图的四种关系,有依赖,关联关系,还有关联中的聚合和组合关系的说明及用法

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

    有例子介绍每种用例之间的关系,易于理解,适用于初学者。

    UML类图关系大全!!!!!

    UML类图关系大全,里面把之间的关系描述的较清楚,尤其是图像

    uml基础教程,看完之后可以直接画图

    1.4UML关系 1.5各UML图及特征 1.6各UML图的关系 1.7UML语法 1.8习题 2. 用例图 2.1用例图概要 2.2用例图中的事物及解释 2.3用例图中的关系及解释 2.4例子 2.5习题 3. 类图 3.1类图概要 3.2类图中的事物及解释 3.3...

    UML类图关系大全word文件

    在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关 系必须被映射为对象引用或指针。对象引用本身就是有向的,更...

    UML元素和UML关系图符号简介

    UML包含哪些元素你是否了解,UML关系图符号你是否熟悉,本文就向大家介绍一下,希望本文的介绍会让你对UML关系图符号有一定的认识。本文和大家重点讨论一下UML元素和UML关系图符号。开发Java应用程序时,开发者要想...

    UML小结UML图UML例子

    UML小结,UML图,UML例子,类图/Class diagram 显示系统中的类和包,提供系统构件及其相互关系。静态结构建模;用例图/Use-case diagram 用例图从用户的角度描述系统功能的使用者和主要的系统操作流程。显示用例与参与者...

    UML 的九种模型图与"4+1" 视图模型对应关系

    1代表Use Case View 定义了系统的外部行为,从用户角度描述的系统的功能。 4分别代表 Design View(设计视图)、Implementation View(实现视图)、Process View(进程视图)和Deployment View(部署视图)

    UML-java.zip_关系图_关系图 java

    类图是最常用的UML图,它用于描述系统的结构化设计。其中包括类关系以及与每个类关联的属性及行为。类图能出色地表示继承与合成关系。为了将类图作为一种高效的沟通工具使用,开发者必须理解如何将类图上出现的元素...

    UML类图关系大全

    详详细细描述了UML类图以及其他图的画法。

    《UML建模实例教程》【PPT】

    6.3.6UML中的类与语言中的类 6.4类之间的关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3类图和对象图的...

    华侨大学UML课程ppt

    面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的...

    基于UML的网上购物商店的分析与设计 (2013年)

    以网上购物商店为例,运用UML分析了系统的静态模型和动态特征,分析了基于UML的网上购物商店的建模的实现过程:类图分析了网上购物商店中5个实体类(顾客类、订单类、商品类、记录类、管理员类)之间的关系;顾客用例图...

    基于UML的学生成绩

    基于UML的学生成绩管理论文,格式已经调整好。需求分析,图形展示。

    uml 试卷很全面好多个试卷及答案

    6.在UML的类图中,类之间的关系有 泛化 、 实现 、 聚集 、 依赖 和 关联 5种。 7.共享聚集的“部分”对象可以是任意“整体”对象的一部分,表示事物的整体/部分关系较弱的情况,“整体”端的重数应该是 n 。 8....

    uml实验报告整合

    2) 打开系统分析类图,把边界类包、控制类包、实体类包中的所有类拖入系统分析类图中,由于类的属性和操作、类之间的关系已经在每个类图中已经描述,所以在系统分析类图中会自然体现出来。 五、实验总结

    learning_uml_2.0.pdf (UML2.0学习指南 英文原版非扫描)

    UML(统一建模语言)帮助你处理这和中复杂性。无论视UML为一种蓝图语言、草稿工具还是一种编程语言,这本书都教给你必须知道的知识,以及将UML应用到项目的方法。虽然市面上已经有许多描述UML的书,但本书的主要特色...

Global site tag (gtag.js) - Google Analytics