UML 关系

1. 关联关系(association)

关联关系式是用一条直线表示的,如A—B。表示在一段时间内将多个类的实例连接在一起,关联关系描述了某个对象在一段时间内一直知道另一个对象的存在。在Rose中为了区分相互“知道”和单向“知道”的关系,定义了关联关系的另一个变体,既单向关联关系,用一条带箭头的直线来表示,例如A—>B,说A知道B中,但是B不知道A。

2. 依赖关系(dependency)

依赖关系是用一条带箭头的虚线表示的,例如A----->B(A依赖于B)。依赖关系用来描述一个对象的修改会导致另一个对象的修改这样的关系。与关联关系不同的是,依赖关系除了“知道”其他对象的存在,还会“使用”其他对象的属性或者方法。因此可以这么说,依赖关系是一种特殊的关联管理。

3. 扩展关系(extends)

扩转关系是用一条带箭头的虚线加版型<<extends>>来表示的,如(A扩展出B),它用于在用例模型中说明向基本用例中的某个点插入扩展用例,一般来说,扩展用例是带有抽象性质的,它表示了用例场景中的某个支流,有特定的扩展点触发而被启动。扩展用例应该用在概念模型中,通过分析业务用例场景抽象出关键的可选核心业务而形成扩展用例。与包含关系不同的是,扩展表示的是“可选”,而不是“必需”,这意味着即使没有扩展用例,基本用例也是完整的。如果没有基本用例,扩展用例是不能单独存在的。

4. 包含关系(include)

包含关系是用一条带箭头的虚线加版型<<include>>来表示的,包含用例总是带有抽象性质的,基本用例可控制与包含用例的关系,并可依赖于执行包含用例所得的结果。但基本用例和包含用例都不能访问对方的属性。于扩展用例一样,包含用例也应当用在概念用例模型中,通过分析业务用例场景而抽象出关键的必选的核心业务而形成包含用例。与扩展用例不同的是,包含用例表示的是“必须”而不是“可选”。这意味着如果没有包含用例,基本用例是不完整的,同时如果没有基本用例,包含用例是不能单独存在的。

5. 实现关系(realize)

实现关系式一条带空心箭头的虚线表示的,基本用例描述了一个业务目标,但是该业务目标有多种可能的实现途径,每一种途径可以用用例实现来表示。

6. 泛化关系(generalization)

泛化关系是一条带空心箭头的实线表示的,(A继承自B)。泛化关系可用于建模过程中的任意个阶段,说明两个对象之间的继承关系。

7. 聚合关系(aggregation)

聚合关系是用一条带空心菱形箭头的直线表示的,如(A聚合到B上,或者B由A组成)。聚合关系用于类图,特别用于表示实体对象之间的关系,表达整体由部分构成的语义。与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在。

8. 组合关系(composition)

组合关系式是用一条带实心菱形箭头的直线表示的,如(A组合成B,或者是B由A构成)。需要特别说明的是,在Rose中没有采用实心菱形箭头这一标准的UML图形,而是采用了带箭头的空心菱形。箭头表示指向组合的子对象,表示子对象属于母对象。组合关系是一种强依赖的特殊聚合关系,如果整体不存在了则部分也消亡。

posted on 2014-05-28 17:40  rigidwang  阅读(211)  评论(0编辑  收藏  举报