基于微信小程序的學校圖書館設計_第1頁
基于微信小程序的學校圖書館設計_第2頁
基于微信小程序的學校圖書館設計_第3頁
基于微信小程序的學校圖書館設計_第4頁
基于微信小程序的學校圖書館設計_第5頁
已閱讀5頁,還剩61頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

PAGE1第1章緒論1.1圖書館建設過程中存在的問題目前,在我們實際生活中,圖書館在實際管理中涉及的方法和要求很多,不只是要滿足用戶在圖書館管理中的需求,而且要處理好設備、圖書等問題,而圖書館的圖書管理系統的開發可以提高文獻信息的使用效率,將資源利用效率提高,方便讀者的使用,避免資源浪費。(1)手工檢索難度大由于圖書館的藏書種目相當復雜,數量也是非常的龐大。在現實生活中,我們如果已經將圖書準確的分類存放在圖書館中,即使是已經記錄了圖書在圖書館中的位置,手工進行檢索的話難度也是相當的大的,最后查到具體的圖書信息后還有可能館中的圖書就已經被借完了。當一個圖書館的規模越大,這種現象也就是愈加的明顯。(2)還書、借書工作量大如果一個圖書館的借書與還書的壓力比較大,頻率大,那么說明這個圖書館所發揮的作用大,那么這個圖書館的不可替代性就越強。但是大量的還書、借書登記,當前圖書的庫存信息的更新任務還有便是過期圖書的處理等操作,隨之而來的便是人工操作上的失誤,這樣不僅導致人力物力的浪費,而且效率還是相當的低下。(3)統計任務艱巨、庫存藏書不能及時更新學校圖書館的圖書種類和數量應該根據當前學校和社會發展的需求,科學的制定相應的計劃,而后人工的進行相應的增加和更新,但是隨著人們對美好生活的向往越來越高,社會上出版的圖書的種類和數量也是與日俱增,再加上借書還書的過程中不可避免的磨損,人為的損壞,使得我們圖書的統計工作任務是更加的艱巨,往往都會推遲或者不能完成,圖書的更新也就很難有針對性的進行,圖書的種類分布不能有很好的分布,也就不能適應當前學校和社會的發展。1.2課題研究的意義和目的信息技術快速發展,其正在逐漸成為社會進入現代化的標志。國內大中型院校的圖書館和一些企業內部,還有便是書店正在面臨著讀者和書籍雙激增的情況,在它們正常的運行過程中將面臨著大量的信息,包括還書信息、借書信息等。因此,對各種信息、資源的再管理成為重中之重的任務,這要求我們及時了解各個環節中信息的更改,及時對數據進行相應的處理。為了提高校圖書館的管理層對當前藏書的管理,以便能夠更好的服務在校學生,盡可能滿足在校學生的需要,提高館內的人員工作效率,這就要求我們需要設計出一套新的圖書館信息管理系統。為了更好的服務讀者,結合當下微信的普及,推出網頁和微信小程序結合的方式,可以更加便民化。本系統涉及以下核心功能:借閱管理模塊、圖書管理模塊、用戶管理模塊、文章發布模塊等,除了這些核心的功能,還包括一些輔助的功能,如登錄、注銷、圖表展示、借閱提醒、精品圖書的推薦等。1.3可行性分析1.3.1技術可行性技術可行性主要是從當前項目采用的技術方案角度考慮出發,合理的設計符合用戶需求的可行方法,并進行相互的比較和評價。本系統的開發語言主要是Java,JSP等,前期技術儲備還是比較足,調試也是比較的簡單,目前使用的開發環境所要求的計算機硬件配置較低。當前市場上的技術性框架非常的多,并且軟件的開發平臺相對來說是比較成熟的,系統運行和部署的速度快、效率高,具有及時性,文件的存儲容量大,可靠性不錯,對高并發的處理好。因此,技術是可以完全滿足系統的需要。1.3.2經濟可行性經濟可行性是從資源配置的角度評估系統的經濟效益,評估項目付出的成本和能夠回報的效益比。本圖書館管理系統是作為畢業設計由個人開發,在資金上的投入是相當的少,個人足以可以承受。系統開發成功后交由校圖書館使用,得到的回報足以可以抵消我們在資金上的支出,包括我們之后在新系統上運行、維護所支出的費用。

第2章需求分析2.1功能性需求功能性需求就是軟件必須完成的需求任務,一定要實現的功能,還有便是完成這些功能所執行的動作,這些都需要用戶提供需求。完成功能性需求,需要開發人員與需求用戶進行交流,了解并且核實用戶自己的需求。當然,用戶需求不總是被轉變成為功能需求,這就需要我們與用戶進行充分的交流了解之后,設計出一個合理的開發需求規格說明書。2.1.1功能劃分圖書館管理系統的系統開發分為網頁端和小程序端兩個部分。系統軟件的具體功能如下所示:網頁端:查詢功能;插入功能;修改功能;刪除功能;瀏覽功能;分析功能;其他功能;小程序端:首頁模塊;借閱模塊;搜索模塊;設置模塊;2.1.2功能描述網頁端:查詢功能按照圖書的相應屬性進行模糊查詢(圖書管理模塊);按照用戶的相應屬性進行模糊查詢;(用戶管理模塊)按照圖書與用戶之間的相應關系進行查詢(借閱管理模塊);按照日志的相應屬性進行查詢;(借閱管理模塊)對已發布的文章進行查詢;(文章發布模塊)插入功能增加一條用戶記錄;(用戶管理模塊)增加一條圖書記錄;(圖書管理模塊)增加一條日志記錄;(借閱管理模塊)增加一條借閱記錄;(借閱管理模塊)增加一條文章記錄(文章發布模塊)修改功能根據相應條件修改圖書記錄;(圖書管理模塊)根據相應條件修改用戶記錄;(用戶管理模塊)根局相應條件修改借閱記錄;(借閱管理模塊)刪除功能刪除一條記錄;(所有模塊)瀏覽功能管理員可以瀏覽包括但不限于用戶的登錄日志、用戶的信息、用戶的借閱日志、圖書信息;(所有模塊)分析功能管理員可以根據圖表對庫存的各種數據有一個可視化的印象,對數據有一個大致的印象。(系統分析模塊)其他功能后端還具有對個人信息進行展示,用戶的注冊與登錄等其他功能。小程序端:首頁模塊首頁可以發布圖書館的信息,具體的信息可以通過管理員在后臺進行增刪。首頁還有精品推薦的功能,會推薦4本不同種類的圖書。如果用戶在小程序端綁定了賬號并且該賬號下存在一周內要還書的借閱信息,那么當該用戶首次打開該頁面時,會有一個彈窗提示,提示用戶歸還圖書并且顯示歸還圖書的名稱。借閱模塊借閱頁面要求用戶在小程序端首先綁定賬號,然后可以查詢出借閱的圖書。用戶可以對已借閱的圖書進行評論、評分、續約等功能,這些功能只存在有且唯一的入口。搜索模塊搜索模塊可以對輸入的圖書進行模糊查詢,用戶可以查看圖書的具體信息,還可以對其他讀者的評論進行回復。設置模塊該模塊可以將用戶的微信號和用戶賬號進行綁定。2.2非功能性需求非功能性的需求是作為功能性需求的補充,軟件的需求分析需要包括一些非功能性的分析。主要包括用戶對軟件性能的需求,軟件的界面簡潔程度,可操作性等。軟件設計必須遵循的相關標準、規范、用戶界面設計的具體細節、未來可能的擴充方案等。用戶對軟件非功能性需求的期望所包含的特性包括在軟件質量(或軟件因素)中。然而軟件質量是很難得到保證的,首先要明確軟件開發的目的性,其次要保證軟件開發的過程無風險,最終確保軟件的質量符合一定的標準。[6]通過與用戶的溝通后了解其需求后按照其需求開發的圖書館管理系統提出的要達到的要求如下:系統可以穩定運行、安全可靠;操作簡潔、界面友好;易于管理、便于維護;可擴展性強、可以在日后方便擴充功能;2.3設計約束本系統要求必須使用Linux操作系統和MySQL數據庫來保證系統性能與經濟雙平衡。2.4系統用例2.4.1系統參與者根據系統總體的需求分析,我們可以將系統的參與者分為超級管理員、管理員和用戶。2.4.2系統用例按照參與者進行系統用例劃分,可以到到以下的系統用例。(1)超級管理員的系統用例圖如圖2-1所示:圖2-1超級管理員的系統用例圖(2)管理員的系統用例圖如圖2-2所示:圖2-2管理員的系統用例圖(3)用戶的系統用例圖如圖2-3所示:圖2-3用戶的系統用例圖2.5開發及運行環境軟件系統的開發運行環境不僅僅需要軟件的支持,而且也需要依賴于硬件。我們根據當前項目的規模大小和用戶的需求綜合考慮,選擇了系統開發的軟硬件產品。圖書館信息管理系統的軟硬件如下表2-1所示。表2-1圖書館管理系統的軟硬件環境用途軟件品牌或廠商運行操作系統CentOS7.4紅帽后臺開發工具IntelliJIDEAJetBrains小程序開發工具微信開發者工具微信建模工具ProcessOnProcessOn應用服務器Tomcat8.5Apache

第3章系統概要設計系統設計在軟件開發流程中有著舉足輕重的地位,是相當重要的部分。系統分析包括了系統概要設計、詳細設計和系統實現。在本章中我們會對概要設計進行介紹,而在第五章,我們會對詳細設計與實現進行詳細介紹。在進行概要設計的同時,我們得出了系統的功能模塊和數據庫設計。3.1.系統模塊實現功能3.1.1系統統計模塊(網頁端)系統設計模塊提供了在存圖書種類管理的功能。在存圖書種類管理完成的功能:通過3D餅狀圖形象的展現了在存的圖書種類占比情況,方便管理人員進行相應的圖書增補工作。3.1.2文章發布模塊(網頁端)文章發布模塊提供了新增文章、文章列表兩個子功能。新增文章子功能可以向數據庫中添加文章標題、編輯人員名稱、正文、輪播圖等數據。文章列表可以顯示當前數據庫中添加的文章記錄。該文章記錄將會配合小程序端使用,具體功能將在下面介紹。3.1.3.借閱管理模塊(網頁端)本模塊提供了圖書借閱、圖書歸還、借閱日志的功能。圖書借閱完成的功能:根據讀者提供的唯一用戶賬號和唯一的圖書ISBN編號,查詢出對應的讀者和圖書信息,如果查詢到圖書信息,添加借閱的圖書數量后,完成借閱,并將借閱信息添加到借閱表中,否則將會對用戶進行圖書不可見的提示。圖書歸還完成的功能:根據讀者提供的唯一用戶賬號和唯一的圖書ISBN編號,查詢出對應的借閱信息,如果查詢到對應的借閱信息,添加歸還的圖書數量后,完成歸還,并將歸還信息添加到借閱表中,否則將會對用戶進行圖書不可見的提示。借閱日志完成的功能:從借閱表中查詢出全部的借閱日志信息,供管理員了解。3.1.4圖書管理模塊(網頁端)本模塊提供了圖書列表、新增圖書的功能。圖書列表完成的功能:將圖書信息從圖書表中讀出后展現在表格中,提供分頁功能,每頁默認顯示4本圖書。新增圖書完成的功能:將圖書的各種信息包括ISBN編號、圖書名稱、著作人、出版社、定價、數量、類別、出版日期、封面、簡介等信息填入到表單中,對輸出框進行校驗,必須符合相應的格式才可提交,否則將會對用戶進行可視化的提示。該子功能還可以通過導航欄上的新增進入。3.1.5用戶管理模塊(網頁端)本模塊提供了新增用戶、用戶列表、刪除的用戶、瀏覽記錄的功能。新增圖書完成的功能:將用戶的各種信息包括賬號、用戶名、性別(默認男)、級別(默認管理員)、手機、郵箱、密碼、圖片、城市、介紹等添加到數據庫中。該子功能還可以通過導航欄上的新增進入。用戶列表完成的功能:從用戶表中將數據查詢出來并且將他們存放在表格中,提供分頁功能。表格中提供了對單條用戶進行停啟用、編輯、刪除的功能。刪除的用戶完成的功能:查詢被軟刪除的用戶信息,可以對被軟刪除的用戶信息進行還原操作。瀏覽記錄完成的功能:從日志表中查詢用戶的登錄信息,并且可視化。管理員可以對登錄信息進行刪除操作。3.1.6其他功能模塊(網頁端)其他功能模塊提供了登錄、注銷等功能。3.1.7首頁模塊(小程序端)首頁模塊提供了通知展示、精品推薦功能。通知展示與前面網頁端的文章發布功能相對應,點擊輪播圖后進入相應的文章頁面。精品推薦完成的功能:后臺會根據一定的規則從數據庫中選出四種不同的圖書推薦給用戶。3.1.8借閱模塊(小程序端)借閱模塊提供了借閱圖書查詢、圖書詳情、圖書評論、圖書評分、圖書續約等功能。我們會根據綁定的賬號查詢該賬號所借閱的圖書信息,并且可以將具體的圖書詳情展示出來。我們可以對圖書進行評分,一共有五星。還可以對圖書進行評論。我們還可以對所借閱的圖書進行續約,目前支持支持四檔選擇,分別是一年、半年、一月、一周。3.1.9搜索模塊(小程序端)搜索模塊,顧名思義,就是對當前的數據庫中的圖書進行條件查詢,支持模糊查詢。對于查詢出來的數據,我們可以進行圖書詳情展示,還可以展示借閱該圖書的用戶的評論,我們可以對這些評論進行回復或詢問。3.1.10我的模塊(小程序端)我的模塊,就是完成微信登錄和賬號綁定、解綁的模塊。3.2系統功能模塊框架本系統的功能模塊基本框架如圖3-1、3-2所示。圖3-1網頁端功能模塊基本框架圖3-2小程序端功能模塊基本框架本系統借閱管理模塊的功能活動圖如圖3-3所示圖3-3借閱管理模塊的功能活動圖本系統圖書管理模塊的功能活動圖如圖3-4所示圖3-4圖書管理模塊的功能活動圖本系統用戶管理模塊的功能活動圖如圖3-5所示圖3-5用戶管理模塊的功能活動圖本系統系統統計模塊的功能活動圖如圖3-6所示圖3-6系統統計模塊的功能活動圖本系統系統統計模塊的功能活動圖如圖3-7所示圖3-7系統統計模塊的功能活動圖3.3小結綜上可知,系統的主要要求和目標如下:本系統采用的系統體系結構既有B/S(Browser/Server)、又包括C/S(Client/Server),B/S架構主要是面向管理員展示,集成了文章發布、借閱管理、圖書管理、用戶管理、系統統計、登錄、注銷等功能。C/S架構主要通過微信小程序向用戶展示,主要包括圖書館的一些活動或通知的展示,用戶的借閱信息,精品圖書的推薦,對圖書的評論、評分、續約、回復等。同時,客戶要求加強安全性,只有超級管理員才可以對用戶信息進行管理,普通的管理員無權限對用戶信息進行增刪改查。為了進一步保證用戶的信息安全,我們對用戶的密碼進行密文保存,使用的是MD5的不可逆的加密算法。軟件在設計過程中盡可能保證用戶的個人信息的安全性,避免給用戶帶來的不必要的損失。軟件對用戶輸入的數據進行正確性校驗,并且用比較醒目的紅色提示標出來,錯誤不改,表單不能夠進行提交。系統采用人性化的界面,客戶不需要特別培訓,就能后上手,進行操作,這樣就可以節省客戶的資金和提高用戶的工作效率。

第4章數據庫設計數據庫設計在系統開發的過程中有著極其重要的地位,因此我們要合理設計數據庫,這樣才可以確保數據的完整性、相對獨立性、正確性等。構造最優的數據庫設計模式,建立合理的數據庫系統,行之有效的使用數據庫,和在硬件上提高性能所帶來的經濟效益相比來說要高的多。在對數據庫設計的過程中,我們應該遵循相應的原則,有數據完整性、數據一致性、靈活性等,命名也要符合標準命名規范。在進行數據庫設計的同時,也要考慮數據的安全性,畢竟在前面的需求分析中,用戶已經提出了相應的要求。4.1系統數據分析系統的功能實現具體體現在各種信息的增加、刪除、更改、查詢等方面,這就要求數據庫能夠符合這些要求,能夠完成信息的輸入輸出。收集完各種基本信息后,需要對信息進行分析,設計合理的數據庫結構,為后面的系統開發打下堅實的基礎。通過對本系統的功能分析后,我們可以從中得出涉及到的實體:用戶、圖書、借閱、文章、日志、評論、評分、回復、續約等。各個實體的實體屬性圖如下圖所示。用戶實體屬性圖如圖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評分信息實體屬性圖續約實體屬性圖如圖4-9所示:圖4-9續約信息實體屬性圖對各種實體之間的關系進行處理后,可以得到如圖4-10所示的系統E-R圖。圖4-10系統E-R圖通過E-R圖的分析和需求分析總結之后,可以得到如下的數據項和內容:(1)用戶信息,包括數據項:編號、用戶姓名、賬戶、密碼、性別、電話號碼、郵箱、圖片、城市、備注、級別、最新登錄時間、登錄次數、可用標志、微信openid。(2)圖書信息,包括數據項:編號、ISBN編號、圖書名稱、作者、價格、出版社、種類、數量、出版時間、圖片、簡介。(3)借閱信息,包括數據項:編號、賬戶、用戶姓名、ISBN編號、圖書名稱、數量、借閱時間、借閱平臺。(4)日志信息,包括數據項:編號、賬戶、登錄時間。(5)文章信息,包括數據項:編號、頭標題、發表時間、正文、作者、圖片。(6)評分信息,包含數據項:編號、ISBN編號、賬戶、評分時間、評分值、圖書名。(7)評論信息,包含數據項:評論編號、ISBN編號、圖書名稱、賬戶、用戶名、評論內容、評論時間、贊數。(8)回復信息,包含數據項:回復編號、賬戶、用戶名、回復評論的編號、回復信息、回復時間。(9)續約信息,包含數據項:ISBN編號、賬戶、續約時間、擴展時間注:下劃線代表主鍵4.2數據庫各表的設計4.2.1用戶信息表結構設計(user表)用戶信息表主要是用來存儲系統的用戶信息,其中通過rank列用來標記該用戶是超級管理員、管理員還是普通用戶,然后用來標識權限。表的具體結構如表4-1所示。表4-1用戶信息表結構字段名稱數據類型字段長度是否為空說明idint50否編號usernamevarchar50否用戶姓名accountvarchar50否賬戶(主鍵)passwordvarchar150否密碼sexint1是性別phonevarchar13是電話號碼emailvarchar50是郵箱imagevarchar250是圖片cityvarchar50是城市remarkvarchar350是備注rankint1否級別lasttimevarchar50是最新登錄時間logincountint50是登錄次數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'登錄次數',`available`int(1)NOTNULLCOMMENT'是否可用:1可用0不可用-1刪除',`openid`varchar(255)DEFAULTNULL,PRIMARYKEY(`account`),UNIQUEKEY`account`(`account`))ENGINE=InnoDBAUTO_INCREMENT=36DEFAULTCHARSET=utf8;4.2.2圖書信息表結構設計(book表)圖書表主要存儲的是圖書的各種信息,包括唯一表示的ISBN編號,是該表的主鍵,用來唯一標識該表。表的具體結構如表4-2所示。表4-2圖書信息表結構字段名稱數據類型字段長度是否為空說明idint50否編號bookidvarchar50否ISBN編號(主鍵)booknamevarchar50否圖書名稱authorvarchar50否作者pricevarchar50是價格pressvarchar50是出版社kindvarchar50否種類countint20否數量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借閱信息表結構設計(borrow表)借閱表主要是來存儲用戶借閱和歸還的圖書信息,用戶每次借閱或者歸還圖書時,將圖書和用戶的信息存儲到表中。如果是歸還圖書,那么數量為正,否則是負數。表的具體結構如表4-3所示。表4-3借閱信息表結構字段名稱數據類型字段長度是否為空說明idint20否編號accountvarchar50否賬戶(主鍵)usernamevarchar50否用戶姓名bookidvarchar50否ISBN編號(主鍵)booknamevarchar50否圖書名稱countint50否數量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日志信息表結構設計(log表)日志表存儲的是用戶的登錄信息。當用戶登錄成功時會寫入到該表中。表的具體結構如表4-4所示。表4-4日志信息表結構字段名稱數據類型字段長度是否為空說明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文章信息表結構設計(article表)文章表存儲的是小程序端的通知信息,主要是首頁頂部的輪播圖,用來發布圖書館的信息和通知。表的具體結構如表4-5所示。表4-5文章信息表結構字段名稱數據類型字段長度是否為空說明idint20 否編號(主鍵)publish_accountvarchar50否發布賬號headlinevarchar50否頭標題timevarchar50是發表時間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評論信息表結構設計評論表存儲的是小程序端用戶對自己借閱圖書的評論,發表自己對正在借閱的圖書的觀點。表的具體結構如表4-6所示。表4-6評論信息表結構字段名稱數據類型字段長度是否為空說明comment_idvarchar50否評論編號(主鍵)bookidvarchar50否ISBN編號booknamevarchar50是圖書名稱accountvarchar50否賬戶usernamevarchar50是用戶名commenttext-是評論主體comment_timevarchar50是評論時間zan_countint8是贊數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'贊數',PRIMARYKEY(`comment_id`)USINGBTREE)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='評論表'4.2.7回復信息表結構設計回復表主要是對用戶對借閱圖書評論的回復的存儲。表的具體結構如表4-7所示。表4-7回復信息表結構字段名稱數據類型字段長度是否為空說明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'回復內容',`reply_time`varchar(50)DEFAULTNULLCOMMENT'創建時間',PRIMARYKEY(`reply_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='回復表'4.2.8評分信息表結構設計評分表存儲的是用戶對自己借閱的圖書的評分信息。表的具體結構如表4-8所示。表4-8評分信息表結構字段名稱數據類型字段長度是否為空說明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續約信息表結構設計續約表存儲的是用戶對借閱圖書的續約信息。表的具體結構如表4-9所示。表4-9續約信息表結構字段名稱數據類型字段長度是否為空說明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章系統詳細設計以上我們經過了需求分析、概要設計和數據庫設計之后,軟件設計已經進入到了詳細設計階段。在這個階段,我們的關鍵任務是設計出更加細致、易于理解、可維護的模塊。當然,可以很好的設計這些模塊離不開前面的準備。下面便是本系統各個子模塊的實現細節。如圖5-1所示的系統流程圖。圖5-1系統流程圖5.1用戶登錄模塊(網頁端)用戶登錄功能,提供了簡單的權限設計,如果是普通用戶則不可以進入到后臺,進入到主界面后根據用戶的角色,判斷是否顯示用戶管理模塊,供用戶操作。用戶登錄的時序圖如圖5-2所示。圖5-2用戶登錄時序圖5.1.1用戶登錄在瀏覽器地址欄輸入URL后,如果未登錄或者session會話過期時,會重定向到登錄頁面。登錄界面如圖5-3所示。圖5-3登錄界面當用戶進行登錄時,系統會對用戶輸入的數據進行登錄前的校驗。如果用戶沒有輸入賬號或者密碼,那么系統將會用醒目的紅字提示賬戶或者密碼不準為空。如果登錄成功,那么就會根據角色顯示不同的模塊。主界面如圖5-4所示。圖5-4主界面根據現實需要,本系統并未提供注冊功能,由管理員直接在后臺往數據庫中輸入。5.1.2用戶注銷當用戶要離開當前操作或者需要更換其他管理員時,就需要將當前的session銷毀,并且界面要重定向到登錄界面。5.2借閱管理模塊(網頁端)借閱管理模塊包含了圖書歸還、圖書借閱、借閱日志的功能。模塊的類圖如圖5-5所示。圖5-5借閱管理模塊類圖5.2.1圖書借閱圖書借閱的界面如圖5-6所示。圖5-6圖書借閱界面輸入用戶賬號和圖書ISBN編號到表單,點擊借閱后,軟件會向后臺查詢用戶和圖書的信息,根據圖書數量限制用戶在“借閱數量”中的輸入范圍,點擊“借閱”后即可完成借閱。5.2.2圖書歸還圖書歸還的界面如圖5-7所示。圖5-7圖書歸還界面和圖書借閱界面比較相似,但是圖書查詢語句不同,向借閱表中查詢借閱的圖書信息,如果沒有匹配結果則顯示“未查詢到信息”。歸還時,向表格中輸入歸還數量后點擊“歸還”即可完成借閱。5.2.3借閱日志借閱日志的界面如圖5-8所示。圖5-8借閱日志界面借閱日志的功能是用表格將數據借閱或者歸還的日志顯示出來,每頁默認顯示5條記錄,表格也支持對賬號的模糊查詢。表格的左下方顯示了當前頁顯示的記錄的起始位置,右上角顯示的是模糊查詢后的記錄總數量。5.3圖書管理模塊(網頁端)圖書管理模塊包含了圖書列表、新增圖書的功能。模塊的類圖如圖5-9所示。圖5-9圖書管理模塊類圖5.3.1圖書列表圖書列表的界面如圖5-10所示。圖5-10圖書列表的界面圖書列表負責將數據庫中在存的圖書信息,并且負責對圖書信息進行編輯與刪除。表格支持模糊查詢,查詢條件可以是ISBN編號、作者和圖書種類。后臺查詢使用的是動態SQL,所以可以對未填入和填入信息的表格進行統一處理。點擊編輯圖標時,系統會將當前圖書信息傳到彈出的界面中,新界面表格可以自動填充,編輯的界面如圖5-11所示。圖5-11圖書編輯界面如果需要對當前圖書信息進行修改,那么修改完后點擊“提交”即可。如果需要對刪除當前圖書,那么點擊“刪除”即可。5.3.2新增圖書新增圖書的界面如圖5-12所示。圖5-12新增圖書界面新增圖書負責將新增加的圖書信息添加到數據庫中。系統對輸入的信息格式進行了限定,這樣可以保證錄入數據的正確性,點擊“提交”即可完成圖書新增。當然,圖書的新增入口還可以從導航欄上方的新增入口進入。5.4用戶管理(網頁端)用戶管理模塊包含了用戶列表、刪除的用戶、瀏覽記錄功能。主要是對當前系統中的用戶包括超級管理員、管理員、普通用戶進行管理。目前規定的是只有超級管理員才能進行用戶的增刪改查,其他角色的用戶系統不會對他們進行顯示,這就從根本進行了權限的劃分。模塊的類圖如圖5-13所示。圖5-13用戶管理類圖5.4.1用戶列表用戶列表的界面如圖5-14所示。圖5-14用戶列表界面用戶列表和上面圖書列表大致相似,也包括了模糊查詢,分頁的功能,主要是展現當前的數據庫中用戶的available為非-1的用戶,即為非刪除的用戶。在操作一欄中,有停復用、編輯和刪除的按鈕。停復用按鈕是對當前的用戶進行停復用,如果是停用狀態,那么用戶登錄不了,也借閱、歸還不了圖書。刪除按鈕不會對數據庫中的數據進行物理的刪除,只是在邏輯上進行刪除,也就是軟刪除。編輯按鈕和上面的圖書編輯一樣,會將數據傳到彈出的界面中進行自動填充。編輯界面如圖5-15所示。圖5-15用戶編輯界面5.4.2刪除的用戶刪除的用戶的界面如圖5-16所示。圖5-16刪除的用戶界面刪除的用戶展現的是數據庫中用戶表屬性available為-1的記錄,表示軟刪除的用戶,操作欄中可以對刪除的用戶進行還原。5.4.3瀏覽記錄瀏覽記錄的界面如圖5-17所示。圖5-17瀏覽記錄界面瀏覽記錄展現的是登錄記錄,用戶正確登錄的時候就會向該圖表中添加。5.4.4新增用戶新增用戶的界面如圖5-18所示。圖5-18新增用戶界面新增用戶可以將一條用戶的信息包括賬號、用戶名、性別(默認男)、級別(默認管理員)、手機、郵箱、密碼、頭像、城市、備注等信息插入到數據庫中,格式不符合的話會給出醒目的紅色提示。當然,圖書的新增入口還可以從導航欄上方的新增入口進入。5.5系統統計(網頁端)系統統計模塊主要是對當前數據庫中的數據通過圖表的形式進行展現,目前主要包含在存圖書種類管理的功能,以后還可以進行擴展,這也符合設計要求中的可擴展性。5.5.1在存圖書種類管理在存圖書種類管理的界面如圖5-19所示。圖5-19在存圖書種類管理界面界面顯示的是所有的不同種類圖書的數量占比,通過3D餅狀圖顯示出來。5.6文章發布模塊(網頁端)文章發布模塊擔任的任務主要是發布當前圖書館的文章,包括通知,這是與下面會介紹的小程序搭配使用的。5.6.1新增文章新增文章界面如圖5-20所示。圖5-20新增文章界面管理員可以將通知的信息插入到數據庫中,信息包括標題、編輯、正文、輪播圖片等。5.6.2文章列表文章列表界面如圖5-21所示。圖5-21文章列表界面5.7首頁模塊(小程序)小程序模塊是與系統主體模塊分離的實體,可以算是系統的另一個重要的組成部分,主要是用來方便普通用戶。小程序支持首頁模塊、借閱模塊、搜索模塊、我的(設置)模塊等功能。首頁主要是管理員對圖書館的信息和通知進行發布,并且對當前的主要精品圖書進行推薦。5.7.1文章通知文章通知的界面如圖5-22所示。圖5-22小程序首頁通知界面文章通知是根據當前圖書館發布的信息進行顯示,增刪可以通過管理員在網頁端進行操作。5.7.2精品推薦精品推薦的界面如圖5-23所示。圖5-23精品推薦界面精品推薦是系統通過一定的算法隨機從系統中查出四種不同種類的圖書,進行展示。5.8借閱模塊(小程序)主要是查詢當前微信號綁定的賬號的借閱信息,并且對圖書進行相應的操作。5.8.1借閱詳情借閱詳情的界面如圖5-24所示。圖5-24借閱詳情界面點擊“知道了”可以進行界面返回到上圖左邊界面。5.8.2圖書評分圖書評分的界面如圖5-25所示。圖5-25圖書評分界面用戶可以根據自己對圖書的印象進行評分,一共有十分,由五個星代表。5.8.3圖書評論圖書評論的界面如圖5-26所示。圖5-26圖書評論界面用戶可以輸入最多250個字符,輸入框可以實時計數,“確定”按鈕可以對字符進行提交并且界面返回。5.8.3圖書續約圖書續約的界面如圖5-27所示。圖5-27圖書續約界面正如提示所說,續約支持的時間是一年、半年、一月、一周四個檔次,而且一名用戶對同一種圖書只支持一次續約。5.9搜索模塊(小程序)搜索模塊只要是對當前的數據庫進行查詢。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章系統軟件測試軟件測試在軟件工程中有著比較重要的地位,目的是對軟件開發和發布后的系統進行測試并且分析軟件測試結果,這樣可以讓我們及時發現軟件中的錯誤,并且將發現的錯誤反饋給開發人員進行修改,確保發布后的系統符合需求分析所規定的功能和要求。6.1軟件測試分類軟件測試分成白盒測試、黑盒測試和灰盒測試。開發的軟件被看成是一個盒子。如果這個盒子是“黑”的,不能看到里面的具體內容和流程,那么這種測試便是黑盒測試。反之,如果我們能夠看到程序的流程,能夠看到軟件內部的結構,那么這種測試便是白盒測試。6.2測試用例6.2.1測試特殊輸入框校驗驗證的測試用例表6-1日期輸入框校驗測試用例測試用例編號TSGL_ST_XZTS_PreTIME_001測試項目新增圖書子模塊輸入框校驗測試標題日期輸入框校驗重要級別中預置條件填寫輸入測試目標輸入2019年01操作步驟輸入日期點擊提交預期輸出系統顯示提示框提示:請輸入正確的日期格式測試

溫馨提示

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

評論

0/150

提交評論