PHP网上人才招聘系统论文.docx
《PHP网上人才招聘系统论文.docx》由会员分享,可在线阅读,更多相关《PHP网上人才招聘系统论文.docx(48页珍藏版)》请在冰豆网上搜索。
PHP网上人才招聘系统论文
天津工业大学
毕业设计
PHP网上人才招聘系统的设计与实现
姓名
学院计算机科学与软件学院
专业
指导教师
职称讲师
2013年5月12日
摘要
随着电子商务技术的兴起,网上招聘逐渐地被人们认识和接受。
近年来越来越多的大学毕业生面临着找工作的压力,已经有许多求职者通过网上招聘的方式找寻工作。
在线人才招聘系统的出现解决了部分大学生的就业问题,提供了可靠的招聘途径,为求职者和用人单位提供了广阔的展现空间。
本课题主要是以PHP作为前台开发工具,利用MYSQL作为后台数据库的技术来实现网上人才招聘系统。
该网络人才招聘系统提供了丰富的功能,包括个人求职、企业招聘、文章发布、用户注册、职位信息管理、检索导航、后台管理等功能,满足用户与用人单位之间的信息交互需求。
本文重点介绍了网上人才招聘系统的功能实现方法以及关键技术。
关键词:
php;系统;数据库
前言
上世纪90年代以来,随着计算机网络、通信和信息技术突破性进展,Internet在全球爆炸性增长并迅速普及。
由于网络方便快捷的特点,网络逐渐成为人们工作和生活的一种工具。
中国是迅速崛起的发展中大国,尤其是改革开放三十年,中国在各领域都取得了突破性进展,互联网也不例外。
中国又是世界人口最多的国家,随着经济的发展,城市化步伐的加快,求职者队伍不断壮大。
传统的人才招聘,对求职者来说,费时费力;对招聘单位来说,举办招聘会需要花费大量经费。
所以在当今互联网已经成为人们生活一部分的社会里,越来越多的个人选择通过网络轻点鼠标寻求工作,越来越多的企业也开始选择网络进行招聘。
网上人才招聘系统是先进的计算机科学技术和现代招聘理念相结合的产物,通过使用以计算机网络为基础的网上人才招聘系统,满足了求职者和招聘企业双向的要求,网上人才招聘系统收集大量招聘单位的招聘信息,它使网上招聘从盲目的网络职位搜索到有序大量的职位投递,从混乱变为规范,而且成功率较高。
网上人才招聘系统实现了人才招聘的一些主要功能,如用户注册功能:
用户需先进行会员注册,成功后进行相关操作;职位信息管理功能:
用人单位可以在系统上发布相关信息,系统会对信息进行归类管理;检索导航功能:
用户可以根据自己意愿搜寻相关的工作;在线求职招聘功能:
用户可以在搜索结果中寻找合适的单位投递个人简历;人才信息管理功能:
系统会对用户的信息,包括个人信息,个人简历等进行统一管理。
系统用户包括个人用户、企业用户和管理员用户。
个人用户可以完成人才招聘的相关过程,包括生成简历、投递简历等;企业用户可以完成录用的相关过程,包括企业收藏个人简历、发布招聘信息等;管理员用户具有更高的权限,可以添加和删除职位信息,删除违规用户等操作,整个系统外观和谐,操作较为人性化。
第一章系统功能分析与总体设计
系统分析,是指在网上人才招聘系统开发的生命周期中系统分析阶段的各项活动和方法,也指应用系统思想和系统科学原理进行分析工作的方法和技术。
系统分析可以划分为一下几个工作阶段:
系统的初步调查、系统的可行性研究、现行系统的详细调查等。
1.1系统初步调查
如今高科技和计算机的飞速发展,给人们带来了更多的便利,点奥普及时代已经到来,网络技术也在主键完善,人们的生活已经开始发生重要的变革,效率已经成为各个企业生存的首要条件,更好更快的使用和了解相关的信息,以及处理更多更繁琐的失误便是我们设计网上人才招聘系统的初衷。
在线人招聘网站是基于B/S架构的系统,为了能够提供良好的交互环境,需要对网站进行整体的分析设计,并且能够获取到网站的非功能需求,如系统的用户界面设计、用户的响应要求等。
从功能性与非功能性两方面出发分析系统的需求。
本系统主要用于企业用户与求职者查阅对方的信息,实现供求双方的交互,提供对热点新闻、技巧文章的浏览和查询功能。
主要功能描述如下。
1.企业招聘功能
企业注册为网站用户后,可以在本网站上发布企业概况、职位信息,查询人才简历和新闻资讯,并能够收入企业人才库;如果匿名登录,只能查询人才的基本信息,不能查看人才的联系方式。
此外企业用户能够对本企业的基本信息、职位信息进行维护。
2.个人求职功能
求职者在投递简历前必须先注册为网站的会员,如果匿名登录,只能查询职位的基本信息,不能查看联系方式。
求职者注册为网站用户后提供查询职位、制作简历、投递简历的功能。
求职者可以根据职位类别、职位关键字和工作省份查询职位,还可以查看哪些企业收藏了自己的简历。
此外,求职者可以对自己的基本资料、个人技能、求职意向等信息进行维护。
3.新闻资讯功能
系统管理员可以发布新闻、文章,让求职者与招聘者能及时了解职场相关信息,获取求职经验和相关的政策法规。
4.后台管理功能
后台管理包括企业信息管理、求职者信息管理、帐号管理、密码管理等功能。
网站管理员通过后台登录,审核网站的注册信息,管理用户的使用权限,对企业和隔热的信息要进行检查,提供修改管理的功能,并能够设置企业和求职者的VIP权限。
1.2系统可行性分析
系统可行性分析是根据系统的环境、资源等条件,判断所提出的信息系统项目是否有必要、有可能开始进行,它的目标是:
进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出拟开发系统的初步方案和计划。
1.2.1必要性
在可行性分析中,首先要分析和论证开发系统的必要性,根据对现行存在系统的问题分析,我们可以从下面总结分析建设网上人才招聘系统的必要性:
(1)显见的必要性
网上人才招聘系统的建立,能够显著地提高求职者工作效率和减轻跑招聘会的劳顿、提高投递的数量和成功率、是的只要有网络就能够找工作,从而更有效地完成了招聘事宜。
(2)预见的必要性
随着社会的发展,城市化步伐的加快,找工作是每个人的需求,社会分工的明确,对劳动效率要求的不断提高,简单且高效的招聘系统必然受到人们的广泛关注和青睐。
此外,对用人单位来说,网络招聘的成本更低。
通过网络,可以节省大量的差旅费用。
所以,成本低这一特点使得网络招聘受到广泛的喜爱。
(3)隐见的必要性
从宏观上、战略上考虑网上人才招聘系统能够为国家人力资源部服务,更好地解决人才需求问题,为人力资源的调配起到积极的促进作用,所以这必定会得到政府部门的大力支持。
1.2.2可能性
上面对“要不要”建立一个新系统进行了分析,下面从一下三方面对“能不能”实现新系统目标进行可行性分析:
(1)技术可行性
技术可行性,一般可从硬软件条件、开发环境条件、技术人员水平等方面去考虑和分析。
现代化计算机发展日星月异,在各行各业有广泛使用,而PHP东戴网站设计语言、Dreamweaver网页制作工具以及MySQL数据库都是系统开发的优秀软件工具,完全能满足开发此网上人才招聘系统的各项技术指标,这说明技术方面是可行的。
(2)经济可行性
经济的可行性主要是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。
首先,网上人才招聘系统不仅可以让求职者省时省力,而且可以实现低成本,这必然会受到求职者的青睐,因此作为网上人才招聘工作中的核心和基础——PHP网上人才招聘系统,它的经济状况和投资能力完全可行。
其次,分析系统的开发、运行和维护费用,主要包括软硬件设施、开发费用、人员费用、材料费用等。
这项设计由学生开发,所以相比一个大型的软件开发费用,是比较低廉的。
关于系统建成后肯能取得的经济效益方面,可以结合上面提及的显见、预见、隐见三个必要性方面来考虑,可以分析得知,系统的建成会给求职者和用人单位带来极其大的利益。
(3)运行可行性
作为可能性分析的第三点,是要分析系统对组织机构的影响,包括对职位信息的管理、对用户和管理员操作权限设置、简历生成和用户信息等的可行性。
通过以上可行性的研究,我们认为条件大致成熟,可以进行系统的研制工作。
1.3非功能性需求分析
非功能性需求不一定能解决系统的业务功能,但是它解决的是“如何使系统能在实际环境中运行”。
如果用户不能够从他们可用额渠道(如IE)方便地访问需要的服务,那么这样的系统将是失败的。
非功能性需求常常被忽视,以致于整个项目处于危险状态。
在建设网站时,必须考虑到响应时间、有好操作、用户权限等非功能性因素。
此外网站要求不间断地运行,提供全天候的服务,方便用户随时使用。
响应时间是衡量一个站点负载能力的重要指标,用户对在线系统响应速度有较高的要求,一般互联网用户的平均等待时间在5秒左右,注册反应时间不能超过3秒。
网站应该提供良好的用户界面,如用户注册模块,在填写用户名或密码时需要提供提示性的文字,说明输入的约束。
用户可能使用各种浏览器访问网站,需要考虑各种浏览器是否支持脚本语言所使用的函数,例如JavaScript获取用户输入的键值,提供IE和Firefox两个版本的方法,IE使用e.keyCode获取键值,而Firefox使用e.which获取。
1.4总体设计
网上人才招聘系统的开发任务是实现人才招聘的相关事宜,从用户角度,完成个人登陆、简历生成、搜索职位到投递个人简历等相关操作;从管理员角度,完成对职位信息的管理、职位信息的添加删除、对系统用户信息的管理、违规用户的删除等操作。
根据系统功能分析,在线人才招聘系统分为四大模块:
企业招聘、个人求职、职场文章、后台管理,如图1-1所示是整个系统的页面逻辑结构示意图。
图1-1系统的页面逻辑结构示意图
第二章项目开发的技术准备
该系统才用了Dreamweaver作为前台开发工具,以PHP作为后台开发语言,以MySQL作为后台数据库,以Apache作为服务器。
本章主要介绍PHP、MySQL数据库和Apache服务器。
2.1PHP的简介
PHP,是英文超级文本预处理语言HypertextPreprocessor的缩写。
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的潜入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。
PHP的另一个含义是:
菲律宾比索的标准符号。
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态网页与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高出许多;PHP还可以执行编译后代码。
PHP的主要特点如下:
(1)开房的源代码:
所有的PHP源代码事实上都可以得到,且PHP是免费的。
(2)PHP的便捷性:
PHP十分便捷,学习简单基于服务器端;由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。
(3)嵌入HTML:
因为PHP可以嵌入HTML语言,所以学习起来并不困难。
(4)简单的语言:
PHP坚持脚本语言为主,与Java和C++不同,效率高;PHP小浩相当少的系统资源。
(5)图像处理:
用PHP动态创建图像面向对象。
(6)PHP相对于其他语言,编辑简单,实用性强,更适合初学者。
2.2MySQL的简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16日被Sun公司收购,而2009年,SUN又被Oracle收购,对于Mysql的前途,没有任何人抱乐观的态度,目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的主要特点如下:
(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
(2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
(3)为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
(4)支持多线程,充分利用CPU资源。
(5)优化的SQL查询查询算法,有效地提高查询速度。
(6)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
(7)提供用于管理、检查、优化数据库操作的管理工具。
(8)可以处理拥有上千万条记录的大型数据库。
2.3Apache的简介
Apache是世界使用排名第一的web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的web服务器软件之一。
Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自有软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定、并可做代理服务器来使用。
Apache的主要特点如下:
(1)支持最新的HTTP/1.1通信协议。
(2)拥有简单而强有力的基于文件的配置过程。
(3)支持通用网关接口。
(4)支持基于IP和基于域名的虚拟主机。
(5)支持多种方式的HTTP认证。
(6)集成Perl处理模块。
第三章数据库设计与实现
本章主要分析数据库的表结构以及它们之间的关系,对数据库的设计是整个人才招聘系统实现的基础,为了达到一定额性能要求,对数据库的表结构需要有良好的设计。
一般数据库的分析设计过程分为3个部分:
需求设计、逻辑设计、数据库优化。
3.1数据库需求分析
本系统主要面向三类用户:
求职者、企业招聘人员、系统管理员。
因此首先需要简历求职者信息表、企业信息表、系统管理员表。
求职者信息表存储用户基本信息和个人简历信息;企业信息表用于展示企业的基本情况,包括企业基本信息、企业行业信息、联系方式等;系统管理员表用于后台管理模块,记录网站维护人员的基本情况。
求职者和企业交流的媒介是职位信息,职位信息包括籍贯、学历、技能等要求。
企业招聘人员通过网站发布职位信息,求职者登录网站浏览企业职位,因此需要一个职位信息表。
职位信息表和企业信息表关联,两个表之间是多对一的关系,即一个企业可以招聘多个职位。
如果求职者对某职位有意向,可以发送简历给企业方,求职者发送简历后的应聘信息将记录在应聘表中,求职者通过这个表可以获知应聘过哪些企业,企业通过这个表可以获知发布的职位有哪些求职者应聘。
企业放可以浏览求职者的个人简历,同时可以把符合职位要求的个人信息添加进企业人才库,企业人才库与企业信息表和个人求职表关联,描述某个企业添加了哪些人才。
系统中需要多次使用职位类型、专业类型、地区列表等字典信息。
发布职位需要说明工作性质、专业要求、工作特点等情况;建立个人简历需要列出工作意向、专业类别、籍贯等情况。
因此建立3个相关的字典表(职位类型字典表、专业类型字典表、地区字典表)与求职者信息表、职位信息表关联。
职场文章是人才招聘网站的重要组成部分,包括新闻热点和求职技巧两个部分。
建立一个职场文章表存储文章的作者、来源、内容、发布时间等信息。
E-R模型图如图3-1所示。
图3-1E-R模型图
3.2数据库逻辑设计
User是求职者信息表,如表3-1所示。
该表以user_id为主键,其他表以user_id作为外键,每张子表和主表之间都是1:
n的关系。
该表与专业类型字典表(speciallist)关联以speciallist_id作为外键,与地区字典表(arealist)关联以city_id作为外键。
表3-1求职者信息表(user)
字段
类型
Null
默认
注释
user_id
int(10)
否
NULL
求职者帐号
pwd
varchar(50)
否
NULL
密码
question
varchar(50)
否
NULL
密码问题
answer
varchar(50)
否
NULL
密码答案
email
varchar(50)
否
NULL
邮件地址
locked
bool
否
0
是否锁住此帐号
regdate
date
否
date(y.m.d)
注册日期
name
varchar(50)
否
NULL
姓名
nation
varchar(50)
是
NULL
民族
sex
varchar(50)
否
NULL
性别
birthday
date
是
NULL
生日
length
varchar(50)
是
NULL
身高
marry
varchar(50)
是
NULL
婚姻
province
varchar(50)
否
NULL
籍贯
city_id
varchar(50)
否
NULL
城市编号
university
varchar(50)
是
NULL
毕业学校
graduateDate
date
是
NULL
毕业日期
language1
varchar(50)
是
NULL
外语
langLevel1
varchar(50)
是
NULL
外语水平
language2
varchar(50)
是
NULL
其他外语
langLevel2
varchar(50)
是
NULL
其他外语水平
computer
varchar(50)
是
NULL
计算机水平
joblist_id
varchar(50)
否
NULL
职位类型
job1
varchar(50)
否
NULL
具体岗位1
job2
varchar(50)
是
NULL
具体岗位2
place
varchar(50)
是
NULL
现住地
ltime
datetime
否
NULL
离开时间
edu
varchar(50)
否
NULL
教育程度
special_id
varchar(50)
是
NULL
专业编号
click
int(10)
否
0
被浏览次数
salary
varchar(50)
是
NULL
薪水
address
varchar(100)
是
NULL
地址
phone
varchar(50)
是
NULL
电话
mobile
varchar(50)
是
NULL
手机号码
posts
varchar(50)
是
NULL
邮编
type
varchar(50)
是
NULL
兼职全职选择
vip
bool
否
0
VIP用户
introduce
longtext
是
NULL
个人简历
works
longtext
是
NULL
工作经历
workTime
date
是
NULL
参加工作时间
enterprise是企业信息表,如表3-2所示。
enterprise_id为表的主键,该表与job表关联,描述企业发布的职位信息。
表3-2企业信息表(enterprise)
字段
类型
Null
默认
注释
Enterprise_id
int(10)
否
NULL
企业账号
pwd
varchar(50)
否
NULL
密码
question
varchar(50)
否
NULL
密码问题
answer
varchar(50)
否
NULL
密码答案
email
varchar(50)
否
NULL
邮件地址
locked
bool
否
0
是否锁住此帐号
rdate
date
否
NULL
注册日期
fullname
varchar(50)
否
NULL
企业全名
ltime
datetime
否
NULL
离开时间
click
int(10)
否
0
企业被浏览次数
trade
varchar(50)
是
NULL
行业
city
varchar(50)
是
NULL
所在城市
fund
int(10)
是
NULL
资金
property
varchar(50)
是
NULL
企业性质
area
varchar(50)
是
NULL
经营区域
award
varchar(50)
是
NULL
所获奖励
note
longtext
是
NULL
简介
fdate
date
是
NULL
成立日期
address
varchar(50)
是
NULL
地址
zip
varchar(50)
是
NULL
邮编
phone
varchar(50)
是
NULL
电话
fax
varchar(50)
是
NULL
传真
web
varchar(50)
是
NULL
企业网址
rationalname
varchar(50)
是
NULL
联系人
lawname
varchar(50)
是
NULL
法人
productname
varchar(50)
否
NULL
主要产品
usernum
int(10)
是
NULL
企业人数
job是企业要招聘的职位表,如表3-3所示。
主键id设置为auto_increment类型。
job与enterprise表关联,两个表之间的关系是多对一,即一个企业可以发布多个职位。
应聘表(entstore)关联user和job表,通过user_id和id键值关联。
Job与工作类型字典表(joblist)、地区字典表(arealist)关联,分别使用joblist_id和city_id作为外键。
表3-3职位信息表(job)
字段
类型
Null
默认
注释
id
auto_increment
否
NULL
主键
addtime
datetime
否
NULL
添加时间
enterprise_id
int(10)
否
NULL
企业帐号
joblist_id
int(10)
否
NULL
职位类型
job
varchar(50)
否
NULL
职位名称
city_id
int(10)
否
不限
省份要求
city
varchar(50)
否
NULL
城市要求
num
int(10)
否
NULL
招聘人数
age
tinyint(4)
否
NULL
年龄
speciallist_id
int(10)
否
不限
专业编号
place
varchar(50)
是
NULL
工作地点
edu
varchar(50)
是
NULL
文凭
language
varchar(50)
是
NULL
外语
languagelevel
tinyint(4)
是
NULL
外语水平
sex
tinyint
(1)
是
NULL
性别要求
marry
char(10)
是
NULL
婚姻
computer
varchar(50)
是
NULL