山西省沁水县公路管理段人力资源管理系统设计与实现.docx
《山西省沁水县公路管理段人力资源管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《山西省沁水县公路管理段人力资源管理系统设计与实现.docx(26页珍藏版)》请在冰点文库上搜索。
山西省沁水县公路管理段人力资源管理系统设计与实现
学号:
本科毕业论文(设计)
山西省沁水县公路管理段人力资源管理系统
设计与实现
作者姓名
指导教师
所学专业
计算机科学与技术
班级
所属院系
信息学院
学习年限
2007
年
9
月至
2011
年
7
月
二○
一一
年
五
月
目录
内容提要I
1.引言1
1.1课题的背景1
1.2课题目标内容1
2.需求分析2
2.1系统功能需求分析2
2.2人力资源管理系统E-R图2
2.3数据需求3
2.4性能需求3
2.4.1硬件需求3
2.4.2软件环境3
3.系统平台3
3.1SQLServer2000简介3
3.2VisualStudio2005简介4
3.3VisualBasic.NET简介4
4.总体设计4
4.1功能模块设计4
4.2系统流程图5
4.3数据库设计6
4.3.1数据表的外部关键字8
4.3.2存储过程的设计9
5.系统详细设计及实现9
5.1登录模块9
5.2创建数据访问模块9
5.3主控制模块设计10
5.4机构编制管理12
5.4.1机构设置及编码12
5.4.2机构详尽设置13
5.5职员信息查询13
5.6考勤信息14
5.7薪资福利管理14
6.系统维护和改进16
6.1运行帮助16
6.2系统的改进与提高17
致谢18
参考文献19
Abstract20
山西省沁水县公路管理段
人力资源管理系统设计与实现
学生姓名:
指导教师:
内容提要本设计是针对山西省沁水县公路管理段现在的实际管理情况,基于.NET技术进行开发的一套解决单位的人事、考勤、薪资等方面的人力资源管理系统。
本系统的设计包括用户登录、机构编制管理、人员信息管理、薪资福利管理、系统管理等功能。
本文对人事管理的开发过程进行了介绍,详细阐述了各功能模块、系统的可行性分析以及整个测试与调试的开发过程。
该系统提升了单位的效率,满足了需求。
关键词薪资福利水晶报表Treeview控件
1.引言
人力资源管理系统是一个企业或者单位不可或缺的部分,人力资源管理系统应该能够为该企业或者单位的管理者提供准确充足的信息和快捷的查询的方法。
一直以来,传统管理方法已不适应新形势的要求。
由于计算机运算的正确性、快速性,因此在快速发展的信息时代,应用数据库技术实现企业或者单位的人力资源的管理是可行且必要的[1]。
本系统针对实习单位现存的一些问题,根据单位的需要进行设计。
本系统具有信息计算机化的管理的优点,如检索快速、简单查找、正确率高、保密性好、存储量大、使用时间长、成本低等[2]。
提高了效率,节省了人力物力,对资料的安全性和企业或者单位人力资源的管理能力都有极大的提升,实现了单位科学化、正规化管理。
1.1课题的背景
今天,随着计算机应用不断广泛和管理水平的不断提高,如何将人力资源管理水平上升到战略层次逐渐成为企业或单位的迫切管理需求。
本文针对单位人力资源管理的特点和人力资源的优化配置,设计开发了的单位人力资源管理系统,为建立单位人力资源管理系统提供了技术框架。
在.NET框架下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程[3],从员工信息的查询到管理实现了自动化的模式,提高了工作效率。
1.2课题目标内容
本文开发的人力资源管理系统目标[4]:
(1)实现信息处理的快速、正确和流畅。
(2)可随时掌握各机构部门信息、员工的基本信息、奖惩记录、工资发放状况,计算当月工资。
(3)系统操作简单易行,可多条件查询,灵活方便。
(4)通过该系统的实施,可逐步提高管理层次。
(5)系统维护方便可靠,有较高的安全性和实用性。
本文使用SQLServer2000和VisualBasic.NET语言平台具体作了如下工作:
(1)建立为系统提供数据的数据库,创建数据表及存储过程。
(2)创建窗体、为窗体添加代码。
(3)系统测试,打包发布。
2.需求分析
2.1系统功能分析
根据单位的需求,可以将系统划分下列六大管理部分,主要部分具体的功能需求如下:
(1)建立机构编制管理,利用计算机实现机构的管理,部门的添加、更改与删除。
此部分的功能需求为:
可以进行设置、修改、删除、查看企业的组织机构信息。
(2)建立职员信息管理,实现计算机化的人事管理体制。
此部分的功能需求为:
可以进行增加、修改、删除、查询企业的职员各种信息。
(3)建立薪资福利管理,完成计算机自动化薪资福利管理体制。
此部分的功能需求为:
可以进行职员工资的计算、发放、查询;奖惩信息的增加、删除、修改。
(4)建立职员考勤管理,实行对员工迟到,请假,加班等信息的监控。
此部分的功能需求为:
可以进行职工的迟到,请假,加班信息的查询。
(5)建立系统权限管理,实行对员工权限设置,保证系统安全。
此部分的功能需求为:
可以对不同员工进行权限的划分,查看或操作不同的功能。
2.2系统E-R图
E-R图提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
图2.1和图2.2分别表示了职员的所属关系和员工工资的发放情况。
(1)职员所属关系E-R图如图2.1所示。
图2.1职员所属组织E-R图
(2)员工工资E-R图如图2.2所示。
图2.2员工工资E-R图
2.3数据需求分析
在分析了本系统的基本功能需求后,根据每类具体的功能,分析实现这些功能所需要的数据。
按照数据库的设计思想,数据是以记录的形式存储在数据库中,因此系统的数据需求分析实际上就是分析系统所需要的数据库表[5]。
包括用户清单、权限清单、组织机构编码表、职员基本信息表、月工资统计表、个人的所得税表、工资发放历史表、职员奖励表、职员惩罚表、考勤信息表共10张表单。
2.4性能需求
2.4.1硬件需求
(1)处理器:
IntelPentium166M或更高。
(2)内存:
256MB(建议)。
(3)硬盘:
1GB或更大。
2.4.2软件环境
(1)操作系统:
Windows2000/XP。
(2)软件:
VisualStudio2005。
(3)数据库:
SQLServer2000。
3.系统平台
3.1SQLServer2000简介
MicrosoftSQLServer2000中文版是基于客户端/服务器模式的新一代大型关系型数据库管理系统(DataBaseManagementSystem,简称DBMS)[6],它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,可为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据的安全性[7]。
3.2VisualStudio2005简介
VisualStudio2005是一套完整的开发工具,用于生成Web应用程序、XMLWebServices、桌面应用程序和移动应用程序。
VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
另外,这些语言还利用了.NETFramework的功能[8]。
3.3VisualBasic.NET简介
VisualBasic.NET不仅继承了VisualBasic6.0的使用简便、功能强大、效率高等特点,而且VisualBasic.NET提供了一流的面向对象的程序设计语言特性,诸如实现继承、重载和参数化的构造器[9]。
开发人员可以通过显示式的自由线程编写具有高度可伸缩性的代码,同时通过其他现代化的语言概念,如结构化的异常处理等,编写具有较高可维护性的代码等。
4.总体设计
4.1功能模块设计
基于以上分析,本文开发的企业人力资源管理系统,分为六大功能模块:
用户登录模块、机构编制管理模块、职员信息管理模块、薪资福利管理模块、考勤管理模块、系统管理模块、帮助系统模块,各模块功能分别为:
(1)用户登录模块
提供用户登录界面。
输入用户名称,填写正确的密码,即可进入系统主窗体。
(2)机构编制管理模块
用于设置企业的组织机构及其详细信息,新增部门,同时还可以编辑、删除、修改已有部门信息,以及根据部门层次设置建立一个部门树结构,使上下级关系在这里一览无余,其中包括机构设置及编码、机构详细信息两个子模块分别进行处理。
(3)职员信息管理模块
用于管理和添加、浏览、修改以及删除企业员工的相关信息,其中包括职员信息维护、职员信息查询两个子功能模块
①职员信息维护子模块用于输入和修改职员的资料;
②职员信息查询子功能模块用于查询职员的资料。
(4)薪资福利管理模块
用于管理企业员工的薪资和福利计算的全过程,其中包括企业的薪资和福利设定、自动计算社会保险等代扣代缴项目,而且还可以根据单位的政策设置并计算由年假、事假、病假等带薪假以及迟到、早退、旷工等形成的对薪资和福利的扣减,还能存储完备的历史信息以供查询,其中包括当月工资管理、个人所得税率、发放工资历史、职员奖励管理、职员惩罚管理五个子功能模块。
(5)考勤管理模块
用于显示单位职员的考勤信息情况。
(6)系统管理模块
包括权限管理和退出系统两个子模块:
①权限管理模块用于设置各操作员使用系统的权限,提高系统保密性和安全性;
②退出系统模块即结束人力资源管理系统的运行和使用。
(7)帮助模块
主要是向用户介绍系统制作者的信息。
4.2系统流程图
本系统基本的处理流程是:
用户登录主界面选择各项子系统。
整个系统流程图如图4.1所示。
N
Y
图4.1人力资源管理系统流程图
4.3数据库设计
创建数据库名为hrmbook,开发本系统共需要10张表,其中组织机构编码表和职员基本信息表是该系统的关键表,用于存放基础的数据信息,其他涉及组织机构信息和职员信息的数据表,都只记录机构或职员的编号,根据作为外键的编号字段和组织机构编码表或职员基本信息表相对应,因此,这两张表和其他数据表间的关系是1:
N的关系,其他各表均与这两张表通过“单位编号”或“职员编号”字段进行多对一的关联。
(1)系统数据表及其用途如表4.1所示。
表4.1系统数据表及其用途
数据表名称
数据表用途
数据来源
用户清单
保存系统使用者的信息
在数据库中增加记录
组织机构编码表
用于保存企业组织机构的详细信息
机构编制管理模块
职员基本信息表
用于保存企业员工的基本信息
职员信息管理模块
月工资统计表
用于保存、计算当月的员工工资
当月工资计算模块
个人所得税表
用于保存个人所得税的税率数据
个人所得税率模块
工资发放历史表
用于保存所有月份工资发放的历史
工资发放历史模块
职员奖励表
用于保存员工的奖励情况
职员奖励管理模块
职员惩罚表
用于保存员工的惩罚情况
职员惩罚管理模块
权限清单
保存系统使用者的权限信息,可指定菜单级权限
权限管理模块
考勤信息表
用于存放员工的考勤信息
考勤管理模块
(2)组织机构编码表如表4.2所示。
表4.2组织机构编码表
名称
类型
宽度
主键
非空
内部编号
Int
4
No
Yes
类别
Varchar
100
No
No
AbsIndex
Int
4
No
No
ItemIndex
Int
4
No
No
ItemLever
Int
4
No
No
ParentIndex
Int
4
No
No
名称
类型
宽度
主键
非空
类别号
Char
10
No
No
单位编号
Varchar
20
Yes
Yes
单位名称
Varchar
100
No
No
拼音编码
Varchar
50
No
No
单位地址
Varchar
100
No
No
单位电话
Varchar
50
No
No
开户银行
Varchar
100
No
No
帐号
Varchar
50
No
No
开户全称
Varchar
100
No
No
(3)职员基本信息表如表4.3所示。
表4.3职员基本信息表
名称
类型
宽度
主键
非空
内部编号
Int
4
No
Yes
职员编号
Varchar
30
Yes
Yes
姓名
Varchar
20
No
Yes
姓名简码
Varchar
10
No
No
性别
Varchar
2
No
No
出生日期
Int
4
No
No
年龄
Int
4
No
No
籍贯
Varchar
50
No
No
民族
Varchar
20
No
No
文化程度
Varchar
50
No
No
毕业学校
Varchar
20
No
No
健康状况
Varchar
100
No
No
婚姻状况
Varchar
50
No
No
身份证号
Varchar
10
No
No
家庭电话
Varchar
18
No
No
名称
类型
宽度
主键
非空
办公电话
Varchar
50
No
No
手机
Varchar
50
No
No
电子邮箱
Varchar
50
No
No
职工帐号
Varchar
20
No
No
备注
Varchar
100
No
No
(4)考勤信息表如表4.4所示。
表4.4考勤信息表
名称
类型
宽度
主键
非空
所属工资月份
Int
4
No
Yes
职员编号
Varchar
30
Yes
Yes
姓名
Varchar
50
No
No
出勤天数
Numeric
9
No
No
请假天数
Numeric
9
No
No
迟到或早退次数
Numeric
9
No
No
旷工天数
Numeric
9
No
No
加班次数
Numeric
9
No
No
4.3.1数据表的外部关键字
为系统创建4个外部关键字FK_月工资统计表_职员基本信息表、FK_工资发放历史表_职员基本信息表、FK_职员奖励表_职员基本信息表、FK_职员惩罚表_职员基本信息表,用于将月工资统计表、工资发放历史表、职员奖励表、职员惩罚表与职员基本信息表通过“职员编号”字段进行多对一的关联。
其中主要代码如下,因为其他与此类似,这里就不在叙述。
ALTERTABLE[dbo].[月工资统计表]ADD
CONSTRAINT[FK_月工资统计表_职员基本信息表]FOREIGNKEY
(
[职员编号]
)REFERENCES[dbo].[职员基本信息表](
[职员编号]
)
GO
4.3.2存储过程的设计
为系统设计了四个存储过程,分别实现从历史导入工资明细,计算当月工资和工资发放的功能。
这些存储过程都在“当月工资管理”模块中使用。
5.系统详细设计及实现
5.1登录模块
(1)系统的管理应考虑安全性,于是本系统设计了登录模块用以控制合法用户进入主控平台。
用户登录窗体启动后,等待用户输入用户号和密码,根据登录的用户号在系统用户清单表中查找相应记录并自动添加用户名,然后系统检查密码的正确性,是系统合法授权用户,允许进入系统,否则无法进入退出系统。
(2)登录窗体效果如图5.1所示。
图5.1登录界面
5.2创建数据访问模块
(1)由于各个窗体均需要对数据库进行访问,因此可以把对数据库的一些操作通过一个类来实现,这样可以使对数据库的访问更加简单。
(2)创建类Database,通过编写代码使每个窗体可以通过调用此类来打开数据库,从而实现数据库中数据的查询、删除等功能。
(3)数据库连接成功将会显示图5.2所提示的窗口。
图5.2测试连接成功图
5.3主控制模块设计
(1)功能简介:
主控制平台使用简单直观的布局,它主要实现对模块的调用和显示,提供了菜单和按钮两种操作方式,利用系统默认生成的窗体作为主窗体,其文件名为frmMain.vb,并为其添加一个主菜单(MainMenu)控件。
(2)主控制模块功能框架图如图5.3所示。
图5.3人力资源管理系统功能框架图
(3)窗体部分属性设置如表5.1所示。
表5.1主窗体部分属性设置1
控件名
属性
取值
frmMain
Name
frmMain
frmMain
Text
人力资源管理系统
frmMain
IsMdiContainer
True
frmMain
WindowState
Maximized
frmMain
StartPosition
CenterScreen
StatusBar
Text
山西大学商务学院信息学院07计B1班王琳2007840130
(4)在主菜单控件上单击鼠标左键进入菜单编辑模式,设置如表5.2所示。
表5.2主窗体部分属性设置2
菜单栏
菜单项
属性
取值
MenuItemDep
Text
机构编制管理(&X)
MenuItemDepManage
Text
机构设置及编码(&A)
MenuItemDepInfo
Text
机构详细信息(&B)
菜单栏
菜单项
属性
取值
MenuItemPeople
Text
职员信息管理(&Y)
MenuItemPeopleManage
Text
职员信息维护(&A)
MenuItemPeopleQuery
Text
职员信息查询(&B)
MenuItemSalary
Text
薪资福利管理(&Z)
MenuItemSalaryManage
Text
当月工资计算(&A)
MenuItemTaxInfo
Text
个人所得税率(&B)
MenuItemSalaryHis
Text
工资发放历史(&C)
MenuItemPrize
Text
职员奖励管理(&D)
MenuItemPunish
Text
职员惩罚管理(&E)
MenuItemSystem
Text
系统管理(&P)
MenuItemManageRight
Text
权限管理(&A)
MenuItemQuit
Text
退出系统(&Q)
MenuItemHelp
Text
帮助(&H)
MenuItemHelp1
Text
关于(&A)
MenuItemHelp2
Text
帮助主题(&H)
(5)通过触发并调用GetInstanceState函数显示各个子窗体,主窗体模块的窗体设计效果如图5.4所示。
图5.4主控制模块效果图
5.4机构编制管理
(1)对于大型企业、集团公司等用户,组织机构往往非常复杂,总公司下属可能有多级子公司,子公司下又设置有各种部门,因此需要机构编制管理可以灵活的定义这些层次和属性,同时对应机构的编码可以根据所从属的上级机构自动生成。
(2)机构编制管理模块用于设置企业的组织机构,其中包括机构设置及编码,机构详细信息两个子功能模块,如图5.5所示。
图5.5机构编制管理功能模块图
5.4.1机构设置及编码
(1)机构设置及编码子模块用于生成企业组织机构的层次关系和编码,在这个模块中建立起组织的管理结构,上下级关系在这里一览无余,而个人信息会与这个组织架构连接起来。
(2)机构设置及编码模块实现的四个主要功能包括:
显示、增加、修改、删除机构,机构合成编码会根据所从属的部门机构自动生成,并且保存修改后其设置将返回到组织机构编码表中。
(3)当触发frmDepManage窗体事件后会调用方法InitTree,用树形显示数据库中存在的各个机构及其从属机构关系。
管理员可通过按键方式调用相应的触发函数来实现对机构的增加、删除、修改等功能。
机构设置及编码模块的窗体设计效果如图5.6所示。
图5.6机构设置及编码窗休设计效果图
5.4.2机构详尽设置
(1)机构详细信息子模块用于管理对应组织机构的详细信息,显示企业所有机构部门地址、电话、账号等信息。
(2)机构详细信息模块实现的二个主要功能包括:
显示、修改机构的信息,不能删除,其所列单位信息都是在组织机构编码表中的记录,只能在机构设置及编码中增加部门,在这里不能新增部门信息,操作完成后按保存按钮其值将返回到组织机构编码表。
(3)机构详细信息模块的窗体设计效果如图5.7所示。
图5.7机构详细信息窗体设计效果图
5.5职员信息查询
(1)职员信息查询子模块用于查询职员的资料,但不能够修改职员的信息,预设的查询条件有姓名简码、姓名、性别、民族、籍贯5个属性,可进行一个或多个条件查询,数据来源是职员基本信息表。
(2)职员信息查询模块的窗体设计效果如图5.8所示。
图5.8职员信息查询模块的窗体设计效果图
5.6考勤信息
(1)职员考勤信息子模块用于查询职员的考勤情况,预设的查询条件是名字条件查询,数据来源是考勤信息表。
(2)程序主要是运用SQL语句中筛选出符合查询条件的数据并显示出来。
(3)职员考勤信息模块的窗体设计效果如图5.9所示。
图5.9考勤信息查询模块的窗体设计效果图
5.7薪资福利管理
(1)薪资模块主要用于当月工资计算、个人所得税查询、工资发放历史查询、职员奖励管理、职员惩罚管理等。
对应的数据库表有:
个人所得税表,工资发放历史表,月工资统计表,职员奖励表,职员惩罚表。
(2)当月工资计算模块的窗体设计效果图如图5.10所示。
图5.10当月工资计算模块的窗体设计效果图
(3)个人所得税查询模块的窗体设计效果图如图5.11所示。
图5.11个人所得税查询模块的窗体设计效果图
(4)工资发放历史查询模块的窗体设计效果图如图5.12所示。
图5.12工资发放历史查询模块的窗体设计效果图
(5)职员奖励管理模块的窗体设计效果图如图5.13所示。
图5.13职员奖励管理模块的窗体设计效果图
(6)职员惩罚管理模块的窗体设计效果图如图5.14所示。
图5.14职员惩罚管理模块的窗体设计效果图
(7)薪资模块对于数据公式计算如表5.3所示。
表5.3薪资公式计算表
奖金
=根据具体情况在对应的奖励管理里填写
惩罚
=根据具体情况在对应的惩罚管理里填写
个人所得税
=全月应纳税所得额*税率-速算扣除数
应扣金额合计
=房租+水电费+请假扣除+罚款+考勤扣除+住房公积金+医疗保险+养老保险+失业保险
应发金额合计
=基本工资+浮动工资+合同补+粮副补+房补