1

我来自 ER 背景,正在转向 UML 图。我正在为一个真实的工作场景构建一个 UML 图。我正在构建的类图之一是 Employee - Manager 类图,其中 Manager 也是一名员工。这是一个经典的 UML 图,已经存在了很长时间,它的构造如下所示

经典 Employee-Manager 类图

但是,有些事情经理可以做,但员工不能做,例如经理可以向(且仅向)在他/她手下工作的员工支付工资。我对这种情况的解决方案是像这样重建类图

Employee-Manager 扩展类图

我正在为 Manager 创建一个专门的类,并将关系表示为第三实体。这个好吗 ?

4

1 回答 1

0

Employee 和 Manager 之间有很多可能的关系类型。您可以期望每个经理都是员工。但这是真的吗?例如,临时经理是雇员吗?还是分包商?还是其他组织的项目经理?同样的问题也适用于员工。

因此,在许多情况下,员工和经理之间的经典关系是不正确的。一名员工可以在一个组织中担任多个角色。这发生在高中或大学,有些人在不同部门有教育合同。一名员工在一天中的不同时间拥有不同的经理。

一个经理在他的部门有几名员工,还是实际上有一套合同?您能否将经理描述为特定功能的实现,而作为员工则在组织内具有有效合同的状态?一个组织可能有 100 名员工、75 名员工和 10 名经理,其中 2 名为不同的组织工作。

因此,您的问题的答案是:您的模型正确的可能性很小。这种关系通常比您的模型可以描述的复杂得多。

于 2013-05-30T15:39:30.330 回答