企业人事管理系统的设计与实现.docx
《企业人事管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统的设计与实现.docx(30页珍藏版)》请在冰点文库上搜索。
![企业人事管理系统的设计与实现.docx](https://file1.bingdoc.com/fileroot1/2023-7/9/703096a5-3d57-42cc-b339-647888007a94/703096a5-3d57-42cc-b339-647888007a941.gif)
企业人事管理系统的设计与实现
华东交通大学理工学院
课程设计
ﻩﻩ题目:
企业人事管理系统的设计与实现
分院:
电子信息分院
专业:
计算机科学与技术
学号:
ﻩ ﻩ
姓名:
班级:
ﻩﻩ
指导老师:
ﻩ ﻩﻩ
提交时间:
ﻩ
ﻩ
华东交通大学理工学院
课程设计(论 文)任务书
专业计算机科学与技术班级1班姓名
一、课程设计(论文)题目 《企业人事管理系统设计与实现》
二、课程设计(论文)工作:
自 2011年12月20日起至2012年01月03 日止。
三、课程设计(论文)的内容要求:
1、以SQLServer2008作为后台数据库,以VB 6.0、VC6.0或其它开发工具作为前台开发工具,完成一个小型数据库应用系统的设计开发。
要求能实现基本功能,能增加信息,修改信息,查询信息,删除信息等。
2.使用SQL语句和Visual Basic 的代码编程设计
学生签名(手签):
____________
2011 年01月03日
ﻬ摘 要
企业人事管理系统是九十年代才出现的新兴的信息系统,它属于人力资源管理系统的一个小的分支,是管理科学和计算机技术紧密结合的产物。
随着计算机技术的迅速发展,特别是软件开发技术和开发工具的不断进步,人事管理系统的开发逐步呈现出多方位,全面的开发模式:
在开发模型的系统结构方面在沿着主机/终端模型到B/S模型到多层的B/S模式、再到C/S模式,相应地系统应用体系结构也由单层结构发展到二层结构再到三层结构以至多层;面向对象技术的得到广泛应用,组件技术的出现解决了传统的软件开发在分布性和重用性的一些问题,提高了软件开发的效率和质量
本论文是从现代企业管理中的人事管理现状出发,针对人事管理的复杂程序,经过详细的系统调查,开发出的操作简单而且方便实用的一个人事管理系统。
通过调查本地的企业,根据企业的具体情况设计企业人事管理系统。
主要功能有:
1)人事档案管理:
户口状况、政治面貌、生理状况、合同管理等;
2)考勤加班出差管理;
3)人事变动:
新进员工登记、员工离职登记、人事变更记录;
4)考核奖惩;
5)员工培训;
6)系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
本系统的前端开发工具是VisualBasic6.0,后台数据库引擎选用数据库软件MicrosoftSQL2008。
关键词:
查询,人事管理,数据库
目 录
第一章引言ﻩ4
1.1设计目的ﻩ4
1.2设计要求4
1.3设计环境ﻩ4ﻫ1.4同组人员及分工4
第二章 概要设计5
2.1系统需求分析ﻩ5
2.2 系统结构设计ﻩ6
2.2功能模块设计ﻩ7
第三章 详细设计ﻩ7
3.1 系统数据库设计7
3.2系统主要功能模块设计9
3.3各模块的主要算法对应的原代码10
第四章 调试与运行结果及存在的主要问题ﻩ23
4.1调试、运行和存在的问题ﻩ23
第五章 课程设计小结ﻩ24
5.1课程设计所做的工作内容总结24
第六章参考文献ﻩ24
ﻫ
ﻫﻫﻬ第一章 引言
ﻫ1.1设计目的:
《数据库技术及应用》课程设计是我校信息管理与信息系统专业(本科)教学大纲要求的重要实践性环节之一,是学习完《数据库技术及应用》课程后进行的一次全面的综合练习。
其目的在于:
配合《数据库技术及应用》课程的教学,使学生能巩固和加深对数据库基础理论和基本知识的理解;掌握使用数据库进行软件设计的基本思想和方法;提高学生运用数据库理论解决实际问题的能力;培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
1.2设计要求:
通过调查本地的企业,根据企业的具体情况设计企业人事管理系统。
主要功能有:
1)人事档案管理;
2)考勤加班出差管理;
3)人事变动;
4)考核奖惩;
5)员工培训;
6)系统维护;
1.3设计环境:
以SQLServer2008作为后台数据库,以VB6.0 、VC6.0或其它开发工具作为前台开发工具,完成一个小型数据库应用系统的设计开发。
ﻫﻫ1.4同组人员:
计算机科学与技术2班 李发万
第二章 概要设计
2.1系统需求分析:
系统为人事管理系统,用户可以通过数据库管理员帐号登入,进行本系统的一些基本操作,对数据库的添加以及修改;在信息管理模块中可以查询公司员工的基本信息,也可对其进行修改,删除;人员管理、合同管理等其他的一些管理模块都具有以上信息管理的功能;在查询管理中亦可查询出公司所有人员的一些基本信息,这是本系统为用户提供的方便、快捷的服务,不至于用户在其他各个模块中来来复复查询。
数据库模式E-R图如下:
.
户
人事档案
员工号
姓名
性别
户籍
生理状况
政治面貌
合同管理
图2.1.1 人事档案E-R图
考勤管理
员工号
缺勤
加班
出差
图2.1.2考勤管理1E-R图
人事变更管理
员工号
当前职务
人事变更
员工培训
图2.1.3 人事变动E-R图
ﻫ
奖惩管理
员工号
奖惩
图2.1.4 奖惩管理E-R图
2.2 系统结构设计:
1.人事档案管理:
户口状况、政治面貌、生理状况、合同管理等;
2.考勤加班出差管理:
员工号,考勤,加班,出差;
3.人事变动:
新进员工登记、员工离职登记、人事变更记录、员工培训;
4.考核奖惩:
奖励,惩罚;
5.系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
2.3功能模块设计:
开始
登入界面
人
事
档
案
考勤管理
人事变动
考核奖罚
员工培训
系统维护
退
出
查询
修改
图2.3.1 功能模块设计图ﻫ
第三章详细设计
一、系统数据库设计
数据库名称:
企业人事管理系统
系统表:
人事档案、考勤管理、人事变更管理、奖惩管理、管理员;
关系模式:
人事档案:
员工号、姓名、性别、户籍、政治面貌、生理状况、合同管理;
考勤管理:
员工号、缺勤、加班、出差;
人事变更管理:
员工号、当前职务、人事变更、员工培训;
ﻩ奖惩管理:
员工号、奖惩;
ﻩ管理员:
name、password;
数据库设计图如下:
图3.1.1管理员表设计图
图3.1.2 奖惩管理表设计图
图3.1.3 考勤管理表设计图
图3.1.4人事变更管理表设计图
图3.1.5人事档案表设计图
二、系统主要功能模块设计
在功能模块设计中有本系统的详细构造,在信息模块中我们添加了三个基本控件,分别是“查询”、“退出”、“修改”,通过输入查询的条件和查询字段,点击“查询”按纽开始查询。
所查询的数据都是来自后台的数据库系统,从中我们便可以很清楚的知道你所要查询对象的一些数据。
同样,通过出入要修改的条件和字段,点击“修改”按钮开始修改数据。
三、各模块的主要算法对应的原代码
图3.3.1welcome界面运行图
开始界面(代码):
Private SubCommand1_Click()
Welcome.Hide
frmLogin.Show
End Sub
PrivateSubCommand2_Click()
Dima
a=MsgBox("是否要退出企业人事管理系统?
", vbYesNo,"提示")
Ifa=vbYesThen
End
Else
ExitSub
End If
End Sub
图3.3.2 登陆界面运行图
登陆界面(代码):
OptionExplicit
PublicLoginSucceededAsBoolean
PrivateSubcmdCancel_Click()
Dima
a =MsgBox("是否要退出企业人事管理系统?
",vbYesNo,"提示")
Ifa=vbYesThen
End
Else
ExitSub
EndIf
EndSub
Private SubcmdOK_Click()
DimrAsInteger
DimrrAsInteger
'判断用户名是否为空
IfMe.txtUserName.Text=""Then
r =MsgBox("请输入用户名!
",, "提示")
txtUserName.SetFocus
ExitSub
EndIf
'判断密码是否为空
IfMe.txtPassword.Text=""Then
rr = MsgBox("请输入密码!
",,"提示")
txtPassword.SetFocus
ExitSub
EndIf
'连接数据库
Dimcn AsNewADODB.Connection
DimrsAs New ADODB.Recordset
cn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurity Info=False;Initial Catalog=企业人事管理系统;DataSource=CODE-PC"
Setrs =NewADODB.Recordset
Dims1_SqlAsString
'判断用户是否存在
s1_Sql = "SELECT* FROM管理员WHERE name='" &Trim(txtUserName.Text)&"'andpassword='"&Trim(Me.txtPassword.Text)&"'"
rs.Open s1_Sql,cn,adOpenStatic,adLockOptimistic
OnErrorResumeNext
rs.MoveFirst'移到第一条记录
IfErr=3021Then
r =MsgBox("用户名或密码错误,请重新检查!
",,"提示")'加一个错误处理
Exit Sub
End If
menu.Show
UnloadMe
EndSub
图3.3.3菜单界面运行图
菜单界面(代码):
Private Sub Command2_Click()
menu.Hide
人事档案.Show
EndSub
PrivateSubCommand3_Click()
menu.Hide
奖惩管理.Show
EndSub
PrivateSubCommand4_Click()
menu.Hide
人事管理.Show
EndSub
Private SubForm_Load()
Picture1.AutoRedraw=True
Me.Picture1.Picture=LoadPicture("C:
\Users\code\Pictures\额\62062d82jw1dmr2zg14u8j.jpg")
Picture1.Print"hello"
SavePictureMe.Picture1.Image,"C:
\Users\code\Pictures\额\123312.jpg"
End Sub
Private SubCommand1_Click()
menu.Hide
考勤管理.Show
EndSub
PrivateSubCommand5_Click()
Dim a
a = MsgBox("是否要退出企业人事管理系统?
",vbYesNo,"提示")
Ifa= vbYesThen
End
Else
Exit Sub
EndIf
EndSub
图3.3.4考勤管理界面运行图
考勤界面(代码):
Private SubcmbField_Click()
cmbName.Clear
Adodc1.RecordSource="select *from考勤管理"
Adodc1.Refresh
DoWhileNot Adodc1.Recordset.EOF
cmbName.AddItemAdodc1.Recordset.Fields(cmbField.Text)
Adodc1.Recordset.MoveNext
Loop
cmbName.Text=cmbName.List(0)
EndSub
PrivateSubcmbName_Click()
Dimcondition
Adodc1.Refresh
condition=Trim(cmbField.Text)
IfVarType(condition)=8Then
Adodc1.RecordSource="select * from 考勤管理where"&condition&" ='" & cmbName.Text& "'"
Else
Adodc1.RecordSource= "select*from考勤管理 where"&condition&"="&cmbName.Text
EndIf
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
缺勤.Text=Adodc1.Recordset.Fields("缺勤")
加班.Text=Adodc1.Recordset.Fields("加班")
出差.Text=Adodc1.Recordset.Fields("出差")
员工号.Text=Adodc1.Recordset.Fields("员工号")
EndSub
Private Subcmdedit_Click()
OnErrorGoToerrorhandler
If员工号.Text<>""Then
Adodc1.RecordSource= "select* from考勤管理where员工号='"&员工号.Text &"'"
Adodc1.Refresh
Adodc1.Recordset.Fields("员工号")=员工号.Text
Adodc1.Recordset.Fields("缺勤")= 缺勤.Text
Adodc1.Recordset.Fields("加班")=加班.Text
Adodc1.Recordset.Fields("出差") =出差.Text
Adodc1.Recordset.Update
Else
MsgBox("员工号是主索引,不能为空"&"错误提示")
End If
ExitSub
errorhandler:
MsgBox("员工号是主索引,不能重复"&"错误提示")
EndSub
PrivateSubForm_Load()
DimiAsInteger
Adodc1.RecordSource ="select*from 考勤管理"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
cmbField.Clear
Fori= 0To Adodc1.Recordset.Fields.Count- 1
cmbField.AddItemAdodc1.Recordset.Fields(i).Name
Nexti
cmbField.Text= cmbField.List(0)
EndSub
PrivateSub Command1_Click()
考勤管理.Hide
menu.Show
EndSub
图3.3.5人事档案管理界面运行图
人事档案管理界面(代码):
PrivateSub cmbField_Click()
cmbName.Clear
Adodc1.RecordSource= "select* from人事档案"
Adodc1.Refresh
DoWhileNotAdodc1.Recordset.EOF
cmbName.AddItemAdodc1.Recordset.Fields(cmbField.Text)
Adodc1.Recordset.MoveNext
Loop
cmbName.Text = cmbName.List(0)
EndSub
Private SubcmbName_Click()
Dimcondition
Adodc1.Refresh
condition= Trim(cmbField.Text)
IfVarType(condition)=8Then
Adodc1.RecordSource ="select* from 人事档案 where"&condition&"='"& cmbName.Text &"'"
Else
Adodc1.RecordSource ="select *from人事档案where "&condition&"="& cmbName.Text
EndIf
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
员工号.Text= Adodc1.Recordset.Fields("员工号")
姓名.Text=Adodc1.Recordset.Fields("姓名")
性别.Text= Adodc1.Recordset.Fields("性别")
年龄.Text=Adodc1.Recordset.Fields("年龄")
户籍.Text=Adodc1.Recordset.Fields("户籍")
政治面貌.Text =Adodc1.Recordset.Fields("政治面貌")
生理状况.Text=Adodc1.Recordset.Fields("生理状况")
合同管理.Text=Adodc1.Recordset.Fields("合同管理")
EndSub
PrivateSubForm_Load()
Dim iAs Integer
Adodc1.RecordSource ="select*from人事档案"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
cmbField.Clear
For i=0 To Adodc1.Recordset.Fields.Count-1
cmbField.AddItemAdodc1.Recordset.Fields(i).Name
Nexti
cmbField.Text=cmbField.List(0)
EndSub
PrivateSubcmdadd_Click()
OnErrorGoTo errorhandler
If员工号.Text<>""Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("员工号")= 员工号.Text
Adodc1.Recordset.Fields("姓名")= 姓名.Text
Adodc1.Recordset.Fields("性别")= 性别.Text
Adodc1.Recordset.Fields("年龄") =年龄.Text
Adodc1.Recordset.Fields("户籍") =户籍.Text
Adodc1.Recordset.Fields("政治面貌") =政治面貌.Text
Adodc1.Recordset.Fields("生理状况")=生理状况.Text
Adodc1.Recordset.Fields("合同管理") = 合同管理.Text
Adodc1.Recordset.Update
cmbName.Clear
Adodc1.RecordSource="select*from人事档案"
Adodc1.Refresh
Do While NotAdodc1.Recordset.EOF
cmbName.AddItemAdodc1.Recordset.Fields
(1)
Adodc1.Recordset.MoveNext
Loop
cmbField_Click
cmdclear_Click
Else
MsgBox"员工号是主索引,不能为空",vbInformation,"错误提示"
EndIf
ExitSub
errorhandler:
MsgBox"员工号是主索引,不能重复", vbInformation,"错误提示"
EndSub
Private Sub cmddel_Click()
If员工号.Text<>""Then
Adodc1.RecordSource="select* from 人事档案where 员工号= '"&员工号.Text& "'"
Adodc1.Refresh
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
cmbName.Clear
cmbField_Click
End If
EndSub
PrivateSubcmdedit_Click()
OnErrorGoToerrorhandler
If员工号.Text<>""Then
Adodc1.RecordSource ="select* from人事档案where员工号='" & 员工号.Text &"'"
Adodc1.Refresh
Adodc1.Recordset.Fields("员工号")=员工号.Text
Adodc1.Recordset.Fields("姓名")=姓名.Text
Adodc1.Recordset.Fields("性别")= 性别.Text
Adodc1.Recordset.Fields("年龄")=年龄.Text
Adodc1.Recordset.Fields("户籍") =户籍.Text
Adodc1.Recordset.Fields("政治面貌")=政治面貌.Text
Adodc1.Recordset.Fields("生理状况")=生理状况.Text
Adodc1.Recordset.Fields("合同管理")=合同管理.Text
Adodc1.Recordset.Update
Else
MsgBox("员工号是主索引,不能为空"&"错误提示")
End If
ExitSub
errorhand