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

时间:2015-04-01 18:59:46

标签: uml class-diagram

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

解决此问题的最佳方法是什么。我听说过方向联想,但我无法弄清楚如何解决这个问题

类图: class diagram TimeTracker

2 个答案:

答案 0 :(得分:1)

我不理解您对TimeTrack的解释,但我认为您的建模问题只能通过添加完整性约束(在UML中称为"不变")来解决时间跟踪用户是时间跟踪项目用户组的成员。

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

self.project.users->includes( self.user)

答案 1 :(得分:0)

除了OCL之外,您还可以简单地附加包含以下内容的约束(附加到相关连接器的注释):

{association can only exist if there is a connection between project and user}