【《基于Java的社區(qū)圖書管理系統(tǒng)的設計》14000字(論文)】_第1頁
【《基于Java的社區(qū)圖書管理系統(tǒng)的設計》14000字(論文)】_第2頁
【《基于Java的社區(qū)圖書管理系統(tǒng)的設計》14000字(論文)】_第3頁
【《基于Java的社區(qū)圖書管理系統(tǒng)的設計》14000字(論文)】_第4頁
【《基于Java的社區(qū)圖書管理系統(tǒng)的設計》14000字(論文)】_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

——1引言隨著互聯網時代的到來,當今社會關注的焦點也包含著不斷涌現于人們生活里及各個不同領域中的“共享經濟”,它不僅作為移動互聯網的產物也已經成為社會服務體系中很重要的一股力量,有許多新技術與新媒體的出現也都促進著共享經濟的興起REF_Ref31880\w\h。并且在當今知識經濟時代,生活水平的提高讓人們對知識的需求也不斷地增長,知識對人們來說是生活的必需品,知識與每個人的生存也息息相關,為此人們會去購買很多自己想要閱讀的紙質書籍以獲取更多資訊。但是互聯網的高效與便捷也在不斷地對這些紙質圖書資源造成沖擊,如碎片化時間被手機占領,越來越多的人會更喜歡在電子設備上閱讀電子書籍;也有很多人因為一時沖動去購買了很多書籍結果買回來翻了幾頁就不再感興趣了。有許多現象都表明大量的紙質圖書資源將會被閑置,因此為了解決這個問題,開發(fā)設計一個免費、便捷的社區(qū)圖書管理系統(tǒng)顯得尤為重要,它可以把傳統(tǒng)的紙質閑置圖書和互聯網思維融合起來,并與當下熱門的共享經濟相結合,通過實行圖書共享的機制來打破當今社會下傳統(tǒng)紙質圖書發(fā)展的瓶頸,這個系統(tǒng)不僅能夠滿足用戶之間的圖書資源共享需求,還能在各種功能和性能上也更好的滿足用戶的體驗[1]。在“互聯網+”的背景下網絡用戶迅速膨脹,計算機技術在不斷發(fā)展以及近兩年共享經濟的興起都說明著利用互聯網技術在多個領域的應用必須不斷擴展開來,也正是因為共享經濟的崛起讓圖書的共享正式拉開了序幕。畢竟在日常生活中,每個人手頭上都有著不少好書閑置著,有的束之高閣、有的不再去翻閱,還有的像廢紙一樣論斤賤賣最終變成了紙漿,所以針對社區(qū)用戶打造功能強大的社區(qū)圖書管理系統(tǒng)這個課題具有十分重要的研究意義。此系統(tǒng)在共享經濟的理念下利用互聯網技術來開發(fā)的,它能讓閑置圖書被賦予新的使命,能夠高效實現圖書管理的規(guī)范化,能實現閑置圖書資源的回收再利用,還能實現用戶之間的互相共享、互利互惠。不僅僅是為了讓資源高效流通起來,這更是文化價值無聲的傳遞,大家能提升自己精神文化營養(yǎng)、豐富自己的知識儲備[2]。

2系統(tǒng)需求分析2.1系統(tǒng)可行性分析(1)在技術方面:本系統(tǒng)開發(fā)是基于JAVA語言和MySQL數據庫的,還采用了JAVA常用的Spring框架,網頁總體布局及樣式基于HTML5和CSS3技術去進行設計的,在這基礎上使用了intellijidea此開發(fā)工具來完成數據庫的連接及一系列的操作。系統(tǒng)人員在開發(fā)之前已經對這些技術深入研究,也具備了一定的能力去設計和實現該系統(tǒng),所以在技術方面來說是可行的[3]。(2)在經濟方面:一個系統(tǒng)的開發(fā)也要考慮到成本問題,隨著現今科學技術的進步與發(fā)展,計算機硬件性能也在不斷提升,該系統(tǒng)的開發(fā)是可以在Windows系統(tǒng)中任意版本操作進行的,極大程度節(jié)省了在硬件方面的費用。并且開發(fā)和管理費用都很低,每天的維護和更新都很簡單,所以在經濟方面來說是可行的[4]。(3)在操作方面:現今互聯網的飛速發(fā)展,喜歡在網上沖浪的選手也越來越多,大家生活在這種環(huán)境下都能夠很快的上手操作各種軟件或系統(tǒng)。而該系統(tǒng)的界面設計簡潔明了,各項操作也都很簡單,對于使用者和后臺管理員來說都是能夠很方便的去使用此系統(tǒng)的功能,所以在操作方面來說是可行的[5]。2.2用戶需求分析(1)用戶注冊:社區(qū)用戶進入該系統(tǒng)首頁想要獲得更多功能需要先給自己注冊一個帳號,填寫相關信息注冊成功后,數據會傳輸到后臺管理員那邊進行審核。(2)審核登錄與注銷:給用戶設置一個審核帳號機制,后臺管理員審核信息成功后用戶才可以登錄自己的帳號,也會擁有自己的個人用戶中心頁面。用戶也可以選擇登錄之后使用完用戶中心的功能,然后注銷退出自己的帳號。(3)查看共享圖書列表與詳細信息:用戶可以在前臺查看社區(qū)用戶共享出來的圖書列表以及圖書的各類信息,如圖書名稱、類別、簡介、現有庫存數量等,點擊任何一本圖書的名稱還能顯示該本圖書的相關詳情頁介紹界面[6]。(4)查看個人資料:登錄后用戶可以進入自己的用戶中心界面,查看自己的個人資料,個人資料包含了用戶注冊時所填寫的信息,但個人密碼不會展示。(5)借閱共享的圖書:在前臺的圖書列表中瀏覽完相關共享圖書的信息后,用戶可以進入個人用戶中心里面的圖書共享記錄列表中,點擊“借閱”按鈕去借閱該系統(tǒng)上共享者所共享出來的圖書。(6)查看已借閱的圖書:用戶借閱完共享圖書后,自己所借閱的圖書信息將會展示在已借閱的圖書列表中,此時右邊會出現有關圖書的借閱狀態(tài),也就是圖書“是否歸還”的按鈕。(7)歸還圖書功能:還書的功能是指當用戶在該系統(tǒng)用戶中心界面的已借閱圖書列表中完成還書操作時,系統(tǒng)將產生一個“未歸還”的狀態(tài)按鈕,等借閱者(該用戶)確認圖書已經歸還的情況下,還書記錄的狀態(tài)就會變成“已歸還”REF_Ref1508\w\h[11]。2.3管理員需求分析(1)權限指派:只有一個超級管理員才有權限訪問后臺管理界面并進行管理。(2)登錄:管理員可以通過管理員名稱和密碼進入到自己的后臺管理界面。(3)用戶管理:用戶注冊成功后,相關注冊信息會顯示在后臺的“用戶管理”界面,管理員檢查用戶所注冊的資料并對其進行審核,若用戶使用不當的注冊信息管理員可以不進行審核,同時也可以將未被審核的用戶進行刪除,則該用戶必須重新注冊一個新賬號。(4)共享圖書類型管理:管理員可以先在后臺添加圖書類型為后續(xù)更好的給共享圖書進行歸類,添加成功后點擊“共享圖書類型管理界面”即可瀏覽圖書類型的列表,還可以對這些圖書類型進行編輯和刪除操作。(5)共享圖書信息管理:管理員收集完社區(qū)用戶提供的共享書籍后,可以在“共享圖書信息管理”界面進行圖書的添加上傳,并將其詳細信息展示于前臺供用戶查看。同時管理員也可以在后臺查看所添加的圖書信息列表并進行編輯信息和刪除圖書。(6)圖書共享記錄管理:管理員可以進入“共享圖書記錄管理”界面添加哪本圖書是由社區(qū)里的哪位用戶提供出來分享的,添加成功后數據會傳送到前臺用戶中心的共享記錄列表中,管理員也能對共享圖書記錄列表進行編輯和刪除操作。3數據庫設計3.1概念設計3.1.1實體根據觀察需求分析的結果,發(fā)現本社區(qū)圖書管理系統(tǒng)的主要實體有:用戶(社區(qū)用戶)、角色、圖書(所共享的圖書)、圖書類型、管理員(超級管理員)。3.1.2E-R圖為了建立概念模型,本社區(qū)圖書管理系統(tǒng)采用的是E-R圖模型,它也稱為實體-聯系圖。它可以很直觀的表現出本系統(tǒng)中各個對象的屬性以及它們之間存在的聯系。E-R圖中用矩形框、橢圓圖框、菱形框來分別代表實體型、實體的屬性、實體型之間的聯系成因,如果它們之間有著相應的關系就可以利用實心線段來進行連接,同時在線旁邊標上聯系的類型(1:1一對一、1:n一對多、m:n多對多)。圖3-1系統(tǒng)E-R圖如圖3-1所示,為本社區(qū)圖書管理系統(tǒng)的E-R圖。從圖3-1中可知,角色和管理員是一對一關系;管理員和用戶是一對多關系,管理員和圖書是一對多關系,圖書類型和圖書是一對多關系;圖書和用戶之間是多對多關系。3.1.3實體屬性(1)管理員:管理員實體集的屬性包含管理員編號、管理員名稱、密碼、超級管理員、角色編號、添加時間。管理員根據輸入管理員名稱和密碼去進行后臺管理的登錄;管理員屬于角色,它們是一對一關系,也就是說先將一個角色添加到數據庫后能夠去添加一個管理員,本系統(tǒng)的這個管理員就是超級管理員,擁有權限管理所有后臺功能;添加時間表示添加該管理員的時間。具體如圖3-2所示:圖3-2管理員屬性E-R圖(2)角色:角色實體集的屬性包含角色編號、角色名稱、權限列表、添加時間。具體如圖3-3所示:圖3-3角色屬性E-R圖(3)用戶:用戶實體集的屬性包含用戶編號、用戶名稱、地址、手機號、密碼、用戶頭像、狀態(tài)、添加時間。其中名稱、地址、頭像、密碼、手機號為用戶注冊時所需要填寫的信息,其中的狀態(tài)為管理員對用戶注冊成功后的審核狀態(tài),只有通過審核的用戶才能用注冊時填寫的用戶名稱和密碼進行前臺的登錄;添加時間表示該用戶完成注冊的時間。具體如圖3-4所示:圖3-4用戶屬性E-R圖(4)圖書類型:圖書類型實體集的屬性包含類型編號、類型名稱、類型簡介、添加時間。具體如圖3-5所示:圖3-5圖書類型屬性E-R圖(5)圖書:圖書實體集的屬性包含書籍編號、書籍名稱、(庫存)數量、圖書圖片、簡介、類型編號、添加時間。圖書類型和圖書是一對多關系,也就是一種圖書類型里面可以包含多本不同的書籍;而管理員和圖書是一對多關系,也就是該名管理員可以在后臺管理界面對多本圖書進行管理,例如對圖書的書籍名稱、數量、圖片、簡介和類型這些信息進行管理。具體如圖3-6所示:圖3-6圖書屬性E-R圖(6)共享:用戶與圖書之間存在共享聯系,可以把共享當成一個實體集單獨分析。共享實體的屬性包含共享編號、用戶編號、書籍編號、添加共享時間。用戶和圖書存在多對多關系,也就是一本書籍可以被多名用戶拿出來進行共享,一名用戶也可以共享多本書籍出來給大家。而管理員有權限管理這個共享,管理員每添加一次共享記錄就會有專屬的共享編號,記錄中會出現書籍編號和用戶編號,即哪本圖書是由哪位用戶所共享的。具體如圖3-7所示:圖3-7共享屬性E-R圖(7)借閱:用戶與圖書之間的存在借閱聯系,可以把借閱當成一個實體集單獨分析。借閱實體的屬性包含借閱編號、用戶編號、共享書籍編號、借閱時間、狀態(tài)。用戶和圖書存在多對多關系,也就是一本書籍可以被多名用戶借閱,一名用戶也可以借閱多本書籍。用戶登錄后可以在用戶中心的共享圖書記錄里對那些被其他用戶共享出來的圖書進行借閱;而狀態(tài)就是該圖書的借閱狀態(tài)(所借閱的圖書是否歸還)。具體如圖3-8所示:圖3-8共享屬性E-R圖3.2數據庫邏輯設計3.2.1管理員表管理員信息表(數據庫中表名admin)如表3-1所示,表中存放著管理員的相關信息:如管理員編號(id)、管理員名(name)、管理員密碼(password)、超級管理員(is_super)、角色編號(role_id)、管理員的添加時間(addtime)。其中屬性id為主鍵,用來表示一個特定的行,是管理員的唯一標識,不能為空,設置主鍵自增長就是不需要我們去設置該id,讓數據庫去自動增加編號去確保生成id的唯一性;屬性name為唯一鍵,把管理員名稱設置成唯一的,避免名稱的重復且值不能為空;屬性role_id為外鍵,與角色表(role)有著關聯設定。表3-1管理員表實體屬性表字段數據類型字段長度備注管理員編號idint11主鍵、非空、自增管理員名稱namevarchar80唯一鍵,非空密碼passwordvarchar256非空超級管理員is_superint11非空角色編號role_idint11外鍵(參考角色role表),非空添加時間addtimedatetime非空3.2.2角色表角色信息表(數據庫中表名role)如表3-2所示,存放著角色的相關信息:角色編號(id)、角色名稱(name)、權限列表(auth)、添加時間(addtime)。其中屬性id為主鍵,同理這也是角色的唯一標識且值不為空,id能自動增加;屬性name為唯一鍵,設置唯一的角色名稱來避免名稱重復出現,不能為空。屬性Auth表示權限列表,當后臺有多位管理員,有些功能是一些管理員沒辦法使用的,出于安全考慮這也是對部分管理員(一般管理員)的權限進行限制的設定。表3-2角色表實體屬性表字段數據類型字段長度備注角色編號idint11主鍵、非空、自增角色名稱namevarchar255唯一鍵,非空權限列表authvarchar255非空添加時間addtimedatetime非空3.2.3用戶表用戶信息表(數據庫中表名user)如表3-3所示,存放著用戶的相關信息:用戶編號(id)、用戶名稱(name)、用戶地址(address)、用戶手機號(telephone)、用戶密碼(password)、用戶頭像(img)、用戶狀態(tài)(state)、用戶的添加時間(addtime)。其中屬性id為主鍵,是用戶的唯一標識,int類型且非空自動增加;屬性name為唯一鍵,為了避免用戶名重復,varchar類型;屬性state為管理員對用戶的審核狀態(tài),default=0設定為管理員還沒有審核,default=1設定為管理員已經審核。通過審核的用戶才可以進行登錄并且可以進入到前臺的個人用戶中心。表3-3用戶表實體屬性表字段數據類型字段長度備注用戶編號idint11主鍵、非空、自增用戶名稱namevarchar255唯一鍵,非空地址addressvarchar255非空手機號telephonevarchar255非空密碼passwordvarchar256非空用戶頭像imgvarchar255非空狀態(tài)stateint11默認狀態(tài)為0、default=0設定為沒有審核、default=1設定為已審核添加時間addtimedatetime非空3.2.4圖書類型表圖書類型信息表(數據庫中表名booktype)如表3-4所示,存放著圖書類型的相關信息:類型編號(id)、類型名稱(name)、類型簡介(info)、類型添加時間(addtime)。其中屬性id為主鍵,id自動增加,數據類型為int且最大顯示寬度為11,屬性name和info的varchar是可變長度的字符類型,字段長度255。表3-4圖書類型表實體屬性表字段數據類型字段長度備注類型編號idint11主鍵、非空、自增類型名稱namevarchar255唯一鍵,非空實體屬性表字段數據類型字段長度備注簡介infovarchar255非空添加時間addtimedatetime非空3.2.5圖書表圖書信息表(數據庫中表名book)如表3-5所示,存放著圖書類型的相關信息:類型編號(id)、類型名稱(name)、類型簡介(info)、類型添加時間(addtime)。其中屬性id為主鍵也是書籍的唯一標識,設置int類型并且自增長;屬性name為唯一鍵也就是用來避免書籍的名稱重復,值不為空。屬性booktype_id為外鍵,與圖書類型表(booktype)有著關聯設定,想要知道這本書的是屬于哪個類型的,就需要從booktype表中來獲取圖書類型的id,外鍵起著一個約束作用。表3-5圖書表實體屬性表字段數據類型字段長度備注書籍編號idint11主鍵、非空、自增書籍名稱namevarchar255唯一鍵,非空數量numbervarchar255非空圖書圖片imgvarchar255非空類型編號booktype_idint11外鍵(參考圖書類型booktype表),非空添加時間addtimedatetime非空3.2.6圖書共享記錄表圖書共享記錄信息表(數據庫中表名sharebook)如表3-6所示,存放著共享圖書的相關信息:共享書籍編號(id)、用戶編號(name)、書籍編號(info)、回收時間(returntime)。其中屬性id為主鍵,是該共享書籍的唯一標識,非空并且id自動增長;該表有2個外鍵,屬性user_id和book_id,分別與用戶表(user)和圖書表(book)有著關聯設定,也就是想要知道提供這本要共享的書籍是哪個用戶的以及這是哪一本書,就需要從user表和book表中來獲取用戶和書籍的id;屬性returntime其實也就是代表著管理員把用戶要共享的書籍回收過來并在后臺圖書共享管理中添加該共享圖書記錄的時間(添加共享時間)。表3-6圖書類型表實體屬性表字段數據類型字段長度備注共享編號idint11主鍵、非空、自增用戶編號user_idint11非空書籍編號book_idint11非空回收時間returntimedatetime非空3.2.7借閱共享圖書表借閱共享圖書信息表(數據庫中表名book)如表3-7所示,存放著借閱共享圖書的相關信息:借閱編號(id)、用戶編號(user_id)、共享書籍編號(sharebook_id)、借閱時間(borrowtime)、借閱狀態(tài)(borrowstate)。其中屬性id同樣都是設為主鍵,并且該值不能為空,設置自增長;該表有2個外鍵,屬性user_id和sharebook_id,分別與用戶表(user)和圖書共享表(book)有著關聯設定,也就是用戶登錄后進入個人用戶中心想要去借閱共享書籍,要讓用戶能夠看到是哪一個用戶共享出來的哪一本書,就需要從user表和sharebook表中來獲取用戶和共享書籍的id;屬性borrowstate為用戶借閱狀態(tài),default=0設定為用戶還未歸還書籍,default=1設定為用戶已經歸還書籍。表3-7借閱圖書表實體屬性表字段數據類型字段長度備注共享編號idint11主鍵、非空、自增用戶編號user_idint11非空共享書籍編號sharebook_idint11非空借閱時間borrowtimedatetime非空借閱狀態(tài)borrowstateint11默認狀態(tài)為0、default=0設定為沒有歸還4系統(tǒng)設計4.1系統(tǒng)總體設計對該系統(tǒng)分析完并且進行完數據庫設計后,就可以開始對該系統(tǒng)進行設計了。該項目分為前臺界面和后臺界面,將設計出社區(qū)圖書管理系統(tǒng)運行時需要的一些功能,例如前臺的用戶注冊功能設計、用戶登錄功能設計、用戶模塊的功能設計;后臺的用戶登錄功能設計、管理員模塊的管理功能設計。4.2用戶注冊功能設計用戶進入系統(tǒng)首頁的登錄界面后,還沒有注冊的用戶需要進入注冊界面填寫輸入用戶名、密碼、地址、手機號等注冊信息后,再上傳屬于自己的頭像,點擊“注冊”按鈕進行注冊。此時這些注冊的信息就會傳送到后臺管理員的用戶管理界面,然后管理員將會對注冊的用戶信息進行審核,審核成功之后,用戶才可以在前臺進行輸入用戶名和密碼來登錄。如果管理員沒有審核通過,那么用戶就沒有辦法進行登錄。具體功能的實現過程需要先從系統(tǒng)前臺將數據提交至系統(tǒng)后臺管理員那邊。用戶注冊模塊的功能流程圖如圖4-1所示。圖4-1用戶注冊模塊的功能流程圖4.3用戶與管理員登錄功能設計首先對于用戶來說如果后臺管理員沒有審核通過,那用戶去進行登錄就會顯示用戶審核還未通過,這時就需要再進行一次新帳號的注冊;如果后臺管理員審核通過,那用戶就可以進行登錄。其次對于用戶和管理員兩者的登錄來說,用戶或管理員輸入自己的用戶名(賬號)和密碼來提交表單信息,數據庫將判斷用戶或管理員提交的賬號名稱是否存在,如果不存在的話,就會在前臺登錄界面顯示“賬號不存在”;數據庫還會判斷帳號和密碼是不是與注冊時的數據一致,如果數據一致就會登錄成功,如果數據不一致就會在前臺登錄頁面顯示“賬號或密碼不正確”,此時需要重新在登錄界面中輸入正確的賬號密碼。用戶與管理員登錄模塊的功能流程圖如圖4-2所示。圖4-2用戶與管理員登錄模塊的功能流程圖4.4用戶模塊的設計沒有注冊賬號且沒有登錄用戶歸為訪客身份,只能在前臺查看共享圖書列表的信息及相關圖書詳情頁面;登錄成功的用戶,除了登錄之前身為訪客在系統(tǒng)前臺上查看的信息之外,還將擁有屬于自己的一個用戶中心頁面。用戶進入自己的用戶中心頁面后,用戶中心的頁面將會顯示個人資料信息、社區(qū)圖書共享記錄信息以及自己已借閱的圖書信息。用戶可以查看自己的注冊時所填寫的個人資料信息;可以查看社區(qū)圖書共享記錄并且去借閱他人共享上來的圖書;借閱成功后,用戶還可以在已借閱的圖書列表中查看所借閱的圖書還可以進行歸還圖書[7]。前臺用戶模塊的功能流程圖如圖4-3所示。圖4-3前臺用戶模塊的功能流程圖4.5管理員模塊的設計該系統(tǒng)的后臺是專門為管理員設計的,管理員只有登錄賬號后才能對該系統(tǒng)進行后臺管理。管理員登錄成功后就可以進入到后臺管理的主頁面,可享受管理員該有的各項權限和功能,例如能夠對用戶、圖書類型、圖書信息、圖書共享記錄等數據信息進行管理。管理員可以選擇上述任意模塊進行增、刪、改、查等一系列操作。并且在用戶管理這一塊,管理員還可以對用戶注冊新賬號的信息是否合規(guī)進行審核與刪除。管理員模塊的功能流程圖如圖4-4所示。圖4-4后臺管理員模塊的功能流程圖5系統(tǒng)實現5.1前臺實現5.1.1注冊功能前臺首頁頂部有導航欄部分,導航欄部分都能實現正常的跳轉,用戶還沒登錄時進入前臺的身份狀態(tài)為訪客,當用戶有注冊賬號的需求時就可以點擊前臺首頁右上角的注冊/登錄圖標進入到注冊/登錄的頁面。注冊需填寫用戶帳號、地址、手機號、密碼、確認密碼以及上傳頭像,當用戶注冊成功后就會顯示“用戶注冊成功!”的提示。此時這些數據將會傳送到后臺等待管理員的審核,只有管理員審核通過了才可以進行下一步的登錄操作。注冊功能的部分實現代碼如下所示。Subjectsubject=SecurityUtils.getSubject();UsernamePasswordTokentoken=newUsernamePasswordToken(admin.getUsername(),admin.getPassword());RespBeanrespBean=null;try{subject.login(token);respBean=respBean.ok("登錄成功");}catch(AuthenticationExceptione){respBean=respBean.error("用戶名或密碼錯誤!");token.clear();}return….;5.1.2登錄功能登錄界面上方有一個綠色小按鈕,點擊左邊“小房子”圖標可以回到前臺首頁,點擊右邊的“Login”可以跳轉到登錄界面。用戶注冊成功后點擊Login綠色小按鈕到登錄界面并輸入剛剛注冊的帳號和密碼進行登錄。登錄界面正常顯示,用戶輸入剛剛注冊的賬號與密碼進行登錄,如果后臺管理員未審核該賬號,那么將會顯示“用戶審核還未通過!”的提示。如果后臺管理員審核通過了該注冊的賬號,那么用戶可以進行正常登錄,若用戶輸入的帳號是沒有注冊過的帳號,那么會出現“帳號不存在!”的提示;若用戶輸入的賬號和密碼與剛剛注冊的不一致,那么會出現“帳號或密碼不正確!”的提示;只有用戶輸入了正確的賬號密碼才可以登錄成功并直接跳轉到前臺首頁,首頁右上角將會顯示“用心中心:登錄中”,代表用戶登錄成功了。5.1.3圖書列表功能前臺圖書列表顯示界面正常,圖書列表為后臺管理員收集完社區(qū)用戶所要共享的書籍后,去后臺上傳有關共享圖書的數據到前臺頁面供用戶可以點擊并查看圖書列表中各項共享圖書信息的展示,如書籍名稱、書籍圖片、所屬于的圖書類別、目前庫存數量還有多少。并且點擊某一本圖書的名稱也會跳轉到與該書相關的詳情頁,里面會有更多詳情介紹。圖書列表功能的部分實現代碼如下所示。具體核心代碼如下所示://顯示圖書信息TableBean<Book>tb=newTableBean<>();List<Book>allBooks=bookService.getAllBooks(o);intcount=bookService.count(o);tb.setData(allBooks);tb.setCount(count);…//刪除圖書信息intborrowById=borrowService.getCountById(bId);if(borrowById>0){returnrespBean.error("不能刪除,該書還有同學未還");}returnbookService.deleteByPrimaryKey(bId);5.1.4用戶中心功能(1)個人資料:用戶登錄成功后會生成一個屬于用戶個人的用戶中心,未注冊登錄的訪客沒有這個界面,用戶可以進入到個人用戶中心去查看個人資料,也就是自己注冊時除了密碼之外用戶所輸入的信息。界面上方的綠色小按鈕均能實現跳轉到相應頁面的功能,點擊左邊“小房子”圖標可以回到前臺首頁,點擊右邊的“用戶中心”也可以成功跳轉到用戶中心首頁也就是個人資料界面。(2)圖書共享記錄:還能看到后臺管理員從后臺上傳至前臺用戶中心界面的共享圖書記錄(有設置翻頁功能):包含共享圖書的圖書名稱、共享者、剩余可借閱的圖書數量等信息,用戶可以享受借閱共享圖書的功能。界面上方的綠色小按鈕均能實現跳轉到相應頁面的功能,用戶可以在借閱圖書前點擊按鈕右邊的“圖書列表”回到圖書列表界面查閱相關共享圖書的各類信息。例如點擊《你是人間的四月天》旁邊的借閱按鈕,借閱成功后會出現“借閱圖書成功!”的提示。所借閱的圖書會顯示在已借閱的圖書列表中;如果再次借閱剛剛已經借過的《你是人間的四月天》這本書籍,就會出現“借閱圖書失敗,圖書已經在已借閱的圖書列表!”。具體核心代碼如下所示:/*用戶管理功能核心代碼*/<templatev-slot:customTitle><SmileOutlined/>頭像</template><templatev-slot:type="{text}">【管理員','用戶'】【text】</template><templatev-slot:action="[text]"><a-buttontype="primary"@click="getRecord(text)"少查看借閱記錄</a-button></template>(3)已借閱的圖書:用戶還可以享受點擊歸還按鈕去歸還圖書并查看借閱狀態(tài):其中歸還功能有設置狀態(tài),歸還成功的話按鈕會從“未歸還”變成“已歸還”,并出現“圖書借閱狀態(tài)更新成功!”的提示。5.1.5用戶注銷(登出)功能若用戶不想繼續(xù)在系統(tǒng)登錄目前登錄中的賬號或者想要切換其他賬號進行注冊與登錄,可以到任何頁面的頂部導航欄處,點擊“用戶中心:登錄中”旁邊的“注銷”功能,就可以退出登錄。退出登錄后就變成訪客的身份瀏覽該社區(qū)圖書管理系統(tǒng),則用戶中心的界面也會跟著消失。5.2后臺實現5.2.1管理員登錄功能用戶和管理員都有著屬于自己各自登錄的頁面,前臺提供給用戶去體驗和瀏覽,后臺則為管理員管理后臺數據。后臺管理員的登錄功能類似于前臺用戶的登錄:如果管理員輸入的帳號是沒有注冊過的帳號,那么會出現“帳號不存在!”的提示;若管理員輸入的賬號和密碼與剛剛注冊的不一致,那么會出現“帳號或密碼不正確!”的提示;只有管理員輸入了正確的賬號密碼并登錄成功的情況下,網頁就會直接跳轉到后臺管理界面的首頁。具體核心代碼如下所示。gPostMapping("/register")publicResultregister(BRequestBodyOrgUser?0record){record.setSortHumber(1);record.setRoles(newInteger[]{2});returnorgUserService.create(record);5.2.2管理員注銷(登出)功能若管理員想退出登錄可以到導航欄的右上方點擊自己的頭像,然后點擊列表中的“退出”按鈕。登出后系統(tǒng)會自動回到后臺登錄界面。具體核心代碼如下所示。@PostMapping("/doLogin")publicMap<String,Object>doLogin(HttpServletRequestrequest,HttpServletResponsesavedRequest=WebUtils.getsavedRequest(request);Params.build(params).cleanEmpty();=p.getString(key:"userId");p.getString(key:"pwd");=p.getString(key:"remenber");if(StringUtils.isBlank(remenber)){remenber="1";}response,@RequestBodyMap<String,Object>map=loginservice.doLogin(userId,pwd);if((Boolean)map.get("success")==true){Stringurl=null;if(savedRequest!=null){url=savedRequest.getRequesturl();}if(savedRequest==nullllurl.equals("/")llurl="system";}map.put("url",url);//登錄成功創(chuàng)建Cookie5.2.3管理員審核用戶功能因為系統(tǒng)設計部分有對前臺用戶的注冊設定一個審核機制,所以每一個在前臺注冊的用戶都需要等待后臺管理員的審核通過后才可以登錄自己的賬號[8]。后臺管理員審核用戶功能在界面左側欄的“用戶管理”處的下拉框“用戶列表”實現,點擊列表進入后管理員可以查看到前臺用戶當時注冊時填寫的所有信息除了用戶密碼,因為用戶的密碼有進行過加密設置所以不會顯示出來,這也確保了用戶信息的一個安全性。接下來管理員就可以進行對用戶信息是否合規(guī)的“審核操作”和“刪除”。其中審核功能有設置狀態(tài),審核成功的話按鈕會從“未審核”變成“已審核”,并出現“用戶審核成功!”的提示;刪除用戶就會出現“用戶刪除成功!”的提示。//添加借閱者信息StringstudentId=UuidUtil.getShortUuid();Stringpassword=null;Stringicard=userb.getIdCard();if(icard.length()>6){password=icard.substring(icard.length()-6);}….returnuserService.insertSelective(userb);//查找用戶借書記錄TableBean<Borrow>tb=newTableBean<>();List<Borrow>borrows=borrowService.getBorrowsByIds(ids);tb.setData(borrows);returntb;5.2.4管理員管理功能模塊介紹除了上方的用戶管理的審核用戶功能之外,管理員收集完社區(qū)居民所共享出來的書籍后,還可以在后臺進行相關的圖書管理,并把一些數據傳送至前臺供用戶瀏覽查看。所以管理員還具有對社區(qū)這些共享出來的圖書進行圖書類型管理、圖書信息管理、圖書共享記錄管理的功能。管理員根據自己的需求進入對應的管理模塊界面,可以對里面的內容進行增、刪、改、查等一系列操作[9]。具體核心代碼如下所示。//登錄成功//創(chuàng)建CookieCookienameCookie=newCookie(name:"name",URLEncoder.encode(userId,enc:"utf-8"));Cookiepswcookie=newCookie(name:"psw",pwd);//設置Cookie的父路徑nameCookie.setPath(request.getContextPath()+"/");pswcookie.setPath(request.getcontextPathO)+"/");logger.debug(remenber+"---");//保存Cookie的時間長度,單位為秒if(remenber.equals("1")){nameCookie.setMaxAge(7*24*60*60);pswcookie.setMaxAge(7*24*60*60);}else{nameCookie.setMaxAge(θ);pswcookie.setMaxAge(θ);}//加入Cookie到響應頭response.addCookie(nameCookie);response.5.2.5圖書類型管理功能(1)共享圖書類型的添加與查看:管理員可以在該模塊先進行添加圖書的類型,用來后續(xù)把那些共享圖書進行類型的分類,并將類別展示于前臺供用戶查看。若圖書類型添加成功,就會出現“圖書類型添加成功!”的提示,進入設置有分頁功能的圖書類型列表就可以查看到剛剛新添加的圖書類型。(2)共享圖書類型的編輯與刪除:若想要對圖書類型進行編輯,可以點擊列表旁邊的“編輯”按鈕,就會出現“圖書類型編輯成功!”的提示;若想要對圖書類型進行刪除,可以點擊列表旁邊的“刪除”按鈕,用戶就會出現“圖書類型刪除成功!”的提示,但要注意這兩個功能是不可逆的。具體核心代碼如下所示://判斷用戶是否超過用戶自身最大借閱數Userbuser=userService.getUserById(borrow.getUserId());intuserBorrowSum=select.length+user.getBorrowNum();if(userBorrowSum>user.getMaxBorrowNum()){intresult=user.getMaxBorrowNum()-user.getBorrowNum();…}else{//用戶不能借同一本書for(inti=0;i<select.length;i++){…Borrowb=borrowService.getBorrowById(bDto);if(b!=null){Bookbook=bookService.getBookById(borrow1.getbId());return…;}}booleanisTrue=true;StringBuilderstr=newStringBuilder();…5.2.6圖書信息管理功能管理員對共享圖書信息的管理也是也可以進行增加、修改、刪除、查看列表顯示的一系列操作,每個模塊的管理功能基本都是類似的,且都可以正常運行實現這些功能。在圖書信息管理功能這邊主要介紹圖書信息的添加功能測試。管理員點擊左邊欄“共享圖書信息管理”模塊選擇下拉列表的“圖書添加”,就可以開始進行添加的操作。添加的這些圖書信息都是根據社區(qū)用戶所共享出來的相關圖書信息進行填寫的,后續(xù)這些信息會傳送到前臺的圖書列表供用戶查看。其中因為數據庫外鍵的設計,所以管理員先添加完圖書類型后,這邊添加圖書是可以選擇該本圖書是哪個類型的。添加界面還能上傳所添加圖書的圖片以及編寫圖書的簡介,若圖書添加成功,就會出現“圖書添加成功!”的提示;若添加圖書沒有上傳圖片那么后臺系統(tǒng)將會以系統(tǒng)設計時設置的默認圖書圖片顯示出來。具體核心代碼如下所示:);//推薦書本L4st<ReceomeendedItes)recommendedItesl4st-recommender.recomend(userld,howany);Lstelong?iteslds-meArrayllstc->();for(RecomeandedItenrecommendedItem:recoeendedftesllst){Systos.out.println(recomeendedItom);Iteslds.sdb(recomeendedftem.getttemlD();》Systen.out.println(-推帶出來的書本1如期合“+itemlds);//根據高品1d查請高品45(Ateslds!-lsaltemlds.slze()8){llst-iteshapper.findAl1Bylds(Atemlds);}else(llst-newArrayllst<>();)Systen.out.prdntln(“推薦數量:“+llst.stze()+耗時:“+(Systes.currentFimeHfllts()-start));}catch(Tastefxceptlone){e.prAntStackTrace();)return5.2.7圖書共享記錄管理功能由于圖書共享記錄管理功能的編輯、刪除、查看列表顯示這些操作都和其他管理模塊功能類似,且都可以正常運行實現功能。所以在圖書共享記錄管理功能這邊主要介紹圖書共享記錄的添加功能測試REF_Ref1508\w\h[10]。管理員點擊左邊欄“圖書管理”模塊選擇下拉列表的“圖書列表”,就可以開始進行添加的操作。由于數據庫外鍵的設計,這邊共享記錄會涉及到用戶選擇和圖書選擇,也就是哪一位社區(qū)用戶提供的哪一本圖書我們將進行數據的添加,并共享該圖書至前臺用戶登錄成功后的“用戶中心”界面的圖書共享記錄列表中,供前臺用戶去進行查看與借閱。若共享記錄添加成功,就會出現“共享圖書記錄添加成功!”,后臺管理員進入“圖書管理列表”中不僅可以查看剛剛添加的共享者和圖書名稱,還可以查看更多信息。具體核心代碼如下所示:if("w".equals(o.getState())){…Borrowborrow=borrowMapper.getBorrowById(bDto);if(borrow!=null&&borrow.getRenewCount()<=3){if(borrow.getRenewCount()==0){o.setRenewCount(1);}else{o.setRenewCount(borrow.getRenewCount()+1);}//時間加一個月…}else{returnrespBean.error("續(xù)借次數超過三次,不能在續(xù)借!");}}inti=borrowMapper.updateByPrimaryKey(o);if(i==1){respBean=respBean.ok("成功");if(!o.getState().equals("w")){try{//添加到歸還表…//還書成功后返回圖書庫存…//返還用戶借閱數…}catch(Exceptione){LOG.info("還書出錯",e);}}}else{respBean=newRespBean().error("失敗");}return…;6系統(tǒng)測試6.1測試概述經過對于社區(qū)圖書管理系統(tǒng)的需求分析、系統(tǒng)設計以及系統(tǒng)實現三個階段,已經完成了對于整個系統(tǒng)的開發(fā),按照軟件敏捷開發(fā)思路,完成系統(tǒng)的開發(fā)后要對系統(tǒng)的各個功能模塊進行測試[11],測試不僅包含功能測試,還要包含系統(tǒng)的性能測試,性能測試將借助工具來完成測試。6.2測試用例針對系統(tǒng)用戶角色以及管理員角色的主要功能,對于系統(tǒng)部分主要功能的測試結果將通過測試用例的方式進行介紹。具體測試情況如表6-1所示表6-1社區(qū)圖書管理系統(tǒng)測試用例用例簡述圖書管理系統(tǒng)相關功能編號A-001功能描述用戶角色注冊后登錄系統(tǒng),可以在線查看商品,并進行在線下單。測試數據數據項有效數據1、用戶賬號和密碼2、用戶的個人信息1、用戶的賬號和密碼2、登錄用戶的信息測試要點操作步驟:(1)系統(tǒng)油耗輸入賬號和密碼;(2)登錄成功后進行相應操作流程;(3)信息的協(xié)同處理測試步驟序號操作內容預期結果測試結果1用戶登錄系統(tǒng)登錄成功與預期一致2查看圖書信息可以查看系統(tǒng)所展示的圖書信息與預期一致3借閱圖書可以選擇圖書信息并進行借閱與預期一致4歸還圖書可以選擇圖書信息并進行歸還與預期一致5新增圖書信息可以新增圖書信息與預期一致6維護圖書分類信息可以正常維護圖書分類信息與預期一致7維護用戶信息可以正常維護注冊用戶信息與預期一致6.3測試界面圖6-1用戶注冊界面及注冊成功提示圖6-2用戶登錄界面及提示功能圖6-3圖書列表界面及相關詳情頁圖6-4用戶中心個人資料圖6-5圖書共享記錄界面及借閱提示圖6-6已借閱的圖書界面及狀態(tài)提示圖6-7用戶注銷(登出)功能圖6-8管理員登錄功能圖6-9管理員注銷(登出)功能圖6-10管理員審核用戶功能圖6-11管理員的管理模塊圖6-12管理員對圖書類型的添加與查看圖6-13管理員對圖書共享記錄的管理--添加6.3測試結果分析通過對社區(qū)圖書管理系統(tǒng)的測試,社區(qū)圖書管理系統(tǒng)的各個功能都已經完成開發(fā)實現,并且各個功能的測試用例都已經測試通過,并且對于系統(tǒng)的多功能協(xié)同測試已經完成,按照系統(tǒng)的思路對于系統(tǒng)的集成測試已經完成并通過測試

溫馨提示

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

評論

0/150

提交評論