网上求职与招聘系统惠民在线第一部分项目意义及特点设计开发一个关于人才与招聘的系统,其根本意义就在于要实现求职人员和用人单位的互利和双赢。网上人才与招聘系统就是致力为双方提供了一个便利的信息交流和应用平台。从设计的角度来看,这是一个功能为本、性能为辅的网站。从实现的角度来看,本网络系统具备信息量大、速度快等基本的性能,使用方便。在性能方面,不一味的依赖于硬件,是从数据库管理和程序设计上入手,结合实际网络环境,优化整个系统的运算和信息流通速度。开发时注意到性能与易用性、易维护性之间的平衡。第二部分项目功能从使用者身份以及数据和信息两个方面着手去考虑,本人介绍数据和信息部分。网站管理员数据主要包括管理员的登录名、登录密码等重要数据,该种数据比较独立,只有管理员登录检查时才能使用到。新闻数据是存储管理员要发布的新闻信息所用到的,包括新闻标题,具体内容等部分。注册求职者用户数据包括用户登录名、登录密码等数据,以及构成一份简历所需要的各种数据出于隐私的理由,这些信息只能由确认开通了的企业用户查看得到,一般客人甚至其它的注册求职者都不可能通过正常途径访问到注册企业用户数据同样包括登录名、登录密码等数据,以及关于企业的各种属性、联系方式、介绍等企业数据这些企业信息是公开的,任何用户都能通过某种方式查看得到职位数据每个职位都是属于一个特定的企业的,因此它首先应包含它所属于的企业的标识。另外的,就是关于这个职位本身的属性、介绍等数据这些信息也能被所用身份的使用者通过某种方式获得,这是整个网络人才招聘系统处于最中心的数据注册求职者用户申请职位数据和收藏夹数据这与个人求职相关,包括求职者用户标识、职位标识等注册企业用户招聘邀请数据和收藏夹数据这与企业招聘相关,包括企业用户标识,求职者标识等。第三部分项目开展本人完成的部分在系统开发的过程中,本人主要完成了资料搜集分析,数据库结构设计、网站框架设计、ASP代码的编写、测试、数据库维护等等,同时也参与进行了网页设计,资料录入等工作。完成的模块主要有数据库存储过程设计,企业用户的注册、登录和各项功能设计,网站管理员功能的设计编写,以及主页新闻、招聘信息的显示和管理等。数据库的设计与应用一般来说,存储各种使用者、职位、新闻的信息和自身属性、描述信息的可以独立建立一张数据表,既是系统用户登录信息的保存地方,也是查看招聘、人才信息的来源。对于求职者用户、企业用户和职位这几种信息类型来说,它们里面包含了一些重要的需要交互属性项,而这些属性项应该是一种可供选择的内容,如求职用户中,用户简历里面的户籍、主修专业、外语,这些属性不仅是查看是考虑的因素,更主要的是他们是提供用户查找信息的依据。从程序设计的角度上看,那些数据是不能由用户任意输入的,只能通过选择系统提供的选项输入到数据表里面。对于这些交互属性内容,本系统建立了一张数据表用于其属性内容的存储,同时对这些内容分门别类,即同时要存储属性类别信息。在求职者用户中,收藏夹和申请职位信息有大部分内容都是相同的,都要存储求职者用户标识、职位标识、加入时间等,所不同的只是他们所被应用的场合不同而已。所以将这两类信息合成到一张数据表中,而通过为每条这样的信息增添一个标识其用途的字段就可以实现数据存储。在处理企业用户方面,也把收藏夹和招聘邀请信息都统一到一张表中,通过一个特殊字段来作出区分。部分数据表的设计方法resumeinfo表存储注册求职者用户登录信息和简历信息得表,所以它主要也是包括了这两部分的内容。要实现求职者用户的注册、登录,分别就要有用户名和登录密码这两个字段,用username和passwd来做列名,而且都是字符型的。但是,无论在数据库结构和程序编写的角度上看,都不应直接用username来做记录的标识和主码,这会对降低程序的效率和增加容量的消耗。因此要建立一个整形的标识列来作为resumeinfo表的主码,这里用resume_id来作为列名,int类型。表中其余的部分用来存储简历信息,其中有些字段是存储可选择属性的,如“户籍”,“最高学历”,“专业类别”,“外语”,“应聘岗位”等等。在网站设计中,每当注册用户登录成功进入管理页面后,可得到一个关于该用户的统计信息,统计了点击次数、收藏夹、职位申请、应聘邀请的条目总数。这些统计信息可以通过显示页面时访问相关表统计来得到,但每次都要这样再次查表效率太低。attribute表这是用于存储各交互属性内容的数据表主要实现两种信息的存储:属性名和属性类别。引入了标识列attr_id来作为主码,而attr_name是表示属性名字,属性类别由于已经有attr_category表来存储属性类别的名字,因此这里只需存储属性号,也即attr_category的主码,在这里作为attrbute表的外码。application表这是用于存储注册求职者用户收藏夹内容和申请职位情况的数据表application表要实现的功能比较多,如存储求职者的职位收藏,职位申请,企业用户查看的应聘申请等等。这些信息都要集中到一个表中关键是要引入用于区分这集中信息的字段。这里用一个整形的status字段来表示这几种功能。求职者用户和企业用户对status字段进行不同的操作就能得到不同结果,同时查找时只用根据status字段的值作出判断,就能得到所期望的结果。数据库管理系统的应用本网络人才招聘系统使用的后台数据库管理系统是SQLServer,充分利用了SQLServer提供的特性来提高系统管理和执行的效率。第一,是利用了SQLServer本身比较完善的完整性控制,其中最主要的是使用了它的参照完整性控制,也就是对外码的支持。第二,是利用了SQLServer所支持的存储过程特性。存储过程是一段已编译好的Transact-SQL代码,是独立的数据库对象,它为整个系统的执行速度和模块化管理提供极大的好处。第四部分难点和关键技术各种交互属性的显示上面提到过,有必要将一些关键的交互属性存储到数据库中,利用程序进行应用中动态的显示和处理,这增加了程序编写的难度。譬如,在求职者注册时,可通过访问数据库把这些属性显示出来,构成选项,但在修改信息的时候,就需要把这些属性和存储的属性作比较,来达到修改信息时默认的内容是当前存储的。利用ASP和JavaScript的配合,可以有效地管理这些交互属性,例如ASP实现属性项的显示与比较,JavaScript实现属性项的转换等。信息的查询和分页显示这里的“信息查询”主要指职位搜索和人才搜索,由于涉及的搜索项目比较多,有些交互属性又有层次之分,再配合分页显示的话,也是一个较大的难点。通过优化数据库结构来达到优化ASP程序的目的。在进行搜索前,先把搜索项目都存在session变量中,这样就能较好的实现搜索结果的分页显示,这是由ASP程序的特点及其分页技术所决定的。应聘和招聘功能企业用户和个人用户在的某些操作可能同时使用到相同的数据表对信息的同步问题提出了较高的要求通过前期功能的规划以及优化ASP代码来实现这些功能的有效操作。第五部分部分程序分析而在用户属性信息输入中,则要利用ASP和JavaScript的配合来实现交互属性的显示和提交,例如在输入简历的文件newresumeform.asp中,对于求职者用户的户籍属性,要利用以下一段ASP代码将属性项循环添加到select表单项中。但为程序编写起见,其中的选项的value值是属性项的编号,在提交表单时利用JavaScript把选项的真实内容同时提交到下一个处理网页。职位查询的实现方式本系统提供的查询项有专业、岗位、学历要求、人才类型、工作类型、工作地点、发布时间、关键字等。由于查询的结果可能很多,有必要实现分页显示,那么查询项应该存在session变量中,而不能直接用POST等方法交到查询网页中去。只能把查询项存起来再跳转到真正执行查询和分页显示的页面中去。由于关键字查询是可选的,为免每次都要比较关键字导致性能下降,所以分开带关键字和不带关键字的搜索,存储过程也是根据这样分开编写。有关招聘人才模块的实现方式对于某个企业用户来说,凡不存在于employintent表中的求职者都可进行加入收藏夹、提出招聘邀请两项操作。在上面的两项操作中,加入收藏夹不需要指定某个职位,但提出招聘邀请则必选指定一个该企业所发布职位。对于已加入成为收藏的求职者,可以选择从收藏夹中删除或进一步提出招聘邀请这两个操作,不能再次加入到收藏夹的操作。对于已发出招聘邀请的职位,不能再进行加入收藏和提出招聘邀请操作,而且只有已被求职者回复的记录才能执行删除操作。同时,如果企业意向的某个求职者已向该企业选择的职位发出了职位申请,那么该次招聘邀请也会失败,当提示企业用户查看管理页面中“已收到的应聘”的内容。对于求职者发来的应聘信息,可与选择“接受”和“拒绝”两项操作,但不能删除。第六部分总结与体会通过这次对招聘就业网系统的开发,是对我开发系统、软件编写能力的一个考验,当中除了要不断运用各种已学过的知识外,还要不断研究参考各种课外的和最新的计算机知识,这样才能实现一个功能丰富而且高效的网络系统。在系统的开发中,有些技术如存储过程,JavaScript等的运用对系统的速度和使用的易用性、友好性方面有很大的帮助,这是今后在开发类似网站的时值得借鉴和发扬的地方。更重要的是,这是一个两人小组合作开发的网络系统,对于培养工作中的团队合作精神有很大的帮助,因为以后实际工作,特别是从事计算机相关工作,团队精神是最重要的。