基于JAVA的人力资源管理系统设计.docx
《基于JAVA的人力资源管理系统设计.docx》由会员分享,可在线阅读,更多相关《基于JAVA的人力资源管理系统设计.docx(29页珍藏版)》请在冰豆网上搜索。
基于JAVA的人力资源管理系统设计
摘要
随着现代企业制度的建立以及社会经济的高速发展,企业人力资源已成为左右企业生存发展的重要因素,加强人力资源的有效管理和运作已成为企业提高竞争力的重要手段。
本文论述了一个人力资源管理系统的开发过程,包括系统的需求分析、数据库设计、详细设计和系统的实现等方面。
系统设计流程遵照了软件工程的相关标准,由Myeclipse、MySQL数据库和Tomcat服务器组成开发平台,采用Struts和Hibernate两种框架结构,使用JAVA语言进行开发。
系统基本满足了用户的业务需求,实现了规划的功能。
关键词:
人力资源;框架结构;JAVA;Tomcat;MySQL
Abstract
Withtheestablishmentofmodernenterprisesystemandtherapidsocialandeconomicdevelopment,corporatehumanresourceshasbecomesoimportantfactorforsurvivalanddevelopmentofenterprises,strengthentheeffectivemanagementofhumanresourcesandoperationshavebecomeanimportantmeanstoenhancecompetitiveness.
Thispaperdiscussesahumanresourcesmanagementsystemdevelopmentprocess,includingsystemrequirementsanalysis,databasedesign,detaileddesignandsystemimplementationandsoon.SystemdesignprocessinaccordancewiththerelevantstandardsofsoftwareengineeringbyMyeclipse,MySQLdatabaseandTomcatserversdevelopmentplatform,usingtwoframeworksStruts,andHibernatestructure,theuseofJAVAlanguagefordevelopment.Basicsystemtomeetthebusinessneedsofusers,toachievetheplanningfunction.
KeyWords:
HumanResources;FrameworksStruts;Java;Tomcat;MySQL
1绪论
1.1课题研究背景
目前,网络的发展已呈现出商业化、全民化、全球化的趋势,网络已成为企业进行竞争的战略手段。
企业经营的多元化拓展,企业规模的进一步扩大,对于企业的管理、业务扩展、企业品牌形象等提出了更高的要求。
在以信息技术为支撑的新经济条件下,越来越多的企业利用起网络这个有效的工具。
目前,全球范围内的企业内部组织正在发生巨变,未来企业成功的关键将主要依靠人力资源,人才之争已经成为市场竞争的核心内容之一,以人为本成为企业立足和发展的根本。
有效地管理企业的人力资源,不仅能节省大量的人力物力,而且能够帮助企业制订计划,激发员工的积极性,充分发挥每员工的潜能,为企业创造更大的价值。
在发展过程中的公司原有的管理体制已经不能适应企业的发展,公司不断出现新的问题,同时对人力资源的管理也提出了新的要求.公司领导逐渐认识到人事管理的重要性,认识到企业的发展离不开优秀的人才和人力资源的有效配置,公司只有拥有先进的管理和优秀的人力资源,才能拥有未来的市场,才能提高企业的竞争力。
本系统的开发不但能够改善公司原有的管理方式,把人力资源管理人员从繁重的手工劳动中解脱出来,而且通过人力资源的有效管理能够适时地制定公司的培训计划,根据员工的个人能力对其岗位进行调动,充分发挥员工自身的能力,为公司带来更大的经济利益。
1.2课题研究意义
人力资源管理是指组织为了实现既定的目标,运用现代管理措施和手段,对人力资源的取得、开发、保持和运用等方面进行管理的一系列活动的总和。
从上可知,人力资源管理的内涵至少包括以下内容:
一是任何形式的人力资源开发与管理都是为了实现一定的目标,如个人家庭投资的预期收益最大化、企业经营效益最大化及社会人力资源配置最优化。
二是人力资源管理必须充分有效地运用计划、规划、组织、指挥、监督、协调、激励和控制等现代管理手段才能达到人力资源管理目标。
三是人力资源管理主要研究人与人关系的利益调整,个人的利益取舍、人与事的配合,人力资源潜力的开发、工作效率和效益的提高以及实现人力资源管理效益的相关理论、方法、工具和技术。
四是人力资源管理不是单一的管理行为,必须使相关管理手段的相互配合才能取得理想的效果。
例如,薪酬必须与绩效考核、晋升、流动等相配套。
可见,人力资源管理的主要任务就是以人为中心,以人力资源投资为主线,研究
人与人、人与组织、人与事的相互关系,掌握其基本理念和管理的内在规律,为充分开发、利用人力资源,不断提高和改善职业生活质量,充分调动人的主动性和创造性,促使管理效益的提高和管理目标的实现。
人力资源管理与人事管理既有历史上的渊源关系,又有本质的区别。
它们不仅仅是称谓的变换和职能部门名称的改变,而且有着下列区别:
(1)传统人事管理将事作为重心,把人降格为“执行指令的机器”,着眼于为人找位,为事配人。
而人力资源管理则将人作为重心,把人作为第一资源,既重视以事择人,也重视为人设事,尤其对特殊的人力资源。
(2)传统人事管理将人视为组织的财产,部门所有、闲置和压抑等现象严重,只重拥有不重开发使用。
现代人力资源管理将人力资源作为劳动者自身的财富。
作为人力资本,它有增值的本能。
因而个人、组织和社会均重视人力资源开发使用,一旦闲置和遭到压抑,则具有在市场机制作用下重新配置的本能。
(3)传统人事管理的主体是行政部门,管理制度受到领导人意志左右,个人、组织包括企业均是被动的接受者。
而人力资源管理的主体也就是市场运行的主体,他们的行为受到市场机制的左右,遵循市场通行规则和人力资源管理自身特有的规律。
(4)传统人事管理的部门作为组织内的一个从事执行的职能部门,从事日常的事务性工作。
而人力资源管理部门被纳入决策层,把人的开发、利用、潜能开发作为重要内容,鼓励成员参与管理,将人力资源管理部门作为组织战略决策的参与者。
管理模式也由“垂直”模式过渡到“主体”模式。
(5)人力资源管理充分运用了当代社会学、心理学、管理学、经济学和技术学等学科的最新成果,更加强调管理的系统化、规范化、标准化以及管理手段的现代化,突出了管理者诸要素之间互动以及管理活动与内外部环境间的互动。
从上述区分中可知,人力资源管理转变在未来将会出现以下发展趋势:
一是管理原则上同时强调个人和集体;二是管理方法上同时强调理性与情感;三是在领导方式上同时强调权威与民主;四是在考核晋升上同时强调能力与资历;五是在薪资报酬上同时强调即时工资和长远收益。
2系统分析
2.1可行性分析
2.1.1技术可行性
技术可行性:
本系统主要采用JSP技术开发,使用Struts实现MVC框架的设计,与后台数据库的连接采用Hibernate。
由于JSP的动态内容是Java代码实现的,而Java又具有一次编写多处运行的特点,因此采用JSP开发的系统具有平台无关性,可以在不同的操作系统上运行。
Struts是一种基于MVC经典设计模式的框架,在当前Web开发中已经发展得比较成熟.它可以最大限度地实现组件的复用,具有很好的可重用性和可扩展性,有利于项目的扩展和二次开发。
Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具,借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去.由于本系统所采用的技术已经发展得比较成熟,因此本系统在技术上是可行的。
2.1.2经济可行性
经济可行性:
随着计算机技术的飞速发展和企业间竞争的加强,目前计算机的硬件和软件的价格非常低廉,因此本系统的开发和运行不需要花费很大的成本。
但是本系统运行将会为企业带来很大的经济利益,主要表现在以下几个方面:
(1)本系统可以代替人工进行许多复杂、重复的信息的记录和统计工作;
(2)管理人员可以方便的的对公司的员工、人才的招骋、培训计划、员工薪金等进行管理;
(3)普通员工可以方便的从本系统了解到公司的培训计划、奖惩信息、个人薪金等信息;
因此,本系统在经济上是可行的。
2.1.3社会可行性
目前,全球范围内的企业内部组织正在发生巨变,未来企业成功的关键将主要依靠企业人力资源。
有效地管理企业的人力资源,为企业提供强有力的储备力量将成为企业发展的主动力。
通过人力资源的有效管理能够激发员工的积极性,充分发挥每个员工的潜能,为企业创造更大的价值。
因此本系统的开发是适应时代发展的。
2.2需求分析
需求分析是软件开发最基本的,也是最重要的一点。
它是所有开发设计的前提,要是在没有搞清用户需求之前,就动手设计编程,其后果是无论程序做的如何精妙都是徒劳的。
需求分析的基本任务的准确的回答“系统必须做什么?
”。
虽然在可行性分析阶段已经粗略了解了用户的需求,但可行性研究的基本目的是用较小的成本在较短的时间内确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量,因此,必须对软件需求分析进行严格的审查分析。
2.2.1应用需求分析
传统的手工人事管理管理已经不能适应企业的发展,公司在管理方面面临严重的问题。
人事管理体制部门要花费大量的人力、物力来管理员工的信息、薪金等情况,既浪费了时间、又浪费人力和物力,而且数据的准确性低。
同时,由于管理制度的落后,有些员工表现出对工作不积极,在工作中偷懒、违反公司制度等情况。
因此,开发一个操作简单、功能强大的人力资源管理系统是十分必要的。
2.2.2系统功能需求
由于本系统存储了关于公司的很多重要的信息,因此对于本系统的管理需要考虑的关键就是安全的问题。
本系统通过对不同的用户设置不同的访问权限来保证数据库的安全,管理员可以对系统进行增加、删除、修改等操作,而对于普通的用户,只能浏览一些信息,不能执行任何的修改数据库信息的操作。
为了实现企业对员工的有效管理,在管理员的访问权限内本系统需要完成以下功能:
对公司员工信息进行管理,对应聘人才信息及人才库的管理,公司培训计划的制定与实施,对员工薪金进行管理,对员工奖惩信息的管理;具体的功能图如图2-1所示。
图2-1管理员的功能图
对于普通的用户,本系统需要完成以下功能:
浏览培训计划,查看培训总结,查看个人薪金,浏览奖惩信息;具体的功能如图2-2所示。
图2-2普通用户的功能图
按系统分模块并给出各模块的功能图:
人员管理模块包括:
浏览和添加用户,如图2-3所示。
图2-3人员管理功能图
招聘管理模块包括:
浏览招聘信息、添加招聘信息、浏览人才库,如图2-4所示。
图2-4招聘管理功能图
培训管理模块包括:
浏览培训计划、添加培训计划、察看培训总结,。
薪金管理模块:
浏览薪金和添加薪金,如图2-5所示。
图2-5薪金管理功能图
奖惩管理模块:
添加和浏览奖惩制度,如图2-6所示。
图2-6奖惩管理功能图
3系统设计
3.1系统总体设计
为实现需求分析提及的各种功能本系统主要由五部分组成,分别是人员管理、招骋管理、薪金管理、培训管理、奖惩管理,规划系统功能模块如图3-1所示。
图3-1人力资源管理系统结构图
人员管理模块:
该模块主要功能是对员工基本信息进行管理。
管理员登录以后可以浏览、查询公司内员工的基本信息和他们的详细信息,如果有新的员工进入公司,管理员可以添加新员工的信息,并且可以对信息进行修改。
招聘管理模块:
该模块主要是对公司的应聘人员信息、公司人才库进行管理。
管理员可以添加应聘人员的信息到数据库中,并且可以根据需要进行详细的查看或者删除。
管理人员还可以把比较优秀的适合公司招聘要求的应聘者添加到公司的人才库中。
培训管理模块:
该模块主要是对企业的培训计划、培训实施、培训总结等信息进行管理。
管理人员可以根据公司发展的需要适时的制定公司的培训计划,根据计划实施的情况进行培训的总结。
普通用户进入系统以后可以查看到公司的培训计划和培训
总结,了解公司对员工的培训情况。
薪金管理模块:
该模块主要功能是对员工薪金信息进行管理。
管理员负责录入员工薪金的各项信息,由系统自动进行统计,管理员有权限浏览员工薪金信息并且可以对信息进行修改或者删除,而普通用户只能浏览到自己的薪金信息。
奖惩管理模块:
该模块主要功能是对公司的奖惩信息进行管理。
管理员和普通用户都可以浏览到公司的奖惩信息,但是只有管理员可以根据公司的奖惩决议添加员工的奖惩信息,并且可以对信息进行修改或删除。
3.2 开发所采用的技术
随着Web开发技术的日益成熟,在Web开发领域中出现了许多设计好的软件开发框架,Struts就是一种基于MVC经典设计模式的框架,.它实际上是建立在Model2基础对Model,View和Controller都提供了现成的实现组件.
本系统主要采用JSP技术开发,使用Struts实现MVC框架的设计,与后台数据库的连接采用Hibernate。
由于JSP的动态内容是Java代码实现的,而Java又具有一次编写多处运行的特点,因此采用JSP开发的系统具有平台无关性,可以在不同的操作系统上运行。
Struts是一种基于MVC经典设计模式的框架,在当前Web开发中已经发展得比较成熟.它可以最大限度地实现组件的复用,具有很好的可重用性和可扩展性,有利于项目的扩展和二次开发。
Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具,借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去.由于本系统所采用的技术已经发展得比较成熟,因此本系统在技术上是可行的。
3.3 数据库设计
数据库设计是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
3.3.1数据需求分析
根据系统需求,可以列出以下数据表。
(1)用户表:
保存系统的用户信息,数据项包括用户ID、用户名、密码、性别、真实姓名、创建时间、是否管理员
(2)培训信息表:
用来保存公司的培训信息,数据项包括培训ID、培训名称、培训目的、培训开始时间、培训结束时间、培训人员、培训讲师、创建时间、培训影响度、培训材料。
(3)应聘信息表:
存储公司应聘人员的信息,数据项包括应聘ID、姓名、性别、年龄、应聘职位、所学专业、工作经验、毕业院校、电话、Email地址、创建时间、详细经历、是否入库。
(4)奖惩信息表:
存放公司员工的奖惩信息,数据项包括奖惩ID、奖惩名称、奖惩原因、奖惩说明、创建时间。
(5)薪金表:
保存员工的薪金信息,数据项包括薪金ID、员工姓名、基本薪金、饭补、房补、全勤奖、赋税、额外补助、罚款、发放时间、总计。
3.3.2 逻辑结构设计
培训信息表是用来存储公司的培训信息。
培训ID是此表的主键,用来唯一标识一条培训记录,其它字段用来记录培训的详细信息。
其结构如表3-1所示。
表3-1培训信息表–educate
字段名
数据类型
长度
是否主键
备注
id
int
4
Y
培训ID
name
varchar
100
N
培训名称
purpose
varchar
500
N
培训目的
begintime
datetime
8
N
培训开始时间
endtime
datetime
8
N
培训结束时间
datum
varchar
2000
N
培训人员
teacher
varchar
50
N
培训讲师
createtime
datetime
8
N
创建时间
effect
varchar
500
N
培训影响度
summarize
varchar
2000
N
培训材料
应聘信息表是用来存储公司应聘人员的信息的。
应聘ID是应聘表的主健,用来唯一标识一条应聘记录,因为应聘者有可能重名,因此在此表中不能用应聘者的姓名作为主键。
isstock字段用来标识应聘者是否加入到公司的人才库中。
其结构如表3-2所示。
表3-2应聘信息表–job
字段名
数据类型
长度
是否主键
备注
id
int
4
Y
应聘ID
name
varchar
50
N
姓名
sex
bit
1
N
性别
age
int
4
N
年龄
job
varchar
50
N
应聘职位
specialty
varchar
50
N
所学专业
experience
varchar
50
N
工作经验
school
varchar
50
N
毕业学校
tel
varchar
50
N
电话
email
varchar
50
N
电子邮件
createtime
datetime
8
N
创建时间
content
ntext
N
详细经历
isstock
bit
1
N
是否入库
奖惩信息表是用来存放员工的奖惩信息,奖惩ID是奖惩表的主健,用来唯一标识一条奖惩记录。
name,reason,explain,createtime用来记录奖惩的详细信息。
其结构如表3-3所示。
表3-3奖惩信息表-institution
字段名
数据类型
长度
是否主键
备注
Id
int
4
Y
奖惩ID
name
varchar
50
N
奖惩名称
reason
varchar
100
N
奖惩原因
explain
varchar
2000
N
奖惩说明
createtime
datetime
8
N
创建时间
薪金表是用来保存员工的薪金信息。
薪金ID是薪金表的主健,用来唯一标识一条记录。
basic,eat,house,duty等字段记录了员工薪金的各项信息,totalize字段是系统根据薪金的各项信息自动生成的。
其结构如表3-4所示。
表3-4薪金表–stipend
字段名
数据类型
长度
是否主键
备注
id
int
4
Y
薪金ID
name
varchar
50
N
员工姓名
basic
float
8
N
基本薪资
eat
float
8
N
饭补
house
float
8
N
房补
duty
float
8
N
全勤奖
scot
float
8
N
赋税
punishment
float
8
N
额外补助
other
float
8
N
罚款
granttime
datetime
8
N
发放时间
totalize
double
8
N
总计
用户表是用来保存系统用户的基本信息。
用户ID是用户表的主健,用来唯一标识一条记录,其数据类型为自动编号,递增数为1。
username字段为用户名,记录用户登陆名称,该字段的记录值是唯一的,不允许有重复,通过该字段也能唯一标识一条记录。
isadmin字段用来标识用户是否是管理员,通过该字段可以设置用户的权限。
其结构如表3-5所示。
表3-5用户表–user
字段名
数据类型
长度
是否主键
备注
id
int
4
Y
用户ID
username
varchar
50
N
用户名
password
varchar
50
N
密码
sex
bit
1
N
性别
rname
varchar
50
N
真实姓名
createtime
datetime
8
N
创建时间
isadmin
bit
1
N
是否管理员
3.4 系统运行环境和开发工具
3.4.1运行环境
硬件需求:
PIII/256M/10G及以上配置,要求为系统分配足够的数据库磁盘空间
操作系统需求:
Windows2000及以上操作系统(推荐),也可以使用SunSolaris等Linux操作系统
数据库软件需求:
MySql数据库(推荐),也可以使用Oracle数据库
中间件软件需求:
tomcat系列服务器
3.4.2开发工具
MyEclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,MyEclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将MyEclipse当作JavaIDE来使用,但MyEclipse的目标不仅限于此。
MyEclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展MyEclipse的软件开发人员,因为它允许他们构建与MyEclipse环境无缝集成的工具。
由于MyEclipse中的每样东西都是插件,对于给MyEclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管MyEclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
MyEclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于MyEclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。
例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
MyEclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的MyEclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着MyEclipse项目已经发展成为了一个庞大的MyEclipse联盟,有150多家软件公司参与到MyEclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
MyEclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJ