分析一下UML类图中关联、聚合、组合三者的定义与关系。 @author:JZhang 06-11-27 E-mail:zhangjunhd@gmail.com Blog:
http://blog.csdn.net/zhangjunhd/ 1.关联(Association)类之间的关联大多用来表示变量实例持有着对其他对象的引用。 Phone拥有一个对Button的引用。 2.聚合(Aggregation)聚合是关联的一种特殊形式,它意味着一种整体/部分(whole/part)的关系。 一个整体不能是它自己的一部分。 因此 ,实例不能形成聚合回路,一个单独的对象不能够成为它自己的聚合,两个对象不能互相聚合,三个对象不能形成一个聚合环。下图为实例间的非法聚合循环: 3.组合(Composition)组合是一种特殊的聚合形式。 UML对组合的定义: ①如同聚合,实例不能有循环。 ②一个被所有者实例不能同时有两个所有者。 ③所有者负责被组合的对象的生命周期的管理。如果所有者被销毁,被所有者也必须跟着一起被销毁,如果所有者被复制,被所有者也必须跟着一起被复制。
http://blog.csdn.net/dylgsy/archive/2006/08/16/1076044.aspx UML类图关系全面剖析
http://www.ibm.com/developerworks/cn/rational/r-shenzj/ 利用Rational Rose进行C++代码和数据库结构分析
vs2008 支持 c++ 类图了