数据库课程设计人事管理系统.docx
《数据库课程设计人事管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计人事管理系统.docx(35页珍藏版)》请在冰豆网上搜索。
![数据库课程设计人事管理系统.docx](https://file1.bdocx.com/fileroot1/2023-7/24/4d9910c9-5aea-48c6-b36a-ae95cf344157/4d9910c9-5aea-48c6-b36a-ae95cf3441571.gif)
数据库课程设计人事管理系统
前言
随着计算机技术的飞速发展,计算机已深入到各个领域,并且形成了功能强大、覆盖全球的信息传输网络。
各个领域都向系统化、规范化、自动化的方向发展,使得工作效率、工作成绩和生活水平都日益提高。
人事管理是很多厂矿、公司、个体事业单位所须的,人事信息管理系统包括对人事信息的统计、查询、更新、打印输出等,如果靠人,工作量将很大,若公司人数有几万甚至更多,人工统计将变得不可想象,仅一些简单的操作便可及时、准确地通过计算机获得需要的信息。
计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。
计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
经过分析,我们使用SQLServer2005和C#开发工具。
系统能够提供对人事信息输入、查询、编辑以及工资设定、查询、修改、算出工资发放各项合计数据;可自主设定条件从而达到对工资数据的多角度查询功能;方便导入、导出数据及输出报表。
财务部门人员以管理员身份登录,对本系统的可登录人员进行管理;实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。
1系统概述
1.1现状描述
21世纪以计算机为主体的高新技术群体已经将触角深入到国家经济的方方面面。
在市场经济的大环境下,越来越多的人士逐渐认识到计算机技术进行各类管理,交流的便捷。
尤为突出的是各个中小企业,教育机构等的人事管理在计算机上的实现。
然而如何利用先进的管理手段,提高人事的管理水平,是每一个机构所面临的重要课题。
面临的问题有:
人事管理广泛,管理内容复杂,平时需要耗费大量的人力和物力。
为了解决这些复杂的难题,就必须有一套科学,高效,严密,实用的人事管理系统。
实现此目标的主要途径就是采用现代计算机管理系统来进行管理,提供规范,统一的服务,它在管理系统中的应用不仅可以简化,规范各机构的日常操作,而且可以使企业人事管理更加方便,简单,快捷,清晰,从而减轻工作人员的劳动强度,减少企业的财政消耗。
计算机管理系统的应用是各个企业迈向现代化企业的标志,必将成为各个企业实现现代化管理的不可缺少的手段。
1.2系统目标
人事管理系统可以应用于支持企业完成人事管理工作,有如下三个方面的目标:
1.支持企业实现规范化管理;
2.支持企业高效率完成人事管理的日常业务,包括新部门的增加及员工加入时人事档案的建立,员工职务变动、辞退、退休的记录及员工信息的查询和修改等;
3.支持企业进行人事管理及相关方面的科学决策并在系统开发总任务的基础上进行该系统的方案设计论证,需要实现以下功能:
1)部门信息:
a建立部门的基本信息表,包括:
部门编号、部门名称、联系电话、联系地址、部门负责人等。
b部门信息的增加,删除,修改。
c部门系的记录和管理等。
2)员工信息
a建立员工基本信息表,包括:
员工号、姓名、性别、家庭地址、联系电话、当前状态等;
b.员工人事变动的记录和管理;
c.员工信息的查询和修改。
在实现系统基本功能的同时,还要求系统能够录入人事的基本资料,在操作上能够完成诸如添加、删除、修改、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。
人事管理信息系统主要包含员工基本信息,工作情况,学历,职位情况等各方面信息,内容比较简单。
同时还综合了其他系统的功能,总结归纳出所需现有的功能。
主要是为人事信息进行服务,对员工职位的变动、员工资料的查询,统计修改等功能。
总体上说具有编辑、查询、员工管理等功能。
设计的指导思想是一切为用户着想,界面美观大方,操作尽量简单明了,而且作为一个使用的应用程序要有良好的容错性,在用户出现错误操作时能尽量及时地给出警告,以便用户及时改正,使其支持企业实现规范化的管理;支持企业高效率地完成劳动人事管理的日常业务;支持企业进行劳动人事管理及其相关方面的科学决策。
人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度需求、推动企业劳动人事管理走向科学化、规范化的必要条件。
人事管理系统在现实生活中有很强的实用性,只要设计出一个合理、实用的人事系统,可根据不同的单位的具体使用情况稍加修改,就可以把它应用到实际管理工作中。
2系统分析
2.1系统需求
2.1.1系统的可行性研究
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
可行性分析一般可定义为:
可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是在对系统目标和环境精心分析的基础上,从技术可行性、经济可行性和营运可行性三个方面对本系统进行可行性研究。
2.1.2营运可行性
由于本系统知识面向机关和事业单位内人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使用过类似的系统,但是以Windows的友好界面和本系统良好的安全性设置,可以是人事信息管理员在专业人员的指导帮助下迅速掌握系统的操作方法。
同时,用户也可以根据我们编写的详细的“用户操作说明书”,来学习正确的操作本系统。
2.1.3技术可行性
开发的软件可行性
从目前流行的数据库开发管理软件来看,对于有关数据库的信息管理系统,用基于visualbasic6.0的构架开发B/S结构,,无疑是实际应用中最适合的一种解决方案。
开发的硬件可行性
本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等都有最低要求,如果低于这个要求将影响到本系统的正常运行。
2.1.4经济可行性
机关和事业单位的人事信息管理目前还完全以传统的人工管理方式进行管理,耗时多,效率低下并且极容易出现错误。
由于认为失误而造成有形和无形的经济损失时间层出不穷,我们也无法估算出所造成损失的总额。
而利用计算机来实现人事管理以成为适应当今人事管理的方式。
开发一套能满足人事信息管理的软件是十分必要的,实现人事管理的自动化,在减少由于认为失误而造成损失的同时,也可以是认识信息管理部门减少许多费用支出,如实现自动化管理后可以精简人员,减少工资支出等。
由上述三方面的分析可以看出,本系统的开发时机已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。
2.2数据流程分析
数据流程分析是用以描述系统的逻辑模型,可以综合地反映出信息在系统中的使用、加工处理、传递、存储的整体情况。
数据流程分析就是将系统结构化进行分析,它抽象地描述了系统数据处理的情况,比较概括的表达各个处理的详细内容,因此还要对数据流程中出现的数据流和处理等做进一步的补充说明,这就是数据字典和变换逻辑说明。
本人事管理系统,的数据流程大致可用如下数据流程图表示:
系统数据流程图
2.3业务分析
2.3.1业务流程描述
该系统包括管理员对部门、员工以及相关考勤等信息的操作,首先,管理人员登陆进入系统,选择要进行的操作,包括对部门信息的插入、更新、修改、删除、查询,以及对员工信息进行增删改查,进而对奖罚、工资、考评等信息进行增删改查,然后实现对部门员工部分信息的统计及修改,操作员亦可对自己的信息进行操作,管理员对系统的操作都将被记录。
3系统设计
3.1模块结构设计
人事资源管理系统是一个典型的数据库应用程序,由启动窗体、登录模块、系统主界面、系统管理模块、信息设置模块、人事管理模块、考勤管理模块等组成,具体的功能模块如下:
1、系统管理模块
该模块的主要功能是单位信息、管理员设置、更改密码、重新登录。
2、信息设置模块
该模块主要功能是对部门信息、员工信息、用户信息、工种类型、职称类型、文化程度、政治面貌、民族类型等进行设置。
3、人事管理
人事管理模块主要功能是新员工登记、应聘登记、员工调动、员工离职、合同管理、应聘信息浏览、员工信息浏览。
4、考勤管理
考勤管理模块主要是:
设置员工的考勤信息、生成生成报表、考勤档案浏览等。
3.2功能设计
系统主要功能分为以下六个模块:
人员管理、部门设置、职务设置、员工考勤管理、工资管理、系统管理。
经过分工合作,我所负责实现的是部门管理及其他相关部门,具体功能描述如下。
3.2.1系统功能模块详细描述
3.2.2.1部门管理
部门新增:
通过数据库的链接实现新增部门的操作。
部门更新:
对部门信息的增删查改后部门信息的更新实现。
部门删除:
对部门信息模块的删除操作的实现。
部门属性设置:
设置部门基本属性,如:
联系电话、联系地址、部门编号、部门名称、部门负责人等等。
通过部门的管理,将员工信息链接在相应所属部门信息中,实现其人事管理的全面性。
3.2.2.2系统管理
对系统、管理员等一些操作,包括基础信息设置、系统管理、操作日志管理、操作员管理、备份恢复数据、初始化数据库、。
基础信息设置:
对部门、职位、职称、奖惩规则和权限组的设置管理,及其各项目的增删查改。
系统管理:
对系统本身的一种设置。
操作日志管理:
记录管理员对数据的操作信息。
操作员管理:
管理员基本信息的管理,及其增删改的功能。
备份恢复数据:
可对员工资料数据进行备份,并在必要的时候进行还原。
初始化数据库:
对整个数据库资料初始化的操作。
3.2.2系统功能模块图
3.4数据库设计
3.4.1数据库建表代码
1.Tb_attendece_result(考勤结果)表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].
[Tb_attendece_result]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Tb_attendece_result]
GO
CREATETABLE[dbo].[Tb_attendece_result](
[A_ID][int]IDENTITY(1001,1)NOTNULL,
[E_ID][char](7)COLLATEChinese_PRC_CI_ASNOTNULL,
[A_WorkTime][int]NULL,
[A_Onwork1][datetime]NULL,
[A_Onwork2][datetime]NULL,
[A_Offwork1][datetime]NULL,
[A_Offwork2][datetime]NULL
)ON[PRIMARY]
GO
2.Tb-attendece-rule(考勤规则)表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].
[Tb_attendece_rule]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Tb_attendece_rule]
GO
CREATETABLE[dbo].[Tb_attendece_rule](
[Onwork_Ahead][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Onwork_Normal][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Offwork_Delay][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Offwork_Normal][char](10)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
3.Tb-department(部门管理)表
CREATETABLE[dbo].[Tb_department](
[D_ID][char](3)COLLATEChinese_PRC_CI_ASNOTNULL,
[D_Name][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[D_Tel][char](11)COLLATEChinese_PRC_CI_ASNOTNULL,
[D_Address][char](100)COLLATEChinese_PRC_CI_ASNULL,
[D_Chief][char](10)COLLATEChinese_PRC_CI_ASNULL,
[D_Belong][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
4.Tb-employee(员工管理)表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Tb_employee]')
andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Tb_employee]
GO
CREATETABLE[dbo].[Tb_employee](
[E_ID][char](7)COLLATEChinese_PRC_CI_ASNOTNULL,
[E_Name][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[E_Sex][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[E_Birth][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[E_Tel][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[E_Address][nvarchar](255)COLLATEChinese_PRC_CI_ASNOTNULL,
[E_Intro][nvarchar](255)COLLATEChinese_PRC_CI_ASNULL,
[E_Picurl][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[D_Name][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
5.Tb-job-kind(工种管理)表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Tb_job_kind]')
andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Tb_job_kind]
GO
CREATETABLE[dbo].[Tb_job_kind](
[J_ID][char](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[J_Name][char](12)COLLATEChinese_PRC_CI_ASNOTNULL,
[J_Property][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[J_Onwork1][char](10)COLLATEChinese_PRC_CI_ASNULL,
[J_Onwork2][char](10)COLLATEChinese_PRC_CI_ASNULL,
[J_Offwork1][char](10)COLLATEChinese_PRC_CI_ASNULL,
[J_Offwork2][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
6.Tb--lever-kind(假别管理)表
CREATETABLE[dbo].[Tb_leaver_kind](
[L_ID][char](6)COLLATEChinese_PRC_CI_ASNOTNULL,
[L_Kind][char](12)COLLATEChinese_PRC_CI_ASNOTNULL,
[L_IsSalary_Not][char]
(2)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
7.Tb-lever-recordrest(请假记录)表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].
[Tb_leaver_recordrest]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Tb_leaver_recordrest]
GO
CREATETABLE[dbo].[Tb_leaver_recordrest](
[ID][int]IDENTITY(1,1)NOTNULL,
[E_Name][char](7)COLLATEChinese_PRC_CI_ASNOTNULL,
[L_Kind][char](12)COLLATEChinese_PRC_CI_ASNOTNULL,
[L_Reason][nchar](200)COLLATEChinese_PRC_CI_ASNULL,
[L_Agreer][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[L_StartTime][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[L_EndTime][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
8.Tb-order-job(登记管理)表
CREATETABLE[dbo].[Tb_Order_Job](
[E_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Order_Time][datetime]NOTNULL,
[J_ID][char](4)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
9.Tb-user-login(用户管理)表
CREATETABLE[dbo].[Tb_User_Login](
[ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[userName][char](20)COLLATEChinese_PRC_CI_ASNULL,
[userPass][char](16)COLLATEChinese_PRC_CI_ASNULL,
[userRole][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
3.4.2数据库表
表1Tb_attendece_result(考勤结果)
列名
数据类型
是否为空
备注
A_ID
int
否
考勤编号
E_ID
char(7)
否
员工编号
A_WorkTime
int
是
总工时
A_Onwork1
datetime
是
上班时间一
A_Onwork2
datetime
是
上班时间二
A_Offwork1
datetime
是
下班时间一
A_Offwork2
datetime
是
下班时间二
表2Tb-attendece-rule(考勤规则)
列名
数值型号
是否为空
备注
Onwork_Ahead
char(10)
否
上班时间一
Onwork_Normal
char(10)
否
下班时间一
Offwork_Delay
char(10)
否
上班时间二
Offwork_Normal
char(10)
否
下班时间二
表3Tb-department(部门管理)
列名
数值型号
是否为空
备注
D_ID
char(3)
否
部门编号
D_Name
char(10)
否
部门名称
D_Tel
char(11)
否
联系电话
D_Address
char(100)
是
联系地址
D_Chief
char(10)
是
负责人
D_Belong
char(10)
是
所属部门
表4Tb-employee(员工管理)
列名
数值型号
是否为空
备注
E_ID
char(7)
否
员工编号
E_Name
nvarchar(50)
否
员工姓名
E_Sex
nvarchar(50)
否
员工性别
E_Birth
nvarchar(50)
是
出生年月
E_Tel
nvarchar(50)
否
联系电话
E_Address
nvarchar(255)
否
联系地址
E_Intro
nvarchar(255)
是
个人简介
E_Picurl
nvarchar(50)
是
员工图像
D_Name
nvarchar(50)
是
部门名称
表5Tb-job-kind(工种管理)
列名
数值型号
是否为空
备注
J_ID
char(4)
否
班种编号
J_Name
char(12)
否
班种名称
J_Property
char(10)
否
班种性质
J_Onwork1
char(10)
是
上班时间一
J_Onwork2
char(10)
是
上班时间二
J_Offwork1
char(10)
是
下班时间一
J_Offwork2
char(10)
是
下班时间二
表6Tb--lever-kind(假别管理)
列名
数值型号
是否为空
备注
L_ID
char(6)
否
类型编号
L_Kind
char(12)
否