文档详情

第3章类图研究.ppt

发布:2017-01-07约字共58页下载文档
文本预览下载声明
3.5 关联关系 关联 关联是一种结构关系,规定一个事物的对象连接到另一事物的对象 二元关联 关联的含义 关联意味着类实际上以属性的形式包含对其他类的对象的引用 关联定义了参与关联类的对象之间的关系准则,关联定义了什么是允许的,什么是不允许的 链接是关联的实例 如果两个类有关联关系,那么这两个类的对象之间可以有链接 关联描述的是规则,而链接描述的是事实 两个类参与的关联称为二元关联 关联的特性 关联的定义 表示类之间关联关系的直线 可以标注关联名字和方向指示符 两个关联端点定义了参与关联的对象所应遵循的规则 关联端点是一个元类,有自己的属性 角色名,多重性,可见性,限定符,导航性等 关联的名称 关联名表达了关联的内容,可选 一般使用一个动词或者动词短语命名关联关系 能和参与关联的两个类组成意义清晰的句子 如果要从相反的方向理解该关联,只需将关联名称的意义反过来理解 方向指示符 关联的端点 角色:端点上的对象在关联中扮演什么角色 多重性:有多少对象可以参与关联 导航性:一个端点的对象是否可以访问另一个端点的对象 限定符:是否可以用对象的一些特征对该对象进行访问 定序:对象之间是否按一定的顺序进行排列 可变性:在关联创建后是否可以改变 关联中的角色 角色名 与此关联相连的类的对象所扮演的角色 角色名称从另外一个角度描述了不同类型的对象是如何参与关联的 角色名不是类的组成部分,一个类可以在不同的关联中扮演不同的角色 角色名称可以代替关联名称,或者两者同时使用 角色名可以生成代码,在代码中用同名的属性,保存关联另一端对象引用 3.2.1 二元关联 可见性 可见性 可以用可见性符号修饰角色名称,以说明该角色名称可以被谁访问 多重性 多重性 关联的多重性指的是有多少对象可以参与关联 多重性可用来表达一个取值范围、特定值、无限定的范围或者一组离散值 m..n; 0..1; 0..*; *; 1..*; 3; 2,4 定序和约束 定序 关联中有多个对象参与时,可以使用定序约束 定序就是指将一组对象按一定的顺序排列 {ordered} 约束 定义了模型元素上的限制条件,用{}括起 限定关联 限定符 需要使用某些信息作为关键字识别对象集合中的一个对象时,使用限定符 限定符是一个类中有ID作用的属性 限定符的作用像key,常用来将1对多关联限定为1对1 使用限定符的关联叫做限定关联(受限关联) 导航性 导航性 描述一个对象通过链接导航访问另一个对象 大多数关联都是双向导航的 为了简化编程实现,有些情况下用单向导航 导航性不同于方向指示符 可变性 可变性 可变性允许建模中对属于某个关联的链接进行操作,默认是允许任何形式的编辑{changeable} 如果要限定可变性,用约束 {frozen}或{addOnly} 关联类 问题:学生选修课程的考试结果应该记录在何处? 关联类 关联类提供了一种将数据值和链接联系在一起的方法 关联类是UML中单独的一个模型元素,它同时具有关联和类二者所有的特性 一个关联类可以像关联一样连接两个类,可是同时又和类一样具有属性,以保存确实属于链接的数据 关联类 关联类的表示法 关联类的名字和关联名相同,可以只在一处显示 根据关联的具体特点,命名时可以用动词或名词 关联类 另一种建模方法 将一个多对多关联具体化为两个一对多关联 成绩保存在引入的新类中 与关联类的细微差异 支持学生参加一门课程的多次考试并记录多次成绩 关联类则和关联性质一样:在一个给定的学生和课程之间只能存在一个链接 关联类 关联类兼具关联和类的特性 可以像普通类一样参与其他关系 或关联 问题 一个类可以参与多个关联关系,但是当两个关联不能同时并存时,应该怎样表示呢? 或关联 或关联 对多个关联附加约束条件{OR} 反身关联 反身关联(self-association) 参与二元关联的对象属于同一个类 通常要使用角色名 聚合关系 聚合(Aggregation) 聚合是在关联之上进一步的紧密耦合,用来表明一个类实际上拥有但可能共享另一个类的对象。 聚合关系中有一个类是整体,它由一个或者多个部分类组成,当整体类不存在时,部分类仍能存在,但是当它们聚集在一起时,就用于组成相应的整体类。 表示法 组合关系 组合(Composition) 再加强一步的耦合是组合关系 组合与聚合的异同 相同在于整体类都是由部分类组成 不同的是组合中的部分类需要整体类才能存在,当整体类被销毁时,部分类将同时被销毁。 3.6 类图关系的强弱顺序 3.7 抽象操作和抽象类 抽象操作 泛化得到的通用类有些行为无法实现,可以声明为抽象操作 抽象类 含有抽象操作的类 本身只是提供一个通用描述,没有实例的类 3.8 构造类图模型 不同开发阶段都使用类图 领域类图、分析类图、设计类图 迭代过程,逐步细
显示全部
相似文档