UML的关系

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图中的jobID是关联的属性,给定一个 WorkDesk对象,并赋给属性jobID一个 对象值,就可以导航到零个或一个 Reterneditem对象。
关联关系中的相关术语和概念
接口说明符(Interface Specifier)
接口是用来规定类或组件服务的操作集。 每个类可以实现多个接口。但是,在与关联的 上下文中Baidu Nhomakorabea目标类源类可能只选择对外展示部 分接口。 可以用语法 rolename:iname 来显式地说明角色的类型,iname是接 口名。
关联关系中的相关术语和概念
导航 给定关联一端的对象能够容易并直接地得到另 一端的对象。 关联关系可以有方向,表示该关联被单方向使 用。 只在一个方向上可以导航的关联,被称为单向 关联;在两个方向上都可以导航的关联,被称 为双向关联。 单向关联关系的UML符号表示是一条带箭头的 实线,箭头方向表示了导航方向;双向关联关 系的UML符号表示是一条没有箭头的实线。
一个运动员在一个时期内只能效力于一个 运动队 。
运动员 1..n 效力于 1 运动队
运动员和运动队是依赖关系 。
一个国家有一个首都。
国家 1 1 首都
国家和首都是聚合关系。
以UML图形表示下列关系,并指出 下列关系是哪种关系?
一位进餐的哲学家正在使用一把叉子。
哲学家 1 1 叉子
使用
进餐的哲学家和叉子是依赖关系 。
以UML图形表示下列关系,并指出 下列关系是哪种关系?
一条线由一组有序的点组成。
线 1
线和点是聚合关系 。
类Person可以实现多个接口:IManager, IEmployee等,在supervisor与worker之间 有一对多的关联关系, supervisor只呈现了 IManager的接口给worker, worker 只呈现 了IEmployee的接口给supervisor 。
关系—实现关系
公司
部门
职员
部门经理
用UML图形表示一组几何对象。组中的父类叫做“几何单 项”(Geometry Item),由此衍生出线(Line)、圆 (Circle)、正方形(Square)、椭圆(Ellipse)和多边 形(Polygon)子类。椭圆有两个焦点,它们重合时就成 了圆。正方形是多边形的一种。所有的GeometryItem都 是由点(Point)组成的。
关联关系中的相关术语和概念
限定符(Qualifier)
限定符是属性或属性列表,这些值用来划分与 某个对象通过关联关系连接的的对象集。限定 符是这个关联的属性。 限定符的UML符号表示是用与关联一端的小
矩形表示,将属性放在小矩形中。
源对象连同限定符的值一起就可以确定一个目 标对象(如果目标阶元是1)或目标对象集(如 果目标阶元大于1) 。
关系—类属关系
在解决复杂性问题时,通常需要将具有共同特性 的元素抽象成类别,并通过增加其内涵而进一步 分类。例如,学生可以分为大学生、中学生和小 学生,火车可以分为客运列车和货运列车。 在面向对象方法中,将前者称为一般元素、基类 元素或父元素,将后者称为特殊元素或子元素。 类属关系描述了一般事物和该事物较为特殊的种 类之间的关系,也即父元素与子元素之间的关系。
UML的关系
依赖(Dependency)关系 类属(Generalization)关系 关联(Association)关系 实现(Realization)关系
关系—依赖关系
依赖关系描述了类之间的使用关系。 如果一个模型元素发生变化会影响另一个模 型元素(这种影响不必是可逆的),那么就 说在这两个模型元素之间存在依赖关系。 例如:有两个元素X、Y,如果修改元素X 的定义会引起对元素Y的定义的修改,则称 元素Y依赖于元素X。
试描述图中2个类之间的关系,包括其多重性 的约束。其中,关联的角色名称是成员 (member)。图中的类是Committee (委员会)和Person(人)。
Committee 0..2
3..5 Person +member
一个委员会可以有3~5个成员,他们属于 “人”类,一个人可以参与0~2个委员会。
关联关系中的相关术语和概念
可见性(Visibility)
如果在两个类之间存在关联关系,一个类的对象就 可以看见并导航到另一个类的对象,除非有所限制, 如限制导航为单向导航。 某些情况下,需要限制关联外部的对象对于该关联 的可见性。 在UML中,通过对角色名附加可见性符号,可以为 关联端规定公共可见性和私有可见性。如果没有标 出可见性,角色的缺省可见性是公共的。公共可见 性表示对象可以被关联外的对象访问,私有可见性 表示对象不能被关联外的任何对象访问。
类UserGroup和类User之间存在一个关联关系,类User和 类Password之间存在另一个关联关系。给定一个User对象, 可以找到相应的Password对象,但是,由于Password是 User私有的,所以它不应该被外部对象访问。所以,给出一 个UserGroup对象,可以导航到User对象,但不应该看到 User对象的Password对象。 Password对象是User对象 私有的。
关系—类属关系
类之间的类属关系表示子类继承一个或多个 父类的结构与行为。类属关系描述了类之间 的“是一种”(is-a-kind-of)的关系,类 属关系用来连接一般类与特殊类,用来描述 父类与子类或父与子的关系,子类继承父类 的特性,尤其是属性和操作。 类属关系的UML符号表示是带空心箭头的 实线,箭头指向父元素。
一个类可以有零个到多个父类,没有父类且有一个 或多个子类的类被称为根类或基类。 没有子类的类被称为叶类。
如果在继承关系中,每个类只能有一个父类,则是单 继承。 如果一个类有多于一个的父类存在,则被称为多继承。
关系—关联关系
关联关系是一种结构关系,规定了一种事物的对象 可以与另一种事物的对象相连。 例如,雇员为公司工作,一个公司有很多部门,就 可以认为雇员和公司、公司和部门之间存在某种语 义上的联系,在类图模型中,就可以在类 Employee(雇员)和类Company(公司)、类 Company(公司)和类Department(部门)之 间建立关联关系。 关联关系的UML符号表示是一条实线。
关联关系中的相关术语和概念
聚合关系
聚合关系是一种特殊的关联关系。
聚合表示类之间的关系是整体与部分的关系, 也即作为整体的对象拥有作为部分的对象。 在需求分析中,“包含”、“组成”、“分 为……部分”等描述经常被设计为聚合关系。 聚合关系的UML符号表示是一条带有空心菱 形头的实线。
关联关系中的相关术语和概念
阶元(Multiplicity)
阶元表示有多少个对象参与该关联。 阶元表示参与关联的对象数目的上下界限制。 “0..n”代表0~∞,表示0个或任意多个, “1..n”代表1~n,表示1个或任意多个。 阶元可以用单个数字表示,例如“1”表示 一个, “2”表示两个。阶元也可以用连续 的或者不连续的数字表示,例如“0..2, 4..6, 8..*”表示除了3,7的任何数量的 对象。
点 n
以UML图形表示下列关系,并指出 下列关系是哪种关系?
一个图形对象是一段正文、一个几何对象或是 一个组合对象 。
图形对象
组合对象
0..n 正文 0..n 几何对象
图形对象和正 文、几何对象 或组合对象是 类属关系,组 合对象和正文、 几何对象是聚 合关系 。
以UML图形表示下列关系,并指出 下列关系是哪种关系?
在窗口系统中,一个对象Frame只属于一个对象 Window。这与简单的聚合关系相反,在简单的
聚合关系中,一个“部分”可以被几个“整体” 共享,例如,一面墙(对象Wall)可以是多个
房间(对象Room)的一部分。
关联关系中的相关术语和概念
关联类
在UML中,关联类是一个既具有关联属性又 具有类属性的建模元素。 关联类是具有类特征的关联、或具有关联特 征的类。 关联类的UML符号表示是用虚线连接到关联 关系上的类符号。 一个关联类只能连到一个关联上,因为关联 类本身是一个关联。
关系—依赖关系
依赖关系 的UML符 号表示是 带箭头的 虚线,指 向被依赖 的模型元 素。
关系—依赖关系
在类图中,依赖可以由许多原因引起,例如, 一个类向另一个类发送消息(也即,一个类 的操作调用另一个类的操作),或者一个类 是另一个类的数据成员,或者一个类是另一 个类的某个操作参数,那么就可以说这两个 类之间存在着依赖关系。 语义上,所有的关系(包括关联关系、类属 关系、实现关系)都是各种各样的依赖关系, 因为这3种关系具有很重要的语义,所以在 UML中被分离出来成为独立的关系。
关联关系中的相关术语和概念
角色(Role)
当类参加关联关系时,类在关联关系中 扮演一个特定的角色。关联两头的类都 以某种角色参与关联。 如果在关联中没有标出角色名,则隐式 地表示用类的名称作为角色名。
类Company以Employer(雇主)的角 色参加关联,而类Person则以Employee (雇员)的角色参加关联。 Employer和 Employee被称为类的角色名。
GeometryItem 1 1..n point
polygon
Ellipse
Line
Square
Circle
关联关系中的相关术语和概念
组合关系
组合关系是聚合关系的一种形式,是一种特殊的聚合关系。 组合关系具有强拥有关系,而且“整体”与“部分”的生 命周期是一致的。 在一个组合关系中,一个对象一次只是一个组合的一部分。 在组合关系中,“整体”负责“部分”的创建与破坏。例 如,在一个Company(公司)系统中创建一个 Department(部门), Department必须依附于 Company,当破坏对象Company时,对象 Department也同时被破坏。 组合关系的UML符号表示是一条带有实心菱形头的实线。
类Person和类Company之间的关联 关系,是一条没有箭头的实线,所以是 双向关联。给出Company,就能找出 所有的Person;给出Person,就能 发现它所属的Company。
有时候需要限制导航的方向为单向。给定 一个User,可以发现相应的Password; 但给定一个Password,并不希望发现 相应的User。所以用单向关联来表示他 们之间的关系,用箭头表示导航方向。
实现关系是分类器之间的语义关系,一个分类 器规定合同,另一个分类器保证实现这个合同。 可以在两种情况下使用实现关系: 实现被用在接口与实现它们的类或组件之间; 实现被用在用例和实现该用例的协作之间。 实现关系的UML符号表示是一条带有空心箭头 的虚线。
以UML图形表示下列关系,并指出 下列关系是哪种关系?
关系—关联关系
可以应用于关联关系的四种基本修饰是:
名称:描述关系的性质。 角色:关联中靠近它一端的类对另外一端的 类呈现的职责。 阶元(Multiplicity):说明一个关联的实 例中有多少个相互连接的对象。 聚合(Aggregation):整体对象拥有部分 对象。
关联名通常是一个动词或动词词组,用 来表示关联关系的类型或目的。所选择 的关联名应该有助于理解该模型。
相关文档
最新文档