毕业论文网上招聘求职系统设计33870.doc
信息系统分析课程设计题 目: 网上招聘求职系统 姓 名: * 学 号: * 学 院: 信工院 专 业: 信息管理与信息系统 年 级: 2008级2班 指导教师: * 2011 年 1 月 12 日目 录第一章 绪论31.1 项目背景31.2 本课题的研究意义3第二章 需求分析42.1 功能概述42.2 系统结构42.3 主要模块说明42.4 运行环境5第三章 整体设计63.1设计的目的及背景63.2 主要技术63.2.1 ASP(Active Server Pages)63.2.2 HTML(Hyper Text Markup Language)63.2.3 SQL(Structured Query Language)73.2.4 ADO(ActiveX Data Objects)73.2.5 COOKIE73.2.6 分页显示83.3 数据库设计83.3.1 单位招聘登记数据表83.3.2 单位资料数据表83.3.3 地区编码数据表93.3.4 个人求职登记数据表103.3.5 个人资料数据表103.3.6 求职接纳数据表113.3.7 求职信息订阅登记表113.3.8 学历编码数据表113.3.9 英语水平数据表113.3.10 招聘接纳数据表113.3.11 招聘信息订阅登记表123.3.12 专业编码数据表12第四章 模块设计124.1 用户注册与登录模块124.1.1 概述124.1.2 设计流程134.1.3 模块流程图144.2 成员在线管理资料模块144.2.1 概述144.2.2 设计流程154.2.3 模块流程图164.3 刊登求职招聘信息模块164.3.1 概述164.3.2 设计流程174.3.3 模块流程图184.4 查询求职招聘信息模块184.4.1 概述184.4.2 设计流程194.4.3 模块流程图194.5 显示招聘应聘信息模块204.5.1 概述204.5.2 设计流程214.5.3 模块流程图21参考文献:22第一章 绪论1.1 项目背景如今大学生求职途径越来越多,从传统的校园招聘会、推介会到网络求职、各职业中介及社会人才招聘会。由于如今大学生上网途径非常便捷,使得网络招聘成了异军突起深受大学生广泛欢迎的求职方式。 据毕业生就业信息网的一个调查显示,分别有38%和26%的人选择了校园招聘会和网络求职作为自己的首选求职方式。且远高于其他的求职渠道。而据统计,约有九成以上的毕业生通过浏览招聘网站或者在网上发布自己的求职信息来寻找工作。许多毕业生也表示由于学校的课程还没有完全结束,不可能整天在外面找工作,而现在几乎每个寝室里都有电脑,不上课的时候在寝室里上网找找工作很方便,另外,由于写毕业论文的需要,经常要上网查查资料,顺便也就浏览一下各种招聘网站,看看有没有合适的工作,这种方式既省时又省力。 近年来由于网络的不断普及,招聘类人才网站越来越多。而网络求职有其突出的优点,即信息量大,资源丰富,更新速度快,招聘职位多等,很符合年轻人希望以最快捷便利的方式获得最多最有效信息的求职要求。1.2 本课题的研究意义近年人才市场的活跃和大企业对高素质人才的需求殷切,无疑为招聘网站的生存和发展提供了广阔的空间。与其他传统的人才中介相比,网上招聘具有低成本、大容量、速度快和强调个性化服务的优势。他允许更加灵活的交互方式,提供更丰富的信息资源。网上招聘在国外已成为颇为流行的求职招聘方式,因而在国内也迅速受到外企、私企和一些大型国企的青睐,很快就成了人才市场上的一匹黑马。与其他商业网站相比较,人才招聘网站可以在网上实现供求双方的对接,回避了一般电子商务中货币支付、货物配送等问题,通过直接向招聘企业收费来取得稳定的盈利。目前,全国最大的招聘网站无忧工作网每天更新的招聘信息达2000多条,上网投递的求职简历达2万多份。整个职位信息库保持有效招聘信息达7万多条近30万个空缺职位。世界财富500强企业有200家成为其长期客户。最新的统计数据表明,全国数十家人才网站每月发布的招聘职位都在万数以上,日访问量平均超过1万人次。业内人士也指出,目前美国最大的招聘网每年赢利2亿美元,相信国内招聘网站随着网络应用的普及和观念的转变,将有相当发展潜力。第二章 需求分析2.1 功能概述网上招聘求职系统就是一个网上虚拟的职业介绍所,具备现实中人才中介机构的功能,是现实中的程序在网上系统中的反映。可以为个人用户提供需要的求职与招聘的信息,也可以为单位用户提供需要的人才信息,可以说是两者联系的一种重要渠道。该系统主要是按照用户注册、登陆、接收系统的服务这样一个网站例行的服务顺序程序来设计系统流程和文件架构。其中系统提供的服务应该包括刊登求职招聘信息、查询求职招聘信息、修改求职招聘信息、显示求职招聘信息、修改资料、删除资料、注销用户等功能。2.2 系统结构2.3 主要模块说明1. 用户注册模块:包括个人与单位用户的注册。2. 成员在线管理资料模块:其下包括三个子模块:修改资料模块:用户可以对本人资料进行修改。删除信息模块:用户可以删除原有的求职或者招聘信息。注销模块:用户可以注销所有资料。3. 刊登求职招聘信息模块:用户注册登录后,需要刊登个人或者单位所需的信息,以供其他用户查询。4. 查询求职招聘信息模块:方便用户查询各种信息,包括人才搜索和单位信息搜索。个人用户可以应聘某家单位,给该单位发送个人资料;也可以接受单位的招聘信息,与该单位联系。单位用户可以选择是否接受某用户的应聘请求,也可以选择适合的人才进行招聘。5. 显示受聘应聘信息模块:提供单位与个人用户之间的交互,即提供用户接受和发送信息的服务。2.4 运行环境1 服务器运行环境:操作系统: Windows NT 4.0 或Windows 2000 或以上版本www服务器:Internet Information Server 5.0 或以上版本2 客户端运行环境:浏览器: Internet Explorer 5.0 或以上版本3 硬件要求:CPU Pentium 以上,内存32 M以上,具备能连通互联网的条件。第三章 整体设计3.1设计的目的及背景需求分析阶段获得的对欲实现系统的信息、功能、行为方面的描述,这是软件设计的基础。对此采用任一种软件设计方法都将产生系统的总体结构设计(architectural design)、系统的数据设计(data design)和系统的过程设计(procedural design)。数据设计是把信息描述转换为实现软件所要求的数据结构;总体结构设计旨在确定程序各主要部件之间的关系;过程设计完成每一部件的过程化描述。3.2 主要技术3.2.1 ASP(Active Server Pages)ASP技术是目前网站应用中的核心技术,也是目前流行的3P技术中应用最广泛的一种。3P技术分别是:ASP(Active Server Pages)、PHP(Personal HomePage)和JSP(Java Server Pages)。ASP是微软公司的产品,JSP最初是SUN公司推出的,PHP是由一个网络小组开发和维护的。目前最常用的是ASP和JSP。Microsoft Active Server Pages 即我们所称的 ASP ,其实是一套微软开发的服务器端脚本环境, ASP 内含于 IIS 3.0 和 4.0 之中 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP 程序其实是以扩展名为 .asp 的纯文本形式存在于 WEB 服务器上的,你可以用任何文本编辑器打开它, ASP 程序中可以包含纯文本、 HTML 标记以及脚本命令。你只需将 .asp 程序放在 WEB 服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过 WWW 的方式访问 ASP 程序了。在创建动态、交互式站点方面,ASP功能强大、处理方式灵活;由于ASP脚本语言是由服务器端来解释和运行,动态生成普通的HTML页面,然后再传送到客户端供浏览,因而对客户端浏览器要求相对较低,并不要求其必须支持特定的某些脚本语言如JavaScript、JScript、VBScript、Perl 等等;由于传送到客户端的只是解释后的TML页面,因而有效地保护了页面开发者的知识产权。3.2.2 HTML(Hyper Text Markup Language)HTML语言,又称超文本标记语言,是英文Hyper Text Markup Language的缩写。HTML语言作为一种标识性的语言,是由一些特定符号和语法组成的,所以理解和掌握都是十分容易的。可以说,HTML语言在所有的计算机编程语言中是最简单易学的。 组成HTML的文档都是ASCIlI档,所以创建HTML文件十分简单,只需一个普通的字符编辑器即可。如 Wndows中的记事本、写字板都可以使用。也可以采用专用的 HTML 编辑工具:如 CoffeeHTML、 Homesite、 HTMLedit Pro等工具,它们的特点是能够自动检查HTML文档中的语法错误并协助改正。由于有了图形化的HTML开发工具,使得我们学习HTML更加容易,我们可以先用它制作好网页,再在它附带的HTML代码编辑器在删去那些无用的代码,利用它的所见即所得特性,从而使我们很快就能熟练地掌握HTML。3.2.3 SQL(Structured Query Language)SQL是用于访问数据源的面向结果的查询语言,用于查询、插入、更新以及改变数据库的结构。现在SQL已成为了一种公众标准,它是一种最广泛使用的从数据库中获取信息的方法。3.2.4 ADO(ActiveX Data Objects)我们在WEB服务器上运用WEB应用程序进行的最常见和最实用的任务就是访问服务器端的数据库。而ASP内建的Database Access组件使得我们能够轻而易举地通过ActiveX Data Objects(ADO)访问存储在服务器端的数据库或其他表格化数据结构中的信息。ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server页面上。可以使用ADO去编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和OLE DB兼容的数据源,这样ASP程序员就可以访问任何与ODBC兼容的数据库,包括MS SQL SERVER、Access、Oracle等等。如果您是一个对数据库连接有一定了解的脚本编写人员,那么您将发现ADO命令语句并不复杂而且容易掌握。同样地,如果您是一个经验丰富的数据库编程人员,您将会正确认识ADO的先进的与语言无关性和查询处理功能。熟悉VB数据库编程的朋友会发现ADO与RDO(Remote Data Objects)有某种类似的地方。但据说ADO的访问的速度更快,内存需要更小。3.2.5 COOKIECookie 其实是一个标签,当你访问一个需要唯一标识你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记。每个 WEB 站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的 Cookie 与其他所有站点的 Cookie 存在同一文件夹中的不同文件内(你可以在 Windows 的目录下的 Cookie 文件夹中找到它们)。一个 Cookie 就是一个唯一标识客户的标记,Cookie 可以包含在一个对话期或几个对话期之间某个 WEB 站点的所有页面共享的信息,使用 Cookie 还可以在页面之间交换信。Request 提供的 Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值。这项功能经常被使用在要求认证用户密码以及电子公告板、WEB 聊天室等 ASP 程序中。3.2.6 分页显示如果你使用过目前众多网站上的电子公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目的帖子数,譬如 20 条。将数据库的查询结果分页显示,方法主要有两种:一、将数据库中所有符合查询条件的记录一次性的都读入recordset中,存放在内存中,然后通过ADO Recordset对象所提供的几个专门支持分页处理的属性:PageSize(页大小)、PageCount(页数目) 以及AbsolutePage(绝对页) 来管理分页处理。 二、根据客户的指示,每次分别从符合查询条件的记录中将规定数目的记录数读取出来并显示。 两者的主要差别在于前者是一次性将所有记录都读入内存然后再根据指示来依次做判断分析从而达到分页显示的效果,而后者是先根据指示做出判断并将规定数目的符合查询条件的记录读入内存,从而直接达到分页显示的功能。 我们可以很明显的感觉到,当数据库中的记录数达到上万或更多时,第一种方法的执行效率将明显低于第二种方法,因为当每一个客户查询页面时都要将所有符合条件的记录存放在服务器内存中,然后在进行分页等处理,如果同时有超过 100 个的客户在线查询,那么 ASP 应用程序的执行效率将大受影响。但是,当服务器上数据库的记录数以及同时在线的人数并不是很多时,两者在执行效率上是相差无几的,此时一般就采用第一种方法,因为第一种方法的 ASP 程序编写相对第二种方法要简单明了得多。3.3 数据库设计各表具体设计如下:3.3.1 单位招聘登记数据表字段名称数据类型主键招聘记录ID自动编号*单位ID数字招聘职位名称文本联系人文本联系电话文本要求专业文本要求学历数字要求最小年龄数字要求最大年龄数字要求视力状况数字要求身高数字要求工作经验数字要求性别文本要求英语水平数字待添加的隐藏文字内容3工作地点文本招聘人数数字月薪酬文本备注文本登记日期日期/时间3.3.2 单位资料数据表字段名称数据类型主键单位ID自动编号*用户名文本密码文本单位名称文本单位性质文本所在地区文本地址文本邮政编码数字联系人文本单位主页文本电子邮箱地址文本电话文本传真号码文本单位简介文本招聘登记数数字登记日期日期/时间最近登录日期日期/时间3.3.3 地区编码数据表字段名称数据类型主键地区ID自动编号*地区文本3.3.4 个人求职登记数据表字段名称数据类型主键求职记录ID自动编号*人才ID数字要求单位性质文本要求单位所在地文本职位类型文本要求月薪文本其它要求文本登记日期日期/时间3.3.5 个人资料数据表字段名称数据类型主键人才ID自动编号*昵称文本真实姓名文本密码文本性别文本年龄数字政治面貌文本户口所在地文本婚姻状况文本身高数字视力状况数字所学专业文本毕业学校文本最高学历数字英语水平数字其它外语文本工作经验数字电子邮箱地址文本住址文本邮政编码数字电话号码文本BP机文本个人简介备注求职登记数数字登记日期日期/时间最近登录日期日期/时间3.3.6 求职接纳数据表字段名称数据类型主键人才ID数字*单位ID数字*登记时间日期/时间3.3.7 求职信息订阅登记表字段名称数据类型主键编号自动编号*单位ID数字电子邮箱地址文本订阅专业类型1文本订阅专业类型2文本订阅专业类型2文本登记日期日期/时间3.3.8 学历编码数据表字段名称数据类型主键学历ID数字*学历文本3.3.9 英语水平数据表字段名称数据类型主键英语水平ID数字*英语水平文本3.3.10 招聘接纳数据表字段名称数据类型主键招聘记录ID数字*人才ID数字*登记时间日期/时间3.3.11 招聘信息订阅登记表字段名称数据类型主键编号自动编号*人才ID数字电子邮箱地址文本订阅专业类型1文本订阅专业类型2文本订阅专业类型3文本登记日期自动编号3.3.12 专业编码数据表字段名称数据类型主键专业文本*第四章 模块设计4.1 用户注册与登录模块4.1.1 概述在获取现实的职业信息机构服务时,可能被要求先登记自己的情况,完成后被给予证明单据,然后可凭此享受该机构的服务。在本系统中,用用户注册与登录模块来完成新用户基本情况登记或验证是否已注册。用户注册一个新的用户名(ID或叫昵称),在输入相关个人信息及设定密码后完成注册,并在下次以用户名和密码可直接登录系统。系统功能的实现主要包括三个方面:1. 设计前端注册与登录表单,以便用户可以提交相关资料,完成与系统的交互,实际上这是用户界面的设计。2. 用户信息与密码在服务器端存储,可利用文件或数据库存储数据,在已注册用户登录时通过检索来实现用户认证,同时存储的数据也是整个系统的核心,在后面的用户信息查询中还有重要作用,这里先考虑在登录时的运用。3. 用ASP来桥联上述二者,编写ASP程序,加入相应的页面,在用户注册时,获取提交的信息存入文件或数据库中,而在用户登录时根据其ID及密码在文件或数据库中进行检索,与存在的数据段进行比较,判断是否存在或正确。综上所述,本模块的技术要点在于:表单设计、数据库设计以及利用ASP实现数据的存入与查询。4.1.2 设计流程本系统的处理流程,主要分为两条线:一为注册,一为登录。前者是后者的前提,即用户需要在注册后才可以登录,而已注册用户可以直接登录,所以,首先要判断用户是否注册。处理用户注册过程是一个顺序结构(当然也要提供用户随时放弃注册返回主页面的链接),在完成后返回登录界面便于用户登录。注册时先要求输入用户名,同时由于个人或企业提交的内容差异较大而要求选定用户类型,并且提交不同的程序处理。用户名选定成功以后,即与已注册用户ID不冲突的情形下,应用ASP程序生成表单提供给用户输入资料,接下来将提交的资料进行存储,到此完成注册过程,返回主页面。用户登录过程,实际上是验证由用户ID及密码组成的标识的唯一性及可靠性。用户在输入ID及密码并在选定用户类型之后,提交给相应的ASP程序进行数据的检索来进行认证。完成身份验证后,再根据不同的用户类型(个人或者单位)来提供不同的服务,具体的服务功能将在后面描述。4.1.3 模块流程图4.2 成员在线管理资料模块4.2.1 概述在成员在线管理资料这样的有代表性的典型系统中确认和管理成员是一件比较棘手的事情,比如电子商务系统中的“购物车”等都是需要这样的一种机制能够方便的确认成员的身份。这里采用一种被称为“COOKIE”的机制来实现。作为一个会员性质的人才市场系统,提供给成员方便的资料管理系统是不可能缺少的。昨晚一个网络应用系统,在线管理资料应该是该系统的特色。根据对于人才市场常用功能的分析,可以划分出如下的资料管理功能:1 注销用户(Del_echo1.asp)如果成员打算退出,应该将无用的数据注销掉。2 删除资料(Del_echo2.asp)信息已经过期,或者是其他原因,应该提供删除无用信息的功能。3 修改资料(update_echo.asp)如果单位、个人的注册信息有变,应该提供灵活的修改机制。4 修改信息(Up_echo2.asp)单位、个人应该可以提交新的招聘、应聘信息。因为,作为单位用户,需要经常修改已经发布的招聘信息,以适应本单位的发展需要;对于个人用户,可能由于自身条件的变化,也需要修改已经发布的应聘信息。4.2.2 设计流程4.2.2.1 注销用户模块(Del_echo1.asp)该模块询问用户是否继续进行操作,如果进行则调用deletetalent.asp(个人用户)或者是deletecompany.asp(单位用户),来注销用户。4.2.2.2 删除资料模块(Del_echo2.asp)在该模块中将根据用户的类型来调用不同的处理程序。由于这种操作具有不可逆转性,所以应该有相应的提示信息来警告用户这种操作的危害性,这个功能是由del_job.asp(单位用户)或者del_talentjob.asp(个人用户)来实现的。显示过警告信息后,将调用删除资料处理程序deletejob.asp(单位用户)或者deletetalentjob.asp(个人用户)来进行资料的删除。4.2.2.3修改资料模块(update_echo.asp)该模块功能是允许用户修改个人或者单位的注册信息,基本思路是根据用户的ID从数据库中提取用户的注册信息显示在网页中,然后由用户进行修改,确认后进行提交。接着,相应的处理程序将用户修改后的资料重新写入数据库中,完成资料的更新操作。个人用户部分的代码功能如下:up_talent.asp功能是显示个人用户注册资料,供用户进行修改。Updatetalent.asp是将修改过的个人信息更新至数据库。单位用户的代码功能如下:up_company.asp功能是显示单位用户注册信息供用户进行修改。Updatecompany.asp功能是修改过的单位信息更新至数据库。4.2.2.4 修改信息模块(Up_echo2.asp)该模块的设计思路与修改注册信息部分一样,根据用户的ID从数据库中提取发布的信息显示给用户,然后用户进行修改、提交,并由相应的处理程序将数据写入数据库中,完成修改信息的全过程。修改信息之前,首先验证用户的身份,程序Up_echo2.asp的作用就是验证用户的身份是否合法,如果不合法,则显示相应的警告信息;如果合法,则根据不同的用户类型调用相应的显示程序。 if session("usertype")="talent" then Response.Redirect "up_talentjob.asp" else Response.Redirect "up_job.asp" end if上面的代码首先判断usertype的值,然后重新定位到不同的页面,对于个人用户调用了up_talentjob.asp程序,对于单位用户调用up_job.asp程序。用户的up_talentjob.asp程序与前面一样,页面首先声明使用的脚本语言,加入包含文件等,然后判断是否为合法用户。用户修改提交后即可调用updatetalentjob.asp程序进行数据库的更新操作。单位部分与用户部分基本相同,up_job.asp程序功能是显示单位用户刊登的招聘信息,updatejob.asp程序进行数据库的更新操作。4.2.3 模块流程图4.3 刊登求职招聘信息模块4.3.1 概述成员(包括个人和单位用户)注册以后需要刊登自己或者单位所需的信息。作为个人用户需要刊登求职信息,作为企业用户需要刊登招聘信息。可见成员在线刊登信息模块在整个人才市场系统中的重要地位。设计过程中应该考虑到的有如下两个问题。首先是用户的分类问题。因为本系统的用户分为个人和单位用户,他们要求刊登的信息是不同的一个为求职信息,一个为招聘信息。但是,作为一个系统,易用性是首先要考虑到的,这就是说应该尽量采用一致的界面。这就在技术上带来了问题。这里我决定采用一致的登录界面,然后利用Session对象来区分不同的用户类型,这样就可以分别输出不同的刊登信息界面。其次是数据库的结构,对于个人用户来说,进入在线刊登信息页面,要发出自己的个人求职信息,包括要求单位的性质、所在地、要应聘的职位和要求的月薪等。根据这个需要可以设计个人的求职登记数据表。这些信息都可以作为字段。由于以上各个属性都不能保证唯一性,所以还要指定一个字段“人才ID”作为这表的键。同样对于单位用户要刊登自己的招聘广告,这方面信息应该包括单位名称、招聘职位,对应聘人的年龄、视力、身高、英语水平的要求,还应该包括联系人、联系地址等各方面的信息。根据这个需要可以设计单位的招聘登记数据表。同样也要添加一个字段“单位ID”作为这表的键。因此该模块主要涉及到两个数据表:“个人求职登记”和“单位招聘登记”。他们分别通过“人才ID”和“单位ID”来同其他的表相互关联,涉及到的表分别是个人资料和单位资料数据表。之所以这样做是因为如果单纯将所有的资料放到一个表中会造成数据的冗余,并且由于设计的不合理会造成插入、删除等操作无法完成。4.3.2 设计流程本模块的基本思想是:首先,用户登录系统(这是必要的,因为非合法会员不应该有这种权利)。等到认证的时候,根据用户的种类(个人还是单位)显示不同的刊登信息界面。最后,提交处理程序进行数据库写入操作。用户登录,提交给In_echo.asp程序处理,然后建立与人才交流数据库的连接,再根据用户类型搜索数据库,检查用户是否存在。如果出错,则通过Session对象通知用户,如果登录成功则通过Command对象更新数据库。最后关闭数据库对象,重定位网页。个人刊登信息显示页面Person2.asp,相应显示的信息是一般的常用信息,为了应付各种可能出现的情况,增加了附加信息项以满足不同用户的需要。单位刊登信息显示页面Company2.asp基本同个人刊登信息显示页面一致。用户(个人和单位)填完注册信息,需要提交给处理程序(分别对应newTalentjob.asp和newJob.asp),处理程序将首先将数据写入数据库中,然后更新登录计数,完成信息处理的任务。4.3.3 模块流程图4.4 查询求职招聘信息模块4.4.1 概述网上人才市场作为一种虚拟世界的人才中介机构,虽然有着自己的独特之处,但是与现实世界中的人才市场的运行机制基本上是一样的。前面已经完成了人才市场的注册与登录部分,作为一个完整的人才市场系统,它的功能是否强大关键在于信息的查询功能是否出色。网上人才市场提供的重要功能之一就是方便用户查询各种信息。接下来设计的就是人才市场系统中的信息查询模块。信息查询模块需要考虑用户界面、输入验证、模块化设计、可扩充性和访问控制等许多方面。根据上面的设计思路,可以得到该子模块的流程。为了避免数据冗余和由于设计的不合理造成插入、删除等操作无法完成的问题,要把相关紧密的数据放入一个表中。推荐的原则是:在一个数据表中最好只存在一个主键。即只存在如下关系:主键其他字段。通过数据库搜索动态提取查询条件的信息。提供最大化的搜索条件,以便满足不同用户的需要。用户的选择只是一个粗略的东西,还需要进行组合生成数据库可以辨认的查询语句。根据用户的输入组合生成查询语句,尤其是在输入比较复杂的情况下处理,需要使用相关的SQL语句。4.4.2 设计流程个人查询信息首页PCHECK.ASP从数据库中提取数据生成网页元素,然后由用户进行选择。用户的选择只是一个粗略的东西,还需要进行组合生成数据库可以辨认的的查询语句,提交给FINDPERSON.ASP程序根据搜索条件进行人才搜索,结果由SHOW_TALENT.ASP显示出来(搜索到的人才信息)。其中还要显示给个人用户的应聘按钮和详细信息按钮。由于考虑到搜索时可能产生信息量很大的情形,如果同时显示在同一个页面内,不仅将大大耗费系统资源,同时也会造成浏览上的不方便,为此需要采用前面提到的分页显示技术。运用Recordset属性来达到分页显示的目的要做到:首先,为Pagesize属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount属性来确定记录的总数;再用记录总数除以Pagesize就可以得到所显示的页面总数:最后通过AbsolutePage属性就能完成对指定页的访问。而信息检索过程中势必要涉及到大量的信息,检索过程中如果将所有的信息都显示在同一个页面中(即使使用了分页显示技术),势必会造成信息显示的冗余和页面的不整洁。为此,采用详细信息分别显示的方法,在检索结果页面中对于每一条记录需要设计一个按钮,用来触发详细信息显示模块。检索结果页面中,仅仅显示相关信息的概貌,通过向详细信息显示程序传递记录的ID来显示信息。综上所述,这个设计流程中主要涉及到了分页显示、详细信息显示等编程技巧。分页显示是进行数据库搜索过程中经常用到的编程技巧,能够节约系统资源、灵活显示信息;而详细信息显示则体现了分而治之的思想,有效的消除了信息显示的冗余,使得页面整洁、易于维护,方便了用户检索浏览信息。单位用户的部分基本与个人用户部分相同。单位查询信息首页CCHECK.ASP从数据库中提取数据生成网页元素,然后由用户进行选择。提交给FINDCOMPANY.ASP程序根据搜索条件进行搜索,结果由SHOW_COMPANY.ASP显示出来,在此就不再赘述了。在查看了对应的单位信息后,如果用户有加盟该单位的意向,则可以通过调用处理程序(Joincompany.asp)进行处理操作。而同样的,在查看了对应的个人信息后,如果单位用户有招聘该个人用户的意向,则可以调用相应的处理程序(jointalent.asp)进行处理操作。4.4.3 模块流程图下图左边是个人信息查询模块的流程图,右边是单位信息查询模块的流程图。4.5 显示招聘应聘信息模块4.5.1 概述一个功能完整的人才市场系统,应聘、招聘是其核心功能之一。前面的信息搜索部分,已经设计了在线应聘、招聘的选项,这是就是用来沟通单位和个人用户的。对于个人用户,如果选择了应聘选项,则将该用户的资料写入对应的招聘接纳数据表中;接着,对应的单位如果查看接受信息,将会显示给用户该应聘者的信息。相应的,单位用户也可以招聘某个人用户,这时该单位的资料信息将会写入求职接纳数据表中,对应的个人用户登录时,将会看到这条接受信息。本模块的基本思想是使用两个数据表求职接纳表、招聘接纳表,用来记录受聘和招聘用户的ID。4.5.2 设计流程首先进入身份验证程序Check_echo.asp,功能是判断当前的用户类型是否合法以及用户的种类,如果为非法用户,则显示警告信息,如果为个人用户,则调用对应的个人用户受聘信息显示列表,对于单位用户则调用相应的人才信息显示列表。程序join_talent.asp功能是显示给对应的个人用户的受聘信息情况将打算接受这名用户的公司名称显示给用户。而程序join_company.asp功能则是显示给对应的单位用户的应聘信息情况将有意向来单位工作的个人用户名称显示给该单位。程序del_joint.asp功能为删除个人用户不打算应聘的公司的信息;对应的单位用户删除工作信息的模块为del_joinc.asp。而Com_detail2.asp和Tal_detail2.asp则分别是显示相应的公司信息和受聘的人才详细信息。本模块使用的两个子表求职接纳表、招聘接纳表,主要功能是记录受聘和招聘用户的ID,有这样一个字段就可以在程序中通过它搜索个人、单位的资料数据库来获取相应的用户信息。4.5.3 模块流程图参考文献:1ASP组建动态网站,盖国强,人民邮电出版社2从点到面详解ASP,淡文刚,机械工业出版社3SQL编程实用大全,作者:(美)Konrad King,译者:杜大鹏等,中国水利水电出版社4ASP高级编程及其项目应用开发,李存斌 樊建平,中国水利水电出版社Emloyment tribunals sort out disagreements between employers and employees. You may need to make a claim to an employment tribunal if: you don't agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. For more informu, take advice from one of the organisations listed under Fur ther help. Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. Most people fi