企业考勤系统论文Word文件下载.docx
《企业考勤系统论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《企业考勤系统论文Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
中文摘要………………………………………………………3
第一章应用系统开发工具…………………………………4
1.1VB技术简述………………………………………………………4
1.2Access简述………………………………………………………4
第二章企业考勤信息系统需求分析……………………5-6
2.1系统功能分析……………………………………………………5
2.2系统功能模块设计………………………………………………5
2.3系统功能描述……………………………………………………6
2.4数据库需求分析……………………………………………………6
第三章系统需求……………………………………………7
3.1性能需求…………………………………………………………7
3.2数据库需求………………………………………………………7
第四章系统实现技术……………………………………8-21
4.1系统主窗体设计…………………………………………………8
4.2登录窗体的建立……………………………………………………9
4.3员工档案模块设计………………………………………………10
4.4考勤管理模块设计………………………………………………14
4.5员工调动模块设计………………………………………………18
第五章数据库逻辑结构设计………………………………22-24
第六章系统测试……………………………………………25
第七章系统评价及体会………………………………………26
致谢…………………………………………………………27
参考文献………………………………………………………27
第一章应用系统开发工具
1.1VB技术简介
微软公司的visualbasic6.0是windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。
visualbasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统visualbasic6.0是一个相对较好的选择。
微软的jet数据库引擎提供了与数据库打交道的途径,我们是通过它以及visualbasic来访问数据库并对其进行各种操作。
visualbasic、access以及其他微软的软件产品都是通过共用jet数据库引擎,从而给用户提供了丰富的数据类型。
data控件在数据库中的信息与将信息显示给用户看的visualbasic程序之间架起了一座桥梁。
我们可以设置data控件的各个属性,告诉它要调用那个数据库的哪个部分。
缺省情况下,data控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。
一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。
data控件还提供了用来浏览不同记录的各种跳转按钮。
将data控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
visualbasic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。
开发人员可以最有效利用所创建的每一个对象。
使用应用程序具有可通用性可说扩展性和强有力的功能。
visualbasic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
1.2Access简介
Access2000是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
第二章需求分析
2.1系统功能分析
人事考勤管理系统的主要任务是对人事考勤信息进行整理,使得能方便快捷地对人事考勤信息进行录入、查询、修改、删除。
通过该系统,使企业的考勤管理工作系统化、规范化、自动化,从而提高企业人事管理的效率。
界面设计简洁大方,使用户能够方便上手,熟练使用。
2.2系统功能模块设计
2.3系统功能描述
系统开发的总体任务是实现企业人事考勤信息的系统化、规模化和自动化,以此来提高企业的工作效率。
本系统所描述的企业人事管理系统的主要功能包括:
(1)系统设置模块功能
分为用户管理和特权用户管理,使其进入不同界面进行操作。
(2)员工档案模块功能
对员工档案信息进行添加,修改,删除和查询,并可打印出相应报表。
(3)考勤管理模块功能
对考勤信息进行添加,修改,删除和查询,并可打印出相应报表。
(4)员工调动模块功能
对员工调动信息进行添加,修改,删除和查询,并可打印出相应报表。
2.4数据库需求分析
数据库在一个信息管理系统中占非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高存储的效率,保证数据的完整性和一致性。
另外,合理的数据库结构将非常有利于程序的实现。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能够充分满足各种信息的输入和输出。
收集基本数据、数据结构和数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
针对一般小型企业单位人事信息管理系统的需求,通过对员工工作过程的内容和数据流程的分析,设计如下所示的数据项和数据结构:
1)员工档案
基本信息:
员工编号,员工姓名,性别,籍贯,出生日期,学历,专业,身份证号,婚姻情况,政治面貌,电话号码,邮政编码,电子邮箱,家庭地址,进入公司时间,起薪时间,所在部门,调入部门时间,职称,职称时间。
工作经验:
原身份,原职务,原来工作单位,参加工作时间,工作经验,其他备注。
2)考勤管理
员工编号,员工姓名,性别,职务,所在部门,年度,月份,
全勤天数,应出勤天数,起始日期,截止日期,起始时间,截止时间,
请假类型,审批人,请假事由。
其他考勤:
其他假天数,其他假说明,迟到早退次数,延时加班小时,
休息日加班小时,休假日加班小时,矿工次数,备注。
3)员工调动
员工编号,员工姓名,原部门名称,新部门名称,原职务,新职务,
调出时间,调入时间,备注。
第三章系统需求
3.1性能需求:
(1)安全性要求高,能有效控制和管理不同的用户的权限。
(2)查询数据的相应时间控制在30秒内。
(3)系统具有灵活性、可维护性、安全性、容错性。
3.2数据库需求:
(1)考虑到人事考勤管理人员的特点和每天的实际业务量的情况;
声明:
本系统对考勤人员分两类处理,一种属于超级用户,即能对本系统中的任何部分实施操作;
另一种只是考勤人员,对员工进行考勤,只能对考勤模块进行操作,其他模块只能进行查询。
本系统之所以要用到部门,员工档案,和调动信息,是因为这几个模块都涉及到考勤的核对和管理人员对信息的及时了解认识。
例如:
有员工调换了部门,如果当天考勤人员不清楚,则可以查询调动信息确认;
考勤人员要确认某人为其企业员工,可以通过员工档案的查询来获知。
(2)要求能存储较大数据的能力,并且能够对大量数据处理有强大的处理能力和快的响应时间。
(3)要求实用性好,可以满足各种需求,应对突发情况的能力强。
(4)考虑到数据库将来可能要加强,扩充的情况。
(5)考虑到安全性和保密性,保证数据库的完好。
(6)尽量简单而不失完整性,繁琐不利于操作。
第四章系统实现设计
4.1系统主窗体设计
系统的主窗体完成的功能如下
(1)当光标指向“系统设置”标签时,在下拉菜单中能完成“添加用户”,“修改密码”,“关闭窗口”的操作。
(2)当光标指向“部门管理”标签时,能完成对部门管理的操作。
(3)当光标指向“员工档案”标签时,在下拉菜单中能完成“档案管理”,“查询员工档案”,“员工档案报表”的操作。
(4)当光标指向“考勤管理”标签时,在下拉菜单中能完成“管理”,“查询考勤信息”,“考勤信息报表”的操作。
(5)当光标指向“员工调动”标签时,在下拉菜单中能完成“添加调动”,“调动管理”,“查询调动信息”,“调动信息报表”的操作。
4.2登录模块设计
“登录”控件代码如下所示:
DimStrSQLAsString
UserName=CStr(Trim(TxtUserName.Text))'
//将文本框内的值赋给定义好的全局变量
PassWord=CStr(Trim(TxtPassWord.Text))
IfUserName<
>
EmptyAndPassWord<
EmptyThen'
//用户名与密码是否为空
StrSQL="
select用户名称,用户口令,用户权限from管理用户where用户名称='
"
&
UserName&
"
'
and用户口令='
PassWord&
IfRsLoginCheck.State=adStateClosedThen
RsLoginCheck.OpenStrSQL,DBCON,adOpenKeyset,adLockPessimistic,adCmdText'
//打开记录集
EndIf
Group=RsLoginCheck.Fields
(2).Value
IfRsLoginCheck.Fields
(2).Value<
Administrators"
Then
CallCheckLogin
IfRsLoginCheck.RecordCount<
0Then'
//判断记录集记录条数是否为0
RsLoginCheck.Close
UnloadMe
Frmmdimain.Show'
//显示主窗
FrmDay.ShowvbModal
ElseIfCounts<
2Then
MsgBox"
用户名域密码错误"
vbExclamation+vbOKOnly,"
登录失败"
RsLoginCheck.Close'
//关闭记录集
Counts=Counts+1
Else
密码错误不得超过三次,否则视您为非法用户!
vbCritical,"
警告"
End
Else
用户名密码不能为空"
CallForm_Load
EndIf
EndSub
4.3员工档案模块设计
4.3.1档案管理模块
<
1>
.“添加”控件代码:
RsRecord.AddNew'
//在记录集中添加一条新记录
CallFormTxtValue2'
//调用给文本框赋空值的过程
CallTxtState'
//调用启用文本框的Enabled属性过程
CallCmdState1'
//调用命令按钮Visible属性为隐藏的过程
IfRsBranch.State=adstateclsedThen
RsBranch.Open"
部门管理"
DBCON,adOpenKeyset,adLockPessimistic,adCmdTable
SetTxtBranch.RowSource=RsBranch
TxtBranch.BoundColumn="
部门名称"
TxtBranch.ListField="
IfRstTitle.State=adStateClosedThen
RstTitle.Open"
员工职务"
SetTxtTiltle.RowSource=RstTitle
TxtTiltle.BoundColumn="
TxtTiltle.ListField="
2>
.“修改”(即编辑)控件代码:
3>
.“删除”控件代码:
IfMsgBox("
确定要删除吗?
vbInformation+vbYesNo,"
删除信息"
)=vbYesThen
IfRsRecord.RecordCount<
0Then
RsRecord.Delete'
//删除记录
CallCmdMove_Click
当前没有任何记录"
,"
删除记录"
CallFormTxtValue2'
4>
.“移动”控件代码:
IfRsRecord.RecordCount<
RsRecord.MoveNext'
//记录向下移一条
IfRsRecord.EOFThen
RsRecord.MoveFirst'
//将记录移到第一行
CallFormTxtValue1'
//调用将记录数据赋给文本框的过程
MsgBox"
移动记录"
5>
.“返回”控件代码:
UnloadMe
4.3.2查询模块
“查询”控件代码:
select*from员工档案where"
'
//给定义好的字符变量赋予SQL语句
//判断复选框有一个选中时,则
IfChkCode.Value=1OrChkName.Value=1OrChkDate.Value=1Then
//判断三个复选框同时选中时,则
IfChkCode.Value=1AndChkName.Value=1AndChkDate.Value=1Then
StrSQL=StrSQL&
员工编号='
Trim(TxtCode.Text)&
and"
员工姓名='
Trim(TxtName.Text)&
进入公司时间between#"
DTPFromDate.Value&
#and#"
DTPToDate.Value&
#"
//判断编号与姓名复选框选中时,则
ElseIfChkCode.Value=1AndChkName.Value=1Then
//判断编号与进入公司时间复选框选中时,则
ElseIfChkCode.Value=1AndChkDate.Value=1Then
//判断姓名与进入公司时间复选框选中时,则
ElseIfChkName.Value=1AndChkDate.Value=1Then
IfChkCode.Value=1Then'
//只有编号复选框选中时,则
IfChkName.Value=1Then'
//只有姓名复选框选中时,则
IfChkDate.Value=1Then'
//只有进入公司时间复选框选中时,则
进入公司时间between#"
IfRsQRecord.State=adStateClosedThen
RsQRecord.OpenStrSQL,DBCON,adOpenKeyset,adLockOptimistic,adCmdText
SetVSDataRecord.DataSource=RsQRecord.DataSource
LblCount.Caption=RsQRecord.RecordCount'
//将记录条数显示在标签上
VSDataRecord.Refresh'
//刷新网格
RsQRecord.Close'
TxtCode.Text=Empty'
//请空文本框
TxtName.Text=Empty
IfRstQRecord.State=adStateClosedThen
RstQRecord.Open"
员工档案"
DBCON,adOpenKeyset,adLockOptimistic,adCmdTable
SetVSDataRecord.DataSource=RstQRecord.DataSource'
//设置网格的数据源
LblCount.Caption=RstQRecord.RecordCount
4.4考勤管理模块设计
4.4.1管理模块
.“添加”控件代码:
RsAddCheck.AddNew'
IfRsRecordCheck.State=adStateClosedThen
RsRecordCheck.Open"
SetCmbCode.RowSource=RsRecordCheck
CmbCode.BoundColumn="
员工编号"
CmbCode.ListField="
.“修改”(即编辑)控件代码:
.“删除”控件代码:
IfRsAddCheck.RecordCount<
RsAddCheck.Delete'
.“移动”控件代码:
IfRsAddCheck.RecordCount<
RsAddCheck.MoveNext'
IfRsAddCheck.EOFThen
RsAddChec