全開架圖書館管理系統(tǒng)-圖書管理模塊畢業(yè)論文_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設計)</b></p><p>  題 目: 全開架圖書管理系統(tǒng)的設計與實現(xiàn) </p><p>  學 生: XXX </p><p>  指導老師: XX </p><p>  

2、專 業(yè): XX </p><p>  班 級: XX </p><p>  學 號: XX </p><p>  全開架圖書管理系統(tǒng)的設計與實現(xiàn)</p><p><b>  摘要:</b><

3、;/p><p>  全開架借閱是當今高校圖書館發(fā)展的必然趨勢。實行全開價借閱,不僅方便讀者,大大促進圖書館資源的開發(fā)和利用,而且也能全方面體現(xiàn)圖書館的綜合服務功能。</p><p>  全開架借閱不僅簡化手續(xù),方便讀者,保證了信息的完整性和準確性,而且大大提高了圖書及信息的利用率,節(jié)省了大量的時間。將“以藏為主”的服務方式轉變?yōu)椤耙杂脼橹鳌钡姆辗绞?,充分體現(xiàn)管理員主動服務的能力。</p

4、><p>  在圖書館開發(fā)的一些理論的指引下,歷經幾代中外圖書館學者大力提倡和實踐,圖書館的全開架服務,成為當今圖書館開放管理的重要基礎。我國部分先進圖書館和和級少數(shù)有條件的高校圖書館也紛紛采用了這種方式。這種方式為圖書館的現(xiàn)代化搭建了基礎平臺,為圖書館的可持續(xù)發(fā)展提供了保證。與之相反,“閉架式”,“書庫式”的管理方式已制約了高校圖書館的發(fā)展。因此,高校圖書館實行全開架借閱方式勢在必行。</p><

5、;p>  關鍵字:全開架、圖書管理、系統(tǒng)、圖書館、現(xiàn)代化</p><p><b>  目錄</b></p><p><b>  1 選題背景4</b></p><p>  1.1 全開架圖書館的優(yōu)勢4</p><p>  1.2 全開架圖書館開放管理的必然趨勢4</p>&

6、lt;p>  1.3全開架圖書館設計的開發(fā)環(huán)境4</p><p>  1.4全開架圖書館設計的功能簡介5</p><p><b>  2 可行性分析5</b></p><p>  2.1 技術可行性5</p><p>  2.2 經濟可行性5</p><p>  2.3社會可行性

7、6</p><p><b>  3 需求分析6</b></p><p>  3.1系統(tǒng)的需求分析6</p><p>  3.2 功能需求分析6</p><p>  4 全開架圖書館個人設計實現(xiàn)部分7</p><p>  4.1個人任務描述7</p><p>  4

8、.2圖書管理模塊概要設計7</p><p>  4.3圖書管理模塊需求分析7</p><p>  4.3.1圖書管理模塊的E-R圖8</p><p>  4.3.2圖書管理模塊的數(shù)據流程圖10</p><p>  4.3.3圖書管理模塊的數(shù)據字典13</p><p>  5圖書管理系統(tǒng)詳細設計14</

9、p><p>  5.1系統(tǒng)流程分析14</p><p>  5.2主要模塊的運行15</p><p>  5.2.1登錄界面15</p><p>  5.2.2圖書系統(tǒng)還書模塊16</p><p>  5.3 系統(tǒng)開發(fā)遇到的相關問題及解決16</p><p>  5.3.1圖書管理系統(tǒng)索引

10、16</p><p>  5.3.2如何驗證輸入的字符串16</p><p>  5.3.3自動計算圖書歸還日期17</p><p><b>  6.總結23</b></p><p><b>  7. 謝辭24</b></p><p>  8.參考文獻及附錄24&

11、lt;/p><p><b>  1 選題背景</b></p><p>  1.1 全開架圖書館的優(yōu)勢</p><p>  全開架借閱管理系統(tǒng)與“閉架式”,“書庫式”管理系統(tǒng)相比,顯示其獨特的優(yōu)勢,為讀者和管理者提供了滿意的操作平臺,充分發(fā)揮了各自的主題作用。</p><p>  實行全開價借閱,不僅方便讀者,大大促進圖書館資

12、源的開發(fā)和利用,而且也能全方面體現(xiàn)圖書館的綜合服務功能。</p><p>  全開架借閱不僅簡化手續(xù),保證了信息的完整性和準確性,而且大大提高了圖書及信息的利用率,節(jié)省了大量的時間。將“以藏為主”的服務方式 轉變?yōu)椤耙杂脼橹鳌钡姆辗绞?,充分體現(xiàn)管理員主動服務的能力。這是讀者和管理員都滿意的服務方式</p><p>  1.2 全開架圖書館開放管理的必然趨勢</p><

13、p>  十七世紀被譽為“圖書學開山鼻祖”的法國學者加布里埃.諾迪指出:“圖書館應當對公眾開放”。在圖書館開發(fā)的一些理論的指引下,歷經幾代中外圖書館學者大力提倡和實踐,圖書館的全開架服務,成為當今圖書館開放管理的重要基礎。西方發(fā)達國家圖書館憑借雄厚的經濟實力和技術實力早已實現(xiàn)了開架借閱。我國部分先進圖書館和和級少數(shù)有條件的高校圖書館也紛紛采用了這種方式。這種方式為圖書館的現(xiàn)代化搭建了基礎平臺,為圖書館的可持續(xù)發(fā)展提供了保證。與之相反

14、,“閉架式”,“書庫式”的管理方式已制約了特別是高校圖書館的發(fā)展。因此,圖書館實行全開架借閱方式勢在必行。</p><p>  1.3全開架圖書館設計的開發(fā)環(huán)境</p><p>  系統(tǒng)是以Java Server Pages 2.0開發(fā)環(huán)境作為主要開發(fā)工具,使用MySQL作為關系數(shù)據庫,配合功能強大的SQL查詢語言實現(xiàn)建立關系數(shù)據庫,訪問數(shù)據庫,對數(shù)據庫的更新,較好地實現(xiàn)了預定的需求功能。

15、使用了客戶端/服務器結構,并使用My SQL創(chuàng)建中心數(shù)據庫,提供完整的XML支持,還具有構成Web站點的數(shù)據存儲組件所需的可伸縮性、可用性和安全功能等特點。</p><p>  可伸縮性和可用性。同一個數(shù)據庫引擎可以在不同的平臺上使用。此外,SQL Server2000支持聯(lián)合服務器、索引視圖和大型內存支持等功能,使其得以升級到最大Web站點所需的性能級別。</p><p>  數(shù)據庫功能

16、。數(shù)據庫引擎充分保護數(shù)據的完整性,同時將管理上千個并發(fā)修改數(shù)據庫用戶的開銷減到最小。SQL分布式查詢可以引用來自不同數(shù)據源的數(shù)據,就好像數(shù)據是SQL數(shù)據庫的一部分,同時分布式事務支持充分保護任何分布式數(shù)據更新的完整性。可將一組數(shù)據復制到多個移動的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務器中。</p><p>  1.4全開架圖書館設計的功能簡介</p><p> 

17、 全開架圖書館主要實現(xiàn)了5個方面的功能:1.圖書查詢,對圖書進行查詢,可查詢書本的當前狀態(tài)和相關信息;2.借閱管理,包括書籍借閱和書籍歸還的管理;3.圖書管理,主要實現(xiàn)書庫的管理和書籍的管理,包括書庫的建立和刪除,新書的入庫和廢書的刪除等;4.借閱者管理,是對借閱者信息和借閱進行管理;5.系統(tǒng)管理,是對系統(tǒng)的權限管理。系統(tǒng)設計利用JSP開發(fā)工具和Mysql數(shù)據庫來開發(fā)這個圖書管理系統(tǒng)。系統(tǒng)要解決的圖書管理所要解決的問題,可以滿足圖書管理

18、基本要求,包括添加、修改刪除管理等功能。系統(tǒng)能根據用戶的需求,快捷方便的為讀者提供借閱服務。</p><p><b>  2 可行性分析</b></p><p><b>  2.1 技術可行性</b></p><p>  對于現(xiàn)在的pc機和開發(fā)軟件配置都能滿足的軟件需要,一個班級開發(fā)一個系統(tǒng),有相應的人力,和林老師的幫助支

19、持,技術上是可行的。圖書館管理系統(tǒng)的工作主要是在讀者和圖書館之間架起一座橋梁,能相互溝通信息和處理信息。這一特點非常適合計算機特點,通過網絡internet技術,發(fā)揮計算機的信息傳輸速度快、準確度高的優(yōu)勢。計算機硬件和軟件技術的飛速發(fā)展,為系統(tǒng)的建設提供了技術條件。</p><p><b>  2.2 經濟可行性</b></p><p>  開發(fā)需求較低,加上成熟的軟

20、硬件環(huán)境、目標系統(tǒng)并不是十分復雜和開發(fā)周期較短,人員經濟支出有限。開發(fā)完成運行后,為使用者帶來便利,為系統(tǒng)的進一步推廣創(chuàng)造了條件,經濟收益將遠超過投資。從經濟角度考慮,此系統(tǒng)開發(fā)可行。</p><p><b>  2.3社會可行性</b></p><p>  目前已有很多成功開發(fā)圖書館管理系統(tǒng)的先例,社會需要圖書館管理的現(xiàn)代化和信息化。圖書館管理系統(tǒng)開發(fā)和運行與國家的

21、政策法規(guī)不存在任何沖突和抵觸之處。另外,圖書館管理系統(tǒng)所采用的操作和工作方式符合工作人員和讀者的日常習慣,而且操作方便靈活,便于學習。具有可行性。</p><p><b>  3 需求分析</b></p><p>  3.1系統(tǒng)的需求分析</p><p>  隨著互聯(lián)網的爆炸性發(fā)展,人們越來越不習慣于利用網絡來實現(xiàn)所需的任務系統(tǒng)的主要目的是實現(xiàn)

22、一個全開架圖書管理系統(tǒng)。系統(tǒng)有2 類用戶分別為管理員、讀者會員。管理員經口令認證進人系統(tǒng)后,管理員可完成維護系統(tǒng)的功能, 包括管理圖書和管理會員。讀者會員則完成查詢圖書、修改個人資料、查詢個人借閱信息的功能, 工作完成后可以退出系統(tǒng)。</p><p>  3.2 功能需求分析</p><p>  隨著圖書的日益增多,傳統(tǒng)的手工圖書管理不僅工作量大,而且容易出現(xiàn)問題。圖書管理設計的內容非常復

23、雜而且繁多,比如擁有圖書信息錄入管理、用戶信息管理、圖書借閱管理和歸還管理,圖書的查詢和修改等。</p><p>  由于系統(tǒng)主要是為方便管理員定制開發(fā)的,因此針對圖書管理的實際工作而言,經過了反復地論證,最終確定了圖書管理系統(tǒng)的設計方案,圖書管理系統(tǒng)的主要功能為:</p><p> ?。?) 用戶登錄。管理員或會員根據工作證和密碼登錄系統(tǒng)進行身份驗證。</p><p&

24、gt; ?。?) 查詢圖書。登錄系統(tǒng)后進行圖書檢索, 并可以通過點擊圖書名稱查看書本詳細信息。可以查看到書本的所有信息及借閱信息。</p><p> ?。?) 添加圖書。只有管理員登錄成功后才能添加圖書。通過點擊導航條上的“添加圖書“超鏈接進入添加圖書頁面,填好后點提交, 就進數(shù)據庫了。</p><p> ?。?) 修改圖書。只有管理員登錄成功后才能修改圖書。通過點擊導航條上的“修改圖書“

25、超鏈接進入修改圖書頁面,修改好后點提交, 就進數(shù)據庫了。</p><p>  (5) 刪除圖書。只有管理員登錄成功后才能修改圖書。通過點擊導航條上的“刪除圖書“超鏈接進入刪除圖書頁面,點刪除就可將書刪除。</p><p> ?。?) 修改和查詢個人信息。</p><p>  4 全開架圖書館個人設計實現(xiàn)部分</p><p><b>

26、  4.1個人任務描述</b></p><p>  我所完成的任務是全開架圖書管理系統(tǒng)的模塊功能流程圖,需求分析,以及數(shù)庫設計的編寫。我們小組負責的模塊是圖書管理系統(tǒng)的還書部分。</p><p>  4.2圖書管理模塊概要設計</p><p>  首先進入登陸界面,驗證用戶名和密碼,根據用戶權限不同分別進入管理員界面或普通用戶界面。管理員對用戶登錄信息,

27、圖書信息進行管理,普通用戶根據分配的用戶名,密碼進行登錄查詢圖書信息。本模塊包括登陸頁,普通用戶頁面,管理員頁面,添加用戶頁面,添加圖書信息頁面,查詢頁面,增加頁面,刪除頁面等。</p><p>  4.3圖書管理模塊需求分析</p><p>  數(shù)據庫概念結構設計是在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。這個階段不要考慮所采

28、用的數(shù)據庫管理系統(tǒng),操作系統(tǒng)類型,及其類型等問題。這階段可用的工具很多。用的最多的是E-R圖,另外還有許多計算機輔助工具可以幫助進行設計。本系統(tǒng)采用了E-R圖的方法進行數(shù)據庫概念結構設計。E-R圖是描述數(shù)據實體關系的一種直觀描述的工具。這種圖中有:</p><p> ?。?)實體:用方框表示,方框內實體的名稱。</p><p>  (2)實體的各種屬性:用橢圓表示,橢圓內為屬性名稱。使用線

29、段將其和響應的實體連接起來。</p><p> ?。?)實體之間的聯(lián)系:用菱形表示,菱形內為聯(lián)系的名稱。</p><p>  實體和實體之間的聯(lián)系較多,比較常見的聯(lián)系有1:1,1:N,和M:N這三種。</p><p>  概念結構式獨立于實際數(shù)據模型的信息結構,必須將其轉化為邏輯結構后才能進行數(shù)據庫應用的設計。也就是要將概念上的結構轉化為數(shù)據庫系統(tǒng)所支持的實際數(shù)據模

30、型。</p><p>  第一種轉化是將實體轉化為關系表。這種轉化需要將實體的屬性定義為表即可。</p><p>  第二種轉化是聯(lián)系的轉化。即將各個實體之間的聯(lián)系轉化為表格之間的關系,如外部鍵的定義。</p><p>  在上面工作的基礎上歸納出人員管理數(shù)據庫表格的組成之間的聯(lián)系等等。該數(shù)據庫系統(tǒng)具有以下方面的特點:</p><p>  結

31、構合理,對一個人員建立多條記錄。</p><p>  所建立的數(shù)據冗余度小,獨立性強。</p><p>  建檔,修改,查詢,統(tǒng)計快速而準確。</p><p>  保密性好,可靠性好。</p><p>  4.3.1圖書管理模塊的E-R圖</p><p>  圖書管理系統(tǒng)中要有圖書,圖書是圖書管理系統(tǒng)中密不可分的部分,

32、因此要創(chuàng)建一圖書信息實體,用來保存圖書的詳細信息。</p><p>  圖書信息實體E-R圖:</p><p>  圖書信息實體E-R圖</p><p>  讀者是圖書管理系統(tǒng)的重要組成部分,它用來存儲讀者的詳細信息。讀者信息實體E-R圖:</p><p>  讀者信息實體E-R圖</p><p>  圖書的借閱和歸還

33、時圖書管理系統(tǒng)中的一項重要環(huán)節(jié),開發(fā)圖書管理系統(tǒng)就是為了方便讀者對圖書的借閱和歸還。因此要建立一個圖書借還實體,用來保存讀者對圖書的借閱和歸還的詳細信息。圖書的借閱和歸還實體E-R圖:</p><p>  讀者借還實體E-R圖</p><p>  圖書管理系統(tǒng)為了增加系統(tǒng)的安全性,管理員只有在系統(tǒng)登錄模塊驗證通過之后才能進入管理員的操作界面,因此要在數(shù)據庫中創(chuàng)建一個存放登錄用戶信息的管理員

34、實體。管理員實體E-R圖:</p><p><b>  管理員實體E-R圖</b></p><p>  4.3.2圖書管理模塊的數(shù)據流程圖</p><p>  根據需求分析的得到的現(xiàn)行業(yè)務處理流程,在反復研究后,首先確定目標系統(tǒng)的業(yè)務流程,其處理流程:</p><p>  登錄 合法用戶</p&g

35、t;<p>  登記后 </p><p><b>  的圖書</b></p><p>  圖書管理系統(tǒng)的業(yè)務流程</p><p>  查詢圖書信息數(shù)據流程圖:</p><p>  查詢圖書信息數(shù)據流程

36、圖</p><p><b>  加工名:驗證并查詢</b></p><p>  簡要描述:檢驗讀者身份是否有效,并根據讀者輸入的關鍵字查詢</p><p>  輸入數(shù)據流:借書證號,讀者信息,圖書信息,還書信息,訪問記錄信息</p><p>  輸出數(shù)據流:錯誤返回,查詢信息</p><p>  

37、加工邏輯:IF 借書證在讀者庫中不存在 THEN</p><p><b>  發(fā)出:“錯誤返回“</b></p><p>  ELSE IF 所要關鍵字在圖書庫中不存在 THEN</p><p><b>  發(fā)出“錯誤返回”</b></p><p>  ELSE IF 該圖書在訪問記錄中且沒有返

38、回 THEN</p><p><b>  發(fā)出“錯誤返回”</b></p><p><b>  ELSE</b></p><p>  查詢,并返回查詢信息</p><p><b>  ENDIF</b></p><p><b>  ENDIF&

39、lt;/b></p><p><b>  ENDIF</b></p><p>  數(shù)據流名:查詢關鍵字</p><p>  說明:用于傳遞查詢關鍵字段</p><p><b>  數(shù)據流來源:讀者</b></p><p>  數(shù)據流去向:驗證并查詢</p>

40、<p>  數(shù)據流組成:查詢信息=1{字母}50</p><p><b>  數(shù)據流名:查詢信息</b></p><p>  說明:用于顯示讀者查詢的結果</p><p>  數(shù)據流來源:驗證并查詢</p><p><b>  數(shù)據流去向:讀者</b></p><p&

41、gt;  數(shù)據流組成:查詢信息=讀者信息+圖書信息</p><p><b>  數(shù)據流名:借書證號</b></p><p>  說明:校驗讀者是否入庫</p><p><b>  數(shù)據流來源:讀者</b></p><p>  數(shù)據流去向:驗證并查詢</p><p>  歸還系

42、統(tǒng)的數(shù)據流圖:</p><p>  圖4.3.3歸還系統(tǒng)的數(shù)據流圖</p><p>  圖書檔案管理系統(tǒng)為用戶提供圖書檔案信息其數(shù)據流圖:</p><p>  圖書檔案管理數(shù)據流圖</p><p>  讀者檔案用于記錄讀者的詳細信息其數(shù)據流圖:</p><p>  讀者檔案管理數(shù)據流圖</p><p

43、>  4.3.3圖書管理模塊的數(shù)據字典</p><p>  有了系統(tǒng)的數(shù)據流圖后,還有相當多的數(shù)據信息如圖書、借閱、歸還等信息需要進一步描述,這就是需要定義數(shù)據字典,才能把現(xiàn)有的系統(tǒng)描述清楚。列出系統(tǒng)的主要數(shù)據字典。</p><p><b>  名稱:管理員</b></p><p>  描述:記錄管理員信息</p><

44、p>  定義:管理員信息=管理員ID+管理員密碼</p><p>  輸入數(shù)據:管理員信息</p><p>  輸出數(shù)據:管理員信息</p><p>  名稱:圖書信息表結構</p><p>  描述:記錄所有圖書的基本情況</p><p>  定義:圖書信息=圖書編號+ISBN號+索引號+圖書類別+圖書名稱+語

45、種+原名+頁碼+作者+價格+出版社+出版時間+登記日期+備注</p><p><b>  輸入數(shù)據:圖書信息</b></p><p><b>  輸出數(shù)據:圖書信息</b></p><p>  名稱:讀者信息表結構</p><p>  描述:記錄所有讀者的基本情況</p><p&

46、gt;  定義:讀者信息=讀者編號+性別+姓名+類別+身份證號+辦證日期+證有效期+工作單位+E-mail+聯(lián)系電話</p><p><b>  輸入數(shù)據:讀者信息</b></p><p><b>  輸出數(shù)據:讀者信息</b></p><p>  名稱:借書登記表結構</p><p>  描述:記

47、錄所有圖書的借閱情況</p><p>  定義:借書信息=讀者編號+讀者編號+讀者類別+圖書編號+圖書類別+圖書名稱+原名+作者+出版社+借出日期+應還日期</p><p><b>  輸入數(shù)據:借書信息</b></p><p><b>  輸出數(shù)據:借書信息</b></p><p>  名稱:記錄

48、歸還登記表結構</p><p>  描述:記錄所有圖書的歸還情況</p><p>  定義:歸還信息=讀者編號+讀者編號+讀者類別+圖書編號+圖書類別+圖書名稱+原名+作者+出版社+借出日期+應還日期+實還日期+罰款</p><p><b>  輸入數(shù)據:歸還信息</b></p><p><b>  輸出數(shù)據:

49、歸還信息</b></p><p>  5圖書管理系統(tǒng)詳細設計</p><p><b>  5.1系統(tǒng)流程分析</b></p><p>  根據開發(fā)圖書管理系統(tǒng)的需求分析,本系統(tǒng)設計了三種用戶,分別為系統(tǒng)管理員,教師和學生。</p><p>  系統(tǒng)要求有系統(tǒng)管理員用戶,我們設定系統(tǒng)管理員,當系統(tǒng)管理員使用帳戶

50、登錄后,需要查看有關圖書的一系列的信息,管理員可以通過系統(tǒng)導航菜單進入讀者管理界面、圖書管理界面、圖書借還界面、系統(tǒng)查詢界面,在讀者界面中,管理員添加和修改學生或教師信息、用戶可以查看自己的信息,在圖書管理界面管理員可以添加和修改圖書信息、用戶可查看圖書,在圖書借還界面我完成讀者借書還書的操作,系統(tǒng)查詢界面管理員可以查看借出去的圖書信息及庫存的信息、用戶可以查找自己所需的圖書。讀者使用讀者賬號登錄系統(tǒng)后,可以查詢自己所需要的圖書信息,也

51、可以查詢自己個人的基本信息及圖書的借還信息。讀者的借書和還書過程是通過管理員完成的。</p><p>  5.2主要模塊的運行</p><p><b>  5.2.1登錄界面</b></p><p>  當用戶輸入用戶名、密碼,系統(tǒng)自動將輸入的信息和相關數(shù)據表中的內容進行比較,如果該用戶輸入的內容和數(shù)據表中的內容相符,則通過驗證,此次登錄成功;

52、否則登錄失敗。比較的過程是由瀏覽器將指令、數(shù)據發(fā)送到Web服務器,Web服務器通過對數(shù)據庫進行查詢,將結果返回到瀏覽器,從終端顯示成功的消息,用戶只有成功登錄系統(tǒng)后才能進行一系列的操作:</p><p>  5.2.2圖書系統(tǒng)還書模塊</p><p>  5.3 系統(tǒng)開發(fā)遇到的相關問題及解決</p><p>  5.3.1圖書管理系統(tǒng)索引</p>&l

53、t;p>  圖書管理系統(tǒng)開發(fā)中存在大量的數(shù)據和信息檢索,怎樣更好的檢索數(shù)據和信息操作時保證檢索速度的提高和局的分頁顯示,主要考慮了幾個方面:</p><p> ?。?)設計邏輯結構時充分考慮冗余量和可處理性兩方面的要求,在接受冗余量的前提下,盡量減少表的連接操作。</p><p> ?。?)關系的大小對查詢的影響也是很大的,因此為了提高數(shù)據庫的查詢速度,減小系的大小和數(shù)據量也是必要的

54、。</p><p> ?。?)建立合理的索引結構。索引相當于一個映射機構,將鍵值轉換成相對應的記錄地址,形成索引文件。</p><p>  5.3.2如何驗證輸入的字符串</p><p>  在圖書管理系統(tǒng)的開發(fā)過程中,需要對一些輸入的字符串進行驗證,例如金額、電話號碼等,由于許多模塊都要用到這些驗證,因此可以將其寫入到一個公共類中然后在其他的頁面中ingzhiji

55、e調用即可。</p><p>  5.3.3自動計算圖書歸還日期</p><p>  在圖書管理系統(tǒng)運行中會常常遇到這樣的問題:在借閱圖書時,需要自動計算圖書的歸還日期,而這個日期又不是固定不變的,它是需要根據系統(tǒng)日期和數(shù)據表中保存的各類圖書的最多借閱天數(shù)來計算的,即圖書歸還日期=“系統(tǒng)日期”+“最多借閱天數(shù)”。因此本系統(tǒng)是這樣解決問題的:首先獲取系統(tǒng)時間,然后從數(shù)據表中查詢出該類圖書最多

56、借閱天數(shù),最后計算歸還日期。代碼:</p><p>  struts 展現(xiàn)層:</p><p><b>  /***</b></p><p>  管理員成功登錄系統(tǒng)后</p><p><b>  所顯示的第一張頁面</b></p><p><b>  **/<

57、/b></p><p>  public ActionForward returnDefault(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  //request.se

58、tAttribute("dateFormater",new SimpleDateFormat("yyyy-MM-dd"));</p><p>  request.setAttribute("borrows", borrowBiz.getBorrowRecords());</p><p>  return mapping.findF

59、orward("unreturn");</p><p><b>  }</b></p><p><b>  /***</b></p><p>  學生圖書歸還功能實現(xiàn)</p><p><b>  **/</b></p><p>  

60、public ActionForward doReturn(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  int id=Integer.parseInt(request.getParameter(&

61、quot;id"));</p><p>  Borrow borrow=borrowBiz.getBorrowRecordById(id);</p><p>  borrow.setReturnTime(new Date());</p><p>  borrowBiz.returnBook(borrow);</p><p>  re

62、turn returnDefault( mapping, form, request, response);</p><p><b>  }</b></p><p>  spring 業(yè)務層:</p><p><b>  /**</b></p><p><b>  從加載上所有學生的<

63、;/b></p><p><b>  借書未歸還圖書信息</b></p><p><b>  **/</b></p><p>  public List<Borrow> getBorrowRecords() {</p><p>  return getUnReturnList(bo

64、rrowDAO.findAll());</p><p><b>  }</b></p><p>  private List<Borrow> getUnReturnList(List<Borrow> list){</p><p>  List<Borrow> result=new ArrayList<B

65、orrow>();</p><p>  for (Borrow borrow:list){</p><p>  if (borrow.getReturnTime()==null){</p><p>  result.add(borrow);</p><p><b>  }</b></p><p&

66、gt;<b>  }</b></p><p>  return result;</p><p><b>  }</b></p><p><b>  /**</b></p><p>  還書操作業(yè)務層實現(xiàn),</p><p>  分層主要是為了系統(tǒng)的靈活性&

67、lt;/p><p><b>  ***/</b></p><p>  public void returnBook(Borrow borrow) {</p><p>  borrowDAO.update(borrow);</p><p><b>  }</b></p><p>

68、;  hibernate 持久層:</p><p><b>  /**</b></p><p>  加載所有暫時沒有歸還的圖書信息</p><p><b>  **/</b></p><p>  public List findAll() {</p><p>  log.d

69、ebug("finding all Borrow instances");</p><p><b>  try {</b></p><p>  String queryString = "from Borrow";</p><p>  return getHibernateTemplate().find(

70、queryString);</p><p>  } catch (RuntimeException re) {</p><p>  log.error("find all failed", re);</p><p><b>  throw re;</b></p><p><b>  }<

71、;/b></p><p><b>  }</b></p><p><b>  /**</b></p><p>  更新學生所歸還的圖書借閱信息</p><p><b>  **/</b></p><p>  public void update(B

72、orrow transientInstance) {</p><p>  log.debug("saving Borrow instance");</p><p><b>  try {</b></p><p>  getHibernateTemplate().update(transientInstance);</p

73、><p>  log.debug("save successful");</p><p>  } catch (RuntimeException re) {</p><p>  log.error("save failed", re);</p><p><b>  throw re;</b&

74、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p>  涉及到的具體領域模型類有</p><p><b>  圖書借閱信息實體</b></p><p>  package com.wangluo076.

75、entity;</p><p>  import java.util.Date;</p><p><b>  /**</b></p><p>  * Borrow generated by MyEclipse Persistence Tools</p><p><b>  */</b></p&

76、gt;<p>  public class Borrow implements java.io.Serializable {</p><p><b>  // Fields</b></p><p>  private Integer id;</p><p>  private Books books;</p><

77、;p>  private User user;</p><p>  private Date borrowDate;</p><p>  private Date returnTime;</p><p>  // Constructors</p><p>  /** default constructor */</p>&

78、lt;p>  public Borrow() {</p><p><b>  }</b></p><p>  /** minimal constructor */</p><p>  public Borrow(Books books, User user, Date borrowDate) {</p><p> 

79、 this.books = books;</p><p>  this.user = user;</p><p>  this.borrowDate = borrowDate;</p><p><b>  }</b></p><p>  /** full constructor */</p><p&g

80、t;  public Borrow(Books books, User user, Date borrowDate, Date returnTime) {</p><p>  this.books = books;</p><p>  this.user = user;</p><p>  this.borrowDate = borrowDate;</p>

81、;<p>  this.returnTime = returnTime;</p><p><b>  }</b></p><p>  // Property accessors</p><p>  public Integer getId() {</p><p>  return this.id;</

82、p><p><b>  }</b></p><p>  public void setId(Integer id) {</p><p>  this.id = id;</p><p><b>  }</b></p><p>  public Books getBooks() {&

83、lt;/p><p>  return this.books;</p><p><b>  }</b></p><p>  public void setBooks(Books books) {</p><p>  this.books = books;</p><p><b>  }<

84、/b></p><p>  public User getUser() {</p><p>  return this.user;</p><p><b>  }</b></p><p>  public void setUser(User user) {</p><p>  this.us

85、er = user;</p><p><b>  }</b></p><p>  public Date getBorrowDate() {</p><p>  return this.borrowDate;</p><p><b>  }</b></p><p>  pub

86、lic void setBorrowDate(Date borrowDate) {</p><p>  this.borrowDate = borrowDate;</p><p><b>  }</b></p><p>  public Date getReturnTime() {</p><p>  return th

87、is.returnTime;</p><p><b>  }</b></p><p>  public void setReturnTime(Date returnTime) {</p><p>  this.returnTime = returnTime;</p><p><b>  }</b>&

88、lt;/p><p><b>  }</b></p><p>  對應的配置文件borrow.hbm.xml</p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <!DOCTYPE hibernate-m

89、apping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"</p><p>  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"></p><p><b>  <!-- </b></

90、p><p>  Mapping file autogenerated by MyEclipse Persistence Tools</p><p><b>  --></b></p><p>  <hibernate-mapping></p><p>  <class name="com.w

91、angluo076.entity.Borrow" table="borrow" catalog="library_manager"></p><p>  <id name="id" type="java.lang.Integer"></p><p>  <column name

92、="id" /></p><p>  <generator class="identity" /></p><p><b>  </id></b></p><p>  <many-to-one name="books" class="com

93、.wangluo076.entity.Books" fetch="join" lazy="false"></p><p>  <column name="bookid" not-null="true"></p><p>  <comment>圖書ID</commen

94、t></p><p><b>  </column></b></p><p>  </many-to-one></p><p>  <many-to-one name="user" class="com.wangluo076.entity.User" fetch=&qu

95、ot;join" lazy="false"></p><p>  <column name="uid" not-null="true"></p><p>  <comment>UserID</comment></p><p><b>  <

96、/column></b></p><p>  </many-to-one></p><p>  <property name="borrowDate" type="java.util.Date"></p><p>  <column name="borrow_date&

97、quot; length="0" not-null="true"></p><p>  <comment>借書日期</comment></p><p><b>  </column></b></p><p>  </property></p>

98、;<p>  <property name="returnTime" type="java.util.Date"></p><p>  <column name="return_time" length="0"></p><p>  <comment>還書日期&

99、lt;/comment></p><p><b>  </column></b></p><p>  </property></p><p><b>  </class></b></p><p>  </hibernate-mapping><

100、;/p><p><b>  6.總結</b></p><p>  經過幾個月以來,同學們之間互幫互助,學校圖書管理系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶要求。對于數(shù)據的一致性問題也通過程序進行了有效的解決。但是該系統(tǒng)還有許多不盡如人意的地方,在今后有待進一步改善。通過這次畢業(yè)設計真切地體會到畢業(yè)設計的目的并不止于自己單純任務的完成,而在于學習心得知識并掌握具體的方法,如何具

101、體使用和具體應用你所學的語言。從而獲得一種本領:就是融會貫通各種語言?;厥渍麄€開發(fā)設計過程,我學到了很多書本上學不到的東西。以前開發(fā)軟件的時候,一般做的就是編碼工作,實現(xiàn)比較簡單的功能。但是這次畢業(yè)設計,小組要負責完成圖書管理系統(tǒng)的整個開發(fā)過程,包括系統(tǒng)可行性分析、系統(tǒng)需求分析、系統(tǒng)概要設計、系統(tǒng)詳細設計等方面的工作。在每個設計階段我都能學到一些新知識,對我的動手能力提高很大。在整個畢業(yè)設計過程中,我們小組基本上完成了還書模塊的功能,達

102、到了畢業(yè)設計的要求。頁面設計還有進一步改善的地方,我們會在今后的學習工作中著重加強這方面的鍛煉。</p><p>  在以后的工作生活中,或許還會遇到很多類似的情況。此次畢業(yè)設計為我以后的工作積累了經驗,奠定了一定的基礎。這一整個過程是一個不斷地遇到問題——解決問題的過程。當然仍然存在許多解決不了的問題,我們還需不斷地繼續(xù)與探索。在結束設計的同時也感到了勞動的艱辛與勞動成果的來之不易,明白了畢業(yè)設計是給自己提供了

103、一個鍛煉、升華、提高、完善的機會。</p><p><b>  7. 謝辭</b></p><p>  在畢業(yè)設計過程中,得到了xx老師的指導與支持。在總體結構、功能的把握上給予了非常大的幫助,xx老師認真負責的工作態(tài)度、嚴謹?shù)闹螌W風格,使我深受啟發(fā);開發(fā)的同時,和同學之間的相互探討也使我獲益匪淺。同時感謝在大學三年生活中給予我們關心和幫助的老師和同學,是他們教會了我

104、們專業(yè)的知識和做人的道理。通過這次畢業(yè)設計我還明白了作為一名計算機專業(yè)的大學畢業(yè)生,我們要會的不僅僅是編寫代碼,更重要的是要有整體把握系統(tǒng)設計的能力。我會在以后的工作和學習中不斷完善自己,為自己翻開輝煌的新篇章。</p><p>  轉眼間,大學生活即將結束,回首過去四年的大學生活,真是有苦也有樂,然而更多的則是收獲。管理信息系統(tǒng)專業(yè)的畢業(yè)設計任務繁重,但正是在這幾個月緊張而充實的設計中,我感到自己的知識得到了一

105、次升華,我相信:我的畢業(yè)設計會給我的四年大學畫上一個圓滿的句號。</p><p>  21世紀已經到來了,在新的世紀里,人們自然對未來有許多美好的愿望和設想。現(xiàn)代科學技術的飛速發(fā)展,改變了世界,也改變了世界的生活。作為新世紀的大學生,應當站在世界的發(fā)展前列,掌握現(xiàn)代科學技術知識,調整自己的知識結構和能力結構,以適應社會發(fā)展的要求。新世紀需要具有豐富現(xiàn)代科學知識、能夠獨立解決面臨任務、有創(chuàng)新意識的新型人才。<

106、/p><p><b>  8.參考文獻及附錄</b></p><p>  [1]孫衛(wèi)琴,李洪成.《Tomcat 與 Java Web 開發(fā)技術詳解》.電子工業(yè)出版社,2003年6月:1-205</p><p>  [2]BruceEckel.《Java編程思想》. 機械工業(yè)出版社,2003年10月:1-378</p><p>

107、;  [3]FLANAGAN.《Java技術手冊》. 中國電力出版社,2002年6月:1-465</p><p>  [4]孫一林,彭波.《Java數(shù)據庫編程實例》. 清華大學出版社,2002年8月:30-210</p><p>  [5]LEE ANNE PHILLIPS.《巧學活用HTML4》.電子工業(yè)出版社,2004年8月:1-319</p><p>  [6

108、]飛思科技產品研發(fā)中心.《JSP應用開發(fā)詳解》.電子工業(yè)出版社,2003年9月:32-300</p><p>  [7]耿祥義,張躍平.《JSP實用教程》. 清華大學出版社,2003年5月1日:1-354</p><p>  [8]孫涌.《現(xiàn)代軟件工程》.北京希望電子出版社,2003年8月:1-246 </p><p>  [9]薩師煊,王珊.《數(shù)據庫系統(tǒng)概論》.高

109、等教育出版社,2002年2月:3-460</p><p>  [10]Brown等.《JSP編程指南(第二版)》. 電子工業(yè)出版社 ,2003年3月:1-268 </p><p>  [11]清宏計算機工作室.《JSP編程技巧》. 機械工業(yè)出版社, 2004年5月:1-410 </p><p>  [12]朱紅,司光亞.《JSP Web編程指南》.電子工

溫馨提示

  • 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

提交評論