




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
II圖書管理系統的設計與實現目錄TOC\o"1-3"\h\u117491緒論 1204661.1開發背景 140301.2研究目的及意義 1212351.3論文組織結構 1256582系統分析 3142442.1可行性分析 381492.1.1社會與經濟可行性 359902.1.2技術可行性 3230342.2需求分析 3105822.2.1管理員登錄 3320412.2.2讀者登錄 4262163相關技術介紹 5156663.1Java語言 5325613.2SSM框架 5113433.3MyBatis 5146073.4Spring 5200173.5MySQL數據庫 5137203.6系統開發及運行環境 6164314系統設計 7323724.1模塊劃分 721084.2數據庫E-R圖 7166514.3數據庫表的設計 8267115系統實現 11165665.1系統功能 11170275.2管理員功能 11315645.3讀者功能 16147416系統測試 2169786.1登錄測試 21238926.2查詢測試 21275846.3借書還書測試 21257966.4禁用測試 21261936.5修改信息測試 21203676.6測試用例 22284397總結 2420454參考文獻 251緒論1.1開發背景圖書是人們獲取信息、獲取知識的主要方式。隨著社會的發展,人們對圖書的需求越來越大,圖書館藏書數量也大大增加,但是傳統的人工管理圖書的方式浪費人力物力資源,一方面對管理員來說關于圖書借閱情況如借閱天數、是否按時歸還等信息數量龐大,查詢起來比較麻煩,由于沒有高效的處理信息的方式所以管理員不能及時了解圖書借還方面的這些信息,而且對于經常不按時歸還圖書的讀者也沒有比較好的約束措施。另一方面對讀者來說到館查詢書籍想要的書不能短時間內找到,大大降低了工作效率。與此同時計算機技術不斷發展并逐漸應用到工作生活的各個角落,在為人們提高了工作效率的同時,又帶來了很大的便利。如超市里的管理系統、學校中的教務系統及很多公司所使用的員工管理系統和上下班打卡系統等。因此必須設計一個操作簡單、行之有效且易于維護的圖書管理系統,既能使讀者足不出戶便能獲得詳細的書籍信息,提高資源利用率,又能為圖書管理者提供便于更新和維護的圖書管理工具。1.2研究目的及意義雖然一些大型圖書館已經有了比較完整的管理系統,但是在某些高校和小型圖書館仍然采用傳統的圖書管理方式,而過去陳舊的圖書管理模式給讀者和圖書管理者在操作上帶來了很多的不便利。因此開發一個成本低又穩定的系統來實現圖書的規范化管理和提高閑置圖書的利用率對合理利用信息資源有著重要意義。其次可以使讀者獲得更好的閱讀體驗,提高了圖書館的服務質量,對促進圖書管理方式的變革有著重要意義。研究調查發現很多讀者借書之后都沒有按期歸還的習慣,而很多圖書館都沒有采取一些可以減少此類事件的發生的措施。本系統為圖書管理員賦予了禁止讀者借閱的權限,這樣的懲罰機制可以對一些沒有良好的借書習慣的讀者起一定的約束作用,使圖書能夠物盡其用。此外本系統為讀者增設的留言板功能可以使圖書館及時了解讀者的需求,不斷完善圖書館的服務制度和服務流程。本系統界面簡介清晰,比較易于操作,圖書封面用Java從當當網上爬取,使用戶在查詢書籍時能獲得更良好的視覺體驗。1.3論文組織結構本文章的第二章通過實地調查研究和網上查閱文獻,對開發本圖書館管理系統做出了包括經濟和技術兩方面的可行性分析,并通過對系統的需求分析把系統功能分為管理員功能、讀者功能兩個主要部分。本文章的第三章對基于Java語言的圖書管理系統所用到的Java語言、SSM框架、MySQL數據庫等做出了介紹。本文章的第四章根據需求將系統的登錄權限進行劃分,繪制了系統總體功能圖、E-R圖以及后臺數據庫詳細設計表。本文章的第五章介紹了圖書管理系統的一些基本功能,主要對管理員和讀者分別實施了哪些功能做出介紹。本文章的第六章運用軟件測試中黑盒測試的方法對系統的登錄功能、查詢功能、禁用功能、借書功能和還書功能進行了測試。本文章的第七章總結了本文的研究重點和在研究項目時的收獲,并對以后的研究工作做出了展望。2系統分析2.1可行性分析2.1.1社會與經濟可行性在項目設計前期通過實地調查和網絡查閱資料了解到,圖書館書籍數量龐大、人員流動量大,管理者工作內容繁瑣且操作頻率高,管理起來是非常復雜的,效率是非常低的,所以應用管理系統來管理書籍和人員是非常必要的。現如今有很多開源免費的服務器和軟件供人使用,因此本項目的開發僅需要一臺配置好開發環境的電腦就可以完成,并不需要花費過多的資金,開發僅用瀏覽器就能登錄并使用的圖書管理系統在經濟上是完全可行的。2.1.2技術可行性本系統采用的是SSM框架,SSM框架是目前比較流行的框架,它的成本很低,并且具有高效率的優點。典型的三層MVC結構(模型,展示層,控制層)使開發人員在遇到復雜問題時可以降低重新開發的風險。其次系統用MySQL這一小型的關系型數據庫來存儲數據,節省了內存空間。最后,本系統運行在Tomcat服務器上,Tomcat服務器具有安全性強、運行時所占用的內存小的優點。以上技術成熟且易于上手,是本人在本科期間認真學習并掌握了的,所以開發本系統在技術上是可行的。2.2需求分析通過調查研究了解到本系統所面向的用戶可分為管理員和讀者兩類,且兩類用戶都必須使用賬號密碼登錄才能訪問系統,提高了系統的安全性。管理員和讀者登錄后所能看到的頁面不同,權限等級也不相同。以下主要介紹管理員和讀者兩類用戶的兩大模塊。2.2.1管理員登錄管理員使用固定的賬號和密碼登錄系統有如下幾個功能:(1)圖書管理:管理員可查看全部圖書和圖書詳情,并且能夠對圖書詳情進行編輯以修正一些錯誤的信息,對于一些無庫存的圖書還可以選擇“下架”書籍,即用刪除功能把圖書刪除;圖書“上新”即增加圖書功能,輸入圖書名、作者、出版社、ISBN、圖書簡介、語言、價格、出版日期和圖書數量來進行圖書添加。(2)讀者管理:讀者管理頁面可顯示全部讀者的基本信息,比如讀者的讀者號、姓名、性別、生日、地址和聯系方式。很多圖書館都沒有制定針對未及時歸還圖書的讀者的規則,而本系統中管理員可以編輯讀者信息和直接刪除讀者,此外在讀者的借閱日志中搜索讀者號就能查詢此讀者的全部借閱信息,對于借書時間超過了期限的讀者可以選擇禁用此讀者的借閱功能。總之,智能化的管理減少了很多不必要的麻煩。(3)借還日志:此頁面顯示每個用戶的圖書借還情況,有讀者號和借出借還時間,可搜索讀者號來查詢某一讀者的借閱日志。(4)密碼修改:管理員可對登錄密碼進行修改,要求輸入舊密碼和新密碼,并且兩次新密碼一致才能修改成功。(5)公告發布:管理員可以發布最新公告如開館閉館時間的調整、放假通知等。2.2.2讀者登錄頁面首頁有登錄和注冊功能,讀者使用賬號密碼登錄系統后有如下幾個功能:(1)圖書查詢:讀者可根據圖書名對圖書進行檢索,并查看圖書簡介圖書封面圖書作者等信息,對于有余量的圖書可直接點擊借閱,借閱后按鈕由“借閱”變為“歸還”,讀者在規定時間內歸還即可。(2)個人信息:讀者可查看自己的“借閱證”,也就是個人信息,還可以對自己的個人信息進行修改。(3)留言板:讀者可以向圖書館及管理者提出一些建議,管理員登錄后能在后臺查看讀者建議,可以提高圖書館的服務質量。(4)我的借還:讀者查看自己的借書還書記錄記錄和借還狀態以明確是否已歸還圖書、是否應歸還圖書。未歸還的圖書會顯示“未歸還”。(5)修改密碼:此功能與管理員修改密碼的功能類似,輸入舊密碼及兩次輸入新密碼一致時才能成功修改密碼,否則無法修改密碼。3相關技術介紹3.1Java語言Java是當今最為常用的編程語言之一,它與C語言非常相似,學習過C語言后掌握Java語言并不困難,但是在Java語言中放棄了很多C語言中不好理解的理論,如指針這一概念,這使得Java語言比起C語言擁有了簡單易用的優點。3.2SSM框架SSM即Spring+SpringMVC+MyBatis,Spring框架和MyBatis框架整合而成了SSM框架集,是目前應用比較廣泛的框架,用SSM框架可以使Web項目的搭建流程更加清晰明了。3.3MyBatisMyBatis作為基于Java的持久層框架,是很優秀的。在我們使用JDBC來訪問數據庫時會有很多冗余的代碼,而MyBatis免除了幾乎所有的JDBC代碼、設置參數和獲取結果集這些繁瑣的工作。簡單來說MyBatis框架可以幫助我們管理數據庫的增刪改查。MyBatis框架還具有如下幾個優點:(1)MyBatis小且簡單,與JDBC相比,沒有那么多不需要的代碼。(2)MyBatis與各種數據庫兼容。由于MyBatis通過JDBC來連接數據庫的,因此MyBatis可以兼容JDBC支持的所有數據庫。(3)MyBatis不會影響應用程序或數據庫的現有設計。傳統方式訪問數據庫時sql語句在程序中是寫死的,如果要修改sql語句,那么就得重新對類進行編譯,而MyBatis框架是將sql語句寫在單獨的xml文件里,修改sql語句時只需要修改這個文件就可以了,這樣就方便對程序進行統一的管理和優化、提高程序的效率。3.4SpringSpring是一個輕量級的開源框架,用少量的代碼就能啟動,它不僅可以用于服務器端的開發,還能更好地讓其他框架整合。SpringMVC是Spring的一個子模塊,開發時可以將Java類都交給它來管理,有了這個機制我們就不用在每次使用這個類的時候為他初始化,有效降低代碼的耦合度,方便了項目后期的維護、升級和擴展。3.5MySQL數據庫MySQL數據庫是一種關系型數據庫,屬于輕量級數據庫。具有運行速度快、復雜程度低、容易使用和免費的特點。MySQL數據庫還十分小巧,可以節省很多內存空間。MySQL數據庫另一個優點是沒有用戶數的限制,是完全網絡化的,其數據庫可在網上任何地方訪問,因此可以和任何地方的人共享數據庫。而且MySQL數據庫還能進行訪問權限的控制,可以控制哪些人不看到自己的數據庫。3.6系統開發及運行環境(1)瀏覽器:MicrosoftEdge、FireFox(2)服務器:Tomcat9.0(3)數據庫:MySQL8.0(4)開發工具:IntelliJIDEA2020、Navicat(5)核心開發框架:Spring、SpringMVC、MyBatis4系統設計4.1模塊劃分根據調查分析可將系統分為兩個主要模塊,每個模塊完成不同的功能,具體模塊與功能如圖4-1所示:圖4-1總體功能圖4.2數據庫E-R圖E-R圖也就是實體關系圖,描述了表與表之間的關系,使系統結構更加清晰明了,具體如圖4-2所示:圖4-2數據庫E-R圖4.3數據庫表的設計數據庫表示存放數據的地方,遵循一定的規律設計的數據庫表才能進行數據讀取,方便數據管理。設計數據庫表能夠節省數據的存儲空間,防止數據管理異常,確保數據的完整性并方便進行數據庫應用系統的開發。數據庫設計不好則會導致數據存在大量冗余、浪費存儲空間,還會導致對數據進行增刪改查時顯示異常,這會大大降低數據訪問效率。因此,設計一個好的數據庫在開發應用系統時是非常重要且必要的。本系統的數據庫表包含圖書信息表(book_info)、圖書分類表(class_info)、管理員表(admin)、讀者借閱信息表(lend_info)、借閱信息表(reader_card)、讀者個人信息表(reader_info)以及公告表(notice)。1.圖書信息表(book_info)該表包括圖書的編號、圖書作者、圖書名、國際標準書號、圖書出版社和簡介等,具體設計如下表4-1所示:表4-1圖書信息表(book_info)字段名數據類型長度Null描述主鍵book_idint20N圖書編號Ybook_authorvarchar20N作者Nbook_namevarchar20N書名NISBNvarchar20N標準書號Npublishvarchar50N出版社Nintroductiontext0Y簡介Nlanguagevarchar4N語言Npricedecimal10N價格Nclass_idInt10Y類型Npublish_datedata0N出版日期Nnumberint11Y余量N2.圖書分類表(class_info)該表包括圖書類別號、類別名,具體設計如表4-2所示:表4-2圖書分類表(class_info)字段名數據類型長度Null描述主鍵class_idint10N類別號Yclass_namevarchar15N類別名N3.管理員表(admin)該表包括管理員登錄時的賬號、密碼等,具體設計如下表4-3所示:表4-3管理員表(admin)字段名數據類型長度Null描述主鍵admin_idint20N賬號Yadmin_passwordvarchar15N密碼Nusernamevarchar15N用戶名N4.讀者借閱信息表(lend_info)此表所存儲的是讀者的借閱信息,包括所借圖書號、借出日期和歸還日期等,具體設計如下表4-4所示:表4-4信息借閱表(lend_info)字段名稱數據類型長度Null描述主鍵se_numbigint20N流水號Ybook_idint20N圖書號Nreader_idint20N讀者號Nlend_datedate0Y借出日期Nback_datedate0Y借還日期N5.借閱卡信息表(reader_card)該表存儲了讀者的讀者證號,登錄時的用戶名、密碼等信息,具體如下表4-5所示:表4-5借閱卡信息表(reader_card)字段名數據類型長度Null描述主鍵reader_idint20N讀者號Yusernamevarchar15N用戶名Npasswordvarchar15Y密碼N6.讀者信息表(reader_info)該表主要包括讀者的讀者號、姓名、性別、生日、地址和聯系方式等,具體設計如下表4-6所示:表4-6讀者信息表(reader_info)字段名數據類型長度Null描述主鍵reader_idint20N讀者號Ynamevarchar10N讀者姓名Nreader_birthdate0N出生日期Nsexvarchar2N性別Naddressvarchar50N通訊地址Nphonevarchar15N聯系電話N7.公告表(notice)該表主要包括通知的序號、通知發布者和通知的內容,具體如下表4-7所示:表4-7公告表(notice)字段名數據類型長度Null描述主鍵notice_idint20N通知序號Yadmin_idvarchar15N發布者Nwordstext0N發布內容N5系統實現5.1系統功能1.登錄功能:用戶輸入正確的賬號和密碼后能成功登陸,與后臺數據庫匹配賬號密碼,根據不同的賬號密碼來判定用戶的身份以分配不同的權限。圖5-1登錄界面圖如果賬號和密碼有一個輸入錯誤則會提示賬號或密碼錯誤,如圖5-2所示:圖5-2密碼錯誤圖5.2管理員功能1.查看書籍信息圖書管理員登錄頁面之后可以查看全部書籍及書籍的信息,如圖5-3所示:圖5-3圖書顯示頁面2.圖書簡介點擊詳情可以看到完整的圖書信息,封面、簡介等。如圖5-4所示:圖5-4圖書詳情頁面3.編輯圖書管理員具有編輯圖書信息的權限,如圖5-5所示:圖5-5編輯圖書頁面4.增加圖書管理員對圖書進行上新,即輸入圖書信息增加圖書,如下圖5-6所示:圖5-6增加圖書頁面5.查看讀者管理員可查看全部讀者信息,并可選擇對未及時歸還圖書的讀者采取禁用的懲罰措施。如圖5-7所示:圖5-7查看全部作者頁面6.添加讀者管理員可以有添加讀者的權限,如圖5-8所示:圖5-8添加讀者頁面7.查看借還日志、修改讀者信息管理員可修改讀者信息、查看讀者的借還情況,輸入讀者號可查看某一讀者的借還情況。如圖5-9、5-10、5-11所示:圖5-9編輯讀者信息頁面圖5-10查看借還日志頁面圖5-11搜索讀者借還日志頁面8.發布公告管理員可以在后臺發布公告并顯示到讀者系統的首頁中,如圖5-12所示:圖5-12發布公告頁面9.查看讀者留言管理員點擊消息管理一欄可查看讀者的留言信息,如圖5-13所示:圖5-13查看讀者留言頁面5.3讀者功能1.登錄注冊讀者輸入正確的賬號密碼進入系統,如果沒有賬號,可進行注冊,如圖5-14所示:圖5-14讀者注冊頁面2.查詢圖書讀者登錄系統后可根據書名和作者來查詢想要的書籍,如圖5-15、5-16所示:圖5-15按書名來查詢圖書頁面圖5-16按作者查詢圖書頁面3.圖書借閱讀者點擊借閱按鈕,未被禁止租借則會顯示成功借閱,如被禁止借閱則會無法借書,且系統提示“您被禁止租借”,如圖5-17、5-18所示:圖5-17被禁止租借頁面以下是用來實現禁止借閱的代碼:publicStringbookLend(HttpServletRequestrequest,RedirectAttributesredirectAttributes){
longbookId=Long.parseLong(request.getParameter("bookId"));
longreaderId=((ReaderCard)request.getSession().getAttribute("readercard")).getReaderId();
intstatus=((ReaderCard)request.getSession().getAttribute("readercard")).getStatus();
if(status!=2){
lendService.lendBook(bookId,readerId);
redirectAttributes.addFlashAttribute("succ","圖書借閱成功!");
}else{
redirectAttributes.addFlashAttribute("error","您被禁止租借!");
}
return"redirect:/reade_books.html";
}圖5-18借閱成功頁面4.查看公告登錄后管理員發布的公告會在讀者首頁上顯示,如圖5-19所示:圖5-19查看公告頁面5.發布留言讀者可在首頁上發布對圖書館的建議,如圖5-20所示:圖5-20發表建議頁面6.修改密碼讀者可以修改自己的密碼,以保證賬戶安全,如圖5-21所示:圖5-21修改密碼頁面6系統測試為了保證基于Java語言的圖書管理系統的可用性和安全性,系統是一個不能忽略的步驟。系統測試的目的是找出開發系統時所產生的錯誤,然后去解決。測試方法有靜態測試、動態測試、白盒測試和黑盒測試等等。由于本文采用的是黑盒測試方法,所以接下來簡單介紹一下黑盒測試,其他測試方法就不再一一介紹。黑盒測試也就是功能測試,通過測試來檢驗系統的每個功能是否都正常可用。黑盒測試就是在我們不了解系統內部結構和代碼的條件下,以用戶的視角來登錄系統,點擊系統中的各個功能看看是否都能正常使用,使系統更加完善以滿足用戶需求。下面主要對登錄功能、查詢功能、圖書借還功能、禁用功能、修改信息功能做出了測試。6.1登錄測試在登陸界面輸入用戶名和密碼,用戶名密碼輸入正確后才能進入系統,否則會有提示信息。測試結果:與預期結果一致。6.2查詢測試在圖書查詢框里根據書名或作者搜索書籍,會顯示相關書籍。測試結果:與預期結果一致。6.3借書還書測試用戶點擊借閱,成功借閱后會提示“借閱成功”,點擊“歸還后”則會提示圖書已成功歸還。用戶被禁用后再借閱會提示“您已被禁止租借”。測試結果:與預期結果一致。6.4禁用測試管理員對用戶列表某一用戶點擊禁用,則該用戶只能登錄系統、搜索書籍等,不能借書。測試結果:與預期結果一致。6.5修改信息測試讀者可修改自己資料卡注冊時預留的登記信息,管理員可修改讀者的資料卡。測試結果:與預期結果一致。6.6測試用例本文所用到的測試用例如下表6-1、6-2所示:表6-1管理員模塊測試用例測試用例測試流程預期的結果實際的結果結論登錄測試用例管理員進入系統輸入正確的用戶名和密碼便成功登錄成功登錄后跳轉到管理員的功能頁面管理員登錄成功跳轉到管理員頁面用戶登錄成功跳轉到管理員頁面測試通過查詢測試用例在查詢框輸入書籍名后點擊查詢在查詢框輸入作者名后點擊查詢查詢到該書籍查詢到該作者的所有書籍查詢到該書籍查詢到作者的所有書籍測試通過禁用測試用例(1)管理員在用戶列表界面點擊禁用(1)禁用成功(1)禁用成功測試通過表6-2讀者模塊測試用例測試用例測試流程預期結果實際結果結論登錄測試用例(1)讀者打開系輸入正確的用戶名和密碼即可成功登錄(2)成功登錄后跳轉到讀者的功能頁面(1)讀者登錄成功(2)跳轉到讀者頁面(1)讀者登錄成功(2)跳轉到讀者頁面測試通過查詢測試用例(1)在查詢框輸入書籍名后點擊查詢(2)在查詢框輸入作者名后點擊查詢(1)查詢到該書籍(2)查詢到該作者的所有書籍(1)查
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童疫苗接種后的注意事項與常見反應
- 【教學案例】店鋪裝修設計之專題頁策劃
- 表一行政執法主體統計表
- 2025屆湖南省邵陽市新邵縣高一化學第二學期期末調研試題含解析
- 江西省景德鎮市2024-2025學年高一下學期6月期末質量檢測政治試卷(含答案)
- 2024-2025高一政治第二學期期中考試試卷(初稿)
- 小服裝店開業活動方案
- 岱山元宵節活動方案
- 小學音樂試講活動方案
- 工地五四活動方案
- 四川省成都市蓉城聯盟2024-2025學年高一下學期6月期末考試物理試題(含答案)
- 壓軸訓練:全等三角形(多解、動點、新定義型壓軸)(原卷版)
- 2025年全國新高考II卷高考全國二卷真題英語試卷(真題+答案)
- 江蘇省揚州市2023-2024學年高一下學期6月期末 英語試卷(含答案無聽力)
- 2025年安慶望江縣融媒體中心專業技術人員招聘考試筆試試題(含答案)
- 浙江省溫州市樂清市2022-2023學年五年級下學期6月期末科學試題
- 2025年中國城市禮物發展白皮書
- 2024年陜西省西安市初中學業水平模擬考試地理試卷
- 口腔門診放射管理制度
- cpsm考試試題及答案
- T/CCS 075-2023煤礦柔性薄噴材料噴涂施工技術要求
評論
0/150
提交評論