我正在建立一个招聘管理系统,招聘负责人可以登录并添加一个新职位,然后他可以为该职位指定候选人。每个候选人都有自己的步骤(筛选、面试、考试等)。在他们被录用之前。
例如:有id 3的候选人在被录用前有6步,而id 21的候选人在被录用前只有2步。
请注意,可以将同一个候选人分配到不同的职务。例如:具有id 6的候选人,应用于作业PHP和作业技术主管。
我正试图找出如何设计这个系统,但我仍然停留在类图上:
编辑:这是只供招聘人员使用的待办事项,招聘人员将从LinkedIn职务岗位中选择合适的候选人并将其添加到系统中。
发布于 2021-07-09 21:43:51
澄清
这一点在你的叙述中并不明确,但我明白,步骤取决于候选人和工作。例如,候选6可以包含PHP位置的3个步骤,以及技术领导位置的19个步骤。
可能的解决办法
这种更复杂的关系可以使用中间类以非常简单的方式分解。
“任务”是为一名应聘者申请一份工作,并定义几个不同的步骤。相反,一个职位可以有多个任务。类似地,候选人可以与多个任务相关联,并且每个步骤对应于一个任务。
另一种选择是使用关联类。
与前一个图相比,这个图中有一个稍微不同的语义焦点:这里有很多到许多关联,在候选和位置之间,关联类描述了更多关于这种关联的内容。我认为它更符合您的叙述,但它的实现无论如何将是非常类似的前一个。
您也可以定义一个三元关联,但我在这里不推荐它。
附加思想
剩下的问题是:为什么步骤会因候选人而异?从一个伦理观点,这难道不是危险的促进歧视吗?此外,手工创建的步骤不是乏味且重复的吗?
因此,似乎更可取的做法是为该职位定义一些标准化的Template Steps
,并且当候选人被分配到该职位时,模板步骤将用于为“分配”创建一组初始步骤。管理员可以删除不必要的,或者添加新的,在这种情况下填充一个justification
属性。我让你作相应的模特儿练习;
https://stackoverflow.com/questions/68320904
复制相似问题