《企业人事管理系统的设计与实现(共25页).doc》由会员分享,可在线阅读,更多相关《企业人事管理系统的设计与实现(共25页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上华东交通大学理工学院课程设计题目:企业人事管理系统的设计与实现分院:电子信息分院 专业: 计算机科学与技术 学号: 姓名: 班级: 指导老师: 提交时间: 华东交通大学理工学院课 程 设 计( 论 文 )任 务 书专 业 计算机科学与技术 班 级 1 班 姓名 一、课程设计(论文)题目 企业人事管理系统设计与实现 二、课程设计(论文)工作:自 2011 年 12月 20 日起至 2012 年 01 月 03 日止。三、课程设计(论文)的内容要求:1、以SQL Server 2008作为后台数据库,以VB 6.0 、VC6.0或其它开发工具作为前台开发工具,完成一个小型
2、数据库应用系统的设计开发。要求能实现基本功能,能增加信息,修改信息,查询信息,删除信息等。 2使用SQL语句和Visual Basic 的代码编程设计学生签名(手签):_ 2011 年01 月 03 日摘 要 企业人事管理系统是九十年代才出现的新兴的信息系统,它属于人力资源管理系统的一个小的分支,是管理科学和计算机技术紧密结合的产物。随着计算机技术的迅速发展,特别是软件开发技术和开发工具的不断进步,人事管理系统的开发逐步呈现出多方位,全面的开发模式:在开发模型的系统结构方面在沿着主机/终端模型到B/S模型到多层的B/S模式、再到C/S模式,相应地系统应用体系结构也由单层结构发展到二层结构再到三
3、层结构以至多层;面向对象技术的得到广泛应用,组件技术的出现解决了传统的软件开发在分布性和重用性的一些问题,提高了软件开发的效率和质量本论文是从现代企业管理中的人事管理现状出发,针对人事管理的复杂程序,经过详细的系统调查,开发出的操作简单而且方便实用的一个人事管理系统。通过调查本地的企业,根据企业的具体情况设计企业人事管理系统。主要功能有:1) 人事档案管理:户口状况、政治面貌、生理状况、合同管理等;2) 考勤加班出差管理;3) 人事变动:新进员工登记、员工离职登记、人事变更记录;4) 考核奖惩;5) 员工培训;6) 系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等;本系统的前端
4、开发工具是Visual Basic 6.0,后台数据库引擎选用数据库软件Microsoft SQL 2008。关键词:查询,人事管理,数据库目 录第一章 引言41.1 设计目的41.2 设计要求41.3 设计环境41.4 同组人员及分工4第二章 概要设计52.1 系统需求分析52.2 系统结构设计62.2 功能模块设计7第三章 详细设计73.1 系统数据库设计73.2 系统主要功能模块设计93.3 各模块的主要算法对应的原代码10第四章 调试与运行结果及存在的主要问题234.1 调试、运行和存在的问题23第五章 课程设计小结245.1 课程设计所做的工作内容总结24第六章 参考文献24第一章
5、引言1.1 设计目的:数据库技术及应用课程设计是我校信息管理与信息系统专业(本科)教学大纲要求的重要实践性环节之一,是学习完数据库技术及应用课程后进行的一次全面的综合练习。其目的在于:配合数据库技术及应用课程的教学,使学生能巩固和加深对数据库基础理论和基本知识的理解;掌握使用数据库进行软件设计的基本思想和方法;提高学生运用数据库理论解决实际问题的能力;培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。1.2 设计要求:通过调查本地的企业,根据企业的具体情况设计企业人事管理系统。主要功能有:1) 人事档案管理;2) 考勤加班出差管理;3) 人事变动;4) 考核奖惩;5) 员工培训
6、;6) 系统维护;1.3 设计环境:以SQL Server 2008作为后台数据库,以VB 6.0 、VC6.0或其它开发工具作为前台开发工具,完成一个小型数据库应用系统的设计开发。1.4 同组人员: 计算机科学与技术 2班 李发万 第二章 概要设计2.1系统需求分析:系统为人事管理系统,用户可以通过数据库管理员帐号登入,进行本系统的一些基本操作,对数据库的添加以及修改;在信息管理模块中可以查询公司员工的基本信息,也可对其进行修改,删除;人员管理、合同管理等其他的一些管理模块都具有以上信息管理的功能;在查询管理中亦可查询出公司所有人员的一些基本信息,这是本系统为用户提供的方便、快捷的服务,不至
7、于用户在其他各个模块中来来复复查询。数据库模式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.系统维护:如数据安全管理(含备份与恢复)、操作员管理
8、、权限设置等;2.3 功能模块设计:开始登入界面人事档案考勤管理人事变动考核奖罚员工培训系统维护退出查询修改图2.3.1 功能模块设计图第三章 详细设计一、系统数据库设计数据库名称:企业人事管理系统系统表:人事档案、考勤管理、人事变更管理、奖惩管理、管理员;关系模式:人事档案:员工号、姓名、性别、户籍、政治面貌、生理状况、合同管理;考勤管理:员工号、缺勤、加班、出差;人事变更管理:员工号、当前职务、人事变更、员工培训;奖惩管理:员工号、奖惩;管理员:name、password;数据库设计图如下:图3.1.1 管理员表设计图图3.1.2 奖惩管理表设计图图3.1.3 考勤管理表设计图图3.1.4
9、 人事变更管理表设计图图3.1.5 人事档案表设计图二、系统主要功能模块设计在功能模块设计中有本系统的详细构造,在信息模块中我们添加了三个基本控件,分别是“查询”、“退出”、“修改”,通过输入查询的条件和查询字段,点击“查询”按纽开始查询。所查询的数据都是来自后台的数据库系统,从中我们便可以很清楚的知道你所要查询对象的一些数据。同样,通过出入要修改的条件和字段,点击“修改”按钮开始修改数据。三、各模块的主要算法对应的原代码图3.3.1 welcome界面运行图开始界面(代码):Private Sub Command1_Click()Welcome.HidefrmLogin.ShowEnd Su
10、bPrivate Sub Command2_Click()Dim aa = MsgBox(是否要退出企业人事管理系统? , vbYesNo, 提示 )If a = vbYes Then EndElse Exit SubEnd IfEnd Sub图3.3.2 登陆界面运行图登陆界面(代码):Option ExplicitPublic LoginSucceeded As BooleanPrivate Sub cmdCancel_Click()Dim aa = MsgBox(是否要退出企业人事管理系统? , vbYesNo, 提示 )If a = vbYes Then EndElse Exit Su
11、bEnd IfEnd SubPrivate Sub cmdOK_Click()Dim r As IntegerDim rr As Integer 判断用户名是否为空 If Me.txtUserName.Text = Then r = MsgBox(请输入用户名!, , 提示) txtUserName.SetFocus Exit Sub End If 判断密码是否为空 If Me.txtPassword.Text = Then rr = MsgBox(请输入密码!, , 提示) txtPassword.SetFocus Exit Sub End If 连接数据库 Dim cn As New AD
12、ODB.Connection Dim rs As New ADODB.Recordset cn.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=企业人事管理系统;Data Source=CODE-PC Set rs = New ADODB.Recordset Dim s1_Sql As String 判断用户是否存在 s1_Sql = SELECT * FROM 管理员 WHERE name= & Trim(txtUserName.Text) & and
13、password= & Trim(Me.txtPassword.Text) & rs.Open s1_Sql, cn, adOpenStatic, adLockOptimistic On Error Resume Next rs.MoveFirst 移到第一条记录 If Err = 3021 Then r = MsgBox(用户名或密码错误,请重新检查!, , 提示) 加一个错误处理 Exit Sub End If menu.Show Unload MeEnd Sub图3.3.3 菜单界面运行图菜单界面(代码):Private Sub Command2_Click()menu.Hide人事档案
14、.ShowEnd SubPrivate Sub Command3_Click()menu.Hide奖惩管理.ShowEnd SubPrivate Sub Command4_Click()menu.Hide人事管理.ShowEnd SubPrivate Sub Form_Load() Picture1.AutoRedraw = True Me.Picture1.Picture = LoadPicture(C:UserscodePictures额62062d82jw1dmr2zg14u8j.jpg) Picture1.Print hello SavePicture Me.Picture1.Imag
15、e, C:UserscodePictures额.jpgEnd SubPrivate Sub Command1_Click()menu.Hide考勤管理.ShowEnd SubPrivate Sub Command5_Click()Dim aa = MsgBox(是否要退出企业人事管理系统? , vbYesNo, 提示 )If a = vbYes Then EndElse Exit SubEnd IfEnd Sub图3.3.4 考勤管理界面运行图考勤界面(代码):Private Sub cmbField_Click()cmbName.ClearAdodc1.RecordSource = sele
16、ct * from 考勤管理Adodc1.RefreshDo While Not Adodc1.Recordset.EOFcmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)Adodc1.Recordset.MoveNextLoopcmbName.Text = cmbName.List(0)End SubPrivate Sub cmbName_Click()Dim conditionAdodc1.Refreshcondition = Trim(cmbField.Text)If VarType(condition) = 8 ThenAdod
17、c1.RecordSource = select * from 考勤管理 where & condition & = & cmbName.Text & ElseAdodc1.RecordSource = select * from 考勤管理 where & condition & = & cmbName.TextEnd IfAdodc1.RefreshAdodc1.Recordset.MoveFirst缺勤.Text = Adodc1.Recordset.Fields(缺勤)加班.Text = Adodc1.Recordset.Fields(加班)出差.Text = Adodc1.Record
18、set.Fields(出差)员工号.Text = Adodc1.Recordset.Fields(员工号)End SubPrivate Sub cmdedit_Click()On Error GoTo errorhandlerIf 员工号.Text ThenAdodc1.RecordSource = select * from 考勤管理 where 员工号= & 员工号.Text & Adodc1.RefreshAdodc1.Recordset.Fields(员工号) = 员工号.TextAdodc1.Recordset.Fields(缺勤) = 缺勤.TextAdodc1.Recordset
19、.Fields(加班) = 加班.TextAdodc1.Recordset.Fields(出差) = 出差.TextAdodc1.Recordset.UpdateElseMsgBox (员工号是主索引,不能为空 & 错误提示)End IfExit Suberrorhandler:MsgBox (员工号是主索引,不能重复 & 错误提示)End SubPrivate Sub Form_Load()Dim i As IntegerAdodc1.RecordSource = select * from 考勤管理Adodc1.RefreshSet DataGrid1.DataSource = Adodc
20、1cmbField.ClearFor i = 0 To Adodc1.Recordset.Fields.Count - 1cmbField.AddItem Adodc1.Recordset.Fields(i).NameNext icmbField.Text = cmbField.List(0)End SubPrivate Sub Command1_Click()考勤管理.Hidemenu.ShowEnd Sub图3.3.5 人事档案管理界面运行图人事档案管理界面(代码):Private Sub cmbField_Click()cmbName.ClearAdodc1.RecordSource =
21、 select * from 人事档案Adodc1.RefreshDo While Not Adodc1.Recordset.EOFcmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)Adodc1.Recordset.MoveNextLoopcmbName.Text = cmbName.List(0)End SubPrivate Sub cmbName_Click()Dim conditionAdodc1.Refreshcondition = Trim(cmbField.Text)If VarType(condition) = 8 The
22、nAdodc1.RecordSource = select * from 人事档案 where & condition & = & cmbName.Text & ElseAdodc1.RecordSource = select * from 人事档案 where & condition & = & cmbName.TextEnd IfAdodc1.RefreshAdodc1.Recordset.MoveFirst员工号.Text = Adodc1.Recordset.Fields(员工号)姓名.Text = Adodc1.Recordset.Fields(姓名)性别.Text = Adodc1
23、.Recordset.Fields(性别)年龄.Text = Adodc1.Recordset.Fields(年龄)户籍.Text = Adodc1.Recordset.Fields(户籍)政治面貌.Text = Adodc1.Recordset.Fields(政治面貌)生理状况.Text = Adodc1.Recordset.Fields(生理状况)合同管理.Text = Adodc1.Recordset.Fields(合同管理)End SubPrivate Sub Form_Load()Dim i As IntegerAdodc1.RecordSource = select * from
24、人事档案Adodc1.RefreshSet DataGrid1.DataSource = Adodc1cmbField.ClearFor i = 0 To Adodc1.Recordset.Fields.Count - 1cmbField.AddItem Adodc1.Recordset.Fields(i).NameNext icmbField.Text = cmbField.List(0)End SubPrivate Sub cmdadd_Click()On Error GoTo errorhandlerIf 员工号.Text ThenAdodc1.Recordset.AddNewAdodc
25、1.Recordset.Fields(员工号) = 员工号.TextAdodc1.Recordset.Fields(姓名) = 姓名.TextAdodc1.Recordset.Fields(性别) = 性别.TextAdodc1.Recordset.Fields(年龄) = 年龄.TextAdodc1.Recordset.Fields(户籍) = 户籍.TextAdodc1.Recordset.Fields(政治面貌) = 政治面貌.TextAdodc1.Recordset.Fields(生理状况) = 生理状况.TextAdodc1.Recordset.Fields(合同管理) = 合同管理
26、.TextAdodc1.Recordset.UpdatecmbName.ClearAdodc1.RecordSource = select * from 人事档案Adodc1.RefreshDo While Not Adodc1.Recordset.EOFcmbName.AddItem Adodc1.Recordset.Fields(1)Adodc1.Recordset.MoveNextLoopcmbField_Clickcmdclear_ClickElseMsgBox 员工号是主索引,不能为空, vbInformation, 错误提示End IfExit Suberrorhandler:Ms
27、gBox 员工号是主索引,不能重复, vbInformation, 错误提示End SubPrivate Sub cmddel_Click()If 员工号.Text ThenAdodc1.RecordSource = select * from 人事档案 where 员工号 = & 员工号.Text & Adodc1.RefreshAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextcmbName.ClearcmbField_ClickEnd IfEnd SubPrivate Sub cmdedit_Click()On Error GoTo erro
28、rhandlerIf 员工号.Text ThenAdodc1.RecordSource = select * from 人事档案 where 员工号= & 员工号.Text & Adodc1.RefreshAdodc1.Recordset.Fields(员工号) = 员工号.TextAdodc1.Recordset.Fields(姓名) = 姓名.TextAdodc1.Recordset.Fields(性别) = 性别.TextAdodc1.Recordset.Fields(年龄) = 年龄.TextAdodc1.Recordset.Fields(户籍) = 户籍.TextAdodc1.Rec
29、ordset.Fields(政治面貌) = 政治面貌.TextAdodc1.Recordset.Fields(生理状况) = 生理状况.TextAdodc1.Recordset.Fields(合同管理) = 合同管理.TextAdodc1.Recordset.UpdateElseMsgBox (员工号是主索引,不能为空 & 错误提示)End IfExit Suberrorhandler:MsgBox (员工号是主索引,不能重复 & 错误提示)End SubPrivate Sub Command5_Click()人事档案.Hidemenu.ShowEnd Sub图3.3.6 奖惩管理界面运行图奖
30、惩管理界面(代码):Private Sub Command1_Click()奖惩管理.Hidemenu.ShowEnd SubPrivate Sub cmbField_Click()cmbName.ClearAdodc1.RecordSource = select * from 奖惩管理Adodc1.RefreshDo While Not Adodc1.Recordset.EOFcmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)Adodc1.Recordset.MoveNextLoopcmbName.Text = cmbName.Lis
31、t(0)End SubPrivate Sub cmbName_Click()Dim conditionAdodc1.Refreshcondition = Trim(cmbField.Text)If VarType(condition) = 8 ThenAdodc1.RecordSource = select * from 奖惩管理 where & condition & = & cmbName.Text & ElseAdodc1.RecordSource = select * from 奖惩管理 where & condition & = & cmbName.TextEnd IfAdodc1.
32、RefreshAdodc1.Recordset.MoveFirst奖惩.Text = Adodc1.Recordset.Fields(奖惩)员工号.Text = Adodc1.Recordset.Fields(员工号)End SubPrivate Sub cmdedit_Click()On Error GoTo errorhandlerIf 员工号.Text ThenAdodc1.RecordSource = select * from 奖惩管理 where 员工号= & 员工号.Text & Adodc1.RefreshAdodc1.Recordset.Fields(员工号) = 员工号.T
33、extAdodc1.Recordset.Fields(奖惩) = 奖惩.TextAdodc1.Recordset.UpdateElseMsgBox (员工号是主索引,不能为空 & 错误提示)End IfExit Suberrorhandler:MsgBox (员工号是主索引,不能重复 & 错误提示)End SubPrivate Sub Command2_Click()考勤管理.ShowEnd SubPrivate Sub Form_Load()Dim i As IntegerAdodc1.RecordSource = select * from 奖惩管理Adodc1.RefreshSet Da
34、taGrid1.DataSource = Adodc1cmbField.ClearFor i = 0 To Adodc1.Recordset.Fields.Count - 1cmbField.AddItem Adodc1.Recordset.Fields(i).NameNext icmbField.Text = cmbField.List(0)End Sub图3.3.7 人事管理界面运行图人事管理界面(代码):Private Sub Command1_Click()人事管理.Hidemenu.ShowEnd SubPrivate Sub cmbField_Click()cmbName.Clea
35、rAdodc1.RecordSource = select * from 人事变更管理Adodc1.RefreshDo While Not Adodc1.Recordset.EOFcmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)Adodc1.Recordset.MoveNextLoopcmbName.Text = cmbName.List(0)End SubPrivate Sub cmbName_Click()Dim conditionAdodc1.Refreshcondition = Trim(cmbField.Text)If Va
36、rType(condition) = 8 ThenAdodc1.RecordSource = select * from 人事变更管理 where & condition & = & cmbName.Text & ElseAdodc1.RecordSource = select * from 考勤管理 where & condition & = & cmbName.TextEnd IfAdodc1.RefreshAdodc1.Recordset.MoveFirst员工号.Text = Adodc1.Recordset.Fields(员工号)当前职务.Text = Adodc1.Recordse
37、t.Fields(当前职务)人事变更.Text = Adodc1.Recordset.Fields(人事变更)员工培训.Text = Adodc1.Recordset.Fields(员工培训)End SubPrivate Sub cmdedit_Click()On Error GoTo errorhandlerIf 员工号.Text ThenAdodc1.RecordSource = select * from 人事变更管理 where 员工号= & 员工号.Text & Adodc1.RefreshAdodc1.Recordset.Fields(员工号) = 员工号.TextAdodc1.R
38、ecordset.Fields(当前职务) = 当前职务.TextAdodc1.Recordset.Fields(人事变更) = 人事变更.TextAdodc1.Recordset.Fields(员工培训) = 员工培训.TextAdodc1.Recordset.UpdateElseMsgBox (员工号是主索引,不能为空 & 错误提示)End IfExit Suberrorhandler:MsgBox (员工号是主索引,不能重复 & 错误提示)End SubPrivate Sub Form_Load()Dim i As IntegerAdodc1.RecordSource = select
39、* from 人事变更管理Adodc1.RefreshSet DataGrid1.DataSource = Adodc1cmbField.ClearFor i = 0 To Adodc1.Recordset.Fields.Count - 1cmbField.AddItem Adodc1.Recordset.Fields(i).NameNext icmbField.Text = cmbField.List(0)End Sub第四章 调试与运行结果及存在的主要问题一、 存在的问题:主要存在的问题是程序源代码的编写,经过一系列的讨论和修改最终完成,但由于对vb编写代码的不了解导致部分功能无法实现,所
40、以选择较为简易的方式实现。该系统简易设置为管理员登陆系统,功能实现的为管理员权限的行为。许多方式都得自行运算得出。第五章 课程设计小结在指导老师的精心指导和安排下,本系统已经设计完毕。其使用功能基本符合公司在实际工作的需要,具有一定的实用性。但是由于时间比较仓促,加上本人软件设计经验的不足。因此,在分析问题、解决问题时显得不够严密、完善,还需要在以后的工作中不断地改进和完善。在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。最后,我要衷心感谢老师在我的设计过程
41、中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。同时,也要感谢我的老师和同学们及实习企业在本系统的设计过程中给予我的支持和帮助。参 考 文 献 1 丁宝康.数据库原理.北京:经济科学出版社.2000.2 白鹏主编.Visual Basic 编程实例与技巧数据库编程.北京:科学出版社.2002.3 张晓辉编著. SQL Server 2000管理及应用系统开发.北京:人民邮电出版社.2002.12.4 普悠玛著.Visual Basic程序设计示例导学.北京:北京科海电子出版社.2003.1.5 萨师煊编著.数据库系统概论.北京:高等教育出版社.2002.5.6 梁思著.Visual Basic 6.0 编程与实例解析.北京:科学出版社.2000.3.7 程学先主编.数据库原理与技术.北京:中国水利水电出版社.2001.10.8 Dejan Sunderic著.SQL Server 2000高级编程技术.北京:清华大学出版社.2002.2.9 乔宇锋著.Visual Basic 控件设计示例导学.北京:北京科海电子出版社.2003.6.10 宗大华编著.Visual Basic 6.0编程基础教程.北京:科学出版社.2000.6.专心-专注-专业
限制150内