gpt4 book ai didi

UML 域模型 - 如何对两个实体之间关联的多个角色进行建模?

转载 作者:行者123 更新时间:2023-12-01 18:56:36 25 4
gpt4 key购买 nike

假设有一个用户有任务的场景。每个用户可以是任务的观察者或 worker 。

此外, worker 可以归档他在给定任务上的工作时间。

下图正确吗?我环顾四周的领域模型,但没有看到一个具有两个关联的模型(适用于、 watch )。可以接受吗?

enter image description here

编辑:这个场景怎么样?用户可以向另一个用户提出要约。下图显示了一种可能的建模方法。

但是,在该图中,用户似乎可以向自己提出报价。是否可以对一些约束进行建模,或者是否可以在开发线上进一步处理?

enter image description here

最佳答案

原则上这是正确的,这就是对两个类之间的多重关系进行建模的方式。

对于约束,UML 使用 OCL(对象约束语言),因此您可以说关联是互斥的(xor - 互斥或)。

另请注意,命名关联的最终角色通常是个好主意。

enter image description here

关于其中一条评论说

There are no UML police to flag you down for being "unacceptable".

这就像在说:没有代码警察会标记你编写糟糕的代码。

您创建图表来传达信息(无论如何用于学校项目),如果您偏离标准或最佳实践,其他人就更难理解您的图表。

就像有检查代码常见问题的 linter(jslint,...)一样,对于模型,也有模型验证可以做同样的事情。

此外,模型就像代码一样,并不是一成不变的,因此当您找到更好的方式来表达您的领域时,不要害怕修改它们。

更新

正如吉姆恰本地指出的那样,您通常不是作为用户(或个人)而是作为角色来做事。例如。当你是学生并填写表格时,没有人关心你是人类,而是关心你是一名学生。通常,一个人还会有几个不同的角色(您可以是学生、助教、教授等)

以这种方式分离它可以使领域更加清晰,因为您只关心角色,而不关心实现它们的人。

enter image description here

关于UML 域模型 - 如何对两个实体之间关联的多个角色进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com