Class 招聘管理系统图

Class diagram for a recruitment management system

我正在构建一个招聘管理系统,招聘主管可以在其中登录并添加新工作,然后他可以为该工作分配应聘者。这些候选人中的每一位在被录用之前都有自己的步骤(筛选、面试、测试等...)。

例如:id 3 的候选人在被录用之前有 6 个步骤,而 id 21 的候选人在被录用之前只有 2 个步骤。

请注意,同一候选人可以分配到不同的职位。 例如:id 为 6 的候选人,申请职位 PHP Dev 和职位 Technical Lead。

我想弄清楚如何设计这个系统,但我被困在 class 图上:

编辑:这只是招聘人员的积压工作,招聘人员将从 LinkedIn 工作 post 中 select 合适的候选人,并将他们添加到系统中。

澄清

您的叙述并不明确,但我知道这些步骤取决于候选人和工作。例如,候选人 6 的 PHP 职位可以有 3 个台阶,技术主管职位可以有 19 个台阶。

可能的解决方案

可以使用 中介 class:

以非常简单的方式分解这种更复杂的关系

一个“任务”是指一个候选人申请一份工作,并定义几个不同的步骤。反之,一个职位可以多次赋值。同样,一个候选人可能与多个作业相关联,并且每个步骤对应一个作业。

另一种方法是使用 关联 class:

与上一张相比,这张图的语义重点略有不同:这里有一个多对多的关联,在候选人和职位之间,关联-class 描述了更多关于这个关联的信息。我认为它更符合你的叙述,但无论如何实现都与前一个非常相似。

你也可以定义一个三元关联,但我不会在这里推荐它。

其他想法

剩下的问题是:为什么步骤会因候选人而异?来自 ethical point of view,这不会助长歧视吗?而且,手动创建步骤不是很繁琐和重复吗?

因此,为该职位定义一些标准化的 Template Steps 似乎更可取,并且当候选人被分配到该职位时,模板步骤将用于为该职位创建一组初始步骤“任务”。管理员可以删除不需要的,或添加新的,在这种情况下填写 justification 属性。我把相应的建模留给你作为练习;-)