1、摘 要21 世纪,高新技术的超速发展和全球化的市场经济导致企业之间的竞争空前激烈,这种竞争归根结底是人才的竞争,谁能有效地管理和开发人力资源,谁就能掌握知识经济时代的生产力。本文基于 Web 的人力资源管理系统的实现进行了研究。首先阐述了人力资源管理的重要地位、基本思想、发展趋势、新时期的一些主要特点等理论知识,分析了建立了基于 Web 的人力资源管理系统的必要性和可行性,然后对人力资源管理系统进行了需求分析和系统设计,探讨了人力资源管理系统的开发方法和实现技术。论文给出了基于 Web 的招聘管理系统开发实例。该实例实现了招聘管理的一些主要功能。主要包括招聘岗位管理、人才库管理、应聘简历管理等
2、模块。不仅能代替日常招聘管理中一些的繁琐的工作,而且能充分利用 Internet/Intranet 快速地收集和发布信息,给基于 Web 的人力资源管理系统的开发提供了一个好的思路。关键词:,人力资源管理系统AbstractIn the 21st century,new and advanced technology develop over the speed limit and market economy is globalizing, which cause the competition among enterprises unprecedentedly fierce,the com
3、petition is the talentsone after all,who can manage and develop the human resources effectively,who can grasp the productivity of the knowledge driven economical aera.The paper studies the realization of Web-based HRMS.Firstly explains some theory knowledge on HRM,such as its concept,development cou
4、rse,main role,some main characteristics of new period,and the influence that some new technologies such as Internet/Intranet bring to HRMS.And carries on demand analysis and system designs on HRMS.Probes into the development approach and realizing technology of the HTMS.The paper provides the Web-ba
5、sed recruitment administrative system instance,it realize some main functions of recruiting management module.Mainly include applying recruiting management posts,pool of management,management candidates curriculum vitae ,etc.It not only can replace some daily recruit management tedious jobs but also
6、 can fully utilize Internet/Intranet to collect and issue information fast.The instance gives a good way to develop Web-Based HRMS.Key Words: Web,Human Resource Management目 录1 绪论11.1 本课题研究的背景.11.2 本课题研究的意义.11.3 本论文研究思路和所做的主要工作.12 招聘管理系统的实现技术.32.1 使用 JAVA 技术的优点.32.2 JAVA 技术的应用.42.2.1 JAVA 应用程序和小应用程序.
7、42.2.2 JDBC、Servlet 、JSP 和JavaBeans42.2.3 Struts 介绍 .52.3 Eclipse 简介.63 招聘管理系统的分析与设计.83.1 招聘管理系统的需求分析.83.1.1 特性需求分析.83.1.2 招聘的基本过程.93.1.3 数据流程分析.103.1.4 系统的 E-R 模型. 113.1.5 功能需求分析.113.2 招聘管理系统的开发方法.143.3 招聘管理系统的分析.143.3.1 系统功能结构图.153.3.2 系统数据流程图.153.4 招聘管理系统的体系结构设计.163.4.1 C/S 和 B/S 体系结构.163.4.2 招聘管
8、理系统基于 Web 的三层结构设计. 183.5 招聘管理系统的数据库实现.194 招聘管理系统的实现.304.1 本系统的模块功能介绍.304.2 功能实现及相应的图形界面.314.3 系统的开发工具和运行环境.355 招聘管理系统测试.365.1 系统测试的目标.365.2 测试的实现.365.2.1 模块测试.365.2.2 系统及子系统测试.366 总结与展望.38致谢.40参考文献.4101 绪论1.1 本课题研究的背景招聘工作是人力资源管理中不可或缺的一个重要环节, 它是人力资源管理的第一关口。招聘管理是企业人力资源管理系统中的核心工作,担负着从经营战略和目标出发,为企业选人用人的
9、重任。从以往的招聘管理的方式看, 企业一般通过在报纸、杂志刊登招聘广告,以及参加人才招聘会等方式进行招聘,或者委托人才服务机构代为招聘等,这些方式耗资、耗时,甚至贻误了企业的生产经营。近些年来,由于网络技术的发展,通过 Internet 进行网上招聘也渐成趋势。但这些方式都没有将人力资源经理从繁重的拆阅信件、挑选简历的工作中彻底解放出来,仍然存在一些局限性,例如面对打印出来的简历和收到的邮件,他们仍然要进行大量的二次处理工作。招聘网站虽不能提供招聘及相关工作中的所有解决方案,但为企业的招聘方式提供了一种全新的思路。基于以上原因,本文在对基于 Web 的人力资源招聘管理系统的研究和实现中,选择招
10、聘管理作为突破口,旨在对基于 Web 的招聘管理系统进行研究的同时,为基于 Web 的人力资源管理系统的实现进行有益的探索。1.2 本课题研究的意义人力资源管理是从经济学的角度来指导和进行的人事管理活动,即人力资源管理,是在经济学与人本思想指导下,通过招聘、甄选、培训、报酬等管理形式对组织内外相关人力资源进行有效运用,满足组织当前及未来发展的需要,保证组织目标实现与成员发展的最大化。很多企业管理者都逐渐意识到人力资源管理逐渐成为现代企业管理的核心,把人员的招聘放在企业战略的第一位。本文把基于 Web 的人力资源招聘管理系统作为研究对象具有重要的意义。1.3 本论文研究思路和所做的主要工作随着企
11、业将人力资源作为一种重要的战略资源,人力资源管理系统正得到越来越多客户的重视,同时随着 Internet/Intranet 技术的发展,人力资源管理也呈现出一些新的发展趋势。本文针对目前国内外的研究现状,运用 Jsp、Struts、Hibernate 等技术,1以招聘管理模块为实例,研究基于 Web 技术的人力资源管理系统的实现。主要完成以下几方面的任务:(1)对现代国内外企业人力资源管理的基本理论和基本思想,以及人力资源管理的一些重要作用、发展趋势等进行深入研究,加强国内企业对人力资源管理理论方面的理解,并为人力资源管理系统的设计和实现建立理论基础。(2)分析目前国内外人力资源管理的研究应用
12、现状,剖析我国人力资源管理系统在实际应用中存在的一些问题,提出开发人力资源管理系统要融入到 Internet 中的思想。(3)深入探讨基于 Web 的人力资源管理系统的体系结构设计、开发方法和实现技术等问题。并对人力资源管理系统进行需求分析和数据流程分析。(4)以招聘管理系统为实例进行开发,实现招聘管理的一些主要功能,给基于 Web的人力资源管理系统的开发提供了一个好的思路。 22 招聘管理系统的实现技术Java 是一种基于网络计算的开发语言,基于 Java 开发的应用程序是基于 WEB 的,另外由于 JAVA 的平台无关性,使得应用程序可以运行在不同硬件平台、不同操作系统平台上。因此,JAV
13、A 自诞生以来,受到了各软、硬件厂商的广泛支持。最近,各大型数据库厂商纷纷宣布他们的产品能更好地支持 INTERNET,支持 JAVA。并且很多应用软件厂商纷纷推出了采用 JAVA 开发的应用程序。随着 INTERNET 的迅速发展,应用软件的开发工具转向 JAVA 是一种必然的趋势,它代表着未来软件开发技术的潮流,JAVA 的良好表现证明它是一种成熟的、可靠的开发语言。本论文中实现的人力资源招聘系统就是基于JAVA 技术的,因此,在本章将对 JAVA 技术作一个简要的介绍。2.1 使用 JAVA 技术的优点JAVA 是非常新的一种语言(1995 年正式发布),具有面向对象、分布式、解释执行、
14、健壮性和安全性、体系结构中立、可移植、多线程、以及动态性等特点。和其他编程语言相比,它有很多优点。使用 JAVA 的优点具体体现在以下几个方面:(1)灵活性JAVA 非常灵活,足以支持部署和开发环境中的各种变化。由于 JAVA 是在面向对象的基础平台上构建的,因此可以很容易对基本的语言进行扩展和发布。(2)厂商的广泛支持采用 JAVA 有一个非常引人注目的原因,就是受到了厂商的广泛支持。JAVA 不像其他技术一样只有一个主要的供应商,而是有数百个公司都生产或支持 JAVA 产品。Oracle 公司是 JAVA 业界的一个巨头,它继续对客户提供引导,对 JAVA 应用程序的开发提供产品支持。这种
15、支持 JAVA 的公司有很多,因此选择 JAVA 语言非常牢靠,不会因为选择它作为开发语言而将自己紧紧和一个厂商捆绑在一起。(3)用户的广泛支持JAVA 具有很好的用户基础,它们并不局限于一个特定的公司。在 Internet 上,有很多资源都可以获得 JAVA 示例代码。另外,JAVA 程序员还可以使用很多免费软件或共享软件和很多应用程序代码。(4)平台独立性JAVA 源代码和运行时文件并不局限于某一个操作系统。因此,在 Windows 环境中创建并编译 JAVA 类文件,无需任何修改就可以将相同的文件部署到 UNIX 环境中。JAVA 的3这种特性,也称为可移植性,这一点对于那些发现自己的业
16、务增长需要一个特定的操作系统、又需要支持原操作系统的企业来说非常重要。2.2 JAVA 技术的应用2.2.1 JAVA 应用程序和小应用程序标准的用 Java 语言编写的独立软件应用程序称为 Java 应用程序(Javaapplication)。它们可以在支持 Java 的环境(Hotjava 或 AppletViewer)之外执行。Java 小应用程序(Java applet)是内嵌于 HTML 文档中的使用标记的可执行Java 代码。当与 Java 兼容的浏览器访问这样的页面时,它就自动下载由标记所指向的可执行代码,当完成下载该代码后,浏览器内置的 Java 环境就在浏览器中执行它。Jav
17、a 小应用程序的主类必须是类库中己定义好的类 Java. applet. Applet 的子类。Java 小应用程序可以直接利用浏览器或 AppletViewer 提供的图形用户界面,而 Java application 程序则必须另外书写专用代码来营建自己的图形界面。2.2.2 JDBC、Servlet、JSP 和 JavaBeansJDBC 是一种用于执行 SQL 语句的 Java API,它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具和数据库开发人员提供了一个标准的 API,他们能够用纯 Java API 来编写数据库应用程序。JDBC 是一种规范,它让各数据库厂商为
18、 Java 程序员提供标准的数据库访问类和接口。简单地说,JDBC 的功能有三个方面:与数据库建立连接、发送 SQL 语句和处理结果。JDBC API 既支持数据库访问的两层模型,也支持三层模型。在两层模型中,Java applet 或应用程序将直接与数据库进行对话。这需要一个 JDBC 驱动程序来与所访问的特定数据库管理系统进行通信。用户的 SQL 语句被送往数据库中,其结果被送回给用户。其中用户的计算机为客户机,提供数据库的计算机为服务器,称为客户机/服务器配置。在三层模型中,命令先是被发送到服务的中间层,然后由它将 SQL 语句发送给数据库。数据库对 SQL 语句进行处理并将结果送回到中
19、间层,中间层再将结果送回给用户。这种模型称为三层式结构。Servlet 可称为小服务程序。Servlet 和传统的 CGI 程序及 ISPAI(Internet Server API), NSAPI(Netscape Server API)等 Web 程序开发工具的作用是相同的。在使用 Java Servlet 以后,用户不必再使用效率低下的 CGI 方式,也不必使用只能在某个固定 Web4服务器平台运行的 API 方式来动态生成 Web 页面。许多 Web 服务器都支持 Servlet,不支持 Servlet 的 Web 服务器也可以通过附加的应用服务器和模块来支持 Servlet。由于Ja
20、va 的跨平台的特性,Servlet 也是平台无关的。Java Servlet 内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此 Java Servlet 效率非常高。和传统的 CGI, ISAPI 及 NSAPI 方式相同,Java Servlet 是利用输出 HTML 语句来实现动态网页的。如果用 Java Servlet 来开发整个网站,动态部分和静态部分的整合过程就很困难。为此,SUN 推出了 JSP。JSP(Java Server Pages)是用于构建包含动态 Web 内容(HTML, DHTML, XHTML 以及XML 等
21、)的应用系统的一种 Java 技术。JSP 使得进行复杂动态 Web 页的开发变得简单、灵活而高效。Java Servlet 是 JSP 技术的基础,大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成。JSP 页是包含了 JSP 元素的 HTML 或 XML 页。JSP 元素由JSP 标准来定界。其中一些标注具有标准的 XML/Namespaces 语法,其它一些具有 JSP 专用的语法。JavaBeans 就是 Java 的可重用组件技术。ASP 通过 COM 来扩充复杂的功能,如文件上传、发送 E-Mail 以及将业务处理或复杂计算分离出来成为独立可重复
22、利用的模块。JSP 通过 JavaBeans 实现了同样的功能扩充。JavaBeans 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。JSP 语法虽很简洁,但从整个系统设计的角度出发,使用 JSP 需要一种层次化的思想。一种成熟的思想是采用使内容和显示逻辑分开的技术,这种技术的典型是 J2EE (Java 2 Platform Enterprise Edition)架构。这一架构中,JSP 仅仅扮演页面展示的角色,商业逻辑、数据逻辑则被封装在 EJB(Enterprise Jav aBeans)中。J2EE 平台提供了一个基于组件的方法来设计、开发、装配及部署企业应用程序
23、。J2EE 架构非常可靠,但 EJB 的设计和使用过于复杂,有时我们仅仅需要一种使内容和显示逻辑分开的简单方式。JavaBeans 与 JSP 的结合便能胜任这一要求。2.2.3 Struts 介绍Struts 最早是作为 Apache Jakarta 项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高 Java Server Pages、Servlet、标签库以及面向对象的技术水准。Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用 MVC 设计模型来开发 Web 应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的
24、工作。Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一大5优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts 的优点主要集中体现在两个方面:Taglib 和页面导航。Taglib是 Struts 的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大
25、的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。MVC 即 Model-View-Controller 的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是 MVC 的一种实现,它将 Servlet 和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts 继承了MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。Struts 的工作原理,如图 2-1MVC 模型所示:图 2-1MVC 模型2.3 Eclipse 简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开
26、发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT) 。 Eclipse 还包括插件开发环境( Plug-in Development Environment,PDE) ,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。Eclipse 这样功能完整且成熟的开发环境,是由蓝色巨人 IBM 所释出。IBM 花了 4千万美金来开发这个 IDE(Integrated Develop
27、ment Environment)。第一版 1.0 在 20016年 11 月释出,随后逐渐受到欢迎。Eclipse 已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在 IBM 手中,但是有一部份由 eclipse.org 的软件联盟主导。Eclipse 是开放原始码,结果很多人在使用的时候都不注重合法权的问题。开放原始码软件让使用者能够取得软件的原始码,有权去修改和散布这个软件。如果想修改软件,这件事的另一面就是,除非其它人对修改后的软件也有相同的权力,否则是不能散布修改后的软件,这种权利和著作权(copyright)相反,开放原始码项目中有时称之为著作
28、义(copyleft)。有些开放原始码许可书,坚持要求任何和其它开发原始码合组成的软件也必须是开放原始码。然而,Eclipse 使用的开放原始码许可书:公共公众许可书Common Public License(CPL)作为授权方式,设计上是可以容许商业利益的。CPL 可以容许 Eclipse 和其它开放原始码软件合组时,能够以更严谨的许可书散布软件,以求用于商业途径。CPL 经过 Open Software Initiative(OSI)认证,其内容符合开放原始码授权的需求。多数人认为 Eclipse 是 Java IDE,不过,当下载 Eclipse 之后,除了有 Java IDE(就是 J
29、DT),还有 PDE。然而 Eclipse 是万用工具平台。JDT 实际上是 Eclipse 的添加品,也就是外挂程序。Eclipse 本身实际上是指 Eclipse 平台(Eclipse Platform),除了下载时能取得 Java 工具集以外,还提供各种工具的支持,所以平台本身只是相当小的组软件。如果想开发 Java 程序,用的是 Eclipse 随附的 JDT 外挂程序。如果想开发其它语言的程序,就需要拿到其它外挂程序,诸如 CDT(C Development Toolkit)就可以开发C/C+程序。 Eclipse 跨计算机语言,也跨人类的语言。相同的外挂机制可用来增加对不同语言的支
30、持,这里使用一种特殊的外挂,叫做外挂程序片断(plug-in fragment)。IBM 以捐出一个语言套件,支持中文(繁体与简体)、法文、德文、意大利文、日文、韩文、葡萄牙文(巴西)与西班牙文。 照理说 Eclipse 以 Java 写成,应该可以在任何的平台执行。但严格来说 Eclipse 不是跨平台的,因为它使用作业平台的原生图形来建置。因此要等 SWT(Standard Widget Toolkit)移植到该平台,Eclipse 才能在那个平台执行。但就现实而言到不是什么大问题,因为 SWT 已经被移植到数个常见平台上了,包括Windows、Linux/Motif、Linux/GTK2、Solaris、QNX、AIX、HP-UX 与 Mac OS X。