田 青
(長春師范大學(xué)圖書館,吉林長春 130032)
進(jìn)入21世紀(jì)以來,信息技術(shù)從根本上推動了圖書館的飛速發(fā)展,計算機(jī)和計算機(jī)管理系統(tǒng)已成為圖書館進(jìn)行圖書管理的主要設(shè)備和系統(tǒng)。雖然目前很多大型的圖書館已經(jīng)有一整套比較完善的管理系統(tǒng),但是在一些中小型的圖書館中,大部分的工作仍需手工來完成,工作起來效率比較低,不便于動態(tài)、及時地調(diào)整圖書結(jié)構(gòu)。為了更好地適應(yīng)當(dāng)前圖書館的管理需求,解決手工管理效率低、容易出錯的問題,圖書管理電子化應(yīng)成為中小型圖書館的首要選擇。本文所開發(fā)的圖書館管理系統(tǒng)將先進(jìn)的信息技術(shù)運(yùn)用到圖書館管理和服務(wù)中,從而改變了圖書館的傳統(tǒng)管理模式。
基于上述考慮,本系統(tǒng)采用Visual Basic 程序語言作為前端的開發(fā)應(yīng)用工具,利用Access 2003 數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,利用Windows 作為系統(tǒng)平臺快發(fā)圖書管理系統(tǒng)。嚴(yán)格按照軟件工程學(xué)的方法進(jìn)行設(shè)計,從問題定義、可行性分析、系統(tǒng)總體設(shè)計、整體概念設(shè)計、系統(tǒng)詳細(xì)設(shè)計、系統(tǒng)運(yùn)行到后期維護(hù)、系統(tǒng)編碼以及軟件測試,每一階段都在前一階段基礎(chǔ)上設(shè)計,并在每一階段都有相應(yīng)的文檔資料。
手工的圖書管理不能準(zhǔn)確、完整、及時地為管理者和讀者提供圖書信息和數(shù)據(jù),使工作人員在管理過程中容易出錯,工作效率低下。因此,為了克服上述弊端,圖書管理的電子化成為發(fā)展的必然趨勢。圖書管理系統(tǒng)在圖書館工作人員的日常工作中起著尤為重要的作用,因此開發(fā)一套合理、有效、規(guī)范、實用的圖書館管理系統(tǒng)迫在眉睫。
通過對一些典型的圖書館管理系統(tǒng)的考察,從管理員和讀者的視角出發(fā),以操作方面界面美觀簡潔的原則,要求本系統(tǒng)具有以下特點:(1)具有友好的顯示界面。(2)處理效率快,操作簡便、實用,便于后期維護(hù)。(3)支持?jǐn)?shù)據(jù)備份和還原,保護(hù)系統(tǒng)數(shù)據(jù),減少不必要的損失。(4)數(shù)據(jù)計算系統(tǒng)自動完成,盡量減少人工干預(yù)。(5)本信息查詢時,可根據(jù)查詢條件動態(tài)顯示查詢結(jié)果。根據(jù)以上對圖書館管理系統(tǒng)的需求分析,一個標(biāo)準(zhǔn)的圖書館管理系統(tǒng)應(yīng)該包含信息設(shè)置、庫存管理、借閱管理、報表打印、系統(tǒng)維護(hù)等功能,每一個功能模塊都包含了一系列的子模塊。其整個系統(tǒng)功能如圖1所示。
信息設(shè)置功能實現(xiàn)對圖書類別設(shè)置、讀者信息設(shè)置、訂購新書等的維護(hù)。它提供增加、修改、刪除和查詢功能,其功能結(jié)構(gòu)如圖2所示。
圖1 圖書館管理系統(tǒng)功能結(jié)構(gòu)
圖2 功能模塊
主窗體用于調(diào)用程序的所有功能。用戶輸入正常的用戶名和密碼就可以進(jìn)入圖書館管理系統(tǒng)的主窗體中,該主窗體主要由菜單欄、帶圖片的工具欄、左側(cè)的樹狀導(dǎo)航菜單、右側(cè)的功能列表以及底部的狀態(tài)欄組成。用戶單擊左側(cè)樹狀導(dǎo)航菜單中的節(jié)點,可以在右側(cè)的窗格中顯示出該主菜單下的子菜單。例如,選擇“借閱管理”選項,將在右側(cè)窗格中顯示該菜單下的所有子菜單。
2.1.1 主窗體的設(shè)計
(1)在工程中新建一個窗體,命名為frmmain,設(shè)置Caption 屬性為“圖書館管理系統(tǒng)”,Boderstyle 屬性為1-Fixed Single,MinButton 屬性為True。(2)利用菜單編輯器設(shè)置圖書館管理系統(tǒng)的主菜單。選擇“工具”/“菜單編輯器”命令,打開菜單編輯器。(3)在窗體上添加一個TreeView 控件、一個ListView 控件和一個ImageList 控件。(4)在窗體上添加兩個ADO 控件,使用其默認(rèn)名,分別用于連接Table_zcd 表和Table_zcd_zcd表。(5)在窗體上添加一個StatusBar 控件。用鼠標(biāo)右鍵單擊StatusBar 控件,在彈出的快捷菜單中選擇“屬性”命令,在彈出的“屬性頁”對話框中選擇“窗格”選項卡,添加4個窗格,分別用于顯示歡迎信息、操作員、日期時間和程序網(wǎng)址。(6)在窗體上添加一個Timer 控件,使用默認(rèn)名,設(shè)置Interval 屬性為60,用于狀態(tài)欄顯示日期和時間。(7)在窗體上添加若干Label 控件,用于執(zhí)行相應(yīng)操作。
2.1.2 主窗體的代碼設(shè)計
(1)給菜單添加代碼
下面是“信息設(shè)置”/“圖書類別設(shè)置”菜單中的代碼:
Private Sub mnufen_Click()
frmbooksort.Show 1‘調(diào)用圖書類別設(shè)置窗體
End Sub
(2)鼠標(biāo)移動的效果
在菜單欄下面的位置是利用圖片和Label1 控件實現(xiàn)的類似工具欄功能的按鈕。在背景圖片上繪制出需要的功能,利用Label 控件顯示該圖片的功能名稱。這里顯示名稱的Label 控件是一個命名為Lbl_info 的控件數(shù)組,在每一個Lbl_info 控件和背景圖片上再放置一個Label 控件,用于觸發(fā)鼠標(biāo)移動事件,將其設(shè)置為名為Lbl_Pic 的控件數(shù)組。當(dāng)鼠標(biāo)在Lbl_Pic 控件上移動時,改變對應(yīng)的Lbl_info 控件中文字的顏色,將其設(shè)置為紅色;當(dāng)鼠標(biāo)在窗體上移動時,將Lbl_info 控件中文字的顏色設(shè)置為黑色。實現(xiàn)的關(guān)鍵代碼如下:
’鼠標(biāo)在Lbl_Pic 控件上移動
Private Sub Lbl_Pic_MouseMove(Index As Integer,Button As Integer,Shift As Integer,x As Single,y As Single)
Lbl_info(Index).ForeColor=RGB(255,0,0)
‘設(shè)置Lbl_info 的文字為紅色
End Sub
’鼠標(biāo)在窗體上移動
Private Sub Form_MouseMove(Button As Integer,Shift As Integer,x As Single,y As Single)
Dim i As Integer‘定義整形變量
For i=0 To Lbl_info.Count-1
Lbl_info(i).ForeColor=RGB(0,0,0)
‘設(shè)置所有Lbl_info 的文字為黑色
Next i
End Sub
(3)添加工具欄命令
當(dāng)用戶單擊Lbl_Pic 控件時,即可調(diào)用對應(yīng)的功能,這里利用數(shù)組Index 屬性來判斷單擊的是哪一個控件,并執(zhí)行對應(yīng)的功能。關(guān)鍵代碼如下:
Private Sub Lbl_Pic_Click(Index As Integer)
Select Case Index‘根據(jù)index 的不同調(diào)用不同的操作
Case 0:frmaddnew.Show 1‘調(diào)用圖書登記窗體
Case 1:frmdzxxgl.Show 1‘調(diào)用讀者管理窗體
Case 2:frmdzjsgl.Show 1‘調(diào)用借書管理窗體
Case 3:frmdzhsgl.Show 1‘調(diào)用還書管理窗體
Case 4:frmcqtx.Show 1‘調(diào)用超時提醒窗體
Case 5:frm_lb_cx.Show 1‘調(diào)用檢索圖書窗體
Case 6:End‘關(guān)閉程序
End Select
End Sub
2.2.1 讀者信息管理模塊的設(shè)計
讀者信息管理模塊的主要功能是對圖書館的讀者信息進(jìn)行管理,可以對該信息進(jìn)行增、刪、改、查等操作。在主菜單中選“信息設(shè)置”/“讀者信息設(shè)置”命令,即可進(jìn)入讀者信息管理窗體中,在該窗體中選擇“添加讀者”選項卡,單擊“增加”按鈕,開始添加讀者信息。信息添加完成后,單擊“保存”按鈕,開始添加讀者信息。信息添加完成后,單擊“保存”按鈕,即可將輸入的讀者信息保存到數(shù)據(jù)庫中。
2.2.2 讀者信息管理模塊的代碼設(shè)計
(1)自動生成讀者編號。運(yùn)行程序,在“添加讀者”選項卡中單擊“增加”按鈕,即可在“讀者編號”文本框中自動生成讀者編號,這里主要利用ADO 執(zhí)行SQL 語句,查詢數(shù)據(jù)庫中的讀者編號,將最后一個讀者的編號加1,生成新的讀者編號,并將其填寫到“讀者編號”文本框中,同時將焦點移動到“讀者姓名”文本框中。
(2)保存讀者信息。將讀者信息都輸入完后,單擊“保存”按鈕,即可將讀者信息保存到數(shù)據(jù)庫中。這里主要是用數(shù)據(jù)庫連接對象來執(zhí)行SQL 語句,將數(shù)據(jù)信息保存到數(shù)據(jù)庫中。
(3)修改讀者信息。如果讀者的基本信息發(fā)生改變,可以通過“修改信息”選項卡來修改讀者信息,并將其保存到數(shù)據(jù)庫中。運(yùn)行程序,選擇“修改信息”選項卡,在“讀者編號”文本框中輸入要修改的讀者編號,按Enter 鍵,如果存在該讀者信息,則將讀者的基本信息顯示在文本框中;否則,彈出提示信息,清空“讀者編號”文本框。這里主要是利用數(shù)據(jù)集對象執(zhí)行SQL 語句來查詢數(shù)據(jù)庫中是否存在該記錄。
2.3.1 讀者借書管理模塊的設(shè)計
讀者借書管理模塊的主要功能是將讀者的借書信息保存到數(shù)據(jù)庫中,并可以對讀者的借書信息進(jìn)行刪除操作。用戶在主窗體中選擇“借閱管理”/“讀者借書管理”命令,即可進(jìn)入到讀者借書管理模塊中。在該窗體中,用戶輸入“讀者編號”,按Enter 鍵,即可顯示讀者的姓名;在“條碼號”文本框中輸入讀者要借圖書的條碼,按Enter 鍵,即可顯示所借圖書的信息;輸入借書數(shù)量,單擊借書數(shù)量,單擊“借出當(dāng)前圖書”按鈕,即可將該圖書借出。
2.3.2 讀者借書管理模塊的代碼設(shè)計
(1)顯示讀者信息。用戶在“讀者編號”文本框中輸入讀者的編號信息,按Enter 鍵,系統(tǒng)將自動在讀者信息表(dzxxtb)中查找具有該讀者編號的讀者信息。如果具有該信息,則將讀者姓名顯示在“讀者姓名”文本框中,并將光標(biāo)設(shè)置在“條碼號”文本框中;如果沒有相應(yīng)的數(shù)據(jù)信息,則提示相應(yīng)的信息并清空。這里主要利用ADO 控件來實現(xiàn)數(shù)據(jù)查詢。
(2)顯示借閱信息。“條碼號”文本框用于輸入圖書的條碼,這個條碼一般是利用條形碼掃描器獲得的。在“條碼號”文本框中輸入圖書的條碼,當(dāng)該文本框失去焦點以后,就開始在圖書信息表(books)中查詢具有該條碼的圖書信息,如果查詢到信息,則將相應(yīng)的圖書信息顯示在對應(yīng)的文本框中;如果沒有相應(yīng)的圖書信息,則提示相應(yīng)的信息,并清空文本框。
(3)借出圖書。在“借出數(shù)量”文本框中輸入借書數(shù)量,然后單擊“借出當(dāng)前圖書”按鈕,即可借出圖書。此時系統(tǒng)會首先查看借書信息內(nèi)容添加是否完全,接著查看該讀者的借出本數(shù)是否超出限制,如果超出限制,則提示信息;否則,將該信息寫入讀者借書表(dzjstb),并將圖書信息表(books)中的“復(fù)本數(shù)”和“借書數(shù)量”兩個字段的數(shù)據(jù)進(jìn)行修改,執(zhí)行完畢后,彈出提示信息,并刷新圖書信息表中的內(nèi)容。
圖書丟失管理模塊的主要功能是記錄圖書丟失信息。用戶在主窗體中選擇“借閱管理”/“圖書丟失管理”命令,即可進(jìn)入到圖書丟失管理模塊中。在該模塊中輸入讀者的編號和丟失圖書的條碼號,按Enter 鍵即可顯示該讀者借閱該書的信息,單擊“丟失”按鈕顯示“丟失”,單擊“確定”按鈕,將丟失信息寫入數(shù)據(jù)庫。在該模塊中還可以對丟失圖書的信息進(jìn)行查詢,輸入查詢條件,例如,查詢讀者編號是100003 的圖書丟失信息,單擊“查詢”按鈕,即可將編號是100003 的讀者的圖書丟失信息顯示在表格中。最后,使用黑盒測試方法,對系統(tǒng)需求分析階段與概要設(shè)計階段提出的功能要求進(jìn)行逐一測試。
[1]高春燕,劉彬彬.Visual Basic 開發(fā)實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2010.
[2]劉瑞新.Visual Basic 管理信息系統(tǒng)開發(fā)畢業(yè)設(shè)計指導(dǎo)及實例[M].北京:機(jī)械工業(yè)出版社,2005.
[3]龍冬云.數(shù)據(jù)庫原理與應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[4]張海藩.軟件工程導(dǎo)論[M].4 版.北京:清華大學(xué)出版社,2003.
[5]黎連業(yè),李淑春.管理信息系統(tǒng)設(shè)計與實施[M].北京:清華大學(xué)出版社,1998.
[6]Roger Jennings.中文Access 2000 開發(fā)使用手冊[M].北京:機(jī)械工業(yè)出版社,2007.
[7]劉炳文.Visual Basic 程序設(shè)計教程[M].3 版.北京:清華大學(xué)出版社,2006.
[8]劉文濤.Visual Basic+Access 數(shù)據(jù)庫開發(fā)與實例[M].北京:清華大學(xué)出版社,2006.
[9]胡大敏.載體媒體視閾下大學(xué)圖書館閱讀推廣研究[J].大學(xué)圖書館學(xué)報,2012(3):96-99.