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

UML类图:3个类之间的不一致

韦棋
2023-03-14

我似乎对一个简单的时间跟踪器有一个问题。它的设置方式是用户可以跟踪与项目相关的命中时间或自由输入某些内容。这意味着时间表对象总是有一个用户,但并不总是有一个项目。当我在连接到用户的数据库中创建一个时间表对象,但然后将一个与用户没有关联的项目连接到同一个时间跟踪对象时,可能会出现不一致。

解决这个问题的最佳方法是什么。我听说过定向联想,但我不知道它是如何解决问题的

共有2个答案

姚骁
2023-03-14

除了OCL,您还可以简单地附加一个约束(注意附加到相关连接器),其中包含以下内容:

{association can only exist if there is a connection between project and user}
严峰
2023-03-14

我不明白您对TimeTrack的解释,但我认为您的建模问题只能通过添加一个完整性约束(在UML中称为“不变量”)来解决,该约束要求时间跟踪用户是时间跟踪项目用户集的成员。

这可以用以下表达式在附加到TimeTrack类的约束框中正式表示为OCL不变量:

self.project.users->includes( self.user)
 类似资料:
  • 我目前正在研究UML类图,对一些事情有点困惑。所以我有我的类,继承和使用接口,但我把不继承或使用接口的类放在哪里?我是不是像下图那样把它们放在一边?

  • 我读了里面的帖子 UML中分类器拥有的关联和关系拥有的关联 在UML中设置关联最终所有权:这对于可视化范例(或其他UML工具)中生成的代码意味着什么 http://www.uml-diagrams.org/association.html 但是UML类图关联的“导航”和“所有权”之间的区别对我来说仍然不清楚。此外,同时发布了UML 2.5。 该规范规定如下: 类拥有的关联端始终是可导航的,而关联拥

  • 那么,如何在解决方案域中解决此问题呢?

  • 我对我要在类图中使用哪些关系有些怀疑。我知道我可以使用一般关联(使用关联行)或更多特定的关联,如聚合或组合。我已经知道聚合和组合的定义,但我的问题是: 何时需要使用一般关联,何时需要使用更具体的关联 有什么规则吗

  • 在Android中,假设我们有两个类,它们具有启动服务的常用方法,因此我们将它们提取到helper类中: 下图显示了我对表示它的奇怪尝试。我使用了交易窄。我认为这些是活动图,但在uml图中。组织/类别参考。html,这些狭义称为关联可导航性。这就是为什么我用它们来表示图表。在HelperClass和ClassService之间,我使用了正常的关联。在类和服务之间,我使用了一个限制(为了更清楚,它只

  • 这是关于用户和用户类型的关系。 我有两个类User和UserType User有UserID,UserName,UserTypeID UserType为:TypeID,TypeName 一个用户只能有一个用户类型(TypeID1/TypeID2/TypeID3) UML类图表示法是什么?它是关联还是组合还是聚合? 此图将汽车和汽车类型关联为http://www . jetbrains . com/