1、毕业设计(论文)课 题 名 称 人力资源管理系统设计与实现 学 生 姓 名 万友利 学 号 系、年级专业 信息工程系、10级计算机科学与技术 指 导 教 师 柳 小 文 职 称 讲 师 05月10日摘 要随着计算机普及与计算机科学迅速发展,人们开始越来越多地使用计算机来解决咱们生活中遇到实际问题了。近几年来,公司之间竞争也从有形经济市场转向网络市场。对大多数公司管理者来说,如何有效管理公司人力资源,发挥出最大效益,是每个公司管理者面临难题与挑战。因此说公司人力资源管理系统是当代公司管理重中之重。公司人力资源管理系统既能提高公司人力资源管理技术含量,还能提高公司工作效率,也能让人力资源管理更加当
2、代化、决策科学化。本系统采用了B/S模式、MVC设计思想、先进MyEclipse开发工具和Oracle 11g数据库进行设计。使用 Java语言开发出一种界面和谐、功能全面、操作简朴公司人力资源管理系统。本文研究人力资源管理系统重要内容有:员工信息管理、奖惩管理、培训管理、工资管理、部门管理、通讯录管理。本系统开发目的是人力资源管理业务逻辑用来实现高效化、智能化,协助公司人力资源管理者进行人力资源管理与数据分析。核心词: 人力资源;关系数据库;JavaABSTRACTWith the popularity of computer and the computer the rapid devel
3、opment of science and technology,people began to used more and more on computers to solve practical problems in our life. In recent years,the competition between enterprises is turning from visible economic markets to the network. For most of the enterprise managers,how effective management enterpri
4、se human resources,make its maximum benefit,is each enterprise managers continuously problems and challenges.So Human resource management system is the core content of modern enterprise management. not only improve the skill of human resource management and the efficiency of the enterprises but also
5、 make human resource management modern and decision scienceficThe modern company personnel resource management system USES a B/S mode,MVC design ideas,present more advanced MyEclipse development tools and Oracle 11g database design. development of a friendly interface,comprehensive functions,operati
6、on simple enterprise human resources management system 。The main contents of the huaman resource management system includes recruitment management,personnel management,attendance management training management,salary management and system configuation.The development of the system aims at making the
7、 management business logic more efficient and intelligent to help people manage the human resource and analysis the statistics.Key Words:Human resource manage,relation database,Java目 录摘要ABSTRACT第1章 绪论1 1.1 课题背景1 1.2 设计目和意义2第2章 有关技术简介3 2.1 开发工具简介3 2.2 MVC框架简介3 2.3 B/S构造模式简介4 2.4 系统运营配备简介5第3章 系统分析6 3.
8、1可行性分析6 3.2功能需求分析7 3.3其她需求分析7第4章 总体设计9 4.1系统模块总体设计9 4.2数据库设计10第5章 详细设计与实现14 5.1系统首页与登录设计与实现14 5.2工资管理设计与实现16 5.3培训管理设计与实现17 5.4员工信息管理设计与实现18 5.5员工奖惩档案设计与实现22 5.6部门信息管理设计与实现25 5.7通讯录档案设计与实现27结束语29参照文献30致 谢31附 录32第1章 绪 论在20世纪70年代后来,人们开始意识到人能动性和创造性对当代公司管理工作中重要性。并且在20世纪80年代后浮现一种以人本主义思想为理论基本和特质管理模式。对人管理从
9、观念、模式、内容和办法等方面地向人力资源管理转变。而随着电脑与网络技术迅速发展,数据库应用范畴越来越多和功能越来越强大,在公司之间竞争已经从有形市场经济转向了无形网络领域。因而公司管理也进入了高效信息化时代,因此开发公司人力资源管理系统是有必要。而在软件市场上也浮现了诸多致力于人力资源管理方面产品。人力资源管理系统指是人力资源管理网络信息化、原则化、科学化,是公司在高速度、硬件大容量和IT软件先进基本上一种人力资源管理模式。通俗地说,就是人力资源管理信息化或自动化。1.1 课题背景自19以来,人力资源管理最初只是某些比较简朴操作:工资发送、员工档案记录、安排社区访问等。但随着公司自身人力资源逐
10、渐庞大,复杂限度慢慢增强,增长了诸多管理方式,如:招聘、培训等人机作坊再也无法满足如今公司人事管理了。并且在以人为本观念熏陶下,人力资源管理已经在组织中作用显现出其重要性。公司需要通过人力资源管理系统来提高公司管理水平。基于此,人力资源管理系统也从此应运而生。所谓人力资源管理就是从经济学角度来指引和进行预测组织人力资源需求,并作出人力资源需求筹划、招聘工作人员然后进行有效组织、支付报酬等,并不断地进行勉励、综合组织与个人需要进行有效开发来实现最优组织绩效全过程。同步对人思想、心理和行为进行恰当指引、控制与协调,充分发挥出工作人员主观能动性,对组织内外有关人力资源进行有效运用,满足组织当前及将来
11、发展需要,保证组织目的实现与成员发展最大化。HRIS使人力资源规划与公司管理者做出决策在很在限度上依赖于该系统信息,而不但仅靠公司管理者观点与直觉,这对于一种公司来说都至关重要。本系统具备手工管理没办法做到长处。例如:检索迅速、查找以便、存储量大、保密性好、使用时间长、成本低等。这些长处可以很大限度地提高公司人事管理系统效率,也是让公司进入正规化、科学化管理重要条件。 在当代化公司中公司管理重要涉及到人事,部门、工资、奖惩、培训几大某些,本系统开发重要是针对以上所说几大模块业务逻辑来设计和实现人力资源管理系统。1.2 设计目和意义随着公司内人力资源管理网络化和系统化越来越完善,并且越来越科学化
12、。人力资源系统在公司管理中也备受公司管理者青睐。人力资源管理系统涉及人事寻常事务、工资、培训、人事资料等管理。是一种为制定人力资源决策提供信息集成系统,是为了提高系统管理者人力资源管理水平而开发。重要目的就是可以让公司管理者以便快捷地掌握员工个人信息,工作进度和工作状态等,迅速对的地进行决策。减少公司人力资源管理人力以及成本,提高人力资源管理效率。 人力资源管理系统在公司有效实行,会增进公司人力资源管理向规范化、原则化、决策科学化发展;促使公司管理者能缓和工作量巨大压力,避免此前工作中浮现错误,减少出错几率;可以让公司管理者专注于对公司人力资源管理活动进行筹划,组织,监督和征询职能;并且对公司
13、人力资源管理各个方面进行认真地分析、详细地规划、精确地实行、调节。调动所有有利因素,来提高公司人力资源管理水平和公司管理者效率,最后使人成为公司经营发展中真正第一资源。第2章 有关技术简介在本系统整个开发过程中,咱们运用是面向对象开发语言,系统使用B/S构造,采用J2EE开发框架,重要是MVC开发模式,Java技术等。2.1开发工具简介本系统开发环境是jdk6.0+my Eclipse +Tomcat7.0,使用语言是Java语言。JDK是Sun Microsystems公司针对Java开发者产品。自从Java出世以来,JDK已经成为使用最为广泛Java SDK(Software develo
14、pment kit)。JDK 是Java开发工具包,它全称是Java Development Kit。它构建在 Java 平台上发布应用程序和applet 以及组件开发环境。JDK是所有Java应用程序一种基本,它是一组API,也可以说是某些Java Class。到SUNJDK5.0版本后来,提供了泛型等相对来说非常有用功能,其版本在不断更新中,运营效率上也在不断地提高。Eclipse是一种综合开发环境(Integrated Development Environment)IDE,是一款功能完整和成熟且代码开源软件,于由IBM公司推出。开放源代码意思是让使用者可以获得软件原始码,某些有权去修改
15、和传播这个软件。就Eclipse自身而言,它就是一种框架尚有一组服务程序,通过某些插件组件来构建开发环境。重要任务就是要让每件东西都动起来,并加载所有需要外挂程序。当启动Eclipse时,一方面执行便是这个组件,再由这个组件加载其她外挂程序。Eclipse附带了一种涉及Java开发工具(Java Development Tools,JDT)原则插件集,因而如果想要使用Eclipse来开发Java程序,就必要在安装SDK成为它插件状况下才可以使它正常运作。 Tomcat是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中核心项目之一,由Apac
16、he、Sun 尚有某些其她公司及个人共同开发而成。由于有了Sun 参加和支持,最新推出Servlet以及JSP 规范都能在Tomcat 中充分地得到体现。由于Tomcat 技术较为先进、性能比较稳定,并且还是免费,因而深受喜欢Java开发者欢迎并得到了某些软件开发商承认,成为了现今比较流行Web 应用服务器之一。Tomcat当前最新版本是8.0。2.2 MVC框架简介MVC全称是Model View Controller,是模型(model)、视图(view)、控制器(controller)缩写。MVC用其业务逻辑尚有数据显式分离方式来组织代码,将业务逻辑所有汇集在一种部件里面,可以改进和个性
17、化定制界面和顾客环绕数据交互,同步还不需要重新编写业务逻辑。因而MVC独特发展起来,作用于一种逻辑图形化顾客界面有映射老式输入、解决以及输出功能构造中。MVC是一种框架模式,它硬性规定让应用程序输入、解决和输出分开。应用程序如果使用MVC,它将会被提成三个重要部件,分别是模型、视图和控制器。它们各自分别解决好各自任务。最典型MVC就是servlet+ JSP + javabean这种模式。MVC 模式同步提供了对 HTML、CSS 和 JavaScript 完全控制。Model(模型)涉及应用程序核心(例如数据库记录列表),是应用程序中专门用来解决数据逻辑某些。普通来说模型对象是负责在数据库中
18、存取业务数据。View(视图)显示数据(数据库记录),是应用程序中解决数据显示某些。视图就是根据模型数据从而创立。Controller(控制器)是用来解决输入(写入数据库记录)。是应用程序专门解决顾客交互某些。控制器就是负责从视图中去读取数据、控制顾客输入、并向模型发送数据。MVC 分层有助于管理复杂应用程序,这样就可以在不依赖业务逻辑状况下一种时间内关注一种方面。同步也让应用程序测试更加容易。2.3 B/S构造模式简介本系统采用B/S(Browser/Server)构造模式,即浏览器/服务器模式,是现今web数据库开发中应用比较广泛构造模式之一。它是随Internat技术发展,对老式C/S(
19、客户机/服务器)模式进行变化和改进一种网络构造模式。本质上其实是三级构造C/S模式。在这种构造模式下,顾客工作界面是由WWW浏览器实现展示,很少某些事务逻辑是在前端(Browser)实现,大某些事务逻辑是在服务器端(Server)实现,形成所谓三层构造模式。如图3-1所示。这种构造模式不但简化了电脑负荷,减少系统维护和升级成本尚有其工作量。还减少了顾客最后成本(TCO)。图 2-1 B/S三级构造构成B/S构造模式运用逐渐成熟和普及WWW浏览器技术,可以实现此前需要复杂专用软件才得以实现某些强大功能,还节约了公司开发成本。B/S构造模式是一种全新受欢迎软件系统构造技术,这种构造技术成为当前应用
20、软件首选构造模式。并且JAVA这样跨平台语言技术已经是种很成熟应用,以致B/S构造模式管理软件更加以便、快捷、高效。2.4系统运营配备简介服务器操作系统:Windows XP/Windows 7操作系统第3章 系统分析3.1 可行性分析在决定开发人力资源管理系统项目之前,为了弄清晰这个主题项目是不是也许实现和值得实践。就要对该项目进行有效地可行性分析。以做到减少项目开发风险,避免人力、物力和财力上过多挥霍。那么从如下几种方面针对新系统开发与否具备必要性和也许性进行认真分析和研究。3.2.1 经济可行性对本系统进行分析,本系统运营将会为公司带来很大经济利益,重要体当前如下几点。(1)本系统可以代
21、替人工进行许多复杂、重复信息记录和记录工作,为公司节约大量人力,物力。(2)加强人事信息管理,带动公司各方面水平提高。使公司管理者从寻常琐碎繁重工作中解救出来,并且可以减少错误几率。(3)管理人员可以以便对公司员工,培训筹划,员工薪金等进行管理,更好地协调公司人才,很大限度上提高了人才运用率,使公司人才干力得到充分地发挥。3.2.2 技术可行性本系统难度不大,考虑采用硬件和软件技术都能满足顾客提出规定。在技术软件方面选取了My Eclipse开发环境设计,用Oracle 11g数据库来存储数据;在硬件方面,2G内存和300G硬盘存储数据,运营速度还行;在系统技术方面,使用Java语言,MVC思
22、想实现各大功能模块。3.2.3 操作可行性该系统在操作上很简朴。由于具备良好操作界面,系统功能、显示内容简朴明了。使用者不必须要专业计算机知识,也不必进行任何培训。只要短时间操作后就可掌握使用。通过对以上对系统经济、技术和操作方面可行性分析,最后发现本系统技术相称成熟,有和谐界面、操作简朴、运营安全可靠。3.2 功能需求分析 图3-1 系统用例图依照本系统需求制定了开发人员必要要实现软件功能,满足业务需求。开发人员参照需求分析成果对每个业务实现进行细化,从而获得系统所有功能模块。通过度析,本系统应当实现下面功能:(1) 员工信息管理:可以查询所有员工信息资料,并且可以对员工信息资料进行重新编辑
23、和删除等操作。(2) 培训信息管理:依照实际状况填写人员培训信息,记录在档案中,以便为员工升迁提供确切根据。(3) 奖惩管理:实现对公司员工奖惩信息增长、删除等操作,并且实现对奖惩信息作详细管理。为员工工资、升迁等提供根据。(4) 工资管理:可以实现对所有员工工资录入、查询等操作。(5) 部门管理:该模块显示公司中所有部门,及各部门人数状况。并且可以对各部门进行一种详细查看,例如该部门有哪些人以及在该部门中相应职称。(6) 员工通讯录管理:能查询、增长、删除公司中所有员工通讯方式,通讯方式涉及联系电话和家庭住址。3.3 其她需求分析在公司中,公司管理者使用人力资源管理系统进行员工管理。可以迅速
24、、以便、高效率地完毕公司中人事管理工作,减少人力资源管理成本,使公司管理者能更多地集中精力去实现公司更大目的。那么一种合格人力资源管理系统,应当具备如下几种特性:(1)高技术性:本系统设计重要采用MyEclipse 开发工具和Oracle 数据库。使用Java为开发语言,运用MVC模式思想来设计。(2)采用原则技术:关于本系统设计都是遵循国际上原则化进行,为了提高该系统开放性。(3) 复用性:本系统设计采用模块化方式进行,对每个模块都尽量做到高内聚,低耦合程序,以此提高该系统运用性。(4)实用性。一种系统都是以顾客需要着手设计,一切以满足顾客需求、以便顾客为原则,尽量做好全面需要分析,以达到让
25、顾客满意。第4章 总体设计 4.1 系统模块总体设计通过之前对系统中软件经济、技术和运营可行性分析,以及需求分析阶段对系统功能和性能方面分析,可以总结本系统下一种总体设计模块及有关设计办法和技术,为下一步代码实现提供了指引。下图4-1为系统构造图。添加员工信息编辑员工信息修改员工信息员工信息管理查看部门详情查看部门信息算成息工资管理查看员工工资部门管理人力资源管理系统添加培训信息查看培训信息培训管理查看奖惩信息查看奖惩详情奖惩信息管理查看通讯录通讯录管理图4-1 系统构造图4.2 数据库设计4.2.1 数据库分析通过之前对系统整体需求分析和总体模块设计,将实体转化为如下关系表:顾客/管理员表、
26、部门表、奖惩表、奖惩纪录表、员工信息表、员工通讯录表、工资表、培训表。她们分别记录了系统不同信息,支持系统运营。详细设计实体如下:(1)顾客/管理员表:用于保存登录顾客顾客名和密码等信息(2)部门表:用于保存公司所有部门及人数信息(3)奖惩表:用于保存公司员工奖惩金额信息(4)奖惩纪录表:用于保存公司员工奖惩详细状况(5)员工信息表:用于保存公司内所有员工基本信息(6)员工通讯录表:用于保存公司内所有员工通讯信息(7)工资表:用于保存公司人员工资信息(8)培训表:用于保存公司工作人员和刚进入职场人员培训信息依照各实体之间互相联系和各数据表之间互相管理,得出了本系统数据库E-R图设计。本系统数据
27、库E-R如图4-2所示。 图 4-2 数据库 E-R图4.2.2 数据库表详细设计(1)顾客/管理员登录表如下表4-1所示。表4-1 顾客/管理员登录表:字段名数据类型长度与否主键描述lId varchar210是顾客idpasswdVarchar220登录密码statusnumber1顾客模式(2)部门表如下表4-2所示。表4-2 部门表:字段名数据类型长度与否主键描述dIdvarchar210是部门iddNamevarchar220员工姓名dDeptvarchar220部门名positionalvarchar220职称(3)奖惩表如下表4-3所示。表4-3 奖惩表:字段名数据类型长度与否主
28、键描述apId varchar210是idapNamevarchar220员工姓名apMoneynumber10奖惩金额(4)奖惩纪录表如下表4-4所示。表4-4 奖惩纪录表:字段名数据类型长度与否主键描述rIdnumber10是奖惩idrapIdvarchar210纪录idrapRecordvarchar2200奖惩纪录rapRecordTimevarchar220奖惩时间rapMoneynumber10奖惩金额(5)员工信息表如下表4-5所示。表4-5员工信息表:字段名数据类型长度与否主键描述eIdvarchar210是员工id eNamevarchar220员工姓名eSexchar2员工
29、性别eAgenumber4员工年龄eBrithday varchar220生日日期eHiredate varchar220入职日期eAddressvarchar240员工地址eMgrvarchar220员工上司eDeptvarchar220所属部门eTelphonevarchar212联系电话 Educationvarchar212员工学历Positional varchar220员工职称Politicalstatus varchar220政治面貌salnumber10员工工资 commnumber10员工提成(6)员工通讯信息表如下表4-6所示。表4-6 员工通讯信息表:字段名数据类型长度与
30、否主键描述aIdvarchar210是员工idaNamevarchar220员工姓名aTelPhonevarchar212联系电话aAddress varchar220家庭住址(7)工资表如下表4-7所示。表4-7工资表:字段名数据类型长度与否主键描述mIdvarchar210是员工idmNamevarchar220员工姓名mMoneynumber10员工工资(8)培训纪录表如下表4-8所示。表4-8 培训纪录表:字段名数据类型长度与否主键描述cIdnumber是培训idcEIdvarchar220员工idcName varchar220员工姓名cRecord varchar21000培训记录
31、cRecordDatavarchar230培训时间 第五章 详细设计与系统实现详细设计主线目的是拟定应当详细地实现所规定系统,也就是说,通过这个阶段设计工作,应当得出对目的系统精准描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写程序。详细设计之后再进行系统实现。5.1 系统首页与登录设计与实现5.1.1 系统首页设计与实现本系统管理员对的登录后,便进入系统首页,系统首页重要由3大某些构成 (1) 模块功能导航:重要功能是链接各个管理模块,对系统六大模块进行综合管理操作;(2) 惯用功能:重要涉及返回眸页、后退、迈进、刷新、退出等系统功能,是系统快捷方式操作;(3) 功能展示:
32、重要功能是显示所链接模块内容,重要是对公司各个管理模块中操作进行详细操作,在系统首页中,展示区中重要涉及各个模块中功能。系统首页如图5-1所示。图 5-1 系统首页5.1.2 系统首页设计与实现设计一种系统登录界面login.jsp,如图5-2所示。从浏览器中获取顾客与密码,存入account,passwd变量中,再与数据库中数据进行验证,如果登录成功,进入系统首页,如果登录失败,设计系统重新跳转到登陆界面,会进行相应错误提示。并重新登陆。登录loginServlet类设计如下: public void doPost(HttpServletRequest request,HttpServlet
33、Response response)throws ServletException,IOException response.setContentType(text/html); /从页面获取顾客名与密码String account=request.getParameter(account);String passwd=request.getParameter(passwd); /验证顾客名与密码与数据库中数据EmpLogin tempEml=iem.checkLogin(account);Employee tempEmp=iem.queryEmpInfo(account);if(tempEm
34、l!=null)if(passwd.equals(tempEml.getPasswd()/ 登陆成功/ 设立顾客登陆成功顾客名request.getSession().setAttribute(EmpLoginId,account);/ 设立顾客登陆成功后权限request.getSession().setAttribute(Status,tempEml.getStatus();request.getSession().setAttribute(EmpLoginName,tempEmp.getName(); / 跳转到主界面index.jsp中进行操作 request.getRequestDi
35、spatcher(index.jsp).forward(request,response);else if(!passwd.equals(tempEml.getPasswd()/ 登陆不成功 重新跳转到登陆页面request.setAttribute( fail,密码错误!);request.getRequestDispatcher(login.jsp).forward(request,response);else / 账号不存在request.setAttribute( error,账号不存在!);request.getRequestDispatcher(login.jsp).forward
36、(request,response);图5-2 登录模块主界面5.2工资管理设计与实现该系统对于薪资管理重要是薪资查询。查看此系统中员工薪资信息,从雇员基本信息中,可以获取单纯员工资状况。该显示页面显示雇员编号以及雇员名称和相应工资。其运营成果如图5-7所示PersonalMoneyManageServlet类设计如下:public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException /查找某个部门所有员工ArrayList data=ie
37、m.achievePersonalMoneyAllInfo(start,end);ArrayList Loction=new ArrayList();Loction.add(人力资源管理系统);Loction.add(工资管理);request.setAttribute(StartPage,startPage);request.setAttribute(CountPage,countPage);request.setAttribute(CountInfo,countInfo);request.setAttribute(PersonalMoney,data);request.setAttribu
38、te(Loction,Loction);request.getRequestDispatcher(showPersonalMoneyInfo.jsp).forward(request,response);图 5-3 工资管理界面5.3 培训管理设计与实现重要设计两个方面:添加和查看培训人员。查看该人力资源管理系统中培训工作人员信息,以便公司管理者管理。查看培训人员showAllEmpCultivateRecordServlet类设计如下:public void doPost(HttpServletRequest request,HttpServletResponse response)thro
39、ws ServletException,IOException IEmployeeManage iem=new ImpEmployeeManage();response.setContentType(text/html);int startPage=Integer.parseInt(request.getParameter(StartPage);int showpagecount=5;int countInfo=iem.achieveEmpCultivateRecordCount();int countPage=0;int temp=countInfo/showpagecount;if(cou
40、ntInfo%showpagecount!=0)countPage=temp+1;else countPage=temp;int start=(startPage-1)*showpagecount+1;int end=startPage*showpagecount;ArrayList data=iem.achievePagingEmpCultivateRecordInfo(start,end);ArrayList Loction=new ArrayList();Loction.add(人力资源管理系统);Loction.add(培训管理);request.setAttribute(StartP
41、age,startPage);request.setAttribute(CountPage,countPage);request.setAttribute(CountInfo,countInfo);request.setAttribute(EmpCultivateRecord,data);request.setAttribute(Loction,Loction);request.getRequestDispatcher(empCultivateRecord.jsp).forward(request,response);图5-4添加培训界面5.4 员工信息管理设计与实现设计员工信息管理主界面,如
42、下图5-5所示。可以看到已显示此系统中所有员工信息,并且是以分页形式清晰呈现,以便公司管理者对员工管理与理解。公司管理者可以对员工信息进行添加、员工信息修改、员工信息删除等操作显示员工信息showEmpInfoServlet类设计如下:response.setContentType(text/html); / 显示起始位置 int startPage=Integer.parseInt(request.getParameter(empBaseInfoStartPage); / 每页显示行数int showpagecount=10; / 总行数int countinfo=iem.achieveAl
43、lEmpInfoCount(); / 总页数int countPage=0;int temp=countinfo/showpagecount;if(countinfo%showpagecount!=0)countPage=temp+1;else countPage=temp; / 数据显示起始位置int start=(startPage-1)*showpagecount+1;int end=startPage*showpagecount; ArrayList Loction=new ArrayList();Loction.add(人力资源管理系统);Loction.add(雇员基本信息); / 获取数据库数据ArrayList dao