浅析UML建模中的几种关系

       UML中主要包括三种构造块:事务、关系和图。除了那九种图,最重要的就是他们之间的关系了。画图并不难,难的就是用合适的关系来将他们联系起来,太强了会增加耦合性,太弱了会不能满足要求。所以选择合适的关系来建立图与图之间的连接是十分重要的。下面以类图为例对UML中的几种关系做一个比较,也是为了更好的区分和使用。

       一、UML的四种基本关系

       1、关联关系(Association):关联是描述一组具有共同机构特征、行为特征、关联和语义的链接。它是一种机构关系,指明一个事物的对象与另一个事物的对象间的关系。关联关系包括三个反面:普通关联、聚合关联、组合关联

       (1)普通关联:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法

        如下图是公司类和人员类的关系,employer、employee分别表示Company和Person代表的角色,job为二者之间的关系。
       
       (2)聚合关联:是一种特殊的关联关系,它表示整体与部分的关联,描述了”has a“的关系。
       
          聚合关系用带空心菱形头的实线来表示,如图所示:
       
       (3)组合关联:组合关系是聚合关系中的一种特殊情况,是更强形式的聚合。组合中,成员对象的生命周期取决于聚合的生命周期。
          
          组合关系用实心菱形头的实线来表示,如图所示:
         
       2、依赖关系(Dependency):依赖是一种使用关系,表示一个事物的对象可以使用另一个事物的对象中的属性或者方法。

          依赖关系用带箭头的虚线来表示,如图所示:
     
       3、泛化关系(Generalization):是一种存在于一般元素和特殊元素之间,描述了”is a kind of“的关系。也是通常所说类的继承。

          泛化关系用一条从子类指向父类的空心三角箭头表示:
        
       4、实现关系(Realization):实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。
          实现关系用空心箭头的虚线表示,如图所示:
         
          也可以实现接口:
           

       二、聚合和组合的区别

       聚合和组合都是关联的一种,组合比聚合更加特殊,组合是一种更强形式的聚合。那么他们之间有什么区别呢?
       聚合的例子:比如说汽车,汽车由引擎、轮胎以及其它零件组成,因为汽车坏掉了,没有坏掉的引擎,轮胎和其他零件还可以继续使用,这就是聚合。描述了整体和部分的关系,整体没有了,而部分还存在。
       
       再举一个组合的例子:就拿人来说吧,人由四肢、身体、头组成。可是如果人死了,不存在了,那么他的器官也就不能用了。也就是说,组合成员是不能离开聚合而单独存在的,如果代表整体的对象被销毁或破坏,那么代表个体/部分的对象也一定会被销毁或破坏。如图所示:
         

       总结:以上这几种关系就是UML建模中最常用的,在画图的过程中要不断的应用,虽然这只是理论,要想真正的明白其中的含义还要去画图实践才可以,看完了UML视频,接下来就要以机房收费系统为基础绘画九种图了。有什么不足之处还请指出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值