版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《數(shù)據(jù)庫課程設(shè)計》報告</p><p> 專 業(yè) 班 級 </p><p> 學(xué) 生 姓 名 </p><p> 學(xué) 生 學(xué) 號 </p><p> 指 導(dǎo) 教 師
2、 </p><p> 時 間 2013.1.8~2013.1.18 </p><p><b> 1. 設(shè)計題目</b></p><p><b> 圖書管理信息系統(tǒng)</b></p><p><b> 2. 設(shè)計目的</b&
3、gt;</p><p> 通過對圖書管理信息系統(tǒng)的系統(tǒng)分析、系統(tǒng)設(shè)計、編碼和調(diào)試等工作的實踐,了解管理信息系統(tǒng)的一般設(shè)計方法和實現(xiàn)思路,深入了解數(shù)據(jù)庫設(shè)計的基本理論及方法。</p><p><b> 3. 設(shè)計任務(wù)</b></p><p> 要求完成一個具有一定實用價值的圖書管理信息系統(tǒng),主要任務(wù)包括:</p><p&
4、gt; 在SQL Server 2000/2005/2008環(huán)境下建立圖書管理信息系統(tǒng)所使用的數(shù)據(jù)庫,利用企業(yè)管理器或查詢分析器建立各種數(shù)據(jù)庫對象,包括:數(shù)據(jù)表、視圖、約束、存儲過程和觸發(fā)器等;</p><p> 了解數(shù)據(jù)庫引擎技術(shù),并掌握使用ADO.NET連接數(shù)據(jù)庫服務(wù)器和客戶端應(yīng)用程序;</p><p> 掌握使用java開發(fā)一個數(shù)據(jù)庫系統(tǒng)的基本方法和步驟,應(yīng)用程序的功能包括:數(shù)
5、據(jù)的輸入、修改和刪除;數(shù)據(jù)的瀏覽、查詢和Excel導(dǎo)出;數(shù)據(jù)報表(包括圖形化)及打印輸出;系統(tǒng)的用戶登錄和權(quán)限管理;</p><p> 了解多層C/S或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)的開發(fā)過程:需求分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)及文檔的收集和整理。</p><p><b> 4. 設(shè)計準備</b></p><p><b> 4.1 系統(tǒng)準
6、備</b></p><p> 操作系統(tǒng):Windows xp</p><p> 數(shù)據(jù)庫系統(tǒng):SQL Server 2005</p><p> 客戶端開發(fā)工具:MyEclipse,dreamwever </p><p><b> 5. 系統(tǒng)設(shè)計</b></p><p><b
7、> 5.1體系結(jié)構(gòu)</b></p><p> 系統(tǒng)采用的是B/S模式開發(fā)該系統(tǒng)。采用了三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個“中間層”。它是指邏輯上的三層結(jié)構(gòu),即使在一臺機器上也可構(gòu)成三層體系結(jié)構(gòu)的應(yīng)用系統(tǒng)。三層分別為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。</p><p> 表示層(USL)():為客戶提供對應(yīng)用程序的訪問,以Windows應(yīng)用程序或Web應(yīng)用程序
8、的形式提供實現(xiàn)的功能。</p><p> 業(yè)務(wù)邏輯層(BLL):實現(xiàn)應(yīng)用程序的業(yè)務(wù)功能,以類庫的形式為表示層提供服務(wù)。</p><p> 數(shù)據(jù)訪問層(DAL):實現(xiàn)整個系統(tǒng)所有的數(shù)據(jù)庫連接、數(shù)據(jù)存取操作,以組件類庫的形式為業(yè)務(wù)邏輯層提供服務(wù)。</p><p> 此外,實體類,簡單地說是描述一個業(yè)務(wù)實體的類。業(yè)務(wù)實體直觀一點的理解就是整個應(yīng)用系統(tǒng)業(yè)務(wù)所涉及的對象
9、,從數(shù)據(jù)存儲來講,業(yè)務(wù)實體就是存儲應(yīng)用系統(tǒng)信息的數(shù)據(jù)表,將數(shù)據(jù)表中的每一個字段定義成屬性,并將這些屬性用一個類封裝,這個類就稱為實體類。</p><p> 業(yè)務(wù)實體可以認為屬于業(yè)務(wù)邏輯層,當(dāng)然,可以將業(yè)務(wù)實體單獨作為一層,稱為業(yè)務(wù)實體層。表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層都依賴于業(yè)務(wù)實體。各層之間數(shù)據(jù)的傳遞主要是實體對象(業(yè)務(wù)信息封裝在實體對象中)。</p><p><b> 5
10、.2功能框圖</b></p><p> 該系統(tǒng)主要由五大功能模塊組成:圖書管理、讀者管理、借閱管理、數(shù)據(jù)統(tǒng)計和系統(tǒng)管理。各大功能模塊又由一些子功能模塊構(gòu)成,其功能框圖如下。</p><p><b> 5.3 數(shù)據(jù)庫結(jié)構(gòu)</b></p><p> 1. 讀者類別表(ReaderType)</p><p>
11、 分析提示:讀者類別可以是學(xué)生(??粕?、本科生、研究生)、教師(助教、講師、副教授、教授、后勤與行政人員)、其它社會人員,以及系統(tǒng)管理員、圖書管理員、讀者管理員、借還書管理員等。</p><p> 2. 讀者信息表(Reader)</p><p> 分析提示:(1)可將系統(tǒng)管理員、圖書管理員、辦證管理員、借還書管理員等信息放入該表;或者將管理員另外建表,與讀者信息分開單獨進行設(shè)計。(
12、2)讀者調(diào)離或?qū)W生畢業(yè)時,會辦理借書證的注銷手續(xù),建議增加一個“注銷日期”字段,表明其已經(jīng)失效。(3)讀者密碼應(yīng)考慮加密存儲。</p><p> 3. 圖書信息表(Book)</p><p> 分析提示:(1)一種書籍實際上可能購買多本,圖書入庫時對每本書進行編號(條碼號),另外,圖書分類號(如:TP316-21-123)是統(tǒng)計分析的重要依據(jù),故實用軟件會將該表拆分為3張表格:圖書分類
13、表、圖書書目信息表、館藏圖書表。(2)因圖書遺失或老舊,需要進行出庫(或賣出、銷毀)處理,故實用軟件需要考慮圖書的三種狀態(tài):在館、借出、出庫。</p><p> 4. 借閱信息表(Borrow)</p><p> 分析提示:借閱信息即用于圖書的借還管理,同時又是統(tǒng)計分析的主要信息來源,故要求保持其歷史信息。設(shè)計時不能以(讀者序號+圖書序號)為關(guān)鍵字,否則讀者不能第二次借閱同一本書了。&
14、lt;/p><p><b> 5.4 功能模塊</b></p><p><b> 1. 圖書管理</b></p><p> 圖書入庫(添加圖書信息):圖書管理員可以將新書添加到數(shù)據(jù)庫中。</p><p> 圖書出庫(注銷圖書信息):圖書刪除。</p><p> 圖書信息
15、查詢:所有用戶可以按指定的組合條件查詢圖書,查詢結(jié)果可以顯示,對于圖書管理員,可以刪除圖書和修改部分字段的內(nèi)容。</p><p><b> 2. 讀者管理</b></p><p> 讀者管理員可以添加讀者類別和修改讀者類別。</p><p> 讀者管理員可以添加讀者信息,可以按指定的組合條件查詢讀者,查詢結(jié)果可以顯示,還可以刪除讀者和修改
16、部分字段的內(nèi)容。</p><p> 讀者可以修改個人信息、密碼和查閱個人的借閱信息。</p><p><b> 3. 借閱管理</b></p><p> 讀者管理員可以給讀者借書和還書。還書時如果圖書超期,提示超期的天數(shù),并計算罰款,記錄歸還相關(guān)信息。</p><p> 讀者管理員還可按讀者信息查詢指定期間內(nèi)的歷
17、史借閱信息和當(dāng)前未還信息,按圖書信息查詢指定期間內(nèi)的歷史借閱信息和當(dāng)前借閱讀者信息,查詢結(jié)果可以顯示。</p><p><b> 5.5 界面設(shè)計</b></p><p><b> 1. 登錄窗口</b></p><p> 所有用戶只有正確登錄后,方可進入該系統(tǒng),登錄窗口如下。</p><p>
18、; 用戶編號指“用戶“表中的用戶編號或“讀者”信息表中的讀者編號。</p><p><b> 2. 總體界面</b></p><p> 用戶進入系統(tǒng)后,總體界面如下,左邊是菜單欄,右邊是處理窗口。</p><p><b> 3. 添加圖書信息</b></p><p> 只有圖書管理員可以添
19、加圖書信息,如下圖。</p><p> 輸入或選擇相關(guān)圖書的信息。</p><p> 起始序號是系統(tǒng)自動獲得到的最后入館圖書的序號加1,然后根據(jù)圖書本數(shù),自動生成圖書序號。</p><p> 圖書封面從掃描的文件得到,上傳后存儲到數(shù)據(jù)庫相應(yīng)記錄中。</p><p> 按下“添加”按鈕,向“圖書信息表”中添加1條記錄,成功添加后,顯示提
20、示信息。</p><p><b> 4. 查詢圖書信息</b></p><p> 圖書管理員、讀者管理員和讀者均可查詢圖書信息,如下圖。</p><p> 輸入查詢條件:圖書編號采用左匹配;編號圖書名稱、作者、圖書分類。</p><p> 輸入文本若為空,表示沒有約束條件。</p><p>
21、; 按下“查詢”按鈕后,將滿足各個輸入框中的條件相與的記錄顯示到網(wǎng)格中。</p><p> 按下“明細”按鈕,可以查看選定圖書的詳細信息。</p><p> 若用戶角色為圖書管理員,可以按下“修改”或“刪除”按鈕。</p><p> 按下“刪除”按鈕,可以刪除選擇的圖書。</p><p> 按下“修改”按鈕,將進入修改界面,并且顯示
22、圖書信息。</p><p><b> 5. 添加讀者信息</b></p><p> 只有讀者管理員才可以添加讀者信息,如下圖。</p><p> 輸入或選擇相關(guān)讀者的信息。</p><p> 按下“添加”按鈕,向“讀者信息表”中添加1條記錄。成功添加后,顯示提示信息。</p><p>
23、按下“修改”按鈕,將修改的結(jié)果保存到“讀者信息表”中。成功修改后,顯示提示信息。</p><p> 按下“刪除”按鈕,可以刪除選定的讀者信息。</p><p><b> 6. 查詢讀者信息</b></p><p> 圖書管理員、讀者管理員均可查詢讀者信息,如下圖。</p><p> 輸入查詢條件:讀者編號、性別、
24、讀者類別采用完全匹配;讀者姓名采用模糊匹配; </p><p> 輸入文本若為空,表示沒有約束條件。</p><p> 按下“查詢”按鈕后,將滿足各個輸入框中的條件相與的記錄顯示到網(wǎng)格中。</p><p> 若用戶角色為圖書管理員,可以按下“修改”或“刪除”按鈕。</p><p> 按下“修改”按鈕,進入修改界面,并且顯示所要修改讀者
25、的信息。</p><p><b> 7. 借書</b></p><p> 讀者管理員可以借書,如下圖。</p><p> 輸入讀者編號后,系統(tǒng)自動顯示讀者姓名等信息;</p><p> 輸入圖書序號或圖書名稱,系統(tǒng)自動顯示圖書信息。</p><p> 按下“借書”按鈕,向“借閱信息表”中
26、添加1條記錄(續(xù)借次數(shù)為0,計劃還書日期為當(dāng)前系統(tǒng)日期加上該讀者可借書的最大天數(shù),是否已經(jīng)還書為0,借書操作員)。</p><p><b> 8. 還書</b></p><p> 讀者管理員可以還書,如下圖。</p><p> 輸入讀者編號后,系統(tǒng)自動顯示讀者信息,同時顯示改讀者的所有借閱圖書。</p><p>
27、 選擇要還的圖書,按下“還書”按鈕,修改“借閱信息表”中對應(yīng)記錄的相關(guān)信息(實際還書日期為當(dāng)前系統(tǒng)日期,是否已經(jīng)還書為1,超期金額,罰款金額,還書操作員)。成功還書后,顯示提示信息。</p><p><b> 6 系統(tǒng)實現(xiàn)</b></p><p> 6.1 數(shù)據(jù)庫操作公共類</p><p> 數(shù)據(jù)庫操作類DBConnection主要實現(xiàn)的
28、功能有:打開數(shù)據(jù)庫連接、關(guān)閉數(shù)據(jù)庫連接、執(zhí)行帶參數(shù)的SQL語句。</p><p><b> 6.2 業(yè)務(wù)實體類</b></p><p> 下面以讀者為例,介紹三層架構(gòu)。</p><p> 首先定義業(yè)務(wù)實體類ReaderDTO。</p><p><b> 6.3 數(shù)據(jù)訪問層</b></p
29、><p> 其次,定義數(shù)據(jù)庫訪問層,類名為ReaderDAO</p><p><b> 。</b></p><p><b> 6.4 業(yè)務(wù)邏輯層</b></p><p> 再次,定義業(yè)務(wù)邏輯層,類名為UserAddServlet。</p><p><b> 6
30、.5 表示層</b></p><p> 最后,在表示層中用戶輸入讀者基本信息,將該讀者的信息添加到數(shù)據(jù)庫中,頁面是add.jsp。</p><p> 7. 遇到的問題及解決方法</p><p> 在整個開發(fā)過程中,因為是機遇java web開發(fā)的,所以要注意的地方有點多,碰到了許多問題,其中有兩個問題花了我比較的時間去解決,一個是登錄攔截器,另一個
31、就是添加圖書的時候,要上傳一張書籍封面圖片到服務(wù)器。</p><p> 登錄攔截器的作用就是不允許沒有登錄通過輸入地址進入系統(tǒng),他是通過每次進入一個頁面就檢查一遍session中是否有用戶的信息,如果沒有就強制跳轉(zhuǎn)到登陸頁面。因為是對每一個界面都進行檢查,所以也包括登陸界面,這樣一來就出現(xiàn)了問題,因為登錄界面是沒有登錄的,所以就會跳轉(zhuǎn)到登陸界面,這樣就會進入死循環(huán),因此檢查每個界面的時候應(yīng)該不包括登陸界面。進過
32、在上查找資料,最終才明白,可以在攔截器中設(shè)置一個集合,其中保存的就是所有不需要進行攔截的頁面。</p><p> Java中上傳文件要引用特定的包,jdk中一般沒有,而通過jsp頁面上傳文件一般的是用jsmart這個包,應(yīng)為這個包用起來很簡單和方便。但是我是用了這個包后,老是出現(xiàn)亂碼,而且是技術(shù)亂碼,偶數(shù)不亂碼,我把三種通用的解決亂碼的方法都試了一遍,還是不管用。最后經(jīng)過上網(wǎng)查找才知道,jsmart這個包中設(shè)定
33、的字符集是GBK2312,而我使用的字符集是UTF-8,所以要使用jsmart這個包必須的修改它的源代碼,弄了好久還是失敗了。我又在網(wǎng)上找了另一個方法,通過fileupload這個包來上傳文件,最終才解決問題。</p><p><b> 8. 心得與體會</b></p><p> 在這次課程設(shè)計中,從理論到實踐可以說是很忙碌的,但是也學(xué)到很多很多的東西,不僅可以鞏
34、固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計,我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能提高自己的實際動手能力和獨立思考的能力。</p><p> 通過這次實訓(xùn)過后,我也把所學(xué)過的知識重新溫故了一邊。開發(fā)一套系統(tǒng),最重要的是自信,并不是一定要做到面面俱到,但也要充分考慮到用戶的需求和現(xiàn)實意義,不管
35、什么系統(tǒng),只有運用到實際應(yīng)用中,才具有現(xiàn)實意義。所以在準備工作中要正確的分析系統(tǒng)需求,畫出流程圖,把大體框架做好,然后再逐一細化。 經(jīng)過這一段時間的學(xué)習(xí)與時間,圖書管理系統(tǒng)基本上完成了。該系統(tǒng)具備了添加、刪除、修改、查詢以及根據(jù)用戶需求借還圖書等功能,作為一個簡單的圖書管理系統(tǒng),本系統(tǒng)所提供的功能有點少,僅僅實現(xiàn)了一些基本功能,有很多地方有待擴展和改良。這次的課程設(shè)計使我對所學(xué)知識有了更深一步的理解與掌握,理論與實踐也能更好地結(jié)合在一起
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計報告---圖書管借還管理信息系統(tǒng)數(shù)據(jù)庫
- 圖書管理信息系統(tǒng)數(shù)據(jù)庫課程設(shè)計實驗報告
- 數(shù)據(jù)庫課程設(shè)計---圖書館圖書借閱管理信息系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-圖書館管理信息系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--圖書館管理信息系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書館管理信息系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-圖書館管理信息系統(tǒng)
- 圖書管理信息系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--- 圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計——圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---圖書管理系統(tǒng)
評論
0/150
提交評論