【《行业招聘数据分析与可视化系统设计》17000字(论文)】_第1页
【《行业招聘数据分析与可视化系统设计》17000字(论文)】_第2页
【《行业招聘数据分析与可视化系统设计》17000字(论文)】_第3页
【《行业招聘数据分析与可视化系统设计》17000字(论文)】_第4页
【《行业招聘数据分析与可视化系统设计》17000字(论文)】_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE5行业招聘数据分析与可视化系统设计目录25037摘要 I323181绪论 157201.1课题背景与意义 1321221.1.1研究背景 144051.1.2研究意义 1133891.2国内外研究综述 2171811.3本课题的主要研究内容 3137181.4论文组织结构 3112342相关技术基础 583242.1数据获取技术 5148432.1.1Python 5198912.1.2爬虫技术 5244842.2数据存储与分析技术 6148982.2.1MongoDB 6210772.2.2EnterpriseCharts 6183612.3数据展示技术 6201162.3.1Django框架 6255002.3.2Bootstrap 7193713系统需求分析 8292413.1系统的功能需求分析 896813.2系统的性能需求分析 928024系统总体设计 11150384.1系统模块设计 11125414.2系统数据库设计 1250644.3人机交互子系统设计 27224024.4系统运行流程图设计 29209815系统实现及测试 30132845.1系统实验环境 30296185.2系统实现 30141245.3系统测试与分析 3723046总结与展望 3840776.1本文总结 38210856.2未来展望 3824598参考文献 40摘要 如今,求职成为当今大学生在毕业前乃至学习期间就极为关注的一个话题。在面临“毕业即失业”的焦虑时,我国许多招聘网站对历年就业情况进行了统计,以智联招聘的统计数据为例,当前互联网IT行业依旧是从业人员竞相追逐的热门领域,其涉及范围最广,就业前景最好。但对诸多初入IT行业的大学生而言,在求职时往往把握不准用人单位的用人需求,自身所学时常满足不了用工单位的要求,使得人才资源与用工单位之间的隔阂加深。基于此,本文期望通过运用大数据工程方法,设计IT行业招聘数据分析与可视化系统,为初入职场的IT行业学生就业提供可供参考的信息平台,帮助大家更好的了解行业就业现状,为就业人员更好的匹配适合自身发展的就业岗位。 关键词:招聘数据;IT行业;大数据分析绪论课题背景与意义研究背景 当前,随着“数字时代的来临”,新冠疫情的突发,大学生的就业形势愈来愈严峻。纵然权威部门曾发布数据显示,随着国家经济日渐繁荣,人民的生活水平越来越好,我国当前的就业形势持续向好,新增就业人口日益攀升,劳动力市场也更加的活跃起来。但大学生如何在毕业后顺利的找到合适的理想工作,仍然是一个社会极为关注的问题。 据智联招聘相关数据统计,互联网IT行业是近年来从业人员竞相追逐的热门领域,其涉及范围最广,与当代大学生生活也最为贴近,与此同时IT行业在今后一段时间内还将产生数百万个新兴的工作岗位,发展空间极为广阔,但对我们当代的大学生而言,往往把握不准用人单位的用人需求,所学技能满足不了用工方工作需求。使得人才资源与用工单位之间的隔阂加深,同时内部竞争激烈“内卷”严重,这些都使得我们所面临的就业形势也就更加的严峻,这意味着我们当下乃至将来的竞争也会愈演愈烈,毕业生的就业前途和我国的IT行业发展前景将受到前所未有的挑战。 当今时代,我们的网络十分的发达,在网络上寻找各种各样的信息也非常的方便,我们已经不再需要为寻觅一份合适的工作而四处奔波,投递简历。随着IT技术的快速发展,我们的工作和学习都变得快节奏、高效率。在此技术的支持下衍生出了一种新型的招聘方式——网络招聘,已经成为众多企业单位招聘和高校人才求职广泛所采用的一种有效手段。网络招聘实际上是指企业在现代信息技术手段支撑下,通过自己的招聘平台或第三方招聘网站平台来完成企业员工招聘的过程。由此可知,网络招聘主要有广泛两种存在的形式:一种是各招聘单位通过自己公司的平台发布招聘宣传信息,吸引相关人士投递简历,从而完成招聘工作;另一种是招聘单位通过注册第三方招聘网站成为其会员,并在第三方招聘平台发布招聘信息,寻觅合适的人才。其信息量大、资源丰富、更新速度快等优势已经逐渐超过并取代了各专场线下人才招聘会、报纸、杂志招聘等的传统招聘方式,更加符合当代年轻人希望以最快捷便利的方式获得最多最有效信息的求职需求。与此同时,海量的招聘数据很容易让求职者迷失其中,很难在诸多的数据中找到真正适合自己的招聘信息,招聘数据中投射出行业发展态势,也蕴含着巨大的探索价值,值得进行深入的挖掘和思考。研究意义 随着大数据时代的来临,人们越来越关注数据中所蕴含的各种信息。在海量的招聘数据中往往蕴含着许多具有深入研究价值的信息,体现着当前行业发展的趋势和走向,暗示着从业人员的未来的学习方向和发展方向。 所以,这也是为什么现在网络渠道上有很多五花八门的\o"招聘"招聘类网站出现的缘由出处。简而言之就是\o"招聘网"招聘网站本身的存在就有着极大的价值和作用。那么,到底招聘网站的存在有何作用?能够给求职者带来哪些有效的信息呢?本系统针对线上知名招聘网站有关IT行业的招聘信息进行数据的采集和集成分析,展开思考与讨论,探索招聘信息所蕴含的资讯,对于分析得到的数据将通过可视化的方式展示,以便于从业人员高效了解相关职位的岗位要求、职责范围和薪资待遇,从而综合考量自己的就业方向和未来发展。本系统希望基于大数据工程方法,设计IT行业招聘数据分析与可视化系统的设计与实现,为初入职场的IT行业学生就业提供可供参考的信息平台,帮助大家更好的了解行业就业现状,为就业人员更好的匹配适合自身发展的就业岗位。国内外研究综述 近年来,受全球新冠疫情的影响以及国内互联网的高速发展,足不出户的招聘网站的发展迅速,根据艾瑞咨询曾发布的《2021年中国网络招聘行业市场发展研究报告》[1]显示,2020年中国网络招聘市场规模已高达108亿,利润颇丰。而在网络招聘行业,然而人岗匹配的效率问题仍旧一直存在,报告认为,人岗匹配关键还在于雇主。当招聘效率无法用定量的方法进行评估,而只能通过了解企业雇主的明确需求的基础上,平台通过技术手段筛选相应求职者,尽可能实现岗位和人员的匹配。尽管如此,求职者在寻觅求职信息时,仍然会检索到许多无关或不相匹配的信息,无法一目了然的匹配到自己真正想了解的某一特定岗位或领域,面对冗杂的互联网信息资源,仅仅通过低效的筛选,不能快速明确某一岗位或领域对求职人员的要求,从而无论对发布招聘的企业还是应聘的个人而言都存在不便之处。 国内现有的招聘网的站中招聘数据中隐藏着大量有潜在价值的信息,虽然在中文领域中针对招聘数据的分析研究有很多,但其研究方向存在较大的差异。例如夏立新[2]在基于网络文本挖掘技术基础上提出了“专业-岗位-知识点”的就业知识需求关系并结合中文分词与语词标注,提取了专业-岗位-知识点三者之间的关系结构;汤洋、汤敏倩[3]在通过对智联招聘网站中的招聘信息进行中文分词和文本聚类的分析研究,发现了在不同行业之间所需人才的职业类型存在差异,但在总体上仍然偏向于以技术为主导、以脑力为依靠等分析结论;张俊峰[4]以网络爬虫技术采集的多个招聘网站的数据源的招聘文本,并利用自然语言处理技术和机器学习相关算法来构建招聘词典,从而通过分析了数据科学与统计学和计算机科学的关系后,对统计学和计算机科学的人才培养提出建议;刘畅[5]通过利用自然语言处理与文本挖掘技术对数据类岗位招聘信息进行采集,以基于主题词方法进行文本的提取和挖掘,最终以报告形式呈现招聘市场的一般趋势和特定行业的招聘市场行情,但由于其研究主体存在单一性,研究结果也不能很好的满足多方面的用户需求。而本文通过python爬取招聘网站[6]有关IT行业的相关招聘数据,基于MongoDB数据库和Django[7,8]框架进行数据的挖掘和分析,并以可视化系统的形式直观的展示研究结果,便于满足应聘者个性化的需求,对广大IT从业人员及在校学生能力培养方向也具有一定的导向作用。 国外的招聘网站也起源已久。美国的OccupationalInformationNetword网站曾是世界上最大的职业分析网站,由美国劳工部的就业和培训管理局主导发起,旨在帮助在校学生,企业和求职者了解当今的职业市场。但由于该招聘网站的网页内容由大量的专业人员针对职业状况和招聘市场详情分析整理而成,从而造成网站的构建成本过大,开发周期过长,更新不够及时等问题,随着信息抽取和自然语言处理技术的兴起和广泛使用,相关研究人员可以利用训练出的模型自动从海量数据中挖掘出有用的信息,利用信息抽取和自然语言处理技术对数据进行分析整合是大势所趋。国外对于网络招聘的研究也由来已久,早期就有部分国外学者在运用文本挖掘的方法研究人才的市场需求。2006年的时候,著名学者Lee[9]就对部分信息技术管理岗位的招聘信息进行了分析研究,并成功构建了技能分类的目录,从而产生了词典的雏形;而2014年Smith.D和Ali.A[10]等人又从招聘网站上收集了程序员的招聘信息,利用关键字索引的相关技术,分析了近几年来几门编程语言在市场上的行情,为计算机专业学生课程的设置提供了有价值的参考意见。这些国外研究和分析也说明我们可以利用文本分析的方法来对不规则数据开展研究。但是由于汉语和英语在语法结构上都有很大差异,针对文本分析的方法来开展研究并不能很好的适应,所以对于我国来说国外的一些研究在某些方式方法上就不太适用。针对中文领域的一些研究虽然可以借鉴国外的一些研究思路和研究方向,但是仍然需要因地制宜,思考更适合中文的文本分析方法和数据分析方法。本课题的主要研究内容 本文旨在研究IT行业招聘数据分析与可视化系统的设计与实现,期望运用所学专业知识和技能,基于大数据工程方法,设计IT行业招聘数据分析与可视化系统的设计与实现,为初入职场的IT行业学生就业提供可供参考的信息平台。本系统的实现分为数据获取、数据预处理和数据分析、平台搭建和编码实现、数据可视化等几个部分,不同部分的功能将会运用到不同的大数据分析知识与技能。基于本课题的目标,本文主要对如下几个问题开展研究:综合多个方面对招聘数据进行综合分析 基于传统的招聘数据分析方法无法满足多方面需求的这一问题展开思考和研究,由于传统的招聘数据分析方法大多只针对于某种途径获得的小样本数据,无法进行多个方面多个角度的研究,而本文期望通过对招聘网站中的IT行业的多个职位的招聘信息(包含数据分析类、研发类、测试类等)进行多个角度(如工作区域、薪资、发展前景等)的分析,从而综合了解IT行业的就业需求和就业前景,有助于求职人员更好的寻觅适合自己的理想职业。以信息分析平台的形式展现研究成果 基于传统的招聘数据分析方法分析结果大多以文本报告形式呈现,无法很好的利用当前的大数据工程方法进行可视化的结果展示,因此,本文期望以不同于传统的展示方式,利用当前的大数据分析方法来搭建信息分析平台,通过平台将数据分析的结果用可视化的图表等形式生动形象的进行展示。从而有利于求职人员快速的了解自己感兴趣的内容,更有侧重点的分析自己的优势和劣势。同时对广大IT从业人员及在校学生能力培养方向也具有一定的导向作用。长远来看,也有利于为即将到来的AI时代夯实人才储备基础。论文组织结构 本文共分为六个部分: 第一章为绪论,介绍了IT行业招聘数据分析与可视化系统的研究背景及研究意义,以及国内外的研究综述,同时概括说明了本文主要研究的内容和方向。 第二章为相关技术基础。介绍了与本项目相关的技术理论和系统设计所需使用的数据库、网络框架和相关工具,包括数据获取阶段的爬虫技术、数据存储和分析阶段的数据库技术和数据展示阶段的Django技术框架等相关内容,以便于读者更好的理解后续的研究内容。 第三章为IT行业招聘数据分析与可视化系统的需求分析。本章详细介绍了IT行业招聘数据分析与可视化系统的需求,分别从目标系统的功能需求分析和性能需求分析进行描述。 第四章为IT行业招聘数据分析与可视化系统的总体设计。介绍了本系统总体的设计情况,分别从系统模块设计、系统数据库设计、人机交互子系统设计和系统运行流程图设计进行详细的描述。 第五章为IT行业招聘数据分析与可视化系统的实现和测试部分。用于详细介绍系统的交互页面和功能实现情况,介绍系统测试的实用性和可用性,并进行系统相关的展示。 第六章将总结本文的研究内容和创新点,并展望今后的研究方向。相关技术基础数据获取技术Python Python是目前一种被广泛使用的面向对象的通用高级编程语言,尤其在近几年随着大数据和人工智能的快速发展,Python在互联网行业中发挥的的作用也愈来愈突出,在各行各业中的普及度也越来越深。它是由GuidovanRossum于1991年创建,并在Python软件基金会的帮助下得到了进一步深入的开发和挖掘。相比于C和JAVA,Python的编程风格更加凸显出代码的可读性,它的语法允许程序员在编程时用更加简洁明了的代码行来表达他们的概念和思维,因此这种语言特点对于初次学习编程的小白也是非常的友好。作为一种高级编程语言之一,它可以帮助使用者快速的开展工作并有效的集成系统,这也是为什么有那么多的人倾向于用Python开展数据的分析和挖掘工作。与此同时,它也为使用者提供了广泛的开源的第三方库,能够把用其他语言制作的各种模块轻松的联合在一起,如用于数值计算的NumPy、用于数据分析的Pandas库等,这些库能支持我们完成基本上目前现存的大多数互联网行业的问题。因此在本文的系统的实现过程中选择的便是Python语言,从前期的数据获取到后期的系统实现中都是基于其开展。爬虫技术 网络爬虫技术是一种利用互联网技术按照指定的规则和逻辑来模拟浏览器的行为进行快速高效的从网页端采集所需要的数据的网络技术。网络爬虫一般分为数据获取、数据解析、数据存储三个部分。数据的获取阶段往往是指通过HTTP请求的方式获得网页的响应;数据解析是指通过一定的解析方法和解析框架对网页内容进行更加清晰明了的分析与整理;数据存储则是对获取及解析的数据进行本地或者云端的存储,从而所需的数据保存至本地进行深入的分析。在这三个阶段里,Python都为其提供了很多功能强大的第三方库,例如urllib,beautiful-soup、requests和scrapy等等,因此网络爬虫常常可以直接调用python的库进行编程,无需写复杂的代码,十分的方便。在编写爬虫代码时也可以根据需求对所获取的页面进行自定义的网页解析,对采集的数据进行筛选和提取,而从过滤掉无用的数据。在本项目中数据的获取与解析利用的便是爬虫技术,通过爬虫技术的获取的数据再存储于MongoDB数据库中进行进一步的数据挖掘和分析。数据存储与分析技术MongoDB MongoDB是目前市面上较为流行的现代数据库的一种,是一个集高性能,开源,无模式优点的文档型数据库,其基于分布式文件进行存储,聚集了NoSql数据库的优势。MongoDB是一个面向文档的现代数据库,主要用于大容量的数据存储。它并不像传统的关系型数据库那样使用表和行来构建,而是使用可读性更强的集合和文档。文档结构的形式更加符合开发人员在各自的编程语言中构造的类和对象的方式,并且在构建时无需预先定义模式,而可以动态的创建字段,这对使用者而言也十分的友好。MongoDB所能支持的数据结构非常松散,是类似json的bson格式,因此可以支持存储较为复杂的数据类型,其中可用的数据模型可以允许开发者更加轻松简洁的表示层次关系、数组存储和其他更加复杂的结构,与关系型数据库相比也具备更好的可扩展性。其最大的特点便是能支持非常强大的查询语言,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的大部分功能,在为WEB应用提供可扩展的高性能数据存储方面有极大的价值。本项目中选取MongoDB进行数据的存储,考虑到的便是其支持复杂数据存储、查询与索引方式灵活和其自身高性能的优点,因此将通过爬虫获取招聘信息存储在MongoDB中,并通过Django框架构建web项目将数据库中的数据读取出来并在前端页面进行查看和进行按条件的查询。EnterpriseCharts EnterpriseCharts(即Echarts)是用纯JavaScript编写并基于ZRender(一个全新的轻量级画布库)开发的一个十分全面的图表库。借助于Drag-Recalculate、DataView和ScaleRoaming等原创功能,Echarts可以帮助产品添加更为直观、更具交互性和高度可定制的图表的简单方法,进行更深层次的数据挖掘和数据分析,并且适用于所有网络端和移动端的应用程序。因此,用Echarts进行数据的分析和处理已经十分的普及,在当前诸多的互联网数据分析行业也得到了许多的应用。本项目中应用Echarts来进行数据的可视化分析,可以呈现交互丰富,强大兼容性的数据分析图表,根据本项目的具体需求,呈现多维度,多层次分析结果。数据展示技术Django框架 Django是python常用的web框架,如同java中的springboot框架,django是基于Python进行web开发和设计的常用框架。它是由经验丰富的开发人员进行构建,考虑到Python的语言特点和语言风格,django消除了web开发的大部分的麻烦,在使用上可以快速高效的进行网站搭建并且具备了高度的安全性和可维护性,在默认的情况下,会自动提供针对许多漏洞的保护包括sql注入、跨站点脚本、跨站点请求伪造CSRF保护等,因此受到诸多开发人员和使用者的青睐。Django在设计上使用的MVT模式,M即Model用于对数据库的访问和封装,对连接的后端数据库进行增、删、改、查等相关操作;T即Template用于对呈现的网页进行设计与封装,生成相关的前端网页内容;V即View用于接受前后端传来的相关请求,对相关的业务逻辑进行处理和返回响应,可以认为是连接Model和Template的桥梁,通过View前后端得以交互。在本项目中进行系统搭建和设计时就充分的遵循了django的MVT模式,利用Model实现对Mongo数据库的封装和访问,Template负责前端页面的设计和展示,View中实现前后端的交互实现,从而呈现出前后端顺利交互的效果。Bootstrap Bootstrap作为世界上最流行的构建响应式、移动优先网站的框架,是很多前端开发设计人员的首选框架。其基于Html、Css、JavaScript语言,在设计上十分的简单灵活,设计和引用都十分的高效快捷,使得网页开发的销量大大提升。同样它自动为我们封装了许多集成的前端样式,所以使用起来只需要下载相应版本的轻量级样式文件就可以轻松引用和调整,具备高度的交互性和便捷性。针对不同模块的框架,Bootstrap也为开发者们提供就详尽的使用说明和测试平台,用户可以根据自己的需要定制Bootstrap组件、Less变量和Jquery插件来得到属于用户自己的版本样式和框架。所以本项目在设计前端页面时主要使用的便是Bootstrap框架。系统需求分析系统的功能需求分析 目标系统的功能需求是对系统进行需求分析的其中一项极为重要的内容,功能需求分析反映的是系统能提供和实现怎样的功能。本系统是一个IT行业招聘数据分析与可视化系统,含有IT行业招聘数据分类查看、数据查询、数据排序和下载、数据可视化分析等功能。管理员可以在登录之后访问本系统并使用一系列的功能。 根据IT招聘数据的具体情况,系统的主要功能包括以下几个方面:登录:管理员可以登录系统,查看系统页面 管理员登录系统时需要经过系统的登录验证,验证成果方可登录和使用系统的相关功能,登录时用户名、密码和验证码都需要一一对应,才可以登录成功。否则登录失败,未经登录的管理员无法进入系统页面查看系统信息。(默认情况下,初始用户名为admin,初始密码为admin)管理员登录用例图招聘信息管理:包括对不同职位的招聘数据进行分页查看、按条件查询、对数据进行筛选等操作 管理员在登录系统之后,可以访问首页,在首页中根据自己的需求有选择的查看招聘信息的情况,包括对招聘信息进行筛选和查找、下载导出等操作,可以根据自己的需求使用数据。管理员招聘信息管理用例图招聘数据可视化分析管理:可以查看IT招聘数据的数据分析展示 本系统对于后台管理的招聘数据进行了可视化分析的展示,并从多角度切入绘制了可视化分析图表。管理员在登录了系统之后,可以查看招聘信息的可视化分析结果,从而对不同职位的招聘信息的侧重点和岗位信息要求有一定的了解,从而了解IT行业的招聘情况,便于从业人员更有指向性的确定自己的从业方向。管理员招聘信息可视化分析系统的性能需求分析 为了保证本系统能长期、安全、稳定、高效且可靠的运行。本IT行业招聘数据分析与可视化系统需要满足如下的性能需求:安全性 系统在设计和使用时需注重系统的安全性,加强系统的保密性。在管理员使用系统时,需要尽可能的保证系统的使用规范,在使用前需进行登录的验证,只有准确登录的人员才可以使用系统,查看系统信息和功能。需要防止无关人员采取不合理的方式进入系统,对系统进行破坏,造成重要信息的泄露。稳定性 系统在设计完成和进行了系统部署之后,若硬件条件和软件条件没有发生变化的情况下,需要能够一直保持稳定的运行状态,需要防预防系统出现不可控的故障,直到系统被升级或者替代之后进入下一阶段。高效性 系统在投入使用之后,使用者对系统的操作需要系统给予及时高效的响应。如当管理员登录验证通过后,系统需要及时高效的做出响应,快速加载和显示网页的相关内容,以满足高效及时的用户体验。不论是针对操作成功的响应还是操作失败的响应,系统都需及时给以反馈,如此方能在最短的时间里高效的发现问题,解决问题。可用性和可维护性 系统在设计构建时是由专业的开发人员进行负责,而系统投入使用之后,使用的人员并不一定的专业的计算机相关人员,其对系统的底层基础知识并不一定有充分的了解,因而系统在设计时需要充分考虑用户的使用体验。在设计系统的各个界面和各个功能时需要尽可能的便捷且具有人性化,要求要能提供良好的用户接口,易用的人机交互界面,从而方便用户进行理解和使用。当遇到一些问题时,需要能及时的显示异常,提示错误原因,针对一些在预期范围内的问题,可以提前设计好解决方案,尽可能的为用户提供足够的帮助,缩短用户对系统熟悉的过程。规范性 系统在设计和投入使用时都需遵守相关的行业规范,如规范的界面、作为业界标注的TCP/IP网络协议所要求的质量规范等。在开发设计阶段,也应该进行良好的设计工作,制定行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性等。系统总体设计系统模块设计 本系统在设计上主要分为如下几个模块(如REF_Ref22057\r\h图4-1所示):登录模块: 登录模块主要是对系统管理者登录系统,使用系统而设置,主要用以提高系统的安全性和保密性。管理员只有登录系统时才可以对系统内部的其他功能进行使用,在登录模块中需要管理员输入用户名、密码、验证码,系统后台将对管理员输入的信息进行验证,若信息验证成功则可以登录系统,否则无法登录系统。IT行业招聘数据管理模块: 在本系统中,针对IT行业获取了10个热门岗位的招聘信息如:前端开发工程师、后端开发工程师、测试工程师、数据分析工程师、产品管理等。IT行业招聘数据管理模块是对系统所获取并使用的招聘数据进行管理,包括查看IT行业各个岗位的招聘信息,查询岗位的招聘信息,以及对招聘信息进行筛选排序、打印输出等相关的操作。这一模块主要是将存储于Mongo数据库中IT行业招聘信息进行展示,方便使用者可以通过查阅网页的形式查看招聘数据,也为后续的招聘数据分析可视化模块打下基础。IT行业招聘数据可视化分析模块: 这一模块是根据获取的招聘数据进行按岗位分类进行针对性分析,从岗位的学历要求、经验要求、技能要求、薪资情况、企业规模和企业融资情况这六个角度切入进行可视化的分析统计,并以多样的统计图表的形式展示在网页端,方便使用者通过查看形象的图表的方式了解IT行业各个岗位的要求和发展情况,从而为今后自己确定合适的职业方向奠基。IT行业招聘数据分析与可视化系统模块图系统数据库设计 本项目中选取MongoDB数据库进行数据的存储,考虑到的便是其支持复杂数据存储、查询与索引方式灵活和其自身高性能的优点,因此将通过爬虫获取招聘信息存储在MongoDB中,并通过Django框架构建web项目将数据库中的数据读取出来并在前端页面进行查看和进行按条件的查询。本系统在设计数据库时对IT招聘信息按照岗位类别分别设计了数据库的相关集合和文档,以下主要是数据文档的详细介绍:数据库连接关键代码:from

mongoengine

import

*

#连接数据库的名字

connect('itdata')

itdata数据库总体概况itdata数据库总体概况系统用户信息文档:关键代码:#

用户类

class

houduanKF(Document):

username=StringField()

password=StringField()

meta

=

{'collection':

'User'}

用户数据文档示例用户信息文档字段名类型长度说明idint用户IDusernameString128用户名passwordString256密码前端开发工程师文档:关键代码说明:#

前端开发工程师类

class

qianduanKF(Document):

#

定义数据库中的所有字段,及拿到的高级前端开发key值

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'qianduanKF'}

前端开发工程师数据文档示例前端开发工程师招聘信息文档字段名类型长度说明idint前端开发工程师招聘信息ID岗位String256招聘岗位地点String256前端开发工程师招聘地点薪资String256前端开发工程师招聘岗位薪资工作经验String256前端开发工程师工作经验要求学历String256前端开发工程师学历要求公司名称String256招聘公司名称技能String256前端开发工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模后端开发工程师文档:关键代码说明:#

后端开发类

class

houduanKF(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'houduanKF'}

后端开发工程师数据文档示例后端开发工程师招聘信息文档字段名类型长度说明idint后端开发工程师招聘信息ID岗位String256招聘岗位地点String256后端开发工程师招聘地点薪资String256后端开发工程师招聘岗位薪资工作经验String256后端开发工程师工作经验要求学历String256后端开发工程师学历要求公司名称String256招聘公司名称技能String256后端开发工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模高级前端开发工程师:关键代码说明:#

高级前端开发类

class

GJ_qianduan(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'GJ_qianduan'}

高级前端开发工程师数据文档示例高级前端开发工程师招聘信息文档字段名类型长度说明idint高级前端开发工程师招聘信息ID岗位String256招聘岗位地点String256高级前端开发工程师招聘地点薪资String256高级前端开发工程师招聘岗位薪资工作经验String256高级前端开发工程师工作经验要求学历String256高级前端开发工程师学历要求公司名称String256招聘公司名称技能String256高级前端开发工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模高级后端开发工程师:关键代码说明:#

高级后端开发类

class

GJ_houduan(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'GJ_houduan'}

高级后端开发工程师数据文档示例高级后端开发工程师招聘信息文档字段名类型长度说明idint高级后端开发工程师招聘信息ID岗位String256招聘岗位地点String256高级后端开发工程师招聘地点薪资String256高级后端开发工程师招聘岗位薪资工作经验String256高级后端开发工程师工作经验要求学历String256高级后端开发工程师学历要求公司名称String256招聘公司名称技能String256高级后端开发工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模测试工程师:关键代码说明:#

测试工程师类

class

ceshi(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'ceshi'}

测试工程师数据文档示例测试工程师招聘信息文档字段名类型长度说明idint测试工程师招聘信息ID岗位String256招聘岗位地点String256测试工程师招聘地点薪资String256测试工程师招聘岗位薪资工作经验String256测试工程师工作经验要求学历String256测试工程师学历要求公司名称String256招聘公司名称技能String256测试工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模数据分析工程师:关键代码说明:#

数据分析工程师类

class

shujifenxi(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'shujifenxi'}

数据分析师数据文档示例数据分析工程师招聘信息文档字段名类型长度说明idint数据分析工程师招聘信息ID岗位String256招聘岗位地点String256数据分析工程师招聘地点薪资String256数据分析工程师招聘岗位薪资工作经验String256数据分析工程师工作经验要求学历String256数据分析工程师学历要求公司名称String256招聘公司名称技能String256数据分析工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模产品管理:关键代码说明:#

产品管理类

class

chanpin(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'chanpin'}

产品管理数据文档示例产品管理类招聘信息文档字段名类型长度说明idint产品管理招聘信息ID岗位String256招聘岗位地点String256产品管理招聘地点薪资String256产品管理招聘岗位薪资工作经验String256产品管理工作经验要求学历String256产品管理学历要求公司名称String256招聘公司名称技能String256产品管理技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模技术支持工程师:关键代码说明:#

技术支持工程师

class

jishuzhichi(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'jishuzhichi'}

技术支持工程师数据文档示例技术支持工程师招聘信息文档字段名类型长度说明idint技术支持工程师招聘信息ID岗位String256招聘岗位地点String256技术支持工程师招聘地点薪资String256技术支持工程师招聘岗位薪资工作经验String256技术支持工程师工作经验要求学历String256技术支持工程师学历要求公司名称String256招聘公司名称技能String256技术支持工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模实施工程师:关键代码说明:#

实施工程师

class

shishi(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'shishi'}

实施工程师数据文档示例实施工程师招聘信息文档字段名类型长度说明idint实施工程师招聘信息ID岗位String256招聘岗位地点String256实施工程师招聘地点薪资String256实施工程师招聘岗位薪资工作经验String256实施工程师工作经验要求学历String256实施工程师学历要求公司名称String256招聘公司名称技能String256实施工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模调试工程师:关键代码说明:#

调试工程师

class

tiaoshi(Document):

岗位=StringField()

地点=StringField()

薪资=StringField()

工作经验=StringField()

学历=StringField()

公司名称=StringField()

技能=StringField()

工作福利=StringField()

工作类型=StringField()

融资情况=StringField()

公司规模=StringField()

meta

=

{'collection':

'tiaoshi'}

调试工程师数据文档示例调试工程师招聘信息文档字段名类型长度说明idint调试工程师招聘信息ID岗位String256招聘岗位地点String256调试工程师招聘地点薪资String256调试工程师招聘岗位薪资工作经验String256调试工程师工作经验要求学历String256调试工程师学历要求公司名称String256招聘公司名称技能String256调试工程师技能要求工作福利String256工作福利待遇工作类型String256工作类型方向融资情况String256公司融资情况公司规模String256公司规模人机交互子系统设计 在人机交互子系统部分主要是对系统网页前端的页面进行设计,根据系统的主要3个模块:登录模块、IT行业招聘数据管理模块和IT行业招聘数据可视化分析模块分别进行可视化界面的设计,详细设计如下:登录界面:使用者需在登录界面进行登录验证方可正常访问系统登录界面后台界面:使用者登录验证通过后可访问系统后台的首页后台界面IT行业招聘数据管理界面(以前端开发工程师为例): 使用者可在该界面查看对应岗位招聘信息,可根据自己的需求对该界面招聘信息进行自定义查询筛选等相关操作。IT行业招聘数据管理界面(以前端开发工程师为例)IT行业招聘数据可视化分析界面(以前端开发工程师为例): 该界面中主要从六个维度(包括学历要求、工作经验要求、企业规模、企业融资情况、技能要求和薪资情况)对岗位的招聘信息进行可视化的分析统计。IT行业招聘数据可视化分析界面(以前端开发工程师为例)系统运行流程图设计IT行业招聘数据分析与可视化系统基本流程系统实现及测试系统实验环境 本系统基于Windows10操作系统进行开发设计,采用Python编程语言进行系统的搭建和人机交互界面的设计,系统相关数据源于知名招聘网站,本系统通过爬虫技术获取招聘网站IT行业相关招聘信息并进行数据的汇总分析和可视化展示。详细实验环境如REF_Ref6502\r\h表5-1所示。实验环境操作系统Windows10使用软件编程语言Python编程环境PycharmJupyterNoteBookweb框架Django数据库MongoDB建模工具MicrosoftVisio2016文档编写MicrosoftWord2010系统实现系统登录:管理员访问系统网址进入登录界面,管理员需在登录界面的表单中正确填写登录信息,填写完后系统会将登录界面(login.html)的表单信息通过URL路由转发到后端View中进行登录的验证,登录验证通过后方可登录,并返回到登录成功的后台页面中(index.html),关键代码如下:#用django

内置表单的方式实现登录

def

login(request):

if

request.session.get('is_login',

None):

#

不允许重复登录

return

redirect('/index/')

if

request.method

==

'POST':

login_form

=

forms.UserForm(request.POST)

message

=

'请检查填写的内容!'

if

login_form.is_valid():

username

=

login_form.cleaned_data.get('username')

password

=

login_form.cleaned_data.get('password')

try:

user

=

'admin'

except

:

message

=

'用户不存在!'

return

render(request,

'login.html',

locals())

if

password

==

'admin':

request.session['is_login']

=

True

request.session['user_name']

=

user

print(username,

password)

message

=

'登录成功!'

return

redirect('/index/')

else:

message

=

'密码不正确!'

return

render(request,

'login.html',

locals())

else:

return

render(request,

'login.html',

locals())

login_form

=

forms.UserForm()

return

render(request,

'login.html',

locals())

系统登录示例招聘数据管理:该模块的招聘数据按岗位划分分为:前端开发工程师、后端开发工程师、高级前端工程师、高级后端工程师、测试工程师、数据分析工程师、产品管理工程师、技术支持工程师、实施工程师和调试工程师(如REF_Ref10003\r\h图4-20所示)。登录系统的管理者可自行选择需要查看的岗位的招聘信息,系统会根据需求作出响应,跳转到相应的页面。如以前端开发工程师招聘信息为例,用户点击相应选项,前端页面根据用户指示发送请求到系统后端,后端根据跳转路由调用跳转方法对前端请求作出反馈,呈现出新的网页(qianduanKF_info.html)。在该页面中用户根据自己的需求,可以对数据进行查询、复制、下载对应格式文档、自定义筛选和打印输出(如REF_Ref11580\r\h图4-21所示)的相关操作,可以最大范围的满足用户的多样化需求。以下是具体操作实现的说明。招聘信息管理模块类别 查看招聘信息、按条件查询信息:管理员登录成功以后可以从MongoDB中读取数据,系统将MongoDB中的数据读取出来,后端将数据封装成字典形式发送给前端,前端通过循环的方式将数据读取出来。并用JavaScrip和Ajax请求获取并解析数据自动封装进表格从而可以实现数据的分页展示和按条件查询。 招聘信息复制:管理员点击招聘信息列表中的copy按钮可以实现对数据的复制。该功能的实现时通过DataTable的buttons().container()函数实现对按钮增加附加的功能,从而可以调用DataTablesAPI访问按钮实现按钮的特定功能。Copy和下载所用的csv、excel、pdf、打印所用的print和选择性显示所用的columnvisibility功能都类似,都是基于这一原理进行实现。招聘信息管理相关操作示例招聘数据可视化分析:这一模块系统通过对存储在MongDB的数据进行分析并用前端可视化工具Echart绘制了可视化统计图,用JavaScrip和Ajax实现将前端获取显示在前端页面中。在该模块按照岗位划分分为:前端开发工程师、后端开发工程师、高级前端工程师、高级后端工程师、测试工程师、数据分析工程师、产品管理工程师、技术支持工程师、实施工程师和调试工程师的数据分析情况(如REF_Ref12948\r\h图4-22所示)。登录系统的管理者可自行选择需要查看的岗位的数据可视化分析情况,系统会根据需求作出响应,跳转到相应的页面。如以前端开发工程师数据可视化分析情况为例,用户点击相应选项,前端页面根据用户指示发送请求到系统后端,后端根据跳转路由调用跳转方法对前端请求作出反馈,呈现出新的网页(chartJS_qianduanKF.html)。在该页面中根据前端开发工程师的招聘信息进行了六个维度的可视化分析展示,包括学历要求、工作经验要求、企业规模、企业融资情况、技能要求和薪资情况。招聘数据可视化分析类别 学历要求统计(如REF_Ref16691\r\h图4-23所示)采用的是环形图的形式进行的分析,体现的是该岗位在招聘时所要求的学历情况,根据不同的学历占据不同的比例反映岗位对学历要求的重视程度。以前端开发工程师为例可以看出企业在招聘人才时大多对学历上要求大专及以上,在目前的统计数据中可以看出企业在招聘该岗位时对学历情况较为重视,尤其倾向于基础扎实的大学本科生或者是具备良好实践能力的大专生,另一方面也提示着求职者需要更好的提升自己的学历和专业能力。前端工程师学历要求统计分析 工作经验要求统计(如REF_Ref16629\r\h图4-24所示)采用的是饼图的形式进行的分析,反映的是该岗位在招聘时对应聘者工作经验的要求,根据不同的工作经验占比可以看出岗位的工作经验的关注度。对于前端工程师这一岗位,企业更倾向于具备1年及以上工作经验的求职者。可以看出在面临前端开发工程师招聘时,若能具备一定的工作经验则会具备一定的优势。对于求职者而言,在平时需要注重工作经验的积累,可以增加实习经验的锻炼以提升自己的实践能力。前端工程师工作经验要求统计分析 招聘企业规模统计和招聘企业融资情况统计(如REF_Ref16926\r\h图4-25所示)采用的是柱状图和极地的形式进行的分析,反映的是在招聘该岗位的企业的运营规模和企业发展情况,从中可以了解到招聘该岗位的企业的经营情况,对求职者而言可以进行自身未来发展的规划。从分析结果可以表明,招聘前端开发工程师的企业大多为大中型企业,企业的发展前景也较好,对于求职者而言能够在这样一个良好的平台学习和展示自己是一个不错的就业选择。前端工程师岗位招聘企业概况统计分析 技能统计分析采用的是雷达图的形式进行的分析,体现的是该岗位在招聘时要求求职者具备的技能情况,对于即将从事和未来从事该岗位的人员可以提供一定的指向性,从而有侧重的进行学习与提升。通过统计分析可以看出,对于前端工程师企业大多要求具备前端开发和前端样式设计(如HTML、CSS、JavaScript等)技能,从业者在考虑该岗位时可以适当根据岗位的技能要求进行技能的学习和提升,从而可以更好的进入和适应该岗位的需求。前端工程师岗位技能要求统计分析 薪资统计情况(如REF_Ref19156\r\h图4-27)采用的是折线图的形式进行的分析,反映该岗位在当前就业市场下的薪资走向与发展趋势,从最低薪资、最高薪资和平均薪资三个统计量进行对比分析,可以帮助从业者了解该岗位的发展情况。通过对这一方面的分析,可以看出前端开发工程师的薪资大多在9K-30K,薪资根据求职者的能力进行一定标准的评定,对于求职者而言该岗位的薪资还是十分的客观的,若能在该岗位深入的学习和研究,其升职加薪的机会也会有很多,因此也是一个不错的就业选择。前端工程师岗位薪资情况统计分析系统测试与分析 系统测试主要分为功能测试和性能测试两个部分。功能测试主要测试系统的各个功能是否能正常实现,系统的性能测试则主要测试系统的性能情况、回答响应是否合理高效。本系统的测试也主要对这两个方面进行,具体的测试情况与结果分析如REF_Ref13993\r\h表5-2所示。系统测试与分析序号测试项目子测试项目测试目的测试步骤测试结果1功能测试登录功能是否运行正常确保本系统能够进行正常的登录操作打开系统的登录界面,输入用户名、密码和验证码进行登录登录功能正常运行2功能测试系统后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论