版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 1.緒論</b></p><p> 隨著計算機及網(wǎng)絡技術(shù)的飛速發(fā)展,Internet/Intranet應用在全球范圍內(nèi)日益普及,當今社會正快速向信息化社會前進,信息系統(tǒng)的作用也越來越大。圖書館在正常運營中總是面對大量的讀者信息,書籍信息以及由兩者相互作用產(chǎn)生的借書信息,還書信息。因此圖書管理信息化是發(fā)展的必然趨勢。用結(jié)構(gòu)化系統(tǒng)分析與設(shè)計的方法,建立一套有效的圖
2、書信息管理系統(tǒng),可以減輕工作,將工作科學化、規(guī)范化,提高了圖書館信息管理的工作質(zhì)量因此根據(jù)圖書館目前實際的管理情況開發(fā)一套圖書管理系統(tǒng)是十分必要的。</p><p> 1.1 圖書管理的現(xiàn)狀</p><p> 一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對于圖書館的借書和還書過程,想必大家都已很熟悉。在計算機尚未在圖書管理系統(tǒng)廣泛使用之前,借書和還書過程主要依靠手工。一個最典
3、型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個小格欄里,并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時,讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應的書卡和借閱證,并填好相應的還書信息,這樣還書過程就完成了。隨著近年來信息技術(shù)及計算機網(wǎng)絡技術(shù)的不斷發(fā)展, 圖書館也先從傳統(tǒng)的圖書館發(fā)展到自動化圖書館,再發(fā)展到今天的數(shù)字圖書
4、館,這些變化使得圖書館的形象越來越現(xiàn)代化,人們查找資料也更加方便。對于一些小圖書館和一些圖書室來說,由于工作人員比較少,長期以來,作為圖書館的主要工作—圖書借閱一直未能很好地開展。在平常的圖書借閱工作中, 由于大部分讀者不熟悉圖書館藏書,且對圖書排架分類的不了解,往往花費很長時間才能找到其所需的書。為提高管理效率,更好地為讀者服務,利用已有的辦公局域網(wǎng)絡條件,將館藏書籍做成基于WE</p><p> 傳統(tǒng)的圖書
5、管理模式其最大的特點是手工;首先要把買來的圖書資料登記到資料本上,再給每本書分類貼上標簽及制作和標簽相對應的圖書分類卡片,最后把圖書分類卡片按類別分別放置在文件柜里。對于有學生(教師)證的學生(教師)來說還要對他們資料作一定的記錄。并且在人們來借書的時候,首先持證件者要去存放圖書分類卡片的文件柜里查找想借的書是否在架,如果卡片存在,再按照圖書分類卡片在相應的書架上找到需要的圖書,然后登記持證件者的借還書時間和在書簽條上寫下借還書記錄,之
6、后把借書證留在那里;還書的時候,相對應的消去出借記錄;這樣做起來比較麻煩,比較費時間。傳統(tǒng)圖書管理的特點是一直以來,中小型書店、中小學的小型圖書館及各高校圖書館和資料室使用傳統(tǒng)的人工方式管理圖書檔案、會員檔案。這種管理方式存在著諸多缺點,如:手續(xù)繁瑣、工作量大、效率低下、出錯率高等,同時給對大量資料的查詢、更新及維護都帶來不少困難。</p><p> 1.2 現(xiàn)有圖書管理系統(tǒng)的概述</p>&l
7、t;p> 在試用了一些個圖書管理系統(tǒng)和查閱了大量相關(guān)資料文獻的基礎(chǔ)上,發(fā)現(xiàn)那些系統(tǒng)在幾個方面已經(jīng)不符合時代的要求,由于設(shè)計人員及其所用的工具的不同,有Visual Basic6.0、Visual ForPro6.0、Power Builder等,再加上這些圖書管理系統(tǒng)設(shè)計的時間也不一樣,所用具體場合也有區(qū)別,因此在功能上除了圖書資料管理所需的基本功能之外也有所不同。經(jīng)過比較總結(jié)他們都實現(xiàn)了以下圖書管理的基本功能:1、圖書檢索模塊
8、:是圖書管理系統(tǒng)的重要模塊之一,是讀者快速查詢圖書的途徑。2、圖書管理模塊:是圖書管理員操作模塊,讀者是無權(quán)進入的。本模塊由借出圖書登記、歸還圖書登記和續(xù)借圖書登記子模塊構(gòu)成。3、數(shù)據(jù)維護模塊:是由圖書管理員控制的模塊,它由增加、修改和刪除讀者,增加、修改刪除圖書,瀏覽修改讀者、瀏覽修改圖書等程序組成。 4、數(shù)據(jù)統(tǒng)計模塊:由讀者統(tǒng)計、圖書統(tǒng)計、借出圖書分類統(tǒng)計、到期末歸還圖書讀者統(tǒng)計幾部分組成。這些系統(tǒng)解決了以前的那種管理方式所存在著的
9、諸如手續(xù)繁瑣、工作量大、效率低下、出錯率高等缺點,設(shè)計出的系統(tǒng)能使讀者快速檢索到自己喜愛的書,圖書管理員能減輕工作量。</p><p> 但是鑒于開發(fā)工具和開發(fā)當時的科技發(fā)展水平所限,再加上歷史發(fā)展到今天,人們的生活環(huán)境已經(jīng)發(fā)生了改變,大家對于圖書查詢這方面的要求也更高。比如在一個局域網(wǎng)內(nèi),大家希望能在本臺電腦上就能查找自己想要的圖書,而不用跑到圖書館或圖書室里去用那里的電腦查詢,這就需要一個網(wǎng)絡化的聯(lián)機查詢系
10、統(tǒng)。</p><p> 1.3 選題的目的、意義 </p><p> 隨著社會的進步,信息技術(shù)的廣泛應用,數(shù)字化管理的優(yōu)勢日趨顯著。針對中小型圖書館或圖書室管理落后的情況,設(shè)計實現(xiàn)一個圖書信息管理系統(tǒng),通過與計算機的結(jié)合使用對中小型圖書館或圖書室的各種圖書信息進行管理可以給管理員和用戶帶來以下不同的方便:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠
11、極大地提高工作效率,也是圖書館等部門管理科學化、正規(guī)化的重要標志之一。而且計算機管理的成本不斷降低。因此,開發(fā)一套這樣的中小型圖書管理軟件已經(jīng)很有必要,并且實現(xiàn)研究服務于實踐的原則。</p><p> 2 圖書管理系統(tǒng)開發(fā)平臺介紹</p><p> 2.1系統(tǒng)開發(fā)運行環(huán)境 </p><p> 系統(tǒng)開發(fā)環(huán)境:Microsoft Visual Studio 20
12、05</p><p> 系統(tǒng)開發(fā)語言:ASP.net</p><p> 運行平臺:Windows XP</p><p> 數(shù)據(jù)庫:SQL Server 2005</p><p> 2.2 Asp.net的介紹</p><p> 2.2.1 Asp.net的優(yōu)勢介紹</p><p>
13、 ASP.Net可完全利用.Net架構(gòu)的強大,安全,高效的平臺特性。ASP.Net是運行在服務器后端編譯后的普通語言運行時代碼,運行時早綁定(Early Binding),即時編譯,本地優(yōu)化,緩存服務,零安裝配置,基于運行時代碼受管與驗證的安全機制等都為ASP.Net帶來卓越的性能。 對XML,SOAP,WSDL等Internet標準的強健支持為Asp.net在異構(gòu)網(wǎng)絡里提供了強大的擴展性。ASP.NET 是一個已編譯的、基
14、于 .NET 的環(huán)境,可以用任何與 .NET 兼容的語言創(chuàng)作應用程序。另外,任何 ASP.NET 應用程序都可以使用整個.NET框架。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。在創(chuàng)建 ASP.NET 應用程序、Web 窗體和 Web服務時,開發(fā)人員可以選擇下列兩個功能,或者以他們認為合適的
15、任何方式將它們結(jié)合起來使用。每個功能都能得到同一結(jié)構(gòu)的支持,使您能夠使用身份驗證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對應用程序的配置進行自定義,這里只是列出幾種可能性而已?!癢eb 窗體”用于生成功能強大的基于窗體的 Web 頁。生成這些頁</p><p> 2.2.2 Asp.net的特點</p><p> ASP.net是基于通用語言的編譯運行的程序,所以
16、它的強大性和適應性,可以使它運行在Web應用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.net的Web應用中。ASP.net同時也是language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護您現(xiàn)在
17、的基于COM+開發(fā)的程序,能夠完整的移植向ASP.net。</p><p> 2.3 SQL Server 2005 概述</p><p> SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)它是由Microsoft推出的。SQL Server 是一個具備完全 Web 支持的數(shù)據(jù)庫產(chǎn)品,提供了對可擴展標記語言 (XML) 的核心支持以及在 Internet 上和防火墻外進行查詢的能力,提
18、供了以 Web 標準為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能。豐富的 XML 和 Internet 標準支持允許使用內(nèi)置的存儲過程以 XML 格式輕松存儲和檢索數(shù)據(jù)。</p><p> SQL Server 提供強大的開發(fā)工具和各類開發(fā)特性,在大大提高開發(fā)效率的同時,進一步拓展應用空間,帶來新的商業(yè)應用機遇。例如,XML數(shù)據(jù)庫與Web Service的支持將使您的應用實現(xiàn)Internet數(shù)據(jù)互聯(lián),.net集成極大的擴展了開發(fā)
19、空間,異構(gòu)數(shù)據(jù)集成、Service Broker使您的數(shù)據(jù)和其它應用無縫集成,各種新數(shù)據(jù)類型和T-SQL擴展帶來了諸多靈活性。C#、VB.net、XMLA、ADO.net 2.0、SMO、AMO等都將成為SQL Server數(shù)據(jù)平臺上開發(fā)數(shù)據(jù)相關(guān)應用的有力工具。它具有以下特點:</p><p><b> (1)上手容易</b></p><p> 大多數(shù)的中小企業(yè)日
20、常的數(shù)據(jù)應用是建立在Windows平臺上的。由于SQL Server與Windows界面風格完全一致,且有許多"向?qū)?Wizard)"幫助,因此易于安裝和學習,有關(guān)SQL Server的資料、培訓隨處可得,并且目前國內(nèi)具有MCDBA認證的工程師不在少數(shù)</p><p><b> (2)兼容性良好</b></p><p> 由于今天Windows
21、操作系統(tǒng)占領(lǐng)著主導地的位,選擇SQL Server一定會在兼容性方面取得一些優(yōu)勢。另外,SQL Server 2005 除了具有擴展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯 XML 數(shù)據(jù),可以將搜索結(jié)果以 XML格式輸出等特點,有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應用和服務的基石。這些特點在.NET 戰(zhàn)略中發(fā)揮著重要的作用。</p><p><b>
22、 (3)電子商務</b></p><p> 在使用由Microsoft SQL Server 2005關(guān)系數(shù)據(jù)庫引擎的情況下,XML數(shù)據(jù)可在關(guān)系表中進行存儲,而查詢則能以XML格式將有關(guān)結(jié)果返回。此外,XML支持還簡化了后端系統(tǒng)集成,并實現(xiàn)了跨防火墻的無縫數(shù)據(jù)傳輸。你還可以使用Hypertext Transfer Protocol(超文本傳輸協(xié)議,HTTP)來訪問SQL Server 2005,以
23、實現(xiàn)面向SQL Server 2005數(shù)據(jù)庫的安全Web連接和無須額外編程的聯(lián)機分析處理(OLAP)多維數(shù)據(jù)集。</p><p><b> (4)數(shù)據(jù)倉庫</b></p><p> Microsoft SQL Server 2005非常明顯的改進就是增加了OLAP(聯(lián)機分析處理)功能,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉庫的一些特性進行分析。OLAP可以通過多
24、維存儲技術(shù)對大型、復雜數(shù)據(jù)集執(zhí)行快速、高級的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢,它允許組織或機構(gòu)最大限度的從數(shù)據(jù)中獲取價值。通過對現(xiàn)有數(shù)據(jù)進行有效分析,這一功能可以對未來的趨勢進行預測。</p><p><b> 2.4 Web技術(shù)</b></p><p> 2.4.1 瀏覽器/服務器(Browser/Server)結(jié)構(gòu)</p&g
25、t;<p> 隨著Web和Internet計算環(huán)境的發(fā)展,將使企業(yè)能夠以更快的速度、更低的費用去創(chuàng)建和布置企業(yè)的應用系統(tǒng),因而,普遍認為C/S架構(gòu)將會被B/S結(jié)構(gòu)取代。Internet為數(shù)據(jù)庫應用系統(tǒng)提供了新的機會,采用B/S結(jié)構(gòu),客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explores;中間層采用Web服務器,它接受客戶端的請求,將其轉(zhuǎn)換為SQL語句,通過
26、ODBC或其他手段傳給數(shù)據(jù)庫服務器,并將數(shù)據(jù)庫服務器返回的結(jié)果用HTML文件格式傳回給客戶機??蛻魴C的要求大大降低,大部分程序在服務器端執(zhí)行。采用3層體系結(jié)構(gòu)的Web應用程序由Web瀏覽器、Web服務器和數(shù)據(jù)庫3部分組成,如圖2-1所示。Web瀏覽器與Web服務器之間的通信仍然遵循HTTP,Web服務器與數(shù)據(jù)庫之間的通信遵守CGI(Common Gateway Interface)或者Server API規(guī)范。在采用三層體系結(jié)構(gòu)的Web
27、應用程序中,Web瀏覽器向Web服務器請求某個HTML文檔或者請求執(zhí)行某個CGI腳本程序。Web服務器根據(jù)Web瀏覽器請求的是某個CGI程序或者API</p><p> 2.4.2 IIS服務器技術(shù)</p><p> IIS(Internet Information Server Internet信息服務器)是Microsoft公司開發(fā)的一種集Web,F(xiàn)TP和Gopher服務于一身的
28、服務器,它可以利用Windows XP Server的各種功能并且能在Internet上發(fā)布信息。IIS是微軟隨著Windows XP Server附帶的一個軟件。IIS提供Internet信息服務器應用程序接口(ISAPI)擴展Web服務器的功能,并可通過ASP.NET實現(xiàn)Web程序的快速開發(fā),ASP.NET支持服務器端的JavaScript, VBScript, Microsoft Java和ActiveX Server Compo
29、nent,還支持用VB編寫的CGI程序,甚至用VB開發(fā)的C/S架構(gòu)的程序不經(jīng)過修改就可以在Web上發(fā)布,可以使開發(fā)動態(tài)主頁更加方便,同時也保護了以前的投資。IIS還包括了Microsoft Index Server,可實現(xiàn)對本W(wǎng)eb站點內(nèi)容的全文檢索以及Site Server Express用于分析站點訪問的情況。IIS的管理功能是基于Windows XP Server的,可充分利用Win</p><p> 3
30、 系統(tǒng)總體設(shè)計分析</p><p> 3.1 系統(tǒng)需求分析</p><p> 隨著互聯(lián)網(wǎng)的爆炸性發(fā)展,人們越來越習慣于利用網(wǎng)絡來實現(xiàn)所需的服務,網(wǎng)絡已深深影響到人們生活的各個方面。另外,傳統(tǒng)的圖書館不能滿足一部分現(xiàn)代人的需要,而電子閱覽室,由于其不受時間與空間的限制同時又具有傳統(tǒng)圖書館的大部分功能,能夠滿足各類用戶的常規(guī)與特殊需求,而且其方便快捷,實現(xiàn)技術(shù)又比較成熟,因此受到當代人的
31、喜愛。</p><p> 該系統(tǒng)主要分為兩部分:讀者部分和管理員部分。為了方便讀者查找自己感興趣的主題進行閱讀,要將圖書按照內(nèi)容進行分類。讀者可以按照類別進行查找,逐級瀏覽、可以查看自己的信息。本系統(tǒng)還可對用戶的賬號和書目的閱讀權(quán)限進行管理。管理員需要給用戶分配用戶名和密碼,及設(shè)定用戶的級別,還為用戶提供圖書的排行榜讓用戶能知道那些圖書受到大家的歡迎。</p><p> 3.2 系統(tǒng)
32、實現(xiàn)的目標 </p><p> 學校圖書管理系統(tǒng)的開發(fā)主要實現(xiàn)的目標有以下幾個方面:</p><p> (1)界面設(shè)計友好、美觀。</p><p> (2)數(shù)據(jù)存儲安全、可靠。</p><p> (3)信息分類清晰、準確。</p><p> (4)強大的查詢功能,保證數(shù)據(jù)查詢的靈活性。</p>
33、<p> (5)實現(xiàn)對圖書借閱和歸還過程的全程數(shù)據(jù)信息跟蹤。</p><p> (6)提供圖書借閱排行榜,為圖書管理員提供了真實的數(shù)據(jù)信息。</p><p> (7)提供靈活、方便的權(quán)限設(shè)置功能,使整個系統(tǒng)的管理分工明確。</p><p> (8)具有易維護性和易操作性。</p><p> 3.3 系統(tǒng)功能模塊設(shè)計<
34、;/p><p> (1)系統(tǒng)設(shè)置模塊:添加刪除管理員、設(shè)置管理員的權(quán)限、說明圖書存放書架信息添加刪除書架信息。</p><p> (2)讀者管理模塊:添加刪除不同類型的讀者及注明可借圖書的數(shù)量、添加刪除讀者的檔案。</p><p> (3)圖書管理模塊:添加刪除不同類型的圖書及注明圖書可借的天數(shù)庫存數(shù)量、添加刪除圖書的檔案。</p><p>
35、; (4)圖書借還模塊:可查詢讀者借閱和歸還圖書的信息及圖書的現(xiàn)有庫存量。</p><p> (5)系統(tǒng)查詢模塊:可根據(jù)不同的條件(條形碼、書名、類別、作者、書架、出版社)查詢讀者需要的圖書、讀者可根據(jù)不同的條件(圖書條形碼、圖書名稱、讀者編號、讀者名字、到期時間)查詢自己借閱圖書信息。</p><p> (6)排行榜模塊:可以讓讀者知道圖書借閱的排行榜及讀者借閱的排行榜。</
36、p><p> 3.4 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 根據(jù)圖書管理系統(tǒng)的實際需求,可以將圖書管理系統(tǒng)劃分為系統(tǒng)設(shè)置、圖書管理、讀者管理、圖書借還、系統(tǒng)查詢、排行榜6個部分各個部分的具體功能的系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。</p><p> 圖3-1 系統(tǒng)功能結(jié)構(gòu)圖</p><p> (1)圖書借閱系統(tǒng)完成用戶的借書過程其數(shù)據(jù)流圖如圖
37、3-2所示。</p><p> 圖3-2 借閱系統(tǒng)的數(shù)據(jù)流圖</p><p> (2)還書系統(tǒng)完成圖書的歸還過程其數(shù)據(jù)流圖如圖3-3所示。</p><p> 圖3-3 歸還系統(tǒng)的數(shù)據(jù)流圖</p><p> ?。?)圖書檔案管理系統(tǒng)為用戶提供圖書檔案信息其數(shù)據(jù)流圖如圖3-4所示。</p><p> 圖3-4
38、 圖書檔案管理數(shù)據(jù)流圖</p><p> ?。?)讀者檔案系統(tǒng)用于記錄讀者的詳細信息其數(shù)據(jù)流圖如圖3-5所示。</p><p> 圖3-5 讀者檔案管理數(shù)據(jù)流圖</p><p> 3.5 系統(tǒng)流程圖</p><p> 圖書管理系統(tǒng)的流程是用戶先輸入自己的賬號密碼及系統(tǒng)顯示的驗證碼進入系統(tǒng)如有一項不符合則不能進入系統(tǒng),成功登陸系統(tǒng)后系
39、統(tǒng)根劇登陸的賬號信息從數(shù)據(jù)庫中的數(shù)據(jù)進行對比判斷是讀者還是管理員,如果是讀者則能進行信息查詢,及修改自己的相關(guān)信息,查詢到自己所需要的圖書就能通過管理員進行借閱圖書、歸還圖書也是通過管理員完成的。如果不是讀者而是管理員,那管理員可以進行相關(guān)信息的查詢、添加刪除圖書及讀者的所有信息、設(shè)置相應的權(quán)限、為圖書更新排行榜的信息、以及完成讀者的圖書借閱與歸還。圖書管理系統(tǒng)的系統(tǒng)流程圖如圖3-6所示。</p><p><
40、;b> ’</b></p><p> 圖3-6 圖書管理系統(tǒng)的流程圖、</p><p> 4 數(shù)據(jù)總體結(jié)構(gòu)設(shè)計</p><p> 4.1 圖書管理系統(tǒng)的可行性分析</p><p> 本次畢業(yè)設(shè)計題目:“學校圖書管理系統(tǒng)的開發(fā)”主要目的是利用數(shù)據(jù)庫軟件編制一個管理軟件,用以實現(xiàn)圖書、讀者以及日常工作等多項管理。
41、同時對整個系統(tǒng)的分析、設(shè)計過程給出一個完整論證。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。在對圖書、讀者的管理,其實是對圖書、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無疑會為管理者對圖書管理系統(tǒng)提供極大的幫助。本系統(tǒng)的設(shè)計主要從以下幾方面做起:系統(tǒng)業(yè)務流程分析、系統(tǒng)的功能設(shè)計、系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計等。作這些工作需對數(shù)據(jù)庫知識有足夠認識,并深入的了解Visual C#的使用和管理系統(tǒng)的相關(guān)知識。在信息時代的今天,人類需要對在政治、經(jīng)濟
42、、軍事、文化、科研、教育等領(lǐng)域產(chǎn)生的大量信息進行管理,并對數(shù)據(jù)進行加工處理,數(shù)據(jù)庫技術(shù)則是信息管理與數(shù)據(jù)處理的先進技術(shù)。隨著信息量的不斷增加,作為計算機的三大主要應用(科學計算、過程控制和數(shù)據(jù)處理)之一的數(shù)據(jù)處理,已迅速上升為計算機應用的主要方面,數(shù)據(jù)庫技術(shù)則成為人們?nèi)粘I钪刑幚頂?shù)據(jù)不可缺少的有力工具,并且現(xiàn)代的信息管理系統(tǒng)幾乎都以數(shù)據(jù)庫技術(shù)作為核心。</p><p> 現(xiàn)在大多數(shù)的圖書管理方式為手工處理,重
43、復勞動多,勞動強度大,而且容易出錯,新系統(tǒng)的使用能否可以很好的解決這些問題要看系統(tǒng)的可行性,可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。系統(tǒng)的可行性分析有以下幾個方面:</p><p> (1)技術(shù)可行性:處理速度快、準確通過權(quán)限的設(shè)置,數(shù)據(jù)的安全性好、方便查詢、借閱管理等。 </p><p> (2)經(jīng)濟可行性:系統(tǒng)建設(shè)不需要很大的投入、可縮減人力投入。
44、</p><p> (3)運行上可行性:本系統(tǒng)作為一個小型的圖書館信息管理系統(tǒng),所耗費的</p><p><b> 資源非常的小。 </b></p><p> (4)從各種社會因素可行性分析:可降低工作人員工作強度,提高效率,會</p><p> 得到學校工作人員的一致同意的。</p><p&
45、gt; 綜上所述通過可行性分析認為新系統(tǒng)的開發(fā)方案切實可行,可進行開發(fā)。</p><p> 4.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計是在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這個階段不用考慮所采用的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)類型、機器類型等問題。這階段可用的工具很多。用的最多的是E-R圖(Enti
46、ty-Relation,實體-關(guān)系圖),另外還有許多計算機輔助工具(Computer Aided Software Engineering, CASE)可以幫助進行設(shè)計。本系統(tǒng)采用了E-R圖的方法進行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計。E-R圖是描述數(shù)據(jù)實體關(guān)系的一種直觀描述工具。這種圖中有:</p><p> (1)實體:用方框表示,方框內(nèi)為實體的名稱。</p><p> (2)實體的各種屬性:用橢
47、圓表示,橢圓內(nèi)為屬性名稱。使用線段將其和響應的實體連接起來。</p><p> (3)實體之間的聯(lián)系:用菱形表示,菱形內(nèi)為聯(lián)系的名稱。實體和實體之間的聯(lián)系較多,比較常見的聯(lián)系有l(wèi):1,l:N和M:N這三種。</p><p> 4.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 概念結(jié)構(gòu)是獨立于實際數(shù)據(jù)模型的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進行數(shù)據(jù)庫應用的設(shè)計
48、。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。</p><p> 第一種轉(zhuǎn)化是將實體轉(zhuǎn)化為關(guān)系表。這種轉(zhuǎn)化較簡單,需要將實體的屬性定義為表的屬性即可。</p><p> 第二種轉(zhuǎn)化是聯(lián)系的轉(zhuǎn)化。即將各個實體之間的聯(lián)系轉(zhuǎn)化為表格之間的關(guān)系,如外部鍵的定義。</p><p> 在上面工作的基礎(chǔ)上歸納出人員管理數(shù)據(jù)庫表格的組成之間的聯(lián)系等等。該數(shù)據(jù)庫
49、系統(tǒng)具有以下方面的特點:</p><p> 結(jié)構(gòu)合理,對一個人員建立多條記錄。</p><p> 所建立的數(shù)據(jù)冗余度小,獨立性強。</p><p> 建檔、修改、查詢、統(tǒng)計快速而準確。</p><p> 保密性好、可靠性好。 </p><p> 圖書管理系統(tǒng)中要有圖書,圖書是圖書管理系統(tǒng)中密不可分的部分,因此
50、要創(chuàng)建一圖書信息實體,用來保存圖書的詳細信息。圖書信息實體屬性圖如4-1所示</p><p> 圖4-1 圖書信息實體屬性圖</p><p> 讀者是圖書管理系統(tǒng)重要組成部分,這里創(chuàng)建了一個讀者信息實體,用來存儲讀者的詳細信息。讀者信息實體E-R圖如圖4.2所示。</p><p> 圖4-2 讀者信息實體屬性圖</p><p>
51、圖書的借閱和歸還是圖書管理系統(tǒng)中的一項重要的環(huán)節(jié),開發(fā)圖書管理系統(tǒng)就是為了方便讀者對圖書的借閱和歸還,因此要建立一個圖書借還實體,用來保存讀者對圖書的借閱和歸還的詳細信息。圖書的借閱和歸還實體屬性圖如圖4-3所示。</p><p> 圖4-3 讀者借還實體屬性圖</p><p> 圖書管理系統(tǒng)為了增加系統(tǒng)的安全性,管理員只有在系統(tǒng)登陸模塊驗證通過后才能進入管理員的操作界面,因此套在數(shù)
52、據(jù)庫中創(chuàng)建一個存放登錄用戶信息的管理員實體。管理員實體屬性圖如圖4-4所示。</p><p> 圖4-4 管理員實體屬性圖</p><p> 4.4 圖書管理系統(tǒng)的系統(tǒng)E-R圖</p><p> 圖書管理系統(tǒng)的系統(tǒng)E-R圖如圖4-5所示。</p><p> 圖4-5 圖書管理系統(tǒng)的系統(tǒng)E-R圖</p><p&g
53、t;<b> 4.5 數(shù)據(jù)表設(shè)計</b></p><p> 本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為SQL Server 2005。數(shù)據(jù)庫中的表有管理員信息表、圖書信息表、讀者信息表、管理員權(quán)限表、圖書借閱歸還表等。圖書管理員基本信息表tb_admin,如表4-6所示</p><p> 表4-6 tb_admin(管理員)表 。</p><p>
54、 讀者詳細信息表tb_reader,如表4-7所示。</p><p> 表4-7 tb_reader(讀者信息)表</p><p> 圖書詳細信息表tb_bookkifo,如表4-8所示。</p><p> 表4-8 tb_bookkifo(圖書信息)表</p><p> 圖書借閱和歸還信息表tb_borrowandback,如表
55、4-9所示。</p><p> 表4-9 tb_borrowandback(圖書借閱和歸還信息)表</p><p> 權(quán)限信息表tb_purview,如表4-10所示。</p><p> 表4-10 tb_purview(權(quán)限信息)表</p><p> 5 圖書管理系統(tǒng)詳細設(shè)計</p><p> 5.1
56、 系統(tǒng)流程分析</p><p> 根據(jù)開發(fā)圖書管理系統(tǒng)的需求分析,本系統(tǒng)設(shè)計了三種用戶,分別為系統(tǒng)管理員、教師和學生。</p><p> 系統(tǒng)要求有系統(tǒng)管理員用戶,我們設(shè)定系統(tǒng)管理員,當系統(tǒng)管理員使用賬戶登錄后,需要查看有關(guān)圖書的一系列的信息,管理員可以通過系統(tǒng)導航菜單進入讀者管理界面、圖書管理界面、圖書借還界面、系統(tǒng)查詢界面、排行榜界面,在讀者界面中,管理員添加和修改學生或教師信息、
57、用戶可以查看自己信息,在圖書管理界面管理員可以添加和修改圖書信息、用戶可查看圖書,在圖書借還界面完成讀者借書還書的操作,系統(tǒng)查詢界面管理員可以查看借出去的圖書信息及庫存的信息、用戶可以查找自己的所需的圖書,排行榜界面主要是可以讓用戶知道哪些圖書受到讀者的喜愛。讀者(老師和學生)使用讀者賬號登陸系統(tǒng)后,可以查詢自己所需要的圖書的信息、也可以查詢自己個人的基本信息及圖書的借還信息,還能查看排行榜的信息。讀者的借書和還書過程是通過管理員完成的
58、。</p><p> 5.2 主要模塊的運行</p><p> 5.2.1 登陸界面</p><p> 當用戶輸入用戶名、密碼,系統(tǒng)自動將輸入的信息和相關(guān)數(shù)據(jù)表中的內(nèi)容進行比較,如果該用戶輸入的內(nèi)容和數(shù)據(jù)表中的內(nèi)容相符,則通過驗證,此次登錄成功;否則登錄失敗。比較的過程是由瀏覽器將指令,數(shù)據(jù)發(fā)送到Web服務器,Web服務器通過對數(shù)據(jù)庫進行查詢將結(jié)果返回到瀏
59、覽器,從而端顯示成功的消息,用戶只有成功登陸系統(tǒng)后才能進行一系列的操作,如下圖5-1所示。</p><p> 5-1 圖書管理系統(tǒng)登陸界面</p><p><b> 代碼實現(xiàn)</b></p><p> using System;</p><p> using System.Data;</p>&l
60、t;p> using System.Configuration;</p><p> using System.Collections;</p><p> using System.Web;</p><p> using System.Web.Security;</p><p> using System.Web.UI;<
61、/p><p> using System.Web.UI.WebControls;</p><p> using System.Web.UI.WebControls.WebParts;</p><p> using System.Web.UI.HtmlControls;</p><p> public partial class Login
62、 : System.Web.UI.Page</p><p><b> {</b></p><p> OperatorClass operatorclass = new OperatorClass();</p><p> AdminManage adminmanage = new AdminManage();</p><
63、p> ReaderManage readermanage = new ReaderManage();</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p><b> }</b></
64、p><p> protected void btnLogin_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (txtAdmin.Text == string.Empty)</p><p><b> {</b>&l
65、t;/p><p> Response.Write("<script>alert('管理員名稱不能為空!')</script>");</p><p><b> return;</b></p><p><b> }</b></p><p>&
66、lt;b> else</b></p><p><b> {</b></p><p> DataSet adminds = null;</p><p> DataSet readerds = null;</p><p> adminmanage.Name = txtAdmin.Text;<
67、/p><p> adminmanage.Pwd = txtPwd.Text;</p><p> adminds = adminmanage.Login(adminmanage);</p><p> readermanage.ID=txtPwd.Text;</p><p> readermanage.Name=txtAdmin.Text;&
68、lt;/p><p> readerds=readermanage.ReaderLogin(readermanage);</p><p> if (adminds.Tables[0].Rows.Count > 0 && txtCode.Text == Request.Cookies["CheckCode"].Value)</p><
69、;p><b> {</b></p><p> Session["Name"] = txtAdmin.Text;</p><p> Response.Redirect("Default.aspx");</p><p><b> }</b></p><p
70、> else if (readerds.Tables[0].Rows.Count > 0 && txtCode.Text == Request.Cookies["CheckCode"].Value)</p><p><b> {</b></p><p> Session["Name"] = tx
71、tAdmin.Text;</p><p> Session["readid"] = txtPwd.Text;</p><p> Session["role"] = "Reader";</p><p> Response.Redirect("Default.aspx");</p
72、><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Write("<script>alert('登錄名或密碼不正確!')</scri
73、pt>");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> protected void btnCancel_Click(object sender, EventArg
74、s e)</p><p><b> {</b></p><p> txtAdmin.Text = txtPwd.Text = txtCode.Text = string.Empty;</p><p><b> }</b></p><p><b> }</b></p
75、><p> 5.2.2 圖書信息管理模塊</p><p> 圖書信息管理模塊主要分為查看圖書信息頁面和添加修改圖書信息頁面,用戶可以在查看圖書信息頁面查看圖書的基本信息,管理員也可以看這些信息,并且可以通過單擊“添加圖書信息”這個超級鏈接或GridView控件中的“詳情”超級鏈接轉(zhuǎn)到添加或刪除圖書信息界面,并在該頁中添加或修改圖書信息,如圖5-2與5-3所示。</p>&l
76、t;p> 圖5-2 添加或修改圖書信息界面</p><p> 圖5-3 查看圖書信息界面</p><p> 添加圖書信息模塊實現(xiàn)</p><p> using System;</p><p> using System.Data;</p><p> using System.Configurati
77、on;</p><p> using System.Collections;</p><p> using System.Web;</p><p> using System.Web.Security;</p><p> using System.Web.UI;</p><p> using System.W
78、eb.UI.WebControls;</p><p> using System.Web.UI.WebControls.WebParts;</p><p> using System.Web.UI.HtmlControls;</p><p> public partial class BookManage_AddBook : System.Web.UI.Pag
79、e</p><p><b> {</b></p><p> ValidateClass validate=new ValidateClass();</p><p> BookcaseManage bookcasemanage = new BookcaseManage();</p><p> BTypeManage
80、 btypemanage = new BTypeManage();</p><p> BookManage bookmanage = new BookManage();</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></
81、p><p> this.Title = "添加/修改圖書信息頁面";</p><p> if (!IsPostBack)</p><p><b> {</b></p><p> DataSet bcaseds = bookcasemanage.GetAllBCase("tb_bookca
82、se");</p><p> ddlBCase.DataSource = bcaseds;</p><p> ddlBCase.DataTextField = "name";</p><p> ddlBCase.DataBind();</p><p> DataSet btypeds = btypeman
83、age.GetAllBType("tb_booktype");</p><p> ddlBType.DataSource = btypeds;</p><p> ddlBType.DataTextField = "typename";</p><p> ddlBType.DataBind();</p>&l
84、t;p> if (Request["bookcode"] == null)</p><p><b> {</b></p><p> btnAdd.Enabled = true;</p><p> txtInTime.Text = DateTime.Now.ToShortDateString();</p&g
85、t;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> btnSave.Enabled = true;</p><p> txtBCode.ReadOnly = txtBNam
86、e.ReadOnly = true;</p><p> txtBCode.Text = Request["bookcode"].ToString();</p><p> bookmanage.BookCode = txtBCode.Text;</p><p> DataSet bookds = bookmanage.FindBookByCo
87、de(bookmanage,"tb_bookinfo");</p><p> txtBName.Text = bookds.Tables[0].Rows[0][1].ToString();</p><p> ddlBType.SelectedValue = bookds.Tables[0].Rows[0][2].ToString();</p><
88、p> txtAuthor.Text = bookds.Tables[0].Rows[0][3].ToString();</p><p> txtTranslator.Text = bookds.Tables[0].Rows[0][4].ToString();</p><p> txtPub.Text = bookds.Tables[0].Rows[0][5].ToString(
89、);</p><p> txtPrice.Text = bookds.Tables[0].Rows[0][6].ToString();</p><p> txtPage.Text = bookds.Tables[0].Rows[0][7].ToString();</p><p> ddlBCase.SelectedValue = bookds.Tables[0
90、].Rows[0][8].ToString();</p><p> txtStorage.Text = bookds.Tables[0].Rows[0][9].ToString();</p><p> txtInTime.Text = bookds.Tables[0].Rows[0][10].ToString();</p><p> txtOper.Text
91、= bookds.Tables[0].Rows[0][11].ToString();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> protected void btnAdd_Clic
92、k(object sender, EventArgs e)</p><p><b> {</b></p><p> ValidateFun();</p><p> bookmanage.BookCode = txtBCode.Text;</p><p> if (bookmanage.FindBookByCode
93、(bookmanage, "tb_bookinfo").Tables[0].Rows.Count > 0)</p><p><b> {</b></p><p> bookmanage.BookName = txtBName.Text;</p><p> bookmanage.Type = ddlBType.Se
94、lectedValue;</p><p> bookmanage.Author = txtAuthor.Text;</p><p> bookmanage.Translator = txtTranslator.Text;</p><p> bookmanage.PubName = txtPub.Text;</p><p> bookm
95、anage.Price = Convert.ToDecimal(txtPrice.Text);</p><p> bookmanage.Page = Convert.ToInt32(txtPage.Text);</p><p> bookmanage.Bcase = ddlBCase.SelectedValue;</p><p> bookmanage.Sto
96、rage = Convert.ToInt32(txtStorage.Text) + Convert.ToInt32(bookmanage.FindBookByCode(bookmanage, "tb_bookinfo").Tables[0].Rows[0][9].ToString());</p><p> bookmanage.InTime = Convert.ToDateTime(txtI
97、nTime.Text);</p><p> bookmanage.Oper = txtOper.Text;</p><p> bookmanage.UpdateBook(bookmanage);</p><p><b> }</b></p><p><b> else</b></p&g
98、t;<p><b> {</b></p><p> bookmanage.BookName = txtBName.Text;</p><p> bookmanage.Type = ddlBType.SelectedValue;</p><p> bookmanage.Author = txtAuthor.Text;<
99、/p><p> bookmanage.Translator = txtTranslator.Text;</p><p> bookmanage.PubName = txtPub.Text;</p><p> bookmanage.Price = Convert.ToDecimal(txtPrice.Text);</p><p> book
100、manage.Page = Convert.ToInt32(txtPage.Text);</p><p> bookmanage.Bcase = ddlBCase.SelectedValue;</p><p> bookmanage.Storage = Convert.ToInt32(txtStorage.Text);</p><p> bookmanage.
101、InTime = Convert.ToDateTime(txtInTime.Text);</p><p> bookmanage.Oper = txtOper.Text;</p><p> bookmanage.AddBook(bookmanage);</p><p><b> }</b></p><p> Re
102、sponse.Redirect("BookManage.aspx");</p><p><b> }</b></p><p> protected void btnSave_Click(object sender, EventArgs e)</p><p><b> {</b></p>
103、<p> ValidateFun();</p><p> bookmanage.BookCode = txtBCode.Text;</p><p> bookmanage.BookName = txtBName.Text;</p><p> bookmanage.Type = ddlBType.SelectedValue;</p>
104、<p> bookmanage.Author = txtAuthor.Text;</p><p> bookmanage.Translator = txtTranslator.Text;</p><p> bookmanage.PubName = txtPub.Text;</p><p> bookmanage.Price = Convert.T
105、oDecimal(txtPrice.Text);</p><p> bookmanage.Page = Convert.ToInt32(txtPage.Text);</p><p> bookmanage.Bcase = ddlBCase.SelectedValue;</p><p> bookmanage.Storage = Convert.ToInt32(
106、txtStorage.Text);</p><p> bookmanage.InTime = Convert.ToDateTime(txtInTime.Text);</p><p> bookmanage.Oper = txtOper.Text;</p><p> bookmanage.UpdateBook(bookmanage);</p>&l
107、t;p> Response.Redirect("BookManage.aspx");</p><p><b> }</b></p><p> protected void btnCancel_Click(object sender, EventArgs e)</p><p><b> {</b&
108、gt;</p><p> txtInTime.Text = DateTime.Now.ToShortDateString();</p><p> txtBName.Text = txtAuthor.Text = txtTranslator.Text = txtPub.Text = txtPrice.Text = txtPage.Text = txtStorage.Text = txtO
109、per.Text = string.Empty;</p><p><b> }</b></p><p> protected void ValidateFun()</p><p><b> {</b></p><p> if (txtBCode.Text == "")&l
110、t;/p><p><b> {</b></p><p> Response.Write("<script>alert('圖書條形碼不能為空!');location='javascript:history.go(-1)';</script>");</p><p><
111、b> return;</b></p><p><b> }</b></p><p> if (txtBName.Text == "")</p><p><b> {</b></p><p> Response.Write("<scrip
112、t>alert('圖書名稱不能為空!');location='javascript:history.go(-1)';</script>");</p><p><b> return;</b></p><p><b> }</b></p><p> if (!
113、validate.validateNum(txtPrice.Text))</p><p><b> {</b></p><p> Response.Write("<script>alert('圖書價格輸入有誤!');location='javascript:history.go(-1)';</script
114、>");</p><p><b> return;</b></p><p><b> }</b></p><p> if (!validate.validateNum(txtPage.Text))</p><p><b> {</b></p>
115、<p> Response.Write("<script>alert('圖書頁碼輸入有誤!');location='javascript:history.go(-1)';</script>");</p><p><b> return;</b></p><p><b&g
116、t; }</b></p><p> if (!validate.validateNum(txtStorage.Text))</p><p><b> {</b></p><p> Response.Write("<script>alert('圖書庫存量輸入有誤!');location=&
117、#39;javascript:history.go(-1)';</script>");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b&
118、gt; }</b></p><p> 5.2.3 圖書借還信息模塊</p><p> 圖書借還管理模塊主要分為圖書借閱頁面和圖書歸還頁面,用戶可以在通過這個模塊查看圖書的借閱和歸還信息。管理員可以在圖書通過這個模塊來完成讀者借和還書的操作,如圖5-4與5-5所示。</p><p> 圖5-4 圖書的借閱管理</p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計 圖書管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計--圖書管理系統(tǒng)
- 圖書管理系統(tǒng) 畢業(yè)設(shè)計
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-----圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----圖書管理系統(tǒng)
- 畢業(yè)設(shè)計---圖書管理系統(tǒng)
- 畢業(yè)設(shè)計-----圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---圖書管理系統(tǒng)
- 畢業(yè)設(shè)計----圖書管理系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計-----圖書管理系統(tǒng)
- 圖書管理系統(tǒng)(畢業(yè)設(shè)計)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計
- 小型圖書管理系統(tǒng)畢業(yè)設(shè)計
- 圖書管理系統(tǒng)-畢業(yè)設(shè)計論文
- java圖書管理系統(tǒng)畢業(yè)設(shè)計
評論
0/150
提交評論