计算机毕业设计-基于协同过滤的大学生校招岗位推荐系统的设计与实现

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私我

一.毕业设计的内容

在本课题的基于协同过滤的大学生校招岗位推荐系统,主要采用Java技术开发,采用MySQL数据库,采用maven进行项目管理,基于MVC模式设计,数据处理采用Mybatis架构,前端采用JSP、JavaScript进行处理。在系统设计中主要分为三种角色,高校管理员、学生、企业,主要核心模块为,学生信息管理、企业信息管理、企业岗位管理、岗位推荐、企业招聘发布、学生投递、岗位收藏、三方签订、工作就业数据统计等,本课题对校园招聘系统进行了设计,目的是对招聘信息进行整合和归纳,对不同专业的信息进行分类,根据不同的专业进行推荐,增强高校毕业生对于信息的了解,同时也方便校园和企业方的信息交流。

二.毕业设计的意义

通过开发一个功能全面的大学生校招岗位推荐系统,能够显著提升就业服务的质量和效率,帮助毕业生更快捷地找到符合自身职业规划的岗位,减少求职过程中的盲目性和不确定性;另一方面,该系统也为企业提供了便捷的人才筛选渠道,有助于企业精准定位所需人才,降低招聘成本,提高人力资源配置的合理性。同时,系统还能促进地区间、行业间的就业信息流通,为区域经济发展和产业转型升级提供有力支持。

基于大数据分析可以为求职者和招聘者提供更加高效、精准的招聘服务。利用数据挖掘技术对招聘信息进行深度分析,为招聘者提供有关求职者偏好、职位竞争情况等重要洞察,从而优化招聘策略。本课题主要采用SpringBoot架构进行搭建,基于Java进行编码,系统功能模块包含招聘企业管理、用户信息管理、招聘岗位管理、岗位收藏、简历维护、简历投递、岗位推荐、数据分析展示等。

一.研究背景

就业问题是大多数人都需要面对的问题,也是国家非常重视的问题,不仅关乎个人,对于国家经济也有非常大的影响,这是我选择设计招聘网站的主要原因,该网站适用于每位求职者,不论是大学毕业的求职人,还是中年想换工作的职场人士,都非常适用,并且我们针对其他网站的竞争优势是,会派专门人员对在网站上注册的公司进行审查,以防止出现虚假公司的情况,更加有效的为求职者提供了安全保障,此类网站的出现,扩大就业者的就业信息来源,能够精准了解到哪个公司正在招人,并且根据招聘信息能了解到每个地区的薪资水平,明确自己的目标。其次,招聘者通过软件能够选拔出更加优秀的劳动力,通过简历,以及后续面试,选拔出真正适合工作岗位的员工,提高了hr办公的效率。最后,人岗匹配,能够使人才资源浪费减少,使大部分求职者能够在自己擅长的岗位发光发热,完善产业链,促进国家经济的发展。

二.国内外研究现状

1. 国外研究现状

国外的求职招聘网站有“ LinkedIn”,此平台是全球范围内最大的求职招聘社交网站,为求职者提供了公司信息模块、工作职位信息模块、个人信息展示等多种服务,供求职者去多方面了解。“Glassdoor”,此平台和其他平台不同的是,企业可以在系统内部直接为求职成功者提供工资的打款、求职者在系统内还可以看到公司员工的评论、公司面试问题等信息,让求职者能够对自己即将面时的公司有着更全面的了解[1]。

2. 国内研究现状

在国内方面,随着企业对高效招聘的需求增加以及数字化转型的推动,招聘流程外包和网络招聘行业迅速发展。截至2023年底,全国各类人力资源服务机构已达6.99万家,其中招聘流程外包市场规模约为800亿元。同时,中国互联网招聘行业规模也在持续扩大,2024年市场规模达到千亿级别,年复合增长率达到15%以上。此外,网络招聘行业的发展历程也经历了从起步到逐渐兴起,再到移动端招聘平台迅速崛起的过程[2]。

国内现在计算机技术比较成熟,针对于一些垂直领域的软件开发也非常的多,在高校中目前也比较推崇“智慧招聘+互联网”的模式进行打造,因此更多的学者和公司都对招聘管理系统有一定的研究,在之前无软件的时候都是通过纸质材料对用户招聘内容和申请信息进行填写,然后盖章并进行审核,流程非常的繁琐和复杂,而现在都是通过计算机体系进行一体化的流程操作[3]。

国内的例如“国家24365大用户就业服务平台”,这是由教育部推出的综合性平台,提供全时化、智能化的就业服务。平台具有PC端和移动端服务功能,包括求职应聘、就业指导、专场招聘、实习岗位等功能,支持毕业生完善个人简历、检索职位信息、参加专场招聘会等[4]。“杰德教育用户实习就业管理平台”,该平台包括实训管理系统、就业管理系统和实习管理系统,主要用于解决用户在实习期间和就业期间的管理问题。系统建立起学校的校企合作企业数据库,支持用户、教师、企业多主体参与,支持对用户实习登记、实习结果、实习评价的管理[5]。

三.实际应用方面的价值

本课题的任务是采用协同过滤算法开发的校招岗位推荐系统。该系统要具有传统的岗位检索,收藏,简历投递,还具有岗位的协同推荐,具体实际应用价值体现在:

1);结合协同过滤算法的强大推荐能力,旨在为求职者和企业搭建一个高效、精准的对接平台,提升双方的招聘与求职体验。

2);提供求职者和企业用户的活动数据分析,如求职者投递趋势、企业招聘效率等,以可视化图表形式展示。

3)涵盖了用户管理、职位推荐、搜索筛选、消息通知、数据分析等多个方面,不仅提升了求职者和企业的用户体验,还通过用户反馈机制不断优化推荐算法,确保推荐结果的精准性和实用性。

四.相关技术与研发基础

1. 相关技术

在本系统中主要采用Java语言编码,基于Springboot架构开发,通过MyBatis进行项目底层数据管理,系统前端采用JSP、Ajax交互,数据存储为MySQL。

1)Springboot是一个大的容器技术架构,是在spring的基础上对架构的重新整合,springboot内部集成了很多开发插件,springboot主要是对spring的架构进行简化,将繁琐的xml去繁就简,通常springboot可以通过maven对关联的内置jar包进行引入,且无需进行war包的编译,直接通过编译完成后的jar包run即可,springboot通过嵌入式的servlet容器进行开发[6],直接通过java –jar进行运行操作,springboot的核心就在于架构的自动配置,只有对某一种架构有需要,在springboot就可以通过内置的进行引用嵌入,springboot还集成了很多的web服务器和一些拦截监控等插件,springboot的核心为starter,starter可以包含一些启动项以及一些拦截类等信息,springboot因为没有xml因此在资源文件中通过yml或者是properties文件进行配置,可以通过对文件拦截配置的顺序进行配置变量的覆盖。Springboot对于项目的开发省去了很多的配置项,同时也让架构的内置开发更为简单[7]。

2)MySQL对于普通的数据管理来说极为方便,在无需对事务化进行考虑的前提下,MySQL可以将自身的优势发挥到极致,跟其他数据库一样,MySQL的事务特性也遵从执行的原子性和一致性,每一次对数据库的底层操作都可作为一个最小的执行单位,要么全部操作执行,要么全部否定回滚,对于数据的每一次操作都是一个执行整体,不可拆分,对于数据一致性来说,每次对于数据的读取都要保证一致,避免脏读情况出现,做到数据可还原。MySQL的主要特性在于服务稳定,数据执行性能较高,且内部机制稳定极少出现宕机情况,且在安装使用时操作简单,部署便捷,同时支持LAMP和LNMP等流行架构,MySQL的部署可基于跨平台执行操作[8]。

3)Mybatis的前身是ibatis,也是一种持久层处理架构,mybatis是一种半自动化的orm映射,先对于hibernate来说,hibernate执行的是hql语言,且是基于面向对许机制执行的,无需开发者自己进行sql的编写,而mybatis则需要自己进行sql的编写,且通过mapper与xml进行对应分离,自己对方法和类进行映射,但mybatis相对与hibernate来说更为灵动,且在复杂查询需要关联优化时,mybatis性能更好,且可以将代码与sql进行完全分离,对于项目的移植性更好。Mybatis也支持了hibernate较好的以面,可以对数据进行延迟加载,可以在xml中建立二级缓存机制,mybatis使用简单,只需要对jar进行映入,编写sql对应文件执行即可。

4)Maven的出现极大的便捷了java项目jar包的管理,maven可以通过pom文件配置相对应的依赖进行jar包的引入,maven可以对本地库进行指向,也可通过文件的配置对远程的私服库进行jar包在线下载,maven的使用可以解决jar包版本的冲突问题,同时也进行jar包版本的定时更新,maven可以作为项目管理和项目发布部署使用,maven可以处理各个包之间的关系依赖以及Ant任务。Maven可以依据代码层或者是业务模块将代码拆分成多模块的工程,利于团队的分功合作和项目的分布式部署操作。

2. 研发基础

1)开发者学习过Java Web开发技术、数据库原理以及企业项目实训等课程,熟悉HTML、CSS、JavaScript、JSP技术,具备一定的理论基础。

2)开发者完成过图书管理系统、人事管理系统等系统的开发,具备一定的项目开发经验。

3)学校提供免费的知网文献资源,且有完备的网络环境,有助于课题的研究、实施。

五.主要参考文献

[1]圣立明,李超,常京.基于微信小程序的求职招聘系统的设计[J].电脑知识与技术,2022,18(31):

49-52.

[2]张怀秀.企事业单位网上招聘推荐系统开发实现[J].电脑编程技巧与维护,2022(06):49-51

[10]殷凤梅,刘冠中.基于SSM框架的网上招聘系统设计与实现[J].长春大学学报,2022,32(04):   1-5+62.

[3]宋东翔,王怡然.一种高校教师招聘管理系统的优化方案[J].电子制作,2022,30(04):41-43+68.DOI:10.16589/j.cnki.cn11-3571/tn.2022.04.015.

[4]李聪惠.高等学校教师招聘系统设计与研究[J].山西电子技术,2021(03):73-75.

[5]史倩玉.基于MVC模式的实时招聘系统的设计[J].信息记录材料,2021,22(03):232-234.DOI: 10.16009/j.cnki.cn13-1295/tq.2021.03.153.

[6]黄文倩. 目标导向下的智能招聘面试系统交互设计研究[D].南京理工大学,2021.

[7]郑悍. 一个基于微服务的线上招聘系统的设计与实现[D].华中科技大学,2020.

[8]邢娜,欧益伊.医院在线招聘管理系统的开发与应用[J].转化医学杂志,2020,9(03):162-164.

[9]曹佳. 基于文本语义相似度的企业招聘系统的设计与实现[D].曲阜师范大学,2020.DOI:10.27267/d.cnki.gqfsu.2020.001193.

[10]张龙伯.面向全流程管理的招聘系统设计与实现[J].电子技术与软件工程,2020(11):218-220.

[11]孟祥雪. 基于SSM的外聘人员人事管理系统设计与实现[D].电子科技大学,2020.DOI:10.27005/d.cnki.gdzku.2020.004229.

[12]Paul Krill. Oracle Java popularity sliding, New Relic reports[J]. InfoWorld.com,2022.

[13]Donny Jackson. Zero-day vulnerability discovered in Java Spring framework[J]. Urgent Communications,2022.  [16]Java Developer Survey Reveals Teams Not Realizing Full Promise of Microservices[J]. M2 Presswire,2022.

一、功能模块结构设计

1. 功能模块

此系统主要分为高校管理员、求职人、企业三种角色,系统实现的核心模块为求职人信息管理、企业信息管理、企业岗位管理、企业招聘发布、求职人投递、岗位收藏、简历维护。

功能模块图如下:

1 功能模块结构图

2. 用户角色

角色划分如下:

系统主要分为管理员和用户、企业三种角色

2.1管理员功能模块

1)企业入驻管理:管理员进入系统后可以对招聘的企业信息进行登记录入,对企业设置账号信息。

2)大学生人员信息管理:对注册的大学生信息进行查看和维护操作,对学生基础信息进行分页查询。

3)岗位分类管理:管理员可设置实习的岗位分类,对大类以及岗位二级细类进行划分。

4)岗位信息管理:管理员可以对企业发布的一些岗位信息进行查看,对岗位详情数据进行维护。

5)公告发布:管理员可以发布平台的一些公告信息。

6)学生三方签订管理:后台可对学生和企业签订的一些三方就业合同数据进行查看。

7)就业数据统计:可对不同岗位的签订就业合同的人次进行统计,以及对已签订和未签订的人员比例数据进行统计。    

    2.2招聘企业模块::

1)登录:企业可通过账号进行登录操作。

2)发布岗位:企业可发布一些招聘的岗位数据,且对岗位进行维护。

3)学生实习报名审核:对学生投递的一些就业报名进行审核操作。

4)学生实习评价:可对学生的阶段性实习情况进行评价。

5)学生三方签订:企业在认可学生工作能力后可进行三方合同签订。

6)个人中心:企业可以编辑信息,对企业的登陆密码进行修改。

2.3学生端功能模块:

1)注册、登录:学生可填写个人信息进行注册、注册后可进行登录操作。

2)就业岗位查看:可以在首页查看企业发布的一些岗位信息,可进行岗位类型的检索操作。

3)岗位收藏:可在平台中对自己喜欢的一些岗位进行收藏。

4)在线留言:可在平台界面进行留言操作。

5)个人简历维护:学生可在平台对自己的一些能力情况以及个人基础信息进行填写,以及对个人简历文档进行上传。

7)岗位投递:学生可对自己喜欢的岗位信息进行投递,且查看投递审核进度。

8)个人中心:学生可对自己的账号进行维护,对自己的登陆密码进行修改。

3. 功能模块和角色的对应关系

管理员输入岗位分类名称,对该分类进行描述,选择对应的大类别,例如:出纳对应的财务类,填写完成后核对内容,内容完整与已经存在的岗位无重复,则新增岗位类型成功,否则,返回到输入岗位分类界面重新输入。核对内容无误,该流程结束。

5新增岗位类型流程图

求职者进入首页,输入账号,账号是首次注册,继续填写电话,联系地址,否则回到首页重新输入账号,填写完整信息后则保存账号成功,不完整则回到填写电话栏重新填写,直到填写完整,流程结束。

6求职者注册流程图

输入账号密码登录,进入首页是否查看热门岗位,“是”则进入到热门岗位信息界面,流程结束,若不查看热门岗位,“否”进入到岗位检索,输入想查询岗位类别的关键词,单击搜索,出现想要查询的岗位即可浏览,流程结束。

7求职者浏览岗位流程图

求职者进入简历编辑界面,输入简历内容,信息填写完整,简历编辑成功,流程结束,否则重新编辑简历将信息填写完整,核验通过,流程结束。

8求职者编辑简历流程图

求职者进入岗位详情界面,点击投递按钮,如果该用户未登录则会弹出警告,提醒登录,登录成功后返回投递界面,选择相应的简历进行投递,如果已经投递过不可重复投递

 

9求职者投递简历流程图

企业进行岗位发布,选择该岗位对应的类型并进行描述,岗位内容是否完整,完整则校验格式内容,否则,回到选择岗位类型界面重新填写;校验格式是否正确,正确则流程结束,否则回到格式内容校验界面修改。

10企业发布岗位流程图

企业账号登录,进入简历投递界面去审核求职者投递的简历,已审核回到简历投递界面审核下一个简历,未审核查看求职者是否符合企业要求,不符合则驳回给求职者,符合则审核通过,安排线下面试,流程结束。

11企业审核简历流程图

二、主要技术要点

1. 采用SpringBoot架构,稳定性强,集成性强,满足前后台分离接口模式,部署简单,编码方便。

2. 采用协同过滤算法,对一些结合大学生的个人的特性以及检索情况等进行岗位推荐

三、数据库设计

根据系统的模块对系统的实体E-R图进行设计。

    公司实体,包含单位编号、单位状态、单位名称、企业宣传描述、单位具体地址,如下:

公司实体属性图

    岗位类型信息实体,包含类型编号、类型名称、类型描述信息如下:

岗位信息实体属性图

    求职人员信息实体,包含人员的编号、年龄、性别、姓名、登录账号、密码、居住地址、联系方式,如下:

求职人员信息实体属性图

    管理员负责人实体,包含管理员编号、姓名、账号、密码等信息如下:

管理员实体属性图

简历信息实体,包含简历编号、毕业学校、工作能力、能力描述、毕业日期、关联人员、专业能力、实习经历、就职期望,如下:

简历信息实体属性图

    岗位信息实体,发布岗位单位编号、岗位名称、所属的大类信息、岗位描述信息、岗位要求信息、薪资要求等如下:

岗位信息实体属性图

    简历投递实体,包含投递状态、求职人信息、岗位编号信息、投递信息、状态等,如下

简历投递信息实体属性图

依据前期对系统的模块的设计,对应的设计出系统的数据库E-R图,E-R图代表着模块之间的关联,以及可直观表达模块的含义。

1 岗位分类信息表

数据表值

数据值介绍

类型限制

Key约束

fenleiiid

岗位分类主键

int(9)

主键

fenleiiname

岗位名称

varchar(56)

fenleidesc

岗位描述

varchar(56)

2 岗位详情信息表

数据表值

数据值介绍

类型限制

Key约束

gwxiangqinid

公司职位主键

int(9)

主键

gwxiangqname

公司职位名称

varchar(56)

gwxiangqdesc

公司职位描述

varchar(56)

gongsiid

所属公司

int(9)

外键

gwxiangqixiz

公司职位薪资

varchar(56)

gwxiangqweiyao

公司职位工作要求

varchar(56)

Gwxiangqrs

招聘人数

gangweiduli

公司职位福利

varchar(56)

3 公司入驻信息表

数据表值

数据值介绍

类型限制

Key约束

qiyeid

公司主键

int(9)

主键

qiyename

公司名称

varchar(56)

qiyedsec

公司具体描述

int(9)

qiyeaaddress

公司地址

int(1)

qiyeguimo

公司规模

varchar(56)

qiyellinkrren

公司联系人

varchar(56)

qiyeuser

企业账号

varchar(56)

qiyepwd

企业密码

varchar(56)

4 求职用户信息表

数据表值

数据值介绍

类型限制

Key约束

qiuzhirenid

求职人主键

int(9)

主键

qiuzhirenname

求职人姓名

varchar(16)

qiuzhiretel

求职人电话

varchar(11)

qiuzhireaddr

联系地址

varchar(56)

qiuzhireschool

毕业学校

varchar(56)

qiuzhireage

求职人年龄

int(9)

qiuzhireuser

求职人账号

varchar(56)

qiuzhirepwd

求职人密码

varchar(56)

5求职人简历信息表

数据表值

数据值介绍

类型限制

Key约束

jianliid

简历主键

int(9)

主键

qiurenhizid

所属人员

int(9)

外键

school

毕业学校

varchar(30)

gaozhong

所属高中

varchar(30)

chanchang

工作擅长

varchar(130)

biyeriqi

毕业日期

date

jiuzhi

就职情况

varchar(130)

xiziyixiang

要求薪资意向

varchar(130)

wendang

简历文档

varchar(130)

6 简历投递信息表

数据表值

数据值介绍

类型限制

Key约束

 toujianid

人员投递主键

int(9)

主键

toujianren

求职人id

int(9)

外键

gangeiid

人员岗位id

int(9)

toujianid

人员投递日期

date

外键

zhuangttai

人员投递状态

int(9)

7 岗位收藏信息表

数据表值

数据值介绍

类型限制

Key约束

sjudstid

收藏岗位主键

int(9)

主键

sjudsrenid

求职人id

int(9)

外键

sjudsgwid

求职岗位id

int(9)

外键

sjudsscdate

求职收藏日期

date

第1周(2.17~2.23):

查阅资料,学习SSM框架开发技术

第2周(2.24~3.2):

     对软件功能需求进行分析,软件功能模块划分及软件界面设计

第3周(3.3~3.9):

撰写并提交毕业设计开题报告、英文资料翻译

第4周(3.10~3.16):

编程调试,进行功能模块的详细设计

第5周(3.17~3.23):

编程调试,进行功能模块的详细设计

第6周(3.24~3.30):

进行各功能模块的编码,学院教师互查,准备期中检查

第7周(3.31~4.6):

进行各功能模块的编码,迎接学校期中检查

第8周(4.7~4.13):

软件相关模块的改进,进行综合调试运行

第9周(4.14~4.20):

     软件相关模块的改进,进行综合调试运行,对运行中发现的问题进行调整

第10周(4.21~4.27):

     完成软件开发,编辑用户使用帮助文档,撰写毕业设计(论文)

第11周(4.28~5.4):

     修改毕业设计(论文),交指导老师评阅

第12周(5.5~5.11):

     修改毕业设计(论文),交评阅老师评阅,查重

第13周(5.12~5.18):

     修改毕业设计(论文),提交毕业设计(论文),查重

第14周(5.19~5.25):

     制作论文PPT;毕业设计(论文)答辩


项目难度: 中等难度
适用场景: 相关题目的毕业设计
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。
资源下载|如果你正在做毕业设计,需要源码和论文,不局限于该项目,私聊我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值