版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE1第1章緒論1.1圖書館建設過程中存在的問題目前,在我們實際生活中,圖書館在實際管理中涉及的方法和要求很多,不只是要滿足用戶在圖書館管理中的需求,而且要處理好設備、圖書等問題,而圖書館的圖書管理系統(tǒng)的開發(fā)可以提高文獻信息的使用效率,將資源利用效率提高,方便讀者的使用,避免資源浪費。(1)手工檢索難度大由于圖書館的藏書種目相當復雜,數(shù)量也是非常的龐大。在現(xiàn)實生活中,我們?nèi)绻呀?jīng)將圖書準確的分類存放在圖書館中,即使是已經(jīng)記錄了圖書在圖書館中的位置,手工進行檢索的話難度也是相當?shù)拇蟮?,最后查到具體的圖書信息后還有可能館中的圖書就已經(jīng)被借完了。當一個圖書館的規(guī)模越大,這種現(xiàn)象也就是愈加的明顯。(2)還書、借書工作量大如果一個圖書館的借書與還書的壓力比較大,頻率大,那么說明這個圖書館所發(fā)揮的作用大,那么這個圖書館的不可替代性就越強。但是大量的還書、借書登記,當前圖書的庫存信息的更新任務還有便是過期圖書的處理等操作,隨之而來的便是人工操作上的失誤,這樣不僅導致人力物力的浪費,而且效率還是相當?shù)牡拖?。?)統(tǒng)計任務艱巨、庫存藏書不能及時更新學校圖書館的圖書種類和數(shù)量應該根據(jù)當前學校和社會發(fā)展的需求,科學的制定相應的計劃,而后人工的進行相應的增加和更新,但是隨著人們對美好生活的向往越來越高,社會上出版的圖書的種類和數(shù)量也是與日俱增,再加上借書還書的過程中不可避免的磨損,人為的損壞,使得我們圖書的統(tǒng)計工作任務是更加的艱巨,往往都會推遲或者不能完成,圖書的更新也就很難有針對性的進行,圖書的種類分布不能有很好的分布,也就不能適應當前學校和社會的發(fā)展。1.2課題研究的意義和目的信息技術(shù)快速發(fā)展,其正在逐漸成為社會進入現(xiàn)代化的標志。國內(nèi)大中型院校的圖書館和一些企業(yè)內(nèi)部,還有便是書店正在面臨著讀者和書籍雙激增的情況,在它們正常的運行過程中將面臨著大量的信息,包括還書信息、借書信息等。因此,對各種信息、資源的再管理成為重中之重的任務,這要求我們及時了解各個環(huán)節(jié)中信息的更改,及時對數(shù)據(jù)進行相應的處理。為了提高校圖書館的管理層對當前藏書的管理,以便能夠更好的服務在校學生,盡可能滿足在校學生的需要,提高館內(nèi)的人員工作效率,這就要求我們需要設計出一套新的圖書館信息管理系統(tǒng)。為了更好的服務讀者,結(jié)合當下微信的普及,推出網(wǎng)頁和微信小程序結(jié)合的方式,可以更加便民化。本系統(tǒng)涉及以下核心功能:借閱管理模塊、圖書管理模塊、用戶管理模塊、文章發(fā)布模塊等,除了這些核心的功能,還包括一些輔助的功能,如登錄、注銷、圖表展示、借閱提醒、精品圖書的推薦等。1.3可行性分析1.3.1技術(shù)可行性技術(shù)可行性主要是從當前項目采用的技術(shù)方案角度考慮出發(fā),合理的設計符合用戶需求的可行方法,并進行相互的比較和評價。本系統(tǒng)的開發(fā)語言主要是Java,JSP等,前期技術(shù)儲備還是比較足,調(diào)試也是比較的簡單,目前使用的開發(fā)環(huán)境所要求的計算機硬件配置較低。當前市場上的技術(shù)性框架非常的多,并且軟件的開發(fā)平臺相對來說是比較成熟的,系統(tǒng)運行和部署的速度快、效率高,具有及時性,文件的存儲容量大,可靠性不錯,對高并發(fā)的處理好。因此,技術(shù)是可以完全滿足系統(tǒng)的需要。1.3.2經(jīng)濟可行性經(jīng)濟可行性是從資源配置的角度評估系統(tǒng)的經(jīng)濟效益,評估項目付出的成本和能夠回報的效益比。本圖書館管理系統(tǒng)是作為畢業(yè)設計由個人開發(fā),在資金上的投入是相當?shù)纳?,個人足以可以承受。系統(tǒng)開發(fā)成功后交由校圖書館使用,得到的回報足以可以抵消我們在資金上的支出,包括我們之后在新系統(tǒng)上運行、維護所支出的費用。
第2章需求分析2.1功能性需求功能性需求就是軟件必須完成的需求任務,一定要實現(xiàn)的功能,還有便是完成這些功能所執(zhí)行的動作,這些都需要用戶提供需求。完成功能性需求,需要開發(fā)人員與需求用戶進行交流,了解并且核實用戶自己的需求。當然,用戶需求不總是被轉(zhuǎn)變成為功能需求,這就需要我們與用戶進行充分的交流了解之后,設計出一個合理的開發(fā)需求規(guī)格說明書。2.1.1功能劃分圖書館管理系統(tǒng)的系統(tǒng)開發(fā)分為網(wǎng)頁端和小程序端兩個部分。系統(tǒng)軟件的具體功能如下所示:網(wǎng)頁端:查詢功能;插入功能;修改功能;刪除功能;瀏覽功能;分析功能;其他功能;小程序端:首頁模塊;借閱模塊;搜索模塊;設置模塊;2.1.2功能描述網(wǎng)頁端:查詢功能按照圖書的相應屬性進行模糊查詢(圖書管理模塊);按照用戶的相應屬性進行模糊查詢;(用戶管理模塊)按照圖書與用戶之間的相應關(guān)系進行查詢(借閱管理模塊);按照日志的相應屬性進行查詢;(借閱管理模塊)對已發(fā)布的文章進行查詢;(文章發(fā)布模塊)插入功能增加一條用戶記錄;(用戶管理模塊)增加一條圖書記錄;(圖書管理模塊)增加一條日志記錄;(借閱管理模塊)增加一條借閱記錄;(借閱管理模塊)增加一條文章記錄(文章發(fā)布模塊)修改功能根據(jù)相應條件修改圖書記錄;(圖書管理模塊)根據(jù)相應條件修改用戶記錄;(用戶管理模塊)根局相應條件修改借閱記錄;(借閱管理模塊)刪除功能刪除一條記錄;(所有模塊)瀏覽功能管理員可以瀏覽包括但不限于用戶的登錄日志、用戶的信息、用戶的借閱日志、圖書信息;(所有模塊)分析功能管理員可以根據(jù)圖表對庫存的各種數(shù)據(jù)有一個可視化的印象,對數(shù)據(jù)有一個大致的印象。(系統(tǒng)分析模塊)其他功能后端還具有對個人信息進行展示,用戶的注冊與登錄等其他功能。小程序端:首頁模塊首頁可以發(fā)布圖書館的信息,具體的信息可以通過管理員在后臺進行增刪。首頁還有精品推薦的功能,會推薦4本不同種類的圖書。如果用戶在小程序端綁定了賬號并且該賬號下存在一周內(nèi)要還書的借閱信息,那么當該用戶首次打開該頁面時,會有一個彈窗提示,提示用戶歸還圖書并且顯示歸還圖書的名稱。借閱模塊借閱頁面要求用戶在小程序端首先綁定賬號,然后可以查詢出借閱的圖書。用戶可以對已借閱的圖書進行評論、評分、續(xù)約等功能,這些功能只存在有且唯一的入口。搜索模塊搜索模塊可以對輸入的圖書進行模糊查詢,用戶可以查看圖書的具體信息,還可以對其他讀者的評論進行回復。設置模塊該模塊可以將用戶的微信號和用戶賬號進行綁定。2.2非功能性需求非功能性的需求是作為功能性需求的補充,軟件的需求分析需要包括一些非功能性的分析。主要包括用戶對軟件性能的需求,軟件的界面簡潔程度,可操作性等。軟件設計必須遵循的相關(guān)標準、規(guī)范、用戶界面設計的具體細節(jié)、未來可能的擴充方案等。用戶對軟件非功能性需求的期望所包含的特性包括在軟件質(zhì)量(或軟件因素)中。然而軟件質(zhì)量是很難得到保證的,首先要明確軟件開發(fā)的目的性,其次要保證軟件開發(fā)的過程無風險,最終確保軟件的質(zhì)量符合一定的標準。[6]通過與用戶的溝通后了解其需求后按照其需求開發(fā)的圖書館管理系統(tǒng)提出的要達到的要求如下:系統(tǒng)可以穩(wěn)定運行、安全可靠;操作簡潔、界面友好;易于管理、便于維護;可擴展性強、可以在日后方便擴充功能;2.3設計約束本系統(tǒng)要求必須使用Linux操作系統(tǒng)和MySQL數(shù)據(jù)庫來保證系統(tǒng)性能與經(jīng)濟雙平衡。2.4系統(tǒng)用例2.4.1系統(tǒng)參與者根據(jù)系統(tǒng)總體的需求分析,我們可以將系統(tǒng)的參與者分為超級管理員、管理員和用戶。2.4.2系統(tǒng)用例按照參與者進行系統(tǒng)用例劃分,可以到到以下的系統(tǒng)用例。(1)超級管理員的系統(tǒng)用例圖如圖2-1所示:圖2-1超級管理員的系統(tǒng)用例圖(2)管理員的系統(tǒng)用例圖如圖2-2所示:圖2-2管理員的系統(tǒng)用例圖(3)用戶的系統(tǒng)用例圖如圖2-3所示:圖2-3用戶的系統(tǒng)用例圖2.5開發(fā)及運行環(huán)境軟件系統(tǒng)的開發(fā)運行環(huán)境不僅僅需要軟件的支持,而且也需要依賴于硬件。我們根據(jù)當前項目的規(guī)模大小和用戶的需求綜合考慮,選擇了系統(tǒng)開發(fā)的軟硬件產(chǎn)品。圖書館信息管理系統(tǒng)的軟硬件如下表2-1所示。表2-1圖書館管理系統(tǒng)的軟硬件環(huán)境用途軟件品牌或廠商運行操作系統(tǒng)CentOS7.4紅帽后臺開發(fā)工具IntelliJIDEAJetBrains小程序開發(fā)工具微信開發(fā)者工具微信建模工具ProcessOnProcessOn應用服務器Tomcat8.5Apache
第3章系統(tǒng)概要設計系統(tǒng)設計在軟件開發(fā)流程中有著舉足輕重的地位,是相當重要的部分。系統(tǒng)分析包括了系統(tǒng)概要設計、詳細設計和系統(tǒng)實現(xiàn)。在本章中我們會對概要設計進行介紹,而在第五章,我們會對詳細設計與實現(xiàn)進行詳細介紹。在進行概要設計的同時,我們得出了系統(tǒng)的功能模塊和數(shù)據(jù)庫設計。3.1.系統(tǒng)模塊實現(xiàn)功能3.1.1系統(tǒng)統(tǒng)計模塊(網(wǎng)頁端)系統(tǒng)設計模塊提供了在存圖書種類管理的功能。在存圖書種類管理完成的功能:通過3D餅狀圖形象的展現(xiàn)了在存的圖書種類占比情況,方便管理人員進行相應的圖書增補工作。3.1.2文章發(fā)布模塊(網(wǎng)頁端)文章發(fā)布模塊提供了新增文章、文章列表兩個子功能。新增文章子功能可以向數(shù)據(jù)庫中添加文章標題、編輯人員名稱、正文、輪播圖等數(shù)據(jù)。文章列表可以顯示當前數(shù)據(jù)庫中添加的文章記錄。該文章記錄將會配合小程序端使用,具體功能將在下面介紹。3.1.3.借閱管理模塊(網(wǎng)頁端)本模塊提供了圖書借閱、圖書歸還、借閱日志的功能。圖書借閱完成的功能:根據(jù)讀者提供的唯一用戶賬號和唯一的圖書ISBN編號,查詢出對應的讀者和圖書信息,如果查詢到圖書信息,添加借閱的圖書數(shù)量后,完成借閱,并將借閱信息添加到借閱表中,否則將會對用戶進行圖書不可見的提示。圖書歸還完成的功能:根據(jù)讀者提供的唯一用戶賬號和唯一的圖書ISBN編號,查詢出對應的借閱信息,如果查詢到對應的借閱信息,添加歸還的圖書數(shù)量后,完成歸還,并將歸還信息添加到借閱表中,否則將會對用戶進行圖書不可見的提示。借閱日志完成的功能:從借閱表中查詢出全部的借閱日志信息,供管理員了解。3.1.4圖書管理模塊(網(wǎng)頁端)本模塊提供了圖書列表、新增圖書的功能。圖書列表完成的功能:將圖書信息從圖書表中讀出后展現(xiàn)在表格中,提供分頁功能,每頁默認顯示4本圖書。新增圖書完成的功能:將圖書的各種信息包括ISBN編號、圖書名稱、著作人、出版社、定價、數(shù)量、類別、出版日期、封面、簡介等信息填入到表單中,對輸出框進行校驗,必須符合相應的格式才可提交,否則將會對用戶進行可視化的提示。該子功能還可以通過導航欄上的新增進入。3.1.5用戶管理模塊(網(wǎng)頁端)本模塊提供了新增用戶、用戶列表、刪除的用戶、瀏覽記錄的功能。新增圖書完成的功能:將用戶的各種信息包括賬號、用戶名、性別(默認男)、級別(默認管理員)、手機、郵箱、密碼、圖片、城市、介紹等添加到數(shù)據(jù)庫中。該子功能還可以通過導航欄上的新增進入。用戶列表完成的功能:從用戶表中將數(shù)據(jù)查詢出來并且將他們存放在表格中,提供分頁功能。表格中提供了對單條用戶進行停啟用、編輯、刪除的功能。刪除的用戶完成的功能:查詢被軟刪除的用戶信息,可以對被軟刪除的用戶信息進行還原操作。瀏覽記錄完成的功能:從日志表中查詢用戶的登錄信息,并且可視化。管理員可以對登錄信息進行刪除操作。3.1.6其他功能模塊(網(wǎng)頁端)其他功能模塊提供了登錄、注銷等功能。3.1.7首頁模塊(小程序端)首頁模塊提供了通知展示、精品推薦功能。通知展示與前面網(wǎng)頁端的文章發(fā)布功能相對應,點擊輪播圖后進入相應的文章頁面。精品推薦完成的功能:后臺會根據(jù)一定的規(guī)則從數(shù)據(jù)庫中選出四種不同的圖書推薦給用戶。3.1.8借閱模塊(小程序端)借閱模塊提供了借閱圖書查詢、圖書詳情、圖書評論、圖書評分、圖書續(xù)約等功能。我們會根據(jù)綁定的賬號查詢該賬號所借閱的圖書信息,并且可以將具體的圖書詳情展示出來。我們可以對圖書進行評分,一共有五星。還可以對圖書進行評論。我們還可以對所借閱的圖書進行續(xù)約,目前支持支持四檔選擇,分別是一年、半年、一月、一周。3.1.9搜索模塊(小程序端)搜索模塊,顧名思義,就是對當前的數(shù)據(jù)庫中的圖書進行條件查詢,支持模糊查詢。對于查詢出來的數(shù)據(jù),我們可以進行圖書詳情展示,還可以展示借閱該圖書的用戶的評論,我們可以對這些評論進行回復或詢問。3.1.10我的模塊(小程序端)我的模塊,就是完成微信登錄和賬號綁定、解綁的模塊。3.2系統(tǒng)功能模塊框架本系統(tǒng)的功能模塊基本框架如圖3-1、3-2所示。圖3-1網(wǎng)頁端功能模塊基本框架圖3-2小程序端功能模塊基本框架本系統(tǒng)借閱管理模塊的功能活動圖如圖3-3所示圖3-3借閱管理模塊的功能活動圖本系統(tǒng)圖書管理模塊的功能活動圖如圖3-4所示圖3-4圖書管理模塊的功能活動圖本系統(tǒng)用戶管理模塊的功能活動圖如圖3-5所示圖3-5用戶管理模塊的功能活動圖本系統(tǒng)系統(tǒng)統(tǒng)計模塊的功能活動圖如圖3-6所示圖3-6系統(tǒng)統(tǒng)計模塊的功能活動圖本系統(tǒng)系統(tǒng)統(tǒng)計模塊的功能活動圖如圖3-7所示圖3-7系統(tǒng)統(tǒng)計模塊的功能活動圖3.3小結(jié)綜上可知,系統(tǒng)的主要要求和目標如下:本系統(tǒng)采用的系統(tǒng)體系結(jié)構(gòu)既有B/S(Browser/Server)、又包括C/S(Client/Server),B/S架構(gòu)主要是面向管理員展示,集成了文章發(fā)布、借閱管理、圖書管理、用戶管理、系統(tǒng)統(tǒng)計、登錄、注銷等功能。C/S架構(gòu)主要通過微信小程序向用戶展示,主要包括圖書館的一些活動或通知的展示,用戶的借閱信息,精品圖書的推薦,對圖書的評論、評分、續(xù)約、回復等。同時,客戶要求加強安全性,只有超級管理員才可以對用戶信息進行管理,普通的管理員無權(quán)限對用戶信息進行增刪改查。為了進一步保證用戶的信息安全,我們對用戶的密碼進行密文保存,使用的是MD5的不可逆的加密算法。軟件在設計過程中盡可能保證用戶的個人信息的安全性,避免給用戶帶來的不必要的損失。軟件對用戶輸入的數(shù)據(jù)進行正確性校驗,并且用比較醒目的紅色提示標出來,錯誤不改,表單不能夠進行提交。系統(tǒng)采用人性化的界面,客戶不需要特別培訓,就能后上手,進行操作,這樣就可以節(jié)省客戶的資金和提高用戶的工作效率。
第4章數(shù)據(jù)庫設計數(shù)據(jù)庫設計在系統(tǒng)開發(fā)的過程中有著極其重要的地位,因此我們要合理設計數(shù)據(jù)庫,這樣才可以確保數(shù)據(jù)的完整性、相對獨立性、正確性等。構(gòu)造最優(yōu)的數(shù)據(jù)庫設計模式,建立合理的數(shù)據(jù)庫系統(tǒng),行之有效的使用數(shù)據(jù)庫,和在硬件上提高性能所帶來的經(jīng)濟效益相比來說要高的多。在對數(shù)據(jù)庫設計的過程中,我們應該遵循相應的原則,有數(shù)據(jù)完整性、數(shù)據(jù)一致性、靈活性等,命名也要符合標準命名規(guī)范。在進行數(shù)據(jù)庫設計的同時,也要考慮數(shù)據(jù)的安全性,畢竟在前面的需求分析中,用戶已經(jīng)提出了相應的要求。4.1系統(tǒng)數(shù)據(jù)分析系統(tǒng)的功能實現(xiàn)具體體現(xiàn)在各種信息的增加、刪除、更改、查詢等方面,這就要求數(shù)據(jù)庫能夠符合這些要求,能夠完成信息的輸入輸出。收集完各種基本信息后,需要對信息進行分析,設計合理的數(shù)據(jù)庫結(jié)構(gòu),為后面的系統(tǒng)開發(fā)打下堅實的基礎(chǔ)。通過對本系統(tǒng)的功能分析后,我們可以從中得出涉及到的實體:用戶、圖書、借閱、文章、日志、評論、評分、回復、續(xù)約等。各個實體的實體屬性圖如下圖所示。用戶實體屬性圖如圖4-1所示:圖4-1用戶信息實體屬性圖圖書實體屬性圖如圖4-2所示:圖4-2圖書信息實體屬性圖借閱實體屬性圖如圖4-3所示:
圖4-3借閱信息實體屬性圖日志實體屬性圖如圖4-4所示:圖4-4日志信息實體屬性圖文章實體屬性圖如圖4-5所示:圖4-5文章信息實體屬性圖評論實體屬性圖如圖4-6所示:圖4-6評論信息實體屬性圖回復實體屬性圖如圖4-7所示:圖4-7回復信息實體屬性圖評分實體屬性圖如圖4-8所示:圖4-8評分信息實體屬性圖續(xù)約實體屬性圖如圖4-9所示:圖4-9續(xù)約信息實體屬性圖對各種實體之間的關(guān)系進行處理后,可以得到如圖4-10所示的系統(tǒng)E-R圖。圖4-10系統(tǒng)E-R圖通過E-R圖的分析和需求分析總結(jié)之后,可以得到如下的數(shù)據(jù)項和內(nèi)容:(1)用戶信息,包括數(shù)據(jù)項:編號、用戶姓名、賬戶、密碼、性別、電話號碼、郵箱、圖片、城市、備注、級別、最新登錄時間、登錄次數(shù)、可用標志、微信openid。(2)圖書信息,包括數(shù)據(jù)項:編號、ISBN編號、圖書名稱、作者、價格、出版社、種類、數(shù)量、出版時間、圖片、簡介。(3)借閱信息,包括數(shù)據(jù)項:編號、賬戶、用戶姓名、ISBN編號、圖書名稱、數(shù)量、借閱時間、借閱平臺。(4)日志信息,包括數(shù)據(jù)項:編號、賬戶、登錄時間。(5)文章信息,包括數(shù)據(jù)項:編號、頭標題、發(fā)表時間、正文、作者、圖片。(6)評分信息,包含數(shù)據(jù)項:編號、ISBN編號、賬戶、評分時間、評分值、圖書名。(7)評論信息,包含數(shù)據(jù)項:評論編號、ISBN編號、圖書名稱、賬戶、用戶名、評論內(nèi)容、評論時間、贊數(shù)。(8)回復信息,包含數(shù)據(jù)項:回復編號、賬戶、用戶名、回復評論的編號、回復信息、回復時間。(9)續(xù)約信息,包含數(shù)據(jù)項:ISBN編號、賬戶、續(xù)約時間、擴展時間注:下劃線代表主鍵4.2數(shù)據(jù)庫各表的設計4.2.1用戶信息表結(jié)構(gòu)設計(user表)用戶信息表主要是用來存儲系統(tǒng)的用戶信息,其中通過rank列用來標記該用戶是超級管理員、管理員還是普通用戶,然后用來標識權(quán)限。表的具體結(jié)構(gòu)如表4-1所示。表4-1用戶信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明idint50否編號usernamevarchar50否用戶姓名accountvarchar50否賬戶(主鍵)passwordvarchar150否密碼sexint1是性別phonevarchar13是電話號碼emailvarchar50是郵箱imagevarchar250是圖片cityvarchar50是城市remarkvarchar350是備注rankint1否級別lasttimevarchar50是最新登錄時間logincountint50是登錄次數(shù)availableint1否可用標志openidvarchar255是微信openidDDL信息:CREATETABLE`user`(`id`int(50)NOTNULLAUTO_INCREMENT,`username`varchar(50)CHARACTERSETutf8mb4NOTNULL,`account`varchar(50)CHARACTERSETutf8mb4NOTNULL,`password`varchar(150)NOTNULL,`sex`int(1)DEFAULTNULL,`phone`varchar(13)DEFAULTNULL,`email`varchar(50)DEFAULTNULL,`image`varchar(250)DEFAULTNULL,`city`varchar(50)DEFAULTNULL,`remark`varchar(350)DEFAULTNULL,`rank`int(1)NOTNULLCOMMENT'級別:1超級管理員2管理員3用戶',`lasttime`varchar(50)DEFAULTNULLCOMMENT'最新登錄時間時間戳',`logincount`int(50)DEFAULTNULLCOMMENT'登錄次數(shù)',`available`int(1)NOTNULLCOMMENT'是否可用:1可用0不可用-1刪除',`openid`varchar(255)DEFAULTNULL,PRIMARYKEY(`account`),UNIQUEKEY`account`(`account`))ENGINE=InnoDBAUTO_INCREMENT=36DEFAULTCHARSET=utf8;4.2.2圖書信息表結(jié)構(gòu)設計(book表)圖書表主要存儲的是圖書的各種信息,包括唯一表示的ISBN編號,是該表的主鍵,用來唯一標識該表。表的具體結(jié)構(gòu)如表4-2所示。表4-2圖書信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明idint50否編號bookidvarchar50否ISBN編號(主鍵)booknamevarchar50否圖書名稱authorvarchar50否作者pricevarchar50是價格pressvarchar50是出版社kindvarchar50否種類countint20否數(shù)量presstimevarchar50是出版時間imagevarchar200否圖片introducevarchar500是簡介DDL信息:CREATETABLE`book`(`id`int(50)NOTNULLAUTO_INCREMENT,`bookid`varchar(50)NOTNULL,`bookname`varchar(50)NOTNULL,`author`varchar(50)NOTNULL,`price`varchar(50)DEFAULTNULL,`press`varchar(50)DEFAULTNULL,`kind`varchar(50)NOTNULL,`count`int(20)unsignedNOTNULL,`presstime`varchar(50)DEFAULTNULL,`image`varchar(200)NOTNULL,`introduce`varchar(500)DEFAULTNULL,PRIMARYKEY(`bookid`),UNIQUEKEY`bookname`(`bookname`),UNIQUEKEY`image`(`image`))ENGINE=InnoDBAUTO_INCREMENT=79DEFAULTCHARSET=utf8;4.2.3借閱信息表結(jié)構(gòu)設計(borrow表)借閱表主要是來存儲用戶借閱和歸還的圖書信息,用戶每次借閱或者歸還圖書時,將圖書和用戶的信息存儲到表中。如果是歸還圖書,那么數(shù)量為正,否則是負數(shù)。表的具體結(jié)構(gòu)如表4-3所示。表4-3借閱信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明idint20否編號accountvarchar50否賬戶(主鍵)usernamevarchar50否用戶姓名bookidvarchar50否ISBN編號(主鍵)booknamevarchar50否圖書名稱countint50否數(shù)量borrowtimevarchar50否借閱時間returntimevarchar50是還書時間platformvarchar255是借閱平臺DDL信息:CREATETABLE`borrow`(`id`int(20)NOTNULLAUTO_INCREMENT,`account`varchar(50)NOTNULL,`username`varchar(50)NOTNULL,`bookid`varchar(50)NOTNULL,`bookname`varchar(50)NOTNULL,`count`int(50)NOTNULL,`borrowtime`varchar(50)NOTNULL,`returntime`varchar(50),`platform`varchar(255)DEFAULTNULL,PRIMARYKEY(`account`,`bookid`))ENGINE=InnoDBAUTO_INCREMENT=15DEFAULTCHARSET=utf8;4.2.4日志信息表結(jié)構(gòu)設計(log表)日志表存儲的是用戶的登錄信息。當用戶登錄成功時會寫入到該表中。表的具體結(jié)構(gòu)如表4-4所示。表4-4日志信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明idint50否編號(主鍵)accountvarchar50否賬戶logintimevarchar50否登錄時間DDL信息:CREATETABLE`log`(`id`int(50)NOTNULLAUTO_INCREMENT,`account`varchar(50)NOTNULL,`logintime`varchar(50)NOTNULL,PRIMARYKEY(`id`),KEY`account`(`account`)USINGBTREE)ENGINE=InnoDBAUTO_INCREMENT=255DEFAULTCHARSET=utf8;4.2.5文章信息表結(jié)構(gòu)設計(article表)文章表存儲的是小程序端的通知信息,主要是首頁頂部的輪播圖,用來發(fā)布圖書館的信息和通知。表的具體結(jié)構(gòu)如表4-5所示。表4-5文章信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明idint20 否編號(主鍵)publish_accountvarchar50否發(fā)布賬號headlinevarchar50否頭標題timevarchar50是發(fā)表時間bodytext-是正文authorvarchar50是作者imgvarchar255否圖片DDL信息:CREATETABLE`article`(`id`int(20)NOTNULLAUTO_INCREMENT,`publish_account`varchar(50)NOTNULL,`headline`varchar(50)NOTNULL,`time`varchar(50)DEFAULTNULL,`body`text,`author`varchar(50)DEFAULTNULL,`img`varchar(255)NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8;4.2.6評論信息表結(jié)構(gòu)設計評論表存儲的是小程序端用戶對自己借閱圖書的評論,發(fā)表自己對正在借閱的圖書的觀點。表的具體結(jié)構(gòu)如表4-6所示。表4-6評論信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明comment_idvarchar50否評論編號(主鍵)bookidvarchar50否ISBN編號booknamevarchar50是圖書名稱accountvarchar50否賬戶usernamevarchar50是用戶名commenttext-是評論主體comment_timevarchar50是評論時間zan_countint8是贊數(shù)DDL信息:CREATETABLE`comment`(`comment_id`varchar(50)NOTNULL,`bookid`varchar(50)NOTNULL,`bookname`varchar(50)DEFAULTNULL,`account`varchar(50)NOTNULL,`username`varchar(50)DEFAULTNULL,`comment`text,`comment_time`varchar(50)DEFAULTNULL,`zan_count`int(8)DEFAULTNULLCOMMENT'贊數(shù)',PRIMARYKEY(`comment_id`)USINGBTREE)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='評論表'4.2.7回復信息表結(jié)構(gòu)設計回復表主要是對用戶對借閱圖書評論的回復的存儲。表的具體結(jié)構(gòu)如表4-7所示。表4-7回復信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明reply_idvarchar50否回復編號(主鍵)accountvarchar50否賬戶usernamevarchar50是用戶名reply_comment_idvarchar50否回復評論編號reply_msgtext-是回復主體reply_timevarchar50是回復時間DDL信息:CREATETABLE`reply`(`reply_id`varchar(50)NOTNULLCOMMENT'回復ID',`account`varchar(50)NOTNULLCOMMENT'回復賬號',`username`varchar(50)DEFAULTNULLCOMMENT'回復用戶名',`reply_comment_id`varchar(50)NOTNULLCOMMENT'回復的評論ID',`reply_msg`textCOMMENT'回復內(nèi)容',`reply_time`varchar(50)DEFAULTNULLCOMMENT'創(chuàng)建時間',PRIMARYKEY(`reply_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='回復表'4.2.8評分信息表結(jié)構(gòu)設計評分表存儲的是用戶對自己借閱的圖書的評分信息。表的具體結(jié)構(gòu)如表4-8所示。表4-8評分信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明idint15否編號(主鍵)bookidvarchar50是ISBN編號accountvarchar50是賬戶timevarchar50是評分時間ratingint3是評分值booknamevarchar50是圖書名稱DDL信息:CREATETABLE`rating`(`id`int(15)NOTNULLAUTO_INCREMENT,`bookid`varchar(50)DEFAULTNULL,`account`varchar(50)DEFAULTNULL,`time`varchar(15)DEFAULTNULL,`rating`int(3)DEFAULTNULL,`bookname`varchar(50)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=17DEFAULTCHARSET=utf8mb44.2.9續(xù)約信息表結(jié)構(gòu)設計續(xù)約表存儲的是用戶對借閱圖書的續(xù)約信息。表的具體結(jié)構(gòu)如表4-9所示。表4-9續(xù)約信息表結(jié)構(gòu)字段名稱數(shù)據(jù)類型字段長度是否為空說明bookidvarchar50否ISBN編號(主鍵)accountvarchar50否賬戶(主鍵)timevarchar50是擴展時間(一年、半年、一月、一周)extendtimevarchar50是預約時間(插入時間)DDL信息:CREATETABLE`extendbook`(`bookid`varchar(50)NOTNULL,`account`varchar(50)NOTNULL,`time`varchar(50)DEFAULTNULLCOMMENT'擴展時間一年、半年、一月、一周',`extendtime`varchar(50)DEFAULTNULLCOMMENT'預約時間插入時間',PRIMARYKEY(`bookid`,`account`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4
第5章系統(tǒng)詳細設計以上我們經(jīng)過了需求分析、概要設計和數(shù)據(jù)庫設計之后,軟件設計已經(jīng)進入到了詳細設計階段。在這個階段,我們的關(guān)鍵任務是設計出更加細致、易于理解、可維護的模塊。當然,可以很好的設計這些模塊離不開前面的準備。下面便是本系統(tǒng)各個子模塊的實現(xiàn)細節(jié)。如圖5-1所示的系統(tǒng)流程圖。圖5-1系統(tǒng)流程圖5.1用戶登錄模塊(網(wǎng)頁端)用戶登錄功能,提供了簡單的權(quán)限設計,如果是普通用戶則不可以進入到后臺,進入到主界面后根據(jù)用戶的角色,判斷是否顯示用戶管理模塊,供用戶操作。用戶登錄的時序圖如圖5-2所示。圖5-2用戶登錄時序圖5.1.1用戶登錄在瀏覽器地址欄輸入URL后,如果未登錄或者session會話過期時,會重定向到登錄頁面。登錄界面如圖5-3所示。圖5-3登錄界面當用戶進行登錄時,系統(tǒng)會對用戶輸入的數(shù)據(jù)進行登錄前的校驗。如果用戶沒有輸入賬號或者密碼,那么系統(tǒng)將會用醒目的紅字提示賬戶或者密碼不準為空。如果登錄成功,那么就會根據(jù)角色顯示不同的模塊。主界面如圖5-4所示。圖5-4主界面根據(jù)現(xiàn)實需要,本系統(tǒng)并未提供注冊功能,由管理員直接在后臺往數(shù)據(jù)庫中輸入。5.1.2用戶注銷當用戶要離開當前操作或者需要更換其他管理員時,就需要將當前的session銷毀,并且界面要重定向到登錄界面。5.2借閱管理模塊(網(wǎng)頁端)借閱管理模塊包含了圖書歸還、圖書借閱、借閱日志的功能。模塊的類圖如圖5-5所示。圖5-5借閱管理模塊類圖5.2.1圖書借閱圖書借閱的界面如圖5-6所示。圖5-6圖書借閱界面輸入用戶賬號和圖書ISBN編號到表單,點擊借閱后,軟件會向后臺查詢用戶和圖書的信息,根據(jù)圖書數(shù)量限制用戶在“借閱數(shù)量”中的輸入范圍,點擊“借閱”后即可完成借閱。5.2.2圖書歸還圖書歸還的界面如圖5-7所示。圖5-7圖書歸還界面和圖書借閱界面比較相似,但是圖書查詢語句不同,向借閱表中查詢借閱的圖書信息,如果沒有匹配結(jié)果則顯示“未查詢到信息”。歸還時,向表格中輸入歸還數(shù)量后點擊“歸還”即可完成借閱。5.2.3借閱日志借閱日志的界面如圖5-8所示。圖5-8借閱日志界面借閱日志的功能是用表格將數(shù)據(jù)借閱或者歸還的日志顯示出來,每頁默認顯示5條記錄,表格也支持對賬號的模糊查詢。表格的左下方顯示了當前頁顯示的記錄的起始位置,右上角顯示的是模糊查詢后的記錄總數(shù)量。5.3圖書管理模塊(網(wǎng)頁端)圖書管理模塊包含了圖書列表、新增圖書的功能。模塊的類圖如圖5-9所示。圖5-9圖書管理模塊類圖5.3.1圖書列表圖書列表的界面如圖5-10所示。圖5-10圖書列表的界面圖書列表負責將數(shù)據(jù)庫中在存的圖書信息,并且負責對圖書信息進行編輯與刪除。表格支持模糊查詢,查詢條件可以是ISBN編號、作者和圖書種類。后臺查詢使用的是動態(tài)SQL,所以可以對未填入和填入信息的表格進行統(tǒng)一處理。點擊編輯圖標時,系統(tǒng)會將當前圖書信息傳到彈出的界面中,新界面表格可以自動填充,編輯的界面如圖5-11所示。圖5-11圖書編輯界面如果需要對當前圖書信息進行修改,那么修改完后點擊“提交”即可。如果需要對刪除當前圖書,那么點擊“刪除”即可。5.3.2新增圖書新增圖書的界面如圖5-12所示。圖5-12新增圖書界面新增圖書負責將新增加的圖書信息添加到數(shù)據(jù)庫中。系統(tǒng)對輸入的信息格式進行了限定,這樣可以保證錄入數(shù)據(jù)的正確性,點擊“提交”即可完成圖書新增。當然,圖書的新增入口還可以從導航欄上方的新增入口進入。5.4用戶管理(網(wǎng)頁端)用戶管理模塊包含了用戶列表、刪除的用戶、瀏覽記錄功能。主要是對當前系統(tǒng)中的用戶包括超級管理員、管理員、普通用戶進行管理。目前規(guī)定的是只有超級管理員才能進行用戶的增刪改查,其他角色的用戶系統(tǒng)不會對他們進行顯示,這就從根本進行了權(quán)限的劃分。模塊的類圖如圖5-13所示。圖5-13用戶管理類圖5.4.1用戶列表用戶列表的界面如圖5-14所示。圖5-14用戶列表界面用戶列表和上面圖書列表大致相似,也包括了模糊查詢,分頁的功能,主要是展現(xiàn)當前的數(shù)據(jù)庫中用戶的available為非-1的用戶,即為非刪除的用戶。在操作一欄中,有停復用、編輯和刪除的按鈕。停復用按鈕是對當前的用戶進行停復用,如果是停用狀態(tài),那么用戶登錄不了,也借閱、歸還不了圖書。刪除按鈕不會對數(shù)據(jù)庫中的數(shù)據(jù)進行物理的刪除,只是在邏輯上進行刪除,也就是軟刪除。編輯按鈕和上面的圖書編輯一樣,會將數(shù)據(jù)傳到彈出的界面中進行自動填充。編輯界面如圖5-15所示。圖5-15用戶編輯界面5.4.2刪除的用戶刪除的用戶的界面如圖5-16所示。圖5-16刪除的用戶界面刪除的用戶展現(xiàn)的是數(shù)據(jù)庫中用戶表屬性available為-1的記錄,表示軟刪除的用戶,操作欄中可以對刪除的用戶進行還原。5.4.3瀏覽記錄瀏覽記錄的界面如圖5-17所示。圖5-17瀏覽記錄界面瀏覽記錄展現(xiàn)的是登錄記錄,用戶正確登錄的時候就會向該圖表中添加。5.4.4新增用戶新增用戶的界面如圖5-18所示。圖5-18新增用戶界面新增用戶可以將一條用戶的信息包括賬號、用戶名、性別(默認男)、級別(默認管理員)、手機、郵箱、密碼、頭像、城市、備注等信息插入到數(shù)據(jù)庫中,格式不符合的話會給出醒目的紅色提示。當然,圖書的新增入口還可以從導航欄上方的新增入口進入。5.5系統(tǒng)統(tǒng)計(網(wǎng)頁端)系統(tǒng)統(tǒng)計模塊主要是對當前數(shù)據(jù)庫中的數(shù)據(jù)通過圖表的形式進行展現(xiàn),目前主要包含在存圖書種類管理的功能,以后還可以進行擴展,這也符合設計要求中的可擴展性。5.5.1在存圖書種類管理在存圖書種類管理的界面如圖5-19所示。圖5-19在存圖書種類管理界面界面顯示的是所有的不同種類圖書的數(shù)量占比,通過3D餅狀圖顯示出來。5.6文章發(fā)布模塊(網(wǎng)頁端)文章發(fā)布模塊擔任的任務主要是發(fā)布當前圖書館的文章,包括通知,這是與下面會介紹的小程序搭配使用的。5.6.1新增文章新增文章界面如圖5-20所示。圖5-20新增文章界面管理員可以將通知的信息插入到數(shù)據(jù)庫中,信息包括標題、編輯、正文、輪播圖片等。5.6.2文章列表文章列表界面如圖5-21所示。圖5-21文章列表界面5.7首頁模塊(小程序)小程序模塊是與系統(tǒng)主體模塊分離的實體,可以算是系統(tǒng)的另一個重要的組成部分,主要是用來方便普通用戶。小程序支持首頁模塊、借閱模塊、搜索模塊、我的(設置)模塊等功能。首頁主要是管理員對圖書館的信息和通知進行發(fā)布,并且對當前的主要精品圖書進行推薦。5.7.1文章通知文章通知的界面如圖5-22所示。圖5-22小程序首頁通知界面文章通知是根據(jù)當前圖書館發(fā)布的信息進行顯示,增刪可以通過管理員在網(wǎng)頁端進行操作。5.7.2精品推薦精品推薦的界面如圖5-23所示。圖5-23精品推薦界面精品推薦是系統(tǒng)通過一定的算法隨機從系統(tǒng)中查出四種不同種類的圖書,進行展示。5.8借閱模塊(小程序)主要是查詢當前微信號綁定的賬號的借閱信息,并且對圖書進行相應的操作。5.8.1借閱詳情借閱詳情的界面如圖5-24所示。圖5-24借閱詳情界面點擊“知道了”可以進行界面返回到上圖左邊界面。5.8.2圖書評分圖書評分的界面如圖5-25所示。圖5-25圖書評分界面用戶可以根據(jù)自己對圖書的印象進行評分,一共有十分,由五個星代表。5.8.3圖書評論圖書評論的界面如圖5-26所示。圖5-26圖書評論界面用戶可以輸入最多250個字符,輸入框可以實時計數(shù),“確定”按鈕可以對字符進行提交并且界面返回。5.8.3圖書續(xù)約圖書續(xù)約的界面如圖5-27所示。圖5-27圖書續(xù)約界面正如提示所說,續(xù)約支持的時間是一年、半年、一月、一周四個檔次,而且一名用戶對同一種圖書只支持一次續(xù)約。5.9搜索模塊(小程序)搜索模塊只要是對當前的數(shù)據(jù)庫進行查詢。5.9.1搜索圖書搜索圖書的界面如圖5-28所示。圖5-28搜索圖書的界面5.9.2交互搜索模塊一個比較重要的功能就是展示當前圖書的評論、回復、點贊。界面如圖5-29所示。圖5-29評論、回復、點贊界面5.10賬號綁定(小程序)“我的”界面會對微信號和用戶賬號進行綁定、解綁,這樣就可以用微信號登錄。小程序的用戶登錄綁定流程圖如圖5-30所示。圖5-30小程序的用戶登錄綁定流程圖“我的”界面如圖5-31所示。圖5-31“我的”界面
第6章系統(tǒng)軟件測試軟件測試在軟件工程中有著比較重要的地位,目的是對軟件開發(fā)和發(fā)布后的系統(tǒng)進行測試并且分析軟件測試結(jié)果,這樣可以讓我們及時發(fā)現(xiàn)軟件中的錯誤,并且將發(fā)現(xiàn)的錯誤反饋給開發(fā)人員進行修改,確保發(fā)布后的系統(tǒng)符合需求分析所規(guī)定的功能和要求。6.1軟件測試分類軟件測試分成白盒測試、黑盒測試和灰盒測試。開發(fā)的軟件被看成是一個盒子。如果這個盒子是“黑”的,不能看到里面的具體內(nèi)容和流程,那么這種測試便是黑盒測試。反之,如果我們能夠看到程序的流程,能夠看到軟件內(nèi)部的結(jié)構(gòu),那么這種測試便是白盒測試。6.2測試用例6.2.1測試特殊輸入框校驗驗證的測試用例表6-1日期輸入框校驗測試用例測試用例編號TSGL_ST_XZTS_PreTIME_001測試項目新增圖書子模塊輸入框校驗測試標題日期輸入框校驗重要級別中預置條件填寫輸入測試目標輸入2019年01操作步驟輸入日期點擊提交預期輸出系統(tǒng)顯示提示框提示:請輸入正確的日期格式測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版智能航運物流船運輸合作協(xié)議合同2篇
- 二零二五年測繪數(shù)據(jù)處理與分析合同范本3篇
- 二零二五年特種花卉種子采購合同范本3篇
- 二零二五版商業(yè)街區(qū)保安臨時工勞動合同示范文本3篇
- 二零二五版生態(tài)農(nóng)業(yè)基地種植分包合同3篇
- 河北省二零二五年度二手房買賣合同附帶專業(yè)拆除及清理服務3篇
- 二零二五年度車輛過戶手續(xù)代理合同3篇
- 二零二五版汽車制造專用管子配件供應合同3篇
- 二零二五年度酒店食堂承包服務合同范本3篇
- 二零二五年度礦業(yè)風險評估與風險管理合同2篇
- 割接方案的要點、難點及采取的相應措施
- 2025年副護士長競聘演講稿(3篇)
- 2025至2031年中國臺式燃氣灶行業(yè)投資前景及策略咨詢研究報告
- 原發(fā)性腎病綜合征護理
- 第三章第一節(jié)《多變的天氣》說課稿2023-2024學年人教版地理七年級上冊
- 2025年中國電科集團春季招聘高頻重點提升(共500題)附帶答案詳解
- 2025年度建筑施工現(xiàn)場安全管理合同2篇
- 建筑垃圾回收利用標準方案
- 2024年考研英語一閱讀理解80篇解析
- 福建省廈門市2023-2024學年高二上學期期末考試語文試題(解析版)
- 防火墻施工組織設計
評論
0/150
提交評論