基于JAVA SHH框架的人力资源管理系统的设计与实现探讨
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
【摘要】 (2)
前言 (3)
第1章绪论 (4)
第1.1节课题背景 (4)
第1.2节国内外发展状况 (4)
第1.3节研究目的与意义 (5)
第2章系统开发的关键技术及方案 (6)
第2.1节关键技术 (6)
2.1.1. JAVA SSH框架 (6)
2.1.2. Oracle 数据库 (7)
2.1.3. Tomcat服务器 (7)
第2.2节 MVC模式 (8)
第3章系统分析 (10)
第3.1节整体功能需求分析 (10)
第3.2节系统结构分析 (10)
3.2.1. 顶层用例描述 (11)
3.2.2. 第二层用例描述 (12)
第4章系统设计 (16)
第4.1节系统功能模块图 (16)
第4.2节数据库设计 (17)
第5章系统实现 (22)
第5.1节登录选择界面的实现 (22)
第5.2节用户登录模块的实现 (22)
第5.3节员工管理模块的实现 (21)
第5.4节培训信息模块的实现 (24)
第5.5节奖惩管理模块的实现 (26)
第5.6节文件管理模块的实现 (27)
第5.7节招聘信息模块的实现 (29)
第6章总结与展望 (29)
第6.1节课题总结 (29)
第6.2节后续展望 (30)
参考文献 (31)
【摘要】
了解人力资源管理,首先要审查管理人员。
大多数专家一致认为,有五个基本职能的所有管理人员执行的规划、组织、人员配备、领导和控制。
总之,这些职能描绘了管理的步骤。
一些参与了每个功能的具体活动包括:
规划:确定目标和标准;发展中国家的规则和程序;发展计划和预报——预测或预测未来的一些情况。
组织:给每个下属的具体任务;建立部门;给下属权力;建立权威和交流的渠道;协调下属的工作。
人员编制:决定什么类型的人应该雇用;招募潜在雇员;选择雇员;制定的性能标准;补偿雇员;评价性能;辅导员工;培训和发展员工。
领导:让别人来完成任务;保持士气;激励下属。
控制:设置标准,如销售定额、质量标准或生产水平;查看实际的执行情况是否符合这些标准;需要时采取纠正行为。
随着计算机技术的快速发展,人们越来越多的利用计算机来解决实际问题。
面对庞大的人事信息,人工管理既浪费时间又浪费人力,所以一个专业的人力资源管理系统是非常重要的。
JAVASSH框架为struts + spring + hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。
采用Hibernate作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,其优点是处理数据速度快,并且非常安全。
关键字:JAVA SSH框架,Oracle 数据库,人力资源管理。
[Abstract]:
To understand what human resource management is, we should first review what managers do. Most experts agree that there are five basic functions all managers perform' planning, organizing, staffing, leading, and controlling. In total, these functions represent the management process. Some of the specific activities involved in each function include:
Planning: Establishing goals and standards; developing rules and procedures; developing plans and forecasting—predicting or projecting some future occurrence.
Organizing: Giving each subordinate a specific task; establishing departments; delegating authority to subordinates; establishing channels of authority and communication; coordinating the work of subordinates.
Staffing: Deciding what type of people should be hired; recruiting prospective employees; selecting employees; setting performance standards; compensating employees; evaluating performance; counseling employees; training and developing employees.
Leading: Getting others to get the job done; maintaining morale; motivating subordinates.
Controlling: Setting standards such as sales quotas, quality standards, or production levels; checking to see how actual performance compares with these standards; taking corrective action as needed.
With the rapid development of computer technology ,more and more people use computers to solve practical problems.Faced with huge personnel information, manual management is a waste of time and waste of manpower, so a professional human resource management system is very important.
JA V ASSH framework for an integrated framework of struts + spring + hibernate, is currently the more popular a kind of open source JA V A Web application framework. The biggest advantage to use Hibernate: the persistence layer technology can completely in an object-oriented approach to analysis system and designing system.
The ORACLE database is currently the world's most widely used database management system. Its advantages are fast data processing and and very safe.
【key words】JA V A SHH ,Oracle Database,Human resource management
前言
人力资源管理作为一门新兴的现代学科,源于20世纪70年代。
人力资源管理作为学术研究的历史虽然不是很长,但是人力资源管理的思想却源远流长,一脉相承。
从世界来看,十八世纪工业革命到20世纪70年代末,这一时期被称为传统的人事管理阶段。
而从二十世纪70年代至今,人事管理的名称早已被人力资源管理取代。
科技和经济都迅猛发展的21世纪,计算机渗透在世界的每个角落,计算机已成为人们使用最频繁也是最有效的工具之一。
传统的人力资源管理的局限性在日益激烈的市场竞争中逐步体现出来,企业逐渐意识到现代人力资源管理系统在企业中实施的重要性。
本毕业设计的题目是基于JAVA SHH框架的人力资源管理系统,依据Oracle 数据库的稳定快速,结合SHH框架的层层联系,再加上js 和css等网页设计技术,利用强大的互联网技术,对企业提供人力资源管理服务。
第1章绪论
第1.1节课题背景
随着时代的发展,社会的进步,越来越多的企业建立、发展、壮大、成熟。
企业是国民经济的基本单元,企业发展得越好,经济进步就越快。
然而随着企业的发展,人员的增多,每年人力资源管理的成本也会不断地增加,这一问题不仅耗费企业大量的资金,也耗费了大量的人力。
当企业规模较小时,人力尚且比较容易完成信息管理,但随着企业规模增大,人员增多,老式的纸质管理方法就会出现许多弊端,比如说,保存困难、不易查询、耗费大量人力却仍然工作效率低下,工作出错率增高等,这种方法已经跟不上时代。
人力资源管理系统产生于20世纪60年代末期,当时的计算机技术已经进入实际应用阶段,同时大型企业用手工来计算和发放薪资既费时、费力又非常容易出错,为了解决这个矛盾,第一代的人力资源管理信息系统应运而生。
经过将近40年的发展,如今大多数公司普遍使用的是第三代人力资源管理信息系统。
第三代人力资源管理信息系统界面友好,支持多平台,并提供了强有力的报表生成工具、分析工具和信息共享,使得人力资源管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策。
企业人力资源管理系统的出现是企业管理的一个重要里程碑,公司的各种资源的实际情况是各不相同的,一款人力资源管理系统不能适用于所有公司,一个可以安全的、规范的,自动化的、适合的企业人力资源管理系统对企业的发展是必不可少的。
第1.2节国内外发展状况
国外的研究现状:
人力资源方面的研究最早提出“人力资源”概念的是著名的管理学家彼德德鲁克(2007),他认为:“所谓企业管理,其实是人力管理,人力管理就是企业管理的代名词。
至此,西方出现了人力资源部,除了从事传统的事务以外,增加了人力资源规划、政策制定、人力资源开发、纸业生涯管理、工作分析与设计等职能。
Arthur(2007)认为人力资源管理系统由人力资源原则、人力资源政策、人力资源制度、人力资源实践和人力资源气氛五部分构成。
Arthur认为人力资源管理系统是多层次的,每个层次又是相互关联的。
目前,一部分国外的人力资源管理系统不仅能够完全满足人事管理的需要,而且已经站在战略层的高度,完成了诸如人力资源规划、只能招聘等比较复杂的管理模块,但是因为面向对象有所不同,管理的内容也不尽相同,国外系统往往不够灵活,通用性不强,有些东西不符合中国的习惯
国内的研究现状:
中国式后来才引进“人力资源”这一概念的,相应的软件出现的也比国外晚。
因此,人力资源管理系统在国内企业中的应用还不是很成熟。
褟彦玲,林风(2009)提出,中小企业人力资源管理中存在以下几个方面的缺点:(1)人力资源管理机制不健全。
(2)人力资源管理专业化程度低。
(3)人力资源管理工作效率低下。
(4)人力资源管理从业人员数量少、素质不高。
任晓梅(2009)在《天波公司人力资源管理体系的构建》中提到公司人力资源管理体系诊断:组织职能不清、结构不合理;缺乏有效的绩效考核体系;人力资本的投入不够;人力资源管理仍停留在传统的人事管理。
再加上人力资源管理体系对企业的影响重大,秦虎锋,唐永芬,王斌(2009)在《基于的人力资源管理系统》论文中随着科学技术的迅猛发展和管理水平的不断提高,将人力资源管理上升到战略层次正逐渐乘务集团企业的迫切管理需求。
国内的中小企业在人力资源管理上存在不少的问题,所以,迫切需要一套适合企业的系统。
顾建华(2008)在论文《基于.NET的人力资源管理系统》提到,针对目前企业用手工方式进行人事管理费时费力又非常容易出差错,同事国内外的人事系统大而全,费用较贵,并且都与自身的一些平台产品绑定,用户很难用这些产品进行二次开发,有必要设计一套满足企业自身基本需求的人力资源管理系统。
人力资源管理系统前景明亮,司运成(2008)在《基于J2EE的人力资源管理喜用的研究与实现》认为,人力资源已成为企业核心竞争力的战略性资源,因此企业管理最重要的就是人力资源管理。
由此可见,在现在的市场环境下,推行人力资源管理系统的时机已成熟,并且对企业的意义十分重大。
王德才,陈维政在《人力资源管理系统与企业绩效关系研究》论文中表示人力资源管理系统对企业绩效有积极影响,强调人力资源管理系统对企业绩效影响的中介机制。
综上所述,人力资源管理的研究,国外早于国内,所以,在国外,人力资源管理系统的应用比国内更加普遍,系统上也更加完善。
然而,国外的系统适应本土的企业,如果贸然引进与国内的各个企业,恐怕会有相反的效果,所以,国内的企业需要开发适合自己的人力资源管理系统。
第1.3节研究目的与意义
研究目的:
人们日益发觉二十一世纪的成功关键与二十世纪的有很大不同。
在过去,低
廉的天然资源是一个国家经济发展的关键。
如今最稀缺的是人才,对人才的投资势必成为一种主流。
对人才的吸引,不仅靠企业的整体实力,更靠企业的人力资源管理下给员工带来的安全感和归属感。
好的管理能够激发员工的内在潜力,员工从中得到了成就感,鞭笞自己更加向前,这样形成了良性循环,给企业带来了巨大的绩效。
研究意义:
1.通过合理的管理实现人力资源的高效,取得最大的使用价值,使人的有效技能最大的发挥。
2.通过采取一定的措施,充分调动员工的积极性,最大程度的发挥员工的潜力。
3.一切一人为本,培养全面发展的人。
系统开发的关键技术及方案
第1.4节关键技术
1.4.1.JAVA SSH框架
SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。
Struts作为系统的整体基础架构,负责MVC 的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。
Spring一方面作为一个轻量级的IoC容器,负责查找、定位、创建和管理对象及对象之间的依赖关系,另一方面能使Struts和Hibernate更好地工作。
1.Spring :简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
其特性有:1.IOC容器
2.轻量的
3.面向切向
4.促进其他框架
5.面向借口。
Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。
Spring的以上特性使得开发人员使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
2.Struts :首先,Struts 是MVC的一种实现,它将 Servlet和JSP标记(属于 J2EE 规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE 的特点,做了相应的变化与扩展,减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
另外, struts具有页面导航功能,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期
的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
3.Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
为什么使用Hibernate?
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2、Hibernate是一个优秀的ORM实现。
他很大程度的简化DAO层的编码工作,将软件开发人员从大量相同的数据持久层相关编程工作中解放出来,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。
所以说它是一个轻量级框架。
1.4.
2.Oracle 数据库
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
其主要特点有:
■ 可用性强
■ 可扩展性强
■ 数据安全性强
■ 稳定性强
1.4.3.Tomcat服务器
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器。
因为Tomcat技术先进、性能稳定且免费,深受Java爱好者的喜爱并得到了部分软件开发商的认可,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
成为目前比较流行的Web应用服务器。
第1.5节MVC模式
MVC模式是Model-View-Controller(模型-视图-控制器)的缩写。
MVC应用程序总是由这三个部分组成。
Event(事件)导致Controller改变Model或View,或者同时改变两者。
只要Controller改变了Model的数据或者属性,所有依赖的View都会自动更新。
类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。
视图代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。
随着应用的复杂性和规模性,界面的处理也变得具有挑战性。
一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交予模型处理。
比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
模型就是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其他层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。
它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。
对一个开发者来说,就可以专注于业务模型的设计。
MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的依据。
抽象与具体不能隔得太远,也不能太近。
MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。
我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。
这点对编程开发人员非常重要。
控制可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
控制层并不做任何的数据处理。
例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
因此,一个模型可能对应多个视图,一个视图可能
对应多个模型。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
这实际上是一种模型的变化-传播机制。
模型、视图、控制器三者之间的关系和各自的主要功能,如图2-1所示。
图2-1 MVC模式的基本设计思想示意图
第2章系统分析
第2.1节整体功能需求分析
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。
参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。
根据一般公司的人力资源管理业务需求,系统应该具有以下功能:
1 登陆功能:为了防止非法用户的访问及信息保密性要求,登陆模块应根据用户类型对其操作权限进行了限制。
2 员工信息管理:应实现员工档案的增加、删除、修改等操作。
其中加入了用户的增加和删除。
还包括员工工资的录入,修改和查询。
3 招聘管理:管理员可以发布、删除招聘信息。
4 培训管理:根据具体的情况设置人员培训,可修改、删除、添加培训信息。
5 奖惩管理:实现对奖惩信息的增加、删除等操作,为薪资、升迁等提供依据。
6 文件管理:对员工提供文件上传和下载功能,管理员可以对下载列表进行添加、删除。
7员工自管理:该模块强调员工自助服务,如对个人档案、薪资等信息的查询。
第2.2节系统结构分析
员工管理招聘管理
奖惩管理
招聘管理
奖惩管理
员工管理
信息查询上传下载
信息查询信息修改信息删除信息添加
2.2.1.顶层用例描述
顶层用例图从整体结构描绘了系统。
其中有两个角色(员工、管理员)和两个用例(人力资源管理系统、登录)。
员工和管理员为系统的用户。
任何用户使用此系统前都需要进行登录。
编号:001 用例名称:登录编者:晏振鹏
启动角色管理员公司职员
进入条件系统已正常启动,初始化完毕系统,显示登录页面
事件流用户输入用户名,用户输入密码,系统读取输入
系统验证用户名和密码,系统显示功能菜单退出条件用户登录成功
异常流用户名密码验证失败,允许再次登录
编号:002 用例名称:人力资源管理系统编者:晏振鹏
参与角色员工、管理员
进入条件系统已正常启动,初始化完毕
用户已登录
事件流用户选择菜单,系统执行用户的操作,用户退出系统,系统退出,返回登录页面
退出条件用户点击退出
异常流用户关闭浏览器,系统关闭
2.2.2.第二层用例描述
1.员工管理用例:员工管理用例其中包括4个用例,分别为添加员工档案、修改员工档案、注销员工档案和查看员工档案。
涉及2种用户为管理员和公司职员。
编号:003 用例名称:员工管理编者:晏振鹏
参与角色员工、管理员
进入条件用户要先执行人力资源管理用例,才能启动员工管理用例。
事件流用户查看员工档案,用户添加员工档案
用户修改员工档案,用户注销员工档案
退出条件查看员工档案结束,添加员工档案结束,注销员工档案结束
修改员工档案结束。
2.奖惩管理用例
奖惩信息管理用例包括三个用例:添加奖惩信息、删除奖惩信息、查看奖惩信息。
涉及两种用户:员工和管理员
编号:004 用例名称:奖惩管理编者:晏振鹏
参与角色员工、管理员
进入条件用户要先执行人力资源管理用例,才能启动奖惩管理用例。
事件流用户查看奖惩信息,用户添加奖惩信息,用户删除奖惩信息
退出条件查看奖惩信息结束,添加奖惩信息结束,删除奖惩信息结束3招聘管理用例
招聘信息管理用例包括三个用例:添加招聘信息、删除招聘信息、查看招聘信息。
涉及两种用户:员工和管理员
编号:005 用例名称:招聘管理编者:晏振鹏
参与角色员工、管理员
进入条件用户要先执行人力资源管理用例,才能启动招聘管理用例。
事件流用户查看招聘信息,用户添加招聘信息,用户删除招聘信息
退出条件查看招聘信息结束,添加招聘信息结束,删除招聘信息结束
4 培训管理用例
招聘信息管理用例包括三个用例:添加培训信息、删除培训信息、查看培训信息。
涉及两种用户:员工和管理员
系统管理员员工培训管理
添加培训信息
修改培训信息
注销培训信息
查看培训信息
普通用
户
编号:006 用例名称:培训管理
编者: 晏振鹏
参与角色 员工、管理员
进入条件 用户要先执行人力资源管理用例,才能启动招聘管理用例。
事件流 用户查看培训信息,用户添加培训信息,用户删除培训信息 退出条件 查看培训信息结束,添加培训信息结束,删除培训信息结束
5文件管理用例
文件管理用例包括三个用例:上传文件、删除文件、下载文件。
涉及两种用户:员工和管理员
编号:007 用例名称:文件管理
编者:晏振鹏
参与角色 员工、管理员
进入条件 用户要先执行人力资源管理用例,才能启动文件管理用例。
事件流 用户上传文件,用户下载文件,管理员删除文件 退出条件
上传文件结束,下载文件结束,删除文件结束
系统管理员
文件删除
文件上传
文件管理 文件下载
普通用户
第3章系统设计
第3.1节系统功能模块图
功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发的一个关键过程。
在系统分析的基础上,确定了系统的功能结构图,系统功能模块图如图4-1所示。
图4-1 系统功能模块图。