UML 中关系图的解说

最近在教软件工程项目实践,就又仔细了解了下UML中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象。

关系列表:

继承关系(Generalization);

实现关系(Realization);

依赖关系(Dependency);

关联关系(Association);

有方向的关联(DirectedAssociation);

聚合关系(Aggregation);

组合关系(Composition);

继承关系(Generalization):

Class B继承与Class A

继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系之一;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;

实现关系(Realization):

Class A实现了Interface A

实现指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系之一;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性;

依赖关系(Dependency):

ClassA依赖于ClassB

可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A;表现在代码层面,为类B作为参数被类A在某个method方法中使用;

关联关系(Association):

ClassA与ClassB相互关联

这里的关联关系分的比较细,把相互关联和有方向的关联区分开了,相互他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,是一种长期的稳定的关系;表现在代码层面,为被关联类以类属性的形式出现在关联类中,也可能是关联类引用了一个类型为被关联类的全局变量;

有方向的关联(DirectedAssociation):

ClassA关联于ClassB

是关联的一种特别形式,是单向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;

聚合关系(Aggregation):

计算机 has-a cpu

聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

组合关系(Composition):

孕妇 contains-a 胎儿

组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;孕妇死了胎儿自然也就死了;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

时间: 2024-10-11 22:36:09

UML 中关系图的解说的相关文章

UML中的图

UML的结构分为三部分,基本构造块.公共机制.UML的规则,其中公共机制和UML的规则是为基本构造块服务的,描述了怎样将这几种图有规则的排列到一起.基本构造块又分为事物.关系.图,将事物用关系连接起来就是我们今天所说的UML中的图. 一.导图宏观把控 二.图解 1 .用例图(Use case diagrams):用来描述用户的需求.从用户的角度描述系统的功能并指出各个功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能.(是谁?在干什么?)机房收费系统中一般用户可以查询学生上机记录和自己的登

UML中关系的分类及其概念——总结备忘

UML中关系分类: 依赖:依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义. 关联:关联是类与类之间的联接,它使一个类知道另一类的属性和方法. 聚合:聚合是一种特殊类型的关联,它描述了整体和部分的结构关系. 组合:组合是关联的一种,是比集合关系强的关系. 泛化:泛化(继承)是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素). UML中关系符号及对应的Java代表的含义 依赖关系         关联关系      聚合关系    

UML中关系整理

在UML中,关系是非常重要的语义,它抽象出对象之间的联系,让对象构成某个特定的结构. 1.关联关系(association) 关联关系是用一条直线表示的,如 它描述不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起.关联关系是一种静态关系,通常与运行状态无关,而是由"常识","规则","法律".等因素决定的,所以关联关系是一种"强关联"的关系. 例如,公司与员工之间一对多就是一种符合"常识"

UML中关系图解

转自http://blog.csdn.net/duran1986/article/details/5573415 最近在教软件工程项目实践,就又仔细了解了下UML中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象. 关系列表: 继承关系(Generalization): 实现关系(Realization): 依赖关系(Dependency): 关联关系(Association): 有方向的关联(DirectedAssociation): 聚合关系(Aggrega

[转]UML 中关系详解以及在visio中的表示

Uml 关系主要有四大类: 依赖,关联,泛化,实现. 其中 依赖和关联是事物之间语义上的横向关系,泛化和实现是事物之间的纵向关系. 一:依赖 Dependency 图示:-----> 定义:关系最为松散的,单向的,暂时产生关系的事物之间使用. 使用图例:在静态图.组件图.部署图中两事物的弱依赖关系用此图示. 二:关联 Association 图示:此图为visio中画法(在uml静态结构中,拖动复合图例,然后双击此图例,将出现下图,在关联端list中,聚合列都选择无,然后在isNavigable

UML 中关系详解以及在visio中的表示

转载地址:http://www.cnblogs.com/kittywei/archive/2013/05/15/3079536.html Uml 关系主要有四大类: 依赖,关联,泛化,实现. 其中 依赖和关联是事物之间语义上的横向关系,泛化和实现是事物之间的纵向关系. 一:依赖 Dependency 图示:-----> 定义:关系最为松散的,单向的,暂时产生关系的事物之间使用. 使用图例:在静态图.组件图.部署图中两事物的弱依赖关系用此图示. 二:关联 Association 图示:此图为vis

uml中活动图与流程图的区别

活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图. 活动图定义: 活动图是系统的一种行为视图它描述参与行为的对象类的活动的顺序包括依赖于条件的行为和并发行为.活动图演示了系统中的功能流.如在业务模型中显示业务工作流在收集需求时显示一个用例中的事件流等.活动图定义了工作流从哪里开始到哪里结束工作流中发生了哪些活动这些活动按什么顺序发生活动是由哪些对象来完成的.活动图是状态图的一种扩展形式.如果在

设计模式学习---UML常见关系的实现

一.UML基本构造 UML的基本构造含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图,组件图,部署图,状态图,活动图,序列图,协作图 事物是对模型中最具代表性的成分的抽象:关系把事物结合在一起:图聚集了相关的事物. 二.UML中关系 UML 中关系描述的是:类与类, 类与接口, 接口与接口之间的关系.UML中的关系主要包括: 泛化(generalization) 

设计模式——UML中的类图及类图之间的关系

一丶统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准.它的特点是简单.统一.图形化.能表达软件设计中的动态与静态信息. 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持.而且融入了软件工程领域的新思想.新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本.它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行