Uml <&书信电报;使用>&燃气轮机;及<&书信电报;组合>&燃气轮机;同时需要什么?

Uml <&书信电报;使用>&燃气轮机;及<&书信电报;组合>&燃气轮机;同时需要什么?,uml,Uml,我有下面的UML包含类School,在我的示例中,它只能有一个教师室 我现在的问题是,这个UML的官方符号是什么,或者我是否应该删除关联,因为它很明显? 很明显,因为我正在我的学校实例中保存一个TeacherRoom实例 我会这样定义它: 根据我对UML2.5.1规范第10.4节的理解,使用依赖性描述了给定组件需要接口或服务的事实 因此,我将删除它,因为这与“学校”由“教师室”组成这一事实无关 我的第二点是你的“teacherRoom”属性,它的含义与你的作文大致相同,因此我将删除其中一个(属性

我有下面的UML包含类School,在我的示例中,它只能有一个教师室

我现在的问题是,这个UML的官方符号是什么,或者我是否应该删除关联,因为它很明显? 很明显,因为我正在我的学校实例中保存一个TeacherRoom实例

我会这样定义它:

根据我对UML2.5.1规范第10.4节的理解,使用依赖性描述了给定组件需要接口或服务的事实

因此,我将删除它,因为这与“学校”由“教师室”组成这一事实无关


我的第二点是你的“teacherRoom”属性,它的含义与你的作文大致相同,因此我将删除其中一个(属性或作文)。

事实上,你在班级
学校
中有属性
teacherRoom:teacherRoom
,这意味着
学校
正在使用
teacherRoom
,所以≪使用≫-不需要依赖关系

你也有一个作文协会到教师室。这意味着,除了属性之外,您还与TeacherRoom有第二个关系。因此,您可以删除其中任何一个。

因为您编写了

只能有一个[由我更正的打字错误]教师室

您需要在关联的右侧添加一个多重性
1
(并按照注释和回答删除菱形)。您还应该在协会中使用角色名
teacherRoom
,而不是
School
中的属性,并通过添加点使其成为自有属性


对合成的一些补充说明:合成(我个人的印象)是一种会导致更多混乱的东西,而不是它实际上有助于构建模型(只需寻找关于其语义的问题和/或注意它的错误用法)。更糟糕的是,共享聚合导致(并导致)更加混乱。现在,经过许多版本,UML2.5将这个空洞的东西定义为:什么都没有。只需阅读第页的方框。110回到填充的那个,复合聚合。基本上这是关于对象的生命周期,所以是否有一个对象的所有者负责其生命周期。当你制造一辆由轮子组成的汽车时,这显然是不对的,因为轮子在没有固定在汽车上的情况下会继续存在。只有汽车不再是汽车了。但这将通过在轮子上附加4的倍数来表示。任何不完全是四轮的汽车都不再是汽车。没有作文


那么,在哪里可以使用复合聚合呢?我心里只有两份申请。一个是存储管理。这在早期的计算机时代是很重要的,当时像我这样的恐龙和柜子大小的20兆字节硬盘一起战斗!只有少数边界情况仍然需要内存管理指示。第二种情况是安全。指示某些内容必须与其父项一起删除。这仍然有效。但这是复合聚合的唯一真正应用程序。

那么基本上我可以在没有任何关联的情况下拥有学校和教师室?顺便说一句,“关联”是这里正确的词xDYes和yes。但我曾在团队中工作过,他们坚持要冗余属性和关联。是的,所以你可以这样做,但你不必这样做,因为这是冗余的:)我正是这么想的,但为了以防万一,谈论这一点很好;)嗯,我说了“多余”,但当你有属性和关联时,正式地说,它意味着有两个独立的关系,即学校有两个教学室,或者学校有两个对同一教学室的引用。如果您想同时显示这两个,可以使用斜杠指示其中一个是从另一个派生的:
/teacherRoom:teacherRoom
。看到了吗?黑点应该是我认为的矩形,对吗?长方形应该在学校班级的右边,因为理论上学校可以没有教师室而存在,但教师室不能没有学校权利而退出?不。点是“拥有的财产”的符号,这使得命名角色正是这样。这只是对同一事物的不同呈现,但是这种方式比在班级隔间中隐藏一个属性更清楚。我不这么认为,我认为10.4不可能是唯一的可能性,因为如果我在学校的代码实现中使用TeacherRoom或它的某个实例,我基本上知道,在这种情况下,我需要一个关联。:)根据第7.7.4节,使用依赖项仅表示“使用”。见图7.20。我认为“用法”并不局限于组件/接口/服务。表C.1将关键字
use
定义为用法。哦,好吧,除了10.4中的图外,图7.20中似乎只有一个例子