UML中关联(association)关系和依赖关系比较难以让人理解。今天查了一下《UML参考手册》。归纳如下

关联(association)

如果几个类元的实例之间有联系,那么这几个类元之间的语义关系即关联。关联描述了系统中对象或实例之间的离散连接。关联将一个含有两个或多个有序表的类元,在允许复制的情况下连接起来。最普通的关联是一对类元之间的二元关联。关联的实例之一是链。每个链由一组对象(一个有序列表)构成,每个对象来自于相应的类。二元链包含一对对象。<?XML:NAMESPACE PREFIX = O />

关联带有系统中各个对象之间关系的信息。当系统执行时,对象之间的连接被建立和销毁。关联关系是整个系统中使用的“胶粘剂”,如果没有它,那么只剩下不能一起工作的孤立的类。

在关联中如果同一个类出现不止一次,那么一个单独的对象就可以与自己关联。如果同一个类在一个关联中出现两次,那么两个实例就不必是同一个对象,通常的情况都如此。

二元关联用一条连接两个类的连线表示。

聚集表示部分与整体关系的关联,它用端点带有空菱形的线段表示,空菱形与聚集类相连接。组成是更强形式的关联,整体有管理部分的特有的职责,它用一个实菱形物附在组成端表示。每个表示部分的类与表示整体的类之间有单独的关联,但是为了方便起见,连线结合在一起,现在整组关联就像一棵树。

依赖(dependency)

          两个元素之间的一种关系,其中一个元素(服务者)的变化将影响另一个元素(客户),或向它(客户) 提供所需信息。它是一种组成不同模型关系的简便方法。

依赖表示两个或多个模型元素之间语义上的关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。

根据这个定义,关联和泛化都是依赖关系,但是它们有更特别的语义,故它们有自己的名字和详细的语义。我们通常用依赖这个词来指其他的关系。

依赖用一个从客户指向提供者的虚箭头表示,用一个构造型的关键字来区分它的种类

转载于:https://www.cnblogs.com/wj110reg/articles/863951.html

UML中关联关系和依赖关系的区别(转)相关推荐

  1. UML中关联关系和依赖关系的区别

    UML中关联(association)关系和依赖关系比较难以让人理解.今天查了一下<UML参考手册>.归纳如下 关联(association) 如果几个类元的实例之间有联系,那么这几个类元 ...

  2. 关联关系和依赖关系的区别

    关联关系:A类实例化的时候需要B类的对象引用或指针作为参数 依赖关系:A类的某个方法使用B类,可能是方法的参数是B类或在方法中获得了一个B类的实例 某个类以成员变量的形式出现在另一个类中,二者是关联关 ...

  3. 关联关系与依赖关系的区别

    一.语义上: 关联关系: A has a(knows a) B 依赖关系: A uses a B 二.代码上: 关联关系: package facade; /** * @author Administ ...

  4. UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

    zz from: http://dev.firnow.com/course/3_program/java/javajs/20090219/155939.html UML中几种类间关系:继承.实现.依赖 ...

  5. 关联关系和依赖关系的思考

    关联关系和依赖关系的思考 从宏观上看类与类之间的关系有关联,依赖,泛化和实现. 这其中泛化和实现很好理解,关联和依赖之间的关系不好理解. 下面详细说一下这几个的意思: 1.泛化 泛化:表示类与类之间的 ...

  6. 如何在SQL Server中创建SQL依赖关系图

    Deleting or changing objects may affect other database objects like views or procedures that depends ...

  7. UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别 - 老唐 的专栏 -... (转载)

    这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...

  8. UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)

    UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...

  9. [转] UML中关联、依赖、聚集等关系的异同

    1.  关联:连接模型元素及链接实例,用一条实线来表示: 2.  依赖:表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示: 3.  聚集:表示整体与部分的关系,用一条实线加空心菱形来表示 ...

最新文章

  1. Jmeter连接MySQL数据库
  2. python 天气预报 mysql_Python+PyQt5+MySQL实现天气管理系统
  3. AUTOSAR从入门到精通100讲(三十三)-AutoSar架构中的诊断事件管理
  4. Shell脚本中循环语句for,while,until用法
  5. vue重复路由_解决vue路由name同名,路由重复的问题
  6. linux上数据库导入与导出(mysql)
  7. Apache优化配置
  8. 淘宝生成器在线制作,淘宝全屏代码装修店招导航教程
  9. 计算机地图制图的点状符号制作,计算机地图制图地图符号库系统建立..doc
  10. 【Cmake】Ctest测试工具
  11. Linux shell脚本文件的各种执行方式
  12. Oracle 12c PDB数据库的基本操作积累
  13. Word分栏出现空白怎么解决
  14. 概率论学习三、古典概型
  15. GNSS中DCB的使用
  16. 教你用Python语音合成,以及文字转语音~
  17. 动手学深度学习笔记4——微积分自动微分
  18. nvl2与nvl使用区别
  19. 矛盾依旧脱欧协议过关难 欧盟认为英将延后脱欧
  20. XZ_Python3之使用Python批量打企业ipa包遇到的问题和解决

热门文章

  1. php 计算几分钟_几天前 _几月前 几年前,php计算几分钟前、几小时前、几天前的几个函数...
  2. ubuntu下打开matlab_ubuntu终端命令启动matlab方法
  3. ud分区删除工具_如何用DiskGenius对硬盘进行分区
  4. python最流行的框架_2020年最流行Python web开发框架(下)
  5. dubbo分布式事务解决方案_spring boot 分布式事务解决方案
  6. 计算机基础知识第四章测试,计算机基础知识测试题第四章
  7. 【PAT (Advanced Level) Practice】1086 Tree Traversals Again (25 分)
  8. 【Swing编写图形用户界面】操作系统之磁盘调度算法图形界面和性能比较
  9. 【Deep Learning笔记】常用的激活函数
  10. 01背包【动态规划】