UML 与 Rational Rose( 类图 )
2014-06-01 20:39
316 查看
类之间的关系可以分为四种:
关联关系( Association )
依赖关系( Dependancy )
积累关系( Aggregation )
范化关系( generalization )
关联关系( Association )
关联关系是指通过对象属性来表示一个对象对另一个对象的依赖。比如一个订单包含一件产品,在类Order中一定有一个Product类型
的成员变量,这时我们说Order与product之间的关系是关联关系。
关联关系分为双向关联和单项关联,刚才提到的Order与Product之间的关系为单向关联,以为在Order中有Product类型的成员变量,但是在Product中没有类型为Order的成员变量,单向关系用一个箭头来表示
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133685125033_4227.gif)
另外一种关联关系是双向关联,比如说一个类别包含很多产品,而每个产品都属于一个类别。所以Category 类和 Product类需要相互将对方作为自己的成员变量,这是,我们说Category 和 Product 之间是双向关联,双向关联用一个不带箭头的线来表示。
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133685645661_4217.gif)
在Rational rose中,添加双向关联关系,点击 tools -> create -> association 添加单向关联关系 ,tools -> create -> unidirectional association
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133691436179_5646.gif)
依赖关系( Dependancy )
依赖所表示的关系总是单向的,而且这种关系不是通过属性表现出来的,大多数情况下,如果类A的成员方法中使用类B作为参数,那么就称类A依赖于类B, 依赖关系用带箭头的虚线表示:
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133692474205_2831.gif)
添加依赖关系的方法和添加关联关系的方法一样,只要选择tools
-> create -> dependancy就可以了。
积累关系( Aggregation )
积累是强关联,是整体与部分之间的关系,如EmployeeList是由Employee组成的,一个类可能与其他多个类之间有积累关系,如一个汽车类(Car)由车轮( wheel ), 发动机( Engine ) , 车门( Door )组成。所以Car 与 Wheel , Engine , Door 之间是积累关系。积累关系用一个带菱形的线表示,菱形画在整体一端:
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133697144823_1275.gif)
在rose中添加Aggregation关系,可以点击tools -> create -> aggregation,双击代表积累关系的线可以编辑积累关系的各种属性.
范化关系( generalization )
范化关系用于表示类之间的继承关系。使用一条带箭头的实线来表示,箭头由子类指向父类。
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133698323444_1546.gif)
在Rose中创建继承关系可以通过tools -> create -> generalization ,或者直接从左侧的工具栏中添加
关联关系( Association )
依赖关系( Dependancy )
积累关系( Aggregation )
范化关系( generalization )
关联关系( Association )
关联关系是指通过对象属性来表示一个对象对另一个对象的依赖。比如一个订单包含一件产品,在类Order中一定有一个Product类型
的成员变量,这时我们说Order与product之间的关系是关联关系。
关联关系分为双向关联和单项关联,刚才提到的Order与Product之间的关系为单向关联,以为在Order中有Product类型的成员变量,但是在Product中没有类型为Order的成员变量,单向关系用一个箭头来表示
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133685125033_4227.gif)
另外一种关联关系是双向关联,比如说一个类别包含很多产品,而每个产品都属于一个类别。所以Category 类和 Product类需要相互将对方作为自己的成员变量,这是,我们说Category 和 Product 之间是双向关联,双向关联用一个不带箭头的线来表示。
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133685645661_4217.gif)
在Rational rose中,添加双向关联关系,点击 tools -> create -> association 添加单向关联关系 ,tools -> create -> unidirectional association
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133691436179_5646.gif)
依赖关系( Dependancy )
依赖所表示的关系总是单向的,而且这种关系不是通过属性表现出来的,大多数情况下,如果类A的成员方法中使用类B作为参数,那么就称类A依赖于类B, 依赖关系用带箭头的虚线表示:
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133692474205_2831.gif)
添加依赖关系的方法和添加关联关系的方法一样,只要选择tools
-> create -> dependancy就可以了。
积累关系( Aggregation )
积累是强关联,是整体与部分之间的关系,如EmployeeList是由Employee组成的,一个类可能与其他多个类之间有积累关系,如一个汽车类(Car)由车轮( wheel ), 发动机( Engine ) , 车门( Door )组成。所以Car 与 Wheel , Engine , Door 之间是积累关系。积累关系用一个带菱形的线表示,菱形画在整体一端:
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133697144823_1275.gif)
在rose中添加Aggregation关系,可以点击tools -> create -> aggregation,双击代表积累关系的线可以编辑积累关系的各种属性.
范化关系( generalization )
范化关系用于表示类之间的继承关系。使用一条带箭头的实线来表示,箭头由子类指向父类。
![](http://photo.pic.sohu.com/images/oldblog/person/2005/12/4/1133698323444_1546.gif)
在Rose中创建继承关系可以通过tools -> create -> generalization ,或者直接从左侧的工具栏中添加
相关文章推荐
- Uml 与 Rational Rose( 类图 )
- Uml 理解Rational Rose软件中四种视图和Uml 9类图之间的关系
- Uml 与 Rational Rose( 类图 )
- UML 类图
- uml系列(四)——类图
- UML学习(二)-----类图
- UML--静态建模:类和类图
- UML实践----用例图、顺序图、状态图、类图、包图、协作图
- Rational Rose类图:显示函数签名
- UML日记-4类图的关联关系
- UML 类图总结
- UML 类图总结(摘自网络)
- UML 类图符号简介-符号 各种关系说明以及举例
- UML中的类图
- UML 基础: 类图
- UML 类图
- UML 类图. 对象图. 接口图. 用例图 .包,参与者. 依赖关系. 泛化/继承关系. 关联关系 .聚合/聚集关系. 实现关系 组合关系。
- 三大UML建模工具Visio、Rational Rose、PowerDesign的区别
- UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考
- UML 之 C++类图关系全面剖析