指纹考勤系统管理软件毕业设计中期报告.docx
- 文档编号:4275977
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:19
- 大小:537.66KB
指纹考勤系统管理软件毕业设计中期报告.docx
《指纹考勤系统管理软件毕业设计中期报告.docx》由会员分享,可在线阅读,更多相关《指纹考勤系统管理软件毕业设计中期报告.docx(19页珍藏版)》请在冰豆网上搜索。
指纹考勤系统管理软件毕业设计中期报告
毕业设计(论文)
中期报告
题目名称:
基于Cortex-M3的指纹考勤系统上位机管理软件的设计
院系名称:
班级:
学号:
学生姓名:
指导教师:
2013年5月
第一章、课题介绍
指纹考勤系统的设计与实现是应用指纹识别技术和单片机控制以及上位机管理软件综合开发的一个课题。
下位机是用STM32单片机和指纹头进行指纹的处理和识别,考勤数据定期通过232串口发送到上位机。
上位机时用MicrosoftVisualBasic6.0中文版和SQLServer2005进行开发设计的,主要功能有公司,部门,员工等的信息查询与设置,考勤管理规则的设置以及考勤报表的统计。
1.1考勤技术概述
目前使用的考勤方式有人工考勤和系统考勤,人工考勤显然已无法满足大型单位的要求。
而现有考勤系统主要为刷卡的方式,而磁卡需要员工携带,易于遗失,而且,此方式难以杜绝代人考勤等舞弊现象。
因此,传统的考勤方式已逐渐不再满足现代化管理的要求。
指纹作为人的一种生物特征,具有惟一性和不变性,可以用于人的身份认证。
将指纹识别技术用于单位考勤,可以有效地解决上述考勤问题。
现在越来越多的科学研究者和技术开发人员致力于这个领域,取得了较为显著的成绩,但仍然存在着不足,系统通用性不好,造价昂贵。
现在企、事业管理的一项重要组成部分就是其人事考勤制度,它的好坏直接影响到单位的经济、社会效益以及员工的薪资等诸多方面。
因此,对单位员工的出勤情况进行有效、科学地管理已经成为每个单位面临的重要课题。
传统的考勤方式如手工签到、打卡钟、IC卡或磁卡考勤方式,经常出现代打卡现象。
即便采用人工干预方式,但由于受到技术手段本身的限制,这就决定了传统考勤方式是一种低效率、难管理、易假冒、高人情的不科学管理手段,因此考勤管理起不到较好的效果。
随着生物技术的发展,尤其是随着指纹识别技术发展的相对成熟,该项技术也被逐步应用到身份识别其中就包括指纹考勤等领域。
指纹的最大优势就在于其不可替代性,并且相对固定、不易发生改变,通过分析指纹特征点,获得的信息就足以可靠地确认一个人的身份。
指纹考勤系统利用指纹识别技术,并集成先进计算机考勤管理软件。
单位员工不必保管和携带各种证件(如纸卡或IC卡等),只要轻轻一按手指就可自动记录员工的考勤情况。
管理人员可随时通过管理系统轻松打印人事考勤报表,财务部门根据考勤数据进行处理,轻松输出薪资报表,从考勤到工资管理全部电脑化,保证了企业考勤管理的公证性、严肃性、纪律性。
实现人、地、时三者合一,从而去除了虚假考勤,提高了考勤效率。
1.2开发工具介绍
1.2.1MicrosoftVisualBasic6.0介绍
VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
VisualBasic6.0作为VisualStudio6.0的一员发布,证明微软正在改变VisualBasic的产品定位,他想让VisualBasic成为企业级快速开发的利器。
VisualBasic6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。
数据环境和新的报表功能也让数据开发有了全新的体验。
1.2.1.1可视化编程
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中修改。
有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。
VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
1.2.1.2结构化程序设计语言
VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。
在设计VisualBasic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。
1.2.1.3事件驱动编程机制
VisualBasic通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用VisualBasic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。
这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
1.2.1.4访问数据库
VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。
同时,VisualBasic还能直接编辑和访问其他外部数据库,如DBASE,FoxPro,Paradox等,这些数据库格式都可以用VisualBasic编辑和处理。
VisualBasic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。
在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
1.2.1.5ADO技术简介
微软公司的ADO(ActiveXDataObjects)是一个用于存取数据源的COM组件。
它提供了编程语言和统一数据访问方式OLEDB的一个中间层。
允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。
访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。
ADO被设计来继承微软早期的数据访问对象层,包括RDO(RemoteDataObjects)和DAO(DataAccessObjects)。
以前的对象模型,如DAO和RDO是层次型的。
也就是说一个较低的数据对象如Recordset是几个较高层次的对象,如Environment和QueryDef,的子对象。
在创建一个QueryDef对象的实例之前,你不能创建DAORecordset对象的实例。
但ADO却不同,它定义了一组平面型顶级对象.
最重要的三个ADO对象是Connection,Recordset和Command.本文将主要介绍Connection和Recordset这两个对象。
每个Connection的属性定义了与数据源的连接。
Recordset对象接收来自数据源的数据。
Recordset可以与Connection一起起使用,先建立一个连接,然后获取数据。
尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。
1.2.2MicrosoftSQLServer2005介绍
MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
MicrosoftSQLServer2005的10个特点:
特点
描述
.NET框架主机
使用SQLServer2005,开发人员通过使用相似的语言,例如微软的VisualC#.NET和微软的VisualBasic,将能够创立数据库对象。
开发人员还将能够建立两个新的对象——用户定义的类和集合。
XML技术
在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。
SQLServer2005将会自身支持存储和查询可扩展标记语言文件。
ADO.NET2.0版本
从对SQL类的新的支持,到多活动结果集(MARS),SQLServer2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。
增强的安全性
SQLServer2005中的新安全模式将用户和对象分开,提供fine-grainaccess存取、并允许对数据存取进行更大的控制。
另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。
Transact-SQL的增强性能
SQLServer2005为开发可升级的数据库应用软件,提供了新的语言功能。
这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等。
SQL服务中介
SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。
通告服务
通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。
在SQLServer2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQLServerManagementStudio。
Web服务
使用SQLServer2005,开发人员将能够在数据库层开发Web服务,将SQLServer当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。
报表服务
利用SQLServer2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。
全文搜索功能的增强
SQLSERVER2005将支持丰富的全文应用软件。
服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。
查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。
第二章、工作进展情况
2.1软件的功能分析及系统框图
设计本系统的主要目的是为企业减轻员工考勤方面的繁琐工作,减少不必要的劳动力,提高工作效率,实现企业考勤的规范化、自动化、快速化。
本系统主要分系统管理、人事资料、考勤管理、统计报表四个模块。
其系统框图如图2-1所示。
图2-1指纹考勤软件系统框图
(1)、系统管理包括清除过期数据、修改密码、添加用户、删除用户四个功能。
只有以管理员身份登录系统才能进行系统管理模块的操作。
(2)、人事资料模块包括公司信息设置、部门信息设置、员工信息设置、员工工种设置、员工宿舍设置,可分别对公司、部门、员工、工种、宿舍进行查看,修改和删除的操作。
(3)、考勤管理包括上下班时间设置、考勤规则设置、请假登记、出差登记、手工补录功能,上下班时间设置对应三种班制类别,第一种是一天两次上班刷卡,两次下班刷卡,第二种是一天一次上班刷卡,一次下班刷卡,第三种是夜班,一次上班刷卡,一次下班刷卡。
考勤规则设置用来设置早退,迟到,加班等的判断标准。
手工补录用来处理因特殊原因造成的考勤机没用录上的上下班记录。
(4)、统计报表模块包括员工出勤表、部门日出勤表、部门月出勤表、公司日出勤表。
可以根据不同的条件进行查询,如日期、部门、是否迟到等。
2.2数据库设计
本系统采用MicrosoftSQLServer2005数据库进行设计开发。
基于系统的功能要求,需要建立以下几个数据表:
用户表、公司表、部门表、员工表、职务表、工种表、宿舍表、请假表、出差表、补录表、上下班时间表、考勤规则表、考勤日报表。
以下将做详细介绍。
(1)、用户表
用户表包括用户名、密码、用户级别等字段,具体设置如表2-1。
表2-1用户表
(2)、公司表
公司表包括公司中文名称、公司英文名称、公司地址、公司电话、公司传真、公司负责人等字段,具体设置如表2-2。
表2-2公司表
(3)、部门表
部门表包括部门号、部门名、上级部门号、负责人等字段,具体设置如表2-3。
表2-3部门表
(4)、员工表
员工表包括工号、姓名、性别、年龄、民族、籍贯、部门号等字段,具体设置如表2-4。
表2-4员工表
(5)、职务表
职务表包括职务号、职务名等字段,具体设置如表2-5。
表2-5员工表
(6)、工种表
工种表包括工种号、工种名等字段,具体设置如表2-6。
表2-6工种表
(7)、宿舍表
宿舍表包括宿舍号、宿舍名等字段,具体设置如表2-7。
表2-7宿舍表
(8)、请假表
请假表包括工号、请假原因、起始日期、终止日期等字段,具体设置如表2-8。
表2-8请假表
(9)、出差表
出差表包括工号、出差原因、起始日期、终止日期等字段,具体设置如表2-9。
表2-9出差表
(10)、补录表
补录表包括工号、姓名、补录时间、补录说明等字段,具体设置如表2-10。
表2-10补录表
(11)、上下班时间表
上下班时间表包括DTP1s、DTP1x、DTP2ss、DTP2sx等字段,具体设置如表2-11。
表2-11上下班时间表
(12)、考勤规则表
考勤规则表包括c1、c2、z1、z2、j1等字段,具体设置如表2-12。
表2-12考勤规则表
(13)、考勤日报表
考勤规则表包括工号、姓名、部门、班次类别、日期、上班1、下班1、上班2、下班2、迟到分钟、早退分钟、请假小时、备注等字段,具体设置如表2-13。
表2-13考勤日报表
2.3VB与SQLServer的连接
企业的考勤管理离不开数据库技术,数据库也是本系统的核心,本系统采用字符串进行数据库的连接,具体实现代码如下:
DimobjCnctAsNewConnection'定义并实例化连接对象
WithobjCnct'建立数据库连接
.Provider="SQLOLEDB"
.ConnectionString="UserID=sa;PWD=yi;DataSource=(local);"&_"InitialCatalog=公司考勤管理"
.Open
EndWith
2.4软件设计
指纹考勤管理软件目前已完成主界面、登陆界面、用户管理界面、考勤管理界面、统计报表界面等界面的设计以及相应的数据库连接信息查询与设置、报表统计等工作。
2.4.1主界面设计
下图2-2为指纹考勤软件主界面,由菜单栏、工具栏、状态栏以及MicrosoftOfficeOutlook2003风格的侧边菜单组成,软件界面清晰简约,简单实用,容易操作。
图2-2指纹考勤软件主界面
2.4.2登陆界面的设计
软件的启动对象时SubMain过程,同时启动主界面和登陆界面,代码在公共模块中实现,代码如下:
Submain()
frmmain.Show
frmLogin.Show
EndSub
图2-3为登陆界面,分为普通用户登录和管理员登陆。
图2-3指纹考勤软件登陆界面
登陆界面实现的部分主要代码如下:
PrivateSubcmdOK_Click()
'用户名是否为空
IfTrim(txtName)=""Then
MsgBox"请输入用户名!
",vbExclamation,"验证登录"
txtName=""
txtName.SetFocus
ExitSub
EndIf
'登录密码是否为空
IfTrim(txtPswd)=""Then
MsgBox"请输入登录密码!
",vbExclamation,"验证登录"
txtPswd=""
txtPswd.SetFocus
ExitSub
EndIf
StaticintTimesAsInteger'使用静态常量intTimes保存尝试登录次数
intTimes=intTimes+1
IfintTimes>MaxTimesThen
MsgBox"已超过尝试登录次数!
"&vbCr_
&"退出系统!
",vbCritical,"验证登录"
End
EndIf
'根据用户身份创建用于检验用户名和密码的合法性的Recorset对象
DimobjLoginRcdAsNewRecordset
DimstrPswdFldAsString
DimjibieAsInteger
jibie=CurrentUserIdentity
Ifjibie=0Then
SetobjLoginRcd=objAdmin.Clone
Else:
SetobjLoginRcd=objUser.Clone
EndIf
WithobjLoginRcd'检验用户名和密码的合法性
If.RecordCount>0Then
.MoveFirst
.Find"用户名='"&Trim(txtName)&"'"
strPswdFld="密码"
If.EOFThen
MsgBox"用户名错误!
",vbCritical,"验证登录"
txtName.SetFocus
txtName.SelStart=0
txtName.SelLength=Len(txtName)
ElseIf.Fields(strPswdFld)<>Trim(txtPswd)Then
MsgBox"密码错误!
",vbCritical,"验证登录"
txtPswd.SetFocus
txtPswd=""
Else
'保存当前用户信息
CurrentUserName=Trim(txtName)
CurrentUserPswd=Trim(txtPswd)
CurrentStatus=True
'显示用户登录成功信息
intTimes=0
MsgBox"欢迎进入指纹考勤管理系统!
",vbInformation,"登录成功"
UnloadMe
frmmain.Show
EndIf
EndIf
EndWith
SetobjLoginRcd=Nothing'释放objLoginRcd对象
EndSub
2.4.3人事资料界面的设计
人事资料模块分为公司信息设置、部门信息设置、员工信息设置、员工工种设置、员工宿舍设置五个界面,这几个界面相似,这里以部门信息设置界面为例进行说明。
图2-4指纹考勤软件部门信息设置界面
如上图2-4为部门信息设置界面,它有工具栏、交互区和一个datagrid组成,可对部门信息进行查询、添加、修改、删除等操作。
2.4.4考勤管理界面的设计
考勤管理模块包括上下班时间设置、考勤规则设置、请假登记、出差登记、手工补录五个窗体,图2-5和图2-6分别为上下班时间设置和考勤规则的界面。
图2-5指纹考勤软件上下班时间设置界面
图2-6指纹考勤软件考勤规则设置界面
2.4.5考勤报表界面的设计
考勤报表的统计分为员工报表、部门报表和公司报表。
员工报表是指某个时间段员工的出勤情况,部门报表是一个部门某一时间段的出勤汇总,公司报表是公司在某个时间段的总的出勤情况。
这些出勤报表都可以根据迟到、早退、请假、加班等异常情况进行筛选查询。
下图2-7是员工日报表的界面。
图2-7指纹考勤软件考勤日报表界面
第三章、存在问题及未完成部分
3.1存在问题
目前指纹考勤系统上位机部分已完成数据库的设计和软件主要部分的设计,主要存在以下问题:
(1)、软件在一台计算机上首次运行时,数据库连接的设置问题,需要通过怎么样的设置才能让软件正常运行,这是目前遇到的最大的一个问题;
(2)、在考勤报表的设计上,怎样才能让上下班时间表、考勤规则表、请假表等几张表联系起来,组成考勤报表。
3.2未完成部分
(1)、报表统计模块中员工月出勤表、部门日出勤表、公司日出勤表界面的设计以及该模块代码的具体实现;
(2)、考勤机与该管理软件的通信以及数据采集的实现。
第四章、计划安排
(1)、5月4日~5月9日,完成报表统计模块的界面设计与代码实现;
(2)、5月10日~5月15日,与做下位机的同学商议,制定通讯协议,并完成上位机与下位机的通讯与数据采集;
(3)、5月16日~5月20日,进行功能完善和调试;
(4)、5月21日~5月26日,毕业论文的撰写。
参考文献
[1]徐大诚,微型计算机控制技术及应用[M],高等教育出版社,2003年.
[2]李朝青,单片机原理及接口技术[M],北京航空航天大学出版社,2003年.
[3]康华光,电子技术基础数字部分(第五版)[M],2006年.
[4]康华光,电子技术基础模拟部分(第五版)[M],2006年.
[5]朱国华,VisualBasic程序设计[M],中国铁道出版社,2007年.
[6]郝安林,许勇,康会光,等,SQLServer2005基础教程与实验指导[M],清华大学出版社,2008年.
[7]奚建荣,基于局域网的指纹考勤系统的设计实现[B],自动化技术,2006.98-100.
[8]李亮,高校学生早锻炼指纹考勤数据分析系统的设计[A],长江大学学报,2011年,8(9):
70-72.
[9]钟海林,王宜怀,舒胜强,融合GPRS与嵌入式以太网技术的指纹考勤系统设计,计算机应用与软件,2011年,28(4):
27-29.
[10]杜海舟,张超,周平,等,基于指纹识别技术的高校学生日常考勤系统[A],上海电力学院学报,2012年,28
(2):
163-166.
[11]KennethA.Reek,POINTERSONC[M],人
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指纹 考勤 系统管理 软件 毕业设计 中期 报告