网上求职招聘系统设计报告.doc
网上求职招聘系统一、 课程设计要求和内容随着网络的发展,越来越多的企业通过互联网进行招聘工作。同时企业也发现,网络招聘要发挥最大的作用,仍需经历较长的历程。本论文中的人才网的业务范围以社会招聘为主,兼营其它相关业务。客户以大型公司企业为重点。本文通过对企业招聘工作的细致研究,实现了基于 B/S 架构的网上人才招聘系统,以为人才招聘管理事业服务。该系统包括如下功能:1.管理员模块:可以使用该系统为企业招聘、个人求职提供服务。主要功能包括新闻的发布和删除,个人用户的管理(删除,查看,搜索),企业用户的管理(删除,查看,搜索),调查数据的管理,修改管理员密码、系统登录,会员登录系统时的身份认证等。2.企业管理模块:可以使用该系统注册成为“企业用户”并发布招聘信息等。主要功能包括登录公司资料;更新公司资料;发布招聘信息;更新招聘信息;修改登录密码;全部人才列表;公司会员收藏夹;公司会员信箱等。3.个人管理模块:求职人员可以在注册成为“个人用户”后通过系统完成求职工作。主要功能包括公司会员注册;个人会员注册;验证用户的注册信息;更新/填写求职简历;个人会员收藏夹,个人会员信箱,全部职位列表等。4.首页功能模块:用户浏览招聘求职信息;用户按照要求对信息进行查找;查看新闻;查看公司资料;查看招聘信息;查看个人求职简历;主页设计等。二、 系统分析2.1 设计目标 网络招聘求职方式已经成为了招聘求职的一大重要手段,其招聘求职规模和招聘求职成功率已直逼传统招聘会,有的甚至超过了传统招聘会。通过它应聘者和招聘公司/单位可以在网络上通过Internet,突破时间和空间的限制而实现工作求职和公司/单位的人才的招聘。网络招聘的崛起对传统人才招聘流通体系产生了强烈的冲击,网络招聘较之传统招聘具有招聘范围广,信息量大,可挑选余地大,招聘效果好,费用低,获得了越来越多的公司的认可优势,同时它有着经营成本低、信息反应适时、用户检索方便、地域限制少等特点。因此进行这方面的研究有着重要的现实意义。2.2 系统功能概述及模块图 本系统可以实现网上在线招聘,应聘者通过互联网投递简历并进行网上测评。同时,招聘单位可以汇总简历,浏览简历,选择合格的简历,通知面试,进行面试。方便企业与求职者的交流。系统包括管理端子系统和客户端子系统。管理端子系统包括职位发布、简历管理、用户管理等功能。客户端子系统包括查询职位,建立录入,提交简历等功能。求职招聘网本身是为用人单位和求职人员交流相互提供信息的平台,同时人才招聘网主要是针对用人单位和求职人员之间进行相互沟通。同时为了更好的为用人单位与求职人员服务,系统还设计了大量的辅助功能,这些辅助功能由系统管理员负责操作。在这些需求的基础上,本系统的总体功能模块图如图2-1所示:管理员模块下的详细功能图如图2-2所示:单位模块下的详细功能图如图2-3所示:个人模块下的详细功能模块图为图2-4所示:求职招聘模块详细功能图如图2-5所示:2.3 开发平台与工具本系统是使用ASP技术在window操作下进行开发的,Web服务器是IIS;前台使用Adobe DreamWeaver cs3集成开发环境进行网页设计和脚本编程,使用IE浏览器查看结果;后台使用Office Access 2003数据库系统。三、数据库设计网上求职招聘系统数据库设计使用微软的Access进行设计,具体包含8个表,本人设计其中的3个,具体如下:表1 company表表2 person表 表3 jobnews表字段名称数据类型是否主键Id自动编号是title文本否text备注否Idata日期/时间否click数字否四、系统功能设计网上求职招聘系统中,本人主要设计职位信息搜索和职位信息浏览;具体的职位信息和招聘公司信息浏览;人才信息搜索和人才信息浏览;具体的人才信息和求职者简历的浏览;查看新闻;主页设计。4.1 主页框架主页框架采用div和css构架,配合小组其他成员的设计,构成此系统的外部静态页面样式。4.1.1 主页 图1 主页4.2登录管理 登录主要是区分是企业会员和求职者会员。根据密码和用户名进行初步判断。在个人和单位选项里,根据数据company和person表对用户名和密码进行判断。初次访问的用户可以通过链接注册新用户。如图2。图2 登录 4.2.1登录logins.asp源代码<% Response.Buffer=True %> <!-#include file="inc/dbconn.inc"-> <!-#include file="inc/enpasswd.inc"-> <% uname=request("uname") '接收用户 pwd=request("pwd") '接收输入的密码 usertype=request("usertype") '接收输入的用户类型 if usertype="person" then '个人用户 set rs=server.createobject("adodb.recordset") sql="select * from person where uname='"&uname&"' and pwd='"&pwd&"'"'查找用户名和密码是否存在 rs.open sql,conn,3,3 if rs.bof or rs.eof then '如果输入的用户名和密码不存在 response.write"<SCRIPT language=JavaScript>alert('错误的用户名或密码,请重新输入!');" response.write"javascript:history.go(-1)</SCRIPT>" else '如果输入的用户名和密码存在 session("puid")=uname '取得用户名 response.Redirect "person/main.asp" '跳转到个人用户管理界面 end if else '如果是企业用户 set rs=server.createobject("adodb.recordset") sql="select * from company where uname='"&uname&"' and pwd='"&pwd&"'"'查找用户名和密码是否存在 rs.open sql,conn,3,3 if rs.eof then '如果输入的用户名和密码不存在 response.write"<SCRIPT language=JavaScript>alert('错误的用户名或密码,请重新输入!');" response.write"javascript:history.go(-1)</SCRIPT>" else '如果输入的用户名和密码存在 session("cuid")=uname response.Redirect "company/main.asp" '跳转到企业用户管理界面 end if end if %>4.3 职位信息和人才信息搜索管理职位信息搜索主要是让企业会员能将招聘信息显示在主页面,并按照区域,关键字搜索填写了简历的人才。根据数据库的company表和person表,采用模糊查询方式显示符合条件的数据。如图3和图4。在里面有超链接查询公司的具体信息。如图5所示。求职招聘主要是让求职者能够并按照区域,关键字搜索搜索的职位。采用的也是模糊查询方式显示符合条件的数据。如图5和图6。有 图3 企业职位信息搜索界面图4 企业职位信息搜索结果图5 公司的具体信息浏览 图6 人才信息搜索界面 图7 人才的具体信息浏览图8 人才信息搜索结果4.3.1 职位信息搜索和人才信息搜索search.asp源代码<% Response.Buffer=True %><!-#include file="inc/dbconn.inc"-><% key=trim(request("key") stype=request("stype") gzdd=request("gzdd") %><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta http-equiv="Content-Language" content="zh-cn"><link rel="stylesheet" href="inc/index.css" type="text/css"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>人才市场>站内搜索</title></head><SCRIPT LANGUAGE="JavaScript"><!-/function check() if (isNaN(go2to.page.value)alert("请正确填写转到页数!"); else if (go2to.page.value="") alert("请输入转到页数!"); elsego2to.submit();/-></SCRIPT><body topmargin="0" leftmargin="0"><!-#include file="inc/top4.htm"-><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" height="358"> <tr> </center> <td width="293" height="284" valign="top"> <% set rs=server.createobject("adodb.recordset") if not isempty(request("page") then pagecount=cint(request("page") else pagecount=1 end if if stype="company" then if gzdd="noxz" then sql="select * from company where job like '%"&key&"%' or cname like '%"&key&"%' order by id desc" else sql="select * from company where (job like '%"&key&"%' or cname like '%"&key&"%') and gzdd='"&gzdd&"' order by id desc" end if else if gzdd="noxz" then sql="select * from person where job like '%"&key&"%' or iname like '%"&key&"%' order by id desc" else sql="select * from person where (job like '%"&key&"%' or iname like '%"&key&"%') and gzdd='"&gzdd&"' order by id desc" end if end if rs.open sql,conn,1,1 if rs.eof and rs.bof then response.write"<SCRIPT language=JavaScript>alert('对不起,没有符合搜索条件的记录!');" response.write"javascript:window.close();</SCRIPT>" end if rs.pagesize=10 if pagecount>rs.pagecount or pagecount<=0 then pagecount=1 end if rs.AbsolutePage=pagecount %> <div align="left"> <table border="1" cellpadding="0" cellspacing="0" width="430" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF"> <tr> <td height="17" colspan="3" valign="bottom" width="426"></td> </tr> <tr> <% if rs.pagecount=1 then %> <!-19-> <td width="426" height="6" colspan="3" valign="bottom"><font color="#000000"></font><font color="#000000">共有<font color="#ff0000"><%=rs.recordcount%></font>条<% if stype="company" then response.write"招聘信息" else response.write"求职简历" end if %>符合条件 以下是<font color="red">1<%=rs.recordcount%></font>条</font></td> <tr> <td width="426" height="7" colspan="3" valign="bottom"></td> </tr> <%else%> <td width="426" height="6" colspan="3" valign="bottom"><font color="#000000"></font><font color="#000000"> <% page_start=(pagecount-1)*rs.pagesize if pagecount=1 then page_start=1 page_end=rs.pagesize*pagecount if pagecount*rs.pagesize=>rs.recordcount then page_end=rs.recordcount end if%> 共有<font color="#ff0000"><%=rs.recordcount%></font>条<% if stype="company" then response.write"招聘信息" else response.write"求职简历" end if %>符合条件 以下是<font color="red"><%=page_start%><%=page_end%></font>条</font></td> <tr> <td width="426" height="6" colspan="3" valign="bottom"> <% response.write"<form name=go2to form method=Post action='search.asp?stype="+stype+"&gzdd="+gzdd+"&key="+key+"'>" response.write "<font color='#000064'> </font>" if pagecount=1 then response.write "<font color='#000064'>首页 上一页</font> " else response.write "<a href=search.asp?page=1&stype="+stype+"&gzdd="+gzdd+"&key="+key+"><font color='0000BE'>首页</font></a> " response.write "<a href=search.asp?page="+cstr(pagecount-1)+"&stype="+stype+"&gzdd="+gzdd+"&key="+key+"><font color='0000BE'>上一页</font></a> " end if if rs.PageCount-pagecount<1 then response.write "<font color='#000064'>下一页 尾页</font>" else response.write "<a href=search.asp?page="+cstr(pagecount+1)+"&stype="+stype+"&gzdd="+gzdd+"&key="+key+"><font color='0000BE'>下一页</font></a> " response.write "<a href=search.asp?page="+cstr(rs.PageCount)+"&stype="+stype+"&gzdd="+gzdd+"&key="+key+"><font color='0000BE'>尾页</font></a>" end if response.write "<font color='000064'> 页次:<font color=blue>"&pagecount&"</font>/"&rs.pagecount&"页</font>" response.write "<font color='000064'> 转到第<input type='text' name='page' size=2 maxLength=3 style='font-size: 9pt; color:#00006A; position: relative; height: 18' value="&PageCount&">页</font> " response.write "<input class=button type='button' value='确 定' onclick=check() style='font-family: 宋体; font-size: 9pt; color: #000073; position: relative; height: 19'>" %> </td> <% end if %> </tr> <% if stype="company" then %> <tr> <td height="3" valign="top" colspan="3" bgcolor="#000000"> </td> </tr> <tr> <td width="174" height="18" bgcolor="#EBEEF3" valign="bottom"> 公司名称</td> <!-canme-> <td width="174" height="18" bgcolor="#EBEEF3" valign="bottom"> 招聘职位</td> <!-job-> <td height="18" bgcolor="#EBEEF3" valign="bottom" width="75"><p align="center">发布日期</p></td> <!-idata-> </tr> <% do while not rs.eof %> <tr> <td width="174" height="18" bgcolor="#EBEEF3" valign="bottom"> <a href="company.asp?uid=<%=rs("uname")%>" target="_blank"><% if len(rs("cname")>12 then%><%=Left(rs("cname"),12)%>.<% else%><%=rs("cname")%><%end if%></a></td> <td width="174" height="18" bgcolor="#EBEEF3" valign="bottom"> <a href="job.asp?uid=<%=rs("uname")%>" target="_blank"><%=rs("job")%></a></td> <td width="74" height="18" bgcolor="#EBEEF3" valign="bottom"><p align="center"><%=rs("idate")%></p></td> </tr> <% i=i+1 rs.movenext if i>=rs.PageSize then exit do loop rs.close set rs=nothing conn.close set conn=nothing %> <tr> <td height="3" valign="top" colspan="3" bgcolor="#000000"> </td> </tr> <tr> <td width="422" height="8" valign="bottom" colspan="3"> <p align="center"><br> 【<a href="javascript:window.close()">关闭窗口</a>】</td> </tr> </table> </div> <% else %> <div align="left"> <table border="1" cellpadding="0" cellspacing="0" width="430" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF"> <tr> <td height="3" valign="top" colspan="5" bgcolor="#000000"> </td> </tr> <tr> <td width="67" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="left"> 姓名</p> </td> <td width="45" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="center">性 别</p> </td> <td width="56" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="center">学 历 </td> <td width="178" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="left"> 应聘职位</td> <center> <td width="75" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="center">登录日期</p> </td> </tr> <% do while not rs.eof %> </center> <tr> <td width="64" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="left"> <a href="person.asp?uid=<%=rs("uname")%>" target="_blank"><%=rs("iname")%></a></p> </td> <td width="48" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="center"><%=rs("sex")%></p> </td> <center> <td width="55" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="center"><%=rs("edu")%></td> <td width="179" height="18" bgcolor="#EBEEF3" valign="bottom"> <%=rs("job")%></td> <td width="72" height="18" bgcolor="#EBEEF3" valign="bottom"> <p align="center"><%=rs("idate")%></p> </td> </tr> <% i=i+1 rs.movenext if i>=rs.PageSize then exit do loop rs.close set rs=nothing conn.close set conn=nothing %> <tr> <td height="3" valign="top" colspan="5" bgcolor="#000000"> </td> </tr> <tr> <td width="418" height="7" valign="bottom" colspan="5"> <p align="center"><br> 【<a href="javascript:window.close()">关闭窗口</a>】 </td> </tr> </table> </center> </div><% end if %> </td> <center> </tr> </center> </table></body></html>4.3.2 具体职位信息搜索链接company.asp源代码<% Response.Buffer=True %><!-#include file="inc/dbconn.inc"-><% uid=request("uid")set rs=server.createobject("adodb.recordset")sql1="update perso