人力资源管理系统人事及考勤子系统设计毕业论文.docx
《人力资源管理系统人事及考勤子系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《人力资源管理系统人事及考勤子系统设计毕业论文.docx(60页珍藏版)》请在冰豆网上搜索。
![人力资源管理系统人事及考勤子系统设计毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-1/23/fa6eb820-28f1-480e-acc9-044734c98705/fa6eb820-28f1-480e-acc9-044734c987051.gif)
人力资源管理系统人事及考勤子系统设计毕业论文
人力资源管理系统人事及考勤子系统设计毕业论文
第1章绪论
1.1课题研究的背景
21世纪是一个日新月异的信息时代,随着电脑与网络技术的日益发达,电子商务空前的发展,企业之间的竞争已经从有形的市场经济转向了无形的网络领域。
因此企业管理也进入了高效的信息化的时代,即人力资源管理系统也就应运而生,所谓人力资源管理系统,指人力资源管理电子信息化,是企业基于高速度、大容量的硬件和先进的IT软件的人力资源管理模式。
通俗地说,就是人力资源管理信息化或自动化。
在一个现代化的公司中的企业管理主要涉及到招聘,人事、薪资、考勤、培训几大部分,本次系统开发主要是针对以上几大模块的工作逻辑来设计和实现人力资源管理系统。
1.2国内外发展现状
现在,中国国内的人力资源管理系统的现况是[1]:
中国的软件系统大多是源自信息系统,从部门的业务需求方面出发设计。
管理信息系统的设计是为了服务于企业内部大多数业务操作员,将业务操作人员的重复性劳动进行初步自动化,即从管理理论抽象出理想化的业务管理模式,在基于该业务模式的基础上实现低层次的数据处理或业务流程电子化。
管理信息系统的设计,是根据中小型企业业务单元的需求来编写的,一般无法满足多体制、多元化、多重组织结构的大型企业数据处理需求。
在与国外同类应用系统及解决方案相比较,目前中国的人力资源管理软件还有一些不足:
第一,大部分是由管理信息系统演变而来,从单一的人力资源管理或人事行政管理的业务需求角度出发设计,如人事管理、考勤管理,或薪资计算与发放管理等,服务对象是某一具体业务的自动化操作需求;第二,目前国内的人力资源管理软件虽然已将模块功能扩展至企业人力资源管理或人才资本管理相关的整个业务领域,但系统在完整性、前沿性和集成性方面仍有欠缺。
国外人力资源管理系统相对于国内人力资源管理系统来说,优势主要体现为:
具有雄厚的经济实力,在技术力量的培养、研发、市场推广等方面大力投入;具有一定实力的包括硬件厂商、数据库公司、咨询公司在内的合作伙伴,形成很强的实力联手格局。
国外人力资源管理系统伴随着管理理论的发展,其设计思路蕴涵了先进的管理理念和先进的开发技术;国外人力资源管理系统起步较早,完整性和成熟度高,能开发出了适用于不同行业的解决方案。
1.3课题研究的目的和意义
人力资源管理系统(HRMS),包括人事日常事务、薪资、招聘、培训、考核,同时人力资源的管理也指组织或社会团体运用系统学理论方法,对企业的人力资源管理各个方面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。
人力资源管理系统就不仅可以完成日常业务需求,而且可以准确及时地搜索各种人力资源信息以方便管理者进行决策。
本系统是一个建立在成熟的Internet/Intranet【2】之上的人力资源管理系统。
在系统需求分析的设计过程中,我们通过网络了解人力资源管理系统的功能组成部分,并通过对公司的咨询进行分析,最后通过小组会议讨论的方法获得需求分析,根据用户需求设计开发思路,采用图形来建立业务逻辑,最终确定系统功能模块。
根据需求分析过程获取具体实体对象,从而设计系统类图,确定类之间的关系,对系统进行详细设计并实现。
该系统可以对企业员工各种信息和企业的各种部门信息进行统一管理,公司相应权限的管理人员可以登录本系统,进行相应的企业人力管理。
使人力资源管理人员从繁杂、重复的劳动中脱离出来,集中时间、精力进行人力资源的整体规划与决策,提高企业的市场竞争力。
系统应用了成熟的Internet/Intranet技术到人力资源管理系统中,使企业员工在全国各地都可以随时了解企业相关信息。
在人员招聘方面,企业通过Internet对外发布招聘信息,应聘人员可以根据自己的特点填报相关空缺职位;在内部管理方面,也能方便员工交流;在业绩考勤管理方面,能对公司员工的日常考勤、加班、出差、请假考勤进行相关的记录统计,得到相关的负责人的批准方能生效。
第2章相关知识的介绍
在系统的开发过程中,运用面向对象[3]的开发语言,系统采取B/S结构,使用J2EE开发框架,主要是MVC框架,Ajax技术(jQuery),JFreeChart报表.权限控制时采用的是角色对应权限,配置文件配置URL进行action过滤来实现。
数据库采用SQLServer2005.
2.1开发工具简介
本系统的开发环境是jdk6.0+Eclipse3.5+Tomcat6.0,使用的语言是java语言。
JDK(JavaDevelopmentKit)是SunMicrosystems公司为Java开发人员设计的的产品。
从Java诞生以来,JDK已经成为使用最广泛JavaSDK。
JDK是整个Java的核心内容,包括了Java运行环境,Java工具和Java基础的类库三部分。
JDK是学好Java的前提。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
现在最新版本是jdk6.0。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
Eclipse它只是一个框架和一组服务,用于通过插件组件构建开发环境,关键的是Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse最先是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。
2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。
2007年6月,稳定版3.3发布。
2008年6月发布代号为Ganymede的3.4版。
2009年7月发布代号为GALILEO的3.5版。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发研究而成。
因为有了Sun的参与和支持的原因,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
目前最新版本是6.0。
2.2MVC框架简介
MVC架构是"Model-View-Controller"的缩写中文翻译为"模型-视图-控制"[4].MVC应用程序是由这三个部分组成。
Event(事件)的变化导致Controller改变Model或View,或者同时改变两者。
当Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。
对应地,当Controller改变了View,View会从潜在的Model中获取数据来刷新自己的变化。
MVC架构最早研发者是smalltalk语言研究团,主要应用于用户交互应用程序中。
smalltalk语言和java语言有很多相似性,都是面向对象语言,很自然的SUN在petstore(宠物店)事例应用程序中就推荐MVC架构作为开发Web应用的架构模式。
MVC架构是一种架构,其实需要其他模式协作完成。
在J2EE模式中,通常采用servicetoworker模式实现,而servicetoworker模式可由集中控制器模式,派遣器模式和PageHelper模式组成。
MVC架构是一个复杂的架构,其实现也显得非常复杂。
由于我们已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC架构的实现变得相对简单易行。
Views相当于一棵树,可以用CompositePattern来实现。
Views和Models之间的关系可以用ObserverPattern体现。
Controller控制Views的显示,可以用StrategyPattern实现。
Model通常是一个调停者,可采用MediatorPattern来实现。
MVC与J2EE架构的对应关系可以分析如下:
View处于WebTier或者说是ClientTier,通常是JSP/Servlet,即页面显示部分。
Controller也处于WebTier,通常用Servlet来实现,即页面显示的逻辑部分实现。
Model处于MiddleTier,通常用服务端的javaBean或者EJB实现,即业务逻辑部分的实现。
2.3系统运行配置
服务器操作系统:
可运行Tomcat6.0的Windows或Linux操作系统
客户操作系统:
支持Firefox浏览器的操作系统
测试浏览器:
Firefox浏览器
第3章系统分析
系统分析主要是介绍在系统设计前的可行性分析和需求分析,为系统设计作必要的准备。
可行性分析简单的对本系统的技术可行性、操作可行性、软硬件的选择的分析说明。
需求分析,主要是对本系统大体要实现内容的总结,以便以后测试本系统是否达到设计标准。
3.1可行性分析
3.1.1技术可行性
本系统技术要求如下:
功能:
对人事资料、人力资源、工资管理、考勤管理等进行综合管理。
输入/输出:
输入查询条件,输出查询内容。
基本的数据流程和处理流程:
先对人员信息进行录入,然后再对它们分类。
可以对数据进行插入、删除、修改、查询。
用户与权限:
此系统可以分为用户和管理员,用户可以设置自己的个人信息,管理员主要管理系统的各种信息。
以上系统技术要求使用Eclipse可以满足,它使用的是面向对象、高效率且能够实现b/s模式编程的java语言[5]开发,使用MVC思想把数据、视图、业务逻辑进行分开,使用SVN协同开发工具进行版本控制,因此,本系统的开发在技术上是可行的。
3.1.2操作可行性
该系统在操作上很简单的,使用者完全可以没有专业的计算机知识。
启动系统后进入登陆用户界面,用户用自己登陆名和密码进入系统操作页面。
不同的用户拥有不同的权限,也只能浏览和操作相应的模块。
用户能对自己拥有权限的功能模块进行相应的操作。
例如人事主管进入系统:
他就可以进入人事信息模块,对人事信息进行浏览,删除,修改,添加等操作。
3.2需求分析
该系统分为六个模块:
人事管理、考勤管理、工资管理、招聘管理、培训管理、权限管理。
招聘管理:
针对公司的人才需求发布招聘职位信息,对应聘职位的简历进行录入并管理;符合要求的简历通知其进行面试,对面试人员的面试结果进行档案维护。
另外该模块还涉及到对应聘人员资料的统计分析。
人事管理:
该模块是关于公司的人事信息维护,首先是对入职员工的基本信息的录入、修改、浏览等操作;其次是员工人事档案、合同档案等基本信息的管理和公司的部门管理;最后,并对公司的人事信息从工种,专业,学历等属性进行统计分析。
考勤管理:
该模块主要涉及到公司员工的考勤统计。
考勤主要是日常考勤,请假考勤、出差考勤、加班考勤几大内容;另外也通过各个部门的考勤进行报表分析。
工资管理:
该模块主要是关于公司的薪资信息维护,相关人员能进入该模块给员工进行工资管理,员工的工资主要是工资方案计算得出,工资方案是由工资项目进行组合而成。
另外还能对员工的工资信息能进行调整和数据统计。
培训管理:
该模块主要是进行员工培训信息的维护,主要是对培训类型管理、培训档案管理和培训效果统计。
系统设置:
该模块主要是用户的权限设计,不同的用户对应着不同的权限,也只能操作相应权限的模块,另外还有用户的创建和用户密码的修改等功能。
第4章系统总体设计
系统总体设计是对系统的模块规划、系统功能结构及系统数据库的总体设计。
4.1系统模块规划
本系统是一个典型的数据库开发应用程序,主要由招聘管理、人事管理、考勤管理、薪资管理、培训管理和系统设置六大模块组成,规划系统功能模块如下:
招聘管理模块:
该模块主要是由招聘信息管理、简历管理、面试档案管理、招聘职位、统计分析组成。
人事管理模块:
该模块主要是由人事基本信息管理、部门设置、人事档案、人事变动、合同管理、工种类型、职位类型、员工状态、学历资料、专业资料、统计分析组成。
考勤管理模块:
该模块主要由请假管理、出差管理、加班管理、出勤管理、请假报表、出差报表、加班报表、出勤报表组成。
工资管理模块:
该模块主要是由工资项目设置、工资方案、工资调整、工资发放、统计分析组成。
培训管理模块:
该模块主要由培训信息管理、培训档案管理、培训类别、统计分析组成。
系统设置模块:
该模块主要由用户管理、角色管理、资源权限管理、密码修改组成。
4.2系统功能结构图
1.主要模块结构图如4-1:
图4-1系统结构功能图
2.模块结构图
1.招聘管理子模块结构图如4-2:
图4-2招聘管理子模块结构图
2.人事管理子模块结构图4-3:
图4-3人事管理子模块结构图
3.考勤管理子模块结构图4-4:
图4-4考勤管理
4.培训管理子模块结构设计图4-5:
图4-5培训管理模块设计
5.工资管理子模块设计图4-6:
图4-6工资管理模块设计
6系统设置子模块设计图4-7:
图4-7系统设置子模块设计
4.3系统数据库设计
数据库设计的好坏在一个信息管理系统中地位十分重要,数据库结构设计将直接关系到对应用系统的效率,实现的效果产生影响。
数据库结构设计合理可以提高数据存储的效率,保证数据的完整性[6]。
4.3.1数据库需求分析
数据库系统应充分熟悉用户各方面的需求,对于本系统用户的需求具体体现在各种信息的提供、保存、更新和查询,这要求数据库的结构能充分满足各种信息的输入和输出,收集基本数据、数据结构及数据处理的流程,为后面的具体设计打下数据基础。
1.数据录入和处理的准确性和实时性:
数据的准确输入是数据处理的前提,错误的输入会导致系统输出的异常和不正确,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入数据要考虑数据的长度和数据的属性。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
2.数据的一致性与完整性:
由于系统的数据是共享的,在不同的部门中,信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
根据系统功能分析和需求总结,考虑到将来功能上的扩展,设计出员工基本信息表、工种类型表、职位表、部门表等十八个表。
4.3.2数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
本系统根据上面的设计规划出的实体有:
员工基本信息表、工种类型表、职位表、部门表等十八个表。
4.3.3数据库逻辑结构设计
数据的概念结构设计完之后,可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
比如系统数据库中各表的详细设计如表所示。
表4-1员工基本信息表(hr_jbxxb)
字段名
数据类型`
描述
是否主键
外键
是否为空
yggh
Varchar(30)
员工工号
√
ygxm
Varchar(30)
员工姓名
ygxb
Varchar(10)
员工性别
√
csrq
Varchar(20)
出生日期
√
xl
varchar(20)
学历
√
zy
varchar(20)
专业
√
lxfs
Varchar(30)
联系方式
√
jzdz
Varchar(100)
居住地址
√
zw
Varchar(30)
职务
√
xz
Float(8)
薪资
√
rzsj
Varchar(20)
入职时间
√
ssbm
varchar(30)
所属部门
√
zzzt
Varchar(10)
在职状态
√
表4-2工种类型(hr_gzlxb)
字段名
数据类型`
描述
是否主键
外键
是否为空
gzbh
Varchar(30)
工种编号
√
gzmc
Varchar(30)
工种名称
√
表4-3职位类型(hr_zwlxb)
字段名
数据类型
描述
是否主键
外键
是否为空
zwbh
Varchar(30)
职位编号
√
zwmc
Varchar(30)
职位名称
√
表4-4员工状态(hr_ygzt)
字段名
数据类型
描述
是否主键
外键
是否为空
zzztbh
Varchar(30)
在职状态编号
√
zzztmc
Varchar(30)
在职状态名称
√
表4-5部门分类(hr_bmflb)
字段名
数据类型
描述
是否主键
外键
是否为空
bmbh
Varchar(30)
部门编号
√
bmmc
Varvhar(30)
部门名称
√
表4-6人事变动(hr_rsbdb)
字段名
数据类型
描述
是否主键
外键
是否为空
bmbh
Varchar(30)
人事变动编号
√
yggh
Varvhar(30)
员工工号
ygxm
Varvhar(30)
员工性名
ygxb
Varvhar(10)
员工性别
√
bdqzw
Varvhar(30)
变动前职务
√
bdqbm
Varvhar(30)
变动前部门
√
bdqxz
Flaot(8)
变动前薪资
√
bdhzw
Varvhar(30)
变动后职务
√
bdhbm
Varvhar(30)
变动后部门
√
bdhxz
Float(8)
变动后薪资
√
sxrq
Varvhar(20)
生效日期
√
pzr
Varvhar(30)
批准人
√
pzrq
Varvhar(20)
批准日期
√
表4-7人事档案(hr_rsdab)
字段名
数据类型`
描述
是否主键
外键
是否为空
yggh
Varchar(30)
员工工号
√
ygxm
Varchar(30)
员工姓名
ygxb
Varchar(10)
员工性别
√
sfzh
Varchar(30)
身份证号
√
hyzk
varchar(10)
婚姻状况
√
csrq
Varchar(20)
出生日期
√
mz
Varchar(30)
民族
√
sg
int
身高
√
tz
Int
体重
√
lxfs
Varchar(30)
联系方式
√
jzdz
Varchar(100)
居住地址
√
jg
Varchar(100)
籍贯
√
xl
varchar(20)
学历
√
zy
Varchar(20)
专业
√
wy
Varchar(20)
外语
√
byyx
Varchar(100)
毕业院校
√
bysj
Varchar(20)
毕业时间
√
sm
varchar(2000)
说明
√
表4-8专业资料(hr_zyzlb)
字段名
数据类型
描述
是否主键
外键
是否为空
zybh
Varchar(30)
专业编号
√
zymc
Varchar(30)
专业名称
√
表4-9学历类型(hr_xllxb)
字段名
数据类型
描述
是否主键
外键
是否为空
xlbh
Varchar(30)
学历编号
√
xlmc
Varchar(30)
学历名称
√
表4-10合同管理(hr_htglb)
字段名
数据类型
描述
是否主键
外键
是否为空
htbh
Varchar(30)
合同编号
√
yggh
Varvhar(30)
员工工号
ygxm
Varvhar(30)
员工性名
htlx
Varvhar(30)
合同类型
√
htsx
Varvhar(30)
合同属性
√
sxrq
Varvhar(20)
生效日期
√
zzrq
Varvhar(20)
终止日期
√
htxz
Flaot(8)
合同薪资
√
qsrq
Varvhar(20)
签署日期
√
htnr
Varvhar(3000)
合同内容
√
表4-11请假信息表(hr_qjxxb)
列名
数据类型
描述
是否主键
外键
是否为空
qjdh
vchar(30)
假条单号
√
ygbh
vchar(30)
员工编号
√
qjsy
vchar(400)
请假事由
√
swjj
vchar(100)
事务交接
√
qjts
int
请假天数
√
spr
vchar(30)
审批人
√
rq
vchar(30)
日期
√
表4-12出差信息表(hr_ccxxb)
列名
数据类型
描述
是否主键
外键
是否为空
ccdh
vchar(30)
出差单号
√
rq
vchar(30)
日期
ygbh
vchar(30)
员工编号
√
ccsy
vchar(400)
出差事由
√
swjj
vchar(100)
事务交接
√
ccts
int
出差天数
√
spr
vchar(30)
审批人
√
表4-13考勤日历表(hr_kqrlb)
列名
数据类型
描述
是否主键
外键
是否为空
kqh
vchar(30)
考勤号
√
rq
vchar(30)
日期
ygbh
vchar(30)
员工编号
√
swcd
int
上午迟到
√
swzt
int
上午早退
√
swkg
int
上午旷工
√
xwcd
int
下午迟到
√
xwzt
int
下午早退
√
xwkg
int
下午旷工