ASP网上人才管理系统的设计与实现

       网上招聘求职方式已经成为招聘求职的一大重要手段,其招聘求职规模和招聘求职成功率已直逼传统招聘会,有的甚至超过了传统招聘会。通过它应聘者和招聘公司/单位可以在网上通过Internet,突破时间和空间的限制而实现工作求职和公司/单位的人才的招聘。网上招聘的崛起对传统人才招聘流通体系产生了强烈的冲击,网上招聘较之传统招聘具有招聘范围广,信息量大,可挑选余地大,应聘人员素质高,招聘效果好,费用低,获得了越来越多的公司的认可优势,同时它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。

本系统以ASP为主要制作工具,实现了用户注册、登陆、验证身份及用户数据的采集、个人简历的预览查询、搜索/查看用户信息,站内最新工作信息发布,可进入留言本留言从而实现了网站与客户之间的交流和沟通等。

系统功能描述

   网上人才管理系统分为前台管理和后台管理。前台管理包括浏览新闻、职位查询、查看企业信息、维护个人信息等功能。后台管理包括新闻管理、企业信息管理、职位信息管理、应聘信息查询等模块[6]。后台管理具体描述如下:

(1)  新闻管理

◆  添加新闻,包括新闻标题与新闻内容;

◆  修改新闻;

◆  删除新闻。

(2)  企业信息管理

◆  添加企业信息,包括企业名称、企业类型、企业简介等信息;

◆  修改企业信息;

◆  删除企业信息。

(3)  职位管理

◆  添加职位;

◆  修改职位;

◆  删除职位。

(4)  应聘信息管理

◆  查看应聘信息;

◆  删除应聘信息。

(5)  系统用户管理

◆  系统用户的录入,包括用户名、密码等信息;

◆  修改自己的密码;

◆  退出登录状态;

◆  用户信息的查看。

(6)  系统用户管理功能

◆  Admin用户修改自己的密码;

◆  Admin用户创建或删除企业用户;

◆  企业用户修改自己的密码;

◆  企业用户修改自己的用户信息;

◆  注册个人用户;

◆  个人用户修改自己的密码;

◆  个人用户修改自己的用户信息。   

3.2  功能模块的划分

   本系统的功能模块如图3.1所示。

在系统初始化时,有一个默认的“系统管理员”用户Admin,由程序设计人员手动地添加到数据库中。Admin用户可以创建企业用户;个人用户则可以通过注册产生;所有用户都可以修改自己用户信息和密码。


用户管理模块的关系如图3.2所示。

 

 (2) 企业用户管理流程,如图3.4所示。

 

3.4  数据库设计

    数据库技术是实现动态网页技术的必要手段,在信息系统中占有非常重要的地位。数据库的设计好坏将对系统的实现效果产生影响。正确、合理地设计数据库不但可以提高数据库的存储效率,而且还能保证数据的完整性和一致性。

    数据库设计应首先充分了解用户的需求,这不仅包括现在的需求,还包括将来的需求。数据库设计一般包括以下3个步骤:

     ●  数据库需求分析;

     ●  数据库概念结构设计;

     ●  数据库逻辑结构分析[7]。

3.4.1  数据库需求分析

用户的需求具体体现在各种信息的操作方面,主要包括保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。所以,应该收集各种数据,组成一份详细的数据字典,为后面的设计打下牢固的基础。

本系统面向的是浏览用户和系统管理员,所以在数据库需求分析时主要系统考虑这两个方面的因素。对浏览、检索和信息操作;而对于管理员来说,最重要的是方便系统的管理和维护。

根据浏览者用户需求,总结出需求分析如下:

①   注册用户分为企业用户和个人用户;

②   企业用户可以发布自己的招聘信息,修改自身的信息和密码,对发布的信息进行管理和维护,并可以发送和接收在线信息;

③   个人用户可以发布自己的简历,创建、修改自身的信息和自身的密码,接收其他用户发送的信息;

④   每个用户之间可以在线发送留言信息。

由后台管理用户需求,总结出需求分析如下:

  •   管理员对系统的设置信息进行管理;
  •   管理员对用户发布的信息进行管理;
  •   管理员可以修改自己的密码;
  •   管理员可以创建、修改和删除企业用户信息。

3.4.2  数据库概念结构设计

    数据库概念结构设计是将需求分析得到的用户抽象为信息结构即概念模型的过程。它是整个数据库设计的关键。描述概念模型的有力工具是E-R模型。

从上面的需求分析可以绘制出网上人才管理系统E-R图如3.5所示。

 

新闻信息实体E-R图如图3.6所示。

 

个人信息实体E-R图如图3.7所示。

 

个人技能实体E-R图如图3.8所示。

 

 

 

3.4.3  数据库逻辑结构设计

数据库逻辑结构设计是把概念结构设计阶段设计好的基本E-R图向关系模型转换。

通过上面的需求分析和概念结构设计,将数据库的概念结构中的E-R图转换为关系模型如下:

▼  新闻信息表News用来保存网站新闻信息。

    新闻信息实体对应的关系模式为:

    新闻信息表News(新闻编号,新闻题目,新闻内容,提交时间)

▼  个人信息表Person用来保存注册个人用户的基本信息。

    个人信息实体对应的关系模式为:

    个人信息表Person(用户名,用户密码,用户真实姓名,性别,出生日期,身

份证号码,民族,婚姻状况,户籍,所在地,教育程度,毕业院校,联系电话,手机,电子邮箱,联系地址,注册时间)

▼  个人技能表Skill用来保存个人用户的基本技能信息。

    个人技能实体对应的关系模式为:

    个人技能信息表Skill(技能编号,应聘职位,英语水平,计算机技能,主要技

能,用户名)

▼  企业信息表Company用来保存注册企业的基本信息。

    企业信息实体对应的关系模式为:

    企业信息表Company(用户名,密码,企业名称,企业类型,成立时间,联系人

员工人数,所在地点,联系电话,传真号码,联系地址,邮政编码,网址,电子邮箱,企业简介,注册时间)

▼  管理员表Admin用来保存系统管理的基本信息。

    管理员实体对应的关系模式为:

    管理员表Admin(用户名,密码)

▼  职位信息表Job用来保存企业发布的职位信息。

    职位信息实体对应的关系模式为:

    职位信息表Job(职位编号用户名,职位名称,职位类别,学历要求,性别

要求,年龄要求,工作年限要求,工作地点,招聘人数,具体要求,发布时间)

▼  职位申请表Application用来保存注册用户申请职位的信息。

    职位申请实体对应的关系模式为:

    职位申请表Application(申请编号职位编号用户名,申请日期,回复内容,回复日期)

4.1  数据库的实现

通过上面的需求分析、数据库概念设计和数据库的逻辑设计完成了,现在可以对系统创建数据库。本系统使用SQL Server2000数据库,系统数据库名了Job。在数据库中包含了7张数据库表。

      1.  创建系统数据库

在Microsoft SQL SerVer中创建数据库通常有两种方法:一种是在企业管理器中

手动创建数据库;另一种是在查询分析器中使用脚本代码创建数据库。

在本系统中采用的是在企业管理器中手动创建数据库,所创建的数据库名为Job,用来保存本系统的所以数据。创建数据库的步骤如下:

首先,启动Microsoft SQL Server服务管理器 。

其次,在企业管理器中,用右键单击“数据库”,选择“新建数据库”命令,将打开如图4.1所示的对话框。

在对话框中的“常规”页面中输入创建数据库的名称Job,在“数据文件”和事务日志选项卡下分别对数据文件和事务日志文件的信息进行设置,设置完后单击“确定”按钮,即完成数据库的创建了。

4.1.2  创建系统数据表

    根据网上人才管理系统的根据数据库逻辑结构设计,创建的数据库Job中创建7个数据库表,并根据需求对各个表的主键和外键进行设置。在企业管理器的左侧展开创建好的Job数据库,右键单击“表”结点,在弹出菜单中选择“新建表”,打开表设计器,在设计器中输入所要建表的列名、数据类型、长度和允许空等信息。输入完成后,单击“保存”按钮,在弹出的对话框中输入表名,并单击“确定”按钮即创建表完成。此系统所创建的7个表如下:

 

 

 

 

4.2  系统功能模块的实现

至此,已经建好了数据库。数据库建好了后就开始具体的页面设计也即是系统各个功能模块的实现,页面设计分为前台页面设计和后台管理页面设计。为了使系统条理清晰、便于管理。本系统将不同功能的脚本文件存放在不同的目录下[6]。

首先,我们在设计时建一个系统根目录\wwwroot\,在\wwwroot\目录下包含下面的子目录:

  •  \admin\用于存储系统管理员的后台操作脚本,包括新闻管理和企业用户信息管理等功能。

●  \company\用于保存企业用户的操作脚本,包括编辑用户信息和发布职位等。

●  \pic\用于存储网页中的图片文件。

●  \resume\用于存储注册用户的操作脚本,包括注册用户和编辑用户信息等。

其他的ASP文件在本系统的根目录下.

根目录建好后,在系统设计过程中将相应功能的脚本文件存放在相应的根目录下面。

4.2.1  系统主页面及登录程序设计

在本系统中Admin用户、企业用户和个人用户都要通过系统主页面登录,才能完成自己的特定功能。本节将介绍系统主页面和用户登录程序的设计过程。

(1)系统主页面设计

系统主页面文件名为index.asp,保存在系统根目录下,运行界面如图4.2所示。

 

为了方便读者本系统页面,现将网站页面的各部分说明以列表的形式给出如下:

表4.8                        网站主页解析

区域

名称

说明

对应文件

1

旗帜广告区

用于显示页面标题图片和各模块的链接

head.htm

2

最新信息区

用于显示最新新闻列表

left.asp

3

用户登录区

用于各用户登录界面

left.asp

4

本站简介区

用于简介本站

left.asp

5

展示区

用于显示相关操作或其他内容列表

main.asp

6

版权区

用于显示友情链接和版权所有者

bottom.asp

index.asp的主要功能包括:

●  查看最新的新闻;

●  查看最新的招聘信息;

●  查看最新的人才信息;

●  查看最新的企业信息;

●  为登录本站的浏览者简介本站;

●  为各用户提供登录界面;

●  为用户提供一些友情链接。

(2)登录程序设计

管理用户、个人用户和企业用户都可以在index.asp中输入自己的用户名和密码,登录到到系统。登录后,用户才能实现自己特有的功能。这部分代码包含在left.asp中。

程序的设计思路如下:

  •  判断用户是否登录,如果已经登录到系统,则显示用户信息;
  •  如果没有登录,则显示登录的表单。

登录表单的定义代码如下:

<form method=”POST”action=”putSession.asp”>

</form>

当数据提交后,执行putSession.asp,把用户信息保存在Session变量中,然后把网页转向到index.asp中。当再次执行left.asp时,程序将接受用户信息,进行身份验证。如果通过身份验证,则进入相应管理页面。

(3)查看所有信息

在系统首页的上方,有一个链接条,包括主页、职位信息、企业信息、人才和职位查询等链接。因为首页中只能显示最新添加的7条职位信息、企业信息、人才信息,所以需要通过单击“职位信息”、“企业信息”、和“人才信息”这3个链接,才能查看到所有信息。

查看这3种信息的脚本都是Information.asp,参数m表示要查看的数据标识。M=0表示查看职位信息,m=1表示查看企业信息,m=2表示查看人才信息。

读取并显示相关数据的代码如下:

<%

  Dim flg,sTitle,sql

  flg = Request.QueryString("m")

  If flg=0 Then

    sTitle = "职 位 信 息"

    sql = "Select * From Job Order By PostTime Desc"

  ElseIf flg=1 Then

    sTitle = "企 业 信 息"

    sql = "Select * From Company Order By PostTime Desc"

  Else

    sTitle = "个 人 信 息"

    sql = "Select p.*,s.* From Person p,Skill s Where p.UserName*=s.UserName Order By p.PostTime Desc"

  End If

  Set rs = Server.CreateObject("ADODB.RECORDSET")

  rs.Open sql,Conn,1,1

%>

(4)查看职位信息

个人用户经常需要从众多职位信息中查询自己关注的内容。在系统首页的链接条中单击“职位查询“,将打开Search.asp,查询职位信息。如图4.3所示。

 

查询条件可以是职位名称、职位类别、工作地点、公司名称和主要技能等。当用户提交时,将执行SearchRlt.asp,实现查询并显示结果。

在SearchRlt.asp中,程序将首先读取从Search.asp中传递来的数据。下拉菜单slt的值决定查询的条件,slt=title表示查询职位名称,slt=type表示 查询职位类别,slt=location表示查询工作地点,slt=company表示查询公司名称,slt=main表示查询技能。文本域key的值表示查询关键字。根据slt和key生成相应的select语句的代码如下:

<%

  Dim sltCnd,sql,sKey

  sltCnd = Request("slt")

  sKey = Request("key")

  If sltCnd="title" Then

    sql = "Select * From Job Where Title like '%"&sKey&"%' Order By PostTime Desc"

  ElseIf sltCnd="type" Then

    sql = "Select * From Job Where Type Like '%&sKey&%' Order By PostDate Desc"

  ElseIf sltCnd="location" Then

    sql = "Select * From Job Where WorkPlace Like '%"&sKey&"%' Order By p.PostTime Desc"

  ElseIf sltCnd="company" Then

    sql = "Select j.*,c.* From Job j,Company c Where j.UserName=c.CName And c.Company Like '%"&sKey&"%' Order By j.PostTime Desc"

  ElseIf sltCnd="main" Then

    sql = "Select * From Job Where Comment like '%"&sKey&"%' Order By PostTime Desc"

  End If

%>   

在SELECT语句中,使用LIKE将字段值与关键字匹配,这样可以实现模糊查询。

未完待续。。。 

猜你喜欢

转载自blog.csdn.net/axingxiansen/article/details/130004592