我们被分配了一个任务,我们要在其中创建一个由文本文档描述的概念模型。文档中给出了许多约束,但我们也被指示不要在模型中使用约束。
我们已经能够解决一些限制,但有一个我们无法解决。我已经编造了一个场景,它与我们遇到的任务部分有点相似。
您的任务是创建游戏工作室结构的模型。公司由多个部门组成,每个部门至少有一名员工。每个员工都在一个部门工作。员工分为三种不同类型:开发人员、设计师和工程师。
除此之外,员工还可以担任许多领导角色:部门主管、部门副主管、CTO 或 CEO(是的,CTO 和 CEO 是普通员工的角色)。每个部门必须有一名部门主管和至少一名副主管。
除此之外,只能有一名 CTO 和一名 CEO,而这些角色只能由工程师担任。每个员工只能担任一个领导角色。
为了解决这个问题,我们制作了一个额外的抽象实体:BasicRole。该实体是LeadershipRole的一个特化,是任何员工可以担任的三个角色的泛化。这解决了其中一个问题,现在我们可以简单地在 Designer/Developer 和BasicRole之间创建适当的关联
但是,除了与 CEO 和 CTO的关联外,我们还希望 Engineer 与BasicRole有关联。添加这些关联会产生一个概念模型,如下所示:
但是,这是有问题的,因为现在我们说工程师可以拥有 0 到 3 个角色。
我们已经考虑将公司作为一个实体包括在内,并在公司和 CTO/CEO 之间添加关联,以指定公司只能拥有一个,但在本课程中我们被一遍又一遍地告知不要包括该事物我们正在建模为模型中的实体。
现在,似乎我们所有的问题都可以通过约束来解决(如果我们继续阅读这些),对三个关联进行某种异或。然而,鉴于我们被指示不要在概念模型中使用约束,我们不知所措。