1、基于JAVA的人力资源管理系统【实用文档】doc文档可直接使用可编辑,欢迎下载毕业设计(论文)课 题 名 称人力资源管理系统的设计与实现学 生 姓名万友利学 号 104041系、年级专业信息工程系、10级计算机科学与技术 指 导 教师柳小文职 称 讲 师 214年05月0日摘 要随着计算机的普及与计算机科学的快速发展,人们开始越来越多地使用计算机来处理我们生活中遇到的实际问题了。近几年来,企业之间的竞争也从有形的经济市场转向网络市场。对大多数企业管理者来说,如何有效的管理企业的人力资源,发挥出最大的效益,是每个企业管理者面临的难题与挑战。所以说企业人力资源管理系统是现代企业管理的重中之重。企业
2、人力资源管理系统既能提高企业人力资源管理的技术含量,还能提高企业的工作效率,也能让人力资源管理更加现代化、决策科学化.本系统采用了B/模式、MVC设计思想、先进的Mclse2014开发工具和Oracl 数据库进行设计。使用 Java语言开发出一个界面友好、功能全面、操作简单的企业人力资源管理系统。本文研究人力资源管理系统的主要内容有:员工信息管理、奖惩管理、培训管理、工资管理、部门管理、通讯录管理.本系统的开发目标是人力资源管理的业务逻辑用来实现高效化、智能化,帮助企业的人力资源管理者进行人力资源管理与数据分析。关键词: 人力资源;关系数据库;JavaABSTRCTWit te opulart
3、y of computer an e comper te rpid developmt of since ad technoog,popl beg o used mor ndmore ocoputers t soe pcticl probles or lf. Inrecet ea,the cmpetiin beten enteprise is tunng om viile ecnomi mres t the ewok. For ms o he entepise angr, how effctive agmenntepr uaresouces,ak s mxmum enefit, ieachnr
4、prise maagr continoy prblmsacaee.So Hman rsoure mnageetytm is there content of modrnenterprise maagmet.not nlyipv te skill of human reurcemanageme ad hefficiecy of thenterrisebt ls mae human sorce magmen mden an decisciencficT moden company persnnl resoue anagementsysem USES aSmode,MV din idas,prent
5、 more advance Mclps 2014devopment o nd Oacle11g databse desn dvelopment o afriedlinterace,prhnse unctions, oprainsileetpiehumareuces anageesystm.The ain cntnts ofthehaman resoure mgement s ncldes ecruitent mnagement, prsonnel mangemnt,ttedncenagement training mamnt, salnagement nd syse cofuation。The
6、 dlomeof he systeais a making t angeent inessloc reficit a intelge tohel eoe mgethe human rseand analysis the statiics.Key ords:Humnresource manage,rlatio atabase, Jaa目 录摘要ABSTRAT第1章 绪论1.1 课题背景.2设计目的和意义2第2章 相关技术介绍2.开发工具简介 22MVC框架简介3。3B/S结构模式简介2.4系统运行配置介绍5第3章系统分析63.1可行性分析。2功能需求分析7 3。3其他需求分析第4章 总体设计9
7、4.系统模块总体设计2数据库设计10第5章 详细设计与实现151系统首页与登录设计与实现1 5。2工资管理设计与实现1 5.培训管理设计与实现17 5。4员工信息管理设计与实现18 .5员工奖惩档案设计与实现22 。部门信息管理设计与实现25 7通讯录档案设计与实现2结束语29参考文献致 谢3附录32第章绪论在20世纪70年代以后,人们开始意识到人的能动性和创造性对现代企业管理工作中的重要性。并且在20世纪80年代后出现一种以人本主义思想为理论基础和特质的管理模式。对人的管理从观念、模式、内容和方法等方面地向人力资源管理转变.而随着电脑与网络技术的快速发展,数据库的应用范围越来越多和功能越来越
8、强大,在企业之间的竞争已经从有形的市场经济转向了无形的网络领域。因此企业管理也进入了高效的信息化的时代,所以开发企业人力资源管理系统是有必要的。而在软件市场上也出现了很多致力于人力资源管理方面的产品。人力资源管理系统指的是人力资源管理网络信息化、标准化、科学化,是企业在高速度、硬件的大容量和IT软件先进的基础上的一种人力资源管理模式。通俗地说,就是人力资源管理信息化或自动化。1。1 课题背景自1900年以来,人力资源管理最初只是一些比较简单的操作:工资发送、员工档案记录、安排社区访问等。但随着企业自身人力资源的逐渐庞大,复杂程度慢慢增强,增加了很多管理方式,如:招聘、培训等人机作坊再也无法满足
9、如今企业的人事管理了。而且在以人为本的观念的熏陶下,人力资源管理已经在组织中的作用显现出其重要性。企业需要通过人力资源管理系统来提高企业的管理水平。基于此,人力资源管理系统也从此应运而生。所谓的人力资源管理就是从经济学的角度来指导和进行预测组织人力资源需求,并作出人力资源需求计划、招聘工作人员然后进行有效组织、支付报酬等,并不断地进行激励、综合组织与个人需要进行有效开发来实现最优组织绩效的全过程。同时对人的思想、心理和行为进行恰当的指导、控制与协调,充分发挥出工作人员的主观能动性,对组织内外相关人力资源进行有效运用,满足组织当前及未来发展的需要,保证组织目标实现与成员发展的最大化.HIS使人力
10、资源规划与企业管理者做出的决策在很在程度上依赖于该系统的信息,而不仅仅靠企业管理者的观点与直觉,这对于一个企业来说都至关重要。本系统具有手工管理没办法做到的优点.比如:检索迅速、查找方便、存储量大、保密性好、使用时间长、成本低等.这些优点可以很大程度地提高企业人事管理系统的效率,也是让企业进入正规化、科学化的管理的重要条件。在现代化的公司中的企业管理主要涉及到人事,部门、工资、奖惩、培训几大部分,本系统的开发主要是针对以上所说的几大模块的业务逻辑来设计和实现人力资源管理系统。1。2 设计目的和意义随着企业内人力资源管理的网络化和系统化越来越完善,并且越来越科学化.人力资源系统在企业管理中也备受
11、企业管理者的青睐。人力资源管理系统包括人事日常事务、工资、培训、人事资料等管理。是一个为制定人力资源决策提供信息的集成系统,是为了提高系统管理者人力资源管理水平而开发的。主要的目标就是能够让企业管理者方便快捷地掌握员工的个人信息,工作进度和工作状态等,快速正确地进行决策。降低企业人力资源管理的人力以及成本,提高人力资源管理的效率。 人力资源管理系统在企业的有效实施,会促进企业人力资源管理向规范化、标准化、决策科学化发展;促使企业管理者能缓解工作量巨大的压力,避免以前工作中出现的错误,减少出错的几率;能够让企业管理者专注于对企业的人力资源管理活动进行计划,组织,监督和咨询职能;并且对企业的人力资
12、源管理各个方面进行认真地分析、详细地规划、准确地实施、调整。调动所有的有利因素,来提高企业人力资源管理水平和企业管理者的效率,最终使人成为企业经营发展中真正的第一资源。第章相关技术介绍在本系统的整个开发过程中,我们运用的是面向对象的开发语言,系统使用S结构,采用JE开发框架,主要是MC开发模式,Jv技术等。21开发工具简介本系统的开发环境是jdk60+my Else 214+Toc7。0,使用的语言是Jv语言。是unMicrsytems公司针对Java开发者的产品。自从Ja出世以来,JDK已经成为使用最为广泛的JavaSDK(Softwar evelontkt).D是aa开发工具包,它的全称是
13、Java Devpment Ki。它构建在 Jaa 平台上发布的应用程序和alt以及组件的开发环境。DK是所有Java应用程序的一个基础,它是一组API,也可以说是一些Java la。到U的JK50版本以后,提供了泛型等相对来说非常有用的功能,其版本在不断更新中,运行效率上也在不断地提高。Ecise是一个综合开发环境(ntegtedDepmetEnvonet)D,是一款功能完整和成熟且代码开源的软件,于00年由BM公司推出.开放源代码的意思是让使用者可以取得软件的原始码,部分的有权去修改和传播这个软件。就Eclis本身而言,它就是一个框架还有一组服务程序,通过一些插件组件来构建开发环境。主要的
14、任务就是要让每件东西都动起来,并加载所有需要的外挂程序.当启动Eipse时,首先执行的便是这个组件,再由这个组件加载其他外挂程序。Eclipse附带了一个包括va开发工具(Java evelpmen Tos,JDT)的标准插件集,因此如果想要使用Eclpse来开发Jaa程序,就必须在安装SDK成为它的插件的情况下才可以使它正常运作。omca是Apa软件基金会(Aahe Softwre Funatio)的akarta 项目中的核心项目之一,由Apah、un还有一些其他的公司及个人共同开发而成。因为有了Sun 的参与和支持,最新推出的Servlt以及J规范都能在Toa中充分地得到体现。由于Toca
15、t 技术较为先进、性能比较稳定,并且还是免费,因此深受喜欢Jva开发者的欢迎并得到了一些软件开发商的承认,成为了现今比较流行的Web 应用服务器之一。Tomcat目前的最新版本是.0.2.2MVC框架简介MVC全称是Ml iew ontrlle,是模型(model)、视图(viw)、控制器(corolr)的缩写。MV用其业务逻辑还有数据显式分离的方式来组织代码,将业务逻辑全部聚集在一个部件里面,能够改进和个性化定制界面和用户围绕数据的交互,同时还不需要重新编写业务逻辑.因此MC独特的发展起来,作用于一个逻辑的图形化用户界面的有映射传统的输入、处理以及输出功能的结构中。VC是一种框架的模式,它硬
16、性规定让应用程序的输入、处理和输出分开。应用程序如果使用VC,它将会被分成三个主要部件,分别是模型、视图和控制器。它们各自分别处理好各自的任务。最典型的MVC就是sele+ JS jvban的这种模式。V 模式同时提供了对 HTML、C 和 Javrip 的完全控制。Mode(模型)包括应用程序核心(比如数据库记录列表),是应用程序中专门用来处理数据逻辑的部分。一般来说模型对象是负责在数据库中存取业务数据。iew(视图)显示数据(数据库记录),是应用程序中处理数据显示的部分。视图就是依据模型数据从而创建的。Controler(控制器)是用来处理输入的(写入数据库记录)。是应用程序专门处理用户交
17、互的部分。控制器就是负责从视图中去读取数据、控制用户输入、并向模型发送数据。MVC 分层有助于管理复杂的应用程序,这样就可以在不依赖业务逻辑的情况下一个时间内关注一个方面。同时也让应用程序的测试更加容易。2。3S结构模式简介本系统采用/S(rowse/ervr)结构模式,即浏览器/服务器模式,是现今we数据库开发中应用比较广泛的结构模式之一.它是随ntern技术的发展,对传统的/S(客户机/服务器)模式进行变化和改进的一种网络结构模式.本质上其实是三级结构/S模式.在这种结构模式下,用户工作界面是由WW浏览器实现展示的,极少部分的事务逻辑是在前端(Browe)实现,大部分的事务逻辑是在服务器端
18、(Sere)实现,形成所谓的三层结构模式。如图3-1所示.这种结构模式不仅简化了电脑负荷,减少系统维护和升级的成本还有其工作量.还降低了用户的最终成本(TCO)。图-1BS三级结构组成/结构模式利用逐渐成熟和普及的WW浏览器技术,能够实现以前需要复杂的专用软件才得以实现的一些强大功能,还节约了企业的开发成本。BS结构模式是一种全新受欢迎的软件系统结构技术,这种结构技术成为现在应用软件的首选结构模式。而且JA这样的跨平台语言技术已经是种很成熟的应用,以致/结构模式管理软件更加的方便、快捷、高效。24系统运行配置介绍服务器操作系统:WinoX/Widows7操作系统第3章 系统分析3. 可行性分析
19、在决定开发人力资源管理系统项目之前,为了弄清楚这个主题的项目是不是可能实现和值得实践。就要对该项目进行有效地可行性分析.以做到减少项目的开发风险,避免人力、物力和财力上的过多浪费.那么从以下几个方面针对新系统的开发是否具备必要性和可能性进行认真的分析和研究.3。2。1 经济可行性对本系统进行分析,本系统运行将会为企业带来很大的经济利益,主要表现在以下几点.(1)本系统可以代替人工进行许多复杂、重复的信息记录和统计工作,为企业节省大量的人力,物力.(2)加强人事信息管理,带动企业各方面水平的提升。使企业管理者从日常琐碎繁重的工作中解救出来,并且能够减少错误的几率.(3)管理人员可以方便的对公司的
20、员工,培训计划,员工薪金等进行管理,更好地协调企业人才,很大程度上提高了人才的利用率,使企业人才的能力得到充分地发挥.3.2。技术可行性本系统难度不大,考虑采用的硬件和软件技术都能满足用户提出的要求。在技术软件方面选择了Mclipe2014开发环境设计,用Orle1数据库来存储数据;在硬件方面,2G的内存和300G的硬盘存储数据,运行速度还行;在系统技术方面,使用Jaa语言,MVC思想实现各大功能模块。32.操作可行性该系统在操作上很简单.由于具有良好的操作界面,系统功能、显示内容简单明了。使用者不必需要专业的计算机知识,也不必进行任何培训.只要短时间操作后就可掌握使用。通过对以上对系统的经济
21、、技术和操作方面的可行性分析,最终发现本系统的技术相当成熟,有友好的界面、操作简单、运行安全可靠。3。2 功能需求分析图31 系统用例图根据本系统的需求制定了开发人员必须要实现的软件功能,满足业务需求。开发人员参照需求分析的结果对每个业务实现进行细化,从而获得系统的所有功能模块。通过分析,本系统应该实现下面的功能:(1)员工信息管理:能够查询所有员工的信息资料,并且能够对员工的信息资料进行重新编辑和删除等操作.(2)培训信息管理:根据实际的情况填写人员培训的信息,记录在档案中,以便为员工的升迁提供确切依据。(3)奖惩管理:实现对企业员工奖惩信息的增加、删除等操作,并且实现对奖惩信息作详细管理。
22、为员工的工资、升迁等提供依据。(4) 工资管理:能够实现对所有员工工资的录入、查询等操作。(5)部门管理:该模块显示企业中的所有部门,及各部门的人数情况。并且能够对各部门进行一个详细的查看,比如该部门有哪些人以及在该部门中对应的职称。(6)员工通讯录管理:能查询、增加、删除企业中所有的员工的通讯方式,通讯方式包括联系电话和家庭住址。3.3其他需求分析在企业中,企业管理者使用人力资源管理系统进行员工管理。可以快速、方便、高效率地完成企业中的人事管理工作,减少人力资源管理的成本,使企业管理者能更多地集中精力去实现企业更大的目标。那么一个合格的人力资源管理系统,应该具备以下几个特性:(1)高技术性:
23、本系统设计主要采用MyEclipse 201开发工具和Oracle数据库。使用Java为开发语言,运用MVC模式思想来设计。(2)采用标准技术:关于本系统的设计都是遵循国际上标准化进行,为了提高该系统的开放性。(3) 复用性:本系统设计采用模块化的方式进行,对每个模块都尽可能的做到高内聚,低耦合的程序,以此提高该系统的利用性。(4)实用性。一个系统都是以用户的需要着手设计的,一切以满足用户的需求、方便用户为原则,尽量做好全面的需要分析,以达到让用户满意。第4章总体设计4系统模块总体设计通过之前对系统中软件的经济、技术和运行可行性的分析,以及需求分析阶段对系统功能和性能方面的分析,可以总结本系统
24、的下一个总体设计模块及相关的设计方法和技术,为下一步的代码实现提供了指导。下图41为系统结构图。添加员工信息编辑员工信息修改员工信息员工信息管理查看部门详情查看部门信息算成息工资管理查看员工工资部门管理人力资源管理系统添加培训信息查看培训信息培训管理查看奖惩信息查看奖惩详情奖惩信息管理查看通讯录通讯录管理图1 系统结构图4.2数据库设计.2 数据库分析通过之前对系统整体的需求分析和总体模块的设计,将实体转化为以下的关系表:用户/管理员表、部门表、奖惩表、奖惩纪录表、员工信息表、员工通讯录表、工资表、培训表。他们分别记录了系统不同的信息,支持系统的运行.具体设计的实体如下:()用户/管理员表:用
25、于保存登录用户的用户名和密码等信息(2)部门表:用于保存企业的所有部门及人数的信息(3)奖惩表:用于保存企业员工奖惩金额的信息()奖惩纪录表:用于保存企业员工奖惩的详细情况(5)员工信息表:用于保存企业内所有员工的基本信息(6)员工通讯录表:用于保存企业内所有员工的通讯信息(7)工资表:用于保存企业人员的工资信息(8)培训表:用于保存企业工作人员和刚进入职场人员的培训信息根据各实体之间的相互联系和各数据表之间的相互管理,得出了本系统的数据库的E图设计。本系统的数据库的如图42所示.图4-2数据库 ER图4。2。数据库表的具体设计(1)用户/管理员登录表如下表所示。表4-1用户/管理员登录表:字
26、段名数据类型长度是否主键描述lIdvarchr1是用户idadVarhar220登录密码sttusnumber1用户模式()部门表如下表42所示。表4 部门表:字段名数据类型长度是否主键描述Idvrchar0是部门idNamevrchar220员工姓名detvarhar20部门名psionalvarchr220职称(3)奖惩表如下表3所示.表4-3奖惩表:字段名数据类型长度是否主键描述apd rar210是idapNamevarcha22员工姓名apMonenber10奖惩金额(4)奖惩纪录表如下表4所示.表44奖惩纪录表:字段名数据类型长度是否主键描述rIdnumber1是奖惩idrapId
27、varcar210纪录idrapRcrvarchar220奖惩纪录raReorTimevachar20奖惩时间aMoynbe1奖惩金额(5)员工信息表如下表45所示.表4-5员工信息表:字段名数据类型长度是否主键描述eIdvachar21是员工ideNamerchar220员工姓名eScha2员工性别eAgnmber员工年龄eBitay vcha20生日日期eHireate vrchar2入职日期eAddressvar4员工地址Mgrrhr20员工上司eDptachar2所属部门eelphonevarchar22联系电话Educatnvarchar22员工学历Potion varchar220
28、员工职称Politicalsttus vachar220政治面貌salnmber10员工工资commnumbe10员工提成()员工通讯信息表如下表-6所示.表46员工通讯信息表:字段名数据类型长度是否主键描述aIdvrchar20是员工idaaevarcar2员工姓名aTelPhevarcha212联系电话aAddes varchar22家庭住址()工资表如下表4所示。表4-7工资表:字段名数据类型长度是否主键描述mIarchar20是员工idmNamerch220员工姓名Monynumber10员工工资(8)培训纪录表如下表48所示.表48培训纪录表:字段名数据类型长度是否主键描述cIdnu
29、mber是培训dcEIvrchar220员工icName arha220员工姓名cRr vcar210培训记录cRecodatvachar3培训时间第五章详细设计与系统实现详细设计的根本目标是确定应该具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计之后再进行系统实现。51 系统首页与登录设计与实现51 系统首页设计与实现本系统管理员正确登录后,便进入系统首页,系统首页主要由3大部分组成(1) 模块功能导航:主要功能是链接各个管理模块,对系统的六大模块进行综合的管理操作;(2) 常
30、用功能:主要包括返回首页、后退、前进、刷新、退出等系统功能,是系统的快捷方式操作;(3) 功能展示:主要功能是显示所链接模块的内容,主要是对企业的各个管理模块中的操作进行具体的操作,在系统首页中,展示区中主要包括各个模块中的功能。系统首页如图51所示.图 51 系统首页5。12 系统首页设计与实现设计一个系统登录界面lgin。js,如图5-2所示.从浏览器中获取用户与密码,存入accont,psswd变量中,再与数据库中的数据进行验证,如果登录成功,进入系统首页,如果登录失败,设计系统重新跳转到登陆界面,会进行相应的错误提示。并重新登陆.登录loginSeve类设计如下:pulicvoid d
31、oPost(tSrletRequest request,HttpServetRespose rsone)tows SrvltExcepion, OExcpion rspoe。seCotenTe(ex/html);/从页面获取用户名与密码Stigaccunt=requstgtParamter(”acut);Srin paswd=requet。getaameter(”pasd”);/验证用户名与密码与数据库中的数据Empin tmpmliem。heckogin(a);Employee tempm=iem.querymInfo(ccou);if(mpEm!=nll)if(passw.eqals(em
32、EletPasd()))登陆成功/设置用户登陆成功的用户名requ.etesio()。etrbte(”EmpLid, accont);/设置用户登陆成功后的权限rquest.getesn()。setAtit(”Statu,tmpml。tStus();eques.eesion()setttrbue(EpLoginNme,epEmpgtae());/跳转到主界面ine。sp中进行操作ruest.geReDisatche(nd.jp).forward(equest,resone);elsei(!pswdequa(tempEml.etPas())/登陆不成功 重新跳转到登陆页面reuestsetAri
33、ute( ”al, 密码错误!”);reques。eRequstDptcer(ogin。jsp).frwad(reqest, respos);es/账号不存在reques.settribut( ”err, 账号不存在!);requs.getReqetspache(”gijsp).orwad(requst, resonse);图5- 登录模块主界面.2工资管理设计与实现该系统对于薪资的管理主要是薪资查询。查看此系统中员工的薪资信息,从雇员的基本信息中,可以获取单纯的员工资情况。该显示页面显示雇员的编号以及雇员名称和对应的工资。其运行结果如图7所示ersoalMoenageSrvet类设计如下:p
34、ubliciddoo(ttpSerletRequstreqest,HttSevlesponse response)throsServleExcetio, OEion /查找某个部门的所有员工AryListesonaMney ata=iem。cheveronalMoneylInfo(sat, d);yListString oion= rrLst daa=em.chvePagmpCultvateRcordIf(start, ed);AryistSing Lotion=ne AraystStig();Locto。ad(”人力资源管理系统”);Loctin.ad(培训管理);ruest.settrib
35、ute(Startge, tartPage);reques。setttriut(ontPge,otge);request.setAttrite(”CouInfo”,cutInfo);rqet.sttibt(”mpCltivaeReod”, data);reque。setAtribute(”Lotion, Lco);rus。getReustDsatcer(eCulieRcodsp)。foward(reqest, espone); 图5-4 添加培训界面5.4员工信息管理设计与实现设计员工信息管理主界面,如下图5-所示.可以看到已显示此系统中所有的员工信息,并且是以分页的形式清晰的呈现,方便企业管
36、理者的对员工的管理与了解.企业管理者可以对员工信息进行添加、员工信息修改、员工信息删除等操作显示员工信息showEmnfoSrvlt类设计如下:rsponse。stContenTyp(”tex/htm”);/显示的起始位置ntstartage=tg。paseIt(reques.gePameter(”mpBseInfoStartPae);/每页显示的行数t howpgeont=10;/总行数ntnn=i。ahieveAllmpIfoCount();/总页数ntuntPae;intemcuntifo/sowpagecount;if(countinfoshowgecun!=0)countPge=te
37、p+1;else cnagemp;/数据的显示起始位置itsart(statPge)howgecunt+1;it end=sartPage*shopgeount;ArrLstSrin Loctin=new ArayiString();otin。add(”人力资源管理系统”);octin。ad(雇员基本信息”);/获取数据库数据ArrayLsEmployeeao=iem.chieveAlEmInfo(srt,n); eus.setriute(”AllpInfo”,a);request。etAttibut(empaseIfotartPge, startPage);equetetAtrie(mpseInfCotPage”,outPag