关于聚合与关联的概念

chilopod 2001-10-18 09:26:42
http://www.umlchina.com/jof/jof09/dot8.htm一文中

1.聚合关系(aggregation):如汽车含有四个轮子,便称为聚合关系,代表汽车聚合(或包含)轮子。在COM环境下,组件的聚合关系代替继承关系,可用聚合法与包含法「去聚合其他组件」,参考[1]的第五章。CORBA 3.0则正式有组件聚合关系。

2.关联关系(association):如同E-R资料模型,一个部门可有许多员工,便称做关联关系。在组件实作上,关联关系通常就是指标或参考,指向别的组件。

我觉得员工与部门也可是是聚合的关系,实在分不清两者的概念,大家发表意见!
...全文
186 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hpchen 2001-11-02
  • 打赏
  • 举报
回复
to: aileen_long(挑战2001) 
拜托, 人家问的是: what is the relationship between association and aggregation?!
aileen_long 2001-10-31
  • 打赏
  • 举报
回复
再讲得明白一点,对应到代码上,聚合和组合有什么区别呢?
假设有两个class:class A and class B,
聚合就是:
class B;
class A
{
B *b;
};

而组合则是:
include "B.h"
class A
{
B b;
};
mycode 2001-10-24
  • 打赏
  • 举报
回复
关联关系是指对象实例之间的一种在物理或概念上的关系.
聚合则是一种特殊的关联关系.汽车的例子就非常好了。

sdyqingdao 2001-10-23
  • 打赏
  • 举报
回复
员工和部门的关系是指单个员工和部门的关系,不能理解为所有员工和部门的关系(如没有员工就没有部门)
aileen_long 2001-10-23
  • 打赏
  • 举报
回复
所谓关系,就是两个元素之间的联系。在UML里定义了关联、泛化、实现等等关系。
聚合是一种特殊的关联,另外还有一种组合关系,是特殊的聚合,具有更强的约束。
打个比喻的话,聚合就相当于“多边形”和“点”的关系,即一个“多边形”是由一个个“点”聚集而成的,“多边形”不存在,但“点”依然可以独立存在。
而组合则相当于“圆”和“圆心”(一种特殊的点)的关系,“圆”一旦存在,则“圆心”就必须存在,“圆”不存在,“圆心”就不可能存在,也没有必要存在。因为你只画一个点,而不画圆,这个点也就是普通的点,而不是圆心了。我个人觉得这种关系很晦涩,容易让人钻牛角尖。
lhy 2001-10-18
  • 打赏
  • 举报
回复
聚合常指一个对象包含另一个对象,
关联指一个对象包含另一个的指针。
一部门员工数量不定,一员工也可离开部门,
所以应用关联。
第1章课程定位与教学案例综述. 1.1职业岗位能力需求分析 1.2课程设置和课程定位分析 1.3WebShop电子商城介绍 1.3.1电子商城需求分析 1.3.2电子商城系统设计 1.3.3电子商城数据库设计 1.4LibraryMIS图书管理系统介绍 1.4.1图书管理系统需求分析 1.4.2图书管理系统系统设计 1.4.3图书管理系统数据库设计 习题 第2章面向对象技术和建模基础 2.1面向对象方法 2.1.1面向对象方法的基本思想 2.1.2面向对象方法的发展 2.2面向对象的基本概念与特征 2.2.1面向对象的基本概念 2.2.2面向对象的主要特征 2.3面向对象分析 .2.3.1处理复杂问题的原则 2.3.200A方法的基本步骤 2.4面向对象设计 2.5面向对象实现 2.6面向对象方法的内涵 2.7软件建模概述 2.7.1软件建模的概念 2.7.2软件建模的用途 2.7.3软件建模的优点 习题 第3章UML简介 3.1UML的发展 3.1.1UML的发展历程 3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML的关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 3.5.2类图 3.5.3对象图 3.5.4状态图 3.5.5活动图 3.5.6顺序图 3.5.7协作图 3.5.8组件图 3.5.9部署图 3.5.10UML 2.0新特性 3.6UML建模基本流程 习题 第4章UML建模工具简介 4.1常用UML建模工具 4.1.1 Rational Rose 4.1.2Enterprise Architect 4.1.3Together 4.1.4PowerDesigner 4.1.5 Visi0 4.1.6Tnffun Plat0 4.2Rational Rose安装与配置 4.2.1Rational Rose的运行环境 4.2.2Rational Rose的安装 4.2.3Rational Rose的配置 4.3使用Rational Rose建模 4.3.1Rational Rose主菜单 4.3.2Rational Rose的视图 4.3.3 Rational Rose建模的基本过程 习题 第5章需求建模 5.1用例模型概述 5.2用例图组成 5.2.1参与者 5.2.2系统 5.2.3用例 5.3识别和描述用例.. 5.3.1识别用例 5.3.2绘制WebShop电子商城用例图 5.3.3通过包对用例进行合理规划 5.3.4WebShop电子商城用例图(不含关系) 5.3.5用例描述 5.4用例间的关系 5.4.1泛化关系 5.4.2使用关系 5.4.3包含关系 5.4.4扩展关系 5.4.5关系小结 5.4.6WebShop电子商城用例图(含关系) 习题 第6章静态建模 6.1静态建模概述 6.2类图概述 6.3类图的基本组成 6.3.1类的概述 6.3.2绘制带属性的实体类 6.3.3绘制带操作的实体类 6.3.4绘制边界类图 6.3.5绘制控制类图 6.3.6UML中的类与语言中的类 6.4类之间的关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3类图和对象图的比较 习题 第7章数据库建模 7.1PowerDesigner简介 7.2PowerDesigner安装和启动 7.2.1PowerDesigner的安装 7.2.2PowerDesigner的启动 7.3PowerDesigner概念数据模型 7.3.1概念数据模型概述 7.3.2PowerDesigner概念数据模型概述 7.4 PowerDesigner物理数据模型 习题 第8章动态建模 8.1动态建模概述 8.2状态图 8.2.1状态图概述 8.2.2状态图组成 8.2.3绘制员工下班回家状态图 8.3活动图 8.3.1活动图概述 8.3.2活动图组成 8.3.3绘制WebShop电子商城活动图 8.4活动图拾遗 8.4.1活动图与流程图的比较 8.4.2活动图与状态图的比较 8.5顺序图 8.5.1顺序图概述 8.5.2顺序图组成 8.5.3绘制WebShop电子商城顺序图 8.6协作图 8.6.1协作图概述 8.6.2协作图组成 8.6.3绘制WebShop电子商城协作图 8.7 顺序图拾遗 8.7.1 顺序图与协作图的比较 8.7.2 顺序图与协作图的互换 习题 第9章物理建模 9.1物理建模概述 9.1.1硬件 9.1.2软件 9.2组件图 9.2.1组件图概述 9.2.2组件图组成 9.2.3绘制WebShop电子商城组件图 9.3部署图 9.3.1部署图概述 9.3.2部署图组成 9.3.3绘制WebShop电子商城部署图 习题 第10章双向工程 10.1双向工程简介 10.2正向工程(生成Java代码) 10.3逆向工程 习题 第11章统一软件过程RUP 11.1RUP简介 11.2RUPT作流程 11.2.1业务建模 11.2.2需求 11.2.3分析设计 11.2.4实施 11.2.5测试 11.2.6部署 11.2.7配置与变更管理 11.2.8项目管理 11.2.9环境 11.3RUP迭代过程 11.3.1初始 11.3.2细化 11.3.3构造 11.3.4移交 11.3.5迭代计划示例(构造阶段) 习题 附录A综合实训 附录B Rational Rose2003主菜单 参考文献...

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧