基于BS模式的圖書借閱管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_論文_第1頁
基于BS模式的圖書借閱管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_論文_第2頁
基于BS模式的圖書借閱管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_論文_第3頁
基于BS模式的圖書借閱管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_論文_第4頁
基于BS模式的圖書借閱管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)設(shè)計(jì)_論文_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 . . . 清華大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書課題名稱基于B/S模式的圖書借閱管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)學(xué) 院 專業(yè)班級姓 名學(xué) 號畢業(yè)設(shè)計(jì)(論文)的主要容:一、進(jìn)行調(diào)研,了解、分析用戶對“圖書管理系統(tǒng)”的設(shè)計(jì)要求。二、熟練掌握一種程序設(shè)計(jì)語言,掌握其數(shù)據(jù)庫開發(fā)、訪問技術(shù)。三、根據(jù)課題要求,軟件完成如下功能:1,對圖書基本信息的增刪改查等操作的實(shí)現(xiàn);2,對讀者借書證基本信息的管理;3,讀者借閱圖書信息的管理,包括圖書的借出和歸還,包括逾期歸還圖書,丟失圖書等特殊情況的處理,還有根據(jù)讀者的不同身份設(shè)置的借閱圖書數(shù)量的限制等管理.四、要求軟件設(shè)計(jì)界面友好、使用方便,程序執(zhí)行安全、可靠。五、完成與設(shè)計(jì)容有關(guān)

2、的外文資料翻譯,譯文約5000字。六、撰寫畢業(yè)論文并提交設(shè)計(jì)軟件與清單一份。起止時(shí)間:2009年2月16日至2009年6月10日共16.5周指 導(dǎo) 教 師簽 字系 主 任簽 字院 長簽 字58 / 68畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作與取得的成果。盡我所知,除文中特別加以標(biāo)注和致的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得與其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了意。作 者 簽 名:日 期:指導(dǎo)教

3、師簽名: 日期:使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分或全部容。作者簽名: 日 期:摘要隨著Internet技術(shù)的發(fā)展,互聯(lián)網(wǎng)在中國逐步普與,人們對網(wǎng)絡(luò)的需求也日益增長,利用計(jì)算機(jī)實(shí)現(xiàn)事務(wù)的管理勢在必行。本系統(tǒng)從初步調(diào)查開始,詳細(xì)介紹了需求分析、流程和數(shù)據(jù)分析,并進(jìn)行了系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)。 系統(tǒng)采用Visual Studio

4、2005 sp1編寫C#代碼,Sqlite 3建立數(shù)據(jù)庫,從界面簡潔、實(shí)用的要求出發(fā),完成了圖書管理工作的主要部分,包括圖書和用戶的信息瀏覽,添加,修改,刪除,查詢,圖書的委托和預(yù)約,圖書館信息實(shí)時(shí)發(fā)布,超期統(tǒng)計(jì)與罰款處理,圖書丟失損壞等特殊情況處理,用戶自助登錄系統(tǒng)查詢與管理借閱的圖書信息。系統(tǒng)采用正則表達(dá)式約束與檢驗(yàn)用戶的輸入信息,是系統(tǒng)具有一定的容錯(cuò)能力;采用FCKeditor編輯器有效的在線實(shí)時(shí)高效編輯文章;SQLite不僅是一個(gè)輕量級的數(shù)據(jù)庫,而且具有很高的效率,是中小型系統(tǒng)的首選。關(guān)鍵詞:ASP.NET 2.0;Sqlite3;圖書管理系統(tǒng);圖書借閱;AbstractAlong w

5、ith the Internet technology's development, Internet popularizes step-by-step in China, the people also gradually grow to the network demand, realizes business's management using the computer to be imperative. This system starts from the preliminary examination, introduced in detail the deman

6、d analysis, the flow and the data analysis, and have carried on the system gross structure design and the database design. The system uses Visual Studio 2005 sp1 to compile the C# code, the Sqlite 3 establishment databases, from the contact surface succinct, the practical request embarked, has compl

7、eted the books supervisory work main part, including the books and user's information browsing, the increase, the revision, deleted, the inquiry, the books request and the appointment, the library information real-time issue, went over the time limit the statistics and fineprocessing, the books

8、loss damage and so on peculiar circumstance processing, the user self-service registers the system inquiry and the management borrowing books information. the system uses the regular expression restraint and the examination user's infed information, is the system has certain fault-tolerant abili

9、ty; Uses the FCKeditor editor effective online real-time highly effective edition article; SQLite is not only a lightweight database, but also has the very high efficiency, is the middle and small scale system's first choice.Key words:ASP.NET;Sqlite3,BookManageSystem;Book borrow;目錄1 系統(tǒng)概述51.1 系統(tǒng)開

10、發(fā)背景和意義51.2 開發(fā)環(huán)境52 系統(tǒng)需求分析62.1 任務(wù)概述62.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)62.3 功能需求12.4 性能需求23 系統(tǒng)總體設(shè)計(jì)33.1 業(yè)務(wù)流程33.2 系統(tǒng)功能模塊圖33.3 系統(tǒng)流程圖54 詳細(xì)設(shè)計(jì)74.1 程序流程圖74.2 程序輸入輸出描述114.2.1 系統(tǒng)管理模塊114.2.2 讀者管理模塊114.2.3 圖書管理模塊114.2.4 借閱管理模塊114.2.5 歸還管理模塊114.2.6 管理措施設(shè)置模塊114.3 數(shù)據(jù)庫的設(shè)計(jì)124.3.1 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)和ER圖124.3.2 數(shù)據(jù)庫的邏輯設(shè)計(jì)154.3.3 數(shù)據(jù)庫的物理設(shè)計(jì)155 編碼實(shí)

11、現(xiàn)225.1 圖書借閱模塊225.2 圖書續(xù)借模塊255.3 圖書歸還模塊296 測試分析報(bào)告336.1 什么是軟件測試336.2軟件測試的目的336.3 測試計(jì)劃和要點(diǎn)336.3.1 讀者以與讀者管理模塊測試要點(diǎn)336.3.2 圖書借閱模塊測試要點(diǎn)336.3.3 圖書續(xù)借模塊測試要點(diǎn)336.3.4 圖書歸還模塊測試要點(diǎn)336.3.5 系統(tǒng)設(shè)置模塊測試要點(diǎn)336.4 部分測試圖346.5 測試結(jié)論40總結(jié)41參考文獻(xiàn)42附錄:部分程序代碼431 系統(tǒng)概述1.1 系統(tǒng)開發(fā)背景和意義圖書管理是高校每一個(gè)系部或院部都必須切實(shí)面對的工作,但一直以來人們使用傳統(tǒng)的人工方式管理圖書資料。這種方式存在著許多

12、缺點(diǎn),如效率低、性差且較為繁瑣。另外,隨著圖書資料數(shù)量的增加,其工作量也將大大增加,這必將增加圖書資料管理者的工作量和勞動強(qiáng)度,這將給圖書資料信息的查找、更新和維護(hù)都帶來了很多困難。經(jīng)過詳細(xì)的調(diào)查,目前我國各類高等學(xué)校中有相當(dāng)一部分單位圖書資料管理還停留在人工管理的基礎(chǔ)上。這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,其管理方法將浪費(fèi)許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,這種傳統(tǒng)的手工管理方法必然被以計(jì)算機(jī)為基礎(chǔ)的信息管理方法所取代。圖書管理作為計(jì)算機(jī)應(yīng)用的一個(gè)分支,有著手工管理無法比擬的優(yōu)點(diǎn),如檢索迅速、查找方便、可靠性高、存儲量大、性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極提高圖書管理的效率。因此,

13、開發(fā)一套能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄蔚膱D書管理系統(tǒng),將是非常必要的,也是十分與時(shí)的。1.2 開發(fā)環(huán)境開發(fā)環(huán)境的選擇會影響到數(shù)據(jù)庫的設(shè)計(jì),所以在這里給出圖書管理系統(tǒng)開發(fā)與運(yùn)行環(huán)境的選擇如下:開發(fā)環(huán)境:Windows Server 2008 R2 Enterprise開發(fā)工具:Visual Studio2005 + SharpPlus SQLite Developer+SqliteSpy數(shù)據(jù)庫版本: Sqlite3數(shù)據(jù)庫引擎: SQLite- 2 系統(tǒng)需求分析2.1任務(wù)概述經(jīng)過對我校詳細(xì)調(diào)查,并多次與負(fù)責(zé)圖書管理的老師進(jìn)行研討后,加深了對現(xiàn)行圖書管理業(yè)務(wù)的深刻了解,與此

14、同時(shí),將整個(gè)圖書管理的業(yè)務(wù)流程抽象描述如下:1.新的圖書購進(jìn)后,分門別類地進(jìn)行歸并并匯總,加以編號。2.新書編號后,上到書架以備讀者借閱。3.如某讀者需要借閱圖書,則在其本人的借閱登記表上進(jìn)行登記,記錄相關(guān)借閱信息與借閱日期。4.讀者借閱圖書后,應(yīng)與時(shí)歸還圖書,并在本人的借閱登記表上注明還書日期和時(shí)間。根據(jù)以上調(diào)查分析,可以給出其現(xiàn)行業(yè)務(wù)流程圖如圖2.1所示。圖2.1 現(xiàn)行圖書管理業(yè)務(wù)流程圖2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)過詳細(xì)的調(diào)查,我們已經(jīng)清楚了解了現(xiàn)行的業(yè)務(wù)流程,接下來給出系統(tǒng)的邏輯模型。構(gòu)造系統(tǒng)邏輯模型的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。根據(jù)現(xiàn)行圖書管理的業(yè)務(wù)流程,首先把數(shù)據(jù)流圖中的源點(diǎn)

15、和終點(diǎn)都選定為讀者,因此可以得到圖書管理系統(tǒng)的基本系統(tǒng)模型,如圖2.2所示。圖2.2 圖書管理系統(tǒng)的基本系統(tǒng)模型根據(jù)基本系統(tǒng)模型,對其逐步細(xì)化,得到描述邏輯系統(tǒng)細(xì)化后的數(shù)據(jù)流圖,如圖2.3所示。圖2.3 圖書管理系統(tǒng)數(shù)據(jù)流圖(頂層DFD圖)對頂層DFD圖中的一個(gè)加工“讀者管理”進(jìn)行展開,如圖2.4。圖2.4 細(xì)化后數(shù)據(jù)流圖對頂層DFD圖中的一個(gè)加工“圖書管理”進(jìn)行展開,如圖2.5。圖2.5 “圖書管理”展開對第1層DFD圖中的加工進(jìn)一步進(jìn)行展開,如圖2.6。圖2.6 圖書借閱進(jìn)一步細(xì)化數(shù)據(jù)流圖圖2.7 圖書續(xù)借進(jìn)一步細(xì)化數(shù)據(jù)流圖圖2.8 圖書歸還進(jìn)一步細(xì)化數(shù)據(jù)流圖有了系統(tǒng)的數(shù)據(jù)流圖后,還有相當(dāng)

16、多的數(shù)據(jù)信息如圖書、借閱、續(xù)借、歸還等信息需要進(jìn)一步描述,這就是需要定義數(shù)據(jù)字典,才能把現(xiàn)有的系統(tǒng)描述清楚。圖2.7列出了系統(tǒng)的主要數(shù)據(jù)字典。圖2.9 系統(tǒng)主要數(shù)據(jù)字典2.3 功能需求經(jīng)過以上詳細(xì)的用戶調(diào)查,在現(xiàn)行業(yè)務(wù)流程和數(shù)據(jù)分析的基礎(chǔ)上,基本可以確定系統(tǒng)設(shè)計(jì)必須達(dá)到的目標(biāo)。 以下是圖書管理系統(tǒng)必須具備的功能:1.新進(jìn)圖書的登記功能:對于購進(jìn)的新書,系統(tǒng)必須具備圖書信息資料的錄入功能。2.圖書的查詢修改功能:當(dāng)圖書資料發(fā)生變化,如圖書丟失或有錯(cuò)誤信息輸入時(shí),則應(yīng)能夠與時(shí)對數(shù)據(jù)進(jìn)行修改和補(bǔ)充。3.借閱的登記,續(xù)借的操作,歸還的登記功能:系統(tǒng)的主要功能之一,供本校讀者借閱圖書、歸還圖書,并進(jìn)行登

17、記。4.讀者信息的增加、刪除和修改功能:系統(tǒng)主要功能之一,建立讀者信息,并對其進(jìn)行維護(hù)。5.對讀者的預(yù)約,委托信息進(jìn)行維護(hù);6.圖書館的信息增加,刪除,修改:系統(tǒng)的主要功能之一,發(fā)布信息,并對其進(jìn)行維護(hù)2.4 性能需求為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,圖書管理系統(tǒng)應(yīng)該滿足以下的性能需求:1、系統(tǒng)處理的準(zhǔn)確性和與時(shí)性系統(tǒng)處理的準(zhǔn)確性和與時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足學(xué)校對信息處理的需求。2、系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性圖書管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶查詢的需

18、求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī),可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級和更新?lián)Q代。3、系統(tǒng)的易用性和易維護(hù)性圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。4、系統(tǒng)的標(biāo)準(zhǔn)性系統(tǒng)在設(shè)計(jì)開發(fā)使用過程中都要

19、涉與到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。5、系統(tǒng)的先進(jìn)性目前計(jì)算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為圖書管理系統(tǒng)工程,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn),充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計(jì)和開發(fā)的過程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。6、系統(tǒng)的響應(yīng)速度圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達(dá)到實(shí)時(shí)要求,以與時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因?yàn)樗俣葐栴}而影響工作效率。3 系統(tǒng)總體設(shè)計(jì)3.1

20、業(yè)務(wù)流程根據(jù)需求分析的得到的現(xiàn)行業(yè)務(wù)處理流程,在用戶反復(fù)研究后,首先確定目標(biāo)系統(tǒng)的業(yè)務(wù)流程,其處理流程如圖3.1。圖3.1 圖書管理系統(tǒng)的業(yè)務(wù)流程針對業(yè)務(wù)流程,現(xiàn)具體描述其功能如下:1.用戶登錄:系統(tǒng)對用戶合法性進(jìn)行檢查。2.圖書入庫:對新購進(jìn)的圖書分類進(jìn)行編號,并把圖書基本信息錄入計(jì)算機(jī)。3.圖書借閱:對已入庫的圖書,讀者可以借閱,并進(jìn)行登記。4.圖書續(xù)借:對已借出的圖書,讀者可以延續(xù)使用期限。5.圖書歸還:對讀者已歸還的圖書進(jìn)行歸還登記。 6.信息查詢:即對所有圖書的借閱情況,或讀者的基本情況和借閱情況進(jìn)行查詢。7.管理措施:定義系統(tǒng)規(guī)定的借閱圖書超期時(shí)間、超期處罰辦法和丟失賠償辦法。3.

21、2 系統(tǒng)功能模塊圖依據(jù)需求分析階段得到的數(shù)據(jù)流圖,采用軟件工程中軟件設(shè)計(jì)的概念和原理,與用戶成分協(xié)商后,在保證系統(tǒng)基本功能要求的前提下,結(jié)合系統(tǒng)新的業(yè)務(wù)流程確定系統(tǒng)必須具備的所有功能,由此給出圖書管理系統(tǒng)的系統(tǒng)功能模塊圖如圖3.2所示。圖3.2 圖書管理系統(tǒng)功能模塊圖3.3 系統(tǒng)流程圖依據(jù)軟件工程的基本原理,綜合以上分析給出系統(tǒng)流程圖如圖3.4所示。圖3.3 管理員管理模塊系統(tǒng)流程圖圖3.4 讀者管理模塊系統(tǒng)流程圖4 詳細(xì)設(shè)計(jì)4.1 程序流程圖依據(jù)軟件工程的基本原理,詳細(xì)設(shè)計(jì)階段的根本任務(wù)是確定應(yīng)該怎樣具體實(shí)現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在

22、系統(tǒng)實(shí)現(xiàn)階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。具體來說就是把經(jīng)過總體設(shè)計(jì)得到的各個(gè)模塊詳細(xì)的加以描述。本系統(tǒng)采用支持面向?qū)ο蟮腣isual Studio 2005 sp1作為開發(fā)工具,Visual Studio 2005運(yùn)用了NET 2.0的技術(shù),更加的方便了程序員的工作。程序?qū)ο到y(tǒng)配置要求較高,需要微軟.Net Framework 2.0以上的.Net構(gòu)架支持。在此給出軟件系統(tǒng)的主要模塊,如圖4.1所示。圖4.1 主程序模塊圖根據(jù)以上主程序的模塊圖,我們可以得出下面的關(guān)于各個(gè)模塊的程序流程圖,如圖4.2所示。 圖4.2 總體流程圖圖4.3 公共模塊流程圖圖4.4 讀者模塊

23、流程圖圖4.5管理模塊程序流程圖4.2 程序輸入輸出描述4.2.1 系統(tǒng)管理模塊1.輸入項(xiàng)目:操作系統(tǒng)傳遞至的各種消息以與用戶的輸入數(shù)據(jù)。2.輸出項(xiàng)目:用戶界面顯示,數(shù)據(jù)庫表息。4.2.2 讀者管理模塊1.輸入項(xiàng)目:與讀者管理操作子對話框有關(guān)的用戶輸入與系統(tǒng)消息。2.輸出項(xiàng)目:操作結(jié)果顯示,提示讀者信息的添加修改是否成功。4.2.3圖書管理模塊1.輸入項(xiàng)目:圖書編號,名稱等詳細(xì)容。2.輸出項(xiàng)目:圖書修改添加結(jié)果。4.2.4借閱管理模塊1.輸入項(xiàng)目:讀者學(xué)號、圖書編號。2.輸出項(xiàng)目:讀者信息、相關(guān)借書信息。4.2.5歸還管理模塊1.輸入項(xiàng)目:圖書編號。2.輸出項(xiàng)目:相關(guān)讀者信息,欠款情況。4.2

24、.6管理措施設(shè)置模塊1.輸入項(xiàng)目:用戶的輸入。2.輸出項(xiàng)目:根據(jù)用戶的輸入顯示相應(yīng)的結(jié)果。4.3 數(shù)據(jù)庫的設(shè)計(jì)4.3.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)和ER圖在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計(jì)要求的幾個(gè)關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫。概念結(jié)構(gòu)設(shè)計(jì)就是要找出實(shí)體和他們之間的聯(lián)系,去除非本質(zhì)的東西。實(shí)體是名詞,在ER 圖中設(shè)計(jì)中就是所說的表。比如“讀者”,“圖書”。 行為是動詞,在ER 圖中設(shè)計(jì)時(shí)一般不考慮行為,它是業(yè)務(wù)邏輯,在詳細(xì)設(shè)計(jì)才有設(shè)計(jì),是方法。比如 “借”,“還”等等。 在設(shè)計(jì)ER圖時(shí)時(shí)強(qiáng)調(diào)的是不同實(shí)體之間關(guān)

25、系,不是行為。比如:讀者 "借閱" 圖書,“借閱”是一種關(guān)系,不是行為。在某種情況下,“借閱”是一個(gè)關(guān)系表,將“讀者”和“圖書”聯(lián)系起來。在找出實(shí)體后,我們要根據(jù)分析來定義實(shí)體的屬性,就是表的列。比如圖書有ID,序列號,書名,簡介等等; 讀者有ID,借書證號等等。圖書借閱是一個(gè)關(guān)系表,定義屬性:ID,讀者ID,圖書ID,借出日期,歸還日期,是否歸還,等等。 “讀者”可擁有 0-MANY 的“圖書”,而圖書只能屬于0-1的讀者。因此理論上“圖書借閱”表的全部屬性可以放到“圖書”表中,不需要關(guān)系表。但實(shí)際上,這并不是好的設(shè)計(jì),非常混亂,試想,讀者ID并不是“圖書”的屬性,怎么放

26、到了“圖書”表中?在設(shè)計(jì)類圖時(shí),“借書”,“還書” 就是 “讀者”類的行為,對于圖書借閱表通過SQL進(jìn)行相關(guān)的操作。也可以查詢。根據(jù)以上的分析給出下面的概念結(jié)構(gòu)設(shè)計(jì)得E-R圖如圖4.3所示。圖4.1 實(shí)體:讀者 分ER圖圖4.2 實(shí)體:圖書 分ER圖圖4.3 實(shí)體:管理員 分ER圖圖4.4 概念結(jié)構(gòu)設(shè)計(jì)總E-R圖圖4.5 詳細(xì)設(shè)計(jì)E-R圖4.3.2數(shù)據(jù)庫的邏輯設(shè)計(jì)實(shí)體:圖書(自動編號,ISBN號,條,索取號,財(cái)產(chǎn)號,館藏地,價(jià)格,借閱次數(shù), 狀態(tài), 添加時(shí)間, 備注)讀者(讀者,證件,登錄密碼,讀者,性別, 出生日期,號,讀者類型,借閱等級,文化程度,工作單位,職業(yè),職稱,職位,住址,E-MA

27、IL,辦證日期,生效日期,失效日期,押金,手續(xù)費(fèi),違章罰款,超期罰款,備注,允許借閱否)管理員(自動編號,用戶名,用戶密碼,系統(tǒng)設(shè)置權(quán),用戶管理權(quán),圖書管 理權(quán),圖書借閱權(quán),系統(tǒng)搜索權(quán))聯(lián)系:讀者管理(圖書管理員,讀者,讀者密碼)圖書管理(圖書管理員,借閱號,歸還號) 查詢(圖書編號,借閱證號,圖書管理員,讀者)4.3.3數(shù)據(jù)庫的物理設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)有幾個(gè)式,一般我們要做到的是第三式,即數(shù)據(jù)表中沒有冗余字段以與同一個(gè)表中的字段沒有函數(shù)依賴關(guān)系,冗余字段即在一個(gè)表中已經(jīng)保存過的信息,在另一個(gè)表中就不應(yīng)該存在,如果需要的話,可以通過表間的關(guān)聯(lián)來得到,函數(shù)依賴性就是一個(gè)表中的字段間不應(yīng)該有計(jì)算關(guān)系,

28、如一個(gè)表中有單價(jià)字段、數(shù)量字段,就不應(yīng)該有一個(gè)總金額字段。如果程序運(yùn)行過程中需要總金額,可以實(shí)時(shí)計(jì)算。不過在一些較常用的表中,我們可以適當(dāng)?shù)乇A羧哂嘧侄?,這樣,在程序運(yùn)行過程中可以減少由于表間互相關(guān)聯(lián)而使用速度降低等問題。這就是所謂的第四式。數(shù)據(jù)表設(shè)計(jì)時(shí),最好不要使用用戶輸入的信息作為主鍵,每一個(gè)數(shù)據(jù)表自己定義一個(gè)主鍵,添加信息是由程序自動添加,這樣就可以減少數(shù)據(jù)更新時(shí)產(chǎn)生的錯(cuò)誤。表與表相關(guān)聯(lián)的外鍵最好是由程序自動生成的主鍵,這樣數(shù)據(jù)庫就比較規(guī)了。另外,數(shù)據(jù)表設(shè)計(jì)時(shí)一般都應(yīng)該有一些標(biāo)志字段,標(biāo)志字段可以定義成CHAR(1)或BIT型。建議實(shí)際應(yīng)用中定義成CHAR(1)字段可以存儲多種可能的狀態(tài)

29、,在最初設(shè)計(jì)時(shí),可能我們沒有考慮到的一些情況,在程序后來的開發(fā)中,可以通過設(shè)計(jì)標(biāo)志字段為不同的 值來解決,這樣就避免了修改數(shù)據(jù)庫結(jié)構(gòu)。 數(shù)據(jù)庫初期設(shè)計(jì)時(shí)一定要謹(jǐn)慎,把所有可能的情況都考慮進(jìn)去,即使當(dāng)時(shí)沒有用到,也要將它留在數(shù)據(jù)庫中作為備用字段以便將來擴(kuò)充。 程序一旦開始編碼,就應(yīng)該盡量避免再修改數(shù)據(jù)庫。因?yàn)槿绻麛?shù)據(jù)庫結(jié)構(gòu)一旦改變,所有與修改的數(shù)據(jù)表相關(guān)的業(yè)務(wù)都有可能受到影響,而某些影響還很難看到,這樣就容易形成一個(gè)惡性循環(huán)。錯(cuò)誤越改越多,越改越亂,最終導(dǎo)致程序的失敗。PB的數(shù)據(jù)窗口與其他語言的數(shù)據(jù)控件不一樣,它的很多東西是預(yù)編譯的。即使你一個(gè)模塊已經(jīng)調(diào)試無誤,但只要數(shù)據(jù)庫結(jié)構(gòu)改動。相應(yīng)的模塊就

30、一定要重新修改,否則一定會出問題。 圖書借閱管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表的設(shè)計(jì)結(jié)果如下面幾個(gè)表格所示。每個(gè)表格表示為數(shù)據(jù)庫中的一個(gè)表。表4.1 表名:Lib_Admin 說明:管理員表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號UserNamevarchar100用戶名UserPwdvarchar100用戶密碼SystemSetbit系統(tǒng)設(shè)置權(quán)ReaderManagebit用戶管理權(quán)BookManagebit圖書管理權(quán)BookBorrowbit圖書借閱權(quán)SystemSearchbit系統(tǒng)搜索權(quán)表4.2 表名:L

31、ib_Article 說明:文章表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號ArticleTitlenvarchar200文章標(biāo)題ArticleAuthornvarchar100文章作者ArticleAddTimedatetime添加時(shí)間ArticleTypeint文章類型IDClickTimesint點(diǎn)擊次數(shù)ArticleContentnvarchar5000文章類容表4.3 表名:Lib_ArticleType 說明:文章類型表KeyColumn NameData TypeLengthUniqueN

32、ot NullDefaultNoteIDinteger自動編號TypeNamenvarchar100類型名稱表4.4 表名:Lib_BookBase 說明:圖書基本信息表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號BookIsbnNumvarchar100ISBN號BookBarCodevarchar100條BookRequestNumvarchar100索取號BookIdentityNumvarchar100財(cái)產(chǎn)號BookBaseLocationint館藏地BookPricemoney價(jià)格BorrowS

33、umint借閱次數(shù)BookStateint狀態(tài)BookAddDatedatetime添加時(shí)間BookRecordvarchar200備注表4.5 表名:Lib_BookBorrow 說明:圖書借閱表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號BookIdentityNumvarchar100財(cái)產(chǎn)號BookIsbnNumvarchar100ISBN號BookRequestNumvarchar100索取號BookNamevarchar100題名BorrowTimedatetime借閱時(shí)間ShouldRetur

34、nTimedatetime應(yīng)還時(shí)間RealReturnTimedatetime實(shí)還時(shí)間ReaderNumbervarchar100讀者號ReaderNamevarchar50IsReturnbit是否歸還BookRenewTimesint續(xù)借次數(shù)表4.6 表名:Lib_BookEntrust 說明:書刊委托借閱表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號ReaderNumbervarchar100讀者號BookRequestNumvarchar100索取號BookIdentityNumvarchar10

35、0財(cái)產(chǎn)號BookSourceLocation int源館地BookDestinationLoca int目標(biāo)館地EntrustDatedatetime委托時(shí)間BookComeDatedatetime歸還時(shí)間IsBookComebit是否到書IsEntrustActivebit是否有效IsReaderGetbit是否領(lǐng)取ContinuousNotGetint連續(xù)未領(lǐng)取表4.7 表名:Lib_BookIsbnInfo 說明:圖書ISBN 信息KeyColumn NameData TypeLengthUniqueNot NullDefaultNote IDinteger自動編號BookIsbnNum

36、varchar100ISBN號BookIssnNumvarchar100ISSN號BookRequestNumvarchar100索取號BookOrderNumvarchar100進(jìn)書號BookNamevarchar100題名SubBookNamevarchar100副題名BookSeriesTitlesvarchar100叢編題名BookTypevarchar100圖書類型BookPressvarchar200項(xiàng)BookCarriervarchar200載體信息BookAuthorvarchar100等同責(zé)任者BookClassificationvarchar100分類法類號BookTopi

37、csvarchar100論題主題BookNoteAreavarchar500附注項(xiàng)IsbnAddDatedatetime添加時(shí)間BookLanguageint圖書語言表4.8 表名:Lib_BookLanguage 說明:圖書語言表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號LanguageNamenvarchar50語言名稱表4.9 表名:Lib_BookLocation 說明:館藏地表KeyColumn NameData TypeLengthUniqueNot NullDefaultNote Book

38、CaseIDinteger自動編號LocationNamevarchar200館地名稱BookPunishRatevarchar10罰款比例表4.10 表名:Lib_BookPunishPay 說明:罰款記錄表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號BookBorrowIDinteger借閱IDBookRequestNumvarchar100索取號ReaderNumbervarchar100讀者號BookIdentityNumvarchar100財(cái)產(chǎn)號PunishMoneymoney應(yīng)罰款額DealD

39、atedatetime處理時(shí)間DealPersonvarchar100處理人RealPunishMoneymoney實(shí)罰款額IsDealbit是否處理PunishTypeint罰款類型RepayTypeint償還類型表4.11 表名:Lib_BookReserve 說明:書刊預(yù)約表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號ReaderNumbervarchar100讀者號BookRequestNumvarchar100索取號ReserveDatedatetime預(yù)約時(shí)間BorrowBackDatedat

40、etime到書時(shí)間ReserveOrderint預(yù)約順序IsBookComebit是否到書BookIdentityNumvarchar100財(cái)產(chǎn)號BookBaseLocationint館藏地IsReserveActivebit是否有效IsReaderGetbit是否領(lǐng)取ContinuousNotGetint連續(xù)未領(lǐng)取表4.12 表名:Lib_BookType 說明:圖書類型表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteTypeIDinteger自動編號TypeNamevarchar50類型名稱BorrowDayint可借天數(shù)Typ

41、eRenewTimesint可續(xù)借次數(shù)表4.13 表名:Lib_LibRecord 說明:事務(wù)記錄表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號ReaderNumvarchar100讀者號Thingsnvarchar1000事件記錄HappenDatedatetime發(fā)生時(shí)間DealManvarchar100處理人表4.14 表名:Lib_Reader 說明:讀者基本信息表KeyColumn NameData TypeLengthUniqueNot NullDefaultNote IDinteger自動編

42、號ReaderNumbervarchar100讀者ReaderCardNumbervarchar100證件ReaderPwdvarchar50登錄密碼ReaderNamevarchar50讀者ReaderSexvarchar10性別ReaderBirthDatedatetime出生日期ReaderIdentityCardN varchar100號ReaderTypevarchar50讀者類型ReaderBorrowLevelvarchar50借閱等級ReaderDegreeOfEdu varchar50文化程度ReaderWorkUnitnvarchar100工作單位ReaderCareer

43、varchar 100職業(yè)ReaderProfessionalTit varchar100職稱ReaderPositionvarchar100職位ReaderAdressnvarchar50住址ReaderZipCodevarchar50ReaderTelvarchar50ReaderEmailvarchar50E-MAILCardTransactionDate datetime辦證日期CardEffectiDatedatetime生效日期CardInvalidationDate datetime失效日期DepositMoneymoney押金CommissionChargemoney手續(xù)費(fèi)Vi

44、olateStatemoney違章罰款OwedMoneymoney超期罰款ReaderRemarknvarchar500備注ReaderCardActivebit允許借閱否表4.15 表名:Lib_ReaderType 說明:讀者類型表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號Typevarchar50類型名稱Numvarchar50可借書數(shù)表4.16 表名:Lib_SystemSet 說明:系統(tǒng)設(shè)置表KeyColumn NameData TypeLengthUniqueNot NullDefaultN

45、oteIDinteger自動編號SiteNamevarchar100站點(diǎn)名稱SiteManagervarchar100超級管理員ContractTelvarchar100聯(lián)系UnitAddressnvarchar200單位地址SiteUrlvarchar100網(wǎng)址ContractEmailvarchar100聯(lián)系EmailRenewDateint超期前續(xù)借MaxReserveNumberint最大預(yù)約數(shù)MaxEntrustNumberint最大委托數(shù)ReserveHoldDateint預(yù)約保留天EntrustHoldDateint委托保留天表4.17 表名:PunishType 說明:罰款類型

46、表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號TypeNamenvarchar100類型名稱表4.18 表名:RepayType 說明:償還類型表KeyColumn NameData TypeLengthUniqueNot NullDefaultNoteIDinteger自動編號TypeNamenvarchar100類型名稱5 編碼實(shí)現(xiàn)5.1 圖書借閱模塊圖書借閱界面如圖5.1所示圖5.1圖書借閱界面關(guān)鍵代碼如下:(點(diǎn)擊“借閱”時(shí)系統(tǒng)執(zhí)行的操作)protectedvoid gvBookBorrow_Sel

47、ectedIndexChanging(object sender, GridViewSelectEventArgs e) string bookIdentityNum = gvBookBorrow.DataKeyse.NewSelectedIndex.Value.ToString().Trim();string sql5 = "select BookState from Lib_BookBase where BookIdentityNum = " + bookIdentityNum;SQLiteDataReader bookStatesdr = DataOperate.ge

48、tRow(sql5); bookStatesdr.Read();int bookState = Convert.ToInt32(bookStatesdr"BookState"); bookStatesdr.Close();string IsEntrustSql = "select * from Lib_BookEntrust where BookIdentityNum = '" + bookIdentityNum + "' and IsEntrustActive = 1"int IsEntrust = DataOperate.seleSQL(IsEntrustSql);string IsReserveSql = "select * from Lib_BookReserve where BookIdentityNum = '" + bookIdentityNum + "' and IsReserveActive = 1"int IsReserve = DataOperat

溫馨提示

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

最新文檔

評論

0/150

提交評論