我正在建立一个招聘管理系统,招聘主管可以登录并添加一个新职位,然后他可以为该职位分配候选人。这些候选人中的每一位在被录用之前都有自己的步骤(筛选、面试、测试等)。
例如:id为3的候选人在被录用前有6个步骤,而id为21的候选人在被录用前只有2个步骤。
请注意,同一候选人可以分配到不同的工作。例如:id为6的候选人,应聘php开发人员和技术主管职位。
我试图找出如何设计这个系统,但我被困在类图上:
编辑:这只是招聘人员的待办事项,招聘人员将从linkedin招聘帖子中选择合适的候选人,并将其添加到系统中。
1条答案
按热度按时间hkmswyz61#
澄清
这在你的叙述中并不明确,但我知道步骤取决于候选人和工作。例如,候选人6在php职位上可以有3个步骤,在技术主管职位上可以有19个步骤。
可能的解决办法
可以使用中间类以非常简单的方式分解更复杂的关系:
“任务”是指一个应聘者申请一份工作,并定义几个不同的步骤。相反,一个职位可以分配多个任务。类似地,一个候选者可以与多个作业关联,每个步骤对应一个作业。
另一种选择是使用关联类:
与前一张图相比,此图中的语义焦点稍有不同:这里有一个多对多关联,在候选者和职位之间,关联类描述了更多关于此关联的信息。我认为它更符合您的叙述,但实现无论如何都将与前一个非常相似。
您也可以定义三元关联,但我不推荐在这里使用。
其他想法
剩下的问题是:为什么步骤因候选人而异?从伦理的Angular 来看,这不会危险地助长歧视吗?此外,手动创建步骤不是很乏味和重复吗?
因此,更可取的做法是制定一些标准
Template Steps
为该职位定义,当候选人被分配到该职位时,模板步骤将用于创建“分配”的初始步骤集。管理员可以删除不必要的一个,或添加新的,在这种情况下填补一个justification
财产。我留给你一个相应的建模练习;-)