彭 敏
(東北石油大學 圖書館, 黑龍江 大慶 163318)
近年來,隨著圖書資料的不斷增加和各個圖書館規模的擴張,有關圖書的各種數據也與日俱增,這大大增加了圖書館的各種管理的工作量,降低了圖書館的控制管理和運行的效率。所以,開發一套功能完善、易于操作、實用和高效的圖書管理系統是非常必要的。
目前,在大多數的圖書借閱管理系統中,一般都是通過貼有條形碼的借閱證來對讀者信息進行管理,對讀者的身份鑒別則采用傳統的人工識別模式,也就是由借閱管理人員人工識別借閱者的身份。在這種管理方式下,盜用和誤用他人借書證借書或者由于弄丟借書證而無法借閱的事情時有發生,給圖書管理和讀者借閱帶來了不必要的損失和不便,這也為圖書借還管理埋下了隱患。[1]因此,在圖書館借閱管理系統中建立一套準確而高效的讀者身份認證方式正成為各個圖書情報單位急需解決的一個問題。
本系統使用微軟.NET作為開發平臺,編程語言則采用C#,根據面向對象的軟件開發思想,使用微軟 SQL Server 2008關系數據庫作為該軟件的數據庫,使用功能很強大的SQL查詢語言建立和查詢修改關系數據庫,從而可以實現存取數據庫,以及對數據庫的更新等功能,從而較好地實現了需求分析中提出的各項功能。常見的開發模式有瀏覽器/服務器模式和客戶端/服務器模式,本系統采用了客戶端/服務器模式。
1.NET開發工具。
微軟的.NET開發平臺是一套完整的、功能強大的開發工具,用于生成Form窗體應用程序、Web網站應用程序和各種移動應用軟件開發等。.NET的一個顯著的優點是把Visual C#.NET、Visual J#.NET和Visual Basic.NET等集成在同一個開發環境下,并且可以使用一套相同的函數。該開發環境還允許共享工具和創建混合語言解決方案。此外,這幾種開發語言利用了.NET Framework的功能,.NET Framework是一個獨立的安裝軟件,容易安裝且兼容性好。一個計算機只需安裝.NET Framework,在沒有安裝.NET開發環境的情況下即可運行.NET開發環境下開發的軟件。[2]
2.Visual C#編程語言。
Visual C#是微軟公司重點推廣的一種面向對象的開發語言,是.NET開發環境的非常重要的一部分。它的編程風格和語法有些類似于C++,它繼承了C++的許多語法和關鍵字,但它又是與C++很不相同的語言。它丟掉了C++語言的一些復雜特性,例如不再使用指針,而且內存的管理采用自動管理的方式,而在C++語言中,分配堆空間和釋放堆空間都不是自動管理的。另外,C#語言還支持中文變量名稱,這給編程序帶來很大的便利,特別是在變量很多的時候,采用中文變量名/類名更容易記憶,寫出的代碼可讀性更強。[3]另外,.NET Framework還提供了非常多的類庫,每個類庫內又有很多方法和屬性,比較常見的屬性和方法在這些類庫中都能夠找到,這顯著減少了軟件開發周期,也減少了代碼編寫的工作量。
3.SQL Server數據庫。
SQL Server是一個常見的、功能完善的中型數據庫管理系統。它的操作要比Oracle和MySQL等相對簡便,但是功能也很強大,完全能夠勝任圖書借閱中的數據管理工作。它最初是由微軟、Sybase等三家公司共同開發的,后來微軟將SQL Server移植到Windows NT系統上,Sybase則主要開發該數據庫管理系統在UNIX上的應用,在本文中使用的是微軟的SQL Server,在后文中簡稱為SQL Server。[1]
SQL Server 2008是新一代數據庫管理系統(DBMS),也是當前比較主流的數據庫之一。它支持存儲過程、ODBC連接等功能,并具有自己的SQL語言。SQL Server以其強大的管理工具和內置的數據拷貝功能為廣大開發人員和系統集成商提供了一個優秀的關系數據庫平臺。[4]
指紋識別是指通過人的指紋驗證人的身份。它能夠根據指紋識別的方式驗證讀者的身份,有效防止冒用他人身份的情況。指紋識別圖書借閱管理能有效地對讀者借閱圖書的身份認證,解決讀者因卡丟失、消磁、遺忘等對借閱圖書產生的一系列問題,不但可以提高工作效率,而且還節省了許多人力物力,增強了學校資料的安全性。
1. 指紋識別原理及技術。
指紋識別技術主要涉及指紋圖像采集,指紋圖像預處理,特征提取,保存數據,特征值比對和匹配等過程。就是把現場采集到的指紋與一個已經在數據庫中存在的指紋進行一一比對,來確認身份的過程,認證的前提是他或她的指紋在數據庫中已經存在這樣才可以操作。
系統使用的指紋識別技術原理如圖1所示。

圖1 指紋技術原理圖
2. 指紋識別功能的實現。
指紋識別功能是該系統的重要組成部分。該系統采用了中控公司的指紋采集儀和指紋識別軟件開發包(SDK)。[5]該軟件開發包包括初始化、捕獲圖像、特征提取、特征比對等方法。如圖2所示,在錄入模式下,首先初始化指紋采集儀,然后調用相應的方法進入錄入模式,接下來如果有手指按壓的事件發生,就自動調用特征提取方法。如圖3所示,在比對模式下,首先初始化指紋采集儀,然后調用相應的方法進入比對模式,接下來如果有手指按壓的事件發生,就自動調用指紋比對方法。

圖2 指紋的錄入模式工作流程

圖3 指紋的比對模式工作流程
為了便于保存特征,采用了將二進制指紋特征轉換為文本字符串的方案。將一個字節的二進制字符轉換為兩個字節的文本字符。例如將十六進制字符0XAE轉換為兩個字符‘A’和‘E’,將轉換后的特征文本字符串保存到數據庫中。將來需要做指紋識別時,再把該特征文本字符串從數據庫中讀取出來,按照相反過程轉換為二進制字符串以后,即可對其進行識別。
本文設計并實現了一個通過指紋識別的方式正確驗證讀者身份的圖書館管理系統。使用此方式驗證讀者身份,可以防止讀者冒用他人身份借閱圖書。因為借書不用帶借書證,也避免了丟失借書證的情況。實驗測試中我們發現,如果讀者錄入的是拇指指紋,指紋識別不容易出錯,如果使用其它指紋,偶爾會出現拒識的情況,這是因為拇指的指紋紋理更粗一些,因此采集到的指紋圖像也更清楚一些。實際的使用表明該系統通過指紋識別,實現了對讀者的身份認證,是一個實用的、功能較完善的系統。
[1]付興宏.SQL Server 2000數據庫項目教程[M].化學工業出版社,2000: 12-32.
[2]崔淼,陳明非.Visual C# 2005 程序設計教程實訓與習題解答[M].北京:機械工業出版社,2008:11-13.
[3]李蘭友,楊曉光.Visual C#程序設計[M].北京:清華大學出版社,2005:11-13.
[4]王珊,薩師煊.數據庫系統概論[M].高等教育出版社,2006:70-100.
[5]http://cn.zksoftware.com [EB/OL].