有约束的组织的无约束概念模型?

时间:2019-12-11 21:14:40

标签: constraints uml conceptual-model

我们已获得分配任务,其中将创建一个文本文档描述的概念模型。该文档中给出了许多约束,但是我们也被指示不要在模型中使用约束。

我们已经能够解决一些限制,但是有一个我们无法解决。我提出的方案与我们遇到问题的部分作业有些相似。

  

您的任务是为游戏工作室的结构创建模型。公司由多个部门组成,每个部门至少有一名员工。每个员工都在一个部门工作。共有三种不同类型的员工:开发人员,设计师和工程师。

     

除此以外,员工还可以担任许多领导角色:部门主管,部门副主管,CTO或CEO(是的,CTO和CEO是正规员工的角色)。每个部门必须有1个部门主管和至少1个部门副主管。

     

此外,只能有一名CTO和一名CEO,这些角色只能由工程师担任。每个员工只能有一个领导角色。

为解决这个问题,我们组成了另一个抽象实体: BasicRole 。该实体是 LeadershipRole 的特殊化,是任何员工可以担任的三个角色的概括。这解决了一个问题,现在我们可以简单地在Designer / Developer与 BasicRole

之间创建适当的关联

但是,除了与CEO和CTO的关联之外,我们还希望工程师与 BasicRole 建立关联。添加这些关联会得出一个概念模型,如下所示:Conceptual Model

但是,这是有问题的,因为现在我们说工程师可以担任0到3个角色。

我们已经考虑将公司作为一个实体,并在公司和CTO / CEO之间添加关联,以指定该公司只能各拥有一个的方式,但是在此过程中,我们一遍又一遍地被告知不要在模型中包含我们要建模的实体。

现在,似乎我们所有的问题都可以通过约束来解决(如果我们继续研究这些问题),并且对这三个关联进行某种异或运算。但是,看到我们被指示不要在概念模型中使用约束时,我们很茫然。

2 个答案:

答案 0 :(得分:2)

如果您将EngineerLeadershipRole关联(具有多重性0..1),则从EngineerCTOCEOLowerRole将获得预期的结果:

  

每个员工只能担任一个领导角色。

由于LeadershipRole是抽象的,它必须是CEOCTOHeadOfDepartmentDeputyHOD),但是由于多重性不能再多多于一次。

“如果我们正在设计代码级文档,则“一遍又一遍地告诉我们,不要在模型中包含将作为实体建模的事物”的说法是正确的,但这是正常的将实体代表您要建模的整个组织。换句话说,请不要在系统模型中放入System(或称您为系统)。但是Company是您在系统中 建模的东西。

答案 1 :(得分:-1)

“每个部门必须有1个部门主管和至少1个部门副主管”的2个选项。

重新定义
redefenition

嵌套符号
nested notation

“这些角色只能由工程师担任”的2个选项

重新定义
redefenition

通用化
generalization

总共4 = 2 * 2个选项