考勤管理系统设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
1.1引言
随着经济的飞速发展,愈来愈多的管理者认识到管理与效益是息息相关的,实现数据规范化、自动化的电脑管理,是一个管理规范、运作高效的企事业单位的必然要求。
现在的市场竞争是知识的竞争,管理手段的竞争。
谁有先进的技术设备和管理手段,谁就有成功的先机。
但是,目前国内大多数企业在考勤时,依然使用的是传统的考勤方法,例如手工记录、签卡、机械打卡等。
这样的考勤方法,不仅考勤速度慢,在考勤时需要专门人员在旁记录,统计,制成报表,当报表最后交到主管人员手上时,也许时间已经过了几天,这样根本不能发挥考勤真正的监督作用。
而且,考勤数据不准确,考勤人员在考勤过程中可能记录出错,甚至弄虚作假的现象出现。
传统的考勤手段已不能当今社会企业管理的需要,所以为了满足客户的需求,解决传统考勤方式在考勤中出现的问题,更好地为企业决策提供依据,本文设计了一个基于C/S(客户机/服务器)模式的多终端考勤系统。
它使用VB技术和Access数据库技术,结合当前的IC卡技术,以考勤机为客户端接口,为实现企业考勤提供了一个良好的平台。
下面是这个系统的整体布局结构图。
图1 考勤系统整体布局结构图
1.3 客户机/服务器(C/S)计算模式
C/S模式是继分布式系统后发展起来的基于计算机网络的一种计算机模式,它在网络系
统上的计算机系统分成客户机和服务器两类。
用户通过客户机在网络系统上向服务器提出服务请求,服务器根据请求向有关方面提供经过加工的信息。
客户机本身也承担本地信息管理工作,和分布式系统相比,客户机/服务器将信息工作分解为两个部分,一部分由服务器来实现,另一部分由客户机自身来完成。
本文中所研究的多终端考勤系统以主计算机作为服务器,其他各个部门的考勤机及其计算机作为客户机。
从客户机上采集考勤信息,发送到服务器,进行统计打印,客户机也可以统计打印本部门的考勤信息。
客户端和服务器通过局域网相互联系,各部门管理员可以通过网络查询到其他部门或整个公司,个人的考勤情况。
1.4 IC卡技术
IC卡技术是近几年发展时兴起来的,现在已被广泛运用在金融、交通、医疗、教育、商业等多个领域,成为存储卡和识别卡的主要形式。
从我国IC卡累计发行量来看,1997年底共发行6000万张(其中银行卡约200万张),到2000年底共发行4亿张,我国的IC卡应用正进入普及时期,巨大的市场需求吸引了许多国内外商家的兴趣,同时也推动IC卡技术以更快的速度发展。
IC是英文Integrated Circuit的缩写,中文意思为集成电路,IC卡也通常翻译为智能卡、聪明卡。
IC卡是信息技术飞速发展的产物,是继条码卡、磁卡之后推出的新一代识别卡,被公认为是世界上最小的个人计算机,它是将集成电路芯片镶嵌于塑料基片中,封装成卡的形式。
IC卡技术的核心是卡用芯片技术。
IC卡的特点是具有被存储数据和输出数据的能力并且体积小、存储容量大、安全性高、使用方便等。
根据IC卡中所镶嵌的集成电路不同,一般可将IC卡分成三类:⑴.存储器卡,卡中的集成电路为EEPROM(可用电擦除的可编程只读存储器)。
⑵.逻辑加密卡,卡中的集成电路具有加密逻辑和EEPROM。
⑶.CPU卡,卡中的集成电路包括中央处理器CPU、EEPROM、随机存储器RAM以及固化的只读存储器ROM中的片内操作系统COS(Chip Operating System)。
根据IC卡与外界数据传送方式不同,又可将IC卡分为接触型IC卡和非接触型IC卡。
接触式IC卡由读写机具卡座上的接触点和卡片上的触点相接触,进行信息的读写;而非接触式IC卡则与读写机具无电路接触,通过无线电磁波(如射频或微波)的传送技术进行信息的读写。
当前使用普遍的是接触型IC卡。
此外,还有一种接触/非接触组合卡(也称双界面卡),通常这种双界面卡都是CPU卡。
1.5 考勤机
考勤机是考勤系统中不可缺少的硬件,它的主要作用是收集并保存员工刷卡的时间数据,并将数据传输给电脑进行处理,具有强大的数据统计管理功能。
考勤机种类很多,当前考勤机主要可以分为两大类:一、打卡类:可分电子类打卡机和机械类打卡机,机械打卡机:即考勤机内臵打印设备,可以直接打印出原始考勤记录。
机械类打卡机的优点是简单直观,无须计算机知识,价格相对较底,缺点是统计烦琐,每月更换卡片,机械故障率较高(插卡口易受破坏),它主要使用于100人以下且环境较好的单位。
二、刷卡类:主要分磁卡、条
码卡、IC卡三类。
目前应用最多的是磁卡和条码卡考勤机。
本系统使用的是刷卡类考勤机,它的优点是可利用计算机统计考勤数据,缺点是IC卡与考勤机经常接触IC卡容易磨损,造成读卡数据部正确,它的适用范围是卫生环境较好,人员素质较高的场所。
第二章系统分析
2.1 工作流程分析
系统管理员设臵系统的基本数据(请假类型、部门信息、职务信息),考勤条件、通讯端口、考勤机列表、权限、系统设臵(添加管理员、修改密码),各部门管理员根据权限设臵本部门的员工信息。
员工每天上下班刷卡,各部门考勤机把IC卡中的卡号和员工刷卡信息保存在客户机上,部门管理员记录每天的请假、缺席、出差等记录保存在客户机上,服务器采集每个客户机的考勤信息,进行统计、打印,生成报表。
各部门管理员可以对本部门进行排班设臵,班次设臵则由系统管理员完成。
系统管理员可以对所有员工的信息进行添加、修改、删除,对员工持卡情况进行登记,部门管理员和主管人员最后可以通过局域网了解员工每天的考勤情况,可以对员工做出及时有效的监督管理,促进员工上班积极性,提高员工自律性。
详细工作流程请参照图2所示:
图2 系统基本工作流程图
2.2 系统功能分析
制作本考勤系统目的是为企业解决员工考勤的繁琐工作,减轻企业负担,减少不必要的劳动力、金钱的损耗,提高工作效率,为企业创造更多效益,实现单位考勤管理的系统化、规范化、和自动化。
所以本系统主要需要实现以下几个功能:管理员登录及信息维护,员工信息维护,数据采集,基本数据(请假类型、部门类型、职务类型)维护,数据库管理,查询功能,排班功能,请假、缺席记录、打印功能,考勤机信息设臵等。
该系统的模块结构图如图3所示。
图3 系统功能结构
(1) 系统:包括用户登录、添加管理员、修改密码、退出系统等。
登录分为两种形式,客户
和管理员,当你用户名或密码不知道或者错误时你将是客户,除了系统模块外的所有模块都呈现不可激活状态,不能进行操作。
(2) 基本操作:在这个模块中,有六个子模块:打卡数据采集、班次定义、日常排班、调班
换班、请假登记、其他缺席登记等。
打卡数据采集,就是从各台考勤机上把刷卡记录采集过来,以便在查询,制作报表等时使用。
其中包括采集功能、添加考勤记录功能、保存考勤记录功能和删除刷新功能。
班次定义:管理员可以对班次进行添加、修改、删除、打印。
管理员可以对不同部门的人员进行排班,查看排班表,可以进行集体排班、单个排班;可以查找员工、打印排班表。
如果遇到事情不能在规定时间内上班可以协商和不同时段上班的员工调班。
可以添加、保存、修改、删除、刷新请假记录和其他缺席记录。
(3) 数据管理:管理部门及部门员工的资料信息,对各部门员工信息进行添加、修改、删除,
查询(按拼音、工号、姓名、等进行),对IC卡进行标记(有卡、无卡、丢失),对部门、请假类型、和职务类型进行添加删除;对管理员进行权限设臵,系统管理员是1级,部门管理员2级等;对数据库进行管理:备份数据库、初始化数据库、删除过期信息、压缩数据库等。
(4) 报表中心:查询统计个人或部门的日常考勤报表、月考勤报表、考勤明细报表、打卡统计
报表等,并打印输出。
(5) IC卡管理:登记每个员工的IC卡号码,并可修改验证码。
(6) 考勤机管理:考勤机时间设臵、考勤机记录总数设臵、通信端口选择设臵。
(7) 关于:记录了本系统的使用者及其联系方式。
2.3 系统数据流图分析
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。
数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。
数据流图的作用主要有以下几条: (1)系统分析员用这种工具可以自顶向下分析系统信息流程。
(2)可在图上画出需要计算机处理的部分。
(3)根据数据存贮,进一步作数据分析,向数据库设计过渡。
(4)根据数据流向,定出存取方式。
(5)对应一个处理过程,用相应的语言、判定表等工具表达处理方法。
通过对企业考勤系统流程、功能的分析,得出多终端考勤系统的流程图如4所示。
图4系统数据流程图
第三章系统设计
3.1 系统的总体结构设计
根据系统分析的结果,按照结构化的系统设计方法,多终端考勤系统需要实现的具体功能模块主要可以分为系统设臵模块、基本操作模块、数据管理模块、报表中心模块、IC卡管理模块、考勤机管理模块、软件信息管理模块等七个大模块。
各大模块的具体功能如图5所示。
其中添加管理员、修改密码、打卡数据采集、班次定义、基本数据库管理、权限管理、数据库管理、考勤机管理等功能是系统管理员的功能。
图5 系统功能图
3.2 系统详细设计
3.2.1 数据库设计
1、数据库实体关系图(E-R)分析
由于E-R模型与人们认识现实世界的相似形,因此在描述数据库的概念结构或全局逻辑结构时,采用E-R图这种图形化的表示有非常大的好处,一是图形化表示的简单性;二是图形化表示的清晰性。
这就是为什么E-R模型在设计数据库的概念模式时被广泛使用的重要原因。
通过详细的研究和分析,按照企业的一般的要求和运作程序,得到基本的实体关系图如图6所示。
图6系统实体关系模型
2、数据库设计
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
上面提到的各种功能的实现都离不开数据库的支持,考勤系统的所有信息都是存储在数据库中的,以便用户共享查询使用。
因此数据库设计为本系统开发的一部分不可缺少。
本系统使用Access 数据库。
分析以上功能得出本系统,为了实现考勤系统所要求的功能,需要建立以下几个数据库:排班表、缺席登记表、IC卡登记表、调班表、部门表、员工信息表、考勤历史表、临时考勤表、请假登记表、请假类型表、班次表、考勤机表、基本数据结构表、职务表、管理员表等。
由于开发时使用的数据量较小,因此这些表都集中在同一个数据库中。
(1) 缺席登记表中包括员工号、开始日期、开始时间、结束日期、结束时间、允许人、是否
出差、操作员、操作时间、是否已删除等字段,具体设臵如表1所示。
请假登记表(Leave 表)设臵同缺席登记表。
表1 Absent表
(2) 调班表包括需调班人员员工号、调班日期、允许人、操作时间、操作人、被调班人员
员工号、是否已删除等字段,具体设臵如表2。
表2 ChangePlan表
(3) 员工信息表包括员工号、姓名、拼音首字母、性别、年龄、部门号、职务号、卡状态、
备注、是否已删除等字段,具体设臵如表3所示。
表3 Employee表
(4) 考勤历史表包括员工号、考勤日期、考勤时间、操作时间、是否已删除等字段,具体设
臵如表4所示。
临时考勤表设臵同表4。
表4 KqHistory表
(5) 班次表包括编号、班次名、第一时段上班时间、第一时段上班是否考勤、第一时段下班
时间、第一时段下班是否考勤、是否为加班、第二时段上班时间、第二时段上班是否考勤、第二时段下班时间、第二时段下班是否考勤、是否为加班、第三时段上班时间、第三时段上班是否考勤、第三时段下班时间、第三时段下班是否考勤、是否为加班、第四时段上班时间、第四时段上班是否考勤、第四时段下班时间、第四时段下班是否考勤、是否为加班、是否已删除等字段,具体设臵如表5所示。
表5 Shift表
(6) 管理员表包括编号、用户名、权限、密码、是否已删除等字段,具体设臵如下所所示。
表6 User表
3.2.2 代码设计
代码设计是一项重要的基础性的工作,代码设计的好坏,不仅关系到计算机的运行效率,更关系到信息系统的推广与使用。
代码设计必须统筹规划,参照相关的标准和原则。
本系统通过对数据库及彼此之间的联系,为了管理员管理维护的方便,本着通用性、简明性、扩展性、识别性的原则,系统自动生成的排班表名代码。
如:054,是指2005年后面两位和4月份的一位组成的。
程序中编码自动创建关系。
3.2.3 用户交互界面
考勤系统为了满足使用者的需要,具体的数据处理功能,从交互界面的性质上主要分为三类:
(1)数据编辑
这时的界面样式与原手工处理时纸质表格样式基本一致,以使管理员在操作习惯和方式上比较熟悉和适应。
同时为了减少管理员的输入工作量,减少输入的错误率,本系统使用了许多下拉菜单,日期的输入也由程序本身跳出界面让用户选择,只要查询到这个员工,基本信息系统自动填好。
如请假登记的输入界面,如图7所示。
图7 请假登记界面
(2) 数据查询
系统中所有的查询功能均提供任意条件组合查询,即将要查询的数据库文件的所有字段全部列出,由用户选择任意一个设臵条件,进行查询,用户也可以填入多个条件,条件之间
是与的关系,如员工查询界面如图8所示。
图8 员工查询界面
(3) 数据输出
数据输出分为屏幕输出和打印输出,输出格式完全按照用户的要求报告或报表格式进行设臵,所以符合用户的应用习惯。
屏幕输出界面如图8所示:
图9 流水打卡查询输出界面
第四章系统实现
4.1 系统界面
本系统采用用户都熟悉的软件界面,应用菜单界面完成。
整个界面颜色鲜明,应用了多个图形按钮,使得整个系统界面友好、美观大方,用户操作方便,容易上手。
具体的界面如图10所示。
图10 考勤系统界面
4.2 数据库访问的实现
数据库技术已渐渐成为电子信息系统的重要核心技术,企业管理离不开数据库技术,因为数据库能够提供数据共享,且它的冗余度低,从而减少应用程序的研制和维护的费用。
数据库访问是本系统的一个关键问题,本系统用DAO 数据控件完成对数据库的访问,具体的访问程序如下:
Public gDataBase As Database
Public Const gSTRPWD = "wsh2000"
Dim sPath As String
Dim Rst As DAO.Recordset
sPath = "G:\kaoqin\data\kq2000.mdb"
If Dir(sPath) <> Empty Then
Set gDataBase = Workspaces(0).OpenDatabase(sPath, False, False, ";pwd=" & gSTRPWD) ’打开数据库
Else
MsgBox"找不到数据库!请您检查一下您的数据库路径!!",, gTitle
End
End If
4.3 系统登录界面的实现
本系统在登录之前,首先是调用系统的公共模块,获得一些基本数据。
比如数据库打开,创建关系,初始化端口,初始化排班等等,都是在公用模块中进行的。
接着,才会出现登录界面。
登录界面的具体实现如下:
Dim name As String
Dim password As String
name = Trim(txtUserName.Text)
password = Trim(txtpassword.Text)
Dim Rst As DAO.Recordset
Set Rst = gDataBase.OpenRecordset("select * from User " _
& " where name='" & name & "'and PWD='" & password & "'")
If Rst.RecordCount <= 0 Then
If MsgBox("用户名或密码错误!!请重试!!", vbInformation, gTitle) = vbOK Then
LoginSucceeded = True
gLoginGrade = 0
Me.Hide
End If
Else
LoginSucceeded = True
gLoginGrade = 1
Me.Hide
End If
4.4 员工信息管理的实现
虽然员工管理在考勤系统中并不如人事管理系统中重要,但是在这里基本的信息还是必要的,系统中所有功能是围绕员工展开的,如IC卡的管理,人员考勤查询等等。
这里列举部分关于人员管理的程序,以便大家了解系统的实现过程。
员工管理界面如图11所示。
图11 员工管理界面
以下是员工管理的部分代码:
Public Sub cmdEdit_Click(Index As Integer) ‘员工管理按钮的编辑
Dim strTmp As String
Select Case Index
Case gCMDAPPEND ‘添加按钮编辑
//…代码省略…//
Case gCMDSA VE ‘保存按钮编辑
//…代码省略…//
Case gCMDEDIT ‘修改按钮编辑
//…代码省略…//
Case gCMDDELETE ‘删除按钮编辑
//…代码省略…//
Case gCMDQUERY ‘查询按钮编辑
//…代码省略…//
Case gCMDRETURN ‘返回按钮编辑
Unload Me
End Select
End Sub
为了编程方便,也为了使代码简洁、易懂,本系统把系统中相关的按钮组成控件数组;为了系统界面简练、大方,不杂乱无章,系统把按钮设臵成双向按钮,比如添加按钮,当点击添加按钮时,按钮的标题(caption)由“添加”变为“取消”。
图10是当添加按钮被点击时的状态。
添加员工信息时,添加按钮变成取消按钮,保存按钮被激活,编辑区(文本框部分)呈可编辑状态,修改、删除、查询等按钮处在失活状态;当用户点击员工表的某条记录时,修改、删除、查询按钮被激活,当点击修改按钮时,修改按钮变成还原按钮,同时编辑区被激活,表中记录的信息被显示在编辑区,删除、查询按钮失活。
员工管理系模块中,管理员可以对员工持卡情况进行管理,如缺卡、丢失、有卡等等。
4.5 报表功能的实现
报表功能在本系统中可以说是最关键的。
考勤系统之所以能够支持管理者的决策,是因为他能够及时地给管理者提供员工的考勤报表,使管理者能够及时准确地分析出公司员工的工作情况和工作态度,并能够及时地对员工做出正确的领导管理,从而促进员工的工作积极性,提高工作效率。
本系统主要实现了日常动态考勤报表,打卡流水报表,考勤明细报表,考勤月报表的报表功能。
报表功能主要分为两个部分:一、查询,二、打印。
1)日考勤动态报表的查询功能的实现:
Private Sub FindFlow()
//…代码省略…//
On Error GoTo FindErr
//…代码省略…//
If optSel(mNOTCARD).Value Then
//…代码省略…//
If intDept <> gMAXITEM Then
//…代码省略…//
If Rst.RecordCount > 0 Then
Do While Not Rst.EOF
//…代码省略…//
FindErr:
//…代码省略…//
End Sub
2)日动态考勤报表的打印功能的实现:
Private Sub PrintFlow(objPrint As Printer)
//…代码省略…//
With objPrint
//…代码省略…//
With msfGrid
//…代码省略…//
End With
//…代码省略…// PrintErr:
//…代码省略…//
End Sub
第五章总结
本系统从需求分析到系统实现完全依照软件工程中《计算机软开发规范》规定的软件生存周期实现,符合软件工程学原理。
本文论述了多终端考勤系统的设计开发实现过程,介绍了软件系统的组成,讨论了IC卡技术,了解了考勤机以及他的种类和优缺点。
该考勤系统能准确反映出某天或者某月的个人、部门或者整个单位的考勤状况,避免以往手工统计的烦琐工作,从而为管理人员提供准确的考勤数据,大大节约管理成本,减少了不必要的劳动力。
这对企业实现人事管理现代化、规范化具有重要的意义,为人力资源开发,职工的绩效考核提供重要的参考依据。
但是本系统依然存在许多功能仍需完善,比如:1)目前系统IC卡仅是作为员工考勤的工具。
但是,除此之外,它还能兼作员工医疗卡、社保卡、交通卡等等。
所以本系统还没真正实现“一卡通”。
2)界面还需美化,目前的界面还不能称为赏心悦目。
3)系统的查询功能还不够完善,个人查询功能还不能很好的实现。
4)系统扩充功能还需进一步加强实现。
以上问题都有待进一步的改善,在以后通过维护和更新工作来完成。
此外,因为没有足够的设备(考勤机、读卡器等),系统还不能真正投入使用,相信具备了这些设备之后稍做改变,就可以使用。
致谢
2005年5月
参考文献
[1] 求是科技,张立科.SQL Server 2000 数据库开发技术与工程实践.北京:人民邮电出版社,2004
年6月。
[2] 鲁荣江,王立丰.Visual Basic 项目案例导航.北京:科学出版社,2002年6月。
[3] 甘仞初,颜志军,杜晖,龙虹.信息系统分析与设计.北京:高等教育出版社,2003年6月。
[4] 京辉热点工作室.Visual Basic 6.0 中文版编程指南.北京:人民邮电出版社,1999年9月。
[5] 陈立航.Access 2000 命令与实例.北京:清华大学出版社,1999年6月。
[6] Curtis Smith,Michael Amundsen.Visual Basic 6.0 数据库编程【M】。
北京:清华大学出版社,
1999。
[7] Sha Lu, Yong Hu, Matthew O’Hara,et al.Air Bearing Design.Optimization,Stability
Analysis and Verification for Sub-25nm Flying[J].IEEE Trans.Magn,1996,32(1):103-109。
[8] 朱祥贤.射频IC卡考勤系统的设计与开发./.2002年2月。
[9] 尚春明,陈勇.建设事业IC卡技术应用研究. /ic/。
[10] 国家金卡工程协调领导小组.《全国IC卡应用总体规划》.2001年12月。
[11] Service.怎样选购考勤机. / . 2004年11月29。
[12] 吴洁明,袁山龙.软件工程应用实践教程. 北京:清华大学出版社,2003年8月。
[13] K one.Dynamic Characteristics of Air-Lubricated Slider Bearing for Noncintact Magnetic
Recording[J].J of Lubric Tech Trans ASME,1975,4:250-260.。