畢業(yè)設計--- 圖書管理系統(tǒng)的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  設計題目:_ 圖書管理系統(tǒng)的設計與實現(xiàn) ___</p><p>  學 院: 計算機與信息學院 </p><p>  專業(yè)年級: 計算機科學與技術2009級 </p><p>  學 號:______ _ </p><p>  學

2、生姓名:___ ______ ____ _</p><p>  指導教師、職稱:_ ___ __</p><p>  2011年 5 月 18 日</p><p><b>  目錄</b></p><p><b>  摘要I</b></p>&

3、lt;p>  AbstractII</p><p>  1 引言- 1 -</p><p>  1.1研究背景- 1 -</p><p>  1.2本文研究的主要內容- 1 -</p><p>  2 系統(tǒng)的可行性分析與需求分析- 2 -</p><p>  2.1系統(tǒng)可行性分析- 2 -<

4、/p><p>  2.1.1管理的意義- 2 -</p><p>  2.1.2經濟可行性- 2 -</p><p>  2.1.3技術可行性- 3 -</p><p>  2.2需求分析- 3 -</p><p>  2.2.1功能需求- 3 -</p><p>  2.2.2性能需求

5、- 3 -</p><p>  2.2.3軟件自身特性需求- 4 -</p><p>  3 系統(tǒng)開發(fā)技術- 5 -</p><p>  3.1客戶機/服務器網絡 C/S- 5 -</p><p>  3.2開發(fā)工具Microsoft Visual Studio 2005- 5 -</p><p>  3.3

6、數(shù)據(jù)庫SQLServer 2000- 5 -</p><p>  3.4相關技術介紹- 6 -</p><p>  3.5系統(tǒng)的三層結構- 6 -</p><p>  4 系統(tǒng)概要設計- 8 -</p><p>  4.1功能需求- 8 -</p><p>  4.2系統(tǒng)設計思想- 9 -</p&g

7、t;<p>  4.3系統(tǒng)設計目標- 9 -</p><p>  4.4系統(tǒng)設計分析- 9 -</p><p>  4.5系統(tǒng)結構圖- 9 -</p><p>  4.6數(shù)據(jù)庫設計- 10 -</p><p>  4.6.1創(chuàng)建數(shù)據(jù)庫- 10 -</p><p>  4.6.2創(chuàng)建數(shù)據(jù)表- 1

8、1 -</p><p>  5 詳細設計- 16 -</p><p>  5.1主頁面的設計- 16 -</p><p>  5.1.1主頁面的概述- 16 -</p><p>  5.2數(shù)據(jù)庫的連接- 16 -</p><p>  5.2.1 數(shù)據(jù)庫訪問連接方法- 16 -</p><

9、p>  5.2.2 ADO對象編程模型- 17 -</p><p>  5.3信息查詢模塊的設計- 17 -</p><p>  5.3.1 讀者查詢- 18 -</p><p>  5.3.2 圖書查詢- 19 -</p><p>  5.4讀者信息管理模塊設計- 20 -</p><p>  5.4

10、.1 增加讀者模塊設計- 20 -</p><p>  5.4.2 刪除讀者模塊設計- 22 -</p><p>  5.4.3 讀者信息更新模塊- 23 -</p><p>  5.5 圖書信息模塊設計- 24 -</p><p>  5.5.1 新書入庫- 24 -</p><p>  5.5.2 圖書信

11、息更新- 25 -</p><p>  5.6 幫助模塊設計- 27 -</p><p>  5.6.1 關于- 27 -</p><p>  5.6.2 幫助信息模塊- 28 -</p><p>  5.7 圖書操作模塊設計- 28 -</p><p>  5.7.1 借書模塊- 28 -</p&g

12、t;<p>  5.7.2還書模塊- 30 -</p><p>  5.8 退出模塊模塊設計- 31 -</p><p>  6 測試- 32 -</p><p>  6.1 引言- 32 -</p><p>  6.1.1 編寫目的- 32 -</p><p>  6.1.2 定義- 32

13、-</p><p>  6.2 計劃- 32 -</p><p>  6.2.1軟件說明- 32 -</p><p>  6.2.2 測試內容- 33 -</p><p>  6.3 測試用例- 33 -</p><p>  6.4 評價準則- 38 -</p><p>  6.4.1

14、 范圍- 38 -</p><p>  6.4.2 尺度- 38 -</p><p>  7 結論- 39 -</p><p>  7.1 設計總結- 39 -</p><p>  7.2 存在的不足- 39 -</p><p>  參考文獻- 40 -</p><p><b&

15、gt;  致謝- 41 -</b></p><p>  附錄A- 42 -</p><p><b>  摘要</b></p><p>  隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對圖書信息資源信息進行管理,有著

16、手工管理所無法比擬的優(yōu)點,例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高圖書信息管理的效率,也是企業(yè)、學校的科學化、正規(guī)化管理,與世界接軌的重要條件。[1]</p><p>  進入21世紀,數(shù)字化、網絡化的信息革命從根本上推動了圖書信息管理的發(fā)展進程,計算機日益成為圖書信息管理的主要設備,圖書信息管理采用了各種自動化集成系統(tǒng)建立自己的內部網絡環(huán)境,呈現(xiàn)出網絡化、

17、信息化、智能化和社會化的特征。</p><p>  隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多的浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。系統(tǒng)開發(fā)的總的設計目標是實現(xiàn)圖書管

18、理的系統(tǒng)化、規(guī)范化和自動化,實現(xiàn)對圖書資料的集中統(tǒng)一的管理,結合實踐開發(fā)出基于Microsoft Visual Studio 2005開發(fā)平臺的圖書管理系統(tǒng)。課題通過對基于C#的開發(fā)模式,SQLServer2000數(shù)據(jù)庫做后臺,以C/S模式的應用,軟件工程思想和面對對象為思想為指導,掌握軟件產品的設計基本原理、設計方法和設計技能,掌握信息系統(tǒng)的開發(fā)環(huán)境、平臺和工具的應用能力。[1]

19、 </p><p>  通過該系統(tǒng)可以實現(xiàn)圖書信息的檢索、圖書借閱管理、用戶個人信息的管理等各種功能,實現(xiàn)圖書管理的快捷、高效。因此,開發(fā)這樣一套管理系統(tǒng)成為很有必要的事情。</p><p>  關

20、鍵詞:C/S模式;數(shù)據(jù)庫連接;SQLServer2000</p><p><b>  Abstract</b></p><p>  With the improvement of the science and technology, computer science was maturing, its powerful functions for the peopl

21、e deeply understand that it has entered the human society in various fields and is playing an increasingly important role. As part of computer applications, the use of computers to Books information resources information

22、 management, management can not be compared with the advantages of manual, for example: the rapid retrieval, easy to find, high reliability, large memory capacit</p><p>  In the 21st century, digital, networ

23、ked information revolution fundamentally promote the development of library information management process, the computer information management is increasingly becoming the main Books equipment, library information manag

24、ement used a variety of automated integrated system to establish their own internal network of environment, Showing a network, information, intelligence and social characteristics.</p><p>  With the constant

25、 expansion of libraries, books and a corresponding increase in the number, the amount of information about the various books have doubled in the face of the huge amount of information, the traditional manual management o

26、f library management would lead to confusion, Excessive waste of manpower and material resources, library management cost increases, so the library overburdened, affecting the entire library operation and control of mana

27、gement, therefore, must develop a reasonabl</p><p>  The system can be achieved through the book information retrieval, library management, user management, and other personal information functions, library

28、management to achieve a quick and efficient. Therefore, developing such a management system for a very necessary thing.</p><p>  Key words:C/S Model;database connection;SQLServer2000</p><p><

29、b>  1 引言</b></p><p><b>  1.1研究背景</b></p><p>  隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多的浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必

30、須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。[2]</p><p>  圖書館在正常工作中總是面對大量的讀者信息、書籍信息以及兩者相互作用產生的借書信息、還書信息。需要對讀者資源、書籍資源、借書信息、還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,有利于提高圖書管理效率。</p><p>  1.2本文研究的主要內容</p><p>

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

32、的學習和應用,主要完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設計了數(shù)據(jù)庫結構和應用程序。系統(tǒng)運行結果證明,本文所設計的圖書管理系統(tǒng)可以滿足用戶的需求。</p><p>  設計充分利用Microsoft Visual Studio 2005、MS SQL Server2000數(shù)據(jù)庫技術的強大力量,提高了編程效率和可靠性。圖書管理系統(tǒng)可以有效地管理圖書資源,控制圖書借閱的流程,對圖書館或閱覽

33、室的管理有很大的幫助。 后臺數(shù)據(jù)庫使用SQL Server,前臺開發(fā)工具使用Visual C#。本系統(tǒng)采用目前比較流行的ADO數(shù)據(jù)訪問技術,并將每個數(shù)據(jù)庫表的字段和操作封裝到類中,從而成功地將面向對象的程序設計思想應用到數(shù)據(jù)庫應用程序設計中。這也是本系統(tǒng)的特色和優(yōu)勢。[3]</p><p>  2 系統(tǒng)的可行性分析與需求分析</p><p>  2.1系統(tǒng)可行性分析</p>

34、<p>  2.1.1管理的意義</p><p>  進入21世紀,數(shù)字化、網絡化的信息革命從根本上推動了圖書信息管理的發(fā)展進程,計算機日益成為圖書信息管理的主要設備,圖書信息管理采用了各種自動化集成系統(tǒng)建立自己的內部網絡環(huán)境,呈現(xiàn)出網絡化、信息化、智能化和社會化的特征。</p><p>  隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著

35、龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多的浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。[4]</p><p>  2.1.2經濟可行性</p><p><b>  1)、成本</b></p><

36、;p>  在硬件方面由于現(xiàn)在的計算機價格低廉,性能跟以前相比有了長足的進步。在軟件方面,成本可以忽略不計。</p><p>  系統(tǒng)的開發(fā)費用、系統(tǒng)安裝、運行、維護費用和人員培訓費用上都可以忽略不計。</p><p><b>  2)、效益</b></p><p> ?。?)、經濟效益[5]</p><p>  由

37、于圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多的浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,所以使用圖書管理系統(tǒng)是發(fā)展的趨勢,有利于減少操作人員的數(shù)量、降低每個員工的工作量、減少員工的工作時間和降低由于人員龐大造成的物資消耗。</p><p> ?。?)、社會效益[

38、5]</p><p>  采用圖書管理系統(tǒng)可以提高學校圖書館或省、市、縣級的圖書館的工作效率,讓借書的人可以節(jié)約借閱時間。</p><p>  2.1.3技術可行性</p><p>  開發(fā)任何一個基于計算機的系統(tǒng),都會受到時間和資源上的限制。因此,在接受項目之前必須根據(jù)客戶可能提供的時間和資源條件進行可行性研究。它可以避免人力、物力和財力上的浪費。可行性研究與風險

39、分析在許多方面是相互關聯(lián)的。項目風險越大,開發(fā)高質量軟件的可行性越小。[5]</p><p>  技術往往是系統(tǒng)開發(fā)過程中難度最大的工作,這其中必須進行風險分析、資源分析和技術分析,開發(fā)人員必須在給定的約束條件下,判斷是否能在預定的計劃順利完成任務,但這些因素很難把握好,因為在開發(fā)的過程中往往會發(fā)生一些意外因素,綜合各方面的困素,本系統(tǒng)采用Microsoft Visual Studio 2005作為開發(fā)平臺,后臺

40、數(shù)據(jù)庫用的是SQLServer 2000。綜合自已對這方面的熟練程度,能方便的進行系統(tǒng)開發(fā)、維護。[5]</p><p>  并且本系統(tǒng)的開發(fā)利用SQLServer 2000作為本系統(tǒng)的數(shù)據(jù)庫,它是一個支持多用戶的數(shù)據(jù)庫,適用于中等規(guī)模的數(shù)據(jù)量需求。</p><p>  使用C#作為系統(tǒng)開發(fā)的開發(fā)環(huán)境,它作為一種現(xiàn)代的編程語言,對接口和接口的內在支持[6]、資源回收機制和變量有環(huán)境自動初始

41、化[6]給開發(fā)高性能系統(tǒng)提供了保障,保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對新系統(tǒng)的擴展與修改。</p><p>  綜上所述,本系統(tǒng)的設計與開發(fā)在技術上和硬件設備上的條件都是滿足的,因此,它在技術上是可行的。</p><p>  本系統(tǒng)為一個圖書管理系統(tǒng),所耗費的資源非常的小,而且基于C/S結構。最大特點就是便捷、客戶端的電腦無論是硬件還是軟件都能夠滿足條件,因此,本

42、系統(tǒng)在運行上是可行的。</p><p><b>  2.2需求分析 </b></p><p><b>  2.2.1功能需求</b></p><p>  本課題是基于.NET架構設計,運用C#技術來實現(xiàn)的圖書管理系統(tǒng)。該系統(tǒng)應具有如下功能:讀者查詢、圖書查詢、讀者信息管理(增加讀者、刪除讀者)、圖書信息管理、借書、還書和幫

43、助功能。</p><p><b>  2.2.2性能需求</b></p><p>  該系統(tǒng)采用了C/S模式,在性能方面,只需要用戶安裝好數(shù)據(jù)庫軟件與圖書管理系統(tǒng),就可以實現(xiàn)降低人力與物力過多的浪費,降低圖書館管理費用的增加,從而減輕圖書館的負擔,所以圖書管理系統(tǒng)在系統(tǒng)的性能配置上不需要配置太高級的客戶端。[7]</p><p>  2.2.3

44、軟件自身特性需求</p><p>  時間特性:數(shù)據(jù)更新所需要的時間是比較少的,在數(shù)據(jù)與系統(tǒng)之間的響應時間和更新處理時間是比較讓人滿意的。</p><p>  適應性:該軟件是使用Microsoft Visual Studio 2005在Windows 7系統(tǒng)下完成的,所以只要兼容操作系統(tǒng),軟件都可以正確運行。有較好的適應能力與兼容性。在操作方式、運行環(huán)境、與其它軟件的接口以及開發(fā)計劃等發(fā)

45、生變化時,應具有的適應能力。</p><p><b>  3 系統(tǒng)開發(fā)技術</b></p><p>  3.1客戶機/服務器網絡 C/S</p><p>  本系統(tǒng)選擇C/S模式作為圖書管理系統(tǒng)的數(shù)據(jù)庫系統(tǒng)體系結構,其優(yōu)勢是:</p><p>  1)應用服務器運行數(shù)據(jù)負荷較輕。最簡單的C/S體系結構的數(shù)據(jù)庫應用由兩部

46、分組成,即客戶應用程序和數(shù)據(jù)庫服務器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發(fā)來的請求;客戶應用程序運行在用戶自己的電腦上,對應于數(shù)據(jù)庫服務器,可稱為客戶電腦,當需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發(fā)出請求,服務器程序根據(jù)預定的規(guī)則做出應答,送回結果,應用服務器運行數(shù)據(jù)負荷較輕。[8]</p>&

47、lt;p>  2)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應用中,數(shù)據(jù)的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,前臺應用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務器程序中不集中實現(xiàn),例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架

48、構的應用中,前臺程序不是非常“瘦小”,麻煩的事情都交給了服務器和網絡。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。[8]</p><p>  3.2開發(fā)工具Microsoft Visual Studio 2005</p><p>  Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應用程序、XML Web Servic

49、es、桌面應用程序和移動應用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應用程序和 XML Web Services 開發(fā)的關鍵技術。[9]</p><p>  3.

50、3數(shù)據(jù)庫SQLServer 2000</p><p>  SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的一個版本。該版本繼承了SQL Server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能,具有使用方便,可伸縮性好與相關軟件集成程度高等優(yōu)點。主要特點如下:</p><p>  1)高性能設計,可充分利用WindowsNT的優(yōu)

51、勢。</p><p>  2)系統(tǒng)管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統(tǒng)管理和配置。</p><p>  3)強壯的事務處理功能,采用各種方法保證數(shù)據(jù)的完整性。</p><p>  4)支持對稱多處理器結構、存儲過程、ODBC,并具有自主的SQL語言。 SQLServer以其內置的數(shù)據(jù)復制功能、強大的管理工具、與Internet的緊密集成和

52、開放的系統(tǒng)結構為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個出眾的數(shù)據(jù)庫平臺。[10]</p><p><b>  3.4相關技術介紹</b></p><p>  1)Microsoft Visual Studio 2005的基本編程方法。</p><p>  2)基本的后臺數(shù)據(jù)庫管理方法,例如創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、備份和還原數(shù)據(jù)庫。</p&

53、gt;<p>  3)常用SQL語句的使用。</p><p>  4)數(shù)據(jù)庫訪問技術。</p><p>  3.5系統(tǒng)的三層結構</p><p>  在ASP.NET中,前臺為aspx文件,中間層為cs文件,后臺為數(shù)據(jù)庫服務器。在ASP.NET三層架構上,數(shù)據(jù)庫通過中間層來連接并完成相關操作,前端給中間層傳遞參數(shù),并接受中間層的參數(shù)。通常情況下,主要關

54、注的是中間層與前端的數(shù)據(jù)交互。中間層可以被稱為組件。[11]</p><p>  在設計模式上,三層結構分別為表示層、業(yè)務層和數(shù)據(jù)層。</p><p><b>  1)表示層</b></p><p>  提供應用的用戶界面,通過表示層,用戶輸入數(shù)據(jù)、獲取數(shù)據(jù)。表示層也提供一定的安全性,確保用戶信息安全。</p><p>

55、<b>  2)業(yè)務層</b></p><p>  業(yè)務層實現(xiàn)系統(tǒng)的業(yè)務功能。系統(tǒng)的后臺代碼。業(yè)務層是表示層和數(shù)據(jù)層的橋梁,它響應界面層的用戶請求,執(zhí)行任務并從數(shù)據(jù)層抓取數(shù)據(jù),并將必要的數(shù)據(jù)傳送給界面層。</p><p><b>  3)數(shù)據(jù)層</b></p><p>  數(shù)據(jù)層提供對數(shù)據(jù)庫的訪問。數(shù)據(jù)層定義、維護數(shù)據(jù)的完

56、整性、安全性,它響應業(yè)務層的請求,訪問數(shù)據(jù)。</p><p><b>  4 系統(tǒng)概要設計</b></p><p><b>  4.1功能需求</b></p><p>  隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與

57、物力過多的浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。系統(tǒng)開發(fā)的總的設計目標是實現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動化,實現(xiàn)對圖書資料的集中統(tǒng)一的管理并保證數(shù)據(jù)的準確性。[11]</p><p>  功能需求如表4.1所示:</p><p>  圖4.1 功能需求表&l

58、t;/p><p><b>  4.2系統(tǒng)設計思想</b></p><p>  圖書管理系統(tǒng)充分利用了C/S結構的特點,實現(xiàn)將早期的人工管理上升到機器處理的功能,可以不受人員的限制,實現(xiàn)降低員工數(shù)、降低工作時間、提高工作效率等優(yōu)點。[11]</p><p><b>  4.3系統(tǒng)設計目標</b></p><p

59、>  隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多的浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。系統(tǒng)開發(fā)的總的設計目標是實現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動化,實現(xiàn)對圖書資料的集中統(tǒng)一的管理并保證

60、數(shù)據(jù)的準確性。</p><p><b>  4.4系統(tǒng)設計分析</b></p><p>  圖書管理管理系統(tǒng)是一個典型的數(shù)據(jù)庫開發(fā)應用程序,由信息查詢模塊、讀者信息管理管理模塊、圖書信息管理模塊、幫助模塊、圖書操作模塊和退出系統(tǒng)模塊組成,規(guī)劃系統(tǒng)功能模塊如下:</p><p>  信息查詢模塊:該模塊包括讀者查詢模塊和圖書查詢模塊。</p

61、><p>  讀者信息管理管理模塊:該模塊包括增加讀者模塊、刪除讀者模塊和讀者信息更新模塊。</p><p>  圖書信息管理模塊:該模塊主要包括新書入庫模塊和圖書信息更新模塊。</p><p>  幫助模塊:該模塊主要包括關于系統(tǒng)開發(fā)模塊和幫助信息模塊。</p><p>  圖書操作模塊:該模塊主要包括借書模塊和還書模塊。</p>

62、<p>  退出系統(tǒng)模塊:該模塊的作用是退出圖書管理系統(tǒng)。</p><p><b>  4.5系統(tǒng)結構圖</b></p><p>  按照功能劃分設計系統(tǒng)結構圖,如圖4.5所示:</p><p>  圖4.5 系統(tǒng)結構圖</p><p><b>  4.6數(shù)據(jù)庫設計</b></p&

63、gt;<p>  4.6.1創(chuàng)建數(shù)據(jù)庫</p><p>  開啟SQLserver 2000查詢分析器,選擇SQLServer身份驗證登入,用戶名為sa,密碼為空,在如果SQLServer已停止,則啟動它的選項上打鉤。創(chuàng)建名字為BooksMIB的數(shù)據(jù)庫,該庫所含的數(shù)據(jù)表如表4.6.1所示:</p><p>  表4.6.1 數(shù)據(jù)庫表</p><p> 

64、 4.6.2創(chuàng)建數(shù)據(jù)表</p><p>  本系統(tǒng)的表如上表4.6.1所示,部分結構如表4.6.2.1—表4.6.2.5所示:</p><p>  表4.6.2.1 圖書表</p><p>  表4.6.2.2 圖書大類型表</p><p>  表4.6.2.3 圖書小類型表</p><p>  表4.6.2.4

65、讀者表</p><p>  約束: constraint CKC_C_PHONE_讀者表 check (c_phone is null or (c_phone between '6' and '15')),</p><p>  表4.6.2.5 借閱記錄</p><p>  創(chuàng)建外鍵的代碼如下:</p><p&g

66、t;  alter table 借閱記錄</p><p>  add constraint FK_借閱記錄_REFERENCE_讀者表 foreign key (f_i_ReaderID)</p><p>  references 讀者表 (p_i_ReaderID)</p><p><b>  go</b></p><p&

67、gt;  alter table 借閱記錄</p><p>  add constraint FK_借閱記錄_REFERENCE_圖書 foreign key (f_c_BookID)</p><p>  references 圖書 (p_c_BookID)</p><p><b>  go</b></p><p>  

68、alter table 圖書</p><p>  add constraint FK_圖書_REFERENCE_圖書大類型 foreign key (f_i_MTypeID)</p><p>  references 圖書大類型 (p_i_MTypeID)</p><p><b>  go</b></p><p>  a

69、lter table 圖書</p><p>  add constraint FK_圖書_REFERENCE_圖書小類型 foreign key (f_i_TypeID)</p><p>  references 圖書小類型 (p_i_TypeID)</p><p><b>  go</b></p><p>  alte

70、r table 圖書小類型</p><p>  add constraint FK_圖書小類型_REFERENCE_圖書大類型 foreign key (f_i_MTypeID)</p><p>  references 圖書大類型 (p_i_MTypeID)</p><p><b>  go</b></p><p>&

71、lt;b>  5 詳細設計</b></p><p><b>  5.1主頁面的設計</b></p><p>  5.1.1主頁面的概述</p><p>  程序主頁面在軟件系統(tǒng)占據(jù)著重要的地位,因為只有界面友好美觀,操作方便的特點才容易被用戶所接受。</p><p>  實現(xiàn)界面如下圖5.1.1所示:

72、</p><p>  圖5.1.1 程序主頁面</p><p><b>  5.2數(shù)據(jù)庫的連接</b></p><p>  5.2.1 數(shù)據(jù)庫訪問連接方法</p><p>  利用ADO技術連接數(shù)據(jù)庫,ADO(ActiveX Data Objects)是一個用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式O

73、LE DB的一個中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時候,關于SQL的知識不是必要的,但是特定數(shù)據(jù)庫支持的SQL命令仍可以通過ADO中的命令對象來執(zhí)行。ADO被設計來繼承微軟早期的數(shù)據(jù)訪問對象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。</p><p>  SqlConnect

74、ion cn = new SqlConnection("Server=(local);DataBase=BooksMIB;Uid = sa");</p><p>  DataSet ds = new DataSet();</p><p>  SqlDataAdapter da = new SqlDataAdapter();</p><p>  B

75、indingManagerBase bm;</p><p>  5.2.2 ADO對象編程模型</p><p>  1)、連接數(shù)據(jù)源 (Connection),可選擇開始事務。</p><p>  2)、可選擇創(chuàng)建表示 SQL 命令的對象 (Command)。</p><p>  3)、可選擇指定列、表以及 SQL 命令中的值作為變量參數(shù) (

76、Parameter)。</p><p>  4)、執(zhí)行命令(Command、Connection 或 Recordset)。</p><p>  5)、如果命令以行返回,將行存儲在存儲對象中 (Recordset)。</p><p>  6)、可選擇創(chuàng)建存儲對象的視圖以便進行排序、篩選和定位數(shù)據(jù) (Recordset)。</p><p>  

77、7)、編輯數(shù)據(jù)。可以添加、刪除或更改行、列 (Recordset)。</p><p>  8)在適當情況下,可以使用存儲對象中的變更對數(shù)據(jù)源進行更新 (Recordset)。</p><p>  9)、在使用事務之后,可以接受或拒絕在事務中所做的更改。結束事務 (Connection)。</p><p>  5.3信息查詢模塊的設計</p><p

78、>  信息查詢模塊主要是用于讀者的信息查詢與圖書的信息查詢,2個部分。</p><p>  信息查詢模塊如圖5.3所示:</p><p>  圖5.3 信息查詢界面</p><p>  5.3.1 讀者查詢</p><p>  主要用于查詢讀者的詳細信息情況,也可對當個讀者進行查詢。</p><p>  讀者查

79、詢如圖 5.3.1 所示:</p><p>  圖5.3.1 讀者查詢界面</p><p><b>  實現(xiàn)代碼如下:</b></p><p>  if (this.txtKeyword.Text.Length <= 0)</p><p><b>  {</b></p><

80、;p>  MessageBox.Show("請輸入您的查詢條件!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if (this.cmbQueryInfo.Text == "讀者編號")</p>

81、<p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  QueryReader(0, this.txtKeyword.Text, this.gridViewReaderQ);</p><p

82、>  this.statusStrip1.Items[0].Text = "當前狀態(tài): 查詢成功!";</p><p><b>  }</b></p><p>  catch (Exception e4)</p><p><b>  {</b></p><p>  Mess

83、ageBox.Show(e4.Message);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>

84、<b>  try</b></p><p><b>  {</b></p><p>  QueryReader(1, this.txtKeyword.Text, this.gridViewReaderQ);</p><p>  this.statusStrip1.Items[0].Text = "當前狀態(tài): 查詢

85、成功!";</p><p><b>  }</b></p><p>  catch (Exception e5)</p><p><b>  {</b></p><p>  MessageBox.Show(e5.Message);</p><p><b>

86、  }</b></p><p><b>  }</b></p><p>  5.3.2 圖書查詢</p><p>  主要用于查詢圖書的詳細信息情況,也可對當個圖書的詳細情況進行查詢。</p><p>  圖書查詢如圖 5.3.2 所示:</p><p>  圖5.3.2 圖書查詢界

87、面</p><p><b>  主要代碼如下:</b></p><p>  string str = "";</p><p><b>  try</b></p><p><b>  {</b></p><p>  if (str ==

88、 "")</p><p><b>  {</b></p><p>  str = " p_c_BookID like '%" + this.txtBookID.Text + "%'";</p><p><b>  }</b></p>

89、<p><b>  else</b></p><p><b>  {</b></p><p>  str += " and p_c_BookID like '%" + this.txtBookID.Text + "%'";</p><p><b>

90、  }</b></p><p>  if (str == "")</p><p><b>  {</b></p><p>  str = " c_BookName like '%" + this.txtBookName.Text + "%'";</p&

91、gt;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  str += " and c_BookName like '%" + this.txtBookName.Text +

92、 "%'";</p><p><b>  }</b></p><p>  5.4讀者信息管理模塊設計</p><p>  讀者信息管理模塊主要模塊包括增加讀者模塊、刪除讀者模塊和讀者信息更新模塊,3個部分。</p><p>  讀者信息管模塊如圖5.4所示:</p><p&

93、gt;  圖5.4 讀者信息界面</p><p>  5.4.1 增加讀者模塊設計</p><p>  增加讀者模塊主要是為系統(tǒng)創(chuàng)建一個可以借閱圖書的用戶,并登記用戶的詳細資料。</p><p>  增加讀者頁面如圖5.4.1所示:</p><p>  圖5.4.1 增加讀者界面</p><p><b> 

94、 主要代碼如下:</b></p><p>  string emailPattern = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";</p><p>  str

95、ing numericPattern = @"^[-]?\d+[.]?\d*$";</p><p>  string strEmail = txtmail.Text.Trim();</p><p>  string strNumeric = txtphone.Text.Trim();</p><p>  if (this.txtName.Text

96、 == "")</p><p><b>  {</b></p><p>  this.statusStrip1.Items[0].Text = "警告:" + "讀者名稱不能為空!";</p><p>  return false;</p><p><b&

97、gt;  }</b></p><p>  else if (!Regex.IsMatch(strEmail, emailPattern))</p><p><b>  {</b></p><p>  this.statusStrip1.Items[0].Text = "警告:" + "請輸入的Email

98、地址不合法";</p><p>  return false;</p><p><b>  }</b></p><p>  else if (!Regex.IsMatch(strNumeric, numericPattern))</p><p><b>  {</b></p>

99、<p>  this.statusStrip1.Items[0].Text = "警告:" + "電話號碼必需是數(shù)字";</p><p>  return false;</p><p><b>  }</b></p><p><b>  else</b></p>

100、;<p>  return true;</p><p><b>  }</b></p><p>  5.4.2 刪除讀者模塊設計</p><p>  刪除讀者模塊主要用來刪除用戶的信息。</p><p>  刪除讀者頁面如圖5.4.2所示:</p><p>  圖5.4.2 刪除讀

101、者界面</p><p><b>  主要代碼如下:</b></p><p>  ds.Tables[0].Rows[this.dataGrid1.CurrentRowIndex].Delete();</p><p>  int row = da.Update(ds, "T_readerinfo");</p>&

102、lt;p>  ds.AcceptChanges();</p><p>  //MessageBox.Show("刪除完成" + row + sb.GetDeleteCommand().CommandText,"讀者刪除");</p><p>  MessageBox.Show("刪除完成" + "讀者已刪除&quo

103、t;);</p><p>  5.4.3 讀者信息更新模塊</p><p>  讀者信息更新可以使對用戶表進行增加或刪除后,進行保存結果,然后進行對數(shù)據(jù)庫的更新。</p><p>  讀者信息更新如圖5.4.3所示:</p><p>  圖5.4.3 讀者信息更新界面</p><p><b>  主要代碼如下

104、:</b></p><p>  if (cn.State == ConnectionState.Closed)</p><p>  cn.Open();</p><p>  string strCmd = "SELECT p_i_ReaderID AS 讀者編號,c_ReaderName AS 讀者姓名,case when b_Sex=0 th

105、en '男' when b_sex=1 then '女' end as 性別,c_phone AS 電話,c_Email AS Email,d_date AS 登記時間 FROM dbo.T_readerinfo";</p><p>  da = new SqlDataAdapter(strCmd, cn);</p><p>  da.Missin

106、gSchemaAction = MissingSchemaAction.AddWithKey;</p><p>  ds = new DataSet();</p><p>  da.Fill(ds, "T_readerinfo");</p><p>  sb = new SqlCommandBuilder(da);</p><

107、p>  this.dataGrid1.DataSource = ds.Tables[0].DefaultView;</p><p>  5.5 圖書信息模塊設計</p><p>  圖書信息管理模塊主要模塊包括新書入庫模塊和圖書信息更新模塊,2個部分。</p><p>  圖書信息管理如圖5.5所示:</p><p>  圖5.5 圖書

108、信息管理界面</p><p>  5.5.1 新書入庫</p><p>  在這個模塊中,可以對新書進行入庫。</p><p>  新書入庫如圖5.5.1所示:</p><p>  圖5.5.1 新書入庫界面</p><p><b>  主要代碼如下:</b></p><p&g

109、t;  SqlCommand selcmd = new SqlCommand("SELECT * FROM t_bookinfo WHERE p_c_BookID=@BookID", cn);</p><p>  selcmd.Parameters.Add("@BookID", SqlDbType.VarChar, 20);</p><p>  se

110、lcmd.Parameters["@BookID"].SourceColumn = "p_c_BookID";</p><p>  selcmd.Parameters["@BookID"].Value = txtBookID.Text;</p><p>  SqlDataReader dr = null;</p>&

111、lt;p>  5.5.2 圖書信息更新</p><p>  在圖書信息更新模塊中可以對新增加的圖書進行更新保存。</p><p>  圖書信息更新如圖5.5.2所示:</p><p>  圖5.5.2 圖書信息更新界面</p><p><b>  主要代碼如下:</b></p><p>&l

112、t;b>  if (flag)</b></p><p><b>  {</b></p><p>  SqlCommand cmd = new SqlCommand("INSERT INTO T_MainType(c_MtypeName) VALUES(@TypeName)", cn);</p><p>  

113、cmd.Parameters.Add("@TypeName", SqlDbType.VarChar, 50, "c_MtypeName");</p><p>  cmd.Parameters["@TypeName"].Value = txtTypeName.Text;</p><p>  if (cn.State == Conne

114、ctionState.Closed) cn.Open();</p><p>  cmd.ExecuteNonQuery();</p><p>  MessageBox.Show("增加成功!");</p><p><b>  }</b></p><p><b>  else</b>

115、;</p><p><b>  {</b></p><p>  SqlCommand updatecmd = new SqlCommand("UPDATE T_MainType SET c_MtypeName=@TypeName WHERE p_i_MTypeID=@TypeID", cn);</p><p>  updat

116、ecmd.Parameters.Add("@TypeID", SqlDbType.Int);</p><p>  updatecmd.Parameters["@TypeID"].Value = txtTypeID.Text;</p><p>  updatecmd.Parameters.Add("@TypeName", SqlDb

117、Type.VarChar, 50, "c_MtypeName");</p><p>  updatecmd.Parameters["@TypeName"].Value = txtTypeName.Text;</p><p>  if (cn.State == ConnectionState.Closed) cn.Open();</p>

118、<p>  updatecmd.ExecuteNonQuery();</p><p>  MessageBox.Show("修改成功!");</p><p><b>  }</b></p><p>  5.6 幫助模塊設計</p><p>  在此模塊中查看關于模塊和幫助信息模塊,2個部分。

119、</p><p>  幫助模塊頁面效果如圖5.6所示:</p><p>  圖5.6 幫助模塊界面</p><p><b>  5.6.1 關于</b></p><p>  在此模塊中查看軟件信息。</p><p>  關于模塊如圖5.6.1所示:</p><p>  圖5

120、.6.1 關于界面</p><p>  5.6.2 幫助信息模塊</p><p>  在此模塊中,可以為第一次使用本系統(tǒng)的用戶提供幫助支持。</p><p>  幫助信息模塊如圖5.6.2所示:</p><p>  圖5.6.2幫助信息模塊界面</p><p>  5.7 圖書操作模塊設計</p><

121、;p>  圖書操作模塊主要模塊包括借書模塊和還書模塊,2個部分。</p><p>  圖書操作模塊如圖5.7所示:</p><p>  圖5.7 圖書操作模塊界面</p><p>  5.7.1 借書模塊</p><p>  該模塊是為用戶提供借書操作,實現(xiàn)借書功能。</p><p>  借書模塊如圖5.7.1所

122、示:</p><p>  圖5.7.1借書模塊界面</p><p><b>  主要代碼如下:</b></p><p>  if (MessageBox.Show("你是否要借這本書?", "溫馨提示!", MessageBoxButtons.YesNo, MessageBoxIcon.Informati

123、on) == DialogResult.Yes)</p><p><b>  {</b></p><p>  SqlCommand cmd = new SqlCommand("", cn);</p><p>  string insert = "insert into t_borrow(c_readerName,f

溫馨提示

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

評論

0/150

提交評論