UML学习二 四种关系

来源:互联网 发布:如何卸载电脑软件 编辑:程序博客网 时间:2024/06/01 10:05

一、前言

    在初识UML的学习中我对于它的认识也只是百度中几句抽象的介绍。

    Unified Modeling Language :统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

    对于初学时的我,这就像是一个大山的宝藏等我下手,充满期待却又不知从哪里出发,所以耐心整理了一下自己的总结,简单的讲给大家,希望能够帮到你。

二、概念

四种关系概括
    在UML中有 类、接口 等事物,它们之间并不是独立存在的,需要依靠不同的联系把它们组合在一起,这样就形成了我们最终需要的一张张建模图。而为了 解释这些事物间(类与接口, 接口与接口这间的关系)不同的联系, 就有了我们需要区分的四种关系。如上图我们列出的 共有四类。

  • 关联(association)关系,
  • 依赖(dependency)关系,
  • 泛化(generalization) 关系,
  • 实现(realization)关系.

Association:关联关系

    是一种拥有的关系,它使一个类知道另一个类的属性和方法。
建模图中表示为 :实线
    实例 : ①类与类之间的关联关系。 ②班级类与学生类具有关联关系。 ③一个班级可以有零个或多个学生(一对多的关联关系) 如下图:
关联关系
    从类图中可以看出关联 表示类之间的很强的关系,它表示类之间的“持久”关系,这种关系一般表示一种重要的业务之间的关系,需要保存的,或者说需要“持久化”的,或者说需要保存到数据库中的。


    由于软件工程严谨的需求,我们还可以把关联关系细分为聚合和组合两种。可以理解为聚合是一种特殊的关联,组合是一种特殊的聚合。下面分类细说:
关联关系1

Aggregation 聚合

    在关联关系的概念基础上,它表示整体对象拥有部分对象的特殊性。与 组合关系 相比较是一种弱的‘拥有’关系,体现的是A对象可以包含B对象,他们的生命周期或许是不同的,A对象不随着B对象的消失而消失,两者可以独立存在。
建模图中表示为:实线 + 空心菱形
    实例:
聚合关系

Composition 组合

    与聚合相比它表示一种强的‘拥有’关系,是整体和部分的关系,他们的生命周期是相同的,A对象会随着B对象的消失而消失,二者是不能独立存在的。
建模图中表示为:实线 + 实心菱形
    实例:
组合关系


Dependency:依赖关系

    是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)。
建模图中表示为:虚线箭头
实例:
依赖关系
    表示类之间的较弱的关系,它表示类之间的是一种“临时、短暂”关系,这种关系是不需要保存的。


Generalization : 泛化关系

    是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
建模图中表示为:带三角箭头的实线
实例:
泛化关系


Realization : 实现关系

    是一种类与接口的关系,表示类是接口所有特征和行为的实现。
建模图中表示为:带空心三角箭头的虚线
实例:
实现关系

小结

    我在UML的学习过程中,认为最先需要明白的就是UML中各种关系都有些什么,再是对于不同建模图的区分使用。
    我们常说UML四种关系,其实学习中还是可以多做补充的,在不同建模图中同样会有一些,不同于以上举例出的 适应不同种类建模图的 用来准确解释的专有关系,如下是类图中的工具箱:
类图
    在我们制作不同模图时,可以一点点补充,多做积累,使我们想要说明的关系表达更加准确。希望我的见解可以帮到您~
    感谢您的阅读!

1 0
原创粉丝点击