UML——关系和图

5 篇文章 1 订阅

        最近在看UML的视频,对UML有了一个初步的了解。Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是用来设计软件蓝图的可视化建模语言,它支持面向对象系统的分析、设计、实现、和交互等各个环节,可以用于系统的理解、设计、浏览、维护和信息控制。初步接触感觉UML中很重要的两部分一是UML中的关系,一是UML中的图,接下来对这两部分总结一下。

        【知识点】

        UML中定义的关系主要有四种:依赖、关联、泛化、实现,其中关联还包括聚合和组合,聚合和组合是关联关系中的两种特例。各种关系说到底也是用来描述UML图中的各种联系,下面结合类图描述一下这几种关系:

        依赖(Dependency)是一种使用关系,他说明一个事物规格说明的变化可能影响到使用它的另一个事物,就是一个类A使用到了另一个类B,A依赖于B,而且B的变化会影响到A 。这种使用关系是具有偶然性和临时性的,非常弱。用一条虚线加箭头来表示,如下:

                                                             

        关联(Association)包括普通关联、聚合、组合,普通关联他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向、双向的。用一条实线来表示, 如下:

                                                    

        聚合是关联关系的一种特例,表示两个类之间是“is part of”关系,即整体/部分关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。用一条实线加空心菱形来表示,如下:

                                                    

        组合也是关联关系的一种特例,他体现的是一种“contains-a”的关系,组合也是表示整体和部分的关系,和聚合作比较会发现它们的不同,它表示部分对象被嵌入到整体对象中。比如:头是身体的一部分,此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,这种关系比聚合更强,也称为强聚合。用一条实线加实心菱形来表示,如下:

                                                

        泛化(Generalization)是描述类和类之间的继承关系,泛化有时被称作“is-a”关系。指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。用一条实线加空心三角形来表示(三角箭头指向被继承类父类),如下:

                                                            

        实现(Realization)是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。说白了就是描述类与接口(interface)之间的关系,用一条虚线加空心三角形来表示,如下:

                                                           

        关于UML中的图,视频中介绍了九种,use-case Diagrams(用例图),class Diagrams(类图),object Diagrams(对象图),state Diagrams(状态图),component Diagrams(构件图),deplaynent Diagrams(部署图),comaberation Diagrams(协作图),sequence Diagrams(序列图),activity Diagrams(行为图)。可分为四个层次:用例图,类图,行为图,实现图。就不详细说明了,等看完视频再来详细介绍吧!

        【小结】

        实现和泛化是类与接口之间最常见的关系,它们体现的是一种类与类、或者类与接口之间的纵向关系;这里需要注意的是依赖、关联、聚合、组合几种关系的强弱程度,它们所表现的强弱程度依次为:组合>聚合>关联>依赖,画图的过程中要选用最适合的关系,这一点很难掌握,要不断学习。要尽快熟悉如何使用Rational Rose,才能更好的理解UML中的各种图。

        附图一张:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值