Inheritance employee-manager类图,表示对manager实体的附加约束

Inheritance employee-manager类图,表示对manager实体的附加约束,inheritance,uml,class-diagram,model-associations,Inheritance,Uml,Class Diagram,Model Associations,我来自ER背景,正在转向UML图。我正在为一个真实的工作场景构建一个UML图。我正在构建的一个类图是Employee-Manager类图,其中Manager也是雇员。这是一个经典的UML图,已经存在了很多年,它的构造如下 然而,有些事情经理可以做,但员工不能做,比如经理可以向(并且只向)在他/她手下工作的员工支付工资。对于这种情况,我的解决方案是像这样重构类图 我正在为经理创建一个专门的类,并将关系表示为第三个实体。这样好吗?员工和经理之间可能存在很多类型的关系。 你可以认为每个经理都是一名

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

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


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

员工和经理之间可能存在很多类型的关系。 你可以认为每个经理都是一名员工。但这是真的吗? 例如,临时经理是员工吗?还是分包商?还是来自另一个组织的项目经理?同样的问题也适用于员工

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

一个经理在他的部门里有几名员工,或者实际上有一套合同?您能否将经理描述为某项职能的实施,并将其描述为在组织内拥有有效合同的员工?一个组织可能有100名员工、75名全职员工和10名经理,其中2名为不同的组织工作


因此,你的问题的答案是:你的模型正确的可能性很小。这种关系往往比模型所能描述的要复杂得多

您是否需要员工管理实体?除了向Eee&Mgr显示外键外,不会在其上显示任何属性。如果这是正确的,那么您可以使用从Mgr到Eee的1:M关系(这将转换为指向Mgr的FK-in-Eee)。尽管如此,它并没有错,只是不够简洁。嗯。