UML类图关系(VP-UML工具绘图)
2013-01-17 18:37
281 查看
从C++程序上看,类A与类B之间关系有:继承,包含,引用以及相关。
继承就是A继承B,是联系最为紧密的;
包含指A作为B的一个成员变量,那么A将成为B变量对象空间的一部分;
引用指A作为B的一个成员变量的指针或引用;
最后是相关,这种关系就更松散了,A做为B成员函数的参数,或成员函数中的一个临时变量而存在。
==================================================================
UML中是如何来描述这些关系呢?
对应继承的有:实现(Realization)、泛化(Generalization)
对应包含的有:聚合关系(Aggregation),合成[复合/包容]关系(Composition)
对应引用的有:关联(Association)
对应相关的有:依赖(Dependency)
==================================================================
[b]1. 实现(Realization)& 泛化(Generalization)[/b]
[b]2. 聚合关系(Aggregation) & 合成[复合/包容]关系(Composition)[/b]
聚合: CRoom聚合CLocate,但CLocate是可以脱离CRoom而独立存在的。
合成[复合/包容]:CRoom是由CCeiling、CFloor和CWall组成,它们之间具有整体与部分的关系。
两个类之间是聚合,还是合成关系,需要根据具体的语义环境来区分。
[b]3. 关联(Association)[/b]
(1)双向关联
(2)单向关联
--> 选择“关联”类型,从CCompany拉线指向CPerson,然后选择右键快捷菜单中“开启规格说明...”,修改“可导览”为:Unspecified
(3)自身[反身]关联
4. 依赖(Dependency)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
参考
(1)UML类图 - wiki
(2)UML类图关系大全
(3)UML类图与类的关系详解
(4)区分 UML 类图中的几种关系
(5)VP-UML非商业用途版本下载 【有2个版本:Installer版本安装不成功话,试试绿色版本】
(6)UML类图几种关系的总结
继承就是A继承B,是联系最为紧密的;
包含指A作为B的一个成员变量,那么A将成为B变量对象空间的一部分;
引用指A作为B的一个成员变量的指针或引用;
最后是相关,这种关系就更松散了,A做为B成员函数的参数,或成员函数中的一个临时变量而存在。
==================================================================
UML中是如何来描述这些关系呢?
对应继承的有:实现(Realization)、泛化(Generalization)
对应包含的有:聚合关系(Aggregation),合成[复合/包容]关系(Composition)
对应引用的有:关联(Association)
对应相关的有:依赖(Dependency)
==================================================================
[b]1. 实现(Realization)& 泛化(Generalization)[/b]
[b]2. 聚合关系(Aggregation) & 合成[复合/包容]关系(Composition)[/b]
聚合: CRoom聚合CLocate,但CLocate是可以脱离CRoom而独立存在的。
合成[复合/包容]:CRoom是由CCeiling、CFloor和CWall组成,它们之间具有整体与部分的关系。
两个类之间是聚合,还是合成关系,需要根据具体的语义环境来区分。
[b]3. 关联(Association)[/b]
(1)双向关联
/* Person.h */ class CPerson { public: CCompany* m_pCompany; }; /* Company.h */ class CCompany { public: CPerson* m_pPerson; };
(2)单向关联
/* Person.h */ class CPerson { }; /* Company.h */ class CCompany { CPerson* m_pPerson; };
--> 选择“关联”类型,从CCompany拉线指向CPerson,然后选择右键快捷菜单中“开启规格说明...”,修改“可导览”为:Unspecified
(3)自身[反身]关联
/* Logger.h */ class CLogger { public: CLogger* m_pLogger; };
4. 依赖(Dependency)
/* Mission.h */ class CMission { public void DoMission(CMethod& method); };
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
参考
(1)UML类图 - wiki
(2)UML类图关系大全
(3)UML类图与类的关系详解
(4)区分 UML 类图中的几种关系
(5)VP-UML非商业用途版本下载 【有2个版本:Installer版本安装不成功话,试试绿色版本】
(6)UML类图几种关系的总结
相关文章推荐
- UML建模之类图--UML类图几种关系的总结
- 使用UML工具分析类图与类的关系-bouml(java和C++)
- UML建模工具Visual Paradigm(VP-UML)使用教程:安装详解
- UML学习手记(三):条形裤工具以及用例和场景的关系
- UML类图简单学习 各种对象、关系UML表示法
- 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 【UML建模】UML类图几种关系的总结
- 主题:UML类图与类的关系详解-UML
- UML的概念和模型之UML类图关系
- UML类图与类的关系详解-UML一波流系列
- UML类图简单学习 各种对象、关系UML表示法
- UML类图与类的关系详解-UML一波流系列
- UML类图简单学习 各种对象、关系UML表示法
- 【UML】例析UML类图的几种关系
- UML类图与类的关系详解-UML一波流系列
- [UML][转]UML类图符号 各种关系说明以及举例
- UML类图与类的关系详解-UML一波流系列(转转)
- UML类图简单学习 各种对象、关系UML表示法
- UML类图与类的关系详解-UML一波流系列
- UML--UML类图关系大全