摘要
时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,招聘信息管理系统当然不能排除在外。软件开发招聘数据分析与可视化系统是在实际应用和软件工程的开发原理之上,运用Python语言、爬虫技术以及Django框架进行开发,可以让用户实现在线进行浏览招聘信息、管理个人信息等操作。在系统开发之前首先要进行需求分析,分析出软件开发招聘数据分析与可视化系统的主要功能,然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构和对系统安全性进行设计;最后要对系统进行测试,还要对测试的结果进行总结和分析,为以后系统的维护提供方便,也为以后类似系统的开发提供参考和帮助。这种个性化的网络系统管理更重视相互协调和管理合作,能激发管理者的创造性和主动性,这对软件开发招聘数据分析与可视化系统来说非常有益。
绪 论
近几年来,社会迅速发展,求职人员的数量和要求越来越多,企业的招聘岗位有时又会面临无人可用的窘境。求职人员很难找到自己满意的工作,招聘企业也存在许多空余岗位,这两类问题现实生活中在各行各业普遍存在。又因为2020年新冠肺炎的疫情,给求职人员和招聘单位公司带来了这些问题:封闭式的管理让人们出门都很困难,更何况去找自己满意的工作,招聘能人异士了。但同时,互联网这几年来的发展也是日新月异的,互联网让地球变成了一个地球村,人们足不出户就可以完成各种各样的工作。从2017年末开始,国家各个部门印发的各项文件,包括给位领导人的工作报告中都频繁提到了互联网发展的重要性,这为人们指明了互联网将是未来发展的主要方向,在国内受到了众多的重视并得到了大力发展[1]。在这个大数据时代下,互联网的普遍应用可以解决上述人们的问题,一个软件开发招聘数据分析与可视化系统便开始研发了。
1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。目前,社会的招聘类网站越来越多,但是该类型网站附加了太多的商业元素和虚假信息,而且,用户在搜索岗位信息时需访问多个网站和大量垃圾广告,这无疑影响了信息搜索效率且降低了用户的使用体验,使用户很难快速地浏览或查询到自己所需要的职位相关信息。电子计算机在现代管理中的应用使电子,计算机变成了人类运用现代信息技术的主要工具。可以更高效的处理人类获取信息中精细化、全面化的问题,从而提高了效率[2]。基于Python技术的软件开发招聘数据分析与可视化系统,是指使用具有万维网上所有特点和资源优势的超媒体求职招聘会方式,来提供一个有趣的求职招聘会氛围,在这个求职招聘会氛围中求职者招聘过程受到了鼓励与帮助。而随着互联网的应用,互联网也以一种巨大变革力的新形象出现于商务关系领域。
1.2 国内外研究概况 在当前这个飞速发展的时代,无论是国内还是国外,发展都是突飞猛进的,经济形势也是一片明朗。在这种背景下,互联网的这一块的市场成为了各个国家想要争夺的香饽饽。于是无论是国内还是国外一些公司把目光投向了互联网这块市场,越来越多的人对互联网有所了解,具备了一些网络意识。在这种互联网大浪潮的不断冲刷下,各种各样的系统被开发出来。计算机技术在国内还是国外中应用普遍,使计算机这一新型工具成为人们耳熟能详、人尽皆知的新技术。计算机和互联网的广泛应用,让国内外的距离变“近”了,这个庞大的地球家园一下变成了地球村。国内国外的互联网发展也存在一些差距,我国近些年的互联网发展迅速,跻身于世界前列。 基于Python技术的软件开发招聘数据分析与可视化系统采用B/S架构、爬虫技术、Django框架、MySQL数据库,使用Python技术开发。该系统的开发方式无论在国内还是国外都比较常见,而且开发完成后使用普遍,可以给求职者和招聘企业提供大量的便利[3]。该系统在国内外前景较为良好。
1.3 课题的研究意义 大数据时代已经到来,网络爬虫技术已成为这个时代不可或缺的一项技术,企业需要数据来分析用户行为、产品的不足之处以及竞争对手的信息等,而这一切的首要条件就是数据的采集。在互联网社会中,数据是无价之宝,一切皆为数据,谁拥有了大量有用的数据,谁就拥有了决策的主动权。如何有效地采集并利用这些信息成了一个巨大的挑战,而网络爬虫是自动采集数据的有效手段。网络爬虫是一种按照一定的规则,自动抓取互联网海量信息的程序或脚本。网络爬虫的应用领域很广泛,如搜索引擎、数据采集、广告过滤、大数据分析等。本次使用Python技术加网络爬虫技术,可以实现管理员对招聘信息的快速管理,对企业的发展来说,是一个非常有意义的创新。
相关技术
本软件开发招聘数据分析与可视化系统的数据库采用的是MySQL数据库,并且选择了Python语言、网络爬虫技术、和Django框架进行开发项目,在项目开发过程中,实现了系统功能模块的安全性、实用性、稳定性、易维护和页面简单等特点。
2.1 Python简介 Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”[3]。 Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次软件开发招聘数据分析与可视化系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。
2.2 Django框架 Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点: (1)对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则: ①简单:以最基本的形式构建数据。 ②传达性:数据库结构被任何人都能理解的语言文档化。 ③精确性:基于数据模型创建正确标准化的结构。 用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。 (2)路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业的地址。
(3)模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。 (4)视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。 (5)后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。 Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。 (6)应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。 因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。
2.4 MySQL简介 MySQL是一款小型关系型数据库管理系统(Relational Database Management System),开发商为瑞典MySQLAB公司。关系型数据库将数据存放在不同的表中,使数据更加规范化。MySQL因其体积小、速度快、源码开放的特点,很多网站开发都将MySQL作为首选[5]。由于Python3不再支持MySQLdb模块,此次开发采用pymysql模块连接MySQL数据库。 2.5小结 本章详细的介绍了开发软件开发招聘数据分析与可视化系统所需要的技术与工具,工欲善其事必先利其器,对于技术和工具了解的越多越清晰,才会在开发过程中如鱼得水。
系统整体功能图
用户注册界面图
用户登录界面图
用户功能界面图
管理员功能界面图
招聘信息管理界面图
看板界面图
看板界面图
部分数据库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
gongsi | varchar | 200 | 公司 | ||
gzjy | varchar | 200 | 工作经验 | ||
xueli | varchar | 200 | 学历 | ||
chengshi | varchar | 200 | 城市 | ||
diqu | varchar | 200 | 地区 | ||
jiedao | varchar | 200 | 街道 | ||
xinzi | varchar | 200 | 薪资 | ||
hangye | varchar | 200 | 行业 | ||
guimo | varchar | 200 | 规模 |
结论
本系统是采用Python语言、爬虫技术、Django框架构建的一个操作管理系统,选择的数据库是MySQL。整个过程先是通过整体的系统分析,来确定本系统的可行性是否达标。为了满足用户的需求以及提高管理员的工作效率,通过系统所要实现的功能分析,决定了用户和管理员要实现的功能。之后就是精细各个模块的具体功能,定义用户和管理员们的权限,分割成管理员功能模块和用户功能模块。之后通过系统测试来确保数据的准确性和操作的准确性,发现错误并立即做出了改正。 系统本身就是共享信息的存在,管理员都可以发布信息来分享资源,用户进行浏览,通过加入关键词检索,让用户和管理员更方便的使用系统。同时通过分类以便用户查找信息可以进一步的对号入座,极大的节省了查找信息的时间。 关于软件开发招聘数据分析与可视化系统的设计还是有很多不足的地方,在管理员模块不能更好的设置用户模块的权限,在用户模块功能略少,操作单一,缺少点赞分享等操作,影响了用户的积极性。 在本次项目设计中,完成了大大小小的模块,系统设计的调查,数据的分析,在安装软件方面,选择版本问题困扰了我很久,后来找相关的网站介绍,了解了各个版本的利与弊,最后完善了本次设计。软件开发招聘数据分析与可视化系统的系统设计选择了Python开发工具,和MySQL数据库对后台的数据交互进行分析保存,使用MySQL数据库可以是程序运行更加的安全且稳定,从而实现并完善系统的开发。