最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

软件工程毕业设计论文

来源:动视网 责编:小OO 时间:2025-09-24 20:48:51
文档

软件工程毕业设计论文

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

人力资源管理系统是现代企业的核心业务系统之一,人力资源管理的状况和水平对企业的运作和效率至关重要。现代企业人力资源管理的内容非常丰富,可能包含档案管理、合同管理、薪酬管理、招聘管理、绩效管理、系统管理等很多部分。在本次毕业设计中,我们模拟实现了一家现代企业的人力资源管理系统中的部分子系统。由于现代企业都拥有功能完善的企业内部网,所以该系统的体系结构采用了以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 研究背景

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

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

当今,网络技术的迅猛发展,使得基于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的网页都采用这种方法,如:

用来告诉浏览器这是用JavaScript编写的程序,需要调动相应的解释程序进行解释。

HTML的注释标签,用来去掉浏览器所不能识别的JavaScript源代码,这对于不支持Javascript语言的浏览器来说是很有用的。

//-Javascript结束:双斜杠表示JavaScript的注释部分,即从//开始到行尾的字符都被忽略。

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

   (2)引用方式

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

其中url就是.js文件的地址。同样,这样的语句可以放在HTML文档头部或主体的任何部分。如果要实现“直接插入方式”中的效果,可以首先创建一个JavaScript源代码文件“script.js”,其内容如下:document.writeln("这是Javascript!采用直接插入的方法!")。在网页中可以这样调用程序:

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配置文件的核心代码:    

      

        

            WEB-INF/user/list.jsp

            WEB-INF/user/view.jsp

            WEB-INF/user/add.jsp

            WEB-INF/user/edit.jsp

        

       

 

   (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页面上,并能够根据业务的需要生成指定的报表或数据的汇总统计结过以及进行打印工作。

3.2.4 数据管理能力要求

(1)相应的数据访问控制措施

(2) 登录时用户的身份鉴别与权限控制

(3)数据的完整性保护措施。

3.2.5 网络安全要求 

(1)通过设置安全级别权限来增强系统的安全性。

(2)通过设置用户密码的复杂程度,来增强系统的安全;若密码被盗,应快速告知管理员注销该用户。

(3)对来自内部的攻击则抵御的能力不强,只能关闭服务器。

4.  系统的设计与实现

4.1 系统层次划分

在该系统中,系统共分为5层,分别为表现层、控制层、业务逻辑层、数据访问层、数据层,如图4.1所示。

图4.1 系统层次划分图

在表现层中,系统主要采用了JSP技术,将Action传递过来的数据封装在ActionForm对象中,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数来处理用户的请求,进行一定的处理之后,再反馈给前台页面。

控制层的作用主要是控制协调系统中各模块的执行流程,在控制层中,Struts中的核心控制器ActionServlet控制系统流程转向。

业务逻辑层,主要采用Javabean,来实现对具体系统的业务逻辑处理。

数据访问层,主要是采用Hibernate持久化方案,通过Hibernate来对数据层进行封装操作,这样了方便于在不同的数据库系统间移植。Hibernate对数据的持久化操作实现了以面向对象的思想来操作数据库。

数据层存放系统中的数据,本系统采用MySQL数据库。

4.2 数据库的设计与实现

数据库是存放数据的仓库,也即是数据按照一定的规律存放在计算机中,它是信息系统的核心和基础,是信息系统开发和建设的重要组成部分,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库的设计是信息资源管理最有效的手段,数据库设计就是根据具体的应用环境,构造合理数据库模式,建立数据库的逻辑结构,有效存储数据,满足用户实际需求和系统应用处理要求。在动态网站设计中数据库的重要性不言而喻。合理地设计数据库结构可以提高系统运行的效率。如果设计不当,查询起来就非常吃力,系统的性能也会受到影响。

数据库设计实际上就是对项目设计的一个整体规划,因为数据库的设计要从全局的角度考虑,而且数据库中表的结构都是与程序紧密相关的,如果数据库设计如果没有到位,程序的设计也会受到一定的影响。

数据库的设计一般主要包括两个部分:

   (1)对具体的网站系统的设计进行需求分析,确定需在数据库中保存的信息。

   (2)确定每个表的字段属性。

    本系统采用的是MySQL数据库,系统数据库名为hrmps,根据系统的设计和业务逻辑的分析,数据库HRMP中包括12个数据表。

本系统所用的数据库表有:

   (1)user用户表

   (2)role角色表

   (3)privilege权限表

   (4)user_role赋予角色表

   (5)role_privilege赋予权限表

   (6)archive档案表

   (7)work工作经历表

   (8)family家庭关系表

   (9)study学习经历表

   (10)contract合同表

   (11)application应聘信息表

   (12)unit单位表

表4.1 user(用户)表

序号列名数据类型长度标识主键允许空说明
1userIdint20用户编号(自增长)
2birthdaydatetime20出生日期
3educationvarchar50学历
4interestvarchar100兴趣
5loginNamevarchar50登录名
6loginPwdvarchar50登录密码
7sexvarchar10性别
8telephonevarchar50电话
9remarkvarchar100备注
    说明,该表用于保存使用该系统的用户信息

表4.2 role(角色)表

序号列名数据类型长度标识主键允许空说明
1ridint20角色编号(自增长)
2namevarchar20角色名
3descritpionvarchar50角色描述
    说明,该表用于定义该系统的系统角色

表4.3 privilege(权限)表

序号列名数据类型长度标识主键允许空说明
1pidint20权限编号(自增长)
2namevarchar50权限名
3actionUrlvarchar50响应地址
4descriptionvarchar50权限描述
说明,该表用于定义系统中不同角色所具有的权限信息

表4.4 user_role(赋予角色)表

序号列名数据类型长度标识主键允许空说明
1ridint20角色编号
2uidint20用户编号
说明,该表用于定义系统中不同用户所能分配的角色信息

表4.5 role_privilege(赋予权限)表

序号列名数据类型长度标识主键允许空说明
1pidint20权限编号
2uidint20用户编号
说明,该表用于定义系统中不同角色所能赋予的权限信息

表4.6 archive(档案)表

序号列名数据类型长度标识主键允许空说明
1ArchiveIdint20自增长
2UserIdint20用户编号
3Namevarchar50姓名
4NickNamevarchar50曾用名
5Sexvarchar50性别
6Agevarchar50年龄
7MinZuvarchar50民族
8BirthDateDate50出生日期
9NativePlacevarchar50籍贯
10FamilyTypevarchar50户籍类别
11Weddingvarchar50婚姻状况
12Degreevarchar50学历
13PoliticalFacevarchar50政治面貌
14HealthStatusvarchar50健康状况
15IdCardvarchar50身份证号
16HouseAddressvarchar50家庭住址
说明,该表用于保存被管理用户的基本档案信息

表4.7 work(工作经历)表

序号列名数据类型长度标识主键允许空说明
1WorkIdint20自增长
2ArchiveIdint20档案编号
3TimeStartDate50起始时间
4TimeEndDate50终止时间
5WorkUnitvarchar50工作单位
6UnitNaturevarchar50单位性质
7ExtremePositionvarchar50最高职位
说明,该表用于保存被管理用户的工作经历信息

表4.8 family(家庭关系)表

序号列名数据类型长度标识主键允许空说明
1FamilyIdint20自增长
2ArchiveIdint20档案编号
3MemberNamevarchar50家庭成员名
4Relativevarchar50亲属关系
5IdCardvarchar50身份证号
6PoliticalFacevarchar50政治面貌
7WorkUnitvarchar50工作单位
说明,该表用于保存被管理的用户的家庭关系信息

表4.9 study(学习经历)表  

序号列名数据类型长度标识主键允许空说明
1StudyIdint20自增长
2ArchiveIdint20档案编号
3TimeStartDate50起始时间
4TimeEndDate50终止时间
5GraduateSchoolvarchar50毕业院校
6Degreevarchar50学历
7StudyTypevarchar50学习类型
说明,该表用于保存被管理的用户的学习经历信息

表4.10 contract(合同)表

序号列名数据类型长度标识主键允许空说明
1ContractIdint20自增长
2UserIdint20用户编号
3ContractNameDate50合同名称
4ContractTimeDate50合同期限
5TimeStartvarchar50起始日期
6TimeEndvarchar50终止日期
说明,该表用于保存被管理的用户的合同信息

表4.11 application(应聘信息)表

序号列名数据类型长度标识主键允许空说明
1ApplicationIdint20自增长
2ContractIdint20合同编号
3Namevarchar50姓名
4Sexvarchar50性别
5MinZuvarchar50民族
6BirthDateDate50出生日期
7PoliticalFacevarchar50政治面貌
8CultivateWayvarchar50培养方式
9IdCardvarchar50身份证号码
10Mailvarchar50电子邮箱
11HealthStatusvarchar50健康状况
12Majorvarchar50主修专业
13Termvarchar50学制
14Degreevarchar50学历
15HouseAddressvarchar50家庭住址
16PostCode1varchar50家庭所在地邮编
17CurrentAddressvarchar50现通讯地址
18PostCode2varchar50现通讯地址邮编
19PhoneNumbervarchar50联系电话
说明,该表用于保存被管理的用户的应聘信息

表4.12 unit(单位)表

序号列名数据类型长度标识主键允许空说明
1UnitIdint20自增长
2ContractIdint20合同编号
3UnitNamevarchar50单位名称
4UnitBetovarchar50单位隶属
5Contactervarchar50单位联系人
6ContactNumbervarchar50联系电话
7UnitNaturevarchar50单位性质
MailAddressvarchar50通讯地址
PostCode3varchar50单位所在地邮编
DanganAddressvarchar50档案转寄地址
PostCode4varchar50转寄地址邮编
HukouAddressvarchar50户口迁移地址
PostCode5varchar50迁移地址邮编
Notevarchar500备注信息
说明,该表用于保存被管理的用户的单位信息

4.2.1数据库的数据模型

数据库的数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:

   (1)能够比较真实的模拟现实世界

   (2)容易为人所理解

   (3)便于计算机实现

    概念数据模型(CDM)也称信息模型,它以实体-联系(Entity-RalationShip,简称E-R)理论为基础,并对这一理论进行了扩充。他从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。

    通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM,再将它转换为计算机上某个DBNS所支持的数据模型,这样的数据模型就是物理数据模型,即PDM。

    物理数据模型,简称物理模型,是面向计算机物理表示的模型,描述了数据在介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有对应的物理数据模型,DBMS为了保证其性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。

CDM是一组严格定义的数据元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性的约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。

   (1)数据结构表达为实体和属性;

   (2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;

   (3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);

实体(Entity),也称实例,对应现实世界中可区别于其他对象的“事件”或“事物”。每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干属性来描述。

实体集(Entity Set)是具体相同类型及相同性质的实体的集合。

实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合。实体是实体类型的一个实例在含义明确的情况下,实体、实体类型通常可以互换使用。实体类型中的每个实体包含唯一的标识它的一个或一组属性,这些属性称为实体类型的标识符(Identifier)。

 数据库的CDM(概念数据模型)和PDM(物理数据模型):

   (1)概念数据模型(CDM)

    图4.2所示为安博人力资源管理系统的概念数据模型,它反映了用户类型、权限、用户、合同、档案、单位、应聘者、工作经历、学习经历、家庭关系实体之间的实体-联系图。                                  

 图4.2 数据库的概念数据模型

   (2)物理数据模型 (PDM)  

    图4.3为安博人力资源管理系统的物理数据模型,它反映了用户类型、权限、用户、合同、档案、单位、应聘者、工作经历、学习经历、家庭表在数据库中以某种组织形式来存储。

                              图4.3 数据库的物理数据模型

4.3 系统的设计与实现

4.3.1 系统项目的文件夹结构

在编写代码之前,通常先将框架所需要的文件夹先创建出来(例如:创建各个框架层次用到的代码文件分开存放,如entity、dao、service、action等),这样不但可以方便以后的开发工作,也可以实现框架的规范化。在安博人力资源管理系统中,设计了如图4.4所示的项目文件结构图。

图4.4 项目文件结构图

    项目目录结构中的几个重要的文件夹:

   (1)entity:用于存放各数据表所对应的类文件。

   (2)dao:用于存放各种操作数据库的类及接口文件。

   (3)service:存放解决业务逻辑的类及接口文件。

   (4)action: 用于存放控制业务逻辑层和表现层之间数据处理的类

   (5)struts:存放控制类Action和ActionForm类文件。

   (6)WEB-INF:该目录用来存储与Web应用程序相关的元信息。这些资源可以被Web应用程序中的Servlet和JSP页面访问。在该目录下一般存放下面这些内容:

    1)classes目录:用来存放Java类文件,包括被编译后的Servlet文件等。此外,还可以存放一些配置文件,该目录是Web应用程序的上下文类路径。Java程序在寻找自身引用的其他类文件时,会搜索该目录下的Java文件。

    2)Lib目录:该目录用来存放Web应用程序中要应用的库文件,这些库文件打包为jar文件。该目录也是Web应用程序的上下文类路径。Java程序在寻找自身引用的其他类文件时也会搜索该目录。

    3)web.xml文件:该文件称为Web应用程序部署描述符,是Web应用程序的配置文件,用于在应用程序开发人员、部署人员和集成人员之间传递配置信息。Web容器启动的时候,会使用该文件中的配置内容来加载应用程序。 

    web.xml配置文件的核心代码:

    

        contextConfigLocation

       

        /WEB-INF/applicationContext.xml

       

        

        

    

    

      org.springframework.web.context.ContextLoaderListener

      

      

    

      struts2

         *.action

4.3.2 登录模块

使用系统的用户分为4类,即是人力资源经理,人力资源专员,信息录入员,系统管理员(admin_role)。在系统中已经注册的用户可以根据用户名和密码登录系统,当用户输入用户名、密码,点击登陆按钮,系统会把用户名信息、密码信息和数据库中的对应的表进行信息匹配。匹配成功则很据不同的用户所具有的不同权限进入相应的管理页面,否则给出相应提示。系统管理员, 是系统的超级用户,他可以添加、删除、修改、查询用户,为用户分配角色、为权限赋予角色。普通用户可以使用系统管理员分配的用户名、密码登陆系统。具体的登录的效果图如图4.5所示:

图4.5 登录界面

表4.13  用户登陆模块功能实现页面表

区域名称说明对应文件
form1form表单method=”post”、action=” login.jsp”

loginNametext用户名
loginPwdtext密码
说明,该表为用户登录时所提交的页面对应表单的内容。

如图4.6所示,当用户登陆成功后系统页面会跳转到后台管理的主界面

图4.6  系统后台主界面

 4.3.3 注册模块

使用该系统的用户要完成管理工作需要先注册,当用户点击注册,页面跳转到注册界面,用户输入用户名、性别、密码、确认密码、学历、电话、兴趣爱好,然后点击提交,在系统中完成注册。当用户不输入用户名或密码,或两次输入密码不一致时,或用户名已在系统存在时,系统会自动提示且用户不能进行注册。若所有填写信息正确,则注册成功,注册成功后系统页面自动跳转到登录界面。具体的效果图如图4.7所示:

图4.7  注册界面

图4.8  注册界面

图4.9  注册界面

 表4.14  用户登陆模块功能实现页面表

区域名称说明对应文件
form2form表单method=”post”、action=” register.jsp”

loginNametext用户名
sextext性别
loginpwdtext密码
birthdaydatetime出生日期
telephonetext电话
interesttext兴趣爱好
说明,该表为用户注册时所提交的页面对应表单的内容。

4.3.4 系统管理子系统

     系统管理即系统管理模式,也叫一体化整合管理模式,是以提升核心竞争力和整体价值最大化为目标,以企业核心价值导向和战略目标为核心,对企业整体的运行模式、运行效率和运行效益进行全面评估,确立整体全系统的解决方案。系统管理模式的成果不是管理模块的简单相加的解决方案,而是企业整体与子系统之间、模块与模块之间的联动性、协调性、增益性全面解决之道。

在安博人力资源管理系统中,若用户已经注册或系统管理员已经添加了某用户,该用户就具有相应的角色,同时该用户在该角色下被分配了具体的操作系统的权限。当登录成功后,不同用户能够进行不同的对用户信息的操作。系统管理子系统包括三个模块:用户管理模块、权限管理模块、角色管理模块。系统管理子系统效果图如图4.10所示:

图4.10  用户管理主界面

   (1)用户管理模块 

用户管理模块是对使用安博人力资源管理系统的用户进行管理,系统管理员对使用该系统的用户进行添加、编辑、删除、查询,同时被赋予相应权限的用户也可对用户进行管理。当具有相应权限的用户点击添加时,系统会跳转到添加用户的界面,具体的效果图如图4.11所示:

图4.11  添加用户界面

    用户添加成功后,系统会自动跳转到用户管理主界面显示更新后的用户列表信息,具体的效果图如图4.12所示:

图4.12  添加LIUO用户后的界面

    当具有相应权限的用户点击查看某个用户的信息时,系统会跳转到当前被查看用户的信息页面,如查看Liang用户的信息效果图如图4.13所示:

图4.13  查看Liang用户的信息界面

当具有相应权限的用户点击编辑某个用户的信息时,系统会跳转到当前被编辑用户的信息页面,如编辑Dong用户的信息效果图如图4.14所示:

图4.14  编辑用户信息界面

 编辑完用户信息后按确定按钮后,系统会自动跳转到用户管理主界面显示更新后的用户列表信息,具体的效果图如图4.15所示:

图4.15  编辑Dong用户后的信息界面

当具有相应权限的用户点击删除某个用户的信息时,系统会更新用户管理主界面的用户列表信息,如删除XIAO用户后用户列表显示的效果图如图4.16所示:

图4.16  删除XIAO用户后的信息界面

当具有相应权限的用户在‘用户信息’搜索栏中输入某个用户名,点击查询后用户列表会显示被查询的用户,如查询Rong用户后用户列表显示的效果图如图4.17所示:

图4.17  查询Rong用户的信息界面

(2)角色管理模块

角色管理模块是对使用安博人力资源管理平台的用户的角色进行管理,该系统的角色有4种:人力资源经理、人力资源专员、信息录入员、系统管理员。系统管理员对使用该系统的用户分配角色、释放角色。同时被分配相应角色的用户根据自己的权限也可对用户进行管理。角色管理的具体效果图如图4.18所示:

   图4.18  角色管理主界面

当具有相应权限的用户选择某个用户后,然后选中左边列表中4种角色中的任意一种或几种后点击中间最顶端的按钮,给该用户分配角色,分配完角色后点击提交,信息会保存在数据库相应的表中,则该用户就具有相应的角色。如为Rong用户分配角色的效果图如图4.19所示:

图4.19  角色分配界面

角色分配完提交成功后,系统会跳转到角色管理主界面,这时在上面的下拉列表中选择Rong用户查看该用户的角色。查看用户角色具体的效果图如图4.20所示:

图4.20  查看用户角色界面

   (3)权限管理模块

权限管理模块是对使用安博人力资源管理平台的用户的角色赋予权限,该系统的权限有12种:用户管理、用户角色、角色权限、添加用户、添加用户页、编辑用户、编辑用户页、删除用户、查看用户、检索用户、保存用户角色、保存角色权限。系统管理员对使用该系统的用户通过分配角色来赋予权限。同时被赋予相应权限的用户可以对用户进行管理。权限管理的具体效果图如图4.21所示:

   图4.21  权限管理主界面

当具有相应权限的用户选择某个角色后,然后选中左边列表中12种权限中的任意一种或几种后点击中间最顶端的按钮,给该角色分配权限,赋予权限完后点击提交,信息会保存在数据库相应的表中,则该角色就具有相应的操作系统的权限。下图为信息录入员赋予权限的效果图如图4.22所示:

图4.22  权限赋予界面

赋予权限完成后点击提交,系统会跳转到权限管理主界面,这时在上面的下拉列表中选择信息录入员查看该角色的权限信息。查看角色相对的权限信息的具体效果图如图4.23所示:

图4.23  权限赋予后的界面

4.3.5 档案管理子系统

    根据需要建立档案的信息,主要的记录信息以安博人力资源公司提供的纸质档案为准,可以根据需要增加扫描纸质档案,上传档案人员照片。所有信息由信息录入员采集录入系统,方便管理人员进行管理。具有相应权限的用户可以对档案信息进行增加、删除、修改、查询等操作,还可以根据需要采集档案库中已经存在的档案信息。下图为档案管理的具体效果图如图4.24所示:

图4.24 档案管理主页面

当信息录入员需要建立档案信息时,点击详情,系统跳转到档案信息界面,在该页面可以通过输入员工档案的相关信息来建立档案信息,也可以对具体某个人的档案基本信息(家庭关系、工作经历、学习经历等信息)进行查看、编辑。下图为建立管理信息的具体的效果图如图4.25所示:

图4.25 建立档案页面

表4.15 档案管理模块功能实现页面表

区域名称说明对应文件
form1form表单method=”post”、action=” danganguanli_full.jsp”

ArchiveIdtext用户编号
Nametext姓名
NickNametext曾用名
Sextext性别
Agetext年龄
MinZutext民族
BirthDatetext生日
NativePlacetext籍贯
FamilyTypetext户籍类别
Degreetext学历
wedingtext婚姻状况
HealthStatustext健康状况
IdCardtext身份证号
HouseAddresstext家庭住址
说明,该表为建立档案信息时所提交的页面对应表单的内容。

4.3.6 合同管理子系统

    根据需要将需要管理的合同录入系统,主要记录信息以安博人力资源公司提供的纸质合同为准,可以根据需要增加扫描纸质合同,上传与合同相关的附件。所有信息由信息录入员采集录入系统,方便管理人员管理。具有相应权限的用户可以增加、删除、修改、查询相关的合同信息,合同到期时进行续签提醒,还可对数据库中的合同信息数据进行汇总统计,方便管理层进行工作分配安排。合同管理的具体效果图如图4.26所示:

图4.26 合同管理主页面    

当信息录入员需要建立合同信息时,点击详情,系统跳转到合同信息界面,在该页面可以通过输入员工合同的相关信息来建立合同信息,也可以对具体某个人的合同信息(单位、应聘信息)进行查看、编辑。下图为建立合同信息的具体的效果图如图4.27所示:

图4.27 建立合同页面

表4.16 合同管理模块功能实现页面表

区域名称说明对应文件
form1form表单method=”post”、action=” hetongguanli_full.html”

ContractIdtext合同编号
ContractNametext合同名称
ContractTimetext合同期限
TimeStarttext起始日期
TimeEndtext终止日期
说明,该表为建立合同信息时所提交的页面对应表单的内容。

总  结 

通过三个月的努力,在老师与同学们的指导帮助下,安博人力资源管理系统顺利的完成了。本系统是按照软件工程专业的方法来进行设计和开发的,用来对人力资源的数据信息进行有效的管理。通过这次毕业设计,使我对一个系统开发的流程有了更为深刻的理解和认识。极大地增强了自己的动手能力,同时将自己在课堂中学到的理论知识更好地运用在实际应用中。

同时,在这次设计中,我也发现了自己的许多不足。首先,最初开发本系统时,对开发工具的掌握还不算很熟练,比如,如何调试MyEclipse出现的异常信息、如何正确部署并在Web中访问项目等,走了不少弯路;其次,对系统没有一个完整的概貌,对系统的业务流程不是很了解,没有全面的去考虑系统,导致数据库的设计和系统的实际需求脱钩;再次,由于技术上和认识上的缺陷,导致以系统功能扩充时,碰到不少困难;最后,我还应该全面地掌握SSH框架技术,好多的细节需要自己去研究学习,不断提高自己网站的开发能力。

通过这次毕业计,在以下几方面有了很大的提高:

(1) 熟悉了系统完整的开发流程,对开发的流程有了更为深刻的认识。

(2) 提高了英文阅读和理解能力,逻辑思维能力得到了提高。

(3) 提高了分析问题和解决问题的能力,掌握了解决问题的一般方法。

(4) 对使用Java语言进行系统开发的相关技术有了更深的认识

(5) 提高了技术总结和撰写论文的能力。

当然,在短短的几个月中,开发出来的这个Web管理信息系统还有很多不足,功能还不是很完善,还有进一步扩展的空间。

(1)可将用户的薪资管理信息、社会基本保险管理、辅助数据管理、嵌入式系统日志、办公OA等子系统进行扩展,计算机可以智能的对数据进行分析,自动地成合同数据汇总分析报表,并提出节约成本的建议,供企业管理人员参考。

(2)系统的交互界面可以变得更加友好,对页面的布局和版块的设计可以更加合理。

致  谢

近三个月时间的毕业设计是我大学生活中忙碌而又充实一段时光。这里有治学严谨而又亲切的老师,有互相帮助的同学,更有积极、向上、融洽的学习生活氛围。短短的时间里,我学到了很多的东西。不仅学到就更多的理论知识,扩展了知识面,提高了自己的实际操作能力;而且学会了如何去学习新的知识,学会了面对困难和挑战,学会了团结合作,互助互利。借此设计论文之际,向所有帮助、关心、支持我的老师、朋友同学,表达我最真诚的谢意。

首先感谢指导老师。本论文是在老师悉心指导和帮助下完成的。在此,我对黎扬老师的耐心指导和帮助表达我最真诚的谢意,感谢他在这几个月来对我的帮助。在这段时间里,我从他身上,不仅学到了许多的专业知识,更感受到了他工作中的兢兢业业,生活中的平易近人的精神。此外,他的严谨治学态度和忘我的工作精神值得我去学习。

非常感谢我的同学。当我在毕业设计过程中遇到问题和困难时,是他们给我提出许多关键性的意见和建议,并给与我技术上的指导,使我对整个毕业设计的思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我获益良多。

同时,感谢四年来传授我知识的老师们,更要感谢我的家人及朋友对我学业上的支持和鼓励,感谢所有关心、帮助过我的人。同时感谢我的大学,感谢电子与信息工程学院。我不会忘记你们。

    总之,在以后的学习、工作、生活中我将更加努力,用自己的行动回报社会、学校、老师及同学。

参考文献

[1] 高洪岩. 至简SSH精通JavaWeb实用开发技术[M]. 北京: 电子工业出版社,2009.

[2] 李刚. 疯狂Java讲义[M]. 北京: 电子工业出版社, 2008.

[3] 孙卫琴. 精通Hibernate: Java对象持久化技术详解[M]. 北京: 电子工业出版社, 2010.

[4] 王林玮. JSP网络开发技术与案例应用[M]. 北京: 机械工业出版社, 2008.

[5] 张洪伟. JSP网络开发技术与整合应用[M]. 北京: 清华大学出版社, 2006.

[6] 李曙光. JSP开发实例完全剖析[M]. 北京: 中国电力出版社, 2006.

[7] 周爱民. JAVASCRIPT语言精髓与编程实践[M]. 北京: 电子工业出版社, 2008.

[8] 孙卫琴. 精通Struts:基于MVC的Java Web设计与开发[M]. 北京: 电子工业出版社, 2004.

文档

软件工程毕业设计论文

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

最新推荐

猜你喜欢

热门推荐

专题
Top