• 当前位置:首页>>UML语言>>UML基础教程>>uml 静态视图关系和关联(1)
  • uml 静态视图关系和关联(1)
  • · 关系

    类元之间的关系有关联、泛化、流及各种形式的依赖关系,包括实现关系和使用关系(参见 表4–2 )。

    关联关系描述了给定类的单独对象之间语义上的连接。关联提供了不同类间对象可以相互作用的连接。其余的关系涉及到类元自身的描述,而不是它们的实例。

    泛化关系使父类元(超类)与更具体的后代类元(子类)连接在一起。泛化有利于类元的描述,可以不用多余的声明,每个声明都需加上从其父类继承来的描述。继承机制利用泛化关系的附加描述构造了完整的类元描述。泛化和继承允许不同的类元分享属性、操作和它们共有的关系,而不用重复说明。

    实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类之中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。

    流关系将一个对象的两个版本以连续的方式连接起来。它表示一个对象的值、状态和位置的转换。流关系可以将类元角色在一次相互作用中连接起来。流的种类包括变成(同一个对象的不同版本)和拷贝(从现有对象创造出一个新的对象)两种。

    依赖关系将行为和实现与影响其他类的类联系起来。除了实现关系以外,还有好几种依赖关系,包括跟踪关系(不同模型中元素之间的一种松散连接)、精化关系(两个不同层次意义之间的一种映射)、使用关系(在模型中需要另一个元素的存在)、绑定关系(为模板参数指定值)。使用依赖关系经常被用来表示具体实现间的关系,如代码层实现关系。在概括模型的组织单元,例如包时,依赖关系很有用,它在其上显示了系统的构架。例如编译方面的约束可通过依赖关系来表示。

    表 4–2 关系的种类

    关系

    功能

    表示法

    关联

    类实例之间连接的描述

    依赖

    两个模型元素间的关系

    在相继时间内一个对象的两种形式的关系

    泛化

    更概括的描述和更具体的种类间的关系,适用于继承

    实现

    说明和实现间的关系

    使用

    一个元素需要别的元素提供适当功能的情况



    · 关联

    关联描述了系统中对象或实例之间的离散连接。关联将一个含有两个或多个有序表的类元,在允许复制的情况下连接起来。最普通的关联是一对类元之间的二元关联。关联的实例之一是链。每个链由一组对象(一个有序列表)构成,每个对象来自于相应的类。二元链包含一对对象。

    关联带有系统中各个对象之间关系的信息。当系统执行时,对象之间的连接被建立和销毁。关联关系是整个系统中使用的“胶粘剂”,如果没有它,那么只剩下不能一起工作的孤立的类。

    在关联中如果同一个类出现不止一次,那么一个单独的对象就可以与自己关联。如果同一个类在一个关联中出现两次,那么两个实例就不必是同一个对象,通常的情况都如此。

    一个类的关联的任何一个连接点都叫做关联端,与类有关的许多信息都附在它的端点上。关联端有名字(角色名)和可见性等特性,而最重要的特性则是多重性,重性对于二元关联很重要,因为定义 n 元关联很复杂。

    二元关联用一条连接两个类的连线表示。如 图 4–2 所示,连线上有相互关联的角色名而多重性则加在各个端点上。


    图 4–2 关联表示法

    如果一个关联既是类又是关联,即它是一个关联类,那么这个关联可以有它自己的属性(如 图 4 – 3 )。如果一个关联的属性在一组相关对象中是唯一的,那么它是一个限定符(如图 4-4 )。限定符是用来在关联中从一组相关对象中标识出独特对象的值。限定符对建模名字和身份代码是很重要的,同时它也是设计模型的索引。


    图 4–3 关联类


    图 4 – 4 限定关联

     

    [1]

  • 上一篇:uml 状态机视图事件
    下一篇:uml 静态视图关系和关联(2)