首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理UML类图/ ERM中经常重复的关系?

如何处理UML类图/ ERM中经常重复的关系?
EN

Software Engineering用户
提问于 2022-10-10 11:15:35
回答 2查看 151关注 0票数 1

假设您有一个包含大约40个类/实体的ERM。他们中的大多数人与其他人有着量化的关系,有些人只是站在那里。

如何处理经常使用的称为image类型的Image关系/属性?

我担心,因为我有那么多拥有Image的实体,所以图中会有表示这种关系的线条。

在某个地方将Image实体作为“独立”类并将其作为属性使用,这是一种良好的实践吗?

这两幅图像显示了不同之处。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2022-10-10 18:52:03

In

事实上,这两个符号在语义上几乎是等价的。唯一缺少的是,在第二个图中,您还表示了关联结束时的多重性,包括:

代码语言:javascript
复制
image: Image [0..1]

附加解释

UML规范的9.5.3节解释说:

属性可以表示分类器的属性、关联的memberEnd,或者在某些情况下同时表示二者。

两者之间的区别在于所有权(由类还是由关联)理解,在像您这样的二进制关联中,属性可以同时由两者拥有。

与属性(第二个图)相比,更倾向于成员端(第一个图)只是一个不需要强制执行的约定:

对于一般建模场景,一个有用的约定是,类型为类的属性是关联结束,而类型为DataType的属性则不是。这个约定不是由UML强制执行的。

实际上,«dataType»类似于类,但具有值语义:实例仅通过其值来区分(许多语言中典型的内建类型行为)。

这就是为什么您几乎总是看到原始的UML类型(StringIntegerReal,.)并将内置语言类型(假设使用了特定于语言的UML概要文件)作为属性,并将所有类作为关联元素。但是你不需要这样做,你的例子就是一个很好的例子,为什么有时候违背惯例是有意义的。

票数 2
EN

Software Engineering用户

发布于 2022-10-10 13:14:37

你的String关系呢?我可以看到您使用String类,但是您还没有显示这种关系。

当您需要说明要点时,最好使用UML图。你想展示的东西。把注意力放在这上面。不要试图在页面上塞满所有的东西,否则你只会表现出困惑。

因此,除非Image是您在这里试图指出的重点,否则可以不使用它的行。在其他地方给我们看。

至于如何摆脱这些行,您就像处理String中的行一样,处理掉它们。

如果您在某个地方有Image的图表,比如在第42页,它是页面的重点,那么您可以添加一个注释,上面写着“请参阅42页”。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/441544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档