UML及软件建模 主讲人:李唯 Clx7000@163.com
Page 1 UML及软件建模 主讲人 :李 唯 clx7000@163.com
第四章类之间的关系 如何对类之间的关系建模 如何可视化类和子类的关系 如何表现类之间的依赖
Page 2 ◼ 如何对类之间的关系建模 ◼ 如何可视化类和子类的关系。 ◼ 如何表现类之间的依赖。 第四章 类之间的关系
关联( association) 当类之间在概念上有连接关系时,类之间的连接叫做关联 关联的可视化方法是用一条线连接两个类,并把关联的名字(例如“ plays on”)放在这个连接线之上。表示出关联的的方向是很有用的,关联的方向 用一个实心三角形箭头来指明。下图说明如何可视化表示队员和球队之间 的 plays on关联。 为球队效力 球员 球队
Page 3 当类之间在概念上有连接关系时,类之间的连接叫做关联 关联(association) 为球队效力 关联的可视化方法是用一条线连接两个类,并把关联的名字(例如“plays on”)放在这个连接线之上。表示出关联的的方向是很有用的,关联的方向 用一个实心三角形箭头来指明。下图说明如何可视化表示队员和球队之间 的plays on关联。 球员 球队 ▲
当一个类与另一个类发生关联时,每个类通常在关联中都扮演着 某种角色。在队员和球队的关联中,如果球队是职业篮球队,那 么它就是队员的雇主( employer)。下图说明了如何表示出这 些角色 为球队效力 球员 球队 员工 雇主
Page 4 当一个类与另一个类发生关联时,每个类通常在关联中都扮演着 某种角色。在队员和球队的关联中,如果球队是职业篮球队,那 么它就是队员的雇主(employer)。下图说明了如何表示出这 些角色。 为球队效力 球员 球队 ▲ 员工 雇主
关联还可以从另一个方向发生:篮球队雇佣( Employ)队 员。可以把这两个方向上的关联表示在一个图中,用实心 角形箭头指明各自关联的方向,下图所示。 为球队效力p 球员 球队 雇用球员
Page 5 ◼ 关联还可以从另一个方向发生:篮球队雇佣(Employ)队 员。可以把这两个方向上的关联表示在一个图中,用实心 三角形箭头指明各自关联的方向,下图所示。 为球队效力 球员 球队 ▲雇用球员 ▲
关联也可以好几个类连接同一个类。如图所示的关联图 前锋 为球队效力 为球队效力p 中锋 球队 后卫 为球队效力p
Page 6 ◼ 关联也可以好几个类连接同一个类。如图所示的关联图。 前锋 中锋 球队 后卫 为球队效力 ▲
关联上的约束 有时两个类之间的一个关联随后就有一个规则。可以通 过关联线附近加注一个约束来说明这个规则。如图所示 服务 有序} 银行出纳员 顾客
Page 7 关联上的约束 有时两个类之间的一个关联随后就有一个规则。可以通 过关联线附近加注一个约束来说明这个规则。如图所示 。 服务 银行出纳员 顾客 ▲ { 有序 }
另下种类型的约束关系是or(或)关系,通过两条关联线之 间联一条虚线,虚线之上标注{or}来表示这种约束。图 是高中生( high school student)选( choose)文科, 或者选理科时的模型 选择 高中生 文科 或} 选择p 理科
Page 8 另一种类型的约束关系是Or(或)关系,通过两条关联线之 间联一条虚线,虚线之上标注{or}来表示这种约束。图 是高中生(high school student)选(choose) 文科, 或者选理科时的模型 选择 高中生 文科 ▲ 理科 选择 ▲ { 或 }
关联类( association class) 和类一样,关联也可以有自己的属性和操作,此时。这个关联 实际上是个关联类。图是球员类和球队类之间的关联对应的关 联类:合同关联类。它同时又和经理类发生关联 球员 球队 员工 雇主 合同 管理 经理
Page 9 和类一样,关联也可以有自己的属性和操作,此时。这个关联 实际上是个关联类。图是球员类和球队类之间的关联对应的关 联类:合同关联类。它同时又和经理类发生关联。 关联类 (association class) 球员 球队 员工 雇主 合同 经理 ▲ 管理
链(uink) 正如对象是类的实例一样,关联也有自己的实例。如果我 们想象要一个特定的队员效力一个特定的球队,那么两者 之间的为球队效力关系就叫做一个链可以用两个对象之间 的连线来表示它。和对象的名字要加下划线一样链的名字 也要加下划线,如图所示。 为球队效力 姚明:球员 火箭队:球队
Page 10 正如对象是类的实例一样,关联也有自己的实例。如果我 们想象要一个特定的队员效力一个特定的球队,那么两者 之间的为球队效力关系就叫做一个链,可以用两个对象之间 的连线来表示它。和对象的名字要加下划线一样链的名字 也要加下划线,如图所示。 链 (link) 为球队效力 姚明:球员 火箭队:球队 ▲