




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
網(wǎng)上圖書商城的設(shè)計與實現(xiàn)摘要隨著互聯(lián)網(wǎng)的發(fā)展與普及和人們生活質(zhì)量的提高,更多的人逐漸習慣于網(wǎng)上購物,網(wǎng)絡(luò)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠帧;ヂ?lián)網(wǎng)的發(fā)展為人們帶來諸多服務(wù),因此網(wǎng)絡(luò)購物就誕生了。網(wǎng)上購物使得人們不用出門就可以充分了解所感興趣的商品,而且商品的類型要比線下實體店更加豐富。實體店存在諸如商品類型少、客戶流量小、房租成本高等局限性,導致網(wǎng)上購物在當前社會飛速發(fā)展。網(wǎng)上圖書商城的誕生,可使廣大人民群眾通過網(wǎng)絡(luò)來輕松購買自己喜愛的書籍,為廣大讀者提供了一種高質(zhì)量、更方便、更快捷的購書方式。網(wǎng)上圖書商城使用VSCode軟件構(gòu)建模塊框架和界面的美化,使用html為基礎(chǔ)的Vue+Element框架建立前端頁面。使用Navicat建立MySQL數(shù)據(jù)庫系統(tǒng)。使用IDEA軟件創(chuàng)建Maven項目,采用以Java為基礎(chǔ)的SSM+SpringBoot框架編寫后臺接口對數(shù)據(jù)庫進行操作,并且使用Ajax技術(shù)實現(xiàn)前端與后臺之間數(shù)據(jù)的交互。該網(wǎng)站為用戶提供圖書瀏覽、購物車添加、商品購買等用戶體驗更佳的模塊,以及使管理員更方便管理的管理系統(tǒng)。通過對網(wǎng)上圖書商城的設(shè)計與實現(xiàn),讓更多的用戶感受到互聯(lián)網(wǎng)給我們帶來的諸多福利,可以做到不用出門就可以充分了解所感興趣的圖書商品,在線上就可以完成對圖書商品進行了解和購買。關(guān)鍵詞:網(wǎng)上圖書商城;Vue+Element;SSM+SpringBoot目錄第1章緒論 11.1設(shè)計提出的背景 11.2網(wǎng)上圖書商城的發(fā)展概況 11.3設(shè)計目的及意義 11.4網(wǎng)站的設(shè)計思想 2第2章需求分析 32.1系統(tǒng)功能概述 32.2功能需求分析 32.3用例建模 32.3.1登錄模塊所需功能 42.3.2用戶注冊模塊所需功能 42.3.3用戶模塊所需功能 42.3.4管理員模塊所需功能 52.4開發(fā)語言的選擇 62.5開發(fā)軟件和數(shù)據(jù)庫選擇 62.5.1開發(fā)軟件 62.5.2數(shù)據(jù)庫 7第3章概要設(shè)計 83.1功能概述 83.2數(shù)據(jù)庫設(shè)計 93.2.1概念結(jié)構(gòu)設(shè)計 93.2.2邏輯結(jié)構(gòu)設(shè)計 10第4章詳細設(shè)計與實現(xiàn) 144.1登錄模塊的設(shè)計與實現(xiàn) 144.1.1登錄模塊的設(shè)計 144.1.2登錄模塊的實現(xiàn) 144.2圖書查詢的設(shè)計與實現(xiàn) 154.2.1圖書查詢的設(shè)計 154.2.2圖書查詢的實現(xiàn) 164.3圖書信息管理的設(shè)計與實現(xiàn) 164.3.1圖書信息管理的設(shè)計 164.3.2圖書信息管理的實現(xiàn) 174.4購物車功能的設(shè)計與實現(xiàn) 184.4.1購物車功能的設(shè)計 184.4.2購物車功能的實現(xiàn) 194.5訂單添加功能的設(shè)計與實現(xiàn) 204.5.1訂單添加功能的設(shè)計 204.5.2訂單添加功能的實現(xiàn) 21第5章系統(tǒng)測試 235.1登錄功能測試 235.2圖書添加功能測試 235.3注冊功能測試 245.4訂單添加測試 26結(jié)論 27參考文獻 29第1章緒論1.1設(shè)計提出的背景近年來,互聯(lián)網(wǎng)的普及和計算機技術(shù)的快速發(fā)展,電子商務(wù)在當前大背景下就此誕生。中國的電子商務(wù)蓬勃發(fā)展,交易額度再創(chuàng)新高,電子商務(wù)已廣泛應(yīng)用于各個領(lǐng)域。由于電子商務(wù)在各個領(lǐng)域不斷擴張,相關(guān)的服務(wù)業(yè)的快速發(fā)展和支撐體系不斷完善以及創(chuàng)新能力不斷增強,因此電子商務(wù)不斷與實體經(jīng)濟融合。目前,我國電子商務(wù)相關(guān)業(yè)務(wù)已經(jīng)進入高速發(fā)展階段,對我國社會經(jīng)濟的影響不斷增大,正式成為我國經(jīng)濟發(fā)展的新動力[1]。在此大背景下,傳統(tǒng)的圖書實體店已經(jīng)無法完全滿足客戶的需求,如今在這個信息技術(shù)高速發(fā)展的前提下讓更多人感受到互聯(lián)網(wǎng)帶給人們的福利,做到足不出戶就可以了解和購買自己需要的商品。網(wǎng)上圖書商城和實體店相比優(yōu)惠活動更多,價格更加實惠而且可以節(jié)省去實體店來回路程的時間。可以幫助廣大追求知識的人們能夠快速集中的尋找自己需要的書籍和資料,節(jié)省大量時間,從而有更多的時間去做自己想做的事情[2]。1.2網(wǎng)上圖書商城的發(fā)展概況網(wǎng)上圖書商城的原型始于美國的一家聯(lián)機公司,之后亞馬遜公司創(chuàng)立了網(wǎng)上圖書商城。亞馬遜創(chuàng)立的網(wǎng)上圖書商城對線上圖書銷售起到了積極推動的作用,據(jù)了解當當網(wǎng)始于1997年,隨著電子商務(wù)的推動在2001年成為了最大的線上圖書銷售平臺,2012年占據(jù)45%的市場名列前矛。目前社會經(jīng)濟水平飛速發(fā)展,物價上漲明顯,但是綜合人均收入并沒有顯著的提升。給一些低收入的群體帶來一定的壓力,網(wǎng)上銷售的成本相對于實體店較低,所以網(wǎng)上圖書商城的商品相比而言較為實惠。因此網(wǎng)上圖書商城從時間和金錢上都有絕對的優(yōu)勢。網(wǎng)上圖書商城從物美價廉,購買方便,送貨快等方面受到廣大人民群眾的青睞。1.3設(shè)計目的及意義在當今這個競爭激烈的社會,無論你在哪個行業(yè)只有不斷提高自己的能力才能適應(yīng)當前這個競爭愈發(fā)激烈的社會。“梧高鳳必至,花香蝶自來”,通過讀書,我們可以收獲知識、開闊視野,還能提高自我的層次。書籍是人類進步的階梯,通過不斷讀書就可以證明你不再是一個空白的人,而是通過讀書豐富了自己的精神海洋的優(yōu)秀上進的人。“網(wǎng)上圖書系統(tǒng)”的開發(fā)是為了各類圖書的銷售,為廣大讀者提供一個各類圖書分類的網(wǎng)上書城,以便于更快的查找到自己所需要的書籍。該系統(tǒng)采用了以Java為基礎(chǔ)的框架編寫后臺接口與數(shù)據(jù)庫和前端部分進行數(shù)據(jù)的交互,結(jié)構(gòu)嚴謹,響應(yīng)速度快,操作更加便捷[3]。因為SSM+SpringBoot和Ajax跨域訪問實現(xiàn)前后端分離保證了系統(tǒng)的安全性。網(wǎng)上圖書商城相對于實體書店的投資成本要低很多,物美價廉,因此受到廣大用戶的支持和青睞。對于喜歡看書不斷提升自己涵養(yǎng)的人只需要一臺電腦便可以足不出戶買到自己喜歡的書籍[4]。1.4網(wǎng)站的設(shè)計思想網(wǎng)上圖書商城系統(tǒng)的開發(fā)使用了B/S結(jié)構(gòu),采用控制層、業(yè)務(wù)層和數(shù)據(jù)存儲層架構(gòu)模式。數(shù)據(jù)存儲層實現(xiàn)對數(shù)據(jù)庫的操作,業(yè)務(wù)層按照業(yè)務(wù)的不同進行不同的處理,控制層則是通過Ajax請求與前端進行連接實現(xiàn)前后端分離[5]。采用MySQL數(shù)據(jù)庫系統(tǒng)建立數(shù)據(jù)庫,基于三次架構(gòu)模型,設(shè)計出一個功能全面的網(wǎng)上圖書商城系統(tǒng),該系統(tǒng)實現(xiàn)了未登錄的游客可以分類瀏覽書籍,已登錄的用戶可以進行模糊查詢數(shù)據(jù)、添加購物車、創(chuàng)建訂單、查看訂單信息等功能。系統(tǒng)管理員可以進行書籍管理、用戶管理、訂單管理[6]。
第2章需求分析2.1系統(tǒng)功能概述 該網(wǎng)上圖書商城系統(tǒng)主要分為用戶端和管理員端兩部分。用戶端是廣大用戶訪問該系統(tǒng)的接口,游客可以訪問該網(wǎng)上圖書商城的商品進行了解,如果游客通過注冊該平臺賬號并登錄成為該平臺用戶,可以直接查詢自己感興趣的商品,并且可以將自己的商品添加至購物車,購買該商品后該系統(tǒng)會為該用戶創(chuàng)建訂單,商品到達后可以確認收貨。管理員端的功能主要是商品添加,商品信息管理,訂單管理和用戶信息管理等。網(wǎng)站為用戶和管理員提供了接口,使兩者更高效、更安全的訪問網(wǎng)上圖書商城系統(tǒng)。2.2功能需求分析網(wǎng)站的角色分為兩種類型:用戶和管理員。根據(jù)不同角色相對應(yīng)的功能也不同。用戶角色包括兩類,一類是沒有通過平臺注冊登錄直接訪問該網(wǎng)站的游客,另一類是在游客身份的基礎(chǔ)上通過注冊登錄成為正式的用戶。游客角色只能分種類瀏覽該網(wǎng)站的商品,了解商品信息。正式用戶可以在網(wǎng)站中展示頭像和個人信息,可以直接輸入商品名字查詢相關(guān)商品更加節(jié)省時間和便捷,對于自己感興趣的商品可以添加進入購物車,購買自己需要的商品,平臺為下單的用戶創(chuàng)建訂單,用戶等待商品到貨后確認收貨。管理員角色通過管理員通道登錄進入后臺管理系統(tǒng),該系統(tǒng)主要分為三大模塊,分別是商品管理、用戶信息管理和訂單管理。管理員通過商品管理可以進行商品添加、商品信息修改、商品下架等。管理員還可以幫助用戶更改個人信息、修改用戶訂單信息等。實現(xiàn)以上的功能全部建立在通過前端調(diào)用后臺接口對數(shù)據(jù)庫進行增、刪、改、查[10]。2.3用例建模通過對網(wǎng)上圖書系統(tǒng)的功能需求進行各類分析,為各功能的用例進行設(shè)計[7]。2.3.1登錄模塊所需功能用戶進入登錄頁面后輸入賬號和密碼,系統(tǒng)會根據(jù)前端輸入的數(shù)據(jù)和數(shù)據(jù)庫中所存儲的數(shù)據(jù)進行匹配,匹配成功后系統(tǒng)會提示登錄成功。登錄成功后頁面跳轉(zhuǎn)進入主頁,主頁上將會展示用戶的頭像以及其他個人信息。用戶登錄后進入系統(tǒng),用戶可以進行相關(guān)商品查詢,添加購物車,用戶對于自己需要的商品可以批量進行下單。系統(tǒng)為用戶創(chuàng)建訂單,用戶通過個人信息模塊查看自己的訂單信息。同樣系統(tǒng)為管理員設(shè)置了專用通道,點擊“我是管理員”進入管理員通道,輸入賬號和密碼系統(tǒng)進行自動匹配,匹配成功后進入管理員頁面。管理員進入系統(tǒng)后進行圖書信息管理、用戶信息管理、訂單管理。登錄功能的UML用例圖如下圖2-1所示。圖2-1用戶和管理員登錄功能用例圖2.3.2用戶注冊模塊所需功能用戶在為注冊登錄之前都是以游客的身份訪問該系統(tǒng),這種情況下只能使用部分功能,若想使用該平臺所有功能必須注冊成為該平臺的用戶。來到登錄頁面,點擊注冊通道頁面跳轉(zhuǎn)至注冊頁面。在注冊頁面上分別填入賬號、密碼、姓名、出生日期、電話、收貨地址并且上傳頭像,點擊注冊按鈕,系統(tǒng)會根據(jù)用戶輸入的信息進行判斷,判斷所輸入信息是否符合要求,例如,賬號不能重復、手機號必須是十一位的數(shù)字等。通過系統(tǒng)的檢索,分別在數(shù)據(jù)庫的用戶表和用戶信息表中各插入一條數(shù)據(jù)用來保存用戶信息。返回到登錄頁面輸入正確的用戶和密碼進入系統(tǒng),頁面的右上角顯示個人信息。2.3.3用戶模塊所需功能用戶登錄成功后進入商城主頁,網(wǎng)站頂端通過信息對數(shù)據(jù)庫查詢顯示個人信息模塊,以及用戶可以根據(jù)商品的關(guān)鍵字進行模糊查詢,尋找與關(guān)鍵字相關(guān)的商品。中部分類顯示書籍將各類書籍按照不同的種類進行分類,點擊書籍進入書籍的詳細頁面,選擇數(shù)量添加進入購物車。添加購物車后成功后,點擊購物車后進入購物車系統(tǒng),購物車系統(tǒng)可以對購物車中的商品進行單個操作和批量操作,如單個刪除、批量刪除、單個結(jié)算和批量結(jié)算。執(zhí)行刪除功能后系統(tǒng)會將這些數(shù)據(jù)從數(shù)據(jù)庫中刪除,如果點擊結(jié)算系統(tǒng)會將所選中信息插入到訂單表中,用戶查詢自己創(chuàng)建的訂單,根據(jù)個人情況是否確認收貨。用戶功能UML用例圖如下圖2-2所示。圖2-2用戶功能用例圖2.3.4管理員模塊所需功能通過登錄頁面的管理員入口輸入用戶名和密碼進入管理員系統(tǒng),管理員系統(tǒng)主要分為三大模塊,分別是:圖書信息管理、用戶信息管理、訂單管理。管理員在圖書信息管理中,對于剛到的新品書籍進行上架,一個平臺的商品種類是否齊全對于一個商家而言是十分關(guān)鍵的。對于價格不合理的商品通過修改功能進行價格的調(diào)整達到更好銷售的目的,如果一些商品銷量并不是很可觀可以對商品進行下架。管理員在用戶信息管理中,可以幫助用戶修改姓名、密碼、手機號等個人信息。這些操作用戶是不可以直接修改的,如果想要修改請聯(lián)系管理員,在管理員的幫助下完成密碼和各人信息的修改。這里的密碼修改需要對用戶表和用戶信息表同時進行操作。這里之所以將用戶名和密碼分別存入用戶表和用戶信息兩個表中是為了提高登錄的檢索速度。在管理員對于訂單管理中,如果用戶需要更改收貨人和收貨地址信息需要聯(lián)系管理員,管理員幫助用戶更改以上信息。對于以上操作通過前端的請求發(fā)送給后臺,對于這些信息后臺會進行處理并訪問數(shù)據(jù)庫通過完成數(shù)據(jù)庫單表和多表操作實現(xiàn)以上功能。管理員模塊的UML用例圖如下圖2-3所示。圖2-3管理員基本功能用例圖2.4開發(fā)語言的選擇網(wǎng)上圖書商城主要分為前端和后臺兩部分。前端使用Vue+Element框架來實現(xiàn)。vue以html、js、jquery、json為基礎(chǔ)內(nèi)部封裝了Ajax讓前端和后臺之間的交互更加簡便,只要后臺部分開啟權(quán)限直接在方法區(qū)請求鏈接即可。element官網(wǎng)提供了優(yōu)美的網(wǎng)頁布局和css樣式,只需要將鏈接引入到項目中就可以使用,官網(wǎng)上為我們提供了開發(fā)文檔,參考官網(wǎng)開發(fā)可以大大節(jié)約開發(fā)時間和提高開發(fā)效率。后臺接口部分的實現(xiàn)使用以java語言為基礎(chǔ)的SSM框架,SSM分為Springmvc(控制層)、Spring(業(yè)務(wù)層)、mybatis(持久層)三層,由于Spring的配置文件比較繁瑣,Springboot替代Spring,使得Springboot這兩年成為Java領(lǐng)域的焦點之一。SSM通過注解開發(fā)還可以節(jié)省大量的時間,達到快速開發(fā)的目的[8]。2.5開發(fā)軟件和數(shù)據(jù)庫選擇2.5.1開發(fā)軟件網(wǎng)站由前端和后臺兩部分構(gòu)成,常見的前端開發(fā)軟件WebStorm、DreamweaverHtml、HBuilderX、VSCode等等。該系統(tǒng)使用VSCode,該軟件輕量級、界面美觀、支持多種平臺、功能強大且易用除了文本編輯器該有的功能,而且可以無限擴展額外功能。例如可以下載很多插件,本身內(nèi)置了git便于代碼的管理。在選擇后臺開發(fā)軟件時,Java開發(fā)常用的開發(fā)軟件有Eclipse、IDEA等。該系統(tǒng)后臺部分的編寫選用了IDEA,它可以直接進行代碼補全,不需要快捷鍵就可以顯示提示功能。具有強大的整合能力,比如Git、Maven、Spring等支持,提示功能的范圍比較廣,再加上完美的支持了單元測試和強大的項目管理能力,故選擇了IDEA。2.5.2數(shù)據(jù)庫數(shù)據(jù)庫共分為三類:網(wǎng)絡(luò)式數(shù)據(jù)、層次式數(shù)據(jù)庫庫和關(guān)系式數(shù)據(jù)庫。其中關(guān)系式數(shù)據(jù)庫是現(xiàn)實中最常使用的數(shù)據(jù)庫類型。目前市場上比較成熟的關(guān)系式數(shù)據(jù)庫產(chǎn)品Oracle和MySQL。目前只接觸到了MySQL,考慮到熟練度的問題該系統(tǒng)的開發(fā)選擇了MySQL數(shù)據(jù)庫。MySQL是由瑞典的MySQLAB公司開發(fā),目前屬于Oracle公司。MySQL數(shù)據(jù)庫所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用的標準化語言,由于MySQL數(shù)據(jù)庫體積小、速度快、總體擁有成本低、開放源代碼,其有著廣泛的應(yīng)用,是開發(fā)中小型網(wǎng)站最好的選擇,因此搭配Java和Ajax可組成良好的開發(fā)環(huán)境[9]。
第3章概要設(shè)計3.1功能概述網(wǎng)上圖書商城系統(tǒng)由用戶端和管理員端兩部分構(gòu)成,其中用戶端主要是為用戶瀏覽圖書商品和購買圖書提供了接口,管理員端是為管理員們更好的管理商品信息、用戶信息和訂單信息所開發(fā)的管理系統(tǒng)。用戶端所涉及到的功能:用戶注冊登錄、商品瀏覽、購物車添加、購物車管理、訂單信息。管理員端所設(shè)計到的功能:圖書信息管理、用戶信息管理和訂單管理。網(wǎng)上圖書商城功能模塊如圖3-1所示。圖3-1網(wǎng)上圖書商城功能模塊圖由上圖可以清楚的看出網(wǎng)上圖書商城共有用戶和管理員兩大模塊組成,每個模塊下又分為多個子模塊。從功能模塊圖種看出用戶和管理員都可以進行登錄,兩個不同實體通過不同的登錄方式可以進入不同的系統(tǒng),用戶進入網(wǎng)上圖書商城主頁,管理員進入管理系統(tǒng)。用戶和管理員各行其職,執(zhí)行各自不同的功能。1)用戶模塊:(1)登錄注冊模塊:查詢用戶表中信息,添加用戶表中信息。(2)個人信息展示模塊:用戶信息表查詢,顯示個人信息。(3)商品瀏覽模塊:根據(jù)不同頁面的劃分實現(xiàn)按照圖書商品不同種類進行查詢、按照是否為暢銷商品進行查詢、按照是否為新品進行查詢。(4)添加購物車模塊:在點擊購物車按鈕時,獲取相應(yīng)圖書信息,將圖書信息插入購物車信息表中。(5)購物車管理模塊:刪除功能是對購物車所選中的商品進行刪除,訂單添加是將要結(jié)算的商品信息插入到訂單表中并且從購物車表中刪除。(6)確認收貨:修改訂單表中是否收貨的狀態(tài)。2)管理員模塊:(1)管理員登錄模塊:管理員信息表查詢匹配賬號和密碼。(2)圖書信息管理模塊:管理員對圖書商品表中的數(shù)據(jù)進行增、刪、改、查。(3)用戶信息管理:管理員可以幫助用戶修改個人信息。(4)訂單信息管理:如果用戶將收貨人和收貨地址填寫錯誤管理員可以幫助戶可以幫助用戶修改此信息。3.2數(shù)據(jù)庫設(shè)計3.2.1概念結(jié)構(gòu)設(shè)計對于網(wǎng)上圖書商城進行需求分析劃分為多個模塊,每個模塊又明確劃分了若干各子模塊。在明確了各模塊的職責后對各個模塊進行數(shù)據(jù)庫設(shè)計來確定各模塊對應(yīng)的實體和屬性。網(wǎng)上圖書商城E-R圖如3-2所示。圖3-2網(wǎng)上圖書商城E-R圖從網(wǎng)上圖書商城E-R圖中可以看出所有的實體都與用戶實體和管理員實體產(chǎn)生關(guān)聯(lián)。網(wǎng)上商城的核心就是圍繞用戶提交訂單、管理員服務(wù)于用戶展開的。一個管理員可以服務(wù)多名用戶,幫助用戶修改用戶信息、管理訂單,一個管理員還可以管理多個商品圖書。一個用戶對應(yīng)一個購物車,一個購物車可以產(chǎn)生多個訂單。不同的用戶需要的商品不同,添加到購物車的商品也有所不同,所以多個用戶的購物車包含多個不同的商品。3.2.2邏輯結(jié)構(gòu)設(shè)計對網(wǎng)上圖書商城進行概念設(shè)計并得出E-R圖后,下面開始進行邏輯設(shè)計。每個實體對應(yīng)一個二維表,現(xiàn)將網(wǎng)上圖書商城涉及到的主要表格信息展示如下:1)圖書信息表(book)圖書商品表所包含的字段:圖書名稱(bookname)、圖書類型(booktype)、賣點(sellpoint)、價格(price)、熱度(hot)、數(shù)量(num)、商品圖片(img)、作者(author)、新品(newly)等信息。為了避免管理員一本圖書上架多次這里將圖書名稱(bookname)設(shè)置為主鍵。圖書商品表具體信息如下表3-1所示表3-1圖書商品表字段名稱數(shù)據(jù)類型數(shù)據(jù)長度是否為主鍵字段描述默認值booknamevarchar255主鍵圖書名稱nullbooktypeint2否圖書類型nullsellpointvarchar255否賣點nullpricedouble10否價格nullhotint2否熱度nullnumint4否數(shù)量nullimgvarchar255否商品圖片nullauthorvarchar50否作者nullnewlyint1否新品1注意:首先,用戶在進行添加購物車時,需要將表3-1中的圖書名稱(bookname)、圖書類型(booktype)、賣點(sellpoint)、價格(price)、商品圖片(img)字段同步到購物車中為以后的結(jié)算功能奠定基礎(chǔ)。再是,管理員進行圖書商品上架時默認將新品(newly)字段的默認值設(shè)置為1,用來表示該商品是新上架的商品。2)用戶信息表(persondata)用戶表包含的字段:用戶名(username)、密碼(psw)、姓名(uname)、手機號(phonenumber)、頭像(headimg)、地址(address)、出生日期(birth)。由于一個用戶擁有一個一個賬號這里將用戶名設(shè)置為主鍵。用戶名需要與用戶信息表(persondata)中的用戶名(username)、購物車表(shoppingcar)中的用戶名(username)、訂單表(orders)中的用戶名(username)相關(guān)聯(lián),所以這里將用戶表(user)中的用戶名(username)屬性設(shè)置為這三張表的外鍵。用戶表中賬號和密碼屬性要符合安全性標準,除此之外用戶表還要和其他表相互關(guān)聯(lián)。用戶表具體信息如下表3-2所示。表3-2用戶個人信息表字段名稱數(shù)據(jù)類型數(shù)據(jù)長度是否為主鍵字段描述usernamevarchar16主鍵用戶名pswvarchar16否密碼unamevarchar30否姓名phonenumbervarchar11否電話headimgvarchar255否頭像addressvarchar255否地址birthdate0否出生日期3)管理員表(administrator)圖書商品表所包含的字段:管理員賬號(username)、密碼(psw)。管理員表是用來識別管理員權(quán)限的,管理員可以管理商品信息、訂單信息、用戶個人信息等等。管理員表具體信息如下表3-3所示。表3-3管理員表字段名稱數(shù)據(jù)類型數(shù)據(jù)長度是否為主鍵字段描述adminrnamevarchar16主鍵賬號passwordvarchar16否密碼4)購物車信息表(shoppingcar)購物車表所包含的字段:編號(id)、圖書名稱(bookname)、價格(price)、數(shù)量(num)、商品圖片(headimg)、用戶名(username)、賣點(sellpoint)。這里將編號(id)設(shè)置為主鍵設(shè)置其類型為int并且設(shè)置自動遞增。這樣可以清楚的看出所有的購物車信息對應(yīng)不同的編碼。該表中的數(shù)量(num)關(guān)鍵字是用戶根據(jù)需要自身添加的數(shù)量,而商品信息表中的數(shù)量表示倉庫剩余庫存,兩者意義不同。其余的圖書名稱(bookname)、商品圖片(headimg)、商品圖片(headimg)、賣點(sellpoint)是通過數(shù)據(jù)傳輸從商品信息表(book)中同步過來的。購物車表中的信息要足夠嚴謹符合邏輯標準,用戶往購物車中添加多個商品,用戶設(shè)置好每個商品的數(shù)量插入到購物車表中,每個商品對應(yīng)一條記錄,用字段用戶名(username)來標識這條記錄是哪個用戶插入進來的,進而按照不同用戶名查詢購物車信息來區(qū)別不同用戶的不同購物車信息。購物車表具體信息如下表3-4所示。表3-4購物車表字段名稱數(shù)據(jù)類型數(shù)據(jù)長度是否為主鍵字段描述idint30主鍵編號booknamevarchar255否圖書名稱pricedouble30否價格numint20否數(shù)量headimgvarchar255否商品圖片usernamevarchar16否用戶名sellpointvarchar255否賣點5)訂單信息表(orders)訂單表所包含的字段:訂單編號(orderid)、收貨人(consignee)、收貨地址(address)、收貨人手機號(tel)、總價(sumprice)、收貨狀態(tài)(receipt)、用戶名(username)、下單時間(ordertime)、收貨時間(receivingtime)。一個用戶創(chuàng)建多個訂單將編號(orderid)設(shè)置為自動遞增可以更清晰統(tǒng)計訂單記錄。訂單表中的信息是用戶根據(jù)要結(jié)算的商品進行結(jié)算插入進訂單表中。該表中的總價(sumprice)是前端將選中的商品單價和數(shù)量做積再做和得到的。收貨狀態(tài)設(shè)置默認值為0,來表示剛剛創(chuàng)建的訂單未到貨,同理用戶名(username)還是用來區(qū)分不同用戶的訂單。用戶在創(chuàng)建訂單和確認收貨時都會記錄一個時間,分別記錄在下單時間(ordertime)、收貨時間(receivingtime),為了更詳細的記錄將其類型設(shè)置為datetime。 由于訂單與其他實體聯(lián)系過多盡量設(shè)置多個關(guān)鍵字分別與不同實體建立相應(yīng)的聯(lián)系以便于以后功能模塊添加和后期維護。該表中使用用戶名(username)與用戶建立聯(lián)系,使用訂單編號(orderid)與訂單對應(yīng)的商品建立聯(lián)系,盡量做到思路清晰、關(guān)系嚴謹。訂單表具體信息如下表3-5所示。
表3-5訂單信息表字段名稱數(shù)據(jù)類型數(shù)據(jù)長度是否為主鍵字段描述默認值orderidint11主鍵訂單編號nullconsigneevarchar30否收貨人nulladdressvarchar255否地址nulltelvarchar30否收貨電話nullsumpricedouble255否總價nullreceiptint1否收貨狀態(tài)0usernamevarchar255否用戶名nullordertimedatetime0否下單時間nullreceivingtimedatetime0否收貨時間null
第4章詳細設(shè)計與實現(xiàn)4.1登錄模塊的設(shè)計與實現(xiàn)4.1.1登錄模塊的設(shè)計在網(wǎng)上圖書商城中對應(yīng)用戶和管理員兩個身份,兩個不同的身份需要不同的入口分別進入各自的系統(tǒng)。用戶身份在登錄頁面上輸入賬號和密碼點擊登錄按鈕就可以進入網(wǎng)上圖書商城,如果是管理員身份就需要點擊專門的管理員通道登錄。輸入賬號和密碼后點擊登錄前端通過Ajax將數(shù)據(jù)返回給后臺。后臺通過控制層去接收數(shù)據(jù),系統(tǒng)根據(jù)數(shù)據(jù)庫信息進行判斷,如果匹配失敗后臺會返回一個數(shù)值,前臺根據(jù)數(shù)值來判斷,將錯誤信息反饋給用戶和管理員,若匹配成功,兩個不同的角色將會進入各自的系統(tǒng)各行其職。圖書商城登錄流程圖如4-1和4-2所示。圖4-1用戶登錄流程圖圖4-2管理員登錄流程圖4.1.2登錄模塊的實現(xiàn)用戶和管理員登錄功能的實現(xiàn)基本一致這里只展示用戶登錄模塊,兩者都要通過對數(shù)據(jù)庫的查詢獲取到數(shù)據(jù)進行匹配。首先,用戶在前端el-from表單中輸入賬號和密碼,el-from表單使用model雙向綁定數(shù)據(jù),將數(shù)據(jù)存入users對象中,該對象包括usersname和psw兩個屬性用來保存用戶輸入的賬號和密碼。用戶輸入正確的數(shù)據(jù)后,此時需要一個按鈕用來發(fā)送請求。首先給登錄按鈕添加@click="onSubmit"點擊事件,用戶在點擊按鈕是去執(zhí)行onSubmit()方法。在該方法中將users對象的數(shù)據(jù)進行打包通過Ajax請求將數(shù)據(jù)發(fā)送至后臺。后臺通過controller文件方法形參中使用@RequestBody注解獲取到數(shù)據(jù),之后去執(zhí)行相關(guān)的sql語句進行數(shù)據(jù)匹配,若匹配成功返回給前端一個值,前端根據(jù)該值去判斷該用戶是否登錄成功。用戶登錄成功時,前端使用query傳輸一個數(shù)值給登錄成功即將跳轉(zhuǎn)的頁面用來標識是否登錄成功,還需要將已登錄成功的username進行傳輸便于用戶進入網(wǎng)上圖書商城后通過查詢個人信息在主頁上表展示個人信息。其核心代碼如下:this.$axios.post("http://localhost:8888/login",params).then((result)=>{if(result.data=="登錄成功"){sessionStorage.setItem("uname",this.users.username); this.$router.push({path:"/",query:{id:1}});}});若用戶此時沒有賬號,可以通過注冊入口進行注冊,前端通過model屬性來獲取注冊相關(guān)表單組中的數(shù)據(jù),并且在data數(shù)據(jù)區(qū)中定義好相關(guān)的變量,最后將數(shù)據(jù)打包通過Ajax將數(shù)據(jù)傳輸給后臺。前臺發(fā)送數(shù)據(jù)后,通過后臺在controller文件方法形參中使用@RequestBody注解獲取到數(shù)據(jù),并且形參使用map類型的集合接收,最后再將數(shù)據(jù)插入到數(shù)據(jù)庫中完成注冊。其核心代碼如下:<insertid="addPersonData"parameterType="map">
insertintopersondatavalues( #{username},#{psw},#{uname},#{phonenumber}, #{headimg},#{address},#{brith});</insert>4.2圖書查詢的設(shè)計與實現(xiàn)4.2.1圖書查詢的設(shè)計用戶進入網(wǎng)上圖書商城后,系統(tǒng)要將商品分類顯示出來。一個簡潔明了的展示方式對于網(wǎng)上商城極為重要,用戶可以點擊二級菜單欄進行分類查看。該商城所有的商品圖書共分為小說、文學、科技、雜志、漫畫、外文書刊六類。系統(tǒng)將六類圖書分別展示在二級菜單對應(yīng)的子頁面上,此外該系統(tǒng)還會將暢銷商品和新上架的商品展示出來。4.2.2圖書查詢的實現(xiàn)該系統(tǒng)通過vue內(nèi)置的路由進行頁面的切換,在index.js文件中為主頁路由下添加children對象數(shù)據(jù)加入多個子頁面路由并且使用import將子頁面引入進來。在每個子頁面定義booktype變量來表示圖書的類型。將Ajax請求代碼段放入mounted方法區(qū)內(nèi),該方法區(qū)同頁面的加載而加載的,因此用戶在點擊二級菜單欄進行查看商品時,booktype的數(shù)值就會發(fā)送給后臺。后臺接收到前臺所發(fā)送的數(shù)值,首先后臺在Mybatis層中編輯好的訪問數(shù)據(jù)庫的接口,在mapper文件中使用@mapper注解用來說明這個是一個Mapper,對應(yīng)的Mapper.xml就是來實現(xiàn)這個Mapper接口。在Service層中編寫相應(yīng)的方法,再用實現(xiàn)類去實現(xiàn)方法用@Service注解標識該層時Service層,在該層中使用@Autowirde自動注入mapper方法。最后在controller層中獲取到前端發(fā)送的數(shù)值注意這里要使用@CrossOrigin(origins={"*"})開啟跨域權(quán)限否則前端無法成功請求,接收到數(shù)據(jù)后調(diào)用方法獲取一個列表返回給前臺,前臺將列表中的數(shù)據(jù)利用循環(huán)抽取出來進行展示完成商品的分類查詢。其核心代碼如下:<selectid="getBookByType"parameterType="int"resultType="Book">
select*frombookwherebooktype=#{booktype};</select>4.3圖書信息管理的設(shè)計與實現(xiàn)4.3.1圖書信息管理的設(shè)計管理員通過登錄入口輸入正確的賬號和密碼進入后臺管理系統(tǒng),該系統(tǒng)分為三個模塊分別是:訂單管理、用戶信息管理、圖書信息管理。系統(tǒng)將圖書信息管理設(shè)置為主頁,若要進入其它兩個系統(tǒng)需要點擊二級菜單欄進行切換。管理員成功進入系統(tǒng)后,系統(tǒng)會將該商城所有的商品通過對數(shù)據(jù)庫的查詢展示到頁面上,管理員可以進行圖書上架、圖書信息修改、圖書下架。管理員點擊添加按鈕輸入相關(guān)信息點擊確定按鈕,圖書商品成功上架到商城。管理員點擊在售商品的修改按鈕,系統(tǒng)將該商品信息獲取到表單中,管理員根據(jù)實際情況修改商品信息,點擊確定按鈕系統(tǒng)將信息提交。管理員進行商品下架時,點擊刪除按鈕系統(tǒng)會再一次確認是否對商品進行下架,點擊取消不會進行修改,點擊下架該商品成功下架并且該商品信息從數(shù)據(jù)庫中刪除。圖書信息管理流程如圖4-3所示。圖4-3圖書信息管理流程圖4.3.2圖書信息管理的實現(xiàn)首先,圖書商品的添加,管理員圖書信息管理模塊中的添加按鈕,該按鈕使用的時vue中的dialog彈窗,該彈窗默認時隱藏的,點擊該按鈕將相關(guān)變量的值置為true彈出窗口。管理員將要輸入書籍名稱、選擇圖書類型、填寫賣點、輸入價格、輸入作者、填寫數(shù)量、上穿數(shù)量等等,確保信息填寫正確后點擊確定后調(diào)用前端點擊事件對應(yīng)的方法submit(),方法內(nèi)部使用Ajax將數(shù)據(jù)發(fā)送到后臺。后臺controller文件使用@RequestBody接收到來自前端發(fā)送的數(shù)值并且形參使用map集合的方式保存下來,在方法中使用map.get()方法就可以接收到前臺的數(shù)據(jù),之后需要new一個泛型為string和object的map對象,將數(shù)據(jù)保存到該map對象中并且要對應(yīng)數(shù)據(jù)庫中的相關(guān)字段。將map對象通過傳輸至持久層執(zhí)行mapper.xml文件中的sql語句將數(shù)據(jù)插入至數(shù)據(jù)庫中。完成插入后數(shù)據(jù)并不會直接顯示在頁面上,需要再次使用Ajax去請求圖書信息查詢的接口,完成對圖書商品的添加。關(guān)于添加商品的核心代碼如下:<insertid="addBook"parameterType="map">insertintobookvalues(#{bookname},#{booktype},#{sellpoint},#{price},#{hot},#{num},#{img},#{author},#{newly})</insert>再是圖書信息的刪除和修改,在進行這兩個操作時前端需要先獲取指定商品的在數(shù)據(jù)庫表中的主鍵即圖書名稱。在實現(xiàn)修改和刪除功能時要使用template標簽中的
slot-scope="scope"屬性獲取該條圖書商品的信息將信息保存在scope中,并且revise()和del()要將參數(shù)scope.row傳遞到方法中即revise(scope.row)、del(scope.row
)。修改功能的實現(xiàn)也是通過dialog彈窗的方式獲取需要修改的信息,將這些信息保存到revise()方法中,在方法中新建變量保存template標簽獲取到商品信息中的主鍵,最后將從dialog彈出框的表單的數(shù)據(jù)和標簽獲取到的數(shù)據(jù)進行打包通過Ajax一同發(fā)送給后臺接口,后臺利用map保存再去執(zhí)行相關(guān)的sql語句完成修改。其核心代碼如下:<template
slot-scope="scope"><el-button
@click="revise(scope.row)">修改</el-button></template>this.listData=rowletparams={bookname:this.listData.bookname…}this.$axios.post('http://localhost:8888/book/update,params).then(...)刪除功能和修改功能基本上相似,只是不需要表單中獲取數(shù)據(jù),只從scope.row獲取對應(yīng)的主鍵,其余的操作基本上一直這里就不再一一贅述。到這里圖書商品管理系統(tǒng)的所有功能基本上完成。圖書信息管理效果如下圖4-4所示。圖4-4圖書信息管理效果圖4.4購物車功能的設(shè)計與實現(xiàn)4.4.1購物車功能的設(shè)計對于一個網(wǎng)上商城而言最重要的就是擁有一個完整的、安全性高的支付體系,該購物車添加功能是本系統(tǒng)核心模塊之一。用戶在使用該功能時需要先登錄,首先前端頁面會根據(jù)用戶是否登錄,前端部分會給已經(jīng)登錄的用戶傳輸一個數(shù)值用來判斷該功能是否啟用。如果沒有登錄點擊購物車圖標系統(tǒng)會提示用戶登錄后才可以使用該功能。用戶成功登錄之后進入主頁后進行商品瀏覽,看到自己喜歡的商品點擊該商品展示區(qū)域頁面跳轉(zhuǎn)至商品詳情頁面。進入該頁面中會看到詳細的圖書信息,用戶根據(jù)自己的需求輸入數(shù)量,點擊加入購物車就會為購物車表(shoppingcar)中插入一條數(shù)據(jù),并且進入購物車后系統(tǒng)展示用戶添加的所有商品。購物車系統(tǒng)流程如圖4-5所示。圖4-5購物車系統(tǒng)流程圖4.4.2購物車功能的實現(xiàn)首先,購物車圖標會顯示購物車內(nèi)商品的總數(shù),后臺要去編寫根據(jù)用戶名獲取購物車信息的接口。使用controller來接收前端發(fā)送來的用戶名,通過用戶名去查詢購物車記錄的sql語句,將數(shù)據(jù)保存在一個list列表中,通過增強for循環(huán)遍歷列表,通過循環(huán)記錄每條信息的數(shù)量,將數(shù)量做和用一個變量保存起來之后前端部分在mounted內(nèi)請求后臺獲取商品數(shù)量的接口將用戶名發(fā)送給后臺,后臺接收數(shù)據(jù)并處理,最后將保存商品總數(shù)的變量返回給前端,前端將數(shù)值顯示在購物車圖標右上角。其核心代碼如下:List<ShoppingCar>num=shoppingCarService.getShoppingCar(map1);for(ShoppingCarn:num)
sum+=n.getNum();returnsum;第二,購物添加功能,用戶點擊圖書商品時頁面跳轉(zhuǎn)商品詳情頁面。在頁面跳轉(zhuǎn)時前端使用query將圖書名稱進行傳輸,商品詳情頁接收到圖書名稱后去請求圖書信息查詢接口將圖書信息展示出來。該頁面中有加入購物車按鈕,用戶輸入數(shù)量后點擊加入購物車按鈕,前端圖書的名稱、賣點、圖片、價格和用戶輸入的數(shù)量進行打包利用Ajax將打包數(shù)據(jù)發(fā)送給購物車添加接口,后臺接口controller獲取到該打包數(shù)據(jù),同上使用map集合進行傳輸執(zhí)行insert語句完成添加購物車功能。其核心代碼如下:<insertid="addShoppingCar"parameterType="map"> Insertintoshoppingcar(username,bookname,price,num,headimg,sellpoint)VALUES(#{username},#{bookname},#{price},#{num} ,#{headimg},#{sellpoint})
</insert>最后,來到網(wǎng)上圖書商城主頁,點擊購物車圖標前端使用query將用戶名發(fā)送給購物車頁面,加載購物車頁面時在執(zhí)行mounted()方法區(qū)中的請求購物車信息查詢接口,最后將所有的購物車信息展示在頁面上。購物車頁面效果如下圖4-6所示。圖4-6購物車頁面效果圖4.5訂單添加功能的設(shè)計與實現(xiàn)4.5.1訂單添加功能的設(shè)計添加購物車之后就是創(chuàng)建訂單功能了,用戶將自己喜歡的圖書添加進購物車中購買自己需要的圖書。用戶登錄后開啟購物車權(quán)限,點擊右上放購物車圖標進入購物車系統(tǒng)。購物車將展示該用戶所有的購物車信息,如果購物車中有部分商品用由于某種原因不想購買,可以對這些商品進行標記進行批量刪除,對于要的商品進行選中點擊結(jié)算就可以購買自己需要的商品。添加功能是建立在購物車信息刪除的基礎(chǔ)之上完成的,從邏輯上講,用戶選取商品點擊結(jié)算時要獲取購物車部分商品信息發(fā)送給接口,把這些信息存入到數(shù)據(jù)庫中進而訂單添加成功,經(jīng)過結(jié)算后這些商品并沒有消失還需要執(zhí)行一次刪除功能,這時結(jié)算功能才可以真正的實現(xiàn)。4.5.2訂單添加功能的實現(xiàn) 前端部分使用element框架中封裝好的el-checkbox組件,組件提供了全選和批量選擇功能對于選中的商品信息存放在checkedCities數(shù)組為實現(xiàn)商品刪除和訂單添加提供條件。其核心代碼如下:<el-checkbox:indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全選</el-checkbox>批量刪除功能的實現(xiàn),通過循環(huán)遍歷checkedCities數(shù)組獲取每個購物車信息的id即購物車表的主鍵,使用push()方法將id存入到一個數(shù)組,通過Ajax請求將保存id的數(shù)組發(fā)送給后臺。后臺需要使用@RequestBody注解接收所傳輸?shù)臄?shù)組,并且要list列表的形參接收數(shù)據(jù)到controller文件中的刪除方法里。在方法中同樣使用增強for循環(huán)去遍歷數(shù)組,循環(huán)的調(diào)用刪除方法進而將列表中存儲的所有id對應(yīng)的信息在數(shù)據(jù)庫中刪除。其核心代碼如下:for(Integerid:list){ shoppingCarService.deleteShoppingCar(id); } 結(jié)算功能的實現(xiàn)是通過選擇購物車中的商品獲取所選中商品的價格和數(shù)量,將它們先做積在做和并且將商品的數(shù)量和價格總和顯示在頁面上,并且將這些數(shù)據(jù)保存下來,如果沒有選中商品結(jié)算按鈕將會被禁用。點擊結(jié)算按鈕顯示dialog彈窗,可以通過自定義聯(lián)系方式和默認聯(lián)系方式創(chuàng)建訂單。自定義聯(lián)系方式使用戶在手動輸入的信息,前端使用v-model獲取到用戶所填信息將數(shù)據(jù)打包通過Ajax發(fā)送到后臺。默認聯(lián)系方式用戶注冊是所留信息,選中默認聯(lián)系方式單選按鈕時,前端將會發(fā)送Ajax請求傳輸數(shù)據(jù)到后臺接口,被controller文件中對應(yīng)的方法獲取,通過service層的數(shù)據(jù)傳輸?shù)絤ybatis層執(zhí)行查詢語句將用戶信息表中對應(yīng)的信息返回至前臺并展示到前端表單中。 由于此處存在datetime類型的字段ordertime,通常前端傳輸?shù)臅r間類型格式是yyyy-MM-ddHH:mm:ss的形式,該形式后臺無法識別,在后臺pojo類該屬性的上方添加@DateTimeFormat(pattern="yyyy-MM-ddHH:mm:ss")注解,后臺就可以成共接收該類型的參數(shù)。填寫好創(chuàng)建訂單的信息后點擊確定將數(shù)據(jù)傳輸?shù)胶笈_,執(zhí)行OrderMapper.xml中的insert語句將數(shù)據(jù)插入至訂單表中,完成添加訂單功能。其核心代碼如下所示:<insertid="addOrder"parameterType="map">insertintoorders(consignee,address,tel,sumprice,username,ordertime) values(#{consignee},#{address},#{tel}, #{sumprice},#{username},#{ordertime});</insert>第5章系統(tǒng)測試5.1登錄功能測試網(wǎng)上圖書商城中存在管理員和用戶兩個角色,用戶和管理員都需要在登錄成功的前提下進入系統(tǒng)。測試數(shù)據(jù)如下:(1)用戶名:xiangrikui密碼:123456角色:用戶(2)用戶名:zhangsan 密碼:654321角色:用戶(3)用戶名:xiangrikui密碼:654321角色:用戶(4)用戶名:xiangrikui密碼:123456角色:管理員測試用例如下表5-1所示。表5-1登錄功能測試用例序號測試內(nèi)容執(zhí)行操作預期此時結(jié)果1用戶成功登錄選擇正確的角色,輸入正確的用戶名,密碼進入網(wǎng)上圖書商城結(jié)果符合預期2用戶名輸入錯誤選擇正確的角色,輸入正確的密碼,輸入錯誤的用戶名提示該用戶不存在結(jié)果符合預期3用戶密碼輸入錯誤選擇正確的角色,輸入正確的用戶名,輸入錯誤的密碼提示密碼錯誤結(jié)果符合預期4入口選擇錯誤選擇錯誤的入口,輸入正確的用戶名,密碼提示登錄錯誤結(jié)果符合預期用戶和管理員的入口不同,根據(jù)登錄入口的不同來區(qū)分不同的身份。用戶在進入網(wǎng)上圖書商城之前,需要通過輸入正確的賬號和密碼進入系統(tǒng)才可以開啟關(guān)鍵字查詢、購物車添加、訂單添加等功能。若用戶輸入的用戶名不存在或密碼錯誤則會在登錄頁面提示相應(yīng)的錯誤,供用戶和管理員查看修改。5.2圖書添加功能測試網(wǎng)上圖書商城需要不斷的更新圖書商品、補充已有商品的庫存才可以長久的發(fā)展下去,圖書商品信息的管理是后臺管理系統(tǒng)的最重要的模塊之一。因為商品的種類豐富、數(shù)量繁多所以圖書信息要盡可能的全面。其中在填寫圖書信息中除了填寫基本的圖書信息之外,還要設(shè)置庫存數(shù)量、新品推出、熱門商品等來符合網(wǎng)上商城業(yè)務(wù)邏輯。除此之外,同一本書籍只能上架一次,在圖書名稱不能重復的前提下才可以正確的添加圖書商品。測試用例:圖書名稱:人間失格圖書類型:小說數(shù)量:150作者:太宰治...圖書名稱:人間失格圖書類型:小說數(shù)量:150作者:太宰治...圖書名稱:人間失格圖書類型:無數(shù)量:150作者:太宰治...圖書名稱:人間失格圖書類型:小說數(shù)量:150作者:無...測試用例如下表5-2。表5-2圖書信息的錄入測試用例序號測試內(nèi)容執(zhí)行操作預期此時結(jié)果1圖書信息的正確錄入填寫正確圖書名稱,圖書類型,完善圖書商品信息圖書信息成功錄入結(jié)果符合預期2圖書名稱的輸入重復填寫重復圖書名稱,完善圖書商品信息圖書信息錄入失敗結(jié)果符合預期3圖書類型未選擇填寫正確圖書名稱,圖書類型未選擇圖書信息錄入失敗結(jié)果符合預期4作者信息未填寫填寫正確圖書名稱、作者未填寫圖書信息錄入失敗結(jié)果符合預期由圖書信息的錄入測試用例表可以看出,管理員在對圖書信息進行添加時,要避免圖書名稱重復,正如一本圖書只能上架一次,每一本書只對應(yīng)一個圖書名稱。每本圖書都有對應(yīng)的圖書信息、數(shù)量、狀態(tài)等屬性,要保證圖書信息的完整性,才可以成功上架圖書商品。5.3注冊功能測試用戶在沒賬號情況下進入系統(tǒng)只能查看商品的簡介無法使用系統(tǒng)內(nèi)所有的功能,這時用戶需要進入注冊接口,填寫用戶名、密碼和個人信息之后點擊注冊獲得一個屬于自己的賬號。在注冊時用戶名不能和其他用戶重復,賬號即用戶名。如果該用戶名已被注冊,在點擊提交時會提示該用戶名以存在,之后用戶需要輸入姓名、手機號、出生日期等信息,此處手機號必須為11位的整數(shù),若不符合電話號碼的格式要求系統(tǒng)則會提示注冊失敗手機號格式錯誤。測試用例:賬號:zhang密碼:123123手機號名:張三…賬號:zhang密碼:123123手機號名:張三…賬號:zhang密碼:123123手機號:158999姓名:張三…賬號:zhang密碼:123123手機號名:無…測試用例如下表5-3。表5-3用戶注冊功能測試用例表序號測試內(nèi)容執(zhí)行操作預期此時結(jié)果1注冊信息的正確錄入填寫正確用戶名、填寫正確格式的手機、完善個人信息注冊信息成功錄入結(jié)果符合預期2用戶名的輸入重復填寫已被注冊的用戶名、填寫正確格式的手機、完善個人信息注冊信息錄入失敗結(jié)果符合預期3手機號格式輸入錯誤填寫正確用戶名、填寫格式錯誤的手機、完善個人信息注冊信息錄入失敗結(jié)果符合預期4個人信息為完善填寫正確用戶名、填寫格式錯誤的手機、未完善個人信息注冊信息錄入失敗結(jié)果符合預期從上表中可以看出,用戶想要注冊一個賬號必須正確的填寫所有信息。正如,已經(jī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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 籌資源支持提振消費的面臨的問題、機遇與挑戰(zhàn)
- 理賠業(yè)務(wù)合規(guī)審查風險基礎(chǔ)知識點歸納
- 2025年考研政治中國特色社會主義論述題卷:理論深度與熱點問題探討
- 教聯(lián)體高質(zhì)量發(fā)展風險管理評估
- 數(shù)字化轉(zhuǎn)型推動影視產(chǎn)業(yè)的區(qū)域價值提升
- 專通教育的選擇與規(guī)劃
- 知識的航程模板
- 學壓解密與樂趣尋找
- 學生會活動全覽
- 電化學儲能電站項目可行性研究結(jié)論及建議
- 高職學前教育專業(yè)現(xiàn)代學徒制人才培養(yǎng)實踐研究
- 第二單元探索寓言王國之趣復習課課件語文三年級下冊
- 2025屆中考生物一輪復習課堂精講 思維導圖-人體生理與健康
- 烹飪原料知識題庫(附參考答案)
- 【MOOC】航空發(fā)動機故障診斷-西北工業(yè)大學 中國大學慕課MOOC答案
- 【MOOC】3D工程圖學應(yīng)用與提高-華中科技大學 中國大學慕課MOOC答案
- 開顱手術(shù)前后的護理
- 智慧用電系統(tǒng)及智慧用電智能監(jiān)控技術(shù)的應(yīng)用及推廣實施方案
- 文物安全防護工程實施工作指南(試行)
- PVC膜生產(chǎn)中的關(guān)鍵技術(shù)
- 考點10 漢字書寫與書法鑒賞小升初語文專題訓練(統(tǒng)編版)
評論
0/150
提交評論