摘要:随着信息技术的发展,网络在人们生活和交际中的应用越来越广泛。 招聘网站为应聘者提供了方便、快捷的应聘途径。对招聘单位来说,招聘网站也为他们提供了查询、检索应聘者信息的平台,使招聘工作变得轻松易行。应聘者和招聘公司/单位可以在网上通过Internet,突破时间和空间的限制实现工作求职和公司/单位的人才招聘。网上招聘与传统招聘相比具有招聘范围广,信息量大,可挑选余地大,有大量素质高、技术高的应聘人员,招聘效果好,费用低的优势,因此获得了越来越多公司的认可,同时它有着经营成本低、库存虚拟、用户检索方便、地域限制少等特点。本系统是使用MS.NET平台中的ASP.NET开发基于B/S体系结构的Web应用程序,在Microsoft Visual Studio .NET 环境下,使用 C# 编程语言并结合Microsoft SQL Server 2000 数据库开发的一套网络招聘系统。可以根据登录身份而行使不同的权限实现了用户注册、登录、验证身份及用户数据的采集、搜索/查看用户信息,站内最新新闻信息发布。个人用户把简历提交给自己合意公司,企业用户通过简历提取自己合意人员的联系方式,管理员管理整个网站。
网上招聘;求职;ASP.NET;B/S体系;新闻发布
1.1 功能和需求分析
首先根据使用该系统的用户的角色的不同分为三种不同用户:系统管理员:负责管理网站上的各种信息,包括发布新闻,管理新闻和查看删除所有的个人用户和企业用户。个人用户:可以在线填写个人基本情况、发布求职信息、浏览新闻、查看招聘和求职信息,在线向自己满意的公司提交简历,在个人收藏夹里查看自己提交简历到哪几个公司。企业用户:可以在线填写企业基本情况,发布企业招聘信息,浏览新闻,查看求职和招聘信息,在线查看和管理个人用户提交的简历功能。根据简历提取符合本公司人员的联系方式。系统进行功能模块,主要分为用户管理、个人用户、企业用户和管理员四个模块,每个模块又分为若干功能模块,如图1所示:
1.2 系统的结构和流程设计
进入网站后,首先是登录界面,已经注册的用户可以直接登录,系统将根据用户选择区分是个人用户还是企业用户,个人用户又分为管理员和普通用户,系统根据用户的不同将用户分别链接到各自的主界面下。没有注册的用户可以单击链接到注册界面,并选择是个人用户还是企业用户以完成注册,最后链接到各自的用户界面。其过程模块图如图2所示:
这里没有管理员用户的注册,由于管理员用户是不能随便注册的,他的登录所需要的信息在web.config文件中配置,而不用通过系统注册界面。
在实现中,它们可以使用同样的超链接,而没有必要重复编写功能基本一样的界面,而是可以根据用户的不同,给页面不同的权限。
1.3 数据库结构设计
1.3.1 数据表的设计
新闻信息表news、个人用户表person、企业用户表company、个人简历表getJobInfo、招聘信息表giveJobInfo、在线申请表resume,下面分别介绍这些表的结构。(1)新闻信息表保存了该网站上所有新闻,包括新闻标题、来源,发布时间,主要内容等,主键Id,具体的描述如表1所示:
(2)个人用户表保存了所有个人用户的用户名、密码、E_mail等基本用户信息,如表2所示:
(3)企业用户表保存了所有企业用户的用户名、密码和Email等基本用户信息。如表3所示:
(4)个人简历表保存了用户的个人基本信息如姓名、性别等,还有与求职相关的各种信息,如工作经验,所求职位等。它通过外键personID与表person相关联,与表person是一对一的关系,也就是一个人只能登录一份简历。表的具体内容如表4所示:
(5)表giveJobInfo保存了企业发布招聘信息,包括工作要求、工作地点、招聘人数等信息,它通过与外键与company表相连,一个企业用户与一条招聘信息表相连,但是在里面可以发布不同的招聘职位和相关要求。表的具体结构如表5所示:
(6)在线申请表包括申请人的ID、名称,以便企业用户可以通过申请表中的personID查看到申请人的个人简历。它通过外键personID和外键companyID 分别与表person和表company联系。它实际上提供了个人和企业的交互,具体内容如表6 所示:
1.3.2 存储过程的设计
@titlevarchar(100),@sourcevarchar(30),@publicDate datetime,@content text,@hits int,@picture varchar(50) as insert into news(title,source,publicDate,content,hits,picture)values(@title,@source,@publicDate,@content,@hits,@picture)create proc updatePBaseInf@personID int,@name varchar(10),@sex varchar(5),@email varchar(50),@phone varchar(20),@address varchar(50),@addNum varchar(10) as update getJobInfo set name=@name,sex=@sex,email=@email,phone=@phone,address=@address,addNum=@addNum where personID=@personIDcreate proc updatePCareer@personID int,@type varchar(50),@workPosition varchar(50),@workCity char(10),@wage varchar(50),@other text,@publicTime datetime,@lookTimes int as update getJobInfo settype=@type,workPosition=@workPosition,workCity=@workCitywage=@wage,other=@other,publicTime=@publicTime,lookTimes=@lookTimes where personID=@personIDcreate proc updateCBaseInfo@companyID int,@companyName varchar(50),@vocation varchar(50),@email varchar(50),@phone varchar(50),@address varchar(50),@addNum varchar(50) as update giveJobInfo set companyName=@companyName,vocation=@vocation,email=@email,phone =@phone,address=@address,addNum=@addNumwhere companyID=@companyIDcreate proc updateCCareer @companyID int,@workPosition varchar(50),@giveNum varchar(50),@workCity varchar(50),@describe varchar(50),@request text,@publictime datetime,@lookTimes int As update gieveJobInfo Set workPosition=@workPosition,giveNum=@giveNum,workCity= @workCity,describe=@describe,request=@request,publictime=@publictime,lookTimes=@lookTimes where companyID=@companyID