当前位置: 代码迷 >> 编程 >> UML之二——关系
  详细解决方案

UML之二——关系

热度:2697   发布时间:2013-02-26 00:00:00.0
UML之2——关系

 

上篇博客介绍了表示事物的UML的基本组成元素,本介绍反映事物之间关系。

UML中,定义的模型元素之间的关系,主要包括:

关联关系

泛化关系

实现关系

依赖关系

 

        一、关联关系

       关联指事物之间存在的固有的牵连关系,在UML中,是对具有共同结构特征、关系和语义的对象之间的链接描述。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的关系。

在关联关系中,有两种比较特殊的关系,它们是聚合关系和组合关系。

       1.关联关系的表示

       关联关系是聚合关系和组合关系的统称,是比较抽象的关系;聚合关系和组合关系是更具体的关系。在UML中,使用一条实线来表示关联关系,如图1所示。

1关联关系

       2.聚合关系

       聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系。

       聚合关系是一种松散的对象间关系——计算机和它的外围设备就是一例。一台计算机和它的外设之间只是很松散地结合在一起。这些外设可有可无,可以与其他计算机共享,而且没有任何意义表明它由一台特定的计算机所“拥有”——这就是聚合。

       聚合的表示如图2所示,棱形端表示事物的整体部分,另一端表示事物的部分。如计算机就是整体部分,外设就是部分。

2聚合关系和组合关系的表示方法

       3.组合关系

       如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述。组合关系是一种非常强的对象间关系,例如,树和它的树叶之间的关系。树是和它的叶子紧密联系在一起,叶子完全属于这树,它们不能被其它的树所分享,并且当树死掉,叶子也会随之死去——这就是组合,组合是一种强的聚合关系。组合的表示如上图所示。

       二、泛化关系

       泛化关系描述了从特殊事物到一般事物之间的关系,也就是子类到父类之间的关系。从父类到子类的关系,则是特化关系。

3泛化关系的表示方法

       三、实现关系

       实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件提供的服务。实现关系是从类指向接口的带空心箭头的虚线表示。如图4所示。

 

4实现关系

       四、依赖关系

       有两个元素XY,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X

5依赖关系

       PS:本质上说,关联和泛化以及实现关系都属于依赖关系的一种,但是它们有更特别的语义,因此定义了其自己的名字和详细的语义。

5楼haigegegege昨天 09:48
路过,,蛮不错!
Re: zhanglianhai555昨天 09:50
回复haigegegegen嘿嘿……
4楼liu_yujie2011com昨天 16:44
嘿嘿、、、加油!
Re: zhanglianhai555昨天 09:46
回复liu_yujie2011comn谢谢
3楼xiaoduishenghuogo4天前 21:07
UML中,关系很重要,必须得搞清楚。
Re: zhanglianhai5554天前 21:07
回复xiaoduishenghuogon嗯
2楼happyITer4天前 21:05
解释的挺到位,图文并茂!
Re: zhanglianhai5554天前 21:07
回复happyITern谢谢夸奖,还望多提宝贵意见。
1楼haizhijiaotianzhiya4天前 21:02
学习了,顶!
Re: zhanglianhai5554天前 21:04
回复haizhijiaotianzhiyan多谢捧场!
  相关解决方案