人力资源管理系统软件工程毕业设计论文

摘要

人力资源管理系统是现代企业的核心业务系统之一,人力资源管理的状况和水平对企业的运作和效率至关重要。现代企业人力资源管理的内容非常丰富,可能包含档案管理、合同管理、薪酬管理、招聘管理、绩效管理、系统管理等很多部分。在本次毕业设计中,我们模拟实现了一家现代企业的人力资源管理系统中的部分子系统。由于现代企业都拥有功能完善的企业内部网,所以该系统的体系结构采用了以SSH框架为基础的Java企业级开发模式。SSH框架作为目前最流行和最成熟的Java企业级开发技术,在软件系统的效率、可用性、可维护性等方面提供了优秀的支持,并集成了当前Java Web开发方面的最好技术。

本人在该系统中主要承担系统管理子系统的开发。该子系统包括用户注册、登录、用户管理、权限管理、用户组管理等模块。本文首先简要介绍人力资源管理系统的一些应用背景和应用状况;其次介绍了该项目开发所采用的平台、开发工具以及开发环境;本文重点描述了该系统开发的流程,从项目策划、需求分析、系统设计、编码与实现等阶段详细介绍了系统的开发过程、实现方案和策略等。

关键词:人力资源管理;系统管理;SSH框架;Java Web开发;面向对象建模

Abstract

Human resource management system is one of the core business system of modern enterprises, the status and level of human resources management is very important for the running efficiency of a enterprise. The content of a modern enterprise human resources management is very rich, it may contain archives management, contract management, compensation management, recruitment management, performance management, system management and so on many parts. In this graduation design, we simulate the implementation of a modern enterprise human resources management system of some subsystems. Due to the function of the modern enterprise has perfect enterprise Intranet, so the architecture of the system adopted based on the SSH framework of Java enterprise development mode. SSH framework as the most popular and the most sophisticated Java enterprise development technology, the software system of efficiency, availability, maintainability, etc, provides a good support, and the best technology integrated with the current Java Web development. I mainly undertake system management subsystem in the system development. The subsystem includes user register, login, user management, rights management, user group management module, etc. This paper first briefly introduces some application background of the human resources management system and application conditions; Secondly introduces the adopted by the project development platform, development tools and development environments; This paper mainly describes the system development process, from project planning, requirements analysis, system design, coding and implementation phase system was introduced in detail the development process, implementation plan and strategy, etc.

Key words:Human resource management;System management;SSH framework;Java Web development;Object-oriented modeling

目录

1. 绪论 .......................................................................................................................................................... 1

1.1 研究背景 .......................................................................................................................................... 1

1.2 设计目标 .......................................................................................................................................... 1

1.3 关于本系统的基本介绍 ................................................................................................................... 2

1.4 论文结构 .......................................................................................................................................... 2

2. 系统开发环境与技术............................................................................................................................... 3

2.1 系统开发环境................................................................................................................................... 3

2.1.1 MyEclipse介绍 ...................................................................................................................... 3

2.1.2 Tomcat服务器介绍 ................................................................................................................ 4

2.2 系统开发技术................................................................................................................................... 4

2.2.1 JSP与Servlet技术 ................................................................................................................ 4

2.2.2 JavaScript简介 ....................................................................................................................... 7

2.2.3 MVC框架 .............................................................................................................................. 8

2.2.4 SSH框架 ................................................................................................................................ 9

3. 系统需求分析 ........................................................................................................................................ 14

3.1 需求描述 ........................................................................................................................................ 14

3.1.1 系统界面设计及操作风格的需求 ...................................................................................... 14

3.1.2 系统功能描述 ...................................................................................................................... 14

3.1. 3 系统运行环境 ..................................................................................................................... 16

3.2 系统的一般性规定 ......................................................................................................................... 17

3.2.1 对性能的规定 ...................................................................................................................... 17

3.2.2 对时间特性的规定 .............................................................................................................. 17

3.2.3 输入输出要求 ...................................................................................................................... 17

3.2.4 数据管理能力要求 .............................................................................................................. 18

3.2.5 网络安全要求 ...................................................................................................................... 18

4. 系统的设计与实现................................................................................................................................. 19

4.1 系统层次划分................................................................................................................................. 19

4.2 数据库的设计与实现 ..................................................................................................................... 19

4.2.1数据库的数据模型 ............................................................................................................... 25

4.3 系统的设计与实现 ......................................................................................................................... 28

4.3.1 系统项目的文件夹结构 ...................................................................................................... 28

4.3.2 登录模块.............................................................................................................................. 31

4.3.3 注册模块.............................................................................................................................. 32

4.3.4 系统管理子系统 .................................................................................................................. 34

4.3.5 档案管理子系统 .................................................................................................................. 40

4.3.6 合同管理子系统 .................................................................................................................. 42

总 结 ........................................................................................................................................................... 45

致 谢 ........................................................................................................................................................... 46

参考文献 ....................................................................................................................................................... 47

1. 绪论

1.1 研究背景

随着信息技术飞速发展,人们现在已处在数字化的生存空间之中。互联网构造了无限的信息资源,它的普及已经从根本上改变了人们现实中的生活方式和工作方式,也改变了企业的经营方式、管理方式和服务方式。

传统的依赖手工方式的记录的管理方式已经远无法满足企业的需求,传统的方式效率普遍较低,无法对数据进行有效的、规范的管理,查询比较困难,数据准确性、安全性相对较差,那么企业对于新的管理平台的需求是必然的。通过新的管理系统平台,企业能够大大提高各方面效率,而且方便了企业与员工之间的相互交流,能够方便满足将来的业务需求。

当今,网络技术的迅猛发展,使得基于Web开发的各类信息系统已经成为一种主流趋势。基于Web的系统具有的特点:

(1)信息的及时更新和发布;

(2) 良好的用户界面和接口;

(3) 方便操作和管理;

(4) 系统功能的通用性;

(5) 灵活性和可扩展性;

正是在这样的社会大背景下,我们开始进行“安博人力资源系统”的课题研究,其目的在于通过建设一个网站来实现基于Web的信息系统的上述特点,以展现该类管理系统的快速、便捷、准确地发布、管理信息,提供信息管理的强大功能和作用。人力资源管理平台可以帮助企业实现对人力资源信息数据更好的管理,大大提高工作人员的效率,帮助企业高层及时了解企业员工现状。

1.2 设计目标

开发设计本系统的任务是对人力资源信息数据的管理。通过该系统能够让用户对档案信息、合同信息进行添加、删除、修改、查询;并能够让管理员对用户进行管理。

开发系统的目标是帮助人力资源公司进行员工的档案、合同信息管理,需要满足的要求具体包括如下:

(1) 网页风格符合人力资源企业的特点,简单实用;

(2) 能够实现对于人力资源信息数据的管理;

(3) 网站运行安全、稳定;

1.3 关于本系统的基本介绍

(1)系统名称:安博人力资源管理平台

(2) 用户:甘肃安博人力资源服务有限公司

(3) 运行环境:Windows XP

(4)开发平台:SSH框架、SQL Server 2005、Tomcat6.0

(5) 开发语言:Java

1.4 论文结构

本文的章节安排如下:

第一章:绪论,说明本文的研究背景、设计目标和系统的基本信息介绍,为接下来系统后台的分析与设计做准备。

第二章:系统开发环境与技术,简单介绍系统实现所依赖环境和开发所用的技术。如MyEclipse、Tomcat服务器、SSH框架、JSP与Servle原理、JavaScript。

第三章:系统需求分析,从系统功能需求和一般性规定对系统需求进行了详细阐述。

第四章:系统的设计与实现,给出系统后台的具体设计与实现,包括系统各个模块功能以及数据库的设计与实现。

第五章:总结,对整个论文总结,并针对目前工作中的不足对未来工作的展望。

2. 系统开发环境与技术

2.1 系统开发环境

安博人力资源管理平台以MyEclipse8.5为开发平台,且由Tomcat6.0充当Web服务器来开发实现。

2.1.1 MyEclipse介绍

MyEclipse(My Eclipse Enterprise Workbench)是一款商业软件,是一个非常优秀的用于开发Java、J2EE的Eclipse插件集合,是对EclipseIDE的扩展,是基于Java和Eclipse的可扩展开发平台,它的功能非常强大、支持也十分广泛、特别是对各种开源产品的支持很不错。就其工具本身而言,它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,利用它可以在数据库和J2EE的开发、发布以及应用程序服务器的整合方面,极大地提高工作效率。可以说,MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

随着MyEclipse 2013支持JQuery,你可以通过插件提升性能,并可添加动画效果到设计中。简单而言,MyEclipse是eclipse的插件,也是一款功能非常强大的J2EE集成开发环境,支持代码编写、配置、测试及除错。程序的功能包括:HTML智能编辑器、Java Servlet、Struts、JSF、CSS、JavaScript、SQL、Hibernate、Spring、EJB3等,带有自动完成和语法高亮显示功能的J2EE编辑器。尽管eclipse是使用Java语言开发的,但它的用途并不限于Java语言。例如:支持诸如C/C++、COBOL和Eiffel及Perl等编程语言的插件。在结构上,MyEclipse的特征包括:

(1) J2EE模型

(2) WEB开发工具

(3)数据库服务

(4) J2EE项目部署服务

(5) 应用程序服务器的连接

(6)EJB开发工具

(7) MyEclipse整合帮助

由于MyEclipse结构上的这种模块化,使我们在不影响其他模块的情况下,对任一模块可以进行单独的扩展和升级。

2.1.2 Tomcat服务器介绍 Tomcat最初是由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发的,后来在他的帮助下变为开源代码,并由Sun贡献给Apache基金会。Tomcat服务器是免费开源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户相对较少时被普遍使用,是开发和调试JSP程序的首选。实际上,Tomcat部分是Apache服务器的扩展,但它是独立运行的,因此,当你运行Tomcat时,它实际上是作为一个与Apache独立的进程单独运行的。Tomcat是一个Servlet和JSP容器,具有处理HTML页面的功能,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。

由于Tomcat运行时占用的系统资源少,扩展性好,支持负载平衡与邮件服务等开发应用程序的基本功能,它很受广大程序员的喜欢;而且,它还在不断地改进和完善中,任何喜欢它的程序员都可更改它或加入新功能。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序相比,Tomcat中的应用程序是一个WAR文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,是文件的一个压缩包。这个包中的文件按一定的目录结构来组织:其根目录下包含有html和Jsp文件或目录,另外,还有一个WEB-INF目录,这个目录很重要。通常,在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其他类(如JavaBean)。通常,这些所依赖的类可以打包成JAR文件,然后放到WEB-INF下的lib目录下。

因为Tomcat的技术先进、性能稳定,且免费,所以深受广大程序开发者的喜爱,并得到了部分软件开发商的认可,已经成为目前比较流行的Web应用程序服务器。

2.2 系统开发技术

安博人力资源管理平台的开发技术是基于J2EE架构的SSH框架技术。开发平台是MyEclipse,Tomcat6.0作为服务器,JDK1.7.0_03作为工具包。

2.2.1 JSP与Servlet技术

JSP全称Java Server Pages,是由SunMicrosystems公司倡导,许多公司一起建立的一种动态技术标准。其根本是一个简化的Servlet设计,它实现了HTML语法中的Java扩张(以形式)。在传统的网页HTML文件中加入Java程序片段和JSP标签,就能够使JSP网页中的Java程序片段操纵数据库、重新定向网页,以及发送E-mail等,实现建立动态网站所需的功能。所有程序操作都在服务器端运行,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP

页面的请求时,首先执行其中的程序段,然后将执行的结果连同JSP文件中的HTML代码一并返回给客户端。网络上传送给客户端的仅仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可访问JSP页面。通常,JSP页面很少进行数据处理,只是用来实现网页的静态化,只是用来提取数据,不会进行业务处理。

JSP是一种动态页面技术,它的主要目标是将表示逻辑从Servlet中分离出来。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序开发变得容易、迅速。JSP页面是由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后,对这些Java代码进行处理,然后将生成的HTML页面返回给客户端。JSP具备了Java技术的简单易用,完全面向对象,具有平台无关性且安全可靠。

Servlet是服务器上运行的小程序,是一种独立于平台和协议的Java应用程序,可以生成动态的Web页面。Servlet位于Web服务器的内部,通过Web服务器进行加载,该Web服务器必须包含支持Servlet的java虚拟机。Servlet是JSP的技术基础,而且大型的Web应用程序开发,需要Servlet和JSP的配合才能完成。

(1)JSP工作原理

JSP页面通常以扩展名为.jsp的纯文本文件的形式存在服务器上,以当一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成一个Servlet,而这个引擎也是一个Servlet。JSP引擎先把该Jsp文件转换成一个Java源文件,在转换时若发现语法错误,转换过程将中断,并向服务器和客户端输出出错信息;若转换成功,JSP引擎将用javac把该Java源文件编译成相应的class文件。然后创建一个该Servlet实例,该Servlet的Init()方法被执行,此方法在Servlet的生命周期中只被执行一次。然后,Service()方法被调用来处理客户端的请求。对于每一个请求,JSP引擎创建一个新的线程来处理该请求。若有多个客户端同时请求该JSP文件,则该引擎会创建多个线程,每个线程对应一个客户端请求。JSP页面被编译成Servlet之后,其执行代码以独立线程的形式一直存在服务器的内存中,以后该JSP页面再提出请求时,就不需要重新编译,至到该页面被修改或Web应用程序重新启动。当需要销毁某个文件时,就调用Destroy()方法来释放相应的资源。图2.1所示为JSP的工作原理图

图2.1 JSP的工作原理

(2)JSP语法

1)常用JSP命令:

a. page---页面指令,主要用来指定当前JSP页面的属性。

b. ---允许包含其他动态和静态文件。

c. ---将一个JSP文件传给另一个JSP文件。

d. ---可以通过Java插件在浏览器中运行Java Applet 。 e. ---是用来访问JavaBean的动作标记。当JSP页面使用

标记时,表示将引用一个JavaBean的实例。JavaBean标记的语法格式如下:。

2)JSP内置对象:

为了方便WEB页面开发,JSP提供了一组内置对象,这些内置对象可以不经显式的声明而在程序中直接使用,JSP的主要内置对象有Request、Response、Out、Session等。通过这组内置对象,可以实现页面的一些请求输入、输出功能,还可实现数据在页面之间的交互。

a. Request对象:主要功能是接受客户端以HTTP方式传送的数据,实现与客户交互的功能。一般最常用的是它的getParameter(String name)方法来获取传递的参数。

b. Response对象:主要功能是用来对客户的请求做出响应,与Request对象对应。

Response对象用于将服务器的数据发送到客户端,输出的数据可以是各种数据类型,甚至是文件。一般经常用到的是它的sendRedirect(URL url)方法来重定向当前用户访问的url。

c. Out对象:主要功能是用于动态地向客户端输出数据信息,主要作用是在Web浏览器内输出信息。在数据的输出方面会经常用到它的rintln(parameter)方法,该方法也是进行纠错处理时一个比较有效的输出方法。

d. Session对象:主要功能用来保存每个用户在会话期间的数据信息,这样就方便了会话处理工作。当用户登陆网站时,系统将为其生成一个session对象,用以记录该用户的个人信息,当用户退出网站时,该session对象将会自动注销。Session对象可以绑定若干个人的信息或java对象。

2.2.2 JavaScript简介

JavaScript是一种基于对象和事件驱动且具有相对安全性的客户端脚本语言,也是一种广泛应用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初是由Netscape公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。完整的JavaScript实现包含三个部分:ECMAScript,字节顺序记号,文档对象模型。

JavaScript是为了适应动态网页制作的需要而诞生的一种编程语言,现今广泛地应用于Internet网页制作。JavaScript是由Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。JavaScript的出现使得用户和网页之间实现了一种动态的、实时性的、交互性的关系,使得网页包含了更多活跃的元素和更加精彩的内容。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript由于短小精悍,且是在客户机上执行的,因此大大提高了网页的交互能力和浏览速度。 JavaScript加入网页的两种方法:

(1)直接加入HTML文档

这是最常用的方法,大部分含有JavaScript的网页都采用这种方法,如:

的位置并不是固定的,可以包含在 或中的任何位置。

(2)引用方式

若项目已经有一个JavaScript源文件(以js为扩展名),则可以采用这种引用的方式,以提高程序代码的利用率。其格式如下:

2.2.3 MVC框架

MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序。MVC即Model-View-Controller由模型(Model)、视图(View)、控制器(Controller)三部分组成,M代表业务逻辑,V代表视图,C代表控制层。

模型(Model)层:是企业数据和业务规则,它具有最多的处理任务。一个软件实现了什么功能,它该如何实现功能,以及这些功能之间的联系都是在模型层进行处理的。模型层是一个软件的核心,对于软件功能的好坏、完善,业务层起到了决定性的作用。 视图(View)层:是用户所能看到的并与之交互的界面。在J2EE技术中,常用的表示层技术主要由JSP、JSF。视图向用户显示相关的数据,并能接受用户的输入数据,但是它不能进行实际的业务处理。视图还可以接受模型发出来的数据更新事件,从而对用户界面进行同步更新。

控制(Controller)层:接受用户的输入并调用模型和视图去实现用户的需求。控制层很少做与业务有关的事情,比如登录验证。所以,在软件的分层结构设计中,控制

层的代码量几乎是最少的,但它的作用也是非常重要的。

MVC框架具有耦合性低、重用性高、生命周期成本低、部署快、可维护性高等特点。视图层和业务层分离,就允许更改视图层的代码而不需要重新编译模型和控制器的代码,同样,一个应用的业务流程或业务规则改变后就只需要改动MVC模型层。因为模型、视图和控制的分离,使得很容易改变应用程序的数据层和业务规则。MVC使得开发和维护用户接口的技术含量降低。分离视图层和业务层也使WEB应用更易于维护和修改。模型层、视图层、控制层三者之间的关系和各自的功能如图2.2所示:

方法调用事件

图2.2 MVC模式关系和功能图

2.2.4 SSH框架

SSH为Struts+Spring+Hibernate的一个集成框架,是目前比较流行的一种web应用程序的开源框架。其中,Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。Struts的MVC设计模式使我们的逻辑变得很清晰,Spring的IOC和AOP使我们的产品最大限度上解耦,Hibernate对实体对象持久化。

典型的J2EE三层结构为表现层、业务逻辑层和数据服务层,三层体系将业务规则、数据访问以及合法性校验等工作放在业务逻辑层处理。客户端不直接与数据库交互,而是通过组件与业务逻辑层建立连接,再由业务逻辑层与数据库交互。表现层采用的是传统的JSP技术,业务逻辑层采用的是Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为:

1)Action层(web层),即MVC模式中的controller,负责控制业务逻辑层与表现层

的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,系统在这采用Struts。

2)Service层,即业务逻辑层,负责实现业务逻辑,业务逻辑以DAO层为基础,通过对DAO组件的模式包装,完成系统要求的业务逻辑。

3)DAO层,负责与持久化对橡交互,该层封装了数据的增、删、改、查的操作。

4)Entity层,持久化对象,通过实体关系映射的工具将关系型数据库中的数据映射成对象,方便的实现以面向对象的方式操作数据库,系统在这采用Hibernate。Spring的作用贯穿整个业务逻辑层,将Action层、Service层、DAO层以及Entity层无缝整合,其数据服务层用来存放数据。

SSH框架中Struts、Spring、Hibernate的介绍:

(1)Struts

Struts对Model、View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的需求。Action,这个类由用户提供,负责接收来自ActionServlet的请求,并根据该请求来调用模型的业务逻辑方法来处理请求,并将结果返回给JSP页面显示。

Model部分

由ActionForm和JavaBean组成,其中ActionForm用于将用户的请求参数封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问。 View部分

该部分采用JSP技术实现。Struts提供了丰富的标签库,使用标签库可以减少脚本的使用。

Controller组件

Controller组件有两个部分组成:系统核心控制器、业务逻辑控制器。系统核心控制器,对应ActionServlet,该控制器继承了HttpServlet类,该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要传给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,其本身不具备处理能力,而是调用Model来实现处理,对应Action层。

Struts配置文件的核心代码:

(2)Spring

Spring是一个开源框架,是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它是由Rod Johnson创建,它的创建是为了解决企业应用开发的复杂性。Spring使用基本的JavaBean来完成以前只能有EJB完成的工作,并提供了更多的企业应用功能,且Spring的用途不仅仅限于服务器端的开发。Spring具有简单性、可测试性和耦合性等特点,任何Java应用都可从中受益。

控制反转(Inversion of Control,缩写IoC),也叫做依赖注入(DI),是一个重要的面向对象编程的法则,通过这种技术可以削减程序的耦合性,它也是轻量级的Spring框架的核心。应用控制反转,对象在被创建的时候,由一个外界实体调控系统内的所有对象,将其所依赖的对象的应用,传递给它,也可说是,依赖被注入到对象中。所以,控制反转是关于一个对象如何获取它所依赖对象的引用,这个责任的反转。

面向切面是Spring提供的面向切面编程的一种技术,允许通过分离应用的业务逻辑和系统服务(如事务管理(Transaction))进行内聚性的开发。

Spring可以将简单的组件配置、组合成复杂的应用。在Spring中,应用对象以声明的方式被组合,典型的是在一个XML文件中。Spring还提供了事务管理、持久化框架集成等基础功能将应用逻辑的开发留给了程序员。Spring的这些特征使程序员可以编写更干净、更可管理、且易于测试的代码。

SSH三层框架中Hibernate交由Spring管理,Spring配置文件的核心内容:

>

(3)Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得程序员能够使用对象编程思维随心所欲的来操纵数据库。Hibernate可以应用在使用JDBC的任何场合,既可以在Java客户端使用,也可以在Servlet/JSP的WEB

应用中使用。Hibernate的核心接口共有五个,分别是Session、SessionFactory、Transaction、Query、Configuration,这五个接口在任何开发中都会用到。通过使用这些接口,可以对持久化对象进行存取,还能够进行事务控制。下面是对五个核心接口的介绍:

1) Session接口:负责执行被持久化对象的CRUD操作,CRUD操作是完成与数据库的交流,包含了常见的SQL语句。Session对象是非线程安全的,且Hibernate的session不同于JSP应用中的HttpSession。

2) SessionFactory接口:负责初始化Hibernate,它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式,通常一个项目只需要一个SessionFactory,当要操作多个数据库时,可为每个数据库指定一个SessionFactory。

3) Transaction接口:负责事务相关的操作,它是可选的,开发人员可以设计编写自己的底层事务处理代码。

4) Query接口:负责执行各种数据库的查询,它可以使用HQL语言和SQL语句两种表达方式。

5) Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate启动过程中,Configuration类的实例首先定位映射文档的位置并读取配置。然后创建SessionFactory对象。

3. 系统需求分析

3.1 需求描述

当前大量企业的员工的管理尚处于手工作业阶段,不但效率低下,且常因为管理的不慎而出现纰漏。传统的依赖手工的方式记录,效率较低,无法实现对数据的系统规范的管理,查询困难、数据准确性、安全性较差。为了满足企业的需求,现设计一人力资源管理系统,来对人力资源数据进行管理,帮助企业达到员工管理的办公自动化,节约管理成本,大幅度提高人力资源数据管理的效率。

在国内,各个企业原有的手工管理方式现已不适应形式的发展,为实现从静态管理到动态管理的转变,树立企业的新形象,必须应用计算机来辅助管理,从而全面实行信息化管理,能够对员工的信息进行动态监控,提升企业管理的档次和水平。人力资源管理系统的建设是企业适应市场形势,新式管理的必由之路。

3.1.1 系统界面设计及操作风格的需求

安博人力资源管理系统页面设计应与企业的结构、文化风格保持一致,采用清新稳重的暗灰色格局,以简洁、明了的引导方式,相对统一的网站风格和布局,突出网站的重点;在网站设计实施风格上坚持美观大方、庄重朴实的风格,界面具有亲和力,充分展示安博人力资源管理系统的风采;切实把安博人力资源管理系统的门户网站建设成为“公司形象展示的窗口、信息发布的载体、政务信息公开的平台、交流互动的桥梁、公共服务的门户”。

“安博人力资源管理系统的门户网站”在整个版面、栏目模块布局、色彩、文字等方面的设计,使之更美观、简洁、实用。

易用性:操作界面与操作风格尽可能与安博人力资源系统系统保持一致,使用风格同样的菜单及正文区设计,菜单操作方式以及信息提示位置尽可能相同,以便于操作人员尽快熟悉本系统功能。

3.1.2 系统功能描述

基于SSH框架的人力资源管理系统主要包括:系统管理、档案管理、合同管理三个子系统。系统管理子系统主要包括登录、注册、用户的添加、删除、修改、查询,权限的添加、回收、查询,角色的赋予、回收、查询;档案管理子系统主要包括档案的建立、删除、修改、查询,物资报表打印,生日提醒;合同管理子系统主要包括合同的建立、删除、查询、修改,合同到期提醒。

安博人力资源管理系统的系统角色分为4种:人力资源经理、人力资源专员、信息录入员、系统管理员(admin_role)。

如图3.1所示为安博人力资源管理平台的系统管理子系统的用例图,它反映了该子系统的设计应该实现哪些功能。

图3.1 系统管理子系统的用例图

如图3.2所示为安博人力资源管理平台的整个系统的实体类图,它反映了系统的各

实体之间的关联和依赖关系。

图3.2 系统实体类图

3.1. 3 系统运行环境

(1)硬件环境:

 CPU:Intel(R) Pentium(R) Dual T2390 1.86GHz

 内存:2 G

 硬盘:250G

 显示:ATI 独立显卡

(2) 软件环境:

 操作系统:Windows XP Professional SP3

 数据库:SQL server 2005

 浏览器:Microsoft Internet Explorer

 相关应用软件: Tomcat 6.0,Dreamweaver8、Power Designer15.1、Rational Rose

 开发平台:MyEclipse 8.5

3.2 系统的一般性规定

3.2.1 对性能的规定

(1)安全性:系统应该具有较强的安全性,对数据和相关的信息有较强的保护性。

(2)稳定性:系统应该在一定环境下稳定运行。

(3)兼容性:系统能够与其它软硬件有良好的兼容性

(4)实用性:考虑到要尽量满足业务功能需求的前提下,又要适应各业务角色的工作特点,该系统做到简单、实用、人性化,实现了统一身份和人力资源管理、统一内容管理、个性化界面和内容定制。

(5) 可维护性:系统设计应标准化、规范化,按照分层设计,软件构件化实现。一是使业务与实现分离,逻辑与数据分离;二是以统一的服务接口规范为核心,使用开放标准;三是构件语意描述形式化;四是提炼封装构件规范化。

(6)可扩展性:考虑到网上业务建设是一个循序渐进、不断扩充的过程,本期项目建设将搭建底层框架基础,以便于未来采用积木式结构,整体构架可以与原有系统进行无缝连接,为今后系统扩展和集成留有扩充余量。

(7)可移植性:选择开放的应用平台,建设一套与平台无关,以统一的服务接口规范和与各种数据库相连的应用组件。

3.2.2 对时间特性的规定

人力资源管理系统的查询时间取决于服务器和Web浏览器之间的连接宽带以及同时访问系统的客户端的数量,系统的实现应以快速响应管理人员的请求为优先目标。

3.2.3 输入输出要求

输入---用户通过WEB页面将各种用户信息数据输入,导入数据或者提交查询、修改、删除请求,系统将数据的存储格式为数据库专用格式。

输出---系统通过调用数据库的信息将结果数据显示在Web浏览器的HTML页面上,并能够根据业务的需要生成指定的报表或数据的汇总统计结过以及进行打印工作。

摘要

人力资源管理系统是现代企业的核心业务系统之一,人力资源管理的状况和水平对企业的运作和效率至关重要。现代企业人力资源管理的内容非常丰富,可能包含档案管理、合同管理、薪酬管理、招聘管理、绩效管理、系统管理等很多部分。在本次毕业设计中,我们模拟实现了一家现代企业的人力资源管理系统中的部分子系统。由于现代企业都拥有功能完善的企业内部网,所以该系统的体系结构采用了以SSH框架为基础的Java企业级开发模式。SSH框架作为目前最流行和最成熟的Java企业级开发技术,在软件系统的效率、可用性、可维护性等方面提供了优秀的支持,并集成了当前Java Web开发方面的最好技术。

本人在该系统中主要承担系统管理子系统的开发。该子系统包括用户注册、登录、用户管理、权限管理、用户组管理等模块。本文首先简要介绍人力资源管理系统的一些应用背景和应用状况;其次介绍了该项目开发所采用的平台、开发工具以及开发环境;本文重点描述了该系统开发的流程,从项目策划、需求分析、系统设计、编码与实现等阶段详细介绍了系统的开发过程、实现方案和策略等。

关键词:人力资源管理;系统管理;SSH框架;Java Web开发;面向对象建模

Abstract

Human resource management system is one of the core business system of modern enterprises, the status and level of human resources management is very important for the running efficiency of a enterprise. The content of a modern enterprise human resources management is very rich, it may contain archives management, contract management, compensation management, recruitment management, performance management, system management and so on many parts. In this graduation design, we simulate the implementation of a modern enterprise human resources management system of some subsystems. Due to the function of the modern enterprise has perfect enterprise Intranet, so the architecture of the system adopted based on the SSH framework of Java enterprise development mode. SSH framework as the most popular and the most sophisticated Java enterprise development technology, the software system of efficiency, availability, maintainability, etc, provides a good support, and the best technology integrated with the current Java Web development. I mainly undertake system management subsystem in the system development. The subsystem includes user register, login, user management, rights management, user group management module, etc. This paper first briefly introduces some application background of the human resources management system and application conditions; Secondly introduces the adopted by the project development platform, development tools and development environments; This paper mainly describes the system development process, from project planning, requirements analysis, system design, coding and implementation phase system was introduced in detail the development process, implementation plan and strategy, etc.

Key words:Human resource management;System management;SSH framework;Java Web development;Object-oriented modeling

目录

1. 绪论 .......................................................................................................................................................... 1

1.1 研究背景 .......................................................................................................................................... 1

1.2 设计目标 .......................................................................................................................................... 1

1.3 关于本系统的基本介绍 ................................................................................................................... 2

1.4 论文结构 .......................................................................................................................................... 2

2. 系统开发环境与技术............................................................................................................................... 3

2.1 系统开发环境................................................................................................................................... 3

2.1.1 MyEclipse介绍 ...................................................................................................................... 3

2.1.2 Tomcat服务器介绍 ................................................................................................................ 4

2.2 系统开发技术................................................................................................................................... 4

2.2.1 JSP与Servlet技术 ................................................................................................................ 4

2.2.2 JavaScript简介 ....................................................................................................................... 7

2.2.3 MVC框架 .............................................................................................................................. 8

2.2.4 SSH框架 ................................................................................................................................ 9

3. 系统需求分析 ........................................................................................................................................ 14

3.1 需求描述 ........................................................................................................................................ 14

3.1.1 系统界面设计及操作风格的需求 ...................................................................................... 14

3.1.2 系统功能描述 ...................................................................................................................... 14

3.1. 3 系统运行环境 ..................................................................................................................... 16

3.2 系统的一般性规定 ......................................................................................................................... 17

3.2.1 对性能的规定 ...................................................................................................................... 17

3.2.2 对时间特性的规定 .............................................................................................................. 17

3.2.3 输入输出要求 ...................................................................................................................... 17

3.2.4 数据管理能力要求 .............................................................................................................. 18

3.2.5 网络安全要求 ...................................................................................................................... 18

4. 系统的设计与实现................................................................................................................................. 19

4.1 系统层次划分................................................................................................................................. 19

4.2 数据库的设计与实现 ..................................................................................................................... 19

4.2.1数据库的数据模型 ............................................................................................................... 25

4.3 系统的设计与实现 ......................................................................................................................... 28

4.3.1 系统项目的文件夹结构 ...................................................................................................... 28

4.3.2 登录模块.............................................................................................................................. 31

4.3.3 注册模块.............................................................................................................................. 32

4.3.4 系统管理子系统 .................................................................................................................. 34

4.3.5 档案管理子系统 .................................................................................................................. 40

4.3.6 合同管理子系统 .................................................................................................................. 42

总 结 ........................................................................................................................................................... 45

致 谢 ........................................................................................................................................................... 46

参考文献 ....................................................................................................................................................... 47

1. 绪论

1.1 研究背景

随着信息技术飞速发展,人们现在已处在数字化的生存空间之中。互联网构造了无限的信息资源,它的普及已经从根本上改变了人们现实中的生活方式和工作方式,也改变了企业的经营方式、管理方式和服务方式。

传统的依赖手工方式的记录的管理方式已经远无法满足企业的需求,传统的方式效率普遍较低,无法对数据进行有效的、规范的管理,查询比较困难,数据准确性、安全性相对较差,那么企业对于新的管理平台的需求是必然的。通过新的管理系统平台,企业能够大大提高各方面效率,而且方便了企业与员工之间的相互交流,能够方便满足将来的业务需求。

当今,网络技术的迅猛发展,使得基于Web开发的各类信息系统已经成为一种主流趋势。基于Web的系统具有的特点:

(1)信息的及时更新和发布;

(2) 良好的用户界面和接口;

(3) 方便操作和管理;

(4) 系统功能的通用性;

(5) 灵活性和可扩展性;

正是在这样的社会大背景下,我们开始进行“安博人力资源系统”的课题研究,其目的在于通过建设一个网站来实现基于Web的信息系统的上述特点,以展现该类管理系统的快速、便捷、准确地发布、管理信息,提供信息管理的强大功能和作用。人力资源管理平台可以帮助企业实现对人力资源信息数据更好的管理,大大提高工作人员的效率,帮助企业高层及时了解企业员工现状。

1.2 设计目标

开发设计本系统的任务是对人力资源信息数据的管理。通过该系统能够让用户对档案信息、合同信息进行添加、删除、修改、查询;并能够让管理员对用户进行管理。

开发系统的目标是帮助人力资源公司进行员工的档案、合同信息管理,需要满足的要求具体包括如下:

(1) 网页风格符合人力资源企业的特点,简单实用;

(2) 能够实现对于人力资源信息数据的管理;

(3) 网站运行安全、稳定;

1.3 关于本系统的基本介绍

(1)系统名称:安博人力资源管理平台

(2) 用户:甘肃安博人力资源服务有限公司

(3) 运行环境:Windows XP

(4)开发平台:SSH框架、SQL Server 2005、Tomcat6.0

(5) 开发语言:Java

1.4 论文结构

本文的章节安排如下:

第一章:绪论,说明本文的研究背景、设计目标和系统的基本信息介绍,为接下来系统后台的分析与设计做准备。

第二章:系统开发环境与技术,简单介绍系统实现所依赖环境和开发所用的技术。如MyEclipse、Tomcat服务器、SSH框架、JSP与Servle原理、JavaScript。

第三章:系统需求分析,从系统功能需求和一般性规定对系统需求进行了详细阐述。

第四章:系统的设计与实现,给出系统后台的具体设计与实现,包括系统各个模块功能以及数据库的设计与实现。

第五章:总结,对整个论文总结,并针对目前工作中的不足对未来工作的展望。

2. 系统开发环境与技术

2.1 系统开发环境

安博人力资源管理平台以MyEclipse8.5为开发平台,且由Tomcat6.0充当Web服务器来开发实现。

2.1.1 MyEclipse介绍

MyEclipse(My Eclipse Enterprise Workbench)是一款商业软件,是一个非常优秀的用于开发Java、J2EE的Eclipse插件集合,是对EclipseIDE的扩展,是基于Java和Eclipse的可扩展开发平台,它的功能非常强大、支持也十分广泛、特别是对各种开源产品的支持很不错。就其工具本身而言,它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,利用它可以在数据库和J2EE的开发、发布以及应用程序服务器的整合方面,极大地提高工作效率。可以说,MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

随着MyEclipse 2013支持JQuery,你可以通过插件提升性能,并可添加动画效果到设计中。简单而言,MyEclipse是eclipse的插件,也是一款功能非常强大的J2EE集成开发环境,支持代码编写、配置、测试及除错。程序的功能包括:HTML智能编辑器、Java Servlet、Struts、JSF、CSS、JavaScript、SQL、Hibernate、Spring、EJB3等,带有自动完成和语法高亮显示功能的J2EE编辑器。尽管eclipse是使用Java语言开发的,但它的用途并不限于Java语言。例如:支持诸如C/C++、COBOL和Eiffel及Perl等编程语言的插件。在结构上,MyEclipse的特征包括:

(1) J2EE模型

(2) WEB开发工具

(3)数据库服务

(4) J2EE项目部署服务

(5) 应用程序服务器的连接

(6)EJB开发工具

(7) MyEclipse整合帮助

由于MyEclipse结构上的这种模块化,使我们在不影响其他模块的情况下,对任一模块可以进行单独的扩展和升级。

2.1.2 Tomcat服务器介绍 Tomcat最初是由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发的,后来在他的帮助下变为开源代码,并由Sun贡献给Apache基金会。Tomcat服务器是免费开源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户相对较少时被普遍使用,是开发和调试JSP程序的首选。实际上,Tomcat部分是Apache服务器的扩展,但它是独立运行的,因此,当你运行Tomcat时,它实际上是作为一个与Apache独立的进程单独运行的。Tomcat是一个Servlet和JSP容器,具有处理HTML页面的功能,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。

由于Tomcat运行时占用的系统资源少,扩展性好,支持负载平衡与邮件服务等开发应用程序的基本功能,它很受广大程序员的喜欢;而且,它还在不断地改进和完善中,任何喜欢它的程序员都可更改它或加入新功能。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序相比,Tomcat中的应用程序是一个WAR文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,是文件的一个压缩包。这个包中的文件按一定的目录结构来组织:其根目录下包含有html和Jsp文件或目录,另外,还有一个WEB-INF目录,这个目录很重要。通常,在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其他类(如JavaBean)。通常,这些所依赖的类可以打包成JAR文件,然后放到WEB-INF下的lib目录下。

因为Tomcat的技术先进、性能稳定,且免费,所以深受广大程序开发者的喜爱,并得到了部分软件开发商的认可,已经成为目前比较流行的Web应用程序服务器。

2.2 系统开发技术

安博人力资源管理平台的开发技术是基于J2EE架构的SSH框架技术。开发平台是MyEclipse,Tomcat6.0作为服务器,JDK1.7.0_03作为工具包。

2.2.1 JSP与Servlet技术

JSP全称Java Server Pages,是由SunMicrosystems公司倡导,许多公司一起建立的一种动态技术标准。其根本是一个简化的Servlet设计,它实现了HTML语法中的Java扩张(以形式)。在传统的网页HTML文件中加入Java程序片段和JSP标签,就能够使JSP网页中的Java程序片段操纵数据库、重新定向网页,以及发送E-mail等,实现建立动态网站所需的功能。所有程序操作都在服务器端运行,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP

页面的请求时,首先执行其中的程序段,然后将执行的结果连同JSP文件中的HTML代码一并返回给客户端。网络上传送给客户端的仅仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可访问JSP页面。通常,JSP页面很少进行数据处理,只是用来实现网页的静态化,只是用来提取数据,不会进行业务处理。

JSP是一种动态页面技术,它的主要目标是将表示逻辑从Servlet中分离出来。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序开发变得容易、迅速。JSP页面是由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后,对这些Java代码进行处理,然后将生成的HTML页面返回给客户端。JSP具备了Java技术的简单易用,完全面向对象,具有平台无关性且安全可靠。

Servlet是服务器上运行的小程序,是一种独立于平台和协议的Java应用程序,可以生成动态的Web页面。Servlet位于Web服务器的内部,通过Web服务器进行加载,该Web服务器必须包含支持Servlet的java虚拟机。Servlet是JSP的技术基础,而且大型的Web应用程序开发,需要Servlet和JSP的配合才能完成。

(1)JSP工作原理

JSP页面通常以扩展名为.jsp的纯文本文件的形式存在服务器上,以当一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成一个Servlet,而这个引擎也是一个Servlet。JSP引擎先把该Jsp文件转换成一个Java源文件,在转换时若发现语法错误,转换过程将中断,并向服务器和客户端输出出错信息;若转换成功,JSP引擎将用javac把该Java源文件编译成相应的class文件。然后创建一个该Servlet实例,该Servlet的Init()方法被执行,此方法在Servlet的生命周期中只被执行一次。然后,Service()方法被调用来处理客户端的请求。对于每一个请求,JSP引擎创建一个新的线程来处理该请求。若有多个客户端同时请求该JSP文件,则该引擎会创建多个线程,每个线程对应一个客户端请求。JSP页面被编译成Servlet之后,其执行代码以独立线程的形式一直存在服务器的内存中,以后该JSP页面再提出请求时,就不需要重新编译,至到该页面被修改或Web应用程序重新启动。当需要销毁某个文件时,就调用Destroy()方法来释放相应的资源。图2.1所示为JSP的工作原理图

图2.1 JSP的工作原理

(2)JSP语法

1)常用JSP命令:

a. page---页面指令,主要用来指定当前JSP页面的属性。

b. ---允许包含其他动态和静态文件。

c. ---将一个JSP文件传给另一个JSP文件。

d. ---可以通过Java插件在浏览器中运行Java Applet 。 e. ---是用来访问JavaBean的动作标记。当JSP页面使用

标记时,表示将引用一个JavaBean的实例。JavaBean标记的语法格式如下:。

2)JSP内置对象:

为了方便WEB页面开发,JSP提供了一组内置对象,这些内置对象可以不经显式的声明而在程序中直接使用,JSP的主要内置对象有Request、Response、Out、Session等。通过这组内置对象,可以实现页面的一些请求输入、输出功能,还可实现数据在页面之间的交互。

a. Request对象:主要功能是接受客户端以HTTP方式传送的数据,实现与客户交互的功能。一般最常用的是它的getParameter(String name)方法来获取传递的参数。

b. Response对象:主要功能是用来对客户的请求做出响应,与Request对象对应。

Response对象用于将服务器的数据发送到客户端,输出的数据可以是各种数据类型,甚至是文件。一般经常用到的是它的sendRedirect(URL url)方法来重定向当前用户访问的url。

c. Out对象:主要功能是用于动态地向客户端输出数据信息,主要作用是在Web浏览器内输出信息。在数据的输出方面会经常用到它的rintln(parameter)方法,该方法也是进行纠错处理时一个比较有效的输出方法。

d. Session对象:主要功能用来保存每个用户在会话期间的数据信息,这样就方便了会话处理工作。当用户登陆网站时,系统将为其生成一个session对象,用以记录该用户的个人信息,当用户退出网站时,该session对象将会自动注销。Session对象可以绑定若干个人的信息或java对象。

2.2.2 JavaScript简介

JavaScript是一种基于对象和事件驱动且具有相对安全性的客户端脚本语言,也是一种广泛应用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初是由Netscape公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。完整的JavaScript实现包含三个部分:ECMAScript,字节顺序记号,文档对象模型。

JavaScript是为了适应动态网页制作的需要而诞生的一种编程语言,现今广泛地应用于Internet网页制作。JavaScript是由Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。JavaScript的出现使得用户和网页之间实现了一种动态的、实时性的、交互性的关系,使得网页包含了更多活跃的元素和更加精彩的内容。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript由于短小精悍,且是在客户机上执行的,因此大大提高了网页的交互能力和浏览速度。 JavaScript加入网页的两种方法:

(1)直接加入HTML文档

这是最常用的方法,大部分含有JavaScript的网页都采用这种方法,如:

的位置并不是固定的,可以包含在 或中的任何位置。

(2)引用方式

若项目已经有一个JavaScript源文件(以js为扩展名),则可以采用这种引用的方式,以提高程序代码的利用率。其格式如下:

2.2.3 MVC框架

MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序。MVC即Model-View-Controller由模型(Model)、视图(View)、控制器(Controller)三部分组成,M代表业务逻辑,V代表视图,C代表控制层。

模型(Model)层:是企业数据和业务规则,它具有最多的处理任务。一个软件实现了什么功能,它该如何实现功能,以及这些功能之间的联系都是在模型层进行处理的。模型层是一个软件的核心,对于软件功能的好坏、完善,业务层起到了决定性的作用。 视图(View)层:是用户所能看到的并与之交互的界面。在J2EE技术中,常用的表示层技术主要由JSP、JSF。视图向用户显示相关的数据,并能接受用户的输入数据,但是它不能进行实际的业务处理。视图还可以接受模型发出来的数据更新事件,从而对用户界面进行同步更新。

控制(Controller)层:接受用户的输入并调用模型和视图去实现用户的需求。控制层很少做与业务有关的事情,比如登录验证。所以,在软件的分层结构设计中,控制

层的代码量几乎是最少的,但它的作用也是非常重要的。

MVC框架具有耦合性低、重用性高、生命周期成本低、部署快、可维护性高等特点。视图层和业务层分离,就允许更改视图层的代码而不需要重新编译模型和控制器的代码,同样,一个应用的业务流程或业务规则改变后就只需要改动MVC模型层。因为模型、视图和控制的分离,使得很容易改变应用程序的数据层和业务规则。MVC使得开发和维护用户接口的技术含量降低。分离视图层和业务层也使WEB应用更易于维护和修改。模型层、视图层、控制层三者之间的关系和各自的功能如图2.2所示:

方法调用事件

图2.2 MVC模式关系和功能图

2.2.4 SSH框架

SSH为Struts+Spring+Hibernate的一个集成框架,是目前比较流行的一种web应用程序的开源框架。其中,Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。Struts的MVC设计模式使我们的逻辑变得很清晰,Spring的IOC和AOP使我们的产品最大限度上解耦,Hibernate对实体对象持久化。

典型的J2EE三层结构为表现层、业务逻辑层和数据服务层,三层体系将业务规则、数据访问以及合法性校验等工作放在业务逻辑层处理。客户端不直接与数据库交互,而是通过组件与业务逻辑层建立连接,再由业务逻辑层与数据库交互。表现层采用的是传统的JSP技术,业务逻辑层采用的是Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为:

1)Action层(web层),即MVC模式中的controller,负责控制业务逻辑层与表现层

的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,系统在这采用Struts。

2)Service层,即业务逻辑层,负责实现业务逻辑,业务逻辑以DAO层为基础,通过对DAO组件的模式包装,完成系统要求的业务逻辑。

3)DAO层,负责与持久化对橡交互,该层封装了数据的增、删、改、查的操作。

4)Entity层,持久化对象,通过实体关系映射的工具将关系型数据库中的数据映射成对象,方便的实现以面向对象的方式操作数据库,系统在这采用Hibernate。Spring的作用贯穿整个业务逻辑层,将Action层、Service层、DAO层以及Entity层无缝整合,其数据服务层用来存放数据。

SSH框架中Struts、Spring、Hibernate的介绍:

(1)Struts

Struts对Model、View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的需求。Action,这个类由用户提供,负责接收来自ActionServlet的请求,并根据该请求来调用模型的业务逻辑方法来处理请求,并将结果返回给JSP页面显示。

Model部分

由ActionForm和JavaBean组成,其中ActionForm用于将用户的请求参数封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问。 View部分

该部分采用JSP技术实现。Struts提供了丰富的标签库,使用标签库可以减少脚本的使用。

Controller组件

Controller组件有两个部分组成:系统核心控制器、业务逻辑控制器。系统核心控制器,对应ActionServlet,该控制器继承了HttpServlet类,该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要传给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,其本身不具备处理能力,而是调用Model来实现处理,对应Action层。

Struts配置文件的核心代码:

(2)Spring

Spring是一个开源框架,是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它是由Rod Johnson创建,它的创建是为了解决企业应用开发的复杂性。Spring使用基本的JavaBean来完成以前只能有EJB完成的工作,并提供了更多的企业应用功能,且Spring的用途不仅仅限于服务器端的开发。Spring具有简单性、可测试性和耦合性等特点,任何Java应用都可从中受益。

控制反转(Inversion of Control,缩写IoC),也叫做依赖注入(DI),是一个重要的面向对象编程的法则,通过这种技术可以削减程序的耦合性,它也是轻量级的Spring框架的核心。应用控制反转,对象在被创建的时候,由一个外界实体调控系统内的所有对象,将其所依赖的对象的应用,传递给它,也可说是,依赖被注入到对象中。所以,控制反转是关于一个对象如何获取它所依赖对象的引用,这个责任的反转。

面向切面是Spring提供的面向切面编程的一种技术,允许通过分离应用的业务逻辑和系统服务(如事务管理(Transaction))进行内聚性的开发。

Spring可以将简单的组件配置、组合成复杂的应用。在Spring中,应用对象以声明的方式被组合,典型的是在一个XML文件中。Spring还提供了事务管理、持久化框架集成等基础功能将应用逻辑的开发留给了程序员。Spring的这些特征使程序员可以编写更干净、更可管理、且易于测试的代码。

SSH三层框架中Hibernate交由Spring管理,Spring配置文件的核心内容:

>

(3)Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得程序员能够使用对象编程思维随心所欲的来操纵数据库。Hibernate可以应用在使用JDBC的任何场合,既可以在Java客户端使用,也可以在Servlet/JSP的WEB

应用中使用。Hibernate的核心接口共有五个,分别是Session、SessionFactory、Transaction、Query、Configuration,这五个接口在任何开发中都会用到。通过使用这些接口,可以对持久化对象进行存取,还能够进行事务控制。下面是对五个核心接口的介绍:

1) Session接口:负责执行被持久化对象的CRUD操作,CRUD操作是完成与数据库的交流,包含了常见的SQL语句。Session对象是非线程安全的,且Hibernate的session不同于JSP应用中的HttpSession。

2) SessionFactory接口:负责初始化Hibernate,它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式,通常一个项目只需要一个SessionFactory,当要操作多个数据库时,可为每个数据库指定一个SessionFactory。

3) Transaction接口:负责事务相关的操作,它是可选的,开发人员可以设计编写自己的底层事务处理代码。

4) Query接口:负责执行各种数据库的查询,它可以使用HQL语言和SQL语句两种表达方式。

5) Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate启动过程中,Configuration类的实例首先定位映射文档的位置并读取配置。然后创建SessionFactory对象。

3. 系统需求分析

3.1 需求描述

当前大量企业的员工的管理尚处于手工作业阶段,不但效率低下,且常因为管理的不慎而出现纰漏。传统的依赖手工的方式记录,效率较低,无法实现对数据的系统规范的管理,查询困难、数据准确性、安全性较差。为了满足企业的需求,现设计一人力资源管理系统,来对人力资源数据进行管理,帮助企业达到员工管理的办公自动化,节约管理成本,大幅度提高人力资源数据管理的效率。

在国内,各个企业原有的手工管理方式现已不适应形式的发展,为实现从静态管理到动态管理的转变,树立企业的新形象,必须应用计算机来辅助管理,从而全面实行信息化管理,能够对员工的信息进行动态监控,提升企业管理的档次和水平。人力资源管理系统的建设是企业适应市场形势,新式管理的必由之路。

3.1.1 系统界面设计及操作风格的需求

安博人力资源管理系统页面设计应与企业的结构、文化风格保持一致,采用清新稳重的暗灰色格局,以简洁、明了的引导方式,相对统一的网站风格和布局,突出网站的重点;在网站设计实施风格上坚持美观大方、庄重朴实的风格,界面具有亲和力,充分展示安博人力资源管理系统的风采;切实把安博人力资源管理系统的门户网站建设成为“公司形象展示的窗口、信息发布的载体、政务信息公开的平台、交流互动的桥梁、公共服务的门户”。

“安博人力资源管理系统的门户网站”在整个版面、栏目模块布局、色彩、文字等方面的设计,使之更美观、简洁、实用。

易用性:操作界面与操作风格尽可能与安博人力资源系统系统保持一致,使用风格同样的菜单及正文区设计,菜单操作方式以及信息提示位置尽可能相同,以便于操作人员尽快熟悉本系统功能。

3.1.2 系统功能描述

基于SSH框架的人力资源管理系统主要包括:系统管理、档案管理、合同管理三个子系统。系统管理子系统主要包括登录、注册、用户的添加、删除、修改、查询,权限的添加、回收、查询,角色的赋予、回收、查询;档案管理子系统主要包括档案的建立、删除、修改、查询,物资报表打印,生日提醒;合同管理子系统主要包括合同的建立、删除、查询、修改,合同到期提醒。

安博人力资源管理系统的系统角色分为4种:人力资源经理、人力资源专员、信息录入员、系统管理员(admin_role)。

如图3.1所示为安博人力资源管理平台的系统管理子系统的用例图,它反映了该子系统的设计应该实现哪些功能。

图3.1 系统管理子系统的用例图

如图3.2所示为安博人力资源管理平台的整个系统的实体类图,它反映了系统的各

实体之间的关联和依赖关系。

图3.2 系统实体类图

3.1. 3 系统运行环境

(1)硬件环境:

 CPU:Intel(R) Pentium(R) Dual T2390 1.86GHz

 内存:2 G

 硬盘:250G

 显示:ATI 独立显卡

(2) 软件环境:

 操作系统:Windows XP Professional SP3

 数据库:SQL server 2005

 浏览器:Microsoft Internet Explorer

 相关应用软件: Tomcat 6.0,Dreamweaver8、Power Designer15.1、Rational Rose

 开发平台:MyEclipse 8.5

3.2 系统的一般性规定

3.2.1 对性能的规定

(1)安全性:系统应该具有较强的安全性,对数据和相关的信息有较强的保护性。

(2)稳定性:系统应该在一定环境下稳定运行。

(3)兼容性:系统能够与其它软硬件有良好的兼容性

(4)实用性:考虑到要尽量满足业务功能需求的前提下,又要适应各业务角色的工作特点,该系统做到简单、实用、人性化,实现了统一身份和人力资源管理、统一内容管理、个性化界面和内容定制。

(5) 可维护性:系统设计应标准化、规范化,按照分层设计,软件构件化实现。一是使业务与实现分离,逻辑与数据分离;二是以统一的服务接口规范为核心,使用开放标准;三是构件语意描述形式化;四是提炼封装构件规范化。

(6)可扩展性:考虑到网上业务建设是一个循序渐进、不断扩充的过程,本期项目建设将搭建底层框架基础,以便于未来采用积木式结构,整体构架可以与原有系统进行无缝连接,为今后系统扩展和集成留有扩充余量。

(7)可移植性:选择开放的应用平台,建设一套与平台无关,以统一的服务接口规范和与各种数据库相连的应用组件。

3.2.2 对时间特性的规定

人力资源管理系统的查询时间取决于服务器和Web浏览器之间的连接宽带以及同时访问系统的客户端的数量,系统的实现应以快速响应管理人员的请求为优先目标。

3.2.3 输入输出要求

输入---用户通过WEB页面将各种用户信息数据输入,导入数据或者提交查询、修改、删除请求,系统将数据的存储格式为数据库专用格式。

输出---系统通过调用数据库的信息将结果数据显示在Web浏览器的HTML页面上,并能够根据业务的需要生成指定的报表或数据的汇总统计结过以及进行打印工作。


相关文章

  • 建设工程项目管理方案编制编制指导书
  • 2010级工程管理专业 毕业论文指导书 课 题: 建设工程项目管理方案编制 指导老师:周振国 时 间:2013年12月9日- 2014年6月20日 扬州大学建筑科学与工程学院 二0一三年十二月 <建设工程项目管理方案编制> 毕业 ...查看


  • 常宁论文网代理发表职称论文发表-水利工程管理问题分析有效对策科学管理论文选题题目
  • 云发表,专业论文发表网站!http://www.yunfabiao.com/ 面向作者直接收稿,省去中间环节,价格更低,发表更快,收录更快! 常宁论文网代理发表职称论文发表-水利工程管理|问题分析|有效对策|科学管理论文选题题目 常宁论文网 ...查看


  • 一.毕业论文结构-吉林工程技术师范学院69
  • 读书破万卷,下笔如有神--杜甫 一.毕业论文及其写作要求 (一)什么是毕业论文 毕业论文从文体而言,它是对教学领域的现实问题或理论问题进行科学探索的具有一定价值的论说文从侧重点不同,分为学术论文和理论论文工商管理本科的毕业论文一般为理论论文 ...查看


  • 硕士论文选题要求
  • 工程硕士论文选题要求 第一条 工程硕士专业学位论文选题应直接来源于生产实际或具有明确的工程背景,其研究成果要有实际应用价值,论文拟解决的问题要有一定的技术难度和工作量,论文要具有一定的理论深度和先进性.具体可从以下几个方面选取: 1.技术攻 ...查看


  • 系统工程理论在本科毕业论文写作中的意义
  • [摘要] 本科毕业论文撰写对于锻炼大学生知识综合能力.提高大学生解决问题的能力.培养大学生创新能力具有十分重要的作用,是高校培养大学生的重要环节.从当前本科论文写作过程中存在的共性问题和难题分析入手,通过对系统方法论与系统工程基础理论的回顾 ...查看


  • 一.毕业论文结构-吉林工程技术师范学院199
  • 立身以立学为先,立学以读书为本--欧阳修 一.毕业论文及其写作要求 (一)什么是毕业论文 毕业论文从文体而言,它是对教学领域的现实问题或理论问题进行科学探索的具有一定价值的论说文 从侧重点不同,分为学术论文和理论论文 工商管理本科的毕业论文 ...查看


  • 工程管理毕业论文--开题报告
  • 附件1 毕业设计(论文)开题报告 XX公司建筑工程成本管理的问题研 课题名称 究 学习形式 学习层次 专 业 学 号 学生姓名 开题时间 网络 专升本 工程管理 XX 一.课题背景(或国内外研究现状) 国内建筑工程建设市场现在是" ...查看


  • 本科计算机论文题目
  • 基于asp 语言的测试项目 学生信息管理系统的设计与实现 基于ASP.NET 的社区人口管理系统 基于ASP.NET 的课程教学网站设计 公司会议网站 C#高校工资管理系统 C#在线点歌系统 <数据库原理>精品课程网站设计 教师 ...查看


  • 中国学科专业分类介绍和学术论文分类
  • 中国学科专业分类介绍和学术论文分类 中国学科专业分类介绍和学术论文分类介绍 [科学教育类] 学校教育.社会教育.中小学教育.高等教育.教学与管理.创新教育.新课程教学. [计算机应用] 软件工程.硬件.网络.数据库.程序设计.数字水印.计算 ...查看


  • 关于我国网络课程现状与问题的思考
  • 现代教育技术2001年第1期(总第34期)------论文编号1009-8097(2001)01-∞55川 关于我国网络课程现状与问题的思考 林君芬余胜泉 北京师范大学现代教育技术研究所北京100875 [摘要]随著网络教育在我国的蓬勃发展 ...查看


热门内容