2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  圖書管理系統(tǒng)</b></p><p><b>  目 錄</b></p><p>  摘 要 III</p><p>  AbstractIV</p><p><b>  前 言V</b></p><p>

2、  第一章 綜述 ………………………………………………………………………… 1</p><p>  1.1 圖書館管理系統(tǒng)開發(fā)背景1</p><p>  1.2 圖書館管理系統(tǒng)的目的和意義2</p><p>  第二章 系統(tǒng)分析設計3</p><p>  2.1 系統(tǒng)功能分析3</p><p>  2

3、.2 系統(tǒng)功能模塊設計3</p><p>  第三章 數(shù)據(jù)庫分析與設計5</p><p>  3.1 數(shù)據(jù)庫需求分析5</p><p>  3.2 數(shù)據(jù)庫概念結構設計5</p><p>  3.3 數(shù)據(jù)庫邏輯結構設計7</p><p>  3.3.1 書籍信息表7</p><

4、p>  3.3.2 讀者信息表8</p><p>  3.3.3 借閱信息表8</p><p>  3.3.4 讀者類別表8</p><p>  3.3.5 用戶表8</p><p>  3.4 讀者借書過程的數(shù)據(jù)流圖和數(shù)據(jù)詞典8</p><p>  3.4.1 數(shù)據(jù)流圖8</p>

5、;<p>  3.4.2 數(shù)據(jù)詞典9</p><p>  3.5 讀者還書過程的數(shù)據(jù)流圖和數(shù)據(jù)詞典12</p><p>  3.5.1 數(shù)據(jù)流圖11</p><p>  3.5.2 數(shù)據(jù)詞典12</p><p>  第四章 系統(tǒng)詳細設計與實現(xiàn)14</p><p>  4.1 圖書館管

6、理信息系統(tǒng)主窗體的創(chuàng)建14</p><p>  4.2 系統(tǒng)用戶管理模塊的創(chuàng)建16</p><p>  4.3 添加讀者種類窗體的創(chuàng)建20</p><p>  4.4 查詢圖書信息與借書窗體的創(chuàng)建22</p><p>  第五章 結果與討論28</p><p>  5.1 工作成果28</p

7、><p>  5.2 問題與不足28</p><p>  5.3 學習心得28</p><p><b>  參考文獻30</b></p><p><b>  致 謝31</b></p><p><b>  摘 要</b></p>

8、;<p>  隨著科學技術的迅猛發(fā)展,圖書館管理工作的自動化所需的軟硬件條件已經(jīng)成熟。因此,我按照軟件工程思想和管理信息系統(tǒng)的開發(fā)步驟,以圖書館的應用需求為背景,設計開發(fā)了本圖書館管理系統(tǒng)。</p><p>  圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS)。本文介紹了在Visual Basic 6.0環(huán)境下開發(fā)本系統(tǒng)的詳細過程,提出實現(xiàn)圖書館信息管理、資源共享的基本目標,從而推動邁向數(shù)字化圖書館的步伐

9、,并闡述系統(tǒng)結構設計和功能設計,從圖書的入庫登記到查詢?yōu)g覽,從借書證發(fā)放到圖書的借閱,形成了一個整體自動化管理模式,從軟件工程的角度進行了科學而嚴謹?shù)年U述。</p><p>  關鍵詞: 圖書管理 數(shù)據(jù) 瀏覽 </p><p><b>  ABSTRACT</b></p><p>  Along with the rapid de

10、velopment of science and technology, the library automation management work for software and hardware conditions ripe. Therefore, I according to software engineering idea and the management information system development

11、 steps in the library, the application for background, design the library management system.</p><p>  The library management system is the typical information management system (MIS). Introduced in the Visua

12、l Basic 6.0 under the environment of development of the system, and puts forward the detailed process of library, information management, resources sharing, and promote the Basic goal towards the pace of the digital libr

13、ary, and expounds the construction and design of the system and function of books, from design to browse, inquires from card issued to books borrowing, formed a whole automati</p><p>  Keywords:Library Manag

14、ement Data Browse</p><p><b>  前 言</b></p><p>  隨著計算機網(wǎng)絡技術與通信技術的發(fā)展,人類已進入信息化社會,人們對信息和數(shù)據(jù)的利用與處理也已進入自動化、網(wǎng)絡化和社會化階段,因此,開發(fā)相關的信息管理系統(tǒng)已成為社會各行各業(yè)之必須,計算機學科作為一門邊緣學科,集管理科學、信息科學、系統(tǒng)科學、現(xiàn)代通信技術和計

15、算機技術于一身,可以解決企業(yè)或組織所面臨的問題。</p><p>  圖書館管理系統(tǒng)是一種典型的信息管理系統(tǒng),它的設計與開發(fā)遵循信息管理系統(tǒng)開發(fā)的方法。信息管理系統(tǒng)的開發(fā)方法有生命周期法、原型法和面向對象的開發(fā)方法等,并且管理信息系統(tǒng)的開發(fā)是一個開發(fā)周期長、技術要求高、影響因素多的復雜系統(tǒng)工程,因此我欲采用面向對象的方法開發(fā)小型圖書管理系統(tǒng),以完善個人、小型圖書館、中小型企事業(yè)單位的圖書管理。本畢業(yè)設計研究的主要

16、內容是:使用者需要憑用戶名和密碼才能進入圖書館管理系統(tǒng);管理員可以對圖書、用戶等信息進入增加、修改、刪除等操作;也可以進行借出操作和歸還操作;用戶可以實現(xiàn)多種不同方式查詢。</p><p>  本設計主要用于中小規(guī)模的圖書管理,總體任務是使圖書管理工作規(guī)范化、系統(tǒng)化、程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。</p><p><

17、;b>  第一章 綜述</b></p><p>  隨著各圖書館的圖書的數(shù)量不斷增多和圖書館規(guī)模的不斷擴大,管理這些龐大的體系非常困難的,因為圖書的情況是隨時改變的,因此必需對圖書進行動態(tài)的管理,而這對于一個管理人員來說是一件比較復雜的事情,存儲、查詢、借閱是必不可少的業(yè)務。</p><p>  為了能讓管理員從繁重的工作中解脫出來,使管理員在使用一個軟件以后能極其容易

18、地對所有圖書進行管理,并且準確無誤,輕松自如。因此開發(fā)一個圖書館管理系統(tǒng)軟件是當務之急,也是本畢業(yè)設計選題的重要意義和研究宗旨。</p><p>  圖書館管理系統(tǒng)的流通部分是所有圖書館系統(tǒng)中最重要的部分,流通系統(tǒng)將讀者與圖書、讀者與管理員、讀者與讀者相互間聯(lián)系起來,而且流通系統(tǒng)處理的數(shù)據(jù)類型多,數(shù)量大,精細且頻繁,因而需要系統(tǒng)應具備較完善的檢驗防錯功能,從而根據(jù)系統(tǒng)的運行及反饋信息高質量,高效率地管理系統(tǒng)流通部

19、門的全部功能。</p><p>  由于時間倉促和本人水平有限,不當之處在所難免,請各位老師批評指正。</p><p>  1.1 圖書館管理系統(tǒng)開發(fā)背景</p><p>  當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效

20、率,而且大大的提高了其安全性。 尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設計的。 圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質的

21、手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)</p><p>  1.2 圖書館

22、管理系統(tǒng)的目的和意義</p><p>  我們要實現(xiàn)科學技術現(xiàn)代化,圖書情報工作的現(xiàn)代化是極其重要的,又由于科學和技術的不斷發(fā)展和進步,現(xiàn)代技術是一個動態(tài)的概念.第二次世界大戰(zhàn)以來,以計算機技術為代表的現(xiàn)代技術有了巨大的發(fā)展,而且還在迅速的變化發(fā)展之中,70年代后期,出現(xiàn)圖書情報工作的 “聯(lián)機革命”,使計算機更廣泛地,更有效的應用到各個角落,發(fā)達國家較重視這一領域的發(fā)展,我國尚存在較大的差距。所以我們說,圖書情報

23、工作計算機化是提高我國科學技術水平的一項帶有重大戰(zhàn)略意義的措施,它是圖書情報工作現(xiàn)代化的重要標志。</p><p>  計算機技術是現(xiàn)代技術的一部分,圖書自動化也只是圖書館現(xiàn)代化的一部分,它們之間是部分和整體的關系,但由于計算機技術是信息技術的心臟,現(xiàn)代社會的驕子,信息社會的科技主角,所以在圖書館現(xiàn)代技術中,計算機技術處于核心地位,它對于其他現(xiàn)代化設備起控制,連接和轉換的作用,而圖書館自動化是圖書館現(xiàn)代化的核心和

24、主導部分。圖書情報的計算機管理系統(tǒng)能提高圖書館本身管理水平,能代替工作人員進行圖書情報資料的某些加工處理,把工作人員從繁重的手工勞動,重復勞動中解放出來。</p><p>  總之,建立圖書館的計算機自動化管理系統(tǒng),不但可以大大提高圖書館圖書流通率,而且推動了社會文化生活的進步。</p><p>  本論文以圖書館管理信息系統(tǒng)的需求分析及概念設計為切入點,運用理論與實際相結合的方法,構建一

25、個包含讀者信息,書籍信息和借閱信息的圖書館管理系統(tǒng)。圖書館管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。</p><p>  因此本人結合開放式圖書館的要求,對Access數(shù)據(jù)庫管理系統(tǒng)、Visual Basic程序設計進行了較深入的學習和應用,主

26、要完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設計了數(shù)據(jù)庫結構和應用程序。希望本文所設計的圖書館管理系統(tǒng)能夠滿足借閱者和圖書館管理人員的需求。</p><p>  第二章 系統(tǒng)分析設計</p><p>  2.1 系統(tǒng)功能分析</p><p>  系統(tǒng)開發(fā)的總體任務是實現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動化。</p><

27、p>  系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成。本設計中的圖書館管理信息系統(tǒng)需要完成功能主要有:</p><p>  1.有關讀者種類標準的制定、種類信息的輸入,包括種類編號、種類名稱、借書數(shù)量、借書期限等。</p><p>  2.讀者種類信息的修改、查詢等。</p><p>  3.讀者基本信息的輸入,包括讀者編號、讀者姓名、讀者種類、讀者性別、工

28、作單位、家庭住址、電話號碼、辦證日期等。</p><p>  4.讀者基本信息的查詢、修改,包括讀者編號、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、辦證日期等。</p><p>  5.書籍信息的輸入,包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、登記日期等。</p><p>  6.書籍信息的查詢、修改,包括書籍編號、書籍名稱

29、、書籍類別、作者姓名、出版社名稱、出版日期、登記日期等。</p><p>  7.借書信息的輸入,包括借書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期等。</p><p>  8.借書信息的查詢、修改,包括借書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期等。</p><p>  9.還書信息的輸入,包括還書信息編號、讀者編號、讀者姓名、書

30、籍編號、書籍名稱、借書日期、還書日期等。</p><p>  10.還書信息查詢和修改,包括還書信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期等。</p><p>  2.2 系統(tǒng)功能模塊設計</p><p>  對上述各項功能進行集中、模塊劃分,按照結構化程序設計的要求,得到如圖2.1所示的系統(tǒng)功能模塊圖。</p><

31、;p>  圖2.1 系統(tǒng)功能模塊圖</p><p>  第三章 數(shù)據(jù)庫分析與設計</p><p>  3.1 數(shù)據(jù)庫需求分析</p><p>  用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結構以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為以后的具體設計打下基礎。</

32、p><p>  針對一般圖書館管理信息系統(tǒng)的需求,通過對圖書館管理工作過程的內容和數(shù)據(jù)流程分析,設計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結構:</p><p>  1.讀者種類信息,包括的數(shù)據(jù)項有:種類編號、種類名稱、借書數(shù)量、借書期限、有效期限等。</p><p>  2.讀者信息,包括的數(shù)據(jù)項有:讀者編號、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號碼、辦證日期等。

33、</p><p>  3.書籍類別信息,包括的數(shù)據(jù)項有:類別編號、類別名稱等。</p><p>  4.書籍信息,包括的數(shù)據(jù)項有:包括書籍編號、書籍名稱、書籍類別、作者姓名、出版社名稱、出版日期、登記日期等。</p><p>  5.借閱信息,包括的數(shù)據(jù)項有:借閱信息編號、讀者編號、讀者姓名、書籍編號、書籍名稱、借書日期、還書日期等。</p><

34、p>  有了上面的數(shù)據(jù)結構、數(shù)據(jù)項和數(shù)據(jù)流程,就可以進行下面的數(shù)據(jù)庫設計了。</p><p>  3.2 數(shù)據(jù)庫概念結構設計</p><p>  得到上面的數(shù)據(jù)項和數(shù)據(jù)結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。</p><p>  本實例根據(jù)上面的設計規(guī)劃出的實體有:讀者類別信息實體、讀者信息實體、書籍

35、類別信息實體、書籍信息實體、借閱信息實體。各個實體具體的描述E-R圖如下。</p><p>  讀者類別信息實體E-R圖如圖3.1所示。</p><p>  圖3.1 讀者類別信息實體E-R圖</p><p>  讀者信息實體E-R圖如圖3.2所示。</p><p>  圖3.2 讀者信息實體E-R圖</p><p&g

36、t;  書籍類別信息實體E-R圖如圖3.3所示。</p><p>  圖3.3 書籍類別信息實體E-R圖</p><p>  書籍信息實體E-R圖如圖3.4所示。</p><p>  圖3.4 書籍信息實體E-R圖</p><p>  借閱信息實體E-R圖如圖3.5所示。</p><p>  圖3.5 借閱信息實

37、體E-R圖</p><p>  實體之間相互關系的E-R圖如圖3.6所示。</p><p>  圖3.6 實體之間關系的E-R圖</p><p>  3.3 數(shù)據(jù)庫邏輯結構設計</p><p>  3.3.1 書籍信息表</p><p>  由多個圖書記錄構成。</p><p>  圖

38、書記錄的數(shù)據(jù)結構如下:</p><p>  3.3.2 讀者信息表</p><p><b>  由多個讀者記錄構成</b></p><p>  讀者記錄的數(shù)據(jù)結構如下:</p><p>  3.3.3 借閱信息表</p><p>  由若干個借書記錄構成</p><p>

39、;  借書記錄的數(shù)據(jù)結構如下:</p><p>  3.3.4 讀者類別表</p><p>  有單個系統(tǒng)設置記錄構成</p><p>  系統(tǒng)設置記錄的數(shù)據(jù)結構如下:</p><p>  3.3.5 用戶表</p><p>  由若干個系統(tǒng)操作員記錄構成</p><p>  系統(tǒng)操作員記錄

40、的數(shù)據(jù)結構如下:</p><p>  3.4 讀者借書過程的數(shù)據(jù)流圖和數(shù)據(jù)詞典</p><p>  3.4.1 數(shù)據(jù)流圖</p><p>  讀者借書過程數(shù)據(jù)流程如圖3.7所示。</p><p>  圖3.7 讀者借書過程</p><p>  3.4.2 數(shù)據(jù)詞典</p><p> 

41、 1.數(shù)據(jù)源點及匯點描述:</p><p><b> ?、琶Q:讀者</b></p><p>  簡要描述:借書、還書、查詢及登記注冊</p><p>  有關數(shù)據(jù)流:借書證;所借書本</p><p><b> ?、泼Q:日歷</b></p><p><b>  簡

42、要描述:當日日期</b></p><p><b>  有關數(shù)據(jù)流:年月日</b></p><p>  2.加工邏輯詞條描述:</p><p><b> ?、偶庸っ航钑鴻z驗</b></p><p><b>  加工編號:1</b></p><p&

43、gt;  簡要描述:檢驗讀者身份、圖書是否入庫、讀者還能借多少書以此判定讀者是否能借書</p><p>  輸入數(shù)據(jù)流:借書證;所借書本,讀者信息,圖書信息,圖書訪問記錄,日期</p><p>  輸出數(shù)據(jù)流:借書錯誤信息,借書信息</p><p>  加工邏輯:IF 借書證未登記入庫 THEN</p><p><b>  發(fā)出“

44、借書錯誤”</b></p><p>  ELSE IF 圖書未登記入庫 THEN</p><p><b>  發(fā)出“借書錯誤”</b></p><p>  ELSE IF 讀者已借圖書和現(xiàn)借圖書多于限制數(shù)N THEN</p><p><b>  發(fā)出“借書錯誤”</b></p&g

45、t;<p>  ELSE IF 讀者已借圖書中有超期  THEN</p><p><b>  發(fā)出“借書錯誤”</b></p><p>  ELSE 發(fā)出“借書信息”</p><p><b>  ENDIF</b></p><p><b>  ENDIF</b>&

46、lt;/p><p><b>  ENDIF</b></p><p><b>  ENDIF</b></p><p><b> ?、萍庸っ航钑怯?lt;/b></p><p><b>  加工編號:2</b></p><p>  簡要描述:

47、將“借書信息”登記到“圖書訪問記錄庫圖書訪問記錄”中,完成后將書本遞交讀者</p><p>  輸入數(shù)據(jù)流:借書信息,日期</p><p>  輸出數(shù)據(jù)流:圖書訪問記錄,圖書</p><p>  加工邏輯:將借書信息及日期寫入圖書訪問記錄;</p><p>  3.數(shù)據(jù)流名詞條描述:</p><p><b>

48、 ?、艛?shù)據(jù)流名:借書證</b></p><p>  說明:用以攜帶讀者的唯一識別標識</p><p><b>  數(shù)據(jù)流來源:讀者</b></p><p>  數(shù)據(jù)流去向:借書檢驗</p><p>  數(shù)據(jù)流組成:借書證=借書證號+姓名+聯(lián)系方法</p><p>  借書證號=“000

49、000001”..“999999999”</p><p>  姓名=2{字母}24</p><p>  聯(lián)系方法=4{字母}50</p><p><b> ?、茢?shù)據(jù)流名:圖書</b></p><p>  說明:記錄圖書的主要相關信息</p><p><b>  數(shù)據(jù)流來源:讀者</

50、b></p><p>  數(shù)據(jù)流去向:借書檢驗</p><p>  數(shù)據(jù)流組成:圖書=書號+書名+作者+出版社</p><p>  書號=“000000001”..“999999999”</p><p>  書名=2{字母}24</p><p>  作者=2{字母}24</p><p> 

51、 出版社=2{字母}24</p><p> ?、菙?shù)據(jù)流名:檢驗錯誤</p><p>  說明:用于指示讀者借書錯誤信息</p><p>  數(shù)據(jù)流來源:借書檢驗</p><p><b>  數(shù)據(jù)流去向:讀者</b></p><p>  數(shù)據(jù)流組成:檢驗錯誤=2{字母}40</p>&

52、lt;p> ?、葦?shù)據(jù)流名:借書信息</p><p>  說明:用于傳遞讀者號和圖書號</p><p>  數(shù)據(jù)流來源:借書檢驗</p><p>  數(shù)據(jù)流去向:借書登記</p><p>  數(shù)據(jù)流組成:借書信息=借書證號+書號</p><p><b> ?、蓴?shù)據(jù)流名:日期</b></p

53、><p>  說明:提供當前日期信息</p><p><b>  數(shù)據(jù)流來源:日歷</b></p><p>  數(shù)據(jù)流去向:借書檢驗,借書登記</p><p>  數(shù)據(jù)流組成:日期=年+月+日</p><p>  年=“0000”..“9999”</p><p>  月=“01

54、”..“12”</p><p>  日=“01”..“31”</p><p>  ⑹數(shù)據(jù)流名:圖書訪問記錄</p><p>  說明:用于記錄讀者借書信息</p><p>  數(shù)據(jù)流來源:圖書訪問記錄庫,借書登記</p><p>  數(shù)據(jù)流去向:借書檢驗</p><p>  數(shù)據(jù)流組成:圖書訪問

55、記錄=書號+借閱證號+借書日期</p><p><b>  借書日期=日期</b></p><p> ?、藬?shù)據(jù)流名:讀者信息</p><p>  說明:用于記錄登記入庫的讀者信息</p><p><b>  數(shù)據(jù)流來源:讀者庫</b></p><p>  數(shù)據(jù)流去向:借書檢驗

56、</p><p>  數(shù)據(jù)流組成:讀者信息=借書證號+姓名+聯(lián)系方法</p><p>  ⑻數(shù)據(jù)流名:圖書信息</p><p>  說明:用于記錄登記入庫的圖書信息</p><p><b>  數(shù)據(jù)流來源:圖書庫</b></p><p>  數(shù)據(jù)流去向:借書檢驗</p><p&

57、gt;  數(shù)據(jù)流組成:圖書信息=書號+書名+作者+出版社+價格+摘要+狀態(tài)</p><p>  4.數(shù)據(jù)文件詞條描述:</p><p>  ⑴數(shù)據(jù)文件名:讀者庫</p><p><b>  簡述:存放讀者信息</b></p><p><b>  輸入數(shù)據(jù):無</b></p><p

58、><b>  輸出數(shù)據(jù):讀者信息</b></p><p>  數(shù)據(jù)文件組成:讀者庫由“讀者信息”組成</p><p> ?、茢?shù)據(jù)文件名:圖書庫</p><p><b>  簡述:存放圖書信息</b></p><p><b>  輸入數(shù)據(jù):無</b></p>

59、<p><b>  輸出數(shù)據(jù):圖書信息</b></p><p>  數(shù)據(jù)文件組成:圖書庫由“圖書信息”組成</p><p> ?、菙?shù)據(jù)文件名:圖書訪問記錄庫</p><p>  簡述:存放圖書訪問記錄信息</p><p>  輸入數(shù)據(jù):圖書訪問記錄</p><p>  輸出數(shù)據(jù):圖書訪問

60、記錄</p><p>  數(shù)據(jù)文件組成:圖書訪問記錄庫由“圖書訪問記錄”組成</p><p>  3.5 讀者還書過程的數(shù)據(jù)流圖和數(shù)據(jù)詞典</p><p>  3.5.1 數(shù)據(jù)流圖</p><p>  讀者還書過程數(shù)據(jù)流程如圖3.8所示。</p><p>  圖3.8 讀者還書過程</p>&l

61、t;p>  3.5.2 數(shù)據(jù)詞典</p><p>  1.加工邏輯詞條描述:</p><p><b>  ⑴加工名:還書檢驗</b></p><p><b>  加工編號:3</b></p><p>  簡要描述:檢驗圖書是否圖書室外借圖書</p><p>  輸入數(shù)

62、據(jù)流:圖書,圖書訪問記錄</p><p>  輸出數(shù)據(jù)流:檢驗錯誤,還書信息</p><p>  加工邏輯:IF 書號與數(shù)據(jù)庫數(shù)據(jù)不符 THEN</p><p><b>  發(fā)出“檢驗錯誤”</b></p><p>  ELSE 發(fā)出“還書信息”</p><p><b>  ENDIF&

63、lt;/b></p><p><b>  ⑵加工名:還書登記</b></p><p><b>  加工編號:4</b></p><p>  簡要描述:刪除讀者對該圖書的借書信息,如果超期給出警告及天數(shù)</p><p>  輸入數(shù)據(jù)流:還書信息,日期</p><p>  

64、輸出數(shù)據(jù)流:圖書訪問紀錄,還書成功</p><p>  加工邏輯:IF 所還圖書超期 THEN</p><p><b>  統(tǒng)計超期天數(shù)</b></p><p>  生成含警告的返回信息</p><p>  ELSE 刪除圖書訪問記錄庫中相應的借書記錄</p><p><b>  生成成

65、功信息</b></p><p><b>  ENDIF</b></p><p><b>  給出還書返回信息</b></p><p>  2.數(shù)據(jù)流名詞條描述:</p><p> ?、艛?shù)據(jù)流名:還書信息</p><p>  說明:用于傳遞圖書書號</p>

66、;<p>  數(shù)據(jù)流來源:還書檢驗</p><p>  數(shù)據(jù)流去向:還書登記</p><p>  數(shù)據(jù)流組成:還書信息=書號</p><p> ?、茢?shù)據(jù)流名:還書成功</p><p>  說明:用于通知還書成功</p><p>  數(shù)據(jù)流來源:還書登記</p><p><b&

67、gt;  數(shù)據(jù)流去向:讀者</b></p><p>  數(shù)據(jù)流組成:還書成功=2{字母}10</p><p>  數(shù)據(jù)文件詞條描述:(前面已描述)</p><p>  第四章 系統(tǒng)詳細設計與實現(xiàn)</p><p>  4.1 圖書館管理信息系統(tǒng)主窗體的創(chuàng)建</p><p>  這個項目使用多文檔界面,

68、單擊工具欄中的ADD MDI Form按鈕,生成一個窗體。在這個窗體上添加所需的控件,窗體和控件的屬性設置見表4-1所示。</p><p>  表4-1 主窗體及其控件屬性設置</p><p>  在窗體中加入狀態(tài)欄控件,可以實時反映系統(tǒng)中各個狀態(tài)的變化。狀態(tài)欄控件需要在通常的屬性窗口中設置一般屬性,還需要在其特有的彈出式菜單中進行設置。選中狀態(tài)欄控件,單擊鼠標右鍵,選中Property

69、菜單,然后設置屬性。創(chuàng)建好的主窗體如圖4.1所示。</p><p>  圖4.1 圖書館管理系統(tǒng)主窗體</p><p>  在Visual Basic中使用公用模塊來存放整個工程項目公用函數(shù)、過程和全局變量等。這樣可以極大地提高代碼的效率。</p><p>  在錄入有關信息時,需要回車來進入下一個文本框,這樣對軟件使用者非常方便。在所有的功能模塊都需要這個函數(shù),

70、所以將它放在公用模塊中,代碼如下:</p><p>  Public Sub EnterToTab(Keyasc As Integer)</p><p><b>  ‘判斷是否為回車鍵</b></p><p>  If Keyasc=13 Then</p><p><b>  ‘轉換成Tab鍵</b&

71、gt;</p><p>  SendKeys”{TAB}”</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Keyasc用來保存當前按鍵,SendKeys函數(shù)用來指定的按鍵。一旦單擊回車鍵,將返回Tab鍵,下一個控件自動獲得輸

72、入焦點。</p><p>  添加全局變量,用來記錄各個窗體的讀寫狀態(tài),代碼如下:</p><p>  Pubic flagRTedit As Boolean</p><p>  Pubic gintRTmode As Integer</p><p>  Pubic flag Redit As Boolean</p><p

73、>  Pubic gintRmode As Integer</p><p>  Pubic flagBTedit As Boolean</p><p>  Pubic gintBTmode As Integer</p><p>  Pubic flagBedit As Boolean</p><p>  Pubic gintBmode

74、As Integer</p><p>  Pubic flagBOedit As Boolean</p><p>  Pubic gintBOmode As Integer</p><p>  Pubic flagBBedit As Boolean</p><p>  Pubic gintBBmode As Integer</p>

75、<p>  gintRTmode變量用來記錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。flagRTedit變量用來標示是否進入修改的窗體。其他全局變量同理。</p><p>  由于圖書館管理信息系統(tǒng)啟動后,需要對用戶進行判斷。如果登陸者是授權用戶,將進入系統(tǒng),否則將停止程序的執(zhí)行。這個判斷需要在系統(tǒng)運行的最初進行,因此將代碼放在公用模塊中。 </p><p> 

76、 4.2 系統(tǒng)用戶管理模塊的創(chuàng)建</p><p>  系統(tǒng)啟動后,將首先出現(xiàn)如圖4.2所示的窗體。 </p><p>  圖4.2 系統(tǒng)啟動界面窗體圖</p><p>  點擊確定后將出現(xiàn)登錄窗體如圖4.3所示,用戶首先輸入用戶名,然后輸入密碼。如果用戶3次輸入的密碼不正確,將退出程序。</p><p>  圖4.3 用戶登錄窗體&

77、lt;/p><p>  用戶登錄窗體中放置了兩個文本框(TextBox),用來輸入用戶名和密碼;兩個按鈕(CommandButton)用來確定或者取消登錄;3個標簽用來標志窗體的信息。這些控件的屬性設置見表4-2所示。</p><p>  表4-2 登錄窗體中各個控件的屬性設置</p><p>  文本框txtPassword的PasswordChar屬性是用指定字符

78、來掩蓋用戶名輸入密碼。</p><p>  為窗體定義全局變量OK,用來判斷登錄是否成功;定義Cnt,用來記載輸入密碼的次數(shù),并且在載入窗體時初始化這兩個全局變量,代碼如下:</p><p><b>  ‘強制變量聲明</b></p><p>  Option Explicit</p><p>  Pubic OK As

79、 Boolean</p><p><b>  ‘記錄確定次數(shù)</b></p><p>  Dim miscount As Integer</p><p>  Private Sub Form_Load()</p><p><b>  OK=False</b></p><p>

80、  miscount=0</p><p><b>  End Sub</b></p><p>  Option Explicit是用來規(guī)定所有變量使用前必須定義。這樣可以避免由于輸入錯誤而產(chǎn)生的新變量。</p><p>  當用戶輸入完用戶名和用戶密碼,單擊cmdOK按鈕將對用戶輸入信息進行判斷。用戶單擊該按鈕,將觸發(fā)按鈕cmdOK的Click

81、事件,連接數(shù)據(jù)庫中用戶表如圖4.4所示。</p><p><b>  圖4.4 用戶表</b></p><p><b>  代碼如下:</b></p><p>  Option Explicit</p><p>  Dim cnt As Integer '記錄確定次數(shù)</p>

82、<p>  Private Sub cmdCancle_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub cmdOK_Click()</p><p>  Dim sql

83、As String</p><p>  Dim rs_login As New ADODB.Recordset</p><p>  Dim conn As New ADODB.Connection</p><p>  conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" &

84、App.Path & "\database.mdb"</p><p>  If Trim(Text1.Text) = "" Then</p><p>  MsgBox "用戶名不能為空,請重新輸入!"</p><p>  Text1.SetFocus</p><p><

85、b>  Else</b></p><p>  sql = "select * from 用戶表 where user_ID='" & Trim(Text1.Text) & "'"</p><p>  rs_login.Open sql, conn, adOpenKeyset, adLockPessim

86、istic</p><p>  If rs_login.EOF = True Then</p><p>  MsgBox "沒有這個用戶,請重輸入!", vbOKOnly + vbExclamation, ""</p><p>  Text1.Text = ""</p><p>  

87、Text1.SetFocus</p><p><b>  Else</b></p><p>  username = Text1.Text</p><p>  If Trim(rs_login.Fields(1)) = Trim(Text2.Text) Then</p><p><b>  Unload Me&

88、lt;/b></p><p>  frmMain.Show</p><p><b>  Else</b></p><p>  MsgBox "密碼不正確,請重輸入!", vbOKOnly + vbExclamation, ""</p><p>  Text2.SetFocus

89、</p><p>  Text2.Text = ""</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p>  cnt =

90、 cnt + 1</p><p>  If cnt = 3 Then</p><p><b>  Unload Me</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Pri

91、vate Sub Form_Load()</p><p><b>  cnt = 0</b></p><p><b>  End Sub</b></p><p>  用戶如果沒有輸入用戶名和用戶密碼,將出現(xiàn)消息框給予提示。如果輸入的用戶名在用戶表中沒有找到,將提示重新輸入用戶名,文本框將重新獲得輸入焦點。例如在圖4.3用戶

92、登錄窗體中的用戶名中輸入“100”,將在數(shù)據(jù)庫中用戶表中的user_ID中進行匹配,如圖4.4用戶表所示,user_ID中沒有“100”,這時系統(tǒng)將出示提示框“沒有這個用戶,請重新輸入”。如果用戶輸入用戶名正確而輸入的密碼不正確,文本框txtPassword將重新獲得輸入焦點。例如在圖4.3用戶登錄窗體中的用戶名中輸入“110”,密碼中輸入“1234”,將先對數(shù)據(jù)庫中用戶表的user_ID中的項進行匹配,如圖4.4用戶表中所示,有“11

93、0”這一項,用戶名匹配成功,接著將密碼“1234”與user_ID中“110”想對應的mima中的項進行匹配,發(fā)現(xiàn)與“110”所對應的項是“3333”,密碼匹配不成功,這時系統(tǒng)將出示提示框“密碼不正確,請重新輸入”。當所輸入的用戶名和密碼都在數(shù)據(jù)庫中的用戶表中匹配成功,用戶登陸成功,全局變量OK將被賦值為True;一旦三次輸入密碼均不正確,全局變量OK將被賦值False。公用模塊中的Main過程將根</p><p&g

94、t;<b>  OK=False</b></p><p><b>  Me.Hide</b></p><p>  Me是Visual Basic中一個常用對象,用來指代當前對象本身。</p><p>  4.3 添加讀者種類窗體的創(chuàng)建</p><p>  添加讀者種類窗體是在窗體上放置多個文本

95、框,用來輸入讀者種類信息;兩個按鈕用來確定是否添加讀者種類信息;多個標簽用來提示文本框中需要輸入的內容。</p><p>  用戶通過此窗體的使用可以很容易的添加讀者的種類,如圖4.5所示。</p><p>  圖4.5 添加讀者類別窗體</p><p>  在載入窗體時,將會連接數(shù)據(jù)庫當中的讀者類別表,如圖4.6所示。</p><p> 

96、 圖4.6 讀者類別表</p><p><b>  程序代碼如下:</b></p><p>  Private Sub Command1_Click()</p><p>  Dim sql As String</p><p>  Dim conn As New ADODB.Connection</p>&

97、lt;p>  Dim rs_readerstyle As New ADODB.Recordset</p><p>  If Trim(Text1.Text) = "" Then</p><p>  MsgBox "讀者種類不能為空 ", vbOK0nly + vbExclamation, ""</p><

98、p>  Text1.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  If Trim(Text2.Text) = "" Then</p><p>  MsgBox "借書數(shù)

99、量不能為空", vbOK0nly + vbExclamation, ""</p><p>  Text2.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  If Trim(Tex

100、t3.Text) = "" Then</p><p>  MsgBox "借書期限不能為空", vbOK0nly + vbExclamation, ""</p><p>  Text3.SetFocus</p><p><b>  Exit Sub</b></p><

101、;p><b>  End If</b></p><p>  If Trim(Text4.Text) = "" Then</p><p>  MsgBox "有限期限不能為空", vbOK0nly + vbExclamation, ""</p><p>  Text4.SetFoc

102、us</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  'Provider = "Microsoft.Jet.OLEDB.3.5.1 ;Persist Security Info=false;data source=D:\圖書管理系

103、統(tǒng)\database.mdb"</p><p>  conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\database.mdb"</p><p>  sql = "select * from 讀者類別 where 種類

104、名稱='" & Text1.Text & "'"</p><p>  rs_readerstyle.Open sql, conn, adOpenKeyset, adLockPessimistic</p><p>  If rs_readerstyle.EOF Then</p><p>  rs_reade

105、rstyle.AddNew</p><p>  rs_readerstyle.Fields(0) = Trim(Text1.Text)</p><p>  rs_readerstyle.Fields(1) = Trim(Text2.Text)</p><p>  rs_readerstyle.Fields(2) = Trim(Text3.Text)</p>

106、;<p>  rs_readerstyle.Fields(3) = Trim(Text4.Text)</p><p>  rs_readerstyle.Update</p><p>  MsgBox "添加讀者類別成功!", vbOKOnly, ""</p><p>  rs_readerstyle.Close&

107、lt;/p><p><b>  Else</b></p><p>  MsgBox "讀者類別重復!", vbOKOnly + vbExclamation, ""</p><p>  Text1.SetFocus</p><p>  Text1.Text = ""&

108、lt;/p><p>  rs_readerstyle.Close</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private

109、Sub Command2_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  程序首先對是否輸入內容進行判斷,然后進行格式判斷,接著添加數(shù)據(jù)到數(shù)據(jù)庫。最后根據(jù)狀態(tài)來顯示相應的信息:如果是添加狀態(tài),將提示添加成功,然后重新顯示并清空所

110、有文本框,以便繼續(xù)添加記錄:如果處于修改狀態(tài),將提示修改成功,然后更新所有記錄的列表。</p><p>  4.4 查詢圖書信息與借書窗體的創(chuàng)建</p><p>  查詢圖書信息窗體可以使用戶方便快捷的得知書籍的基本信息,可以通過書名、編號、圖書類別、作者、出版社進行對圖書的基本信息的查詢,如圖4.7所示。</p><p>  圖4.7 查詢書籍信息窗體&l

111、t;/p><p>  用戶設置查詢方式并輸入查詢內容后,單擊“確定”按鈕后,將會連接到數(shù)據(jù)庫當中的書籍信息表,如圖4.8所示。</p><p>  圖4.8 書籍信息表</p><p>  在如圖4.7查詢書籍信息窗體中,用戶可以選擇單一條件進行查詢,例如在復選框書名前單擊鼠標左鍵,選定書名查詢,然后在復選框書名中輸入你所要查詢的書籍名稱,點擊“確定”按鈕,如果所輸入

112、的書籍名稱與數(shù)據(jù)庫中的“書籍信息表”中的書名項中相匹配,那么所有符合查詢條件的書籍信息都將出現(xiàn)在如圖4.7查詢書籍信息窗體中的文本框中;如果所輸入的書籍名稱與數(shù)據(jù)庫中的“書籍信息表”中的書名項中不匹配,系統(tǒng)將出示提示框“查詢不到該圖書信息”。用戶也可以選擇使用多項條件查詢,多項條件查詢可以更準確的查找到用戶所需要的書籍信息。例如可以選定復選框中的“書名”、“編號”、“作者”,然后輸入相應的查詢內容,這時將對數(shù)據(jù)庫中“書籍信息表”中的“圖

113、書編號”、“書名”、“作者”各項進行匹配,如果匹配成功,那么所有符合查詢條件的書籍信息都將出現(xiàn)在如圖4.7查詢書籍信息窗體中的文本框中;如果所輸入的書籍名稱與數(shù)據(jù)庫中的“書籍信息表”中的“圖書編號”、“書名”、“作者”各項匹配不成功,系統(tǒng)將出示提示框“查詢不到該圖書信息”,注意,在使用多項條件查詢時,在所選復選框中有一項沒有和數(shù)據(jù)庫中“書籍信息表”中對應項匹配失敗,系統(tǒng)都將出示</p><p><b>

114、  程序代碼如下:</b></p><p>  Option Explicit</p><p>  Dim panduan As String</p><p>  Private Sub Command1_Click()</p><p>  Dim rs_findbook As New ADODB.Recordset</p&

115、gt;<p>  Dim conn As New ADODB.Connection</p><p>  Dim sql As String</p><p>  If Check1.Value = vbChecked Then</p><p>  sql = "書名='" & Trim(Text1.Text &

116、 "") & "'"</p><p><b>  End If</b></p><p>  If Check2.Value = vbChecked Then</p><p>  If Trim(sql) = "" Then</p><p>  s

117、ql = "類別='" & Trim(Combo1.Text & " ") & "'"</p><p><b>  Else</b></p><p>  sql = sql & "and 類別='" & Trim(Combo1

118、.Text & " ") & "'"</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  If Check3.Value = vbChecked Then</p><p&g

119、t;  If Trim(sql) = "" Then</p><p>  sql = "作者='" & Trim(Text2.Text & " ") & "'"</p><p><b>  Else</b></p><p> 

120、 sql = sql & "and 作者='" & Trim(Text2.Text & " ") & "'"</p><p><b>  End If</b></p><p><b>  End If</b></p><

121、p>  If Check4.Value = vbChecked Then</p><p>  If Trim(sql) = "" Then</p><p>  sql = "圖書編號='" & Trim(Text3.Text & " ") & "'"</p&g

122、t;<p><b>  Else</b></p><p>  sql = sql & "and 圖書編號='" & Trim(Text3.Text & " ") & "'"</p><p><b>  End If</b>&l

123、t;/p><p><b>  End If</b></p><p>  If Check5.Value = vbChecked Then</p><p>  If Trim(sql) = "" Then</p><p>  sql = "出版社='" & Trim(Te

124、xt4.Text & " ") & "'"</p><p><b>  Else</b></p><p>  sql = sql & "and 出版社='" & Trim(Text4.Text & " ") & "&

125、#39;"</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & &

126、quot;\database.mdb"</p><p>  If Trim(sql) = "" Then</p><p>  MsgBox "請選擇查詢方式!", vbOKOnly + vbExclamation</p><p><b>  Exit Sub</b></p><

127、;p><b>  End If</b></p><p>  sql = "select * from 書籍信息 where " & sql</p><p>  rs_findbook.CursorLocation = adUseClient</p><p>  rs_findbook.Open sql, con

128、n, adOpenKeyset, adLockPessimistic</p><p>  DataGrid1.AllowAddNew = False</p><p>  DataGrid1.AllowDelete = False</p><p>  DataGrid1.AllowUpdate = False</p><p>  If rs_f

129、indbook.RecordCount = 0 Then</p><p>  MsgBox "查詢不到該圖書信息!", vbOKOnly + vbExclamation</p><p><b>  Else</b></p><p>  Set DataGrid1.DataSource = rs_findbook</p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論