当前位置: 首页 > 知识库问答 >
问题:

UML:组合还是依赖

贾成天
2023-03-14

我有两门课JobTask。规则如下:

  • 每个作业都有一个数字标识符。
  • 每个作业有10个对应的任务。
  • 每个任务都有一个数字标识符。
  • 一个任务没有作业就不能存在。

我试图建立这两个类的类图。因为任务不能没有作业,所以我认为这是一个组合,这就是我如何构建类图:

但现在我感到困惑的是,如果这种关联实际上是依赖关系:

在这种情况下,我如何知道关系是组合关系还是依赖关系?

我已经按照Thomas Kilian的建议在类图中修复了组合(复合聚合):

共有1个答案

仲承福
2023-03-14

依赖关系是元素之间最弱的关系。这意味着,如果依赖的元素发生了变化,它需要依赖元素中的某种关注。例如,如果枚举包含关联的类,则类之间或包之间可能存在对枚举或概念阶段的依赖。

复合聚合首先是两个元素之间的强关系(关联)。也就是说,双方中的一方也以某种方式(使用属性或方法)与另一方合作。此外,复合聚合告诉我们一些关于对象生命周期的信息。正在合成的元素将在移除合成元素后消亡。这仅仅是一种用于数据安全的构造,例如,如果此人被移除,您需要删除个人记录(汽车/车轮示例似乎没有多大意义,因为一旦汽车碰撞,车轮仍然可用)。另一个用途可能是(现在更少)存储管理。

两个旁注:

>

共享聚合(空心菱形)没有定义的语义,只有在为特定用途在特定域中定义它时才应该使用它。见第2.5节第112页。1规格:

指示属性具有共享聚合语义学。共享聚合的精确语义学因应用领域和建模者而异。

 类似资料:
  • 我在UML中遇到了和关系的一些问题,我确实理解整体/部分关系,所以如果一个类不能没有它的整体而存在,那么它就成为一个强的组合关系,如果它仍然可以没有它的整体而存在,那么它就成为一个弱的聚合关系。 然而,当处理真正的软件需求时,有时会变得更加棘手。我有一个下面的类图,包括所有必要的属性、操作和特性,它们都正确地显示在UML标准中,但是我不确定我的关系: 1 接口和 6 类 有人可以确认我的关系是否正

  • 我有一辆车,它有一个依赖项:

  • 问题内容: 我有一个非常希望直截了当的问题,在最近3个小时中,这一直给我带来很多困难。应该很容易。 这是挑战。 我有一个熊猫数据框: 我想要将数据框转换为: 值是值计数。有人有见识吗?谢谢! 问题答案: 这是重塑数据的几种方法 1) 使用 2) 或者,在over上使用,然后填充零。 3) 或者使用与, 4) 或者,与

  • 好吧,所以我有点困惑,当我试图在UML图中显示关系时,什么时候应该向类添加属性,什么时候应该向类绘制关联。 例如,假设我有一个包含10个状态对象的DFA类,每个对象都有一组不同的路径指向DFA中的不同状态。我应该绘制从DFA到State类的组合线,还是只在DFA类的attribute部分输入所有10个状态? 基本上,我试图弄清楚当一个类包含(或由)一个或多个类B时,我应该在它们之间画一条线(聚合、

  • 问题内容: 1个 结果集 : 2个 结果集2: 有没有办法可以做到这一点: 我想在RHEL 5上使用Sybase 12.5的解决方案,我也想知道在其他任何数据库系统中是否可行。 -–谢谢您的回答- 问题答案: 通过为该列使用CASE / WHEN并基于true / false求和1或0,您可以在同一查询中获得这两者。此外,如果您希望将另一个值的总和作为另一个,则可以执行相同的操作列…只需将其替换为

  • 在angular2中,假设我有一个类和一个类,它们具有相同的属性/成员和方法。如何初始化类? 服务 其中一个子类要扩展类: