UML中的关系主要包括有:关联关系、依赖关系、泛化关系和实现关系。 第一部分 看图说话 第二部分 关系介绍 一、关联: 关联关系是一个结构化的关系,指一种对象和另一种对象有联系,给定关联的两个类的对象访问到另一个类的相关对象。在UML图中,关联关系用一天实线表示。其中,关联具体又分为单向关联和双向关联。 解释:表示参与者与用例之间的交互,通信途径。 1、单向关联:只在一个方向上存在的关联,又称导航关联。 2、双向关联:在两个方向上都存在的关联,又称共享聚合。 3、聚合:是关联的特例,表示类与类之间的关系是整体与部分的关系,在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,即每个个体可单独存在。 4、组合:部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失,又称复合聚合。 组合关系是聚合关系中的一种特殊情况,是更强形式的聚合,又被称为强聚合。 聚合和组合关系都是关联关系中的特例,它二者相似,但又有本质上的不同;其不同就在于:聚合中的每个个体可单独存在,而组合中的每个个体与整体共存亡。 二、依赖: 依赖关系描述的是其中一个模型元素是独立的另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变,将影响依赖于它的元素。 三、泛化: 泛化是一种特殊与一般的关系,特殊元素的对象可替代一般元素的对象。与继承关系类似。 解释:发出箭头的事物“is a”箭头指向的事物。泛化关系是一般和特殊关系,发出箭头的一方代表特殊的一方,箭头指向的一方代表一般一方。特殊一方继承了一般方的特性并增加了新的特性。 四、实现: 实现关系将一种模型元素与另一种模型元素连接起来。 通常在两种地方会遇到实现关系:一种是在接口和实现它们的类或构件之间;另一种是在用例和实现它们的协作之间。 五、其它: 1、包含: 包含关系指的是其中一个用例的行为包含了另一个用例的行为。 解释:箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,如果缺少包含用例,基用例就不完整;包含用例必须被执行,不需要满足某种条件;其执行并不会改变基用例的行为。 2、扩展: 扩展关系指一个用例可以被定义为基础用例的增量扩展。扩展关系是把新行为插入到已有用例的方法,在这些扩展点中可以添加新的行为。 解释:箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。 第三部分 适用范围 一、类图:关联、泛化、依赖、实现; 二、用例图:关联、扩展、包括、泛化; 三、组件图:依赖、实现; 四、配置图:依赖;