1、I本 科 毕 业 论 文(设计)院 系 软件学院 题 目 人力资源管理系统招聘模块的设计与实现 学生姓名 刘蛟龙 学 号 071251086 年 级 2007 级 专 业 软件工程 指导教师 职 称 论文提交日期 南京大学软件学院本科毕业论文I摘 要人力资源是企业动态核心竞争力和持续竞争优势的源泉。作为企业大系统的一个子系统,企业人力资源管理系统的有效运行直接决定了企业生存和发展的潜力。并且现代企业的规模不断扩大,员工人数也越来越多,因此需要一个功能全面的人力资源管理系统对公司日益复杂的人事工作进行高效便捷的管理。本人力资源管理系统(Human Resources Management Sys
2、tem,HRMS)包括组织管理、招聘管理、人员配置、薪酬管理、系统管理 5 个部分。它可以对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。基于浏览器操作方式的人力资源管理信息系统,完全突破了客户端操作方式的局限性,使企业管理者、HR 管理者等实现无论何时、何地都能进行人力资源商务工作,这尤其适合于具有较多分支机构的公司和集团企业。随着计算机网络技术的发展,尤其是因特网的普遍应用,传统的 C/S 结构的应用正越来越多的被 B/S 结构应用取代。由于使用 SSH 框架开发具有可维护性强、能适应不断变化的业务需求的优点,因此
3、SSH 框架被广泛的应用于 Java web 开发中。SSH 在 JavaEE 项 目 中 表 示 了 3 种 框 架 ,即 Spring + Struts +Hibernate。本 项 目 小 组 基 本 完 成 了 一 个 人 力 资 源 管 理 系 统 所 具 备 的 功 能 。 实 现 了组织管理、招聘管理、人员配置、薪酬管理、系统管理五个功能模块。组织管理负责公司的组织结构和岗位的安排等工作;招聘管理负责实现公司的人员招聘的工作;人员配置负责实现员工的岗位的维护;薪酬管理负责薪酬管理:薪酬管理之言负责公司员工的工资的计算和管理;系统管理负责本系统的管理维护与操作记录。本人在该项目的开
4、发中承担招聘管理子系统的实现。该论文首先简单介绍了一下人力资源管理系统的应用背景和发展情况,然后在第二章深入的介绍了本次开发系统所应用的 SSH 框架的相关技术,接着第三章介绍该系统的招聘管理子系统的功能特点,第四章详细的介绍了项目的分析、设计与实现的过程,并结合项目来介绍一下 SSH 框架的应用,第五章对项目进行了总结和展望。关键词:人力资源管理系统,SSH 技术,Struts, Spring, Hibernate南京大学软件学院本科毕业论文IIAbstractHuman resources is the source of dynamic core competitiveness and
5、sustainable competitive advantage of an enterprise. As a sub-system of the enterprise, effective management of the human resources directly determines the potential of the living and development of a company. As the scale of the modern corporation keeps expanding and the number of employees gets lar
6、ger, the company needs a fully functional human resource management system to effectively deal with the increasingly complex personnel work. This human resources management system includes such five parts as organization management, recruitment Management, personnel allocation, compensation manageme
7、nt and system management. Because of these parts, almost every aspect of human resources management of a company can be analyzed, planed, implemented, adjusted and improved to make it serve the targets of many organizations or groups more efficiently.This is especially suitable for the companies who
8、 own many braches and group enterprise for the company managers, HR managers and so on can conduct their human resources work without the limitation of time and places based on the human resource management information system of the browser operating mode that completely broke through the limitation
9、 of client operation mode.Along with the development of the computer network technology, especially the widely-used Internet, traditional C/S structure of application is increasingly replaced by B/S structure. Since the development of SSH framework has its advantages of easy maintenance and adaptati
10、on to the continuous variations of the business requirement, SSH framework is widely used in the development of Java Web.In the program of JavaEE, SSH stands for three frameworks: Spring + Struts +Hibernate. This project team has basically completed a human resource management system. Realizing the
11、five modules like the organization management, recruitment management, personnel allocation, compensation management, system management. Organization Management is responsible for the companys organizational structure and post arrangement work; recruitment management is responsible for staff recruit
12、ment; Staffing management is responsible for implementing the post maintenance; Salary management is responsible for compensation management; 南京大学软件学院本科毕业论文IIISystems management is responsible for this system maintenance and operation management of record. I undertake to the development of recruitme
13、nt management subsystem.This thesis introduces the application background and development of human resource management system; then it deeply introduces some relative technologies of SSH; thirdly, the third chapter explains the characteristics of the systems Recruiting Management; then in the fourth
14、 chapter, it introduces the analysis, design and process of the project in detail, meanwhile, it introduces the application of SSH; and in the last part, it presents the conclusion and outlook of the project.Keywords:HRMS(Human Resources Management System), SSH Framework, Struts 南京大学软件学院本科毕业论文IV目 录摘
15、 要 .IAbstract.II目 录 .IV第一章 概述/绪论 .11.1 人力资源管理项目背景 .11.1.1 人力资源管理系统简介 .11.1.2 人力资源管理系统的发展历史 .11.2 国内外 SSH 技术现状 .21.3 论文主要工作/组织结构 .3第二章 基于 SSH 框架的 web 技术概述 .42.1 Struts 框架 .42.2 Spring 框架 .62.3 Hibernate 框架 .72.4 Tomcat 服务器 .92.5 Oracle 数据库 .9第三章 人力资源管理系统概述 .103.1 系统整体描述 .103.2 招聘管理模块 .103.2.1 招聘渠道管理
16、.113.2.2 招聘需求管理 .133.2.3 招聘活动管理 .143.2.4 应聘者管理 .153.2.5 人才库管理 .16第四章 SSH 技术在招聘管理子系统的应用 .174.1 功能说明 .174.2 用例描述 .174.3 子系统类图 .184.4 子模块设计 .194.4.1 招聘渠道管理设计 .194.4.2 招聘需求管理设计 .204.4.3 招聘活动管理设计 .20南京大学软件学院本科毕业论文V4.4.4 应聘者管理设计 .214.4.5 人才库管理设计 .224.5 应用 SSH 框架开发的具体流程 .234.5.1 流程概述 .234.5.2 SSH 框架配置 .244
17、.5.3 Struts 在项目中的应用 .254.5.4 Hibernate 在项目中的应用 .284.5.5 Spring 在项目中的应用 .29第五章 总结与展望 .32参考文献 .33致 谢 .34南京大学软件学院本科毕业论文1第一章 概述/绪论1.1 人力资源管理项目背景1.1.1 人力资源管理系统简介人力资源管理,就是指运用现代化的科学方法,对与一定物力相结合的人力进行合理的培训、组织和调配,使人力、物力经常保持最佳比例,同时对人的思想、心理和行为进行恰当的诱导、控制和协调,充分发挥人的主观能动性,使人尽其才,事得其人,人事相宜,以实现组织目标。 1人力资源管理系统(Human Re
18、sources Management System,HRMS)是现代企业借助计算机技术开发的对企业人力资源实现自动化管理的系统。21 世纪是一个以知识为主宰的新时代,即大家熟悉的知识经济时代。现代企业的竞争也不仅仅局限于传统的技术、市场的竞争,而且也更加注重人才的竞争,企业在发展过程中,除了要维护和客户的关系,掌握先进的行业生产技术之外,还必须拥有一批本领域中具有相当才能的工作人员,才能在信息时代的经济浪潮中立于不败之地。人才是企、事业单位的宝贵财富,是人力资源管理的核心。吸引人才,留住人才成为企业人力资源管理的一个重要课题。因此需要人力资源管理系统将对企业的组织结构、招聘管理、日常管理、薪酬
19、管理等方面提供高效便捷的现代化管理。人力资源管理系统(Human Resources Management System,HRMS)包括人事日常事务、薪酬、招聘、培训、考核以及人力资源的管理也指组织或社会团体运用系统学理论方法,对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。 21.1.2 人力资源管理系统的发展历史第一代人力资源管理系统出现于 20 世纪 60 年代末期,除了能自动计算人员薪酬外,几乎没有更多如报表生成和数据分析等功能,也不保留任何历史信息。第二代人力资源管理系统出现于 20 世纪 70 年代末,对非财
20、务人力资源信息和薪资的历史信息都进行设计,也有了初级的报表生成和数据分析功能。南京大学软件学院本科毕业论文2第三代人力资源管理系统出现于 20 世纪 90 年代末,这一代 HRMS 的数据库将几乎所有与人力资源相关的数据都进行了收集与管理,更有强力报表生成工具、数据分析工具和信息共享的实现。 3企业采用人力资源管理系统最主要的原因是,期望借由人力资源管理系统,将人力资源运用到最佳经济效益,也由于知识经济的来临,所谓人力资本的观念已经形成,人力资本的重要性更不下于土地、厂房、设备与资金等,甚至超越,除此之外,人是知识的载体,为了有效运用知识,将知识发挥最大的效用,便需要妥善的人力资源管理,才能够
21、发挥人力资源的最佳效用。1.2 国内外 SSH 技术现状SSH(Struts+Spring+Hibernate) 是目前国内外众多知名软件企业最主流的应用技术, 也是 JavaEE 未来发展的趋势, 在项目开发实践中应用该构架,降低了程序的复杂度, 易于调试, 减轻了程序员的负担, 具有很强的扩展性,该结合框架一定具有美好的前景。在 web 应用程序产生时就有的开源框架。在 19992000 年,开发者们意识到 JSP“Model1”的缺陷, JSP 中充斥着请求处理代码和静态数据模板,这意味着你不得不把业务逻辑和复杂的 HTML 以及其他的标签混到一起。20012002 年间,Apache
22、开源组织发布的 Struts 改变了这个状况,虽然它并非一个完美的框架,但是经 过 多 年 的 发 展 , Struts 已 经 成 为 了 一 个 高 度 成 熟 的框 架 , 不 管 是 稳 定 性 还 是 可 靠 性 都 得 到 了 广 泛 的 证 明 。 Struts 几乎在每一个JavaEE 项目中得到应用,这使得它成为 JavaEE 架构的一个重要组成部分。甚至很多保守的组织也将其作为软件底层的一部分,并同意接受 Apache 的开源协议条款。市 场 占 有 率 超 过 20%, 拥 有 丰 富 的 开 发 人 群 , Struts 几 乎 已 经 成 为了 事 实 上 的 工 业
23、 标 准 。 4Spring 是 java 平台上的一个开源应用框架。它的第一个版本是由 Rod Johnson 写出来的。Rod 在他的 Expert One-On-One Java EE Design and Development(Java 企业应用设计与开发的专家一对一)一书中首次发布了这个框架。该框架也可以移植到.NET 的环境下。 Spring 的框架首次在 2003 年 6 月的Apache 2.0 的使用许可中发布。第一个具有里程碑意义的版本是 2004 年 3 月发布的 1.0。2004 年 9 月和 2005 年 3 月先后又有重要的版本面世。 Spring 框架本身并没有
24、强制实行任何特别的编程模式。在 Java 社区里,Spring 作为 EJB 模型之外的另外一个选择甚至是替代品而广为流行。从设计上看,Spring 给予了Java 程序员许多的自由度,但同时对业界常见的问题也提供了良好的文档和易于使用的方法。 Spring 框架的核心功能在任何 Java 应用中都是适用的。在基南京大学软件学院本科毕业论文3于 Java 企业平台上的 web 应用中,大量的拓展和改进得以形成。为此,Spring获得了广泛的欢迎,并被许多公司认可为具有战略意义的重要框架。 5Hibernate 是一个开放源代码 的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使
25、得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它是第一个功能健全的解决关系对象影射解决方案。虽然在功能上,它没有 TopLink 多样。但在那些最常用的功能上, Hibernate 实现的更加健壮,并且有一个非常专业的团队提供全职的开发。Hibernate 并不是全新的,它的ORM 思想在这个领域很普遍,但它提供的编程模型比其他任何竞争者都容易使用、都来的直接,它为 ORM 的使用提供了更加易用、廉价的途径。 Hibernate可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是
26、, Hibernate 可以在应用EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 61.3 论文主要工作/组织结构本论文是基于人力资源管理系统项目来实现的。论文在第一章首先介绍了人力资源管理的内容,强调了现代企业对于一个稳健高效的人力资源管理系统需求的重要性,接着介绍了开发项目使用的技术的发展情况。在第二章会详细的讨论项目开发的实际过程中所使用到的技术。接着在第三章,作者会介绍人力资源管理系统中负责招聘的模块的功能,详细展示整个招聘流程。第四章会结合项目的开发过程来讨论 SSH 框架和 Oracle 数据库的使用,重点解决在实际开发中遇到的一些问题。最后在第五章会对系统进行总
27、结和展望。南京大学软件学院本科毕业论文4第二章 基于 SSH 框架的 web 技术概述2.1 Struts 框架Struts 是 Jakarta 的一个字项目,它提供了一种方法,可以在一个 Web 应用程序中一起使用 Java Server Pages(JSP)和 Servlet。它的目的是要解决完全由 JSP或 Servelt 实现的传统应用程序中固有的问题。Struts 只是一个 MVC 框架,用于快速开发 JavaWeb 应用程序,这样以 3 层的结构来开发软件项目,不但使开发的机构明了,而且还有助于项目的维护。Struts 框架视图如图 2.1 所示。Struts 的重点在 C(Con
28、troller)控制端,也为V(View)视图端提供了一系列定制的标签。但 Struts 几乎没有涉及 M(Model)模型端,所以 Struts 可以采用 Java 实现任何形式的商业逻辑,比如使用 Spring 来实现业务的功能。 7图 2.1 Struts 框架 MVC 流程图Model 部 分 采 用 JavaBean 或 EJB 组 件 或 Spring 的 Bean 来 设 计 和 实 现系 统 的 业 务 逻 辑 。 根 据 不 同 的 请 求 从 Action 派 生 具 体 的 Action 处 理 对 象 。Action 处 理 对 象 则 根 据 需 要 完 成 的 任 务 来 调 用 由 Bean 构 成 的 业 务 组 件 。Action 还 可 以 创 建 ActionFrom 的 派 生 类 实 现 对 客 户 端 表 单 书 籍 的 封 装 及 简单 的 校 验 。View 部 分 采 用 JSP 实 现 。 Struts 提 供 了 丰 富 的 标 签 库 , 通 过 标 签 库 可 以