基于微信小程序的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于微信小程序的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于微信小程序的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于微信小程序的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于微信小程序的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEV摘要微信小程序是一種不用下載可以使用的應(yīng)用程序在微信軟件中使用,是一項創(chuàng)新應(yīng)用技術(shù),經(jīng)過最近幾年的發(fā)展,微信小程序已廣泛的在人們生活中使用。本程序主要是基于微信小程序的圖書管理系統(tǒng)的設(shè)計與實現(xiàn)。該系統(tǒng)主要是設(shè)為兩個端口。一個小程序端,給用戶使用的,用戶可以在小程序上操作使用。例如查閱書籍種類,搜索書籍,評論書籍將書籍添加到書架。修改用戶個人信息,查看通知消息,和預(yù)約借閱書籍。一個是Web管理端主要是管理員對后臺數(shù)據(jù)的維護。例如查看用戶,搜索用戶,給用戶辦理卡,添加圖書分類,添加圖書,修改圖書的信息,同意用戶借閱,同意用戶歸還書籍,給用戶卡號充值,發(fā)送通知給用戶,對用戶評價留言進行管理,和管理員添加修改信息。系統(tǒng)包括小程序端和Web管理端兩個部分,小程序端采用JS+CSS+HTML5技術(shù)開發(fā),Web端采用集成JavaScript和HTML5的Bootstrap框架和Vue.js開發(fā)。后臺采用SpringBoot和MyBatis,前后臺數(shù)據(jù)交互使用AJAX和JSON。關(guān)鍵詞:書籍;微信小程序;圖書管理系統(tǒng)

AbstractWechatMiniprogramisakindofapplicationprogramthatcanbeusedinWechatsoftwarewithoutdownloading.Itisaninnovativeapplicationtechnology.Afterthedevelopmentofrecentyears,WechatMiniprogramhasbeenwidelyusedinpeople'slife.ThisprogramismainlybasedonmicrochannelMiniprogramlibrarymanagementsystemdesignandimplementation.Thesystemismainlysetupastwoports.AMiniprogramside,foruserstouse,userscanoperateontheMiniprogramuse.Suchaslookingupbookcategories,searchingforbooks,commentingonbooksandaddingbookstotheshelf.Modifyuserpersonalinformation,viewnotificationmessages,andreservebooks.OneisthattheWebmanagementterminalismainlythemaintenanceofthebackgrounddatabytheadministrator.Forexample,viewusers,searchusers,handlecardsforusers,addbookclassification,addbooks,modifytheinformationofbooks,agreewithuserstoborrowbooks,agreewithuserstoreturnbooks,rechargetheusercardnumber,sendnoticestousers,manageusercommentsandmessages,andaddandmodifyinformation.Thesystemincludestwoparts:theMiniprogramendandtheWebmanagementend.TheMiniprogramendisdevelopedbyJS+CSS+HTML5technology,andtheWebendisdevelopedbyBootstrapframeworkandVue.jsintegratedwithJavaScriptandHTML5.BackgroundusingSpringBootandMyBatis,frontandbackgrounddatainteractionusingAJAXandJSON.Keywords:Books;WechatMiniProgram;BooksManagementSystem

目錄TOC\o"1-2"\h\z\u摘要 IAbstract II1緒論1.1目的和意義 (1)1.2背景及國內(nèi)外現(xiàn)狀 (2)1.3研究的內(nèi)容 (2)1.4論文結(jié)構(gòu) (4)1.5本章小結(jié) (4)2需求分析2.1可行性分析 (5)2.2功能需求分析 (6)2.3業(yè)務(wù)流程分析 (8)2.4非功能性需求分析 (10)2.5本章小結(jié) (10)3概要設(shè)計3.1系統(tǒng)總體設(shè)計 (11)3.2系統(tǒng)功能模塊劃分 (11)3.3數(shù)據(jù)庫設(shè)計 (16)3.4本章小結(jié) (22)4詳細設(shè)計與實現(xiàn)4.1開發(fā)及運行環(huán)境描述 (23)4.2小程序用戶登入模塊 (23)4.3修改個人信息模塊 (25)4.4查看借閱訂單信息模塊 (26)4.5查看借閱卡模塊 (28)4.6查看公告模塊 (30)4.7圖書分類索引模塊 (31)4.8圖書查找模塊 (32)4.9查看圖書詳情模塊 (34)4.10評論留言模塊 (36)4.11圖書預(yù)約模塊 (37)4.12管理員登入模塊 (39)4.13統(tǒng)計模塊 (41)4.14用戶管理模塊 (42)4.15廣告管理模塊 (45)4.16分類管理模塊 (46)4.17圖書管理模塊 (48)4.18圖書借閱管理模塊 (50)4.19本章小結(jié) (52)5系統(tǒng)測試5.1測試目的 (53)5.2功能性測試 (53)5.3非功能性測試 (54)5.4本章小結(jié) (64)6總結(jié)與展望6.1總結(jié) (65)6.2展望 (65)致謝 (66)參考文獻 (67)PAGE11緒論本章介紹該系統(tǒng)的研究目的及研究本系統(tǒng)的意義,闡述系統(tǒng)的功能和結(jié)構(gòu),便于合理的設(shè)計實現(xiàn)系統(tǒng)的功能。分析國內(nèi)外目前圖書館管理系統(tǒng),對比我們系統(tǒng)的優(yōu)勢。1.1目的和意義一般的圖書管理系統(tǒng),可以有效實現(xiàn)圖書管理的標(biāo)準(zhǔn)化,系統(tǒng)化管理,并可以減少人工管理過程中的缺陷??梢詫λ袌D書和資料進行統(tǒng)一的管理,讓讀者更容易借閱圖書,使得圖書館更好的發(fā)揮其功能,讓讀者更好的享受圖書資源。圖書館信息管理系統(tǒng)本質(zhì)上也是屬于信息管理的一種[1]。但是讀者對于書籍的查閱,對于借閱后的書籍的一些評論和建議,以及對于書籍的推薦方面是基于PC端的圖書管理系統(tǒng)所欠缺的一面。同時現(xiàn)如今微信以及微信小程序的快速發(fā)展,人們使用手機微信的頻率大幅提高,因此一個基于微信小程序的圖書管理系統(tǒng),使用微信端和PC端相結(jié)合管理的系統(tǒng)用以解決這樣的問題[2]。書籍的大量增加和用戶數(shù)目的增多,致使數(shù)據(jù)又與日劇增。當(dāng)同一時間有很多用戶并發(fā)訪問時,系統(tǒng)的服務(wù)器負擔(dān)過重。過去的圖書管理模式因為存在很多缺點不再適用[3]?;谝陨显颍O(shè)計開發(fā)一個基于微信小程序的圖書管理系統(tǒng)以方便用戶。許多中小型圖書館已經(jīng)認(rèn)識到計算機技術(shù)在圖書館管理中的重要性,并開始利用計算機技術(shù)實現(xiàn)圖書館圖書的實際應(yīng)用[4]。作為一個方便的圖書管理系統(tǒng)不僅要功能上的需求,而且也需要有一個良好的用戶操作界面[5]。而基于微信小程序的圖書管理系統(tǒng),它把微信小程序和Web端相結(jié)合,用戶在小程序端操作,管理員在Web端操作。在兩個端口操作可以使該操作簡單便捷,既能滿足中小型圖書館的日常業(yè)務(wù),比如對資源進行分類,管理等,為用戶提供方便[6]。圖書管理系統(tǒng)在小程序端給讀者提供最新、最全的資料,在管理端可進行最新書籍的發(fā)布更新,還可方便讀者查閱信息,進行書籍的查詢,評論,使圖書館資源得到充分利用。小程序可以在最短的時間內(nèi)傳遞給讀者有效信息,知識化、信息化與合理配置是現(xiàn)代化圖書館的優(yōu)點,而且基于微信小程序的圖書管理系統(tǒng)能從本質(zhì)上實現(xiàn)傳統(tǒng)圖書管理方式的變革。1.2背景及國內(nèi)外現(xiàn)狀我們在中國知網(wǎng)中使用以“微信”關(guān)鍵詞進行搜索,可以看到共找到166743條結(jié)果;而以“圖書館和微信”兩個關(guān)鍵字為搜索,一共有233條結(jié)果。從這方面來看,我們國家的學(xué)術(shù)界有大量的學(xué)者進行了大量的微信相關(guān)的研究,微信加圖書館的相關(guān)研究也不少。但微信小程序(WechatMini-Apps或WechatMiniProgram)在圖書館領(lǐng)域的應(yīng)用研究相對較少,共檢索到8條相關(guān)記錄,其中核心期刊論文僅有3篇[7]。目前國外自動化系統(tǒng)都廣泛以通用平臺為基礎(chǔ),基于UNIX標(biāo)準(zhǔn)的系統(tǒng)平臺可運行在IBM、SUN、HP等服務(wù)器上,支持AIX、Solari等多個操作系統(tǒng)。而國內(nèi)系統(tǒng)除部分。兼容AIX、Solaris外,大部分都運行在Linux平臺上,有些中小系統(tǒng)則只能支持Window[8]。1.3研究的內(nèi)容該圖書管理系統(tǒng)分為兩個端口,一個是小程序端,一個web管理員端。小程序端主要功能:(1)用戶登入注冊:在第一次打開小程序時,用戶點擊授權(quán)登入就可以注冊登入。(2)用戶信息:填寫修改用戶的基本信息。(3)會員卡:用戶可以在管理員端辦理會員卡,沒有會員卡無法預(yù)約借書。(4)圖書分類:將不同的圖書分為不同的類,便于用戶找到自己喜愛的圖書。(5)圖書搜索:通過模糊收索,來定位圖書,當(dāng)用戶不確定圖書全名時候,可以通過搜索關(guān)鍵詞來定位圖書。(6)書評留言:在圖書下面用戶可以給該圖書留言。(7)加入書架:點擊圖書加入,可以將圖書加入書架。(8)書架:在次頁面可以看到用戶添加在書架的書籍。(9)圖書借閱預(yù)約:點擊圖書借閱,管理員端會收到借閱預(yù)約信息,用戶在去取書。(10)圖書借閱管理:在這里可以看到用戶本人預(yù)約借閱/已借閱/歸還的圖書。(11)圖書借閱記錄:在這里可以看到讀者的全部借閱信息。通知公告:可以看到管理員發(fā)的公告。管理員端主要功能:(1)管理員登入:管理員第一次訪問后臺網(wǎng)站需要登入認(rèn)證,認(rèn)證成功后可以進入后臺管理頁面。(2)統(tǒng)計分析頁面:用圖表的形式數(shù)據(jù)化展示最近的借閱圖書數(shù)量,和知道用戶數(shù),圖書種類,和總借閱量。(3)用戶管理:在次頁面管理員可以給用戶開會員,用戶賬號充值金額,查看用戶的基本信息,和修改用戶的基本信息。通過在搜索欄中輸入文本可以查詢對于的用戶。(4)廣告管理:這里管理微信小程序端首頁輪播圖,可以添加,刪除,更換輪播圖中的圖片,方便管理使用。(5)分類管理:分類管理主要是對圖書進行不同的分類,將圖書分成不同的類別,便于用戶找到自己想要的圖書。主要對分類的添加,修改刪除。(6)圖書管理:此功能為該系統(tǒng)的重要功能,管理員端在此頁面進行圖書的添加,修改,刪除和查詢。(7)借閱管理:用戶在小程序端點擊預(yù)約,然后取到書再到管理員這邊,管理員通過該頁面,點擊確認(rèn)就可通過借閱,修改了圖書狀態(tài)。用戶來歸還圖書,管理員在該頁面點擊歸還就可以修改圖書的狀態(tài)已歸還。若是丟失,管理員點擊丟失,并且會從用戶賬戶中扣除對應(yīng)的金額。預(yù)期會在預(yù)期欄中顯示。(8)評價管理:在該頁面中可以看到小程序端用戶對不同書籍的評價,同時還可以對評價進行刪除處理。(9)公告管理:管理員通過該功能來對小程序端用戶發(fā)送通知。(10)會員卡管理:可以添加不同種類的會員卡。(11)管理員管理:主要是對管理員賬號的添加,修改,刪除的基本操作。1.4論文結(jié)構(gòu)第一章:闡述系統(tǒng)的研究背景及其研究意義,國內(nèi)外研究現(xiàn)狀和系統(tǒng)的研究內(nèi)容。第二章:對系統(tǒng)的可行性風(fēng)險,功能需求分析和業(yè)務(wù)流程分析來確定系統(tǒng)的可以實現(xiàn)性。第三章:闡述系統(tǒng)的總體設(shè)計和系統(tǒng)功能模塊的劃分,在描述數(shù)據(jù)庫的是怎樣設(shè)置的。第四章:闡述系統(tǒng)的開發(fā)及運行環(huán)境,在詳細的說明各模塊的流程圖和時序圖并用圖文講解。第五章:用測試用例來測試各個模塊的功能是否能夠正常使用運行,并使用測試工具對系統(tǒng)進行非功能性測試。第六章:闡述系統(tǒng)的研究背景及其研究意義,國內(nèi)外研究現(xiàn)狀和系統(tǒng)的創(chuàng)新之處。1.5本章小結(jié)本章類似于開頭指引,說明該系統(tǒng)的研究目的和意義,大致的描述了系統(tǒng)的基本功能。并闡述了論文結(jié)構(gòu),在對應(yīng)的章節(jié)需要對系統(tǒng)進行怎么的描述。

2需求分析本章對圖書小程序的可行性和功能需求進行分析和研究,以及用什么開發(fā)工具去實現(xiàn)其功能??尚行苑治鰪氖袌觯購慕?jīng)濟和技術(shù)兩方面來分析這個系統(tǒng)是否可行,結(jié)合功能需求方面,確定了該系統(tǒng)能實現(xiàn)什么功能以及怎么來實現(xiàn)。并大致描述該系統(tǒng)不同用戶有那些功能及其核心流程。2.1可行性分析為APP人口紅利尾聲,用戶增長邁入瓶頸期。潮退之時,互聯(lián)網(wǎng)巨頭最先做出應(yīng)對,以自身已經(jīng)有的超級APP為基搭建小程序或輕應(yīng)用的分發(fā)平臺。截至2019年6月,微信每個月活躍設(shè)備數(shù)高達11.2億,因“水之積也厚”以大水為托,微信小程序受到眾多開發(fā)者和用戶的熱情擁抱[9]。轉(zhuǎn)戰(zhàn)小程序的行業(yè)雖多,但是收到的效果各不相同。例如旅游出行行業(yè)借助小程序迎來第二春,而如傳統(tǒng)視頻或者較復(fù)雜的手游等因使用頻率、用戶體驗和技術(shù)限制等因素,并不適合搭上小程序的熱潮。因此,一項應(yīng)用或者服務(wù)更適合小程序端還是APP端有了初步的判斷標(biāo)準(zhǔn)。小程序以小博大,能夠觸達用戶更加全面的生活版圖,通過線上和線下的整合、打通行業(yè)下沉道,小程序?qū)c超級APP互相產(chǎn)生作用,互利共生,共同進步[10]。2.1.1經(jīng)濟可行性對于小程序來說,相比較移動軟件和Web應(yīng)用來說開發(fā)成本低。小程序無需安裝,隨點隨用,通過微信搜索就可以進入其中。通過將后臺代碼部署到服務(wù)器中,小程序端代碼只要提交通過,就可以在微信中找到對于的小程序。2.1.2技術(shù)可行性系統(tǒng)包括小程序端和Web管理端兩個部分,前端也頁面采用JS+CSS+HTML5技術(shù)開發(fā),Web端采用集成JavaScript和HTML5的Bootstrap框架和Vue.js開發(fā)。后臺采用SpringBoot和MyBatis,前后臺數(shù)據(jù)交互使用AJAX和JSON。2.1.3市場可行性對于目前的市場小程序開發(fā)塊還有很大一部分空白區(qū),就如我們著基于微信小程序的圖書管理系統(tǒng),大多市面上,高校中依舊使用傳統(tǒng)的web圖書管理,不方便讀者知道是否該圖書管有無用戶端借閱,用戶端是否可以知道圖書館有多少不同種類的書籍,該書籍現(xiàn)在是否還有數(shù)目可以借閱。所以我們的基于微信小程序圖書管理系統(tǒng)在市面上有很大的優(yōu)勢。2.2功能需求分析用戶使用圖書借閱小程序主要是要對圖書預(yù)約的借閱,還有通過不同的分類來查找到用戶所需要的書籍。當(dāng)然在用戶第一次使用小程序是需要授權(quán)注冊登入的,不然在預(yù)約書籍會給用戶跳轉(zhuǎn)到授權(quán)登入頁面。登入之后只是游客,只有用戶在管理員那邊開卡,成為會員才能借閱書籍。為方便擁有查找書籍可以通過首頁的搜索框進行查找。該查找是為模糊查找,通過模糊匹配書名來找到對應(yīng)的書籍,然后在下方顯示。點擊進入可以看到書籍的詳細信息。在書籍詳情頁面,用戶可以點擊預(yù)約書籍實現(xiàn)預(yù)約書籍。當(dāng)數(shù)目不足時,小程序端會提示庫存不足。用戶可以點擊加入書籍,書籍將會存到書籍之中,便于用戶收藏書籍。用戶通過評價,可以給書籍進行留言,分享自己的見解。用戶通過個人信息頁面,可以查看到個人的信息,并且編輯個人的詳細信息。管理員端主要是對用戶,書籍,借閱,留言,和管理員進行管理。用戶管理主要是對用戶進行查詢,辦理會員卡,充值金額,信息修改。對書籍是將書籍分為不同類別,然后將不同書籍加入不同類別。通過添加書籍使得小程序端可以看到這些添加的書籍。用戶在小程序端預(yù)約借閱了書籍,然后取到對應(yīng)的書籍到管理員這里,經(jīng)過管理員的確認(rèn),管理員通過操作點擊同意借閱,書籍借閱就成功。歸還書籍也是如此,用戶將書籍歸還到管理員這里,經(jīng)過管理員確認(rèn),管理員通過操作點擊確認(rèn)歸還就完成流程。如果是丟失,管理員點擊丟失,然后會扣除對應(yīng)的金額。管理員在留言管理功能中可以看到所有用戶對所有書籍的留言,如果是不正常的留言管理員可以通過刪除該條留言。對于公告功能,管理員可以在后端發(fā)送公告消息給用戶,用戶在小程序端可以收到系統(tǒng)的公告,方便圖書館的管理告知。管理員管理主要是對管理員賬號的修改,添加,刪除和禁用賬號。其中管理員用例圖如圖2-1所示。圖2-1管理員用例圖用戶用例圖如圖2-2所示。圖2-2用戶用例圖2.3業(yè)務(wù)流程分析此系統(tǒng)在小程序端預(yù)約借書,然后到圖書館取得對應(yīng)的書籍,在到管理員那邊經(jīng)過管理員確認(rèn)同意,書籍就借閱成功。之后歸還書籍,用戶到管理員這里將書籍歸還給管理員,經(jīng)過管理員確認(rèn)同意歸還,書籍歸還成功。(1)用戶借閱業(yè)務(wù)流程如下。用戶在首次使用該小程序時,需要先授權(quán)登入注冊。在獲取用戶的基本信息后然后用戶查看書籍。如果用戶想要預(yù)約借閱書籍,在點擊到書籍詳情頁面,之后點擊預(yù)約借閱。用戶非會員會提示用戶“您還不是會員,請前往管理員處開通會員卡后借閱”,如果用戶是會員預(yù)約借書成功。用戶在去圖書館取得對應(yīng)的書籍,然后再管理員處經(jīng)過管理員的確認(rèn)同意后借閱就成功。用戶借閱業(yè)務(wù)流程圖如圖2-3所示。圖2-3用戶借閱業(yè)務(wù)流程圖(2)歸還書籍業(yè)務(wù)流程如下。用戶再取得書籍之后想要歸還該書籍,需要前往圖書館管理員處,將要歸還的書籍交予管理員,待管理員確認(rèn)無誤。管理員點擊歸還書籍書籍歸還成功。如果書籍丟失,損毀告訴管理員,管理員點擊該圖書丟失然后再用戶的賬戶上扣除對應(yīng)的金額數(shù)目。歸還書籍業(yè)務(wù)流程圖如圖2-4所示。圖2-4歸還書籍業(yè)務(wù)流程圖2.4非功能性需求分析圖書管理系統(tǒng)微信小程序端可能存在多用戶同時使用,多個用戶同時從服務(wù)器段獲取資源。這樣可能存在多個用戶數(shù)據(jù)加載緩慢之類的問題出現(xiàn)。為保證用戶可以加快加載數(shù)據(jù)速度,查詢使用分頁查詢不一次將所有的數(shù)據(jù)查詢出來。當(dāng)用戶繼續(xù)想要獲得更多書籍信息下滑時,此時頁數(shù)加一,小程序端向后臺發(fā)送請求獲得下一頁的數(shù)據(jù),然后將數(shù)據(jù)拼接到一起減少用戶獲得的數(shù)據(jù)。使之提高用戶量減少多用戶加載數(shù)據(jù)慢的問題。2.5本章小結(jié)該章結(jié)主要大致的描述了該系統(tǒng)分為兩個不同的端口和用戶,對兩個不同的用戶有些什么樣的大致功能操作,及其主要業(yè)務(wù)流程功能“借閱”和“歸還”的流程。并且從市場可行性,經(jīng)濟可行性,技術(shù)可行性三個角度分析了該系統(tǒng)可以實現(xiàn)。

3概要設(shè)計本章將介紹該小程序的具體功能實現(xiàn)和數(shù)據(jù)庫的設(shè)計。對小程序進行功能模塊的劃分,主要分為前臺和后臺模塊。每個模塊有什么功能,怎么去實現(xiàn),以及該小程序的業(yè)務(wù)流程是怎樣的,通過這些,我們可以大概了解這個小程序的功能和使用方法。3.1系統(tǒng)總體設(shè)計本系統(tǒng)主要是對方便用戶知道圖書館擁有那些圖書,及圖書作者和位置,圖書數(shù)目以及圖書的詳細描述,可使得用戶不來圖書館也知曉圖書的信息,通過在小程序端預(yù)約借閱在來圖書館取書借閱達到用戶借書,便利用戶提高效率。該主流程圖如圖3-1所示。3.2系統(tǒng)功能模塊劃分通過對微信小程序的分析,我們將微信小程序分為:用戶模塊:主要對用戶登錄,用戶的退出,修改個人信息,查看借閱的訂單,查看個人的借閱卡,查看系統(tǒng)發(fā)的通告和聯(lián)系我們。首頁模塊:圖書分類索引、圖書的模糊查找、點擊圖書查看詳情、圖書的推薦。圖書分類模塊:通過不同的分類顯示不同的圖書,便于用戶找到對應(yīng)的圖書。書架模塊:用戶用來管理添加至?xí)艿膱D書,點擊圖書就可以跳轉(zhuǎn)到對應(yīng)的圖書詳情,選擇圖書然后預(yù)約可以預(yù)約借閱對應(yīng)的書籍,點擊刪除圖標(biāo),可以從書架中移除對應(yīng)的書籍。小程序功能模塊如圖3-2所示。管理員端主要模塊分為:(1)統(tǒng)計模塊:統(tǒng)計用戶總數(shù),圖書總數(shù)和借閱總數(shù)。和用圖表展示分析最近三十天的借閱數(shù)。圖3-1主功能流程圖模塊圖(2)用戶模塊:查找修改用戶和管理在此模塊給用戶辦理會員卡,給用戶卡內(nèi)金額充值。圖3-2小程序功能模塊圖(3)廣告模塊:用來管理小程序端首頁輪播圖,可以進行添加,修改和刪除或禁用該圖片。(4)分類模塊:管理分類,添加,修改和刪除分類。分類通過不同的排序位置也是不同的。(5)圖書模塊:可以通過圖書名稱的模糊查找來管理圖書,該模塊是可以對圖書的新增,修改,和刪除。(6)借閱模塊:管理員在該模塊對用戶進行借閱的管理,用戶在小程序端提交預(yù)約請求,用戶在該模塊同意借閱,同意歸還。也可以通過對借閱編號來搜索借閱。(7)評價模塊:管理員可以在該模塊對用戶在小程序端給書籍的留言進行管理。(8)繳費記入模塊:該模塊可以看到用戶的繳費記入。(9)公告模塊:管理員可以該模塊發(fā)通知給用戶,讓用戶收到系統(tǒng)的告知。同時可以對公告進行修改,刪除。(10)會員卡模塊:生成不同的會員卡,給與用戶辦理不同類型的卡。(11)管理員模塊:該模塊是對管理員的添加,修改,查詢和刪除的基本功能。管理端功能模塊如圖3-3所示。3.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的表結(jié)構(gòu)設(shè)計是整個項目開發(fā)中一個非常重要的環(huán)節(jié),一個良好的數(shù)據(jù)庫設(shè)計,可以提高開發(fā)效率,方便系統(tǒng)維護,并且為以后項目功能的擴展留下余地[11]。3.3.1概念設(shè)計用戶借閱書籍?dāng)?shù)據(jù)局部E-R圖如圖3-4所示。用戶書籍留言數(shù)據(jù)局部E-R圖如圖3-5所示。圖3-5用戶書籍留言數(shù)據(jù)局部E-R圖3-3管理端功能模塊圖圖3-4用戶預(yù)約數(shù)據(jù)局部E-R圖用戶開會員卡數(shù)據(jù)局部E-R圖如圖3-6所示。圖3-6用戶開會員卡數(shù)據(jù)局部E-R系統(tǒng)總體E-R圖如圖3-7所示。3.3.2邏輯設(shè)計對于數(shù)據(jù)庫的設(shè)計應(yīng)當(dāng)遵守3NF標(biāo)準(zhǔn)的數(shù)據(jù)庫的原則,達到在性能、擴展性和數(shù)據(jù)完整性方面達到了最好平衡[12]。數(shù)據(jù)表的描述如下所示。(1)用戶表(編號,微信openid,昵稱,頭像,性別,手機號碼,登入賬號,密碼,類型,創(chuàng)建時間)。(2)用戶會員卡表(編號,卡id,卡類型,用戶id,卡編號,金額,開卡日期,結(jié)束時間)。(3)分類表(編號,分類名稱,圖片地址,狀態(tài),排序)。(4)廣告表(編號,創(chuàng)建時間,圖片地址,狀態(tài),排序)。(5)圖書表(編號,圖書名稱,分類id,出版社,作者,價格,圖片地址,位置,描述)。(6)訂單表(編號,用戶id,訂單編號,訂單金額,訂單狀態(tài),開始日期,結(jié)束日期,備注,創(chuàng)建時間)。圖3-7總體E-R圖(7)訂單圖書表(編號,訂單id,圖書id,圖書名稱,數(shù)量,圖書圖片,作者)。(8)管理員表(編號,用戶名,密碼,郵箱,手機號,狀態(tài),創(chuàng)建時間)。(9)通知表(編號,標(biāo)題,內(nèi)容,創(chuàng)建時間)。(10)留言表(編號,用戶id,評價內(nèi)容,圖書id,評價時間)。3.3.3物理設(shè)計數(shù)據(jù)庫的物理設(shè)計是為了選擇合適的數(shù)據(jù)庫管理系統(tǒng),定義數(shù)據(jù)庫,表及字段的規(guī)范的命名[13]。(1)用戶表結(jié)構(gòu)如表3-1所示。表3-1user表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增openidvarchar255微信openidnicknamevarchar255昵稱avatar_urlvarchar255頭像genderchar1性別real_namevarchar50姓名mobilevarchar50手機號碼login_namevarchar50登錄賬號passwordvarchar100密碼typetinyint2類型create_timedatetime默認(rèn)創(chuàng)建時間(2)用戶會員卡表結(jié)構(gòu)如表3-2所示。表3-2user_card表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增card_idint11會員卡idcard_namevarchar100卡名稱card_typetinyint2卡類型member_idint11外鍵用戶idcard_numvarchar50創(chuàng)建時間amountdecimal10金額start_timedatetime默認(rèn)開卡日期end_timedatetime默認(rèn)結(jié)束日期card_typetinyint2卡類型(3)分類表結(jié)構(gòu)如表3-3所示。表3-3category表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增category_namevarchar255分類名稱續(xù)表3-3category表結(jié)構(gòu)pic_urlvarchar255圖片urlsortint11排序create_timedatetime默認(rèn)創(chuàng)建時間(4)廣告表結(jié)構(gòu)如表3-4所示。表3-4advert表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增pic_urlvarchar255圖片地址enabletinyint4是否啟用,0:禁用1:啟用sortint11頭像(5)圖書表結(jié)構(gòu)如表3-5所示。表3-5book表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增book_namevarchar255圖書名稱category_idint11外鍵分類IDpressvarchar50出版社authorvarchar10作者pricedecimal10價格pic_urlvarchar255圖片stockint11庫存locationvarchar20位置describetext默認(rèn)描述create_timedatetime默認(rèn)創(chuàng)建時間(6)訂單表結(jié)構(gòu)如表3-6所示。表3-6order表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增member_idint11外鍵用戶IDorder_numberint50訂單IDtotal_amountdecimal10訂單金額order_statustinyint3訂單狀態(tài)start_datedatetime默認(rèn)開始日期end_datedatetime默認(rèn)結(jié)束日期remarkvarchar255備注create_timedatetime默認(rèn)創(chuàng)建時間(7)訂單圖書表結(jié)構(gòu)如表3-7所示。表3-7order_book表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增order_idint11外鍵訂單IDbook_idint11外鍵圖書IDbook_namevarchar255圖書名稱numint11數(shù)量pic_urlvarchar255圖書圖片pricedecimal10價格authorvarchar20作者(8)管理員表結(jié)構(gòu)如表3-8所示。表3-8admin表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增usernameint50用戶名passwordint100密碼emailvarchar100郵箱mobilevarchar100手機號續(xù)表3-8admin表結(jié)構(gòu)statustinyint4狀態(tài)0:禁用1:正常create_timedatetime默認(rèn)創(chuàng)建時間(9)通知表結(jié)構(gòu)如表3-9所示。表3-9notice表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增titlevarchar255標(biāo)題contenttext默認(rèn)內(nèi)容create_timedatetime默認(rèn)創(chuàng)建時間(10)留言表結(jié)構(gòu)如表3-10所示。表3-10evaluation表結(jié)構(gòu)字段數(shù)據(jù)類型長度主鍵/外鍵備注Idint11主鍵代理主鍵,自增member_idint11用戶名contentvarchar255留言內(nèi)容book_idint11圖書idcreate_timedatetime默認(rèn)評價時間3.4本章小結(jié)本章主要對項目的功能模塊進行劃分,設(shè)計業(yè)務(wù)流程,最后再數(shù)據(jù)庫設(shè)計。模塊劃分后使得項目有了清晰整體框架,所以模塊劃分是必不可少的,簡化了許多繁瑣的步驟,使整個項目的定位有了清晰的結(jié)構(gòu)。最后闡述數(shù)據(jù)庫的概念、邏輯和物理設(shè)計,描述系統(tǒng)各實體及實體之間的關(guān)系,畫出對應(yīng)的E-R圖,最后設(shè)計出數(shù)據(jù)庫。

4詳細設(shè)計與實現(xiàn)本章的主要內(nèi)容主要是對系統(tǒng)模塊詳細設(shè)計的描述及實現(xiàn)過程,將會以流程圖,時序圖的方式來展示模塊實現(xiàn)過程。同時也需要介紹本系統(tǒng)的開發(fā)環(huán)境和運行環(huán)境的描述。4.1開發(fā)及運行環(huán)境描述該系統(tǒng)開發(fā)環(huán)境是基于Win11操作系統(tǒng),JDK1.8版本,使用Mysql5.7,谷歌瀏覽器,Navicat,小程序開發(fā)工具進行開發(fā)。后臺開發(fā)語言選用Java,采用Maven構(gòu)建項目,Maven有很多優(yōu)點,最大得優(yōu)點就是模塊化,依賴自動下載,主要用到SpringBoot框架,在框架BootStrap加載器負責(zé)初始化和啟動整個框架。它首先驅(qū)動配置加載器讀取框架的相關(guān)配置文件,然后通過啟動類加載器將框架基礎(chǔ)包路徑中涉及的所有類加載到框架中[14]。還用到了Mybatis,Mybatis主要封裝了JDBC,提供了靈活的SQL配置文件。后臺管理界面則采用了SpringBoot框架,BootStrap扁平化設(shè)計,使得界面整體美觀大方。Js用到Vue.js,數(shù)據(jù)Dom綁定,操作更加簡單方便。小程序則只用了自身的標(biāo)簽去實現(xiàn),樣式采用了微信官方提供Weui樣式庫。數(shù)據(jù)庫采用Mysql,Mysql體積小適合中小型項目開發(fā)。4.2小程序用戶登入模塊登入作為一個系統(tǒng)的基本功能,微信小程序可以實現(xiàn)無需要密碼登入,只需要通過獲得每一個用戶的唯一Openid將其儲存在數(shù)據(jù)庫中就可以。小程序用戶登入模塊流程圖如圖4-1所示。用戶點擊授權(quán)登入調(diào)用Wx.login獲得一個Code,然后在服務(wù)器端通過Code來訪問微信接口服務(wù)獲得唯一的Openid。通過對比數(shù)據(jù)庫中的Openid字段判斷用戶是否是新用戶,如果是新用戶,將獲得Openid儲存在數(shù)據(jù)庫中,然后返回登入成功。非新用戶將查詢調(diào)用用戶登入接口,將查詢到的用戶數(shù)據(jù)返回到小程序端。小程序用戶登入模塊時序圖如圖4-2所示。圖4-1小程序用戶登入模塊功能流程圖圖4-2小程序用戶登入模塊實現(xiàn)時序圖4.3修改個人信息模塊用戶首次登入后,需要用戶自身來完善自身的詳細信息,比如真實姓名,手機號,性別等。用戶在此模塊修改個人詳細信息。用戶登入模塊流程圖如圖4-3所示。圖4-3修改個人信息模塊功能流程圖與用戶點擊個人信息,跳轉(zhuǎn)到信息修改頁面,微信獲得用戶的信息,用戶點擊修改信息,將要修改的信息修改保存提交到后臺儲存在數(shù)據(jù)庫中。修改個人信息模塊時序圖如圖4-4所示。4.4查看借閱訂單信息模塊用戶首次登入后,在我的界面點擊我的借閱就可以在這里看到自己的借閱相關(guān)信息。如用戶預(yù)約的書籍,用戶以借閱的書籍,用戶以歸還的書籍。通過選擇不同的標(biāo)題欄,小程序端來顯示不同的分類。查看借閱訂單信息模塊流程圖如圖4-5所示。用戶進入該頁通過wx.request訪問ApiOrderController接口來獲得用戶的訂單信息,然后在使用orderService.queryList()方法來調(diào)用orderDao.queryList(map)接口來查詢數(shù)據(jù)庫來獲得訂單信息。查看借閱訂單信息模塊時序圖如圖4-6所示。圖4-4修改個人信息模塊實現(xiàn)時序圖4.5查看借閱卡模塊用戶在管理員端辦理借閱卡后可以在小程序端查看到自己辦理的借閱卡,可以看到自己卡內(nèi)的余額和卡卡用的時間。從用戶點擊我的借閱卡,就可以進入借閱卡頁面查看借閱卡模塊流程圖如圖4-7所示。用戶進入借閱卡頁面通過wx.request訪問ApiMemberCardController接口獲得用戶開卡的會員卡,在接口中調(diào)用memberCardService.queryList(map)方法來訪問service層,在service層調(diào)用memberCardDao.queryList(map),從而在Dao層查詢數(shù)據(jù)庫中數(shù)據(jù)得到用戶借閱卡信息。圖4-5查看借閱訂單信息模塊功能流程圖查看借閱卡模塊流程圖如圖4-7所示。用戶通過進入借閱卡頁面后通過wx.request訪問ApiMemberCardController接口獲得用戶開卡的會員卡,在接口中調(diào)用memberCardService.queryList(map)方法來訪問service層,在service層調(diào)用memberCardDaoqueryList(map),從而在dao層查詢數(shù)據(jù)庫中數(shù)據(jù)得到用戶借閱卡信息。查看借閱卡模塊時序圖如圖4-8所示。圖4-6查看借閱訂單信息模塊實現(xiàn)時序圖圖4-7查看借閱訂單信息模塊功能流程圖圖4-8查看借閱卡模塊實現(xiàn)時序圖4.6查看公告模塊管理員在系統(tǒng)后臺可以給小程序端的用戶發(fā)送通過,通知用戶信息。用戶點擊通知通告進入系統(tǒng)通知頁面可以看到管理員發(fā)的全部通告。點擊一條公告可以看到里面的詳細信息。查看公告模塊流程圖如圖4-9所示。用戶點擊通知通過進入通知頁面,然后通過wx.request訪問ApiNoticeController接口中l(wèi)ist方法,在該方法中noticeService.queryList(params)來調(diào)用Service層,在通過noticeService中的noticeDao.queryList(map)訪問Dao層查詢數(shù)據(jù)庫中數(shù)據(jù)獲得數(shù)據(jù)。然后選則一條公告點擊調(diào)用ApiNoticeController接口中detail方法,然后在調(diào)用noticeService.queryObject(id)到Service層,在noticeDao.queryObject(id)查詢獲得公告詳細信息查看公告模塊時序圖如圖4-10所示。圖4-9查看借閱訂單信息模塊功能流程圖4.7圖書分類索引模塊在首頁或者圖書分類欄中會使用到該模塊,用戶在進入小程序的首頁可以看到不同類別的圖書圖標(biāo),通過點擊不同類型的圖標(biāo)可以到達不同類別的圖書列表。用戶也可以在圖書分類欄選擇不同類別的圖書,然后在右側(cè)可以看到不同類型的圖書。圖書分類索引模塊流程圖如圖4-11所示。用戶在小程序通過wx.request向服務(wù)器的ApiCategoryController接口發(fā)起請求,該接口調(diào)用categoryService.queryList(params)方法,在通過Service層中的調(diào)用categoryDao.queryList(map)方法訪問dao層訪問數(shù)據(jù)庫。然后用戶通過選擇不同的分類調(diào)用ApiBookController接口訪問服務(wù)器,使用bookService.queryList(query)方法來訪問bookService層調(diào)用bookDao.queryList(map)方法訪問dao層查詢數(shù)據(jù)庫中的數(shù)據(jù),在將數(shù)據(jù)返回給小程序端頁面。圖書分類索引模塊時序圖如圖4-12所示。圖4-10查看公告模塊實現(xiàn)時序圖4.8圖書查找模塊用戶想要精確的搜索某本書籍就需要通過該模塊來進行,用戶主要在搜索框中輸入書籍的名稱,或者書籍的部分名稱。當(dāng)數(shù)據(jù)庫中擁有該書籍,則會將查詢到的數(shù)據(jù)返回給小程序端,展示給用戶看,讓用戶選擇書籍。圖書查找模塊流程圖如圖4-13所示。在點擊搜索框,然后通過起wx.request訪問ApiBookController接口,在從中調(diào)用其中的bookService.queryList(query)方法來經(jīng)過Service來訪問dao層在查詢數(shù)據(jù)庫中的數(shù)據(jù)。圖書查找模塊時序圖圖如圖4-14所示。圖4-11圖書分類索引模塊功能流程圖圖4-13圖書查找模塊實現(xiàn)時序圖圖4-12圖書分類索引模塊實現(xiàn)時序圖4.9查看圖書詳情模塊用戶點擊某本書籍,就可以進入該書籍的詳情頁面可以在詳情頁面看到圖書的名稱,作者,圖書位置,出版社,及其圖書內(nèi)容簡介和用戶對該書的留言。查看圖書詳情模塊流程圖如圖4-15所示。小程序端同過requset請求訪問ApiBookController接口中的detail方法,在經(jīng)過bookService.queryObject(id)來訪問Service層bookPicDao.queryByBookId(id)調(diào)用dao層,完成數(shù)據(jù)的查詢。4.10評論留言模塊用戶在選擇查看某本書籍可以看到書籍的詳情,同時也可以在下面可以看到用戶對該書籍的評論留言。用戶通過點擊留言,跳轉(zhuǎn)到留言輸入頁面,若用戶沒有登入則跳轉(zhuǎn)到用戶登入界面。用戶在留言輸入界面通過輸入自己對本書的看法或者其他想法寫入輸入框中,然后點擊保存。評論留言模塊流程圖如圖4-17所示。圖4-14圖書查找模塊模塊實現(xiàn)時序圖圖4-15查看圖書詳情模塊功能流程圖查看公告模塊時序圖如圖4-16所示。圖4-16查看圖書詳情模塊實現(xiàn)時序圖小程序端點擊到評論輸入頁面,通過wx.request訪問ApiEvaluationController提交數(shù)據(jù),在通過orderEvaluationService.save(orderEvaluation)方法訪問Service層中的seve方法訪問dao層操作數(shù)據(jù)庫。評論留言時序圖如圖4-18所示。4.11圖書預(yù)約模塊用戶想要借閱該書籍,可以在小程序端書籍詳情頁面或者書架頁面預(yù)約書籍。但在預(yù)約書籍前需要判斷用戶是否有借閱卡,如果沒有圖書卡,就會提示用戶前往管理員端開卡借閱。用戶在小程序端預(yù)約成功后前往圖書館取書,然后經(jīng)過管理員同意借閱成功。圖書預(yù)約模塊流程圖如圖4-19所示。圖4-17評論留言模塊功能流程圖用戶在小程序端預(yù)約頁面確認(rèn)預(yù)約的書籍,通過confirmOrder函數(shù)來對用戶類型進行確定是否是擁有會員卡,在通過wx.request來訪問服務(wù)器的ApiOrderController接口中的create方法,該方法調(diào)用先調(diào)用bookService.queryObject()查詢書籍量是否用剩余,如果有則創(chuàng)建訂單orderService.createOrder(order),然后在Service層中調(diào)用orderDao.save(order)在dao層操作數(shù)據(jù)庫。評論留言時序圖如圖4-20所示。圖4-18評論留言模塊實現(xiàn)時序圖4.12管理員登入模塊在管理員通過網(wǎng)址訪問后臺管理系統(tǒng),首先需要先通過賬號登入認(rèn)證到后臺,所以管理員需要在改頁面輸入賬號,密碼及其驗證碼,各項正確后才能進入后臺管理系統(tǒng)。如果密碼錯誤則會提示賬號或密碼錯誤,如果是驗證碼錯誤會會提示驗證碼錯誤并且刷新新的驗證碼。管理員登入模塊流程圖如圖4-21所示。通過訪問后臺登入頁面,先通過訪問SysLoginController接口中的captcha方法,改方法繪制驗證碼圖片返回給前端頁面。然后用戶輸入賬號,密碼,驗證碼。在login方法判斷驗證碼是否正確,然后在通過sysUserService.queryByUserName(username)方法調(diào)用Service層中的queryByUserName(username)中訪問dao.queryByUserName()調(diào)用Dao層在訪問數(shù)據(jù)庫查詢到密碼,然后在SysLoginController的login方法中驗證,再將結(jié)果返回給前端頁面。圖4-19評論留言模塊功能流程圖管理員登入模塊流程圖如圖4-22所示。4.13統(tǒng)計模塊在管理員登入成功后會進入首頁,也是統(tǒng)計分析頁面,改頁面統(tǒng)計了小程序用戶總數(shù),借閱書,和圖書數(shù)目。并通過圖表展示了近三十天的借閱量。統(tǒng)計模塊流程圖如圖4-23所示。在管理員訪問統(tǒng)計分析頁面,通過訪問StatisticsController中的query方法查詢memberService.queryTotal(map),bookService.queryTotal(map),orderService.queryTotal(map)的Service層和30天訂單數(shù)orderService.queryOrderCount()方法,每個不同的Service調(diào)用各自的dao.queryTotal(map)來查詢數(shù)據(jù)庫圖書,用戶,訂單總量。在返回給Service層,Service層在返回到StatisticsController的query方法中。通過map集轉(zhuǎn)字符串返回給前端。圖4-20評論留言模塊實現(xiàn)時序圖統(tǒng)計模塊時序圖如圖4-24所示。4.14用戶管理模塊在管理員進入后臺,選擇用戶管理,到達用戶管理頁面??梢栽谳斎肟蛑休斎雽?yīng)的內(nèi)容進行查找用戶,改輸入框可以進行雙重篩選,也可以只輸入一個單重篩選。在點擊查詢就可以查詢出對應(yīng)的用戶。點擊詳情,可以看到用戶更多的詳細詳細。勾選用戶,點擊修改可以對勾選的用戶進行用戶信息的修改。這頁面也是最關(guān)鍵的內(nèi)容——用戶開卡,小程序端用戶想要開卡需要在管理員處開卡。管理員就在改頁面給用戶進行開卡。圖4-21管理員模塊功能流程圖用戶管理模塊流程圖如圖4-25所示。管理員訪問頁面想通過請求MemberController中的list方法獲得所有用戶信息,然后在進行操作用戶。如修改用戶信息,在調(diào)用Update方法訪問MemberDao中的memberDao.update(member)訪問MemberDao層操作數(shù)據(jù)庫,更新用戶的信息。前端點擊用戶詳情調(diào)用MemberController中的getInfo方法,在該方法中訪問queryObject方法在MemberService中的,queryObject中有使用了memberDao中的queryList(map)來查詢數(shù)據(jù)庫數(shù)據(jù)庫。在將查詢的數(shù)據(jù)返回,封裝發(fā)給前端頁面。圖4-22管理員登入模塊實現(xiàn)時序圖用戶管理模塊時序圖如圖4-26所示。4.15廣告管理模塊在管理員點擊進入廣告管理模塊可以對輪播圖進行添加,修改,排序,禁用或刪除功能。廣告管理模塊流程圖如圖4-27所示。圖4-23統(tǒng)計模塊功能流程圖管理員在進入廣告管理模塊頁面,先通過list方法請求AdvertController接口中的list方法,在該方法中有adverService.queryList(query)來調(diào)用AdvertService層的querylist方法,在訪問Dao層來查詢數(shù)據(jù)庫中Advert表中全部信息,在將數(shù)據(jù)封裝到list集合返回到Controller層。在封裝數(shù)據(jù)給前端頁面。管理員在看到這些信息條,選擇一個進行操作調(diào)用對應(yīng)的方法如update方法,訪問AdvertController調(diào)用方法advertService.update(advert),訪問AdvwertDao操作數(shù)據(jù)庫,在返回結(jié)果給前端頁面。廣告管理模塊時序圖如圖4-28所示。4.16分類管理模塊在管理員點擊分類管理欄進入分類管理頁面,該頁面是對圖書分類的管理,進入該頁面可以對分類的新增,修改,刪除功能。點擊新增,填寫相關(guān)信息,提交然后完成新增功能。勾選某個分類,在點擊修改功能,在修改信息提交完成修改功能勾選某個分類,點擊刪除按鈕,完成刪除功能。圖4-24管理員登入模塊實現(xiàn)時序圖廣告管理模塊流程圖如圖4-29所示。管理員在進入分類管理模塊頁面,先通過listAll方法請求CategoryController接口中的listAll方法,然后categoryService.queryList(params)方法訪問categoryService層的queryList(params),再在該方法中調(diào)用categoryDao.queryList(map)訪問categoryDao層來查詢數(shù)據(jù)庫中所有分類的信息,然后List<CategoryEntity>集合方式返回致CategoryController中的queryList方法中,然后再將數(shù)據(jù)封裝成map集返回給前端頁面。用戶點擊修改按鈕然后調(diào)用CategoryController接口中的update方法。在該方法中categoryService.update(category)方法訪問categoryService層在調(diào)用categorydao中的update()方法操作數(shù)據(jù)庫。成功后在CategoryController將成功消息放回給前端頁面。圖4-25用戶管理模塊功能流程圖圖4-26用戶管理模塊功能流程圖圖4-27廣告管理模塊功能流程圖分類管理模塊時序圖如圖4-30所示。4.17圖書管理模塊在管理員點擊圖書管理欄,進入圖書管理頁面,在該頁面可以看到所有的圖書,管理員在輸入款輸入圖書名稱,點擊查詢可以查到所有有關(guān)這個關(guān)鍵字的圖書。勾選某本圖書,在點擊修改,將要最新的圖書信息內(nèi)容,圖片等填寫完畢點擊確定提交。就可以將書籍內(nèi)容修改。當(dāng)勾選一條圖書內(nèi)容,點擊刪除該圖書將在數(shù)據(jù)庫中刪除書籍的相關(guān)內(nèi)容。點擊新增按鈕,填寫書籍的相關(guān)信息,確定提交就可以在數(shù)據(jù)庫中添加該書籍。圖4-28廣告管理模塊功能時序圖圖書管理模塊流程圖如圖4-31所示。管理員竟然圖書管理頁面,先通過請求BookController的list方法獲得當(dāng)前分頁全部圖書,然后管理員通過輸入框輸入相應(yīng)的關(guān)鍵字通過將參數(shù)傳給list方法,在list方法中bookService.queryList(query)訪問bookService層,然后在調(diào)用bookDao層中的queryList(map)方法查詢數(shù)據(jù)庫,在將數(shù)據(jù)以List<BookEntity>集合方式返回到BookController層中,然后將數(shù)據(jù)封裝成map集裝字符串返回給前端頁面。管理員勾選某本書籍,將數(shù)據(jù)填寫完成然后提交到BookController中update方法中。在該方法中會調(diào)用bookService.update(book)方法來訪問bookService層,然后該方法又會調(diào)用bookDao.update(book)來訪問Dao層操作數(shù)據(jù)庫。然后在BookController將操作成功的消費封裝在map集中以字符的形式放回給前端頁面。管理員在選擇一本書籍然后點擊刪除按鈕,訪問BookController層delete方法,在通過bookService.update(book)。圖4-29分類管理模塊功能流程圖方法訪問bookService層在在該方法中調(diào)用Dao層的update來更新數(shù)據(jù)庫中的book表。圖書管理模塊時序圖如圖4-32所示。4.18圖書借閱管理模塊在管理員點擊借閱管理來到借閱管理界面,用戶預(yù)約的書籍在該頁面進行管理,在輸入框中輸入訂單編號可以搜索到對應(yīng)的借閱訂單。管理員可以對借閱訂單進行操作。用戶剛預(yù)約借閱書籍,然后取得書籍到管理員,管理員找到對應(yīng)的訂單對其同意借閱。用戶在歸還書籍,看用戶是否歸還書籍,如果歸還點擊歸還,如果丟失了選擇丟失,并從用戶賬號上扣除對應(yīng)的金額。管理員勾選某個訂單,可以對其進行刪除。圖4-30分類管理模塊功能時序圖圖書借閱管理模塊流程圖如圖4-33所示。管理員在訪問該頁面時候,會向后臺的OrderController接口中的list方法獲取當(dāng)前分頁的全部訂單,在該方法中會調(diào)用OrderService層中的queryLists方法,在該方法又會調(diào)用OrderDao中的queryList來查詢數(shù)據(jù)庫,將查詢到的數(shù)據(jù)以List集合放回到OrderController層中,在把數(shù)據(jù)封裝成map集返回給前端頁面。管理員通過輸入訂單號來查看訂單,也是調(diào)用了OrderController接口中的list方法。管理員在修改訂單的狀態(tài)調(diào)用OrderController接口中的update方法,該方法中會使用update(order)訪問orderService中的update方法,該方法通過orderDao.update(order)調(diào)用Dao,再在Dao層修改數(shù)據(jù)庫修改訂單表中的狀態(tài)。圖書借閱管理模塊時序圖如圖4-34所示。圖4-31分類管理模塊功能流程圖圖4-32分類管理模塊功能時序圖圖4-33圖書借閱管理模塊功能流程圖圖4-34圖書借閱管理模塊功能時序圖4.19本章小結(jié)本章主要是對系統(tǒng)開發(fā)的環(huán)境及技術(shù)的介紹何各個模塊設(shè)計實現(xiàn)的詳細過程描述,是經(jīng)過那些接口方法,怎么實現(xiàn)模塊的。數(shù)據(jù)的傳遞過程調(diào)用了那些方法,及其它們之間的過程順序。

5系統(tǒng)測試為保證此小程序的設(shè)計與開發(fā)的質(zhì)量和可靠性,本章通過對小程序進行單元測試、功能測試和性能測試來找出可能出現(xiàn)的缺陷與錯誤,來驗證代碼功能效果和預(yù)想實現(xiàn)效果是否一致,根據(jù)測試結(jié)果和預(yù)先對比來填表登記。通過這些測試,我們可以修改系統(tǒng)中存在的問題,驗證系統(tǒng)是否滿足用戶的需求。5.1測試目的1.通過系統(tǒng)測試研制系統(tǒng)功能是否如預(yù)期結(jié)果一樣。2.針對本系統(tǒng)的關(guān)鍵功能進行性能測試,包括商品列表獲取、商品分類、商品管理和訂單管理。在此系統(tǒng)進行初步實現(xiàn)之后,開始進行對系統(tǒng)進行測試,找出系統(tǒng)中存在的Bug,通過測試,用提交的Bug報告來為以后軟件的改進提供標(biāo)準(zhǔn)和參考,能夠在以后的系統(tǒng)改進中找到依據(jù)。測試后的軟件各模塊基本功能可以順利進行,盡可能的提高軟件的健壯性。5.2功能性測試完成軟件的功能測試就是驗證產(chǎn)品的每個特性。通過功能測試用例。測試每個功能,看看產(chǎn)品是否滿足用戶所需的功能。在軟件功能測試中,為每個功能設(shè)計幾個典型的測試用例,在軟件測試過程中運行測試用例,并將測試結(jié)果與已知的標(biāo)準(zhǔn)答案進行比較。我們使用的軟件產(chǎn)品注冊測試主要是測試軟件的功能。5.2.1用戶登入模塊測試用例用戶登入在小程序端分為首次登入,和非首次登入。登入都是小程序端用戶授權(quán)登入無需密碼。首次登入自動注冊將openid存入數(shù)據(jù)庫。非首次登入查詢數(shù)據(jù)庫。表5-1登入模塊測試用例表用例編號01被測功能登入模塊功能描述用戶登入獲取數(shù)據(jù)庫中信息測試目的登入功能是否可以正常使用續(xù)表5-1登入模塊測試用例表結(jié)構(gòu)測試步驟使用新賬號來授權(quán)登入,觀察數(shù)據(jù)表中是否多出一個用戶。在用老用戶賬號授權(quán)登入點擊個人信息,看是否獲取信息成功序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1新用戶新用戶授權(quán)登入數(shù)據(jù)庫中多出一個用戶2老用戶老用戶授權(quán)登入正常獲取信息5.2.2書籍預(yù)約模塊測試用例用戶登入在小程序端分為首次登入,和非首次登入。登入都是小程序端用戶授權(quán)登入無需密碼。首次登入自動注冊將openid存入數(shù)據(jù)庫。非首次登入查詢數(shù)據(jù)庫。表5-2書籍預(yù)約模塊測試用例表用例編號02被測功能書籍預(yù)約模塊功能描述用戶在小程序端預(yù)約書籍測試目的測試用戶未登入,用戶未開卡,用戶賬號余額不足,圖書數(shù)目不足和正常預(yù)約情況下預(yù)約書籍測試步驟使用新賬號來授權(quán)登入,觀察數(shù)據(jù)表中是否多出一個用戶。在用老用戶賬號授權(quán)登入點擊個人信息,看是否獲取信息成功序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1用戶未登入點擊預(yù)約書籍未登入預(yù)約書籍跳轉(zhuǎn)到登入頁面2用戶未開卡點擊預(yù)約書籍未開卡預(yù)約書籍提示用戶前往管理員處開卡3用戶卡內(nèi)余額不足點擊預(yù)約書籍未開卡預(yù)約書籍提示用戶前往管理員處進行充值4圖書庫存不足點擊預(yù)約書籍圖書庫存不足預(yù)約書籍提示用戶庫存不足5正常預(yù)約預(yù)約預(yù)約書籍功能預(yù)約成功跳轉(zhuǎn)到圖書訂單頁面書籍預(yù)約模塊測試結(jié)果的頁面截圖如圖5-1所示。5.2.3書架模塊測試用例用戶可以將書籍添加至?xí)芡ㄟ^在書籍詳情頁面進行添加,在書架頁面可以將添加的書籍移除。該測試用例來測試書籍沒有在書籍情況,書籍已在書架添加該書籍。從書架移除該書籍。圖5-1書籍預(yù)約模塊測試結(jié)果的頁面截圖表5-3書架模塊測試用例表用例編號03被測功能書架模塊功能描述用戶在小程序端添加移除書籍測試目的測試在書籍有該書籍添加該書籍,沒有該書籍添加該書籍,和移除書籍的功能。測試步驟使用新賬號來授權(quán)登入,觀察數(shù)據(jù)表中是否多出一個用戶。在用老用戶賬號授權(quán)登入點擊個人信息,看是否獲取信息成功序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1在書架中沒有該書籍添加該書籍未擁有書籍添加提示用戶添加成功2在書架中擁有該書籍添加該書籍書架擁有書籍添加提示用戶書架已存在3移除書架中書籍書架書籍移除書架對應(yīng)書籍消失5.2.4圖書搜索模塊測試用例用戶通過點首頁搜索框輸入對應(yīng)書籍名稱,或者書籍的部分名稱進行圖書收縮然后在列表中顯示相關(guān)圖書。表5-4圖書搜索模塊測試用例表用例編號04被測功能書籍搜索模塊功能描述用戶在小程序端搜索書籍測試目的測試用戶輸入部分書籍名可以在列表中在列表中顯示對應(yīng)的圖書。測試步驟用戶輸入圖書名稱中部分關(guān)鍵字,然后搜索,看是否可以獲得在列表中顯示對應(yīng)的圖書。在書籍外的關(guān)鍵字,是否顯示相關(guān)圖書。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1輸入書籍部分關(guān)鍵字搜索書籍顯示相關(guān)書籍2輸入書籍超出關(guān)鍵詞搜索書籍無相關(guān)書籍圖書搜索模塊測試結(jié)果的頁面截圖如圖5-2所示。圖5-2圖書搜索模塊測試結(jié)果的頁面截圖5.2.5管理員登入模塊測試用例管理員在訪問后臺時需要先登入才能進入后臺管理模塊,而登入模塊是后臺的入口,這個模塊極為重要。通過測試賬號密碼錯誤登入,測試驗證碼錯誤登入,直接訪問后臺主頁測試,正常正確登入測試用例來測試登入模塊。表5-5管理員登入模塊測試用例表用例編號05被測功能管理員登入模塊功能描述管理員登入后臺測試目的測試登入功能,在非正常訪問時,不允許進入后臺管理模塊。在正常訪問時,輸入正確的賬號,密碼和驗證碼正常訪問到后臺。測試步驟輸入賬號,錯誤的密碼,驗證碼登入。輸入正確賬號,密碼,錯誤的驗證碼登入。直接跳過登入訪問后臺主頁頁面。用正常的賬號密碼正確的驗證碼登入。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1輸入賬號,錯誤的密碼,驗證碼登入管理員登入功能,賬號密碼驗證頁面提示賬號或密碼錯誤2輸入正確賬號,密碼,錯誤的驗證碼登入管理員登入功能,驗證碼驗證頁面提示驗證碼錯誤3用正常的賬號密碼,正確的驗證碼登入登入功能登入成功跳轉(zhuǎn)到主頁4直接訪問后臺主頁繞過登入功能無法直接跳轉(zhuǎn)的主頁自動跳轉(zhuǎn)到登入頁面管理員登入模塊測試結(jié)果的頁面截圖如圖5-3所示。圖5-3圖書搜索模塊測試結(jié)果的頁面截圖5.2.6用戶管理模塊測試用例管理員在該模塊對用戶進行操作,測試在輸入框姓名查找用戶,勾選用戶修改用戶信息,勾選用戶幫助用戶開卡,給用戶賬號充值。表5-6用戶管理模塊測試用例表用例編號06被測功能用戶管理模塊功能描述管理員在該模塊管理用戶的信息測試目的測試該模塊內(nèi)的功能是否可以正常使用續(xù)表5-6用戶管理模塊測試用例表結(jié)構(gòu)測試步驟在輸入框中輸入姓名查找用戶。勾選用戶修改用戶信息。幫助用戶開卡。給用戶賬號金額充值。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1在輸入框中輸入姓名查找用戶用戶查找功能顯示出查找的用戶2勾選用戶修改用戶信息修改用戶信息修改成功,跳回用戶管理頁面3幫助用戶開卡會員卡辦理辦理成功,跳回用戶管理頁面4用戶賬號充值金額充值用戶金額欄中金額增加用戶管理模塊測試結(jié)果的頁面截圖如圖5-4所示。圖5-4用戶管理模塊測試結(jié)果的頁面截圖5.2.7廣告管理模塊測試用例廣告管理模塊主要是管理小程序端主頁的輪播圖,該測試用例是對廣告管理中新增,修改和刪除功能的測試。表5-7廣告模塊測試用例表用例編號07被測功能廣告管理模塊功能描述在該功能模塊可以對輪播圖的修改,新增刪除測試目的測試該模塊內(nèi)的功能是否可以正常使用續(xù)表5-7廣告模塊模塊測試用例表結(jié)構(gòu)測試步驟進入該模塊,點擊新增,然后填入對應(yīng)的文字和圖片,點擊保存。勾選對應(yīng)的列,點擊修改,更改里面的排序,在小程序端觀察。勾選對應(yīng)的列,點擊刪除,觀察是否刪除。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1點擊新增按鈕,輸入對應(yīng)的文字和圖片新增功能在廣告表欄中會多出一列數(shù)據(jù)2修改輪播圖中的圖片順序修改功能在小程序端的輪播圖順序發(fā)生改變3勾選一列刪除刪除功能在廣告表中少了對應(yīng)的數(shù)據(jù)列5.2.8圖書管理模塊測試用例在圖書管理模塊可以進行圖書的搜索,添加,刪除和修改的基本功能,也是管理員對圖書常用功能,所以需要對這些功能進行測試。表5-8圖書管理模塊測試用例表用例編號08被測功能圖書管理模塊功能描述該模塊是對圖書的日常維護經(jīng)常使用的模塊測試目的對圖書的增刪改查進行功能性測試,看功能是否正常。測試步驟點擊新增按鈕填寫對應(yīng)的數(shù)據(jù),點擊保存觀察表格中是否多出剛剛添加的數(shù)據(jù)。在輸入框中輸入書籍名稱,看表格中是否出現(xiàn)對應(yīng)的書籍。然后在對書籍進行修改,修改后保存,跳回該頁面觀察表格中是否對應(yīng)的書籍是否發(fā)生修改。然后勾選書籍進行刪除,觀察表格中的書籍是否消失。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1點擊新增按鈕,數(shù)據(jù)的全部信息新增書籍功能在圖書表中多出一列數(shù)據(jù)。2在搜索框中輸入書籍名稱書籍查找功能在表格中顯示對應(yīng)的書籍續(xù)表5-8圖書管理模塊測試用例表結(jié)構(gòu)3修改書籍內(nèi)信息書籍修改功能可以在書籍表格中看到信息修改4勾選一本書籍對其進行刪除書籍刪除功能書籍表格中無法找到該書籍圖書管理模塊測試結(jié)果的頁面截圖如圖5-5所示。圖5-5圖書管理模塊測試結(jié)果的頁面截圖5.2.9圖書借閱管理模塊測試用例管理員在此模塊對圖書借閱訂單進行維護,用戶在借閱書籍然后管理員在該頁面同意用戶借閱,用戶歸還書籍在管理員點擊同意??梢栽谒阉骺蛑休斎雽?yīng)的訂單號,搜索出對應(yīng)的訂單。表5-9圖書借閱管理模塊測試用例表用例編號09被測功能圖書借閱管理模塊功能描述該模塊是借閱訂單狀態(tài)修改的模塊測試目的測試書籍借閱,書籍歸還功能是否可以使用。測試步驟用戶在小程序端預(yù)約書籍,管理員搜索框中輸入訂單號查找訂單,測試查找功能。然后點擊同意,測試書籍借閱功能。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果續(xù)表5-9圖書借閱管理模塊測試用例表結(jié)構(gòu)1在輸入框中輸入對應(yīng)的訂單號查找訂單書籍訂單查找在表格中顯示對應(yīng)的訂單2小程序端發(fā)起借閱請求,然后管理員同意借閱同意借閱訂單狀態(tài)發(fā)生改變,成借閱中狀態(tài)3用戶歸還書籍,管理員選擇歸還書籍歸還對應(yīng)圖書數(shù)目發(fā)生變化圖書訂單管理模塊測試結(jié)果的頁面截圖如圖5-6所示。圖5-6圖書借閱管理模塊測試結(jié)果的頁面截圖5.2.10公告管理模塊測試用例公告管理模塊主要是管理端對用戶端發(fā)送通知,通知用戶一些信息。將對該模塊的發(fā)布公告,刪除公告和修改公告的功能進行測試,看功能是否能正常使用。表5-10公告管理模塊測試用例表用例編號10被測功能公告管理模塊功能描述發(fā)布通知給小程序端用戶測試目的測試發(fā)布公告,修改公告和刪除公告內(nèi)容是否可以正常使用。測試步驟管理員點擊新增公告輸入標(biāo)題和內(nèi)容確定,然后在小程序端查看公告,看是否存在該公告。點擊修改公告中的內(nèi)容在小程序端看內(nèi)容是否被修改。勾選一條公告,點擊刪除在觀察小程序端,看這條公告是否消失。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1點擊新增公告按鈕,輸入對應(yīng)標(biāo)題和內(nèi)容。發(fā)布公告小程序端可以看到對應(yīng)的公告2勾選某條公告修改其中內(nèi)容修改公告在小程序端可以看到內(nèi)容的修改3勾選某條公告選擇刪除刪除公告對應(yīng)的公告消失5.2.11管理員管理模塊測試用例管理員在該模塊可以在輸入框中輸入名稱查詢管理員,勾選一個賬號然后點擊修改,點擊添加按鈕添加管理員用戶,和刪除按鈕刪除對應(yīng)賬號,依次對功能進行。表5-11管理員管理模塊測試用例表用例編號11被測功能管理員管理模塊功能描述管理管理員賬號測試目的測試該管理員模塊中的功能是否都可以正常使用測試步驟在輸入框中輸入用戶名來搜索管理員賬戶,然后在表格中查看是否有該賬號。點擊新增按鈕,輸入對應(yīng)的數(shù)據(jù),然后確認(rèn)保存觀察表格中是否新增了該列。勾選某條數(shù)據(jù)點擊修改,修改其中內(nèi)容,觀察是否修改成功。勾選一列,刪除,表格中數(shù)據(jù)是否消失。序號輸入數(shù)據(jù)/動作測試點預(yù)期結(jié)果1在輸入框中輸入用戶名點擊搜索搜索管理員用戶在表格中出現(xiàn)對應(yīng)的管理員用戶2點擊新增按鈕,填入管理員用戶對應(yīng)的數(shù)據(jù)新增管理員用戶在表格中增加了一條管理員數(shù)據(jù)3勾選一個管理員列,點擊修改按鈕,然后修改數(shù)據(jù)修改

溫馨提示

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

評論

0/150

提交評論