UML 与 Rational Rose( 类图 )

来源:互联网 发布:高仿充q币软件 编辑:程序博客网 时间:2024/05/22 06:57

类之间的关系可以分为四种:

  1. 关联关系( Association )
  2. 依赖关系( Dependancy )
  3. 积累关系( Aggregation )
  4. 范化关系( generalization )

 关联关系( Association )

    关联关系是指通过对象属性来表示一个对象对另一个对象的依赖。比如一个订单包含一件产品,在类Order中一定有一个Product类型
的成员变量,这时我们说Order与product之间的关系是关联关系。
   关联关系分为双向关联和单项关联,刚才提到的Order与Product之间的关系为单向关联,以为在Order中有Product类型的成员变量,但是在Product中没有类型为Order的成员变量,单向关系用一个箭头来表示

1133685125033_4227.gif

    另外一种关联关系是双向关联,比如说一个类别包含很多产品,而每个产品都属于一个类别。所以Category 类和 Product类需要相互将对方作为自己的成员变量,这是,我们说Category 和 Product 之间是双向关联,双向关联用一个不带箭头的线来表示。1133685645661_4217.gif

    在Rational rose中,添加双向关联关系,点击 tools -> create -> association 添加单向关联关系 ,tools -> create -> unidirectional association

1133691436179_5646.gif

依赖关系( Dependancy )

   依赖所表示的关系总是单向的,而且这种关系不是通过属性表现出来的,大多数情况下,如果类A的成员方法中使用类B作为参数,那么就称类A依赖于类B, 依赖关系用带箭头的虚线表示:

1133692474205_2831.gif   添加依赖关系的方法和添加关联关系的方法一样,只要选择tools -> create -> dependancy就可以了。

 积累关系( Aggregation )

   积累是强关联,是整体与部分之间的关系,如EmployeeList是由Employee组成的,一个类可能与其他多个类之间有积累关系,如一个汽车类(Car)由车轮( wheel ), 发动机( Engine ) , 车门( Door )组成。所以Car 与 Wheel , Engine , Door 之间是积累关系。积累关系用一个带菱形的线表示,菱形画在整体一端:

1133697144823_1275.gif

   在rose中添加Aggregation关系,可以点击tools -> create -> aggregation,双击代表积累关系的线可以编辑积累关系的各种属性. 

范化关系( generalization )

   范化关系用于表示类之间的继承关系。使用一条带箭头的实线来表示,箭头由子类指向父类。

 1133698323444_1546.gif

   在Rose中创建继承关系可以通过tools -> create -> generalization ,或者直接从左侧的工具栏中添加

0 0
原创粉丝点击