一、系統(tǒng)可行性分析與總體設(shè)計(jì)
通過對(duì)一些典型的圖書館管理系統(tǒng)的考察,從管理員和讀者的視角出發(fā),以操作方面界面美觀簡(jiǎn)潔的原則,要求本系統(tǒng)具有以下特點(diǎn):
(1)具有友好的顯示界面。
(2)處理效率快,操作簡(jiǎn)便、實(shí)用,便于后期維護(hù)。
(3)支持?jǐn)?shù)據(jù)備份和還原,保護(hù)系統(tǒng)數(shù)據(jù),減少不必要的損失。
(4)數(shù)據(jù)計(jì)算系統(tǒng)自動(dòng)完成,盡量減少人工干預(yù)。
(5)本信息查詢時(shí),可根據(jù)查詢條件動(dòng)態(tài)顯示查詢結(jié)果。根據(jù)以上對(duì)圖書館管理系統(tǒng)的需求分析,一個(gè)標(biāo)準(zhǔn)的圖書館管理系統(tǒng)應(yīng)該包含信息設(shè)置、庫(kù)存管理、借閱管理、報(bào)表打印、系統(tǒng)維護(hù)等功能,每一個(gè)功能模塊都包含了一系列的子模塊。信息設(shè)置功能實(shí)現(xiàn)對(duì)圖書類別設(shè)置、讀者信息設(shè)置、訂購(gòu)新書等的維護(hù)。它提供增加、修改、刪除和查詢功能。2圖書館管理系統(tǒng)具體實(shí)現(xiàn)
二、主窗體的實(shí)現(xiàn)過程
主窗體用于調(diào)用程序的所有功能。用戶輸入正常的用戶名和密碼就可以進(jìn)入圖書館管理系統(tǒng)的主窗體中,該主窗體主要由菜單欄、帶圖片的工具欄、左側(cè)的樹狀導(dǎo)航菜單、右側(cè)的功能列表以及底部的狀態(tài)欄組成。用戶單擊左側(cè)樹狀導(dǎo)航菜單中的節(jié)點(diǎn),可以在右側(cè)的窗格中顯示出該主菜單下的子菜單。例如,選擇“借閱管理”選項(xiàng),將在右側(cè)窗格中顯示該菜單下的所有子菜單。
1、主窗體的設(shè)計(jì)
(1)在工程中新建一個(gè)窗體,命名為frmmain,設(shè)置Caption屬性為“圖書館管理系統(tǒng)”,Boderstyle屬性為1-FixedSingle,MinButton屬性為True。
(2)利用菜單編輯器設(shè)置圖書館管理系統(tǒng)的主菜單。選擇“工具”/“菜單編輯器”命令,打開菜單編輯器。
(3)在窗體上添加一個(gè)TreeView控件、一個(gè)ListView控件和一個(gè)Im-ageList控件。
(4)在窗體上添加兩個(gè)ADO控件,使用其默認(rèn)名,分別用于連接Table_zcd表和Table_zcd_zcd表。
(5)在窗體上添加一個(gè)StatusBar控件。用鼠標(biāo)右鍵單擊StatusBar控件,在彈出的快捷菜單中選擇“屬性”命令,在彈出的“屬性頁(yè)”對(duì)話框中選擇“窗格”選項(xiàng)卡,添加4個(gè)窗格,分別用于顯示歡迎信息、操作員、日期時(shí)間和程序網(wǎng)址。
(6)在窗體上添加一個(gè)Timer控件,使用默認(rèn)名,設(shè)置Interval屬性為60,用于狀態(tài)欄顯示日期和時(shí)間。(7)在窗體上添加若干Label控件,用于執(zhí)行相應(yīng)操作。
2、主窗體的代碼設(shè)計(jì)
(1)給菜單添加代碼下面是“信息設(shè)置”/“圖書類別設(shè)置”菜單中的代碼:PrivateSubmnufen_Click()frmbooksort.Show1‘調(diào)用圖書類別設(shè)置窗體EndSub
(2)鼠標(biāo)移動(dòng)的效果在菜單欄下面的位置是利用圖片和Label1控件實(shí)現(xiàn)的類似工具欄功能的按鈕。在背景圖片上繪制出需要的功能,利用Label控件顯示該圖片的功能名稱。這里顯示名稱的Label控件是一個(gè)命名為L(zhǎng)bl_info的控件數(shù)組,在每一個(gè)Lbl_info控件和背景圖片上再放置一個(gè)Label控件,用于觸發(fā)鼠標(biāo)移動(dòng)事件,將其設(shè)置為名為L(zhǎng)bl_Pic的控件數(shù)組。當(dāng)鼠標(biāo)在Lbl_Pic控件上移動(dòng)時(shí),改變對(duì)應(yīng)的Lbl_info控件中文字的顏色,將其設(shè)置為紅色;當(dāng)鼠標(biāo)在窗體上移動(dòng)時(shí),將Lbl_info控件中文字的顏色設(shè)置為黑色。實(shí)現(xiàn)的關(guān)鍵代碼如下:’鼠標(biāo)在Lbl_Pic控件上移動(dòng)PrivateSubLbl_Pic_MouseMove(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSin-gle)Lbl_info(Index).ForeColor=RGB(255,0,0)‘設(shè)置Lbl_info的文字為紅色EndSub’鼠標(biāo)在窗體上移動(dòng)PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)DimiAsInteger‘定義整形變量Fori=0ToLbl_info.Count-1Lbl_info(i).ForeColor=RGB(0,0,0)‘設(shè)置所有Lbl_info的文字為黑色NextiEndSub
(3)添加工具欄命令當(dāng)用戶單擊Lbl_Pic控件時(shí),即可調(diào)用對(duì)應(yīng)的功能,這里利用數(shù)組Index屬性來判斷單擊的是哪一個(gè)控件,并執(zhí)行對(duì)應(yīng)的功能。關(guān)鍵代碼如下:PrivateSubLbl_Pic_Click(IndexAsInteger)SelectCaseIndex‘根據(jù)index的不同調(diào)用不同的操作Case0:frmaddnew.Show1‘調(diào)用圖書登記窗體Case1:frmdzxxgl.Show1‘調(diào)用讀者管理窗體Case2:frmdzjsgl.Show1‘調(diào)用借書管理窗體Case3:frmdzhsgl.Show1‘調(diào)用還書管理窗體Case4:frmcqtx.Show1‘調(diào)用超時(shí)提醒窗體Case5:frm_lb_cx.Show1‘調(diào)用檢索圖書窗體Case6:End‘關(guān)閉程序EndSelectEndSub
3、讀者信息管理模塊的實(shí)現(xiàn)過程
(1)讀者信息管理模塊的設(shè)計(jì)
讀者信息管理模塊的主要功能是對(duì)圖書館的讀者信息進(jìn)行管理,可以對(duì)該信息進(jìn)行增、刪、改、查等操作。在主菜單中選“信息設(shè)置”/“讀者信息設(shè)置”命令,即可進(jìn)入讀者信息管理窗體中,在該窗體中選擇“添加讀者”選項(xiàng)卡,單擊“增加”按鈕,開始添加讀者信息。信息添加完成后,單擊“保存”按鈕,開始添加讀者信息。信息添加完成后,單擊“保存”按鈕,即可將輸入的讀者信息保存到數(shù)據(jù)庫(kù)中。
(2)讀者信息管理模塊的代碼設(shè)計(jì)
①自動(dòng)生成讀者編號(hào)。運(yùn)行程序,在“添加讀者”選項(xiàng)卡中單擊“增加”按鈕,即可在“讀者編號(hào)”文本框中自動(dòng)生成讀者編號(hào),這里主要利用ADO執(zhí)行SQL語句,查詢數(shù)據(jù)庫(kù)中的讀者編號(hào),將最后一個(gè)讀者的編號(hào)加1,生成新的讀者編號(hào),并將其填寫到“讀者編號(hào)”文本框中,同時(shí)將焦點(diǎn)移動(dòng)到“讀者姓名”文本框中。
②保存讀者信息。將讀者信息都輸入完后,單擊“保存”按鈕,即可將讀者信息保存到數(shù)據(jù)庫(kù)中。這里主要是用數(shù)據(jù)庫(kù)連接對(duì)象來執(zhí)行SQL語句,將數(shù)據(jù)信息保存到數(shù)據(jù)庫(kù)中。
③修改讀者信息。如果讀者的基本信息發(fā)生改變,可以通過“修改信息”選項(xiàng)卡來修改讀者信息,并將其保存到數(shù)據(jù)庫(kù)中。運(yùn)行程序,選擇“修改信息”選項(xiàng)卡,在“讀者編號(hào)”文本框中輸入要修改的讀者編號(hào),按Enter鍵,如果存在該讀者信息,則將讀者的基本信息顯示在文本框中;否則,彈出提示信息,清空“讀者編號(hào)”文本框。這里主要是利用數(shù)據(jù)集對(duì)象執(zhí)行SQL語句來查詢數(shù)據(jù)庫(kù)中是否存在該記錄。
4、讀者借書管理模塊的實(shí)現(xiàn)過程
(1)讀者借書管理模塊的設(shè)計(jì)讀者借書管理模塊的主要功能是將讀者的借書信息保存到數(shù)據(jù)庫(kù)中,并可以對(duì)讀者的借書信息進(jìn)行刪除操作。用戶在主窗體中選擇“借閱管理”/“讀者借書管理”命令,即可進(jìn)入到讀者借書管理模塊中。在該窗體中,用戶輸入“讀者編號(hào)”,按Enter鍵,即可顯示讀者的姓名;在“條碼號(hào)”文本框中輸入讀者要借圖書的條碼,按Enter鍵,即可顯示所借圖書的信息;輸入借書數(shù)量,單擊借書數(shù)量,單擊“借出當(dāng)前圖書”按鈕,即可將該圖書借出。
(2)讀者借書管理模塊的代碼設(shè)計(jì)
①顯示讀者信息。用戶在“讀者編號(hào)”文本框中輸入讀者的編號(hào)信息,按Enter鍵,系統(tǒng)將自動(dòng)在讀者信息表(dzxxtb)中查找具有該讀者編號(hào)的讀者信息。如果具有該信息,則將讀者姓名顯示在“讀者姓名”文本框中,并將光標(biāo)設(shè)置在“條碼號(hào)”文本框中;如果沒有相應(yīng)的數(shù)據(jù)信息,則提示相應(yīng)的信息并清空。這里主要利用ADO控件來實(shí)現(xiàn)數(shù)據(jù)查詢。
②顯示借閱信息。“條碼號(hào)”文本框用于輸入圖書的條碼,這個(gè)條碼一般是利用條形碼掃描器獲得的。在“條碼號(hào)”文本框中輸入圖書的條碼,當(dāng)該文本框失去焦點(diǎn)以后,就開始在圖書信息表(books)中查詢具有該條碼的圖書信息,如果查詢到信息,則將相應(yīng)的圖書信息顯示在對(duì)應(yīng)的文本框中;如果沒有相應(yīng)的圖書信息,則提示相應(yīng)的信息,并清空文本框。
③借出圖書。在“借出數(shù)量”文本框中輸入借書數(shù)量,然后單擊“借出當(dāng)前圖書”按鈕,即可借出圖書。此時(shí)系統(tǒng)會(huì)首先查看借書信息內(nèi)容添加是否完全,接著查看該讀者的借出本數(shù)是否超出限制,如果超出限制,則提示信息;否則,將該信息寫入讀者借書表(dzjstb),并將圖書信息表(books)中的“復(fù)本數(shù)”和“借書數(shù)量”兩個(gè)字段的數(shù)據(jù)進(jìn)行修改,執(zhí)行完畢后,彈出提示信息,并刷新圖書信息表中的內(nèi)容。
5、圖書丟失管理模塊的實(shí)現(xiàn)過程
圖書丟失管理模塊的主要功能是記錄圖書丟失信息。用戶在主窗體中選擇“借閱管理”/“圖書丟失管理”命令,即可進(jìn)入到圖書丟失管理模塊中。在該模塊中輸入讀者的編號(hào)和丟失圖書的條碼號(hào),按Enter鍵即可顯示該讀者借閱該書的信息,單擊“丟失”按鈕顯示“丟失”,單擊“確定”按鈕,將丟失信息寫入數(shù)據(jù)庫(kù)。在該模塊中還可以對(duì)丟失圖書的信息進(jìn)行查詢,輸入查詢條件,例如,查詢讀者編號(hào)是100003的圖書丟失信息,單擊“查詢”按鈕,即可將編號(hào)是100003的讀者的圖書丟失信息顯示在表格中。最后,使用黑盒測(cè)試方法,對(duì)系統(tǒng)需求分析階段與概要設(shè)計(jì)階段提出的功能要求進(jìn)行逐一測(cè)試。
作者:田青 單位:長(zhǎng)春師范大學(xué)圖書館