版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要安全可靠的身份識別技術(shù)是許多考勤系統(tǒng)首先要考慮的問題。傳統(tǒng)的身份識別手段如口令和IC卡技術(shù)已不能滿足人們的需求,因此,生物特征識別技術(shù)因生物特征的唯一性和終生不變性而成為目前最為方便與安全的識別技術(shù)。指紋識別技術(shù)是最可靠、最有效的生物識別技術(shù)之一。本系統(tǒng)采用SM630指紋識別模塊讀取被考勤人員的指紋特征數(shù)據(jù),比對后將獲取的員工代碼數(shù)據(jù)傳輸?shù)缴衔粰C,由上位機完成考勤處理。本文主要研究小型指紋考勤系統(tǒng)上位機軟件部分的實現(xiàn)。數(shù)據(jù)庫系統(tǒng)采用SQL Server 數(shù)據(jù)庫管理系統(tǒng),管理員工基本信息及指紋記錄。利用了Visual Basic6.0設(shè)計面對用戶界面及控制串口通信。因此這套系統(tǒng)具有比傳統(tǒng)的
2、刷卡考勤管理系統(tǒng)更高的安全性和更好的實用性。關(guān)鍵詞: 指紋識別;考勤系統(tǒng);指紋數(shù)據(jù)庫Small-scale Fingerprint Attendance SystemDENG YuanAbstract Secure and stable identity identification technology is the key problem of many attendance systems concerned. Traditional security systems based on token or IC card become fragile and cannot meet the
3、 demand of modern security system. Biometric technologies are the most convenient and secure identity identification technology because of uniqueness and permanence of biometric character. Fingerprint identification is one of the most efficient biometric technologies. This system adopted SM630 finge
4、rprint identification modules retrieval the data of employees fingerprint characteristic, transform the correspondence employees code-data to position machine after contrast the fingerprint information, then the position machine will finish the attendance. This thesis mainly concern about software p
5、art of small-scale fingerprint attendance system. The SQL Server database is used to register and manage the information about the work attendance. And the Visual Basic is used to design the consumer interface and control serial communication. The system can enhance the efficiency of the management
6、of checking on work attendance and be more secure and practicable than other method.Key words: Fingerprint Identification; Attendance System; Fingerprint Database目 錄1.設(shè)計背景1 1.1生物識別的概念1 1.2指紋考勤的前景12.指紋考勤系統(tǒng)的工作原理2 2.1指紋識別原理2 2.2考勤系統(tǒng)要求2 2.3軟件設(shè)計原理3 2.3.1 ADO的原理3 2.3.2串口通信原理53.方案論證6 3.1設(shè)計軟件的選擇6 3.1.1數(shù)據(jù)庫的選
7、擇6 3.1.2開發(fā)軟件的選擇7 3.2 總體方案84.系統(tǒng)設(shè)計9 4.1數(shù)據(jù)庫的設(shè)計9 4.2 VB界面的設(shè)計10結(jié)論及尚存問題一五參考文獻(xiàn)16致謝17附錄1軟件設(shè)計總程序一八附錄2系統(tǒng)總電路圖26附錄3元件清單2727小型指紋考勤系統(tǒng)1.設(shè)計背景 1.1生物識別的概念基于生物特征的身份認(rèn)證方式可克服傳統(tǒng)身份認(rèn)證方式的許多缺點。每個人都具有多種生物特征。生物特征包括生理特征和行為特征,生理特征是指與生俱來的特征,如指紋、虹膜、DNA等。行為特征是指后天習(xí)慣形成的特征,如步態(tài)、筆跡等。每個人都擁有許多種生物特征,生物特征不會被忘記和丟失。對于每一種生物特征的性質(zhì),可以用一些參數(shù)來描述,包括(l
8、)普遍性,是否每個人都具有這種特征;(2)唯一性,是否任何兩個人的這種特征都不同;(3)恒久性,是否終生不變;(4)可采集性,是否容易采集;(5)性能,識別的正確性如何;(6)接受程度,用戶是否愿意接受這種身份認(rèn)證方式;(7)防欺騙性,防止環(huán)境欺騙的能力。表1.1列出了常用生物特征的參數(shù)比較,每個參數(shù)分High、Medium和Low三個等級,其中High最好,Low最差。如果根據(jù)性能等級給每個參數(shù)打分:High為3分,Medium為2分,Low為1分。各生物特征總的得分分別為:人臉14分、指紋一八分、手形一五分、虹膜一八分、視網(wǎng)膜16分、簽名11分、聲音11分。指紋和虹膜的得分最高,而虹膜的用
9、戶接受程度為Low,指紋中沒有等級為Low的參數(shù)??梢?,眾多生物特征中指紋是較為理想的一種用于身份認(rèn)證的生物特征。據(jù)調(diào)查,在各種基于生物特征的身份認(rèn)證方法中,指紋識別所占有的市場份額最大。同時,基于生物特征的身份認(rèn)證方法的市場收入額在逐年上升,可見社會越來越需要基于生物特征的身份認(rèn)證,尤其是基于指紋的身份認(rèn)證方式。 表1-1 常用生物特征的比較生物特征普遍性獨特性穩(wěn)定性可采集性性能接受程度防欺騙性人臉HighLowMediumHighLowHighLow指紋MediumHighHighMediumHighMediumHigh手形MediumMediumMediumHighMediumMediu
10、mMedium虹膜HighHighHighMediumHighLowHigh視網(wǎng)膜HighHighMediumLowHighLowHigh簽名LowLowLowHighLowHighLow聲音MediumLowLowMediumLowHighLow 1.2指紋考勤的前景 考勤管理是企事業(yè)單位日常管理工作中一個十分重要而煩瑣的組成部分,與企事業(yè)單位的人事工資、勞動生產(chǎn)率有著密切的聯(lián)系,與員工的收入直接掛鉤。隨著計算機技術(shù)的飛速發(fā)展,各種智能考勤機不斷出現(xiàn),員工上、下班只需要在考勤機上刷卡(條碼卡、磁卡、IC卡或射頻卡等),其它工作交由計算機完成,即可實現(xiàn)考勤,使人們從煩瑣的事務(wù)性工作中解放出來,
11、考勤管理進(jìn)入一個新時代。然而,使用刷卡考勤,卡代表了人的身份,由于各種原因,難免出現(xiàn)誤刷卡、代刷卡的情況,使考勤結(jié)果的公正性和準(zhǔn)確性受到影響。此外,卡也有易丟失、磨損、折斷等缺點。本文介紹的指紋考勤管理系統(tǒng),使用指紋錄入代替刷卡,通過指紋特征鑒定員工身份,即具有卡式考勤系統(tǒng)方便、快捷的優(yōu)勢,又能克服其缺點,是一種較為理想的考勤方式。2. 指紋考勤系統(tǒng)的工作原理 2.1指紋識別原理 指紋是手指皮膚表面隆起的脊和凹下的谷構(gòu)成的特定紋路,其紋理在嬰兒胚胎時期就己經(jīng)確定。相對于人體其他的生物特征而言,指紋在唯一性、穩(wěn)定性方面有著明顯得優(yōu)勢:科學(xué)研究發(fā)現(xiàn),兩枚指紋完全相同的概率極小,可以認(rèn)為世界上沒有兩
12、個人會有完全相同的指紋;而且每人的指紋會保持終生不變,指紋由皮膚表面死亡的角質(zhì)細(xì)胞堆積而成,即使磨損,只要不傷及真皮,也能重新長出。另外,指紋的應(yīng)用是非常方便、可靠的,并且不會對人體構(gòu)成侵犯,用戶接受程度也比較高?;谝陨咸攸c,指紋識別技術(shù)在社會安全、信息安全、金融安全、個人安全以及防偽領(lǐng)域得到了廣泛的應(yīng)用,幾乎成為生物特征識別的代名詞。 兩枚指紋經(jīng)常會具有相同的總體特征,但它們的局部特征(即特征點),卻不可能完全相同,因此,指紋識別技術(shù)通常使用指紋的全局特征如紋型等來進(jìn)行分類,再用局部特征如端點、分叉點等來進(jìn)行識別用戶身份。通常,首先從獲取的指紋圖像上找到“特征點”(minutiae),然后
13、根據(jù)特征點的特性建立用戶活體指紋的數(shù)字表示指紋特征數(shù)據(jù)(一種單向的轉(zhuǎn)換:可以從指紋圖像轉(zhuǎn)換成特征數(shù)據(jù),但不能從特征數(shù)據(jù)轉(zhuǎn)換成為指紋圖像)。由于兩枚不同的指紋不會產(chǎn)生相同的特征數(shù)據(jù),所以通過對所采集到的指紋圖像的特征數(shù)據(jù)和存放在數(shù)據(jù)庫中的指紋特征數(shù)據(jù)進(jìn)行模式匹配,計算出它們的相似程度,最終得到兩個指紋的匹配結(jié)果,根據(jù)匹配結(jié)果來鑒別用戶身份。 2.2考勤系統(tǒng)要求 考勤管理系統(tǒng)最基本的工作就是如實地記錄員工上班與下班的時間,然后再分階段進(jìn)行數(shù)據(jù)處理,以形成員工的考勤記錄。在員工人數(shù)較多的大中型企業(yè)。還會對考勤管理系統(tǒng)提出了更高的要求:1)員工分散在不同辦公區(qū)域,需要各區(qū)域設(shè)置多臺考勤機,因此要求考勤
14、機集中管理配置,考勤機時間自動同步,考勤機異常后自動報警,各個考勤機的考勤數(shù)據(jù)自動上傳,免除人工逐個考勤機定期收集數(shù)據(jù)。新員工到廠,或老員工工作場所變動后應(yīng)避免在不同考勤機上重復(fù)建立指紋檔案,因此需要集中建立指紋檔案,根據(jù)員工的工作場所,自動下裝到相應(yīng)的考勤機上。2)班制情況復(fù)雜。同時存在多種班制,有的班制在不同季節(jié)的班次時間不同,要求系統(tǒng)通用靈活,適應(yīng)性強,調(diào)整方便。3)希望如實反映每個人的考勤情況,杜絕舞弊。要求請假加班申請管理流程與考勤集成,員工上下班僅需要直觀地按指紋,考勤記錄最大可能按考勤規(guī)則自動生成,異常數(shù)據(jù)需要人工干預(yù)時,保留人工干預(yù)痕跡。4)及時反饋員工在崗狀態(tài)和考勤結(jié)果,方便
15、各級管理人員了解員工出勤情況。能與其他管理系統(tǒng)集成,如薪資計算,會議通知,任務(wù)安排,因為這些系統(tǒng)都需要實時了解員工在崗情況。 同時,隨著信息化的發(fā)展,以及自動控制帶來的便利和公司規(guī)模增大,考勤系統(tǒng)利用數(shù)據(jù)庫來管理已經(jīng)成為必然的趨勢,尤其是服務(wù)器/客戶機模式的數(shù)據(jù)庫管理。 2.3 軟件設(shè)計原理2.3.1 ADO的原理ADO是ActiveX Data Object的縮寫,是建立在OLE DB之上的高層數(shù)據(jù)庫訪問技術(shù)。ADO被設(shè)計用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data Access)。OLE DB是一個低層的數(shù)據(jù)訪問接口,用它
16、可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,以及電子郵件系統(tǒng)及自定義的商業(yè)對象.像Microsoft的其它系統(tǒng)接口一樣,ADO是面向?qū)ο蟮?。它是Microsoft全局?jǐn)?shù)據(jù)訪問(UDA)的一部分,Microsoft認(rèn)為與其自己創(chuàng)建一個數(shù)據(jù),不如利用UDA訪問已有的數(shù)據(jù)庫。為達(dá)到這一目的,Microsoft和其它數(shù)據(jù)庫公司在它們的數(shù)據(jù)庫和Microsoft的OLE數(shù)據(jù)庫之間提供了一個“橋”程序,OLE數(shù)據(jù)庫已經(jīng)在使用ADO技術(shù)。ADO的一個特征(稱為遠(yuǎn)程數(shù)據(jù)服務(wù))支持網(wǎng)頁中的數(shù)據(jù)相關(guān)的ActiveX控件和有效的客戶端緩沖。作為ActiveX的一部分,ADO也是Microsoft的組件對象模式(CO
17、M)的一部分,它的面向組件的框架用以將程序組裝在一起。ADO從原來的Microsoft數(shù)據(jù)接口遠(yuǎn)程數(shù)據(jù)對象(RDO)而來。RDO與ODBC一起工作訪問關(guān)系數(shù)據(jù)庫,但不能訪問如ISAM和VSAM的非關(guān)系數(shù)據(jù)庫。ADO 是對當(dāng)前微軟所支持的數(shù)據(jù)庫進(jìn)行操作的最有效和最簡單直接的方法,它是一種功能強大的數(shù)據(jù)訪問編程模式,從而使得大部分?jǐn)?shù)據(jù)源可編程的屬性得以直接擴展到你的Active Server 頁面上??梢允褂肁DO 去編寫緊湊簡明的腳本以便連接到 Open Database Connectivity (ODBC) 兼容的數(shù)據(jù)庫和 OLE DB 兼容的數(shù)據(jù)源,這樣 ASP 程序員就可以訪問任何與 O
18、DBC 兼容的數(shù)據(jù)庫,包括 MS SQL SERVER、Access、 Oracle 等等。 比如,如果網(wǎng)站開發(fā)人員需要讓用戶通過訪問網(wǎng)頁來獲得存在于IBM DB2或者Oracle數(shù)據(jù)庫中的數(shù)據(jù),那么就可以在ASP頁面中包含ADO程序,用來連接數(shù)據(jù)庫。于是,當(dāng)用戶在網(wǎng)站上瀏覽網(wǎng)頁時,返回的網(wǎng)頁將會包含從數(shù)據(jù)庫中獲取的數(shù)據(jù)。而這些數(shù)據(jù)都是由ADO代碼做到的。 ADO是一種面向?qū)ο蟮木幊探涌?,微軟介紹說,與其同IBM和Oracle提倡的那樣,創(chuàng)建一個統(tǒng)一數(shù)據(jù)庫,不如提供一個能夠訪問不同數(shù)據(jù)庫的統(tǒng)一接口,這樣會更加實用一些。為實現(xiàn)這一目標(biāo),微軟在數(shù)據(jù)庫和微軟的OLE DB中提供了一種“橋”程序,這種
19、程序能夠提供對數(shù)據(jù)庫的連接。開發(fā)人員在使用ADO時,其實就是在使用OLE DB,不過OLE DB更加接近底層。ADO的一項屬性遠(yuǎn)程數(shù)據(jù)服務(wù),支持“數(shù)據(jù)倉庫”ActiveX 組件以及高效的客戶端緩存。作為ActiveX的一部分,ADO也是COM組件的一部分。ADO是由早期的微軟數(shù)據(jù)接口遠(yuǎn)程數(shù)據(jù)對象RDO演化而來的。RDO同微軟的ODBC一同連接關(guān)系數(shù)據(jù)庫,不過不能連接非關(guān)系數(shù)據(jù)庫。 ADO向我們提供了一個熟悉的,高層的對OLE DB的Automation封裝接口。對那些熟悉RDO的程序員來說,你可以把OLE DB比作是ODBC驅(qū)動程序。如同RDO對象是ODBC驅(qū)動程序接口一樣,ADO對象是OLE
20、 DB的接口;如同不同的數(shù)據(jù)庫系統(tǒng)需要它們自己的ODBC驅(qū)動程序一樣,不同的數(shù)據(jù)源要求它們自己的OLE DB提供者(OLE DB provider)。目前,雖然OLE DB提供者比較少,但微軟正積極推廣該技術(shù),并打算用OLE DB取代ODBC。 ADO向VB程序員提供了很多好處。包括易于使用,熟悉的界面,高速度以及較低的內(nèi)存占用(已實現(xiàn)ADO2.0的Msado一五.dll需要占用342K內(nèi)存,比RDO的Msrdo20.dll的368K略小,大約是DAO3.5的Dao350.dll所占內(nèi)存的60)。同傳統(tǒng)的數(shù)據(jù)對象層次(DAO和RDO)不同,ADO可以獨立創(chuàng)建。因此你可以只創(chuàng)建一個"C
21、onnection"對象,但是可以有多個,獨立的"Recordset"對象來使用它。ADO針對客戶服務(wù)器以及WEB應(yīng)用程序作了優(yōu)化。 ADO中的模型對象如圖2-1所示: 圖2-1 ADO模型對象1) Connection對象:通過"連接Connection對象"可以使應(yīng)用程序與要訪問的數(shù)據(jù)源之間建立起通道,連接是交換數(shù)據(jù)所必需的環(huán)境。通過如Microsoft Internet Information Server作為媒介,應(yīng)用程序可直接(有時稱為雙層系統(tǒng))或間接(有時稱為三層系統(tǒng))訪問數(shù)據(jù)源。對象模型使用Connection對象使連接要領(lǐng)具體化
22、,用于通過OLE DB建立對數(shù)據(jù)源的鏈接。一個Connection對象負(fù)責(zé)數(shù)據(jù)庫管理系統(tǒng)的一條鏈接,可以檢查或設(shè)置Connection對象的值。例如,使用事務(wù)方法BeginTrans、CommitTrans和RollbackTrans訪問默認(rèn)數(shù)據(jù)庫。2) Command對象:Command對象通過已建立的連接發(fā)出訪問數(shù)據(jù)源"命令",以某種方式來操作數(shù)據(jù)源數(shù)據(jù)。一般情況下,"命令"可以在數(shù)據(jù)源中添加、刪除或更新數(shù)據(jù),或者在表中以行的格式檢索數(shù)據(jù)。對象模型用Command對象來體現(xiàn)命令概念。使用Command對象可使ADO優(yōu)化命令的執(zhí)行。Command對象主
23、要用于訪問數(shù)據(jù)庫管理系統(tǒng)中的存儲對象。它主要用在需要執(zhí)行帶參數(shù)(或不帶)和返回值的存儲過程中。3) Recordset對象:如果命令是在表中按信息行返回數(shù)據(jù)的查詢結(jié)果(按行返回查詢),則這些行將會存儲在本地Recordset對象中。通過記錄集可實現(xiàn)對數(shù)據(jù)庫的修改操作。對象模型將該存儲體現(xiàn)為Recordset對象。但是,不存在僅代表單獨一個Recordset行的對象。Recordset對象用于從數(shù)據(jù)源獲取數(shù)據(jù)。在獲取數(shù)據(jù)集之后,Recordset對象能用于導(dǎo)航、編輯、增加及刪除其記錄。Recordset對象的指針經(jīng)常指向數(shù)據(jù)集當(dāng)前的單條記錄。2.3.2串口通信原理VB的串行通信組件為MSComm
24、,它是一個與其它系統(tǒng)建立串行通信的強大工具。MSComm控件通過串行端口實現(xiàn)各應(yīng)用數(shù)據(jù)的串行發(fā)送和接收。1)MSComm控件的主要屬性CommPort:設(shè)置或返回通信端口號。PortOpen:設(shè)置或返回通信端口的開關(guān)狀態(tài),也可打開或關(guān)閉某一端口。CommEvent:返回最近通信事件或錯誤,在設(shè)計階段時無效,運行階段為只讀。Input:返回或清除接收緩沖區(qū)中數(shù)據(jù),在設(shè)計階段時無效,運行階段為只讀。InputLen:確定被Input屬性讀取的字符數(shù)。InputMode:設(shè)置或返回被Input屬性讀取的數(shù)據(jù)類型。Output:向發(fā)送緩沖區(qū)中寫入數(shù)據(jù),在設(shè)計階段時無效,運行階段時為只讀。RThresh
25、old:在MSComm控件設(shè)置CommEvent屬性為CommEvReceive并產(chǎn)生OnComm事件之前,設(shè)置或返回要接收的字符數(shù)。SThreshold:在MSComm控件設(shè)置CommEvent屬性為CommEvReceive并產(chǎn)生OnComm事件之前,指定發(fā)送緩沖區(qū)中允許的最少字符數(shù)。Setting:設(shè)置或返回初始化參數(shù),即波特率、奇偶校驗位、數(shù)據(jù)位和停止位。2)MSComm控件的主要事件OnComm事件:當(dāng)CommEvent屬性值發(fā)生變化時,就觸發(fā)此事件,標(biāo)志發(fā)生了一個通信事件或錯誤。如果CommEvent屬性值發(fā)生了變化,而通信事件又未發(fā)生,就必然出現(xiàn)錯誤。CommEvent屬性中含有
26、觸發(fā)OnComm事件的真正錯誤或事件的標(biāo)志代碼。3)MSComm控件進(jìn)行串行通信的一般步驟:加入MSComm對象。設(shè)定通信端口號碼,即CommPort屬性。設(shè)定通信協(xié)議,即HandShaking屬性。設(shè)定傳輸速度等參數(shù),即Settings屬性。設(shè)定其它參數(shù),若必要時再加上其它屬性設(shè)定。開啟通信端口,即將PortOpen屬性設(shè)為TRUE。使用Input或Output屬性,送出字符串或讀入字符串。使用MSCcomm通信對象后,將通信端口關(guān)閉。4)MSComm控件通信方式選擇:MSComm控件有兩種處理通信的方式,即事件驅(qū)動和查詢方式。事件驅(qū)動方式是處理串行通信的一種有效方法,它可以利用OnComm
27、事件捕獲并處理通信中發(fā)生的事件或錯誤,實時性較強。而查詢方式是在程序通過查詢CommEvent屬性的值來判斷通信過程中的事件或錯誤,這種方式適合于應(yīng)用程序較小,實時性要求不高的系統(tǒng)中。3. 方案論證 3.1設(shè)計軟件的選擇 3.1.1數(shù)據(jù)庫的選擇 SQL server 2000 是microsoft 公司推出的SQL server 數(shù)據(jù)庫管理系統(tǒng)的最新版本。該版本繼承了SQL server 7.0 版本的優(yōu)點同時又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行microsoft windows 98 的膝上型電腦到運行microsoft window
28、s 2000 的大型多處理器的服務(wù)器等多種平臺使用,它建立在成熟而強大的關(guān)系模型基礎(chǔ)上,可以很好的支持b/s網(wǎng)絡(luò)模式,能夠滿足各種類型的企事業(yè)單位對構(gòu)建網(wǎng)絡(luò)數(shù)據(jù)庫的需求,而且在易用性、可擴展性、可靠性以及數(shù)據(jù)倉庫等方面確立了世界領(lǐng)先的地位,是目前學(xué)習(xí)大型數(shù)據(jù)庫管理系統(tǒng)的首選軟件,也是使用最為廣泛、普及率最高的數(shù)據(jù)庫管理系統(tǒng)之一。 根據(jù)分析本系統(tǒng)的開發(fā)選擇了SQL Server 2000作為數(shù)據(jù)庫系統(tǒng)。SQL Server 2000可以良好的在windows上運行,操作系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是十分重要的,所以選擇SQL server 2000本身也給數(shù)據(jù)庫系統(tǒng)的穩(wěn)定性提供了保障。SQL server
29、 2000 是microsoft 公司2000年推出的SQL server 數(shù)據(jù)庫管理系統(tǒng)的版本。它是一個杰出的數(shù)據(jù)庫平臺,可用于大型聯(lián)機事務(wù)處理、數(shù)據(jù)倉庫、以及電子商務(wù)等。 它的特點: 1)真正的客戶機/服務(wù)器體系結(jié)構(gòu)。 2)圖形化用戶界面。3)豐富的編程接口工具。 4)SQL server與windows NT完全集成,利用了它的許多功能,如發(fā)送和接受消息,管理、登陸、安全性等。 5)對web技術(shù)的支持。SQL server 提供了各種各樣的特性以便于通過web容易和安全地訪問數(shù)據(jù)。用戶可以使用http來發(fā)送查詢給服務(wù)器。 6)高度可縮放并且可靠。如果SQL服務(wù)器的負(fù)載增加,那么可以利用放
30、大和擴展特性來滿足要求。當(dāng)放大時,SQL server 企業(yè)管理器可以利用32位處理器和64gb的ram來滿足負(fù)載的增加。當(dāng)在擴展特性時,SQL server可以跨服務(wù)器地分布數(shù)據(jù)庫和數(shù)據(jù)負(fù)載。當(dāng)系統(tǒng)崩潰的時候,rdbms應(yīng)該能夠以最小的數(shù)據(jù)丟失快速地恢復(fù),這個特性被稱作可靠性。SQL server提供了各種各樣的備份策略來提高可靠性。7)SQL server提供數(shù)據(jù)倉庫功能。這個功能只在oracle和其他更昂貴的dbms中才有。8)最快的市場響應(yīng)速度。SQL server提供了減少應(yīng)用開發(fā)從它的設(shè)計到一個完整的產(chǎn)品所用的時間。它提供了管理工具來管理服務(wù)器,也提供了從不同的數(shù)據(jù)源復(fù)制和移動數(shù)據(jù)
31、的工具。用戶可以利用SQL server輕松地執(zhí)行復(fù)雜的計算和分析數(shù)據(jù)。9)支持xml。SQLserver2000具有完全的web功能,支持XML語言,可以檢索、編寫XML數(shù)據(jù)。10)支持分布式的分區(qū)視圖。 SQL server 提供的由服務(wù)器訪問數(shù)據(jù)對象的語言稱為結(jié)構(gòu)化查詢語言(SQL) , SQL已經(jīng)減少了需要用冗長的編程來訪問數(shù)據(jù)。SQL以行和列的集合形式訪問數(shù)據(jù),而不是一次一行和一個屬性地訪問數(shù)據(jù)的各個組件。 SQL的一個杰出功能就是支持向目標(biāo)數(shù)據(jù)自動導(dǎo)航.這個功能可讓用戶指出什么信息是需要的且不必指出怎樣得到它,而SQL用戶并不需要知道數(shù)據(jù)是怎樣存儲的.查詢語言注意檢索、替代、添加和
32、刪除數(shù)據(jù),因而使得數(shù)據(jù)庫可被很少或則沒有編程知識的最終用戶容易地訪問。一個過程化的編程語言需要數(shù)據(jù)的每個說明.這些說明包括數(shù)據(jù)存儲、訪問模式及檢索,SQL在操作上比數(shù)據(jù)庫管理的過程化語言更簡單。過程化語言是更適合與硬件交互或計算機通信的系統(tǒng)程序l。本系統(tǒng)使用SQL server 2000作為數(shù)據(jù)庫存儲相關(guān)數(shù)據(jù)。 3.1.2開發(fā)軟件的選擇本系統(tǒng)選擇Visual Basic 6.0來設(shè)計考勤系統(tǒng)的前臺程序,主要是因為它具有以下一些特點: 1)面向?qū)ο?VB采用了面向?qū)ο蟮某绦蛟O(shè)計思想。它的基本思路是把復(fù)雜的程序設(shè)計問題分解為一個個能夠完成獨立功能的相對簡單的對象集合,所謂“對象”就是一個可操作的實
33、體,如窗體、窗體中的命令按鈕、標(biāo)簽、文本框等。面向?qū)ο蟮木幊叹秃孟翊罘e木一樣,程序員可根據(jù)程序和界面設(shè)計要求,直接在屏幕上“畫"出窗口、菜單、按鈕等不同類型的對象,并為每個對象設(shè)置屬性。 2)事件驅(qū)動 在Windows環(huán)境下,程序是以事件驅(qū)動方式運行的,每個對象都能響應(yīng)多個不同的事件,每個事件都能驅(qū)動一段代碼事件過程,該代碼決定了對象的功能。通常稱這種機制為事件驅(qū)動。事件可由用戶的操作觸發(fā),也可以由系統(tǒng)或應(yīng)用程序觸發(fā)。例如,單擊一個命令按鈕,就觸發(fā)了按鈕的Click(單擊)事件,該事件中的代碼就會被執(zhí)行。若用戶未進(jìn)行任何操作(未觸發(fā)事件),則程序就處于等待狀態(tài)。整個應(yīng)用程序就是由彼此
34、獨立的事件過程構(gòu)成。 3)軟件的集成式開發(fā) VB為編程提供了一個集成開發(fā)環(huán)境。在這個環(huán)境中,編程者可設(shè)計界面、編寫代碼、調(diào)試程序,直至把應(yīng)用程序編譯成可在Windows中運行的可執(zhí)行文件,并為它生成安裝程序。VB的集成開發(fā)環(huán)境為編程者提供了很大的方便。 4)結(jié)構(gòu)化的程序設(shè)計語言 VB具有豐富的數(shù)據(jù)類型,是一種符合結(jié)構(gòu)化程序設(shè)計思想的語言,而且簡單易學(xué)。此外作為一種程序設(shè)計語言,VB還有許多獨到之處。 5)強大的數(shù)據(jù)庫訪問功能 VB利用數(shù)據(jù)控件可以訪問多種數(shù)據(jù)庫,VB 6O提供的ADO控件,不但可以用最少的代碼實現(xiàn)數(shù)據(jù)庫操作和控制,也可以取代Data控件和RDO控件。 6)支持對象的鏈接與嵌入技
35、術(shù) VB的核心是對對象的鏈接與嵌入(OLE)技術(shù)的支持,它是訪問所有對象的一種方法。利用OLE技術(shù),能夠開發(fā)集聲音、圖像、動畫、字處理、Web等對象于一體的程序。 7)網(wǎng)絡(luò)功能 VB 6O提供了DltTML(DynamictTML)設(shè)計工具。利用這種技術(shù)可以動態(tài)創(chuàng)建和編輯Web頁面,使用戶在VB中開發(fā)多功能的網(wǎng)絡(luò)應(yīng)用軟件。 8)多個應(yīng)用程序向?qū)?VB提供了多種向?qū)?,如?yīng)用程序向?qū)А惭b向?qū)?、?shù)據(jù)對象向?qū)Ш蛿?shù)據(jù)窗體向?qū)Вㄟ^它們可以快速地創(chuàng)建不同類型、不同功能的應(yīng)用程序。 9)支持動態(tài)交換、動態(tài)鏈接技術(shù) 通過動態(tài)數(shù)據(jù)交換(DDE)的編程技術(shù),VB開發(fā)的應(yīng)用程序能與其他Windows應(yīng)用程序之間建
36、立數(shù)據(jù)通信。通過動態(tài)鏈接庫技術(shù),在VB程序中可方便地調(diào)用C語言或匯編語言編寫的函數(shù),也可調(diào)用Windows的應(yīng)用程序接口(.API)函數(shù)。 1O)聯(lián)機幫助功能 在VB中,利用幫助菜單和F1功能鍵,用戶可隨時方便地得到所需要的幫助信息。VB幫助窗口中顯示了有關(guān)的示例代碼,通過復(fù)制、粘貼操作可獲取大量的示例代碼,為用戶的學(xué)習(xí)和使用提供方便。 3.2 總體方案 本系統(tǒng)采用SQL Server2000做系統(tǒng)數(shù)據(jù)庫,Visual Basic6.0做前臺界面設(shè)計。可以實現(xiàn)的功能有員工資料,部門資料及班次資料的維護(hù),通過指定時間內(nèi)的指紋考勤結(jié)果自動更新員工考勤記錄及部門考勤記錄。主要工作原理是VB通過ADO
37、與SQL數(shù)據(jù)庫綁定在一起,由VB完成數(shù)據(jù)庫記錄的增加,修改與刪除。同時VB通過MSComm控件控制串口通信,與單片機及指紋模塊連接,實現(xiàn)考勤結(jié)果的記錄。主要的工作流程為:1)VB完成基本資料的更新,包括員工資料,部門資料,及班次資料。2)系統(tǒng)開始運行后,在VB的主窗體點初始化,VB將發(fā)送一串指令測試串口的連接,如果接收到正確的返回碼,則說明通信成功,如果失敗則要檢查路線的連接。3)在指定時間(上下班時間的前后1個小時),指紋模塊開始考勤,并將考勤結(jié)果發(fā)送回VB,VB則根據(jù)考勤的時間記錄對應(yīng)員工是正??记谶€是遲到早退缺勤。4)考勤結(jié)束后可以通過VB查看員工以及部門的考勤結(jié)果。4.系統(tǒng)設(shè)計 4.1
38、 數(shù)據(jù)庫的設(shè)計 系統(tǒng)對應(yīng)的數(shù)據(jù)庫名為zwkq.mdf,它總共有5張表,數(shù)據(jù)表的關(guān)系如圖4-1所示。 圖4-1 數(shù)據(jù)表關(guān)系圖 員工基本資料表名為ygzl,它包括8列,分別為員工ID,員工姓名,性別,部門名稱,職務(wù),備注,指紋記錄,數(shù)據(jù)結(jié)構(gòu)如圖4-2所示。其中ID是表的主鍵與日考勤記錄表(daykq)及月考勤記錄表(monkq)中的員工ID是綁定在一起的。圖4-2 員工基本資料表的設(shè)計 部門基本資料表名為bmzl,它包括6列,分別為部門ID,部門名稱,部門主管,部門人數(shù),部門班次,部門缺勤人數(shù),數(shù)據(jù)結(jié)構(gòu)如圖4.3所示。其中班次名稱是與班次資料表中的班次名稱綁定在一起的。 圖4-3部門基本資料表的設(shè)
39、計 4.2 VB界面的設(shè)計系統(tǒng)對應(yīng)的工程為ZWKQ.vbp,一共包括7個窗體,該系統(tǒng)的結(jié)構(gòu)如圖4-4所示。登陸界面主窗體初始化員工基本資料班次基本設(shè)置員工考勤資料部門基本設(shè)置員工基本設(shè)置 圖4-4 系統(tǒng)結(jié)構(gòu) 本工程的啟動對象為main窗體。該窗體所含的菜單功能如下:1)初始化:可以完成系統(tǒng)的初始化,以及串口連接,指紋控制的測試。2)基礎(chǔ)資料:包括員工基本資料查詢,員工基本資料設(shè)置,部門基本資料設(shè)置3項功能。3)班次設(shè)置:包括班次資料查看,班次資料設(shè)置,班次編排3項功能。4)考勤查詢:包括日考勤表,月考勤表的導(dǎo)出,及考勤資料查看3項功能。本工程中引用了一些ActiveX控件等,在設(shè)計時選擇“工程
40、”菜單中的“部件”選項,從控件列表中選中如下選項:Microsoft ADO Data Control 6.0(OLEDB)Microsoft DataGrid Control 6.0(OLEDB)Microsoft DataList Control 6.0(OLEDB)Microsoft Windows Common Controls 6.0(SP4)系統(tǒng)一開始是一個管理員登陸界面,如圖4-5所示。通過管理員輸入用戶名和密碼可以登陸進(jìn)入主界面進(jìn)行操作,同時也可以修改密碼。圖4-5 管理員登陸的界面主窗體是一個多文檔窗體,設(shè)計界面如圖4-6所示。在該窗體上設(shè)計有一個菜單,菜單的設(shè)計選擇“工具”
41、中的“菜單編輯器”,如圖4-7。輸入標(biāo)題,名稱或者快捷鍵,再利用方向按鈕設(shè)置菜單的級別,在菜單選項的Click事件中編程實現(xiàn)菜單的功能。 圖4-6 Main窗體的式樣 圖4-7 菜單編輯器的設(shè)計在Main窗體上放置了一個MSComm控件,用來控制PC機與單片機的串口通信。MSComm控件初始化:界面運行開始,初始化串口功能(MSComm控件名為comm1),程序如下:comm1xmPort=1 選用COM1串行口If comm1.PortOpen=False Then 打開通信口comm1.PortOpen=TrueEnd Ifcomm1.Settings="9600,n,8,1&q
42、uot; 波特率9600,無奇偶校驗位,8位數(shù)據(jù)位,1位停止位comm1.InputMode=0 數(shù)據(jù)以文本形式取回數(shù)據(jù)comm1.InputLen=0 讀取接收緩沖區(qū)全部內(nèi)容comm1.RThreshold=0 不產(chǎn)生OnComm事件comm1.SThreshold=0 標(biāo)準(zhǔn)的MSComm控件屬性設(shè)置可以很好的完成本系統(tǒng)串口通信的要求。員工基本資料窗體用于維護(hù)員工的基本資料,如圖4-8所示。DataGrid中列出了全部員工的資料,雙擊一列可以查看該員工的詳細(xì)資料或者修改資料?;蛘咻斎雴T工的ID及姓名點查詢來查看員工的資料,該窗體還可以實現(xiàn)員工記錄的新增及刪除功能。窗體需要利用Adodc控件和
43、SQL數(shù)據(jù)庫進(jìn)行綁定,綁定的具體方法為:點擊桌面左下角“開始”,在菜單欄選擇“控制面板”,在“控制面板”里面選擇“管理工具”,左鍵雙擊打開后可見“數(shù)據(jù)源(ODBC)”,ODBC是 openDatabaseConnectivity(開放式數(shù)據(jù)庫鏈接性)的簡稱,用于安裝鏈接數(shù)據(jù)庫的驅(qū)動程序和設(shè)置數(shù)據(jù)源的名稱及位置。雙擊“數(shù)據(jù)源(ODBC)”,打開“數(shù)據(jù)源”對話框。選擇“系統(tǒng)DSN”選項卡DSN是數(shù)據(jù)源名稱(DataSourceName)的簡稱,其數(shù)據(jù)源信息將保存于系統(tǒng)注冊文件中,單擊“添加”按鈕,選擇數(shù)據(jù)庫“ SQLServer”,填寫數(shù)據(jù)源名稱“zwkq”,描述項填“指紋考勤系統(tǒng)”并選擇數(shù)據(jù)庫的
44、路徑,單擊“確定”按鈕,建立數(shù)據(jù)源。建立后,進(jìn)行測試,測試成功表明數(shù)據(jù)庫己成功鏈接,如圖4-9所示圖4-8 員工基本資料查詢的界面 圖4.9 ODBC與SQL Server的連接 然后設(shè)置窗體上Adodc控件的ConnectionString和RecordSource屬性,Adodc就與對應(yīng)的數(shù)據(jù)庫文件綁定在一起。再把其他控件的DataSource與Adodc控件綁定,就可以實現(xiàn)VB與SQL數(shù)據(jù)庫的綁定班次設(shè)置窗體用于設(shè)置班次的基本資料,如圖4-10所示。包括上午上下班時間和下午上下班時間的設(shè)置。圖4-10 班次基本資料設(shè)置的界面部門基本設(shè)置窗體用于設(shè)置部門的基本資料,大體結(jié)構(gòu)與班次設(shè)置窗體類
45、似??记诓樵兇绑w用于查看考勤資料的查詢,如圖4-11所示。可以查看不同部門的考勤信息,并自動統(tǒng)計出部門的缺勤人數(shù),并且在DataGrid控件中列出缺勤人員名單,雙擊一條記錄可以查看該員工缺勤的詳細(xì)信息。圖4-11 員工考勤資料查詢的界面 系統(tǒng)整體設(shè)計風(fēng)格簡明,操作簡單。同時具有新增,修改和刪除資料的強大功能。經(jīng)測試,系統(tǒng)可以很好的完成與單片機和指紋模塊的通信,同時很好的實現(xiàn)了數(shù)據(jù)庫資料的維護(hù)。管理員通過密碼登陸也保證了數(shù)據(jù)的安全。結(jié)論及尚存在的問題設(shè)計完成的小型指紋考勤系統(tǒng),成功的實現(xiàn)了通過指紋模塊來進(jìn)行考勤。系統(tǒng)也通過SQL數(shù)據(jù)庫保證了數(shù)據(jù)的安全,且通過VB實現(xiàn)了系統(tǒng)所應(yīng)該具有的包括員工信息
46、維護(hù),班次設(shè)置,考勤記錄查詢等幾大功能。并因為采用指紋考勤,成功的杜絕了員工代人打卡而使考勤工作出現(xiàn)困難的現(xiàn)象。從整體上來說,本小型指紋考勤系統(tǒng)基本上完成了任務(wù),達(dá)到了預(yù)期的目的。不過由于時間的原因,本系統(tǒng)也存在下列一些不足:1)界面的美化問題,系統(tǒng)沒有對控件采用美化效果,而直接用了VB默認(rèn)的灰色,也沒有使用動態(tài)效果;2)數(shù)據(jù)導(dǎo)出功能存在缺陷,由于初學(xué)SQL數(shù)據(jù)庫,所以本系統(tǒng)的數(shù)據(jù)導(dǎo)出功能不好;3)沒有編寫幫助信息,有可能造成管理員不知道如何操作本系統(tǒng),或者對系統(tǒng)操作上存在不明白的地方,沒有幫助信息的提示等,以上問題有待在后續(xù)的工作中得到解決。參考文獻(xiàn)1 a.k.jain,l.hong,s.p
47、ankanti and r.bolle,“an identity authentication system using fingerprints” J, proc. IEEE,85(9),一三65-一三88,1997.2 l.hong, y.wan and a.k.jain, “fingerprint image enhancement: algorithm and performance evaluation” J, IEEE trans. on pattern analysis and machine intelligence,20(8),77-789,1998.3 d.miao and
48、 d.maltoni, “direct gray-scale minutiae detection in fingerprint” J, IEEE trans. on pattern analysis and machine intelligence,19(1),27-39,1997.4 x.jiang, w.y.yau and w.ser, “minutiae extraction by adaptive tracing the gray level ridge of the fingeprint image” J, IEEE sixth international conference o
49、n image processing, Japan, 1999.5 q.xiao, and h.raafat, “fingerprint image postprocessing: a combined statiscal and structural approach” J, pattern recognition. 24(10), 985-992,1991.6 l. ogorman, j.v.nickerson, “an approach to fingerprint filter design” J, pattern recognition. 22(1), 29-38,1989.7 學(xué)用
50、visual basic 編程M, 潭浩,西安電子科技大學(xué)出版社,20018 visual basic6.0 數(shù)據(jù)庫開發(fā)與專業(yè)應(yīng)用M,敬錚,國防工業(yè)出版社. 19999kenneth.r.castleman.數(shù)字圖像處理M,北京:電子工業(yè)出版社,199810王新成,高級圖像處理技術(shù)M,北京:中國科學(xué)技術(shù)出版社,200111鄭人杰,殷人昆,陶永雷.實用軟件工程M,北京:清華大學(xué)出版社,1997致 謝 每份畢業(yè)設(shè)計的完成總凝聚著許多人的指導(dǎo)與幫助,作為一個本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,知識的不足,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及其他同學(xué)們的支持,這個設(shè)計難以順利完成。
51、在這里首先要感謝我的導(dǎo)師蔣業(yè)文老師,他作為一個班主任,工作繁忙,然而不管是在電路圖的設(shè)計,總體設(shè)計思路,或者系統(tǒng)設(shè)計,程序編寫以及后期論文的寫作上都給予了我悉心的指導(dǎo)。我的基礎(chǔ)并不扎實,經(jīng)常遇到不懂的地方,蔣老師總是耐心的為我解答,指出我在設(shè)計中出現(xiàn)的錯誤,幫助我逐步完善整個設(shè)計方案。他的專業(yè)知識以及工作態(tài)度是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。其次要感謝許多在設(shè)計過程中幫助過我的同學(xué)。特別是劉志峰同學(xué),他給與了非常耐心的指導(dǎo),占用了他很多時間。還有同一組的鄧勇強與我一起解決在過程中遇到的難題。如果沒有他們的幫助,此次的設(shè)計完成將變得非常困難。附 錄附錄1.部分軟件程序1)系統(tǒng)登
52、陸部分Option ExplicitPublic LoginSucceeded As BooleanDim mIsModify As BooleanConst mAppSet = "Attendance"Const mStrSet = "Setting" Private Sub cmdCancel_Click() '設(shè)置全局變量為 false,指示登錄失敗 LoginSucceeded = False Me.HideEnd SubPrivate Sub cmdModify_Click() mIsModify = mIsModify Xor True SetText1 mIsModify If mIsModify Then Text1(0).SetFocus cmdModify.Caption = "取消修改" Else cmdModify.Caption = "修改密碼" txtPas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑監(jiān)理基礎(chǔ)施工協(xié)議
- 農(nóng)業(yè)創(chuàng)新園區(qū)停車場改造合同
- 鉆孔工程安全生產(chǎn)考核合同
- 環(huán)保工程木地板工程合同
- 醫(yī)院管理團(tuán)隊聘用合同
- 租用合同樣本:消防設(shè)備
- 護(hù)理科研項目管理與實施
- 藥品采購績效評估體系
- 電子產(chǎn)品招投標(biāo)市場現(xiàn)狀分析
- 陶瓷制品廠建設(shè)鋼結(jié)構(gòu)施工合同
- 鍋爐控制器modbus協(xié)議支持說明
- 粉末涂料有限公司危廢庫安全風(fēng)險分級管控清單
- 安全生產(chǎn)信息管理制度全
- 住宅物業(yè)危險源辨識評價表
- 世界主要國家洲別、名稱、首都、代碼、區(qū)號、時差匯總表
- 2023學(xué)年廣東省廣州市越秀區(qū)鐵一中學(xué)九年級(上)物理期末試題及答案解析
- 《報告文學(xué)研究》(07562)自考考試復(fù)習(xí)題庫(含答案)
- 安全操作規(guī)程
- 電源日常點檢記錄表
- 人教版小學(xué)三年級語文上冊期末測試卷.及答題卡2
- 鋼軌接頭位置及接頭聯(lián)結(jié)形式
評論
0/150
提交評論