人力资源管理系统的设计与实现毕业论文.docx
分类号 密级U D C*大学毕业设计(论文)人力资源管理系统的设计与实现 姓 名: 专 业: 班 级: 学 号: 指导教师: 论文外文题目:Design and Implementation Of Human Resource Management System论文主题词:人事管理 JSP MyEclipse开发 SQL数据库 外文主题词:Personnel Management JSP MyEclipse Development SQL论文答辩日期:答辩委员会主席:评阅教师:原创性声明本人呈交的毕业论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业论文的知识产权归属于培养单位。本人签名: 日期:摘 要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。人力资源管理也已成为世界各国发展的共同战略。企业中员工对工作的投入程度在很大程度上决定了该企业的兴衰与成败。如何能保持本企业员工的工作责任感,激励他们的工作热情,减少人才的流失,已成为困扰企业主管和人力资源经理的一个日益尖锐的问题。随着科学技术的不断提高,计算机技术不断成熟,管理信息系统的强大功能已经为人们深刻认识,借助现代信息技术和管理理论,建立企业信息管理系统是当今社会的重要趋势。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。因此,开发一个界面友好,易于操作的人力资源管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本系统针对现有的人力资源情况,通过建立透明、相容、一致、易查和全面的人力资源管理系统,动态直接反映企业人力资源的状况,为人力资源管理和高层决策领导提供高效的决策支持。此人力资源管理系统使企业管理人员能够及时,方便地获得所要人员的各种信息,以及对信息的组合条件查询,更新,从而提升企业的工作效率和竞争力,满足了现代企业管理的需要。 本网页设计的内容是设计并且实现一个基于web技术的人力资源管理系统,故而系统主要以J2EE作为开发基础,主要使用了struts2+spring+hibernate等多种框架的结合使用,用myeclipse8.5作为开发工具,以MYSQL作为数据库,以Dreamweaver作为界面美化工具,使用JAVA语言开发,页面采取SSH框架技术开发动态页面。该系统界面简单、操作方便,容易维护。关键词:人事管理 JSP MyEclipse SQL数据库ABSTRACT With the rapid development of computer popularization and computer science technology, more and more people began to use computers to solve practical problems. Human resources management has become the common strategic development of countries all over the world. Involvement of people in the enterprises support and staff on the work of deciding the success or failure of the enterprise to a great extent. How to maintain the employees' sense of responsibility, encourage their enthusiasm, reduce the loss of talent, has become a sharp problem for business executives and human resource managers. With the continuous improvement of science and technology, computer technology continues to mature, powerful function of management information system has a profound understanding of people, through the use of modern information technology and management theory, the establishment of enterprise information management system is an important trend in today's society. The staff information management is an important part of enterprise information management, in the face of a large number of personnel information, using manpower to tackle the waste of time, waste of human and material resources, and low accuracy of the data. Therefore, development of a friendly interface, easy operation and human resources management software for automated processing becomes very important, this is precisely the purpose and significance of the development of the system. This system in view of the existing human resources, human resources management system by establishing transparent, compatible, consistent, easy and comprehensive, dynamic reflects the enterprise human resources directly condition, to provide effective decision support for human resources management and decision-making leadership.This human resource management system so that business executives are able to timely, convenient access to a variety of information to be officers, as well as the conditions of a combination of information query, update, so as to enhance the efficiency and competitiveness of the enterprise to meet the needs of the modern enterprise management. This system is mainly a function of rewards and punishments, recruitment, wages, training, attendance, employee information management Front desk of the system mainly uses JSP as a development language, background use SqlServer as a database management system, development environment MyEclipse using tomcat server, developed a Web technology-based B / S structure of the human resource management systemKeywords: Personnel Management JSP MyEclipse SQL目 录1 引言11.1 课题背景11.2 开发设计目的及意义11.3 开发工具及环境介绍22 系统需求分析42.1 系统可行性分析42.2 系统需求分析42.3 系统性能需求52.4 设计的基本思想53 系统分析与设计63.1 系统目标63.2 系统总体设计73.3 系统流程图83.4 系统软硬件平台84 数据库设计104.1 数据库结构设计104.2 系统E-R图124.3 数据库逻辑结构设计135 系统详细设计165.1 详细设计和系统实现步骤165.2 系统首页设计165.3 系统主界面185.4 考勤管理模块设计195.5 人力管理模块设计215.6 事项管理模块设计236 系统测试246.1 测试的任务及目标246.2 测试方案247 配置/开发工具27结束语28致谢29参考文献30VII1 引言1.1 课题背景随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。人力资源管理也已成为世界各国发展的共同战略。企业中人心的向背和员工对工作的投入程度在很大程度上决定了该企业的兴衰与成败。如何能保持本企业员工的工作责任感,激励他们的工作热情,减少人才的流失,已成为困扰企业主管和人力资源经理的一个日益尖锐的问题。3随着科学技术的不断提高,计算机技术不断成熟,管理信息系统的强大功能已经为人们深刻认识,借助现代信息技术和管理理论,建立企业信息管理系统是当今社会的重要趋势。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。因此,开发一个界面友好,易于操作的人力资源管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。2本系统针对现有的人力资源情况,通过建立透明、相容、一致、易查和全面的人力资源管理系统,动态直接反映企业人力资源的状况,为人力资源管理和高层决策领导提供高效的决策支持。1.2 开发设计目的及意义随着时代的发展,科学技术的日益进步,人才对于一个公司的作用更加显得突出。并成为了决定公司发展兴衰的主要元素之一。从而使得人力资源管理工作也慢慢成为一个公司的管理的重要组成部分。为了适应社会发展,更加有效的发挥出人才的才华与能力,所以就必须建立一个完善的人力资源管理系统方法,并使其投入到对人力的管理与分配上,解放以前的那种复杂而缓慢的工作方式,提高工作效率和管理水平,推动企业与人文的和谐发展。只有建立完善的人才管理方式,才能更好的与世界接轨,从而实现公司的长久稳定发展。3人力资源管理原来都是手工操作的,这样对员工的信息更新有许多不方便。为了满足人力资源管理的需求,决定用JSP技术开发一个基于B/S的人力资源管理系统。人力资源管理系统主要进行对人事信息的更新和管理的智能操作4。对员工的出勤,奖惩,部门等信息进行管理,为管理者带来许多方便。1.3 开发工具及环境介绍1.3.1 MyEclipse8.5 MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。 MyEclipse企业级工作平台,(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。1.3.2 JDK1.6JDK(Java Development Kit)是Sun Microsystems公司为Java开发人员设计的产品。从Java诞生以来,JDK已经成为使用最广泛Java SDK。JDK是整个Java的核心内容,包括了Java运行环境,Java工具和Java基础的类库三部分。从Sun的JDK1.5开始,提高哦该了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。1.3.3 TomcatTomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。1.3.4 MySQL数据库SqlServer2005是一个开放源码的软件,是一个全面的数据库平台。SqlServer2005为关系型数据和结构化数据提供安全可靠的存储功能。2 系统需求分析2.1 系统可行性分析2.1.1 经济上的可行性1. 前期投入资金比较少,只需要平台系统的开发、域名和空间的购买费用,需要一些花费,但是不多。2. 接下来就是资料的录入工作。管理员登陆系统后台,可对商品信息进行添加、修改等工作即可。3. 中后期主要工作就是维护更新,工作量不大,只需一位管理人员来完成添加商品、供应商、客户的信息。4. 平台进入正常运转之后,可高效地进行商品管理,节省大量的人力物力,从长远看,获益会远远大于支出。15从经济上来说,建设这样一个系统是可行的。2.1.2 操作上的可行性随着计算机的使用更加的广泛化,利用计算机来实现现代化的办公管理也越来越普遍。这不仅能够节省资源,同时也可极大地提高效率。人力资源管理系统的管理主要是信息的录入、修改、统计等工作,一般工作人员都能够胜任。从操作上来说是可行的。7在技术上,使用Myeclipse开发软件与Access数据库来开发使得系统能够得到有利的技术支持,并利于其后的维护与使用。82.2 系统需求分析 本人力资源管理系统前端页面显示采用JSP,后台数据库采用MySQL。针对中小型企事业对人力资源管理的需求,本系统实现了对员工,部门,职位,考勤,奖惩,培训和个人信息的管理,有效的实现了方便快捷的人力资源管理,减轻了管理人员的工作量,提高了管理人员的工作效率与工作质量。22.3 系统性能需求作为一个数据库系统,首先,系统要有很好的稳定性和可维护性,使得系统易于维护;其次,系统要有很好的可扩展性,能够在现有框架不变的前提下增加新的业务逻辑,进行二次开发;第三,系统要有很好的可移植性,在Windows系统下开发,适合觉得部分用户,以满足不同用户的需求;第四,系统要考虑使用该系统的所有用户的实际电脑操作水平,尽可能使界面简洁、美观、操作简单。102.4 设计的基本思想设计思想遵循以下几点:1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页搜索方式的用户。72. 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。83. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。54. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。55速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。56设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。53 系统分析与设计 开发系统之前,首先要对系统架构进行设计,此过程是对系统的整体结构的设计。包含系统的逻辑分层结构、结构的实现、数据库等等,特别是在Java的大型项目中,还需要设计出程序中的包结构及接口等,非常复杂,需要程序员进行全面的考虑3。3.1 系统目标通过人力资源管理系统可使管理者快速高效地完成企业日常事务中的人事工作,降低人力资源管理的成本,使管理者能集中精力实现企业战略目标3。人力资源管理系统的具体目标如下:1.对企业人力资源管理的基本信息进行管理。2.管理企业的员工信息(即人事管理功能)。3.实现为个人提供网络工作平台的功能。4.实现企业的应聘信息的管理功能。5.实现企业员工培训的一系列相关信息的管理。6.员工薪资信息管理。7.系统用户信息的管理。8.系统运行稳定、安全可靠。3.2 系统总体设计 本人力资源管理系统的需求,设计本网站组成结构显示了网站总体组织结构。本管理系统主要能够实现考勤管理、人力管理、 事项管理、 邮件管理 、个人管理等功能模块的功能。系统功能结构图如图3-1所示:人力资源管理系统考勤管理人力管理事项管理邮件管理个人管理上班签到下班签退考勤查看部门管理新增部门信息职位管理新增职位信息员工管理新增员工信息培训信息新增培训信息奖惩信息新增奖惩信息发送邮件查看个人信息修改个人信息退出系统图3-1系统功能结构图3.3 系统流程图通过需求分析,系统业务流程图如图3-2所示:图3-2系统流程图3.4 系统软硬件平台硬件需求:CPU:Pentium以上计算机内存: 512M以上软件需求:操作系统版本:Windows XP /vista/Win7开发工具:MyEclipse 6.0.1后台服务器:Apache Tomcat 6.0开发语言:Java浏览器:IE6.04 数据库设计4.1 数据库结构设计数据库表的逻辑设计,即把概念设计得到的概念数据库模式变为逻辑数据模式。人力资源管理系统中子模块所用到的数据表包括:员工、部门、职位、奖惩、培训和考勤。实体间 关系属性根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。实体1.员工实体拥有员工ID、备注、邮件、登录名、姓名、密码、电话、性别、部门ID和职位ID这十个属性。员工实体属性图如图4-1所示:图4-1员工实体属性图2.部门实体拥有部门ID、备注、名称和上级部门ID这四个属性。部门实体属性图如图4-2所示。图4-2部门实体属性图3.职位实体拥有部门ID、备注、名称和级别这四个属性。职位实体属性图如图4-3所示。图4-3职位实体属性图4.奖惩实体拥有奖惩ID、时间、备注、标题、员工名称、类型这六个属性。奖惩实体属性图如图4-4所示。图4-4奖惩实体属性图5.培训实体拥有奖惩ID、开始时间、天数、内容、名称、员工名称和公司这七个属性。培训实体属性图如图4-5所示。图4-5培训实体属性图6.考勤实体拥有考勤ID、规定时间、员工部门、备注、实际时间、员工姓名、结果、类型和电脑IP这九个属性。考勤实体属性图如图4-6所示。图4-6考勤实体属性图4.2 系统E-R图根据需求分析一个部门可以拥有多个员工,而一个员工只属于一个部门,所以部门和员工的关系是1:N的关系。一个职位拥有多个员工,而一个员工只拥有一个职位,所以职位和员工的关系是1:N的关系。整个考勤记录里拥有多条员工的考勤信息,而每条考勤信息里只拥有一个员工的考勤记录,所以考勤和员工的关系是1:N的关系。8根据以上分析,系统E-R图如图4-7所示。图4-7系统E-R图4.3 数据库逻辑结构设计数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。根据E-R模型,人力资源管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。4.3.1 部门信息表用于记录部门的ID、部门名称、备注和其上级部门的ID等信息。详细字段信息如表4-1所示。表4-1部门信息表字段类型是否为空键值默认注释idbigint(20)否PRI0编号(自增)descriptionVarchar(255)是NULL备注nameVarchar(255)否NULL部门名称parent_idVarchar(255)是MULNULL上级部门4.3.2 员工信息表用于记录员工的ID、员工名、密码、电话、邮件、备注以及所关联的部门ID和职位ID等信息。详细字段信息如表4-2所示。表4-2员工信息表字段类型是否为空键值默认注释idbigint(20)否PRI0编号(自增)descriptionVarchar(255)是NULL备注emailVarchar(255)是NULL邮件loginNameVarchar(255)否NULL登录名nameVarchar(255)否NULL姓名passwardVarchar(255)否NULL密码phoneNumberVarchar(255)是NULL电话sexVarchar(255)否NULL性别department_idbigint(20)否MULNULL部门IDrole_idbigint(20)否MULNULL职位ID4.3.3 职位信息表用于记录企业职位的编号、名字、备注以及权限的级别等信息。详细字段信息如表4-3所示。表4-3职位信息表字段类型是否为空键值默认注释idbigint(20)否PRI0编号(自增)nameVarchar(255)否NULL职位名称descriptionVarchar(255)是NULL备注gradeVarchar(255)是NULL级别4.3.4 奖惩信息表用于记录员工奖惩信息,包括奖惩类型、奖惩时间、奖惩标题,奖惩备注以及员工姓名等信息。详细字段信息如表4-4所示。表4-4奖惩信息表字段类型是否为空KeyDefault注释idbigint(20)否PRI0编号(自增)dayVarchar(255)否NULL奖惩时间descriptionVarchar(255)是NULL备注goodbannameVarchar(255)否NULL奖惩类型goodbadtitleVarchar(255)否NULL奖惩标题usernameVarchar(255)否NULL员工名称344.3.5 培训信息表用于记录员工的培训信息,包括培训项目名称、培训时间、培训总天数、培训公司、培训备注以及员工姓名等信息。详细字段信息如表4-5所示。表4-5培训信息表字段类型是否为空键值默认注释idbigint(20)否PRI0编号(自增)begintimeVarchar(255)否NULL开始时间companyVarchar(255)是NULL培训公司dayVarchar(255)否NULL培训天数descriptionVarchar(255)是NULL备注trainnameVarchar(255)否NULL培训名称usernameVarchar(255)否NULL员工名4.3.6 考勤信息表用于记录员工的考勤信息,包括公司规定上下班时间、员工签到签退时间、员工部门、员工上班下班类型、考勤结果、员工姓名以及签到电脑的IP等信息。详细字段信息如表4-6所示。表4-6考勤信息表字段类型是否为空键值默认注释idbigint(20)否PRI0编号(自增)defineTimeVarchar(255)否NULL规定时间departmentVarchar(255)是NULL员工部门descriptionVarchar(255)否NULL考勤描述loginTimeVarchar(255)是NULL签到(退)时间nameVarchar(255)否NULL员工姓名stateVarchar(255)否NULL考勤结果workTypeVarchar(255)否NULL上班下班类型ipVarchar(255)否NULL电脑ip5 系统详细设计5.1 详细设计和系统实现步骤 总体设计阶段完成了软件的结构设计,划分了模块,并规定了各模块的功能与它们之间的联系。在此之后,按照软件开发工程化的观点,应进入详细设计阶段。在详细设计这个阶段中,根据总体设计提供的文档,确定每一个模块的算法,内部的数据组织,选定工具表达清晰正确的算法,编写详细设计说明书,详细测试用例和计划。9 详细设计阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模块的内部过程描述。经过这个阶段的设计工作,得出对目标系统的精确描述,这个描述在编码阶段可以由程序员直接翻译成用某种程序设计语言书写的程序。详细设计又被称作过程设计,对模块的内部过程描述就是模块内部的算法设计。系统实现一般就是指的编码阶段。编码就是将软件详细设计的结果翻译成用某种程序设计语言书写的程序。12软件的设计开发过程经过需求分析、总体设计和详细设计几个阶段之后,已经形成了基本变成框架,最后就是通过编码对设计进一步具体化,实现相应的功能。运用软件功能方法设计软件,主要是为了提高软件质量,软件质量在很大程度上取决于设计的质量,同时编码的好坏也是影响软件质量的十分重要的因素,如果编码中存在各种问题,那么再好的设计也无法体现出来。另外,编码质量的好坏,也直接影响了软件测试和软件维护工作的进行。13但是系统实现是在系统设计的基础上的,基本上定下了系统设计,就基本上定下了系统实现。5.2 系统首页设计人力资源管理系统是一个典型的MIS信息系统,登录模块可以登陆进入每一个管理权限,然后根据自己所在权限进行工作的处理。2若想操作该系统,必须先登录到系统的主界面,若用户名和密码为空系统将提示“登录名和密码不能为空”,若输入的用户名、密码、验证码一个是错误的,系统也将给予相应的提示,输入的信息不正确。若不想对系统进行任何的操作可以退出系统,再进行其他的操作。其实现登录模块的流程如图5-1所示,运行效果如图5-2所示。开始输入用户名、密码、验证码选择根据用户权限不同,进入不同操作界面结束错误报告否是图5-1登录流程图 图5-2登录模块运行图系统登录关键代码如下:public String login()String loginName= user.getLoginName();String passwd=user.getPassword();MD5 md5 = new MD5();String password = md5.getMD5 of Str(passwd);User user = service.getUserByLoginNameAndPassword(loginName,password);if(user = null)ActionContext.getContext().put("message", "员工名或密码错误");return "login"elseActionContext.getContext().getSession().put("user", user);return "index"5.3 系统主界面系统主界面主要包括邮件管理、考勤管理、人力管理、事项管理、个人管理模块以及常用的快捷图标连接,在系统的左上方显示员工的姓名和系统当前的时间,在,页面的上方靠左的位置,显示员工的员工的姓名,职位和部门。系统主界面如图5-3所示。图5-3系统主界面实现系统主页面运行的关键程序代码如下:<div class="clear"></div><!- End .clear -><div class="content-box"><!- Start Content Box -><div class="content-box-header"><h3><font color="#05A2CE">Show</font></h3><div class="clear"></div></div><!- End .content-box-header -><div class="content-box-content"><div class="tab-content default-tab" id="tab1"><!- This is the target div. id must match the href of this div's tab -><iframe frameborder="1" id="main" src="Department!message.action" name="right" scrolling="auto"style="height:100%; width:100%; "></iframe></div><!- End #tab1 -></div><!- End .content-box-content -></div><!- End .content-box -><!- End .content-box -><div id="footer">5.4 考勤管理模块设计本模块自动获取了员工的姓名和部门,直接点签到,就可签到成功。可设定企业规定的上班和下班时间,系统会根据签到的时间和规定的时间做比较,自动添加考勤结果:迟到、正常和早退信息。其运行效果如图5-4所示。图5-4签到运行界面关键程序代码如下:String type = workLog.getWorkType();Boolean flag = workLogService.findWorkLogByIp(type);if(flag = true)return "repeatOnduty"if(workLog.getWorkType().equals("上班")this.workLogService.save(workLog);return "ondutyOK"考勤管理模块主,通过每天提交签到后,员工可以查看自己详细的考勤信息。详细考勤信息界面如图5-5所示。图5-5考勤查看界面关键程序代码如下:public String listWorkLogs()Map request = (Map) ActionContext.getContext().get("request");request.put("listWorkLogs", workLogService.findAllWorkLogs();return "listWorkLogs"5.5 人力管理模块设计5.5.1 新