




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Southwest university of science and technology 本科毕业设计(论文) 基于 WEB 结构的指纹考勤系统设计 学院名称信息工程学院专业名称通信工程学生姓名lxl学 号20105517指导教师 Lili 讲师 二一四年六月 西南科技大学本科生毕业论文 基于 WEB 结构的指纹考勤系统设计摘要:在信息技术快速发展的今天,因特网已经走入了人们的生活,并且已在人们的生活、学习和工作中发挥着越来越多的不可替代的作用。近年来随着软件工程技术、信息通信技术和传感器技术的快速发展以及计算机网络技术的日趋成熟,为了满足各大型企事业单位及组织机构的人事考勤的需求,指纹
2、考勤系统应运而生。为了加强管理,许多公司希望在其办公区域使用指纹识别技术对员工进行考勤。在众多的用于身份验证的生物识别技术中,将指纹识别技术运用到人事考勤上面是目前最方便、可靠、非侵害和价格便宜的解决方案。指纹识别在识别技术中有着悠久的历史,这种技术通过分析指纹的全局特征和局部特征,从指纹中抽取的特征值,可以可靠地确认一个人的身份。通过英特网查询考勤信息,方便快捷,不受地域限制,是目前较为先进的考勤方式。 关键词:指纹考勤;可靠性;实用性西南科技大学本科生毕业论文 Fingerprint attendance system designAbstract: With the rapid deve
3、lopment of information technology today, the Internet has entered peoples life, and in peoples life, study and work plays a more and more irreplaceable role. In recent years, with the rapid development of software engineering technology, information communication technology and sensor technology and
4、 computer network technology matures, in order to meet the needs of large enterprises and institutions and organizations of personnel attendance requirements emerge as the times require, fingerprint attendance system. In order to strengthen the management, many companies hope in the office area usin
5、g the fingerprint identification technology for staff attendance. In biological recognition technology for authentication of many, the fingerprint identification technology is applied to the personnel attendance above is the most convenient, reliable, non infringement and cheap solution. Fingerprint
6、 identification has a long history in the recognition technology, this technology through the global features and local features of fingerprint, feature extraction from fingerprint value, can reliably confirm a persons identity. Through the Internet for attendance information, convenient, not subjec
7、t to geographical restrictions, is an advanced way of attendance.Key words: Fingerprint attendance, Reliability, practical西南科技大学本科生毕业论文 目 录第 1 章绪 论.11.1 研究背景.11.2 网络指纹考勤系统的特点及存在的问题.11.3 研究目的和意义.21.4 国内外研究现状.21.5 论文章节安排.3第 2 章总体方案设计.42.1 设计内容及功能需求分析.42.2 总体方案设计.42.2.1方案一:采用 C/S+B/S 模式架构.42.2.2方案二:采用
8、C/S 的模式架构.52.2.3方案三:采用无线网络+B/S 架构.62.2.4方案对比分析与实施方案选择.72.2.5系统功能模块分析.82.3 总结.14第 3 章系统软件设计.153.1 网络指纹考勤终端与串口通信.153.1.1编程语言和软件选择.153.1.2程序流程图.163.1.3程序设计.173.2 数据库模块设计.233.2.1数据库设计软件.233.2.2数据库设计.233.3 网络页面模块设计.243.3.1编程语言和软件选择.243.3.2程序流程图.243.3.3程序设计.25西南科技大学本科生毕业论文 3.4 系统调试.273.4.1指纹考勤系统终端界面.273.4
9、.2启动考勤服务界面.273.4.3管理员删除记录界面.283.4.4管理员增加记录界面.293.4.5考勤信息查询界面.293.4.6考勤信息导出界面.303.4.7网站部署页面.303.4.8网站首页.303.4.9管理员查询页面.313.4.10员工查询页面.313.4.11员工查询结果页面.323.5 相关问题及解决方法.323.5.1硬件部分.323.5.2软件部分.333.6 总结.33结 论.34致 谢.35参考文献.36 西南科技大学本科生毕业论文1第 1 章 绪 论1.1 研究背景现代企事业单位管理的一项重要任务,就是其人事考勤,它执行的好坏直接影响单位的经济、社会的效益以及
10、员工的薪资等诸多方面。因此,对单位员工的出勤情况进行有效地、科学地管理已经成为每个单位面临的重要课题。传统的考勤方式,如手工签到、打卡钟、IC 卡或磁卡等,经常出现代打卡、打卡出错或误读卡之类的现象。即便采用人工干预的方式,但由于受到技术手段本身的限制,同样也无法改变传统考勤方式是一种效率底下、管理艰难、假冒畅行、人情成分占主导因素的不科学管理手段的事实。随着生物技术的发展,尤其是随着指纹识别技术的相对成熟,该项技术也被逐步应用到身份识别及验证,其中就包括指纹考勤、警方犯罪嫌疑人确定等领域。指纹的最大特点在于其不可代替性,每个人十只手指的指纹都是截然不同的,并且指纹相对固定、不易发生改变,通过
11、分析、鉴定指纹等特征点,获得的信息就足以准确无误地确认一个人的身份。指纹考勤系统采用 B/S 模式架构、指纹识别技术,并集成先进计算机考勤管理软件,使得各企事业单位的员工与管理人员不必再保管或者携带任何证件,只要轻轻一按指纹就可自动记录和生成员工的考勤状况。与此同时,员工可以随时随地的通过网络轻松地查询考勤信息。管理人员不仅可以查询到所有员工的考勤信息,还可以添加和删除员工的信息。财务部门也可以根据考勤数据进行处理,从而轻松准确地得到薪资报表。从考勤到工资、人事管理的全网络化,保证了企事业单位考勤管理的公正性、严肃性、纪律性。更好地实现人、地、时三者合一,从而去除了虚假考勤,提高了考勤效率。1
12、.2 网络指纹考勤系统的特点及存在的问题当前世界上各企事业单位所采用的人事考勤系统多为人工签到、磁卡签到、指纹考勤等。以上提及的签到方式虽然可以基本满足企事业单位对人事考勤签到的需求,但是同时存在很多的弊端。人工签到无法避免员工间相互代替签到考勤的情况,而且人工考勤效率很低,且人事部门的工作人员因为要逐个辨认员工的签名,使得西南科技大学本科生毕业论文2人事部门人员的工作量大大增加。磁卡签到同样也无法避免员工间相互代替带卡签到的情况,并且磁卡本身很容易被消磁或者丢失。如果遇到磁卡消磁或者丢失的情况,就需要重新补办磁卡,那么这就会增加企事业单位在人事考勤上的支出。所以目前被大量企事业单位采用的签到
13、方式都存在着很大的弊端。而现有的指纹考勤系统又仅限于现场 PC+指纹识别模块来完成,并不具有 WEB 服务功能,不便于随时随地进行管理,其传输距离限制了该系统的广泛应用。与传统的考勤系统相比,采用网络指纹识别技术的考勤方式具有以下无可厚非的优点:(1)指纹本身具有唯一性、稳定性、易采集等特点;(2)将指纹读入对比引入考勤管理,可以有效地避免传统考勤系统管理中代替打卡、卡或密码丢失的问题;(3)指纹识别技术是目前国际公认的应用最广泛、价格低廉、易用性最高的生物认证技术;(4)查询考勤信息不再受到地理因素的限制;(5)考勤系统使用操作简单、方便; 网络指纹考勤系统同样存在着一些不足。如果在一些不通
14、网络的地方,该系统的优越性将大打折扣。数据的查询、统计只能依靠管理员从数据库中直接读取。面对大量的考勤数据,要想查询特定人员的考勤信息或者进行数据统计,操作就会较为繁琐。1.3 研究目的和意义网络指纹考勤技术可以很好的改善传统考勤方式带来的不便,大幅提升考勤效率。而基于 B/S 的访问方式,又可以方便用户的访问。同时指纹考勤能够有效避免人为因素对考勤结果造成的影响,可以准确记录员工的考勤信息。员工也可以通过浏览器方便核实考勤情况,达到公开透明的考勤效果。相对于大型企业或组织更是能带来整体管理素质的大幅提升,并且整个系统开发成本较低,维护方便,因此具有广泛的应用前景。1.4 国内外研究现状根据国
15、外公司统计,到 2005 年为止世界上的生物识别技术占得市场份额大致为30 亿美元,而从 2005 年开始,生物识别技术的发展呈直线的上升趋势,此技术的西南科技大学本科生毕业论文3年增长率都在 80%以上。在全球范围内,2005 年生物识别技术所占的市场份额在 39%左右,也就是在 9 亿美元左右。目前国际上相对来较为出名的自动指纹识别系统生产商主要包括韩国 Superma、加拿大 Bioscypt、美国 Motorola、Cogent 和日本 NEC 等等。目前国内的指纹识别厂商主要包括北京的汉王科技、北中控、高科、广东的粤安、先青松、长春方圆等等。中国的公安部也已经推出了带有指纹识别系统的
16、金盾工程,将投入数亿元的启动资金,重点支持发展人口城市及其派出所信息系统、指纹自动识别系统工程设计。具国内业内人士推测,中国会在近几年迅速成为此项生物识别系统的新新发展国。在国外从事指纹识别研究的科研机构和学校比较多,其中较为著名的有美国国家标准局视觉处理研究组、IBM 沃特森研究中心、加州理工学院、华盛顿大学圣路易斯分校等等。我国从事指纹识别研究的科研机构及搞笑包括中科院自动化研究所、北京大学信息中心、清华自动化系、北京邮电大学等等。尽管指纹识别技术在研究和应用上都有了很大的发展,但是指纹识别的准确性和识别速度还不能满足很多实际现实应用的要求,因此指纹识别技术还没有得到更为广泛的应用。1.5
17、 论文章节安排第一章,绪论。本章节主要引入选题背景及国内外研究现状。第二章,总体方案设计。本章节详细讨论了软、硬件的设计框架及制作思路。第三章,系统软件设计。本章节详细给出了软件功能模块的具体实现过程及关键函数,最后给出了软件的调试截图及功能说明。西南科技大学本科生毕业论文4第 2 章 总体方案设计2.1 设计内容及功能需求分析为了弥补现代企事业单位所采用考勤系统的不足,本设计决定基于已有的指纹考勤模块设计一个基于 WEB 的指纹考勤系统。该系统使得用户、管理员可以通过Web 网络页面查询到本人、所有员工的考勤信息,让信息的查询不再受地域条件的限制。PC 应用软件作为指纹信息的接收端,需要具备
18、接收、处理指纹信息的能力。同时应该具备对考勤信息进行数据库存储,数据整理、导出等功能。任何一款应用软件都不可忽视它的外观,外观的质量直接影响用户的体验。因此在进行界面设计时,应该力求简洁、大方。整个设计需要完成如下几点功能:(1)指纹信息采集。(2)考勤信息记录。(3)考勤信息查询。(4)人员信息管理。(5)数据报表导出。(6)网页数据查看。基于本课题所需功能,需要进行如下几方面工作: PC 应用软件设计,Web 网页设计,数据库设计。2.2 总体方案设计2.2.1 方案一:采用 C/S+B/S 模式架构所有方案均选用 C#语言,Visual Studio 2008 开发平台,Microsof
19、t Office 2003Access 数据库。图 2-1 为方案一的系统框架示意图。西南科技大学本科生毕业论文5图图 2-1 方案一框架图方案一框架图按照此方案完成本次设计,需完成四个模块的设计:串口通信开发、数据库开发、Web 网络页面开发,以及指纹考勤客户端应用软件开发。PC 应用软件同时充当指纹考勤系统的客户终端以及服务器,PC 通过有线串口通信模块与指纹采集模块连接。由于 PC 串口是 RS232 电平,而指纹考勤模块采用 TTL 电平,所以 此时还需要进行电平的转换,即在 PC 和指纹考勤模块间增加电平转换电路MAX232 电平转换电路(详见图 2-4)。 串口通信部分主要是为了传
20、递指纹考勤模块与 PC 应用软件间的数据信息。 数据库部分主要是存储员工指纹、身份信息以及考勤签到的时间。可以按照员工拥有的独立且唯一的数据表通过工号或者考勤签到时间对数据进行方便、有效地管理。 Web 网络页面的使用解决了员工以及管理人员再也无须受到地域网络的限制,可以在任何时间、任何地方通过网络对自己或他人的考勤信息情况进行查询。 指纹考勤应用软件主要将指纹采集模块采集到的考勤信息进行识别、处理。完成串口的开关以及波特率的配置。同时还可以利用管理员身份增加或删除数据库中员工的基本信息和指纹考勤信息。2.2.2 方案二:采用 C/S 的模式架构为了按照此方案完成本课题的设计与开发,所需工作可
21、以分为四大模块:C/S 部分的 Socket 通信、数据库开发、客户端应用程序开发以及 Web 网络页面的开发。指纹考勤模块通过串口与 PC 相连。图 2-2 为方案二的系统框架示意图。西南科技大学本科生毕业论文6图图 2-2 方案二框架图方案二框架图C/S Socket 的开发即是利用 PC 同时充当指纹考勤系统的客户终端、C/S 服务器以及 Web 服务器,并且通过 Socket 让指纹考勤模块与 PC 分别以客户端和服务器端的身份相连接。当充当客户端的指纹考勤模块的 Socket 对服务器端(即 PC)的Socket 提出连接请求时,只需指出 PC 服务器端事先分配好的 Socket 地
22、址和端口号,并向 PC 服务器端 Socket 提出连接请求。而服务器此时是处于等待连接的状态,实时地监控网络状态。只要 PC 服务器端 Socket 监听到或者接收到指纹考勤模块客户端 Socket 的连接请求,即刻建立一个新的线程来作为对指纹考勤模块客户端的相应,并把 PC 服务器端 Socket 的描述发给指纹考勤模块客户端,一旦指纹考勤模块确认了此描述,即可完成建立指纹考勤模块与 PC 端的通信。由于 C/S 模式架构是需要在不同的客户终端安装应用程序,用户通过各自终端上的应用程序来访问考勤签到的结果。所以为了满足不同版本的客户终端系统,客户端应用程序需要开发几个主流的系统版本,例如
23、Windows、iOS、Android 等等。数据库主要用于对员工指纹、身份信息以及考勤信息状态的存储。每个员工都有自己对应且唯一的一张表来存储个人相关信息,可以达到方便、有效地管理。2.2.3 方案三:采用无线网络+B/S 架构为了完成本课题的功能要求,本方案需要设计开发服务器端、数据库、B/S 网页通信,以及无线数据通信。图 2-3 为方案三的结构图。西南科技大学本科生毕业论文7图图 2-3 方案三框架图方案三框架图由于连接指纹考勤模块的服务器端只提供指纹考勤信息从指纹考勤模块到数据库的传输,为了满足客户通过浏览器也能查询到指纹考勤的签到信息,故需要第二个服务器端来完成此工作。指纹考勤模块
24、跟服务器端是通过 TCP/IP Socket 网络相连接,所以还需要开发设计 Socket 通信。通过这样的开发与设计,指纹考勤模块和服务器将不再受到地域的限制,并且还可以一对多的设置多个指纹考勤模块同时使用,这样就大大的解决了一些大的企事业单位,每次因为员工众多出现拥挤考勤签到的现象。2.2.4 方案对比分析与实施方案选择方案二利用 C/S 模式架构需要开发多种版本的客户端应用程序,并且每个客户端应用程序都需要解决其与服务器端的兼容性问题,此方案实用性不高。方案三虽然因为其指纹考勤模块和服务器端将不再受到地域的限制,但是又增加了 Socket 通信开发的任务,而且还涉及到两个服务器端的开发,
25、大大的增加了开发工作量经过多方面考虑与调研,最后使用方案一为本课题的最终总体设计方案。指纹考勤模块通过串口与 PC/服务器端相连;PC/服务器端采用 Visual Studio 2008 平台开发,数据库采用 Access 开发。PC/服务器调用系统中的数据库,将指纹考勤签到信息写入到数据库中;Web 网络页面同样通过 Visual Studio 平台开发设计,由于员工和管理人员需要通过 Web 网络页面对指纹考勤签到信息进行查询,所以同西南科技大学本科生毕业论文8样需要调用数据库中数据,但此处的调用只提供查看功能而无写入修改的功能。所以通过各个模块的开发并且各模块间的调用连接,即可完成本课题
26、的设计功能要求。2.2.5 系统功能模块分析(1) 指纹考勤模块指纹考勤模块用于采集员工的指纹,允许采集用户左手和右手十只手指的任何一只,并确认其作为考勤指纹。当指纹考勤模块上的指纹感应器感应到有指纹录入时,首先将此指纹与指纹模块的指纹存储库中指纹信息作对比。如果在存储库中找到此指纹的存储信息,即表明此指纹为系统数据库中的已有数据;如果在存储库中并未找到相关指纹的任何信息,那么即表示此指纹为需要录入的新信息。本课题使用 FPM10A 指纹考勤模块,使用标准的串口与外界通信,默认的波特率为 57600bps,可以与任何单片机、ARM、DSP 等带串口的设备进行连接。但是由于此款指纹模块是使用 T
27、TL 逻辑电平,而 PC 是采用 RS-232 电平,所以需要用MAX-232 电平转换电路将指纹考勤模块与 PC 相连,才可以保证硬件的正常使用。模块的主要技术指标如表 2-1:表表 2-1 技术指标技术指标名称描述名称描述供电电压DC 3.6-6.0认假率0.001% (安全等级为 3)供电电流100m(典型值)搜索时间1.0s(1:1000 时均值)峰值电流150mA环境温度-20+40(工作环境温度)录图时间0.5s环境湿度85%(无凝霜)窗口面积14*18mm上位机接口UART(TTL 逻辑电平)匹配方式1:1波特率默认 57600bps搜索方式1:N外形尺寸56*20*21.5特征
28、文件256 字节安全等级五级(从低到高:1、2、3、4、5)模板文件512 字节存储容量120/375/880 枚模块系统资源有用户记事本、缓冲区、指纹库。西南科技大学本科生毕业论文9用户记事本:模块在 FLASH 中开辟了一个 512 字节的存储区域开放给上位机使用,作为用户记事本。用户可将自己需要断电保护的数据存储在该空间指定页面或读出制定的内容。缓冲区:模块 RAM 内设有一个图像缓冲区 ImageBuffer 与两个 512bytes 大小的特征文件缓冲区 CharBuffer1 和 CharBuffer2.用户可以通过指令读写任意一个缓冲区。图像缓冲区和两个特征文件缓冲区的内容在模块
29、断电时不保存。指纹库:模块在 FLASH 中开辟了一段存储区域作为指纹模板存放区,即俗称指纹库。指纹库中的语句是断电保护的。指纹模板按照序号存放,若指纹库容量为N,则指纹模板在指纹库中的序号定义为:0、1、2N-2、N-1.用户之恩能够根据讯号方位指纹库内容。指纹考勤模块是以串行通信的方式与 PC 相连的。串行通信有五个引脚,见表2-2。表表 2-2 串行通信引脚串行通信引脚引脚号名称类型功能描述1VinIn电源正输入端(线色:红)2GNDGND串行数据输出 TTL 逻辑电平(线色:绿)3TXDOut串行数据输入 TTL 逻辑电平(线色:白)4RXDIn 信号地 内部与电源地连接(线色:黑)5
30、NC (一体式模块无此引脚)模块硬件连接如下:模块通过串行通信接口,可直接与采用 3.3V 或者 5V 电源的单片机进行通信:模块数据发送脚(2 脚 TD)接 PC 的数据接收端(RXD) ,模块数据接收脚(3 脚RD)接 PC 的数据发送端(TXD) 。因为 PC 为 RS-232 电平,而指纹考勤模块式TTL 电平,所以需要利用 MAX-232 电路进行电平转换。模块串行协议及上电延时时间:采用半双工异步串行通信。默认波特率为 57600bps,可通过命令设置为 9600115200bps。传送的帧格式为 10 位,一位 0 电平起始位,8 位数据(低位在前)西南科技大学本科生毕业论文10
31、和一位停止位,无校验位。模块上电后,约需 500ms 时间进行初始化工作。在此期间,模块不能响应上位机命令。模块电气参数如下:指纹考勤模块的所有电平均是以电源/信号地 GND 为参考电平,其电气参数、TXD 输出(TTL 逻辑电平)参数、RXD 输入(TTL 逻辑电平)参数见表 2-3、表 2-4、表 2-5。表表 2-3 电源输入电源输入参数设计最小典型最大单位备注电源电压 Vin3.66.0V正常工作值极限电压 Vinmax-0.37.0V超出此范围可能会造成永久性损坏工作电流 Icc90100110mA峰值电流 Ipeak150mA表表 2-4 TXD 输出输出参数设计条件最小典型最大单
32、位备注VOLIOL=-4mA0.4V逻辑 0VOHIOH=4mA2.43.3V逻辑 1表表 2-5 RXD 输入输入参数设计条件最小典型最大单位备注西南科技大学本科生毕业论文11VIL0.6V逻辑 0VIH2.4V逻辑 1VIH1mAIIHVIH30uAVImax-0.35.5V极限输入电压 FPM10A 指纹模块指令系统: FPM10A模块共有23 条指令。应用程序通过指令的不同组合,实现各种指纹识别功能。所有指令/数据的传输均以数据包的形式传递。包格式如下:包头地址码包标识包长度包内容(指令/数据/参数)校验和表表2-6 指令包说明指令包说明 名称 符号 长度 说 明 包头 Start2字
33、节固定为0 xEF01, 传送时高字节在前。地址码 ADDER4字节默认值为0 xFFFFFFFF, 用户可通过指令生成新地址。模块会拒绝地址错误的数据包。传送时高字节在前。01H表示是命令包(command packet)。02H表示是数据包(Data packet),且有后续包。数据包不能单独进入执行流程,必须跟在指令包或应答包后面。07H表示是应答包(ACK packet),可以有后续包。包标识 PID1字节08H表 示 是 最 后 一 个 数 据 包 , 即 结 束 包。包长度LENGTH2字节最大值为 256 字节;包长度指的是包内容(指令/数据)的长度加上。效验和的长度(即包内容长
34、度+2) 长度以字节。为单位,传送时高字节在前。包内容 DATA -可以是指令、数据、指令的参数、应答结果等。(指纹特西南科技大学本科生毕业论文12征值、指纹模板都是数据)。校验和 SUM2字节包标示、包长度和包内容的所有字节的算术累计和,超过2 字节的进位忽略。传送时高字节在前。向指纹模块发送指令后,模块会回发一个指令应答包,应答包的内容包括一个字节的确认码(必须有)和可能有的反回参数。下面给出部分应答确认码。(1)00h:表示指令执行完毕或 OK;(2)01h:表示数据包接收错误;(3)02h:表示传感器上没有手指;(4)03h:表示录入指纹图像失败;(5)06h:表示指纹图像太乱而生不成
35、特征;(6)07h:表示指纹图像正常,但特征点太少(或面积太小)而生不成特征;(7)08h:表示指纹不匹配;(8)09h:表示没搜索到指纹;(9)0Ah:表示特征合并失败;(10) 0Bh:表示访问指纹库时地址序号超出指纹库范围;(11) 0Ch:表示从指纹库读模板出错或无效;(12) 0Dh:表示上传特征失败;(13) 0Eh:表示模块不能接受后续数据包;(2) 串口通信模块为了使PC串口电平与指纹模块间电平相匹配,需要使用MAX232芯片进行电平转换,电路图如图2-4。其中TXD引脚和RXD引脚分别对接指纹模块TXD和RXD引脚。串口发送数据时,遵循一定的数据式,图2-3给出了串行数据的基
36、本格式。西南科技大学本科生毕业论文13图图 2-3 串行数据格式串行数据格式图图 2-4 Max232 电路图电路图(3) 系统管理软件在本课题中串口通信模块实际与客户端是相融合的。在客户端中既可以设置串口信息,比如串口号、波特率,也可以进行指纹的考勤和员工信息的修改与添加。客户端页面是面向所有用户的,它不仅可以作为人事签到考勤的一个签到客户端,还可以提供管理人员一个管理平台,通过此平台可以直接的管理指纹考勤终端和系统后台数据库中的员工指纹和身份信息。 并且因为客户端页面将串口通信的基本功能包含了进去,所以当指纹考勤模块与 PC 相连接后,可以检测到硬件是否连接正确。此应用软件通过 Visua
37、l Studio 2008 开发设计。(4) 数据库模块数据库模块是依照本课题的数据模型组织起来并存放指纹数据的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为本系统服务,其数据结构西南科技大学本科生毕业论文14独立于使用它的应用程序,对数据的增、减、改和检索统一进行管理和控制6。当有新的员工在考勤终端进行指纹录入和身份信息录入时,数据库应当自动地生成一张属于此员工的信息表,作为此员工未来考勤信息的记录表。本系统所采用的数据库是 Microsoft office access 2003。Microsoft office access 是有微软开发的关联式数据库管理系统。其体现在两
38、个方面:用来进行数据分析和开发软件。Access 有强大的数据处理、统计分析能力、利用 access 的查询功能,可以方便的进行各类汇总、平均等统计。并可灵活设计统计的条件。Access 也可以用来开发软件,比如生产管理、销售管理、库存管理等各类企事业管理软件。低成本的满足了企事业管理工作的人员的管理需求,通过软件来规范同事、下属的行为10。Access 数据库管理软件易于操作,便于数据的管理。数据库主要实现员工基本信息的存储,以及对人员考勤状况的更新记录。相对于大型公司,人员众多,就需要更大的内存空间对数据进行存储。内存技术的发展,为大量数据的存储提供了可能。同时应该严格设置该数据库的管理权
39、限,避免非管理人员对数据进行修改7。(5) 网络页面模块网络页面在本课题中的作用主要在于将员工的考勤状况更加直观与方便的呈现在需要查询考勤的人员面前。通过网络所有考勤的查询将不再受到地理条件等客观情况的限制。网络页面是与后台数据库直接相连接的。因此网络页面的设计是否合理直接关系到考勤状况的查询是否方便。Web 网络页面使用 Visual Studio 2008 平台通过 C#来编程设计。利用 B/S 模式实现此模块功能。Web 网络页面应该分为两个部分,其中包括员工登陆窗口和管理员登陆窗口,这样做的好处是可以最大程度保护员工的隐私。员工只能进行员工信息的读取操作,而不能对员工作息时间进行改动。
40、员工可以在任何地点通过浏览器请求访问该 Web 服务器,核对自己的考勤状况,避免错误的考勤。管理员有权限查看所有员工的任何一天的签到考勤状态,因此,更方便企事业单位的人事部门对员工签到情况的管理和统计。2.3 总结 综上,详尽讨论了设计需求及解决方案。语言的选择、方案的确定、方案的执行均作了详尽的分析说明,给软件的开发指明了道路。西南科技大学本科生毕业论文15 西南科技大学本科生毕业论文16第 3 章 系统软件设计3.1 网络指纹考勤终端与串口通信为了使指纹考勤终端使用简单,特将串口通信部分与考勤终端合并到一个窗口下。为了便于描述将网络指纹考勤终端分为四个部分:串口通信、显示、登陆和管理。串口
41、通信部分主要包含串口和波特率的选择、启动整个终端,以及检测串口开关是否成功。串口 COM1 至 COM6 的占用情况,可以通过右击“计算机”“管理”“设备性能管理”来查看。将指纹考勤硬件模块连接至 PC,当串口处于关闭状态时,串口的状态为红色方框;当串口处于打开状态且并未打开成功时,串口的状态依然为红色方框,同时一个提示串口未成功打开的窗口会弹出;当串口成功被打开时,串口的状态会由红色变为绿色。当指纹模块上的指纹探测孔探测都有指纹录入时,立刻将此指纹与指纹模块库中的指纹数据进行对比。如果在存储器中有这个指纹的信息,那么则直接找到数据库中对应的表格记录签到考勤的时间信息;如果系统并未在指纹模块存
42、储器中找到与此指纹相关信息,那么将通知后台数据库为此指纹建立一张新表,并存入员工相关信息。3.1.1 编程语言和软件选择本课题所采用的编程语言为 C#,采用的开发平台为 Visual Studio 2008。之所以选择 C#开发语言,主要是基于它如下几方面的特点。通用语言规范(Common Language Specification,CLS):.NET 系统包括如下语言:C#、C+、VB、J#,他们遵守通用语言规范。任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,由 CLR 负责执行。只要为其它操作系统编制相应的 CLR,中间语言代码也可在其它系统中运行。自动内存管理:CLR
43、 内建垃圾收集器,当变量实例的生命周期结束时,垃圾收集器负责收回不被使用的实例占用的内存空间。不必象 C 和 C+语言,用语句在堆中建立的实例,必须用语句释放实例占用的内存空间。也就是说,CLR 具有自动内西南科技大学本科生毕业论文17存管理功能。交叉语言处理:由于任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,不同语言设计的组件,可以互相通用,可以从其它语言定义的类派生出本语言的新类。由于中间语言代码由 CLR 负责执行,因此异常处理方法是一致的,这在调试一种语言调用另一种语言的子程序时,显得特别方便。增加安全:C#语言不支持指针,一切对内存的访问都必须通过对象的引用变量来实
44、现,只允许访问内存中允许访问的部分,这就防止病毒程序使用非法指针访问私有成员。也避免指针的误操作产生的错误。CLR 执行中间语言代码前,要对中间语言代码的安全性,完整性进行验证,防止病毒对中间语言代码的修改。版本支持:系统中的组件或动态联接库可能要升级,由于这些组件或动态联接库都要在注册表中注册,由此可能带来一系列问题,例如,安装新程序时自动安装新组件替换旧组件,有可能使某些必须使用旧组件才可以运行的程序,使用新组件运行不了。在.NET 中这些组件或动态联接库不必在注册表中注册,每个程序都可以使用自带的组件或动态联接库,只要把这些组件或动态联接库放到运行程序所在文件夹的子文件夹 bin 中,运
45、行程序就自动使用在 bin 文件夹中的组件或动态联接库。由于不需要在注册表中注册,软件的安装也变得容易了,一般将运行程序及库文件拷贝到指定文件夹中就可以了。完全面向对象:不象 C+语言,即支持面向过程程序设计,又支持面向对象程序设计,C#语言是完全面向对象的,在 C#中不再存在全局函数、全区变量,所有的函数、变量和常量都必须定义在类中,避免了命名冲突。C#语言不支持多重继承。3.1.2 程序流程图网络指纹考勤终端与串口通信的流程图见图 3-1。本模块的工作流程为首先设置串口号及波特率(根据指纹考勤模块参数可知,其波特率默认为 57600bps) 。然后开启服务即可开始指纹考勤工作。如果需要使用
46、管理员身份登录进行员工信息的添加与删除,首先需要关闭服务才可以进行这部分操作,然后选择添加或删除员工信息。西南科技大学本科生毕业论文18图图 3-1 应用软件程序流程图应用软件程序流程图3.1.3 程序设计(1) 串口发送数据指令串口发送命令时,需要将传入的字符串型参数转换成字节数组。例如指令 EF 01 FF FF FF FF 01 00 03 01 00 05,该指令为指纹录取指令,当发送完该条指令给指纹采集模块后,指纹采集模块便会读取位于指纹识别屏上所放的指纹信息,同时会返回一串执行结果信息给上位软件。我们便可根据返回信息确定指纹信息是否录入成功。数据的发送主要调用串口控件的内置写入函数
47、。部分代码如下: / / 串口发送指令 / / 字符串指令 / 主界面实例 public static void action(string command, FrmMain fm) 西南科技大学本科生毕业论文19 string tmpary = command.Trim().Split( ); byte buff = new bytetmpary.Length; for (int i = 0; i buff.Length; i+) buffi = Convert.ToByte(tmparyi, 16); fm.serialPort1.Write(buff, 0, buff.Length);
48、(2) 串口接收数据核心代码当上位机向指纹采集模块发送完指令后,采集模块会根据执行情况返回一串执行结果信息,我们便可以根据结果信息进行下一步操作。由于接收到的信息为字节数组,为了得到执行结果信息需要将字节数据转换成对应的字符串信息。需要注意的是在进行十六进制转化时,为了便于操作,每个字节用两位字符进行表示。下面仅仅给出字节转十六进制方法体。 / / 字节数组转化成字符串 / / 串口接收字节数组 / 结果字符串 public static string byte_ToString(byte bytes) int i = 0; string text = string.Empty; foreac
49、h (byte b in bytes) if (bytesi+ = 0 x0f) text = text + 0 + Convert.ToString(b, 16).ToUpper(); else text = text + Convert.ToString(b, 16).ToUpper(); i = 0; return text;(3) 串口配置主要需要配置串口号和波特率。这里串口号需要根据实际情况进行选取,其他配置基本固定。波特率选用 57600bps,8 位数据带宽,2 位停止位,无校验位。配置时串口参数时,即是配置 SerialPort 类的成员属性。因此只是需要新建一西南科技大学本科
50、生毕业论文20个串口类的对象,然后用上面所述的配置参数填充对象对应的属性,便可完成一个串口类对象的创建。接下来便可以用这个对象进行串口通信。(4) 启动指纹考勤服务打开串口后,点击“启动服务”。此时,右边的“显示页面”会出现“请将拇指放于指纹感应区!看见红光闪烁后方可挪开!”,这时就可开始指纹考勤。显示页面主要显示各种提示、错误信息等。从指纹考勤模块可以看见红光以一秒间隔周期显现,当我们将手指放于上面时,系统便会自动进行指纹信息的采集。采集到的指纹信息首先会生成指纹特征信息,再将该指纹特征信息与指纹特征信息库进行指纹匹配。如果找到与之匹配的特征指纹,便会返回该特征指纹信息对应的 ID 号。我们
51、便可通过该 ID 号知道考勤人员的基本信息,从而将考勤时间记录到数据库,实现指纹考勤功能。在这里,指令只能由上位机下发给指纹模块,模块向上位机应答。模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。应答包含有参数,并可跟后续数据包。上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。执行一次完整的指纹考勤过程,需要严格按照下面步骤执行指令的发、收。第一步,发送录指纹图像指令EF 01 FF FF FF FF 01 00 03 01 00 05,等待应答信号。如果指纹图像录入正确,进入第二步。第二步,
52、发送生成指纹特特指令EF 01 FF FF FF FF 01 00 04 02 01 00 08,等待应答信号。如果指纹特征生成成功,便可进入第三步。第三步,发送指纹匹配指令EF 01 FF FF FF FF 01 00 08 04 01 00 00 00 ff 01 0d,如果从指纹模板库中搜索到与指纹模板缓存区CharBuffer1 或CharBuffer2 中指纹特征相符合的指纹,则返回页码。我们便可以根据页码数,得到与页码数对应ID号的人员信息,从而将考勤信息记录到数据库,实现指纹考勤。程序流程图如图3-2。 西南科技大学本科生毕业论文21 图图 3-2 指纹考勤程序流程图指纹考勤程序
53、流程图 考勤信息处理代码如下: / / 处理考勤信息 / / 包好ID、时间的信息序列 public void ChangeData(string messe) string worker_xulie = messe.Substring(0, 2).ToString(); worker_xulie = (int.Parse(worker_xulie, NumberStyles.HexNumber).ToString(); for (int i = 0; i worker_num; i+)西南科技大学本科生毕业论文22 if (worker_num_namei.Substring(0, work
54、er_xulie.Length) = worker_xulie) string worker_time = messe.Substring(2, 16).ToString(); string worker_yue = messe.Substring(7, 2).ToString(); string worker_xinqi = messe.Substring(21, messe.Length - 21).ToString(); data_update(worker_time, worker_xinqi, worker_xulie, worker_yue); break; (5) 管理员操作 何
55、一款应用软件,都需要一个简洁、漂亮、适用的外观。在本次设计中应力争做到这三点,并保证程序的最高质量。登陆页面部分主要是提供给管理人员登陆,从而可以连接数据库和指纹库删除或新建员工的指纹考勤信息。初始默认的登录名及密码均为“admin”。管理页面部分主要可以提供管理人员对指纹库中员工信息的添加与删除。终端开始工作后,当其检测到有指纹成功被录入,显示区域即出现“指纹读取成功,请挪开拇指!”;如果终端检测到此指纹已存在于指纹库,即会出现“XX,上午、下午已签到!”;如果此指纹并未存在指纹库中,即会出现“此指纹不存在”。如需要添加或者删除员工指纹信息,可以使用管理员身份登录点击“新增记录”或者“删除全
56、部”。管理员也可以经“信息管理入口”对已考勤信息进行查询、报表导出等操作。(6) 删除指纹信息这里的删除指纹信息有两方面的工作需要完成。首先需要删除指纹模块库中已存的指纹特征信息。成功删除指纹特征信息并返回确认信号后,接着便可删除数据库中存在的人员信息及考勤信息。如果指纹模块没有返回删除成功的应答信号,而删除了数据库中的信息,便会使系统数据缺失,造成数据的损坏。当然,先删除数据库中的信息是一种不可采的方案,因为一旦删除了数据库中信息,就不能再恢复。而当我们接着删出指纹模块中的信息时,可能删除不成功!这样一来同样会造成数据的缺失,影响系统的正常运行。西南科技大学本科生毕业论文23(7) 增加指纹
57、信息 当我们要进行人员考勤时,首先应该进行人员信息的登记。对于此,我们可以建立一个人员类,该类具备姓名、性别、编号等基本属性。为了唯一标识一个人员个体,可以用身份证号或自定义编号进行唯一标识。这需要在数据库中建立一张人员基本信息表,我们便可以通过人员编号查询人员信息,进行方便的人事考勤。当然为了能够记录每位人员的考勤信息,我们需要为每个人员建立一张作息时间表,该表名与人员编号一致,表示该作息时间表为与该编号对应人员的作息时间表。 当我们建立好这两张表后,便可以添加人员信息了。在进行信息录入时,需要注意的是不能使用指纹模块库中已经使用的ID号,否则会用当前的指纹信息覆盖已经存在的指纹信息。造成指
58、纹信息的丢失。所以在进行指纹录入时,应该首先从数据库的人员基本信息表中读取已经存在的人员信息的编号,然后分配合理的ID号,然后将该人员的指纹特征信息存放于指纹模块对应的位置。指纹信息录入指纹库后,还需要在数据库中进行人员登记。数据库中主要进行两方面的工作。一是人员基本信息的登记,二是作息时间表的建立!当完成上面两处信息的登记后,还需要最后一个步骤,就可以进行正常的考勤了。接下来便是照片的录入,照片录入成功后便可进行正常的作息时间考勤了。(8) 考勤信息查询 考勤信息表最多可以记录一个员工一年的作息信息,满年后需要进行信息的清理,解决方法可以是重新进行人员信息录入或者直接进入数据库进行考勤信息的
59、清理。 由于考勤数据较大,在进行考勤信息查询时,我们更关注的是某一段时间的考勤信息,所以需要设置筛选条件。本次设计中主要分为某天或某个月考勤信息。这里考勤信息存放于access数据库中,因此不涉及网络连接问题。如果使用的是SQL SERVER 等网络数据库,进行考勤信息查询时,需要网络连通。数据的显示可以采用两种方式,一是使用RichTextBox直接显示,二是可以用DataGridView控件进行显示,后者操作简单,显示数据时,排版也较整洁,本设计因此选用该方式进行考勤信息显示。 / / 显示考勤信息西南科技大学本科生毕业论文24 / public void DisplayData() st
60、ring strCon = Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =+System.Windows.Forms.Application.StartupPath+ example.xls;Extended Properties=Excel 8.0; OleDbConnection myConn = new OleDbConnection(strCon); string strCom = SELECT * FROM Sheet1$ ; myConn.Open();OleDbDataAdapter myCommand = new OleDb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政工程施工人员培训方案
- 100MW渔光互补光伏电站施工方案
- 煤电项目建设工程方案
- 初中劳动教学中传统文化的价值与意义
- 初三教师会议校长讲话能担任九年级的教学本身就是一种光荣培养合格的中学生向社会交一份满意的答卷
- 知道智慧树网课《高分子化学(浙江大学)》课后章节测试答案
- 省级中学生物理竞赛并联电路试题及答案
- 小学体育素养(田径知识)竞赛试题与答案
- 化学竞赛历年真题及答案
- 2025年安全生产管理人员安全生产教育培训计划试题及答案
- 分子动理论的初步知识 2025-2026学年人教版物理九年级全一册
- 秋季传染病预防课件
- (2025年标准)电焊安全施工协议书
- 2025关于中央金融工作会议试题及答案
- 医学科研诚信专项培训
- 2025年全国行政执法人员执法资格考试必考题库及答案
- 九章怀沙全文课件
- 损失厌恶效应-洞察及研究
- 2025年电视节目策划师电视节目策划试卷及答案
- 肋骨骨折病人中医护理常规
- 自闭症中医课件
评论
0/150
提交评论