【基于BS架構(gòu)的萬(wàn)物購(gòu)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)14000字(論文)】_第1頁(yè)
【基于BS架構(gòu)的萬(wàn)物購(gòu)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)14000字(論文)】_第2頁(yè)
【基于BS架構(gòu)的萬(wàn)物購(gòu)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)14000字(論文)】_第3頁(yè)
【基于BS架構(gòu)的萬(wàn)物購(gòu)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)14000字(論文)】_第4頁(yè)
【基于BS架構(gòu)的萬(wàn)物購(gòu)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)14000字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于BS架構(gòu)的萬(wàn)物購(gòu)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)近些年,隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展、智能手機(jī)的普及,人們從以往傳統(tǒng)現(xiàn)實(shí)商店購(gòu)物方式逐漸轉(zhuǎn)變?yōu)樽悴怀鰬?hù)的線上購(gòu)物。越來(lái)越受到消費(fèi)者喜愛(ài)的線上購(gòu)物方式,促使商家去建立屬于自己的網(wǎng)上商店,而萬(wàn)物購(gòu)商城系統(tǒng)融合了各種商家商品,供消費(fèi)者自由選購(gòu)。萬(wàn)物購(gòu)商城系統(tǒng)采用B/S(Browser/Server)架構(gòu)、Java語(yǔ)言進(jìn)行編寫(xiě)、SSM(Spring+SpringMVC+MyBatis)整合框架、MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)用戶(hù)管理、商品管理、線上支付等功能,簡(jiǎn)潔方便,可供各種年齡段消費(fèi)人群使用。萬(wàn)物購(gòu)商城系統(tǒng)進(jìn)行實(shí)現(xiàn)與設(shè)計(jì)時(shí),充分考慮到消費(fèi)人群線上購(gòu)物習(xí)慣,整合了熱門(mén)購(gòu)物網(wǎng)站特點(diǎn),具有更好的靈活性與適應(yīng)性。目錄289761緒論 1258241.1課題研究背景 1204531.2國(guó)內(nèi)外研究現(xiàn)狀 1172881.3研究?jī)?nèi)容和意義 1301391.4論文組織結(jié)構(gòu) 2302691.5本章小結(jié) 2133372相關(guān)技術(shù)介紹 3282352.1B/S架構(gòu) 337352.2Node.js技術(shù) 36372.3SSM框架 392422.4Ajax技術(shù) 351902.5JQuery技術(shù) 476532.6本章小結(jié) 4100033需求分析 5153893.1可行性分析 5171983.1.1技術(shù)可行性 550183.1.2經(jīng)濟(jì)可行性 522833.1.3操作可行性 5284003.2功能性需求 5158473.3非功能性需求 654023.4本章小結(jié) 6116904系統(tǒng)設(shè)計(jì) 726084.1平臺(tái)開(kāi)發(fā)環(huán)境 7163624.1.1IntelliJIDEA平臺(tái)開(kāi)發(fā)環(huán)境 7171614.1.2MySQL數(shù)據(jù)庫(kù)搭建 7312884.2系統(tǒng)功能概要設(shè)計(jì) 7191324.3系統(tǒng)功能詳細(xì)設(shè)計(jì) 840744.3.1用戶(hù)注冊(cè)登錄功能 944454.3.2商品管理功能 10313564.3.3購(gòu)物車(chē)管理功能 1154814.3.4訂單管理功能 1296554.3.5線上支付功能 14260404.4系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 14221184.4.1數(shù)據(jù)庫(kù)E-R關(guān)系圖 15102324.4.2數(shù)據(jù)庫(kù)表設(shè)計(jì) 16264664.5本章小結(jié) 18286625系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 1961955.1用戶(hù)功能實(shí)現(xiàn) 19220855.1.1用戶(hù)登錄注冊(cè)功能 19168025.1.2購(gòu)物車(chē)管理功能 21289295.1.3訂單管理功能 22102205.1.4線上支付功能 23101765.2管理員功能實(shí)現(xiàn) 2480545.2.1管理員登錄功能 24255815.2.2商品管理功能 2482405.2.3訂單管理功能 25269135.3本章小結(jié) 2612926系統(tǒng)測(cè)試 27156816.1系統(tǒng)測(cè)試目的 27246286.2系統(tǒng)測(cè)試環(huán)境部署 2716246.3系統(tǒng)功能測(cè)試用例 27209626.4系統(tǒng)測(cè)試結(jié)果 28134586.5本章小結(jié) 2832520結(jié)束語(yǔ) 2916579參考文獻(xiàn) 3028203致謝 31PAGE45緒論網(wǎng)絡(luò)時(shí)代發(fā)展迅速,極大的提高了人們生活水平,同時(shí)給與人們生活方式的改善。人們以往去現(xiàn)實(shí)實(shí)體店排隊(duì)購(gòu)物,現(xiàn)在只需要智能手機(jī)或者電腦就能在網(wǎng)上進(jìn)行購(gòu)物。這種新型購(gòu)物方式,為人們的生活提供了便捷、減少了傳統(tǒng)購(gòu)物方式造成的排隊(duì)擁擠、縮短了商家與消費(fèi)者之間的距離、更好地為消費(fèi)人群提供服務(wù)。課題研究背景隨著5G網(wǎng)絡(luò)的建立,人們生活質(zhì)量突飛猛進(jìn)。各種無(wú)處不在的智能產(chǎn)品,開(kāi)始改變?nèi)藗兊膫鹘y(tǒng)生活方式。各大公司開(kāi)始發(fā)展自己的在線銷(xiāo)售系統(tǒng)。互聯(lián)網(wǎng)購(gòu)物正在成為主流的購(gòu)物方式,人們可以通過(guò)手機(jī)或電腦在網(wǎng)上購(gòu)買(mǎi)商品。而傳統(tǒng)商店也不再能夠滿(mǎn)足消費(fèi)者的需求。線下的商店受限于天氣條件、商店與消費(fèi)者的距離。但是網(wǎng)上購(gòu)物可以解決這些問(wèn)題。如今,許多商店都不在局限于傳統(tǒng)實(shí)體店模式,而是創(chuàng)建線上商店。在信息平臺(tái)上發(fā)布產(chǎn)品信息,以吸引客戶(hù)和提高網(wǎng)上產(chǎn)品的流行性和知名度。因此,建立小型電子交易系統(tǒng)至關(guān)重要。通過(guò)創(chuàng)建這樣一個(gè)系統(tǒng),可以通過(guò)提供分銷(xiāo)渠道來(lái)解決產(chǎn)品流通問(wèn)題,讓消費(fèi)者和商戶(hù)的生活更輕松。國(guó)內(nèi)外研究現(xiàn)狀國(guó)內(nèi)由于龐大消費(fèi)者群體所產(chǎn)生的購(gòu)物需求,單靠傳統(tǒng)購(gòu)物方式是滿(mǎn)足不了的,而且快節(jié)奏的生活方式不允許我們將時(shí)間浪費(fèi)在排隊(duì)購(gòu)物上,所以電子商務(wù)在國(guó)內(nèi)發(fā)展是必然的。查閱資料得知,國(guó)內(nèi)政策對(duì)電子商務(wù)采取大力支持,鼓勵(lì)并希望大批傳統(tǒng)產(chǎn)業(yè)進(jìn)行轉(zhuǎn)型升級(jí)。淘寶、京東等大型購(gòu)物網(wǎng)站的建立,使得電子商務(wù)的發(fā)展進(jìn)入到全新階段。資料表明國(guó)內(nèi)電子商務(wù)在各方面都走向成熟,但還存在法律法規(guī)不健全、支付環(huán)境未完全完善、專(zhuān)業(yè)型人才缺乏等問(wèn)題。大型電子商務(wù)系統(tǒng)的成立,使得大型企業(yè)在網(wǎng)絡(luò)時(shí)代取得優(yōu)先成績(jī),而許許多多中小型企業(yè)的建立與發(fā)展,則為輕量型電子商務(wù)系統(tǒng)提供了發(fā)展和進(jìn)步的空間。國(guó)外電子商務(wù)起步早、發(fā)展較快,因沒(méi)有龐大的消費(fèi)者群體,近些年發(fā)展速度和份額并不理想,產(chǎn)生的購(gòu)物需求遠(yuǎn)低于中國(guó),網(wǎng)絡(luò)購(gòu)物的發(fā)展基本達(dá)到飽和期,如亞馬遜、e-Bay等,但隨著網(wǎng)絡(luò)時(shí)代的進(jìn)步,促使各行業(yè)都在向電子商務(wù)方面進(jìn)行發(fā)展。研究?jī)?nèi)容和意義萬(wàn)物購(gòu)系統(tǒng)主要是解決了傳統(tǒng)購(gòu)物方式滿(mǎn)足不了現(xiàn)代消費(fèi)者的購(gòu)物需求問(wèn)題,采取線上購(gòu)物的方式,讓商品進(jìn)行更好流通。系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)進(jìn)行存取數(shù)據(jù),底層框架采用B/S架構(gòu),SSM框架進(jìn)行搭建,前端使用了JQuery、Node.js、Ajax等技術(shù),服務(wù)器采用Tomcat服務(wù)器,實(shí)現(xiàn)了網(wǎng)上購(gòu)物。系統(tǒng)分為由DAO(DataAccessObject)層控制的底層數(shù)據(jù)庫(kù)、服務(wù)層進(jìn)行的業(yè)務(wù)功能、控制層控制的業(yè)務(wù)功能向顯示層傳遞、顯示層向用戶(hù)展示圖像化的互動(dòng)功能,總共四層。用戶(hù)使用該系統(tǒng)時(shí),通過(guò)登錄注冊(cè)成為用戶(hù),登錄進(jìn)入系統(tǒng),用戶(hù)可以瀏覽商品、檢索商品、將喜愛(ài)的商品加入購(gòu)物車(chē)、進(jìn)行線上掃碼支付購(gòu)買(mǎi)。后臺(tái)管理員通過(guò)后臺(tái)登錄頁(yè)面進(jìn)入到管理頁(yè)面,對(duì)商品進(jìn)行增加、下架、修改其詳細(xì)描述,對(duì)商品品類(lèi)進(jìn)行修改、添加、將用戶(hù)已經(jīng)支付商品進(jìn)行發(fā)貨處理。整個(gè)系統(tǒng)的操作流程及功能模塊與當(dāng)前主流電商系統(tǒng)保持一致。萬(wàn)物購(gòu)系統(tǒng)主要是對(duì)當(dāng)前主流電商系統(tǒng)架構(gòu)的設(shè)計(jì)和分析,將主流電商架構(gòu)進(jìn)行拆解分析、對(duì)其進(jìn)行需求分析,在學(xué)習(xí)的過(guò)程中,逐漸去熟悉了解并掌握系統(tǒng)架構(gòu)、熟練使用軟件工程方法進(jìn)行系統(tǒng)設(shè)計(jì),不斷的去解決開(kāi)發(fā)系統(tǒng)中遇到的問(wèn)題。另外此系統(tǒng)的研究與設(shè)計(jì)可以更好地節(jié)省消費(fèi)者傳統(tǒng)購(gòu)物所花費(fèi)的時(shí)間,同時(shí)為商品的流通增加了更多的渠道、大大提高商品的流通性,銷(xiāo)售業(yè)的發(fā)展借此也能提高。與傳統(tǒng)購(gòu)物方式相比,系統(tǒng)本身極大改善了消費(fèi)者的購(gòu)物體驗(yàn),同時(shí)綠色環(huán)保。論文組織結(jié)構(gòu)第一章緒論,簡(jiǎn)述課題國(guó)內(nèi)外研究現(xiàn)狀、課題研究?jī)?nèi)容和意義,對(duì)課題概括性講解。第二章相關(guān)技術(shù)介紹,系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù),結(jié)合系統(tǒng)功能進(jìn)行簡(jiǎn)述。第三章需求分析,結(jié)合社會(huì)需求,分析系統(tǒng)開(kāi)發(fā)需求。第四章系統(tǒng)設(shè)計(jì),從系統(tǒng)需求中分析系統(tǒng)功能,介紹設(shè)計(jì)步驟。第五章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),在系統(tǒng)設(shè)計(jì)基礎(chǔ)上,詳述系統(tǒng)功能詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。第六章系統(tǒng)測(cè)試,介紹系統(tǒng)完成后測(cè)試結(jié)果。本章小結(jié)本章從課題研究背景出發(fā),簡(jiǎn)述當(dāng)代社會(huì)購(gòu)物方式轉(zhuǎn)變以及網(wǎng)上購(gòu)物出現(xiàn)原因,結(jié)合國(guó)內(nèi)外研究現(xiàn)狀、研究?jī)?nèi)容和意義,介紹購(gòu)物系統(tǒng)開(kāi)發(fā)可行性和價(jià)值,將課題主要內(nèi)容和研究意義進(jìn)行簡(jiǎn)要概括。相關(guān)技術(shù)介紹系統(tǒng)的開(kāi)發(fā)有著相對(duì)應(yīng)的技術(shù)提供支持,了解并熟練使用技術(shù)才是開(kāi)發(fā)完善系統(tǒng)的前提,下面結(jié)合系統(tǒng)功能,簡(jiǎn)述相關(guān)技術(shù)特點(diǎn)。B/S架構(gòu)B/S架構(gòu)是指瀏覽器和服務(wù)器,簡(jiǎn)稱(chēng)B/S,是Web興起之后的一種流行的網(wǎng)絡(luò)結(jié)構(gòu)模式REF_Ref19140\r\h[1]。B/S架構(gòu)成本低,維護(hù)方便、分布性強(qiáng)、開(kāi)發(fā)方便,系統(tǒng)運(yùn)行時(shí)向?yàn)g覽器發(fā)送請(qǐng)求,服務(wù)器響應(yīng)處理,將結(jié)果返回瀏覽器,瀏覽器向用戶(hù)呈現(xiàn)結(jié)果REF_Ref19212\r\h[2]。系統(tǒng)采用B/S架構(gòu)進(jìn)行瀏覽器請(qǐng)求,服務(wù)器響應(yīng),這樣用戶(hù)不需要下載客戶(hù)端,就能與商戶(hù)進(jìn)行交流。Node.js技術(shù)Node.js作為一個(gè)新興的前端技術(shù)框架后臺(tái)語(yǔ)言,它為基于ChromeV8引擎的JavaScript執(zhí)行平臺(tái)的快速構(gòu)建網(wǎng)絡(luò)服務(wù)及相關(guān)應(yīng)用做出很大貢獻(xiàn),它讓JavaScript成為與PHP、Python等服務(wù)器端語(yǔ)言平起平坐的腳本語(yǔ)言REF_Ref24289\r\h[3]。由于V8引擎性能優(yōu)越,Node.js由此集合了許多體量輕效率高的技術(shù),在計(jì)算機(jī)工程師中非常受歡迎,常作為開(kāi)發(fā)首選技術(shù)之一REF_Ref13839\r\h[4]。系統(tǒng)采用Node.js技術(shù)在服務(wù)器上運(yùn)行前端JavaScript語(yǔ)言,主要為數(shù)據(jù)庫(kù)和文件資源提供相對(duì)應(yīng)的接口。SSM框架SSM(Spring+SpringMVC+MyBatis)作為數(shù)據(jù)源較為簡(jiǎn)單的Web框架。Spring開(kāi)發(fā)框架減少了系統(tǒng)項(xiàng)目開(kāi)發(fā)復(fù)雜性,其中兩種設(shè)計(jì)模式的建立,AOP(AspectOrientedProgramming面向切面編程)將與業(yè)務(wù)無(wú)關(guān)的功能邏輯代碼進(jìn)行封裝,從而減少代碼冗余量,IOC(InversionofControl反轉(zhuǎn)控制)將對(duì)象間依賴(lài)關(guān)系全交于Spring控制,從而減少程序過(guò)度耦合REF_Ref17203\r\h[5]。SpringMVC輕量級(jí)框架,采用注解方式,將系統(tǒng)耦合性降低,采取“請(qǐng)求--響應(yīng)”的方式,將java類(lèi)變成處理請(qǐng)求的控制器。從而實(shí)現(xiàn)Web層業(yè)務(wù)解耦。MyBatis輕量級(jí)開(kāi)源框架,一種持久層框架,內(nèi)部封存JDBC(JavaDatabaseConnectivity),采取JPA(JavaPersistenceAPI)規(guī)范連接數(shù)據(jù)庫(kù),安裝和配置都很簡(jiǎn)單,用dao層將業(yè)務(wù)邏輯代碼和數(shù)據(jù)數(shù)據(jù)訪問(wèn)分開(kāi),通過(guò)構(gòu)建一個(gè)個(gè)的Mapper將代碼冗余度降低,將業(yè)務(wù)代碼與SQL語(yǔ)句耦合度降低,用戶(hù)操作數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行封裝的同時(shí)具有部分透明度,可以了解自己使用的數(shù)據(jù)庫(kù)的程度REF_Ref17212\r\h[6]。系統(tǒng)采用SSM框架進(jìn)行搭建底層結(jié)構(gòu),將項(xiàng)目進(jìn)行分層拆解,每層有自己任務(wù),方便出現(xiàn)錯(cuò)誤及時(shí)查詢(xún)和改正。Ajax技術(shù)Ajax是一種將網(wǎng)頁(yè)開(kāi)發(fā)變得更加快捷,附加創(chuàng)建交互性,動(dòng)態(tài)性的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。系統(tǒng)使用Ajax技術(shù),可以做到在不刷新頁(yè)面的情況下進(jìn)行服務(wù)器數(shù)據(jù)的傳輸和讀寫(xiě)REF_Ref1706\r\h[7]。Ajxa技術(shù)通過(guò)JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng)而不阻塞用戶(hù)核心對(duì)象XMLHttpRequestREF_Ref6689\r\h[8]。Ajax獨(dú)立于服務(wù)器,在請(qǐng)求服務(wù)器時(shí)所產(chǎn)生的信息量較小,而且在所有主流瀏覽器中都支持使用。系統(tǒng)前端頁(yè)面在執(zhí)行刪除、修改等操作時(shí)采用Ajax技術(shù),防止再次刷新頁(yè)面需要重新提交表單等操作。JQuery技術(shù)JQuery技術(shù)是一個(gè)優(yōu)秀的JavaScript框架,用更少的代碼去做更多的事情,簡(jiǎn)單的來(lái)說(shuō)JQuery就是一個(gè)JavaScript類(lèi)庫(kù),屬于輕量級(jí)JavaScript類(lèi)庫(kù),它兼容大部分的主流瀏覽器,使用JQuery技術(shù),用戶(hù)能更加方便快速的處理HTML,documents,events,將網(wǎng)頁(yè)動(dòng)畫(huà)效果實(shí)現(xiàn)變得簡(jiǎn)單,使得網(wǎng)站與Ajax交互更加方便REF_Ref9536\r\h[9]。有著強(qiáng)大的選擇器,文檔說(shuō)明全面,事件處理機(jī)制的可靠,成熟的插件應(yīng)用,完善的Ajax交互接口,受到許多前端開(kāi)發(fā)技術(shù)人員的追捧。JQuery能夠使用戶(hù)的頁(yè)面保持代碼與頁(yè)面內(nèi)容分離,只需要定義id,就能實(shí)現(xiàn)客戶(hù)端的快速響應(yīng),有效提高數(shù)據(jù)流轉(zhuǎn)速度REF_Ref31676\r\h[10]。系統(tǒng)在前端主頁(yè)面圖片滑動(dòng)使用了JQuery技術(shù),方便了用戶(hù)與前端交互,頁(yè)面更簡(jiǎn)潔優(yōu)美。本章小結(jié)本部分通過(guò)對(duì)系統(tǒng)相關(guān)技術(shù)方面闡述,結(jié)合相關(guān)技術(shù)在系統(tǒng)開(kāi)發(fā)功能中使用過(guò)程和原因,將技術(shù)特點(diǎn)與實(shí)用性一一展示出來(lái),為后面系統(tǒng)開(kāi)發(fā)打好基礎(chǔ)。系統(tǒng)相關(guān)技術(shù)介紹,闡明了技術(shù)成熟性和系統(tǒng)研究可執(zhí)行性。需求分析在開(kāi)發(fā)系統(tǒng)時(shí),了解系統(tǒng)開(kāi)發(fā)需求,對(duì)其進(jìn)行分析,是完成系統(tǒng)開(kāi)發(fā)第一步。對(duì)系統(tǒng)進(jìn)行需求分析,可以極大的減少我們?cè)O(shè)計(jì)系統(tǒng)需要的時(shí)間、提高開(kāi)發(fā)效率,將加快設(shè)計(jì)系統(tǒng)速度。進(jìn)行需求分析時(shí),一般會(huì)從可行性分析、功能需求、非功能需求三大方面對(duì)系統(tǒng)做全面調(diào)查分析,以保證系統(tǒng)的完整性??尚行苑治隹尚行苑治鲈谙到y(tǒng)開(kāi)發(fā)前,能夠盡可能減少開(kāi)發(fā)過(guò)程中的風(fēng)險(xiǎn),從而減少造成的損失??尚行苑治霾皇菃螐南到y(tǒng)一方面進(jìn)行分析,而是從系統(tǒng)技術(shù)、經(jīng)濟(jì)、操作三方面進(jìn)行詳細(xì)分析,將開(kāi)發(fā)過(guò)程中風(fēng)險(xiǎn)降至最低,避免不必要的經(jīng)濟(jì)損失。技術(shù)可行性本系統(tǒng)分為前臺(tái)和后臺(tái)。前臺(tái)采用Node.js,Ajax動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)等技術(shù)進(jìn)行開(kāi)發(fā),后臺(tái)使用SSM框架,免費(fèi)開(kāi)源的MySQL數(shù)據(jù)庫(kù)提供數(shù)據(jù)存儲(chǔ),整體使用B/S架構(gòu)。系統(tǒng)采用JDBC技術(shù)實(shí)現(xiàn)功能類(lèi)與數(shù)據(jù)庫(kù)連接,完成數(shù)據(jù)的增刪改查;成熟的JQuery和Ajax技術(shù)實(shí)現(xiàn)前臺(tái)頁(yè)面動(dòng)態(tài)化。硬件方面需要一臺(tái)普通電腦即可,一般學(xué)校的電腦就能滿(mǎn)足其開(kāi)發(fā)條件。經(jīng)濟(jì)可行性在成本上,系統(tǒng)不需要購(gòu)買(mǎi)服務(wù)器,使用免費(fèi)的Tomcat服務(wù)器即可,自己本身就是學(xué)軟件開(kāi)發(fā)的,其他的軟件早準(zhǔn)備好,內(nèi)網(wǎng)穿透使用的也是免費(fèi)渠道。唯一支出是在系統(tǒng)開(kāi)發(fā)過(guò)程中所產(chǎn)生的費(fèi)用,系統(tǒng)本身節(jié)省了大量資源,完成之后,可以在系統(tǒng)上進(jìn)行招租廣告,也可供其他人借鑒學(xué)習(xí),收益是遠(yuǎn)遠(yuǎn)大于消費(fèi)。操作可行性本系統(tǒng)采用的是具有跨平臺(tái)特性的Java語(yǔ)言,在大多數(shù)計(jì)算機(jī)上都可以安裝,調(diào)試,運(yùn)行。系統(tǒng)本身前端頁(yè)面簡(jiǎn)潔,采用的是動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā),操作起來(lái)會(huì)更加的快捷,有很好的操作可行性。功能性需求該系統(tǒng)訪問(wèn)主體對(duì)象分為管理員和用戶(hù)。管理員主要操作商品信息、商品品類(lèi)、訂單狀態(tài),用戶(hù)操作前臺(tái)顯示的商品對(duì)其進(jìn)行搜索,添加購(gòu)物車(chē),支付購(gòu)買(mǎi)等。用戶(hù)管理功能包括管理用戶(hù)、普通用戶(hù)、各類(lèi)用戶(hù)信息的添加以及驗(yàn)證,保證用戶(hù)安全登錄,使用系統(tǒng)。商品管理功能普通用戶(hù)按類(lèi)搜索喜愛(ài)商品,將喜歡的商品加入購(gòu)物車(chē)。商家對(duì)商品進(jìn)行增刪改查,方便商家分類(lèi)管理。購(gòu)物車(chē)管理功能消費(fèi)者用戶(hù)喜愛(ài)的商品能夠加入其中,方便用戶(hù)對(duì)不同商家,同類(lèi)商品進(jìn)行性?xún)r(jià)比比較(用戶(hù)好評(píng),銷(xiāo)售訂單數(shù)量等)后進(jìn)行購(gòu)買(mǎi)。訂單管理功能商家能夠進(jìn)行訂單的處理、操作,如新訂單的提醒、訂單狀態(tài)的修改、線下發(fā)貨等。線上支付功能對(duì)接支付寶接口,方便用戶(hù)進(jìn)行線上掃描二維碼進(jìn)行支付購(gòu)買(mǎi)商品。非功能性需求簡(jiǎn)潔性該系統(tǒng)是面向各年齡段的消費(fèi)者,網(wǎng)絡(luò)時(shí)代的快速發(fā)展會(huì)導(dǎo)致一些老年人跟不上節(jié)奏,考慮到每個(gè)人都能使用該系統(tǒng),系統(tǒng)界面需要做到簡(jiǎn)潔、便捷、頁(yè)面不需要過(guò)于花哨,保證每個(gè)功能模塊在界面上盡可能的直接表示,將常用功能放在界面顯眼位置,讓用戶(hù)感到方便明了,易于操作。安全性該系統(tǒng)涉及到線上支付問(wèn)題,因此在設(shè)計(jì)系統(tǒng)時(shí)要充分考慮安全性原則,確保系統(tǒng)安全性及保密性,要防止用戶(hù)信息泄露、盜用、篡改、偽造及信息破壞REF_Ref32453\r\h[11]。在系統(tǒng)上建立用戶(hù)驗(yàn)證,以及信息安全保護(hù)墻,將用戶(hù)賬號(hào)和密碼進(jìn)行安全加密,系統(tǒng)安全性影響著用戶(hù)使用率,支付環(huán)境采取官方第三方接口,保證其安全性。響應(yīng)速度該系統(tǒng)是小型的電商交易平臺(tái),主要是用戶(hù)進(jìn)行購(gòu)物,商家進(jìn)行商品流通,為了保證用戶(hù)購(gòu)物體驗(yàn),和商家商品流通度,系統(tǒng)的響應(yīng)速度需要做到快速迅捷,防止出現(xiàn)用戶(hù)在購(gòu)買(mǎi)時(shí)出現(xiàn)商品下架,商品正在修改等后臺(tái)更新速度與前臺(tái)響應(yīng)速度不一致而造成的問(wèn)題。可擴(kuò)展性考慮到系統(tǒng)需要時(shí)不時(shí)的進(jìn)行更新維護(hù),該系統(tǒng)需要做到擴(kuò)展性強(qiáng)、易于移植、需要使用具有可移植性,獨(dú)立性強(qiáng)的java語(yǔ)言進(jìn)行代碼編寫(xiě),java編程語(yǔ)言體系結(jié)構(gòu)具有中立性,同時(shí)可以較好的適用于各類(lèi)平臺(tái)、站點(diǎn)、系統(tǒng)等REF_Ref32152\r\h[12],在系統(tǒng)進(jìn)行擴(kuò)展時(shí)能提供更好的基礎(chǔ)。本章小結(jié)本章主要對(duì)系統(tǒng)需求進(jìn)行分析。從可行性分析、功能性和非功能性需求三方面,簡(jiǎn)述系統(tǒng)可開(kāi)發(fā)性,同時(shí)為下一步系統(tǒng)設(shè)計(jì)提供思路,引導(dǎo)開(kāi)發(fā)方向。系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)是開(kāi)發(fā)過(guò)程中的重要一環(huán),搭建開(kāi)發(fā)環(huán)境、設(shè)計(jì)開(kāi)發(fā)平臺(tái),通過(guò)需求分析進(jìn)行系統(tǒng)結(jié)構(gòu)設(shè)計(jì),搭建系統(tǒng)框架;對(duì)數(shù)據(jù)庫(kù)、系統(tǒng)功能分析設(shè)計(jì),為系統(tǒng)功能實(shí)現(xiàn)打好基礎(chǔ),起到承上啟下的作用,是系統(tǒng)開(kāi)發(fā)不可缺少的一環(huán)。系統(tǒng)設(shè)計(jì)將會(huì)從開(kāi)發(fā)平臺(tái)環(huán)境搭建開(kāi)始,進(jìn)一步開(kāi)展系統(tǒng)功能概要設(shè)計(jì)、系統(tǒng)功能詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì),從而保證系統(tǒng)的完整性。平臺(tái)開(kāi)發(fā)環(huán)境系統(tǒng)的開(kāi)發(fā)和運(yùn)行都需要一個(gè)好的開(kāi)發(fā)平臺(tái),只有將開(kāi)發(fā)平臺(tái)搭建完成,后續(xù)系統(tǒng)開(kāi)發(fā)才能正常進(jìn)行,一個(gè)完整且靈活性高的開(kāi)發(fā)平臺(tái)能夠大大加快我們代碼書(shū)寫(xiě)速度,一些平臺(tái)特有的錯(cuò)誤檢查機(jī)制,能很好避免我們系統(tǒng)開(kāi)發(fā)過(guò)程中出現(xiàn)錯(cuò)誤,減少不必要麻煩。不同系統(tǒng)開(kāi)發(fā)時(shí)所用的開(kāi)發(fā)平臺(tái)不同,以下開(kāi)發(fā)平臺(tái)為本系統(tǒng)所使用。IntelliJIDEA平臺(tái)開(kāi)發(fā)環(huán)境首先保證Java語(yǔ)言的運(yùn)行環(huán)境,需要分別去JDK(JavaDevelopmentKit)、Tomcat服務(wù)器官網(wǎng)查詢(xún)下載合適安裝包,安裝包下載解壓完成安裝后,在本地電腦高級(jí)環(huán)境變量中配置環(huán)境,保證Java語(yǔ)言正常編譯執(zhí)行。去官網(wǎng)下載所需要的IntelliJIDEA版本(本系統(tǒng)使用的是2018版本),版本選擇下載完成后,進(jìn)行安裝,安裝時(shí)注意自己電腦是64位或32位,按照自己電腦格式進(jìn)行選擇,隨后安裝完成后進(jìn)行配置IntelliJIDEA,將自己安裝的jdk與IntelliJIDEA關(guān)聯(lián),運(yùn)行一個(gè)測(cè)試類(lèi),在IntelliJIDEA配置Tomcat,需要找到自己解壓后的Tomcat包,選擇其路徑。最后完成maven配置,使用maven能將項(xiàng)目之間的依賴(lài)進(jìn)行合理整合,系統(tǒng)所使用jar包存儲(chǔ)在本地倉(cāng)庫(kù)中,pom文件配置將本地倉(cāng)庫(kù)中jar包與項(xiàng)目相關(guān)類(lèi)連接,保證項(xiàng)目正常運(yùn)行。MySQL數(shù)據(jù)庫(kù)搭建官網(wǎng)下載MySQL文件,去官網(wǎng)下載時(shí),按照自己電腦本身格式去下載32位或64位,解壓文件后,雙擊setup.exe進(jìn)行安裝,在選擇安裝類(lèi)型時(shí),選擇適合自己開(kāi)發(fā)系統(tǒng)所需,填上安裝目錄,安裝完成后。進(jìn)入mysql配置,選擇服務(wù)器類(lèi)型,保證系統(tǒng)運(yùn)行正常,最后要對(duì)MySQL進(jìn)行編碼配置,選擇utf-8編碼,大多數(shù)軟件開(kāi)發(fā)平臺(tái)常用都是這一編碼格式,設(shè)置完自己超級(jí)管理用戶(hù)的賬號(hào)和密碼后安裝完成,正常使用。系統(tǒng)功能概要設(shè)計(jì)該系統(tǒng)主要是分為用戶(hù)和管理員兩大用戶(hù)。在設(shè)計(jì)主要功能時(shí),對(duì)兩個(gè)用戶(hù)功能進(jìn)行分析設(shè)計(jì),首先對(duì)管理員用戶(hù)需要設(shè)計(jì)的功能如下圖4.1所示:圖4.1管理員功能如圖4.1所示管理員用戶(hù)可以操作系統(tǒng)進(jìn)行商品管理、訂單管理、商品分類(lèi)管理,用戶(hù)管理操作。四個(gè)功能模塊可以將商品后臺(tái)信息更好的展示給客戶(hù),在客戶(hù)遇到不能自行解決的麻煩(忘記用戶(hù)名,忘記密碼)時(shí),更好的為客戶(hù)提供幫助,也方便系統(tǒng)的維護(hù)和后續(xù)開(kāi)發(fā)。對(duì)普通用戶(hù)需要設(shè)計(jì)的功能如圖4.2所示:圖4.2普通用戶(hù)功能如上圖所示,普通用戶(hù)使用系統(tǒng)功能有用戶(hù)信息操作、商品操作、購(gòu)物車(chē)管理、訂單管理及支付操作。這些功能模仿當(dāng)前主流電商功能模塊,使該系統(tǒng)更符合當(dāng)代用戶(hù)的操作習(xí)慣,系統(tǒng)功能更加完善。系統(tǒng)功能詳細(xì)設(shè)計(jì)結(jié)合系統(tǒng)功能性需求分析,系統(tǒng)功能可分為五大類(lèi):用戶(hù)登錄注冊(cè)功能、商品管理功能、購(gòu)物車(chē)管理功能、訂單管理功能,線上支付功能。系統(tǒng)功能詳細(xì)設(shè)計(jì)結(jié)合流程圖與設(shè)計(jì)步驟,將功能設(shè)計(jì)進(jìn)行詳述。用戶(hù)注冊(cè)登錄功能1、用戶(hù)分為管理員和普通用戶(hù)兩個(gè),但設(shè)計(jì)兩者的操作流程及功能是完全一致的,只有登錄網(wǎng)址和登錄頁(yè)面不一致。執(zhí)行登錄操作,輸入前臺(tái)頁(yè)面所需用戶(hù)信息登錄系統(tǒng),用戶(hù)或管理員登錄操作流程如圖4.3所示:圖4.3用戶(hù)或管理員登錄功能2、在注冊(cè)時(shí),需要輸入用戶(hù)信息,后臺(tái)判斷信息格式。用戶(hù)或管理員注冊(cè)功能流程圖如圖4.4所示:圖4.4用戶(hù)或管理員注冊(cè)功能商品管理功能1、商品管理功能屬于管理員特有功能,普通用戶(hù)只能在前臺(tái)進(jìn)行查看商品信息,搜索自己喜愛(ài)的商品,而修改商品信息不屬于普通用戶(hù)功能。管理員操作商品管理,對(duì)其進(jìn)行商品上架、下架及信息修改。商品添加,根據(jù)前端頁(yè)面信息輸入框內(nèi)容提示,填入對(duì)應(yīng)商品信息格式,對(duì)其進(jìn)行上架操作。商品上架功能流程圖如圖4.5所示:圖4.5商品上架功能2、管理員對(duì)商品下架需要在商品列表中,選中商品下架,前臺(tái)頁(yè)面彈出提示框詢(xún)問(wèn)該操作是否執(zhí)行,執(zhí)行操作。下架功能流程圖如圖4.6所示:圖4.6商品下架功能3、修改商品信息,從后臺(tái)中進(jìn)入商品列表,管理員選中商品修改,按照提示填寫(xiě)信息,確定后提交。修改商品信息流程圖如圖4.7所示:圖4.7商品信息修改功能購(gòu)物車(chē)管理功能1、該系統(tǒng)中購(gòu)物車(chē)管理功能是屬于用戶(hù)功能,用戶(hù)可以在購(gòu)物車(chē)中進(jìn)行添加商品,刪除商品。購(gòu)物車(chē)管理功能還有一鍵全選和一鍵全不選額外功能。執(zhí)行購(gòu)物車(chē)添加操作,前臺(tái)選中商品選擇加入購(gòu)物車(chē)。購(gòu)物車(chē)添加功能流程圖如圖4.8所示:圖4.8購(gòu)物車(chē)添加商品功能2、在購(gòu)物車(chē)中刪除已收藏的商品,首先選中該商品,點(diǎn)擊刪除,系統(tǒng)會(huì)提示刪除結(jié)果,重新進(jìn)入該頁(yè)面,該商品不再顯示即操作成功。購(gòu)物車(chē)中刪除商品功能流程圖如圖4.9所示:圖4.9購(gòu)物車(chē)刪除商品功能訂單管理功能1、該系統(tǒng)中訂單管理功能分為普通用戶(hù)和管理員操作。在管理員進(jìn)行訂單管理操作時(shí),可以查看用戶(hù)的所有生成訂單并對(duì)其已經(jīng)付款過(guò)的訂單進(jìn)行發(fā)貨處理;在普通用戶(hù)進(jìn)行操作時(shí),用戶(hù)可以對(duì)自己的訂單進(jìn)行支付或取消操作。普通用戶(hù)對(duì)訂單進(jìn)行支付或取消操作功能流程圖如圖4.10所示:圖4.10訂單取消或付款功能2、用戶(hù)生成的所有訂單由管理員進(jìn)行查看,并修改支付過(guò)訂單狀態(tài),線下執(zhí)行發(fā)貨。訂單查看及發(fā)貨處理功能流程圖如圖4.11所示:圖4.11訂單查看及發(fā)貨處理功能線上支付功能線上支付功能是該系統(tǒng)中設(shè)計(jì)較為復(fù)雜的模塊,里面包含用戶(hù)收貨地址,收貨電話等信息的填寫(xiě),是用戶(hù)在使用該系統(tǒng)最為關(guān)鍵的一環(huán),具體流程是用戶(hù)登錄系統(tǒng)后,在購(gòu)物車(chē)中選中要購(gòu)買(mǎi)的產(chǎn)品,點(diǎn)擊購(gòu)買(mǎi)后,讓用戶(hù)進(jìn)行填寫(xiě)收貨信息,填寫(xiě)完成后,確認(rèn)購(gòu)買(mǎi),掃描系統(tǒng)頁(yè)面中出現(xiàn)的二維碼,即可完成線上支付。線上支付功能流程圖如圖4.12所示:圖4.12用戶(hù)線上支付功能系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是開(kāi)發(fā)系統(tǒng)過(guò)程中最重要的一環(huán),只有將底層數(shù)據(jù)庫(kù)設(shè)計(jì)完成,后端代碼的設(shè)計(jì)才能得心應(yīng)手。系統(tǒng)的成熟性與完整性,需要系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)提供各方面支持,數(shù)據(jù)庫(kù)設(shè)計(jì)需要做到對(duì)系統(tǒng)業(yè)務(wù)需求的滿(mǎn)足,在此基礎(chǔ)上通過(guò)主外鍵,非空,限制,索引等來(lái)保證數(shù)據(jù)的健壯性,通過(guò)合理的表結(jié)構(gòu),物理分區(qū)存儲(chǔ)等實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀取速度和查找效率的提高REF_Ref17212\r\h[6]。該系統(tǒng)使用的是具有多線程,提供服務(wù)速率快,輕巧靈活性強(qiáng)的MySQL數(shù)據(jù)庫(kù)REF_Ref4547\r\h[13]。根據(jù)系統(tǒng)需求分析,本系統(tǒng)設(shè)計(jì)了用戶(hù)表(wwg_user),產(chǎn)品表(wwg_product),分類(lèi)表(產(chǎn)品分類(lèi)表wwg_category),購(gòu)物車(chē)表(wwg_cart),訂單表(wwg_order),訂單子表(wwg_order_item),支付地址確認(rèn)表(wwg_shipping)共7個(gè)表結(jié)構(gòu)。數(shù)據(jù)庫(kù)E-R關(guān)系圖數(shù)據(jù)庫(kù)表總共有8個(gè)表,各個(gè)表之前都具有一定的關(guān)聯(lián)性,其中主要表關(guān)聯(lián)關(guān)系如下:1、用戶(hù)表與商品表、訂單表之間有關(guān)聯(lián)性,用戶(hù)使用系統(tǒng)生成訂單,訂單中包含商品。用戶(hù)和商品兩個(gè)實(shí)體之間關(guān)系為M:N,當(dāng)用戶(hù)不存在時(shí),訂單就不存在,商品不存在訂單也就不存在,故訂單為弱實(shí)體,E-R關(guān)系圖如圖4.13所示:圖4.13用戶(hù)與商品、訂單E-R關(guān)系圖用戶(hù)表與商品表、購(gòu)物車(chē)表之間有關(guān)聯(lián)性,用戶(hù)使用系統(tǒng)將商品加入購(gòu)物車(chē)中。用戶(hù)與購(gòu)物車(chē)兩個(gè)實(shí)體之間的關(guān)系為1:1,用戶(hù)不存在時(shí),購(gòu)物車(chē)就不存在,商品不存在,購(gòu)物車(chē)也就不存在,故購(gòu)物車(chē)為弱實(shí)體,E-R關(guān)系圖如圖4.14所示:圖4.14用戶(hù)與商品、購(gòu)物車(chē)E-R關(guān)系圖用戶(hù)表與支付表、訂單表之間有關(guān)聯(lián)性,用戶(hù)使用系統(tǒng)生成訂單進(jìn)行商品支付。用戶(hù)與訂單兩個(gè)實(shí)體之間的關(guān)系為1:1,用戶(hù)不存在時(shí),支付過(guò)程就不存在。訂單不存在,支付也就不存在,故支付為弱實(shí)體。E-R關(guān)系圖如圖4.15所示:圖4.15用戶(hù)與支付、訂單E-R關(guān)系圖數(shù)據(jù)庫(kù)表設(shè)計(jì)1、用戶(hù)表主要用來(lái)存儲(chǔ)用戶(hù)的詳細(xì)信息,當(dāng)用戶(hù)使用該系統(tǒng)時(shí),系統(tǒng)驗(yàn)證用戶(hù)信息需要用到該表,用戶(hù)密碼在存儲(chǔ)時(shí)采用MD5加密對(duì)用戶(hù)的信息進(jìn)行了保護(hù)。4.1用戶(hù)表(wwg_user)字段類(lèi)型長(zhǎng)度注釋備注idint11用戶(hù)唯一標(biāo)識(shí)主鍵u_namevarchar100名稱(chēng)u_passwordvarchar100密碼u_emailvarchar25郵箱地址u_phonevarchar25手機(jī)號(hào)碼u_questionvarchar200問(wèn)題u_answervarchar200答案u_roleint10權(quán)限2、產(chǎn)品表主要用來(lái)存儲(chǔ)產(chǎn)品的詳細(xì)信息,用戶(hù)在進(jìn)行商品搜索時(shí)和管理員進(jìn)行商品信息修改時(shí),都會(huì)用到該表。4.2產(chǎn)品表(wwg_product)字段類(lèi)型長(zhǎng)度注釋備注idint11商品唯一標(biāo)識(shí)主鍵cg_idint11分類(lèi)標(biāo)識(shí)pd_namevarchar50產(chǎn)品名稱(chēng)pd_sub_titlevarchar300產(chǎn)品標(biāo)題pd_imagevarchar600產(chǎn)品圖片地址pd_detailtext產(chǎn)品詳情內(nèi)容pd_pricedecimal(20,2)價(jià)格pd_stockint11產(chǎn)品總數(shù)量pd_statusint6產(chǎn)品狀態(tài)3、產(chǎn)品分類(lèi)表主要存儲(chǔ)產(chǎn)品分類(lèi)主要信息,用戶(hù)進(jìn)行分類(lèi)查找商品和管理員給商品定義商品類(lèi)別標(biāo)簽時(shí)使用此表。4.3產(chǎn)品分類(lèi)表(wwg_category)字段類(lèi)型長(zhǎng)度注釋備注idint11產(chǎn)品類(lèi)別唯一標(biāo)識(shí)主鍵cg_namevarchar100產(chǎn)品分類(lèi)名稱(chēng)cg_statusint6分類(lèi)狀態(tài)cg_sort_orderint10產(chǎn)品排序編號(hào)4、購(gòu)物車(chē)表主要用來(lái)存儲(chǔ)用戶(hù)喜愛(ài)商品的商品id,在用戶(hù)進(jìn)行購(gòu)買(mǎi)此商品時(shí),系統(tǒng)根據(jù)存儲(chǔ)的商品id進(jìn)行查找商品表中該商品的相關(guān)信息,當(dāng)用戶(hù)使用購(gòu)物車(chē)功能時(shí)會(huì)使用此表,主要是對(duì)商品id進(jìn)行操作。4.4購(gòu)物車(chē)表(wwg_cart)字段類(lèi)型長(zhǎng)度注釋備注idint11購(gòu)物車(chē)唯一標(biāo)識(shí)主鍵u_idint11用戶(hù)唯一標(biāo)識(shí)pd_idint11產(chǎn)品唯一標(biāo)識(shí)pd_stockint11產(chǎn)品數(shù)量pd_pricedecimal(20,2)產(chǎn)品總數(shù)量5、訂單表(也是訂單主表)主要對(duì)用戶(hù)準(zhǔn)備支付商品或已支付商品而形成的訂單信息的整理存儲(chǔ),其中訂單表中訂單id是唯一的,訂單id用來(lái)與用戶(hù)id關(guān)聯(lián),用戶(hù)進(jìn)行購(gòu)買(mǎi)商品和管理員對(duì)訂單狀態(tài)操作時(shí)會(huì)用到此表。4.5訂單表(wwg_order)字段類(lèi)型長(zhǎng)度注釋備注idint11訂單唯一標(biāo)識(shí)主鍵or_novarchar20訂單號(hào)u_idint11用戶(hù)唯一標(biāo)識(shí)or_paymentdecimal(20,2)支付訂單金額or_pay_typeint4支付類(lèi)型or_statusint10訂單狀態(tài)or_pay_timdatetime記錄訂單支付or_send_timedatetime記錄訂單發(fā)貨or_end_timedatetime訂單交易完成時(shí)間6、訂單子表(也可稱(chēng)訂單詳情表)主要是訂單詳細(xì)信息的整合歸納,屬于訂單表子表,訂單子表id為唯一主鍵。主要包含訂單中商品各種信息,用戶(hù)查看訂單明細(xì)進(jìn)行支付和管理員查看訂單明細(xì)時(shí)會(huì)用到此表。4.6訂單子表(wwg_order_item)字段類(lèi)型長(zhǎng)度注釋備注idint11訂單子表唯一標(biāo)識(shí)主鍵u_idint11用戶(hù)唯一標(biāo)識(shí)or_nobigint20訂單號(hào)pd_idint11產(chǎn)品唯一標(biāo)識(shí)pd_namevarchar50產(chǎn)品名稱(chēng)pd_imagevarchar500產(chǎn)品圖片地址pd_pricedecimal(20,2)產(chǎn)品單價(jià)pd_quantityint10產(chǎn)品數(shù)量pd_t_pricedecimal(20,2)產(chǎn)品總價(jià)7、支付地址表(也可簡(jiǎn)稱(chēng)支付表)主要是用戶(hù)收貨姓名,地址,電話等詳細(xì)信息的接收。用戶(hù)購(gòu)買(mǎi)商品添加收貨地址信息時(shí)使用此表。4.7支付地址表(wwg_shipping)字段類(lèi)型長(zhǎng)度注釋備注idint11表唯一標(biāo)識(shí)主鍵user_idint11用戶(hù)唯一標(biāo)識(shí)accept_namvarchar50接收者姓名accept_phovarchar50接收者手機(jī)號(hào)accept_provarchar50省份accept_cyvarchar50城市accept_disvarchar200區(qū)/縣accept_advarchar300詳細(xì)地址accept_zipvarchar10郵編本章小結(jié)本章從平臺(tái)開(kāi)發(fā)環(huán)境搭建設(shè)計(jì)出發(fā),打好系統(tǒng)開(kāi)發(fā)基礎(chǔ);將系統(tǒng)功能概要進(jìn)行簡(jiǎn)述,為系統(tǒng)功能設(shè)計(jì)提供思路;系統(tǒng)功能詳細(xì)設(shè)計(jì)用流程圖簡(jiǎn)述功能實(shí)現(xiàn)步驟;數(shù)據(jù)庫(kù)設(shè)計(jì)用數(shù)據(jù)庫(kù)表和E-R關(guān)系圖闡述數(shù)據(jù)庫(kù)如何搭建。系統(tǒng)設(shè)計(jì)進(jìn)一步將系統(tǒng)框架搭建完成,為具體功能設(shè)計(jì)和實(shí)現(xiàn)提供支持。系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本系統(tǒng)主要分為管理員和用戶(hù)使用,在實(shí)現(xiàn)功能時(shí),也是分為兩大模塊進(jìn)行設(shè)計(jì)分析實(shí)現(xiàn),將其分為用戶(hù)功能和管理員功能。對(duì)每個(gè)功能模塊分析設(shè)計(jì),結(jié)合系統(tǒng)功能開(kāi)發(fā)步驟和代碼實(shí)現(xiàn)詳述系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。用戶(hù)功能實(shí)現(xiàn)用戶(hù)功能實(shí)現(xiàn)是系統(tǒng)中主要功能,能簡(jiǎn)單實(shí)現(xiàn)出來(lái)主要是用戶(hù)登錄注冊(cè)管理功能和購(gòu)物車(chē)管理功能,較復(fù)雜的為訂單管理功能和線上支付功能的實(shí)現(xiàn),前兩個(gè)功能所涉及到的表關(guān)系簡(jiǎn)單,而后兩個(gè)功能牽扯到的表關(guān)系復(fù)雜。用戶(hù)管理主要功能的實(shí)現(xiàn)如下。用戶(hù)登錄注冊(cè)功能1、當(dāng)用戶(hù)想要使用該系統(tǒng)時(shí),用戶(hù)需要進(jìn)行使用網(wǎng)址進(jìn)入該系統(tǒng)首頁(yè),在首頁(yè)中點(diǎn)擊注冊(cè)按鈕(不進(jìn)行注冊(cè)的用戶(hù)無(wú)法進(jìn)行正常購(gòu)買(mǎi)商品),這時(shí)需要用戶(hù)在注冊(cè)頁(yè)面,填寫(xiě)本人的各種信息,填寫(xiě)信息完成之后,系統(tǒng)校驗(yàn)信息格式是否正確,格式正確,注冊(cè)完成。用戶(hù)注冊(cè)功能實(shí)現(xiàn)如圖5.1所示:圖5.1用戶(hù)注冊(cè)功能實(shí)現(xiàn)使用注冊(cè)功能時(shí),信息填寫(xiě)格式正確且完整,系統(tǒng)驗(yàn)證該用戶(hù)是否已經(jīng)存在,用戶(hù)不存在,提示注冊(cè)成功,用戶(hù)選擇是否進(jìn)行登錄。用戶(hù)注冊(cè)功能前臺(tái)部分實(shí)現(xiàn)代碼為://用戶(hù)注冊(cè)register:function(userInfo,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/user/register.do'), data:userInfo, method:'POST', success:resolve, error:reject });},//檢查登錄狀態(tài)checkLogin:function(resolve,reject){ _mm.request({ url:_mm.getServerUrl('/user/getUserInfo.do'), method:'POST', success:resolve, error:reject });},2、完成用戶(hù)注冊(cè)之后,用戶(hù)進(jìn)行登錄使用該系統(tǒng),在該系統(tǒng)首頁(yè)找到登錄按鈕,填寫(xiě)密碼和用戶(hù)名稱(chēng),格式校驗(yàn)成功,用戶(hù)是否存在由系統(tǒng)驗(yàn)證后得出結(jié)果,不存在用戶(hù)需要在系統(tǒng)中注冊(cè)信息,存在用戶(hù),校驗(yàn)密碼與該用戶(hù)在數(shù)據(jù)庫(kù)中存儲(chǔ)密碼是否一致,一致會(huì)成功登錄,不一致系統(tǒng)會(huì)建議用戶(hù)重新輸入密碼,或者進(jìn)行找回密碼。用戶(hù)登錄功能實(shí)現(xiàn)如圖5.2所示:圖5.2用戶(hù)登錄功能實(shí)現(xiàn)用戶(hù)登錄系統(tǒng),從前臺(tái)輸入的信息從控制器傳入服務(wù)層,服務(wù)層調(diào)用數(shù)據(jù)層,從數(shù)據(jù)庫(kù)中驗(yàn)證用戶(hù)輸入信息的正確性,再向控制器返回信息。用戶(hù)登錄系統(tǒng)前臺(tái)部分實(shí)現(xiàn)代碼如下://用戶(hù)登錄login:function(userInfo,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/user/login.do'),//獲取服務(wù)器地址 data:userInfo, method:'POST', success:resolve, error:reject });},//檢查用戶(hù)名checkUsername:function(username,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/user/checkValid.do'), data:{ type:'username', str:username }, method:'POST', success:resolve, error:reject });},購(gòu)物車(chē)管理功能使用系統(tǒng)的購(gòu)物車(chē)管理功能,用戶(hù)登錄后在系統(tǒng)首頁(yè)找到我的購(gòu)物車(chē)模塊,在購(gòu)物車(chē)模塊中,刪除按鈕的點(diǎn)擊,會(huì)將購(gòu)物車(chē)中的商品刪除;也可以在系統(tǒng)首頁(yè)查找自己喜歡的商品后,將其加入我的購(gòu)物車(chē),購(gòu)物車(chē)管理功能中,可以進(jìn)行一鍵全選或者反選操作。購(gòu)物車(chē)管理實(shí)現(xiàn)功能如圖5.3所示:圖5.3購(gòu)物車(chē)管理功能實(shí)現(xiàn)用戶(hù)從前臺(tái)點(diǎn)擊加入我的購(gòu)物車(chē),服務(wù)層接受控制器傳來(lái)的用戶(hù)id和商品id、加入購(gòu)物車(chē)中的商品數(shù)量,服務(wù)層判斷產(chǎn)品是否在購(gòu)物車(chē)中,在購(gòu)物車(chē)中,只需添加該產(chǎn)品在購(gòu)物車(chē)中的數(shù)量,如不在,需要增加該產(chǎn)品記錄,根據(jù)判斷結(jié)果向數(shù)據(jù)層執(zhí)行對(duì)應(yīng)的SQL語(yǔ)句,最后返回結(jié)果值。用戶(hù)將喜愛(ài)商品加入購(gòu)物車(chē)前臺(tái)部分實(shí)現(xiàn)代碼為:<divclass="crumb"> <divclass="w"> <divclass="crumb-con"> <aclass="link"href="./index.html">WWG</a> <span>></span> <spanclass="link-text">購(gòu)物車(chē)</span> </div> </div></div><divclass="wrapw">//添加到購(gòu)物車(chē)addToCart:function(productInfo,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/cart/add.do'), data:productInfo, success:resolve, error:reject }); },購(gòu)物車(chē)中刪除商品,從前臺(tái)傳出產(chǎn)品id,服務(wù)層接受用戶(hù)id、產(chǎn)品id,將其傳入數(shù)據(jù)層,執(zhí)行刪除操作后,向控制器返回結(jié)果值。購(gòu)物車(chē)中商品被用戶(hù)刪除前臺(tái)部分實(shí)現(xiàn)代碼為://刪除指定商品deleteProduct:function(productIds,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/cart/delete_product.do'), data:{ productIds:productIds }, success:resolve, error:reject });},訂單管理功能用戶(hù)使用系統(tǒng)的訂單管理功能,需要從系統(tǒng)首頁(yè)登錄系統(tǒng),在我的訂單模塊中查看訂單列表,在列表里面去查看訂單詳情,在訂單詳情里面,用戶(hù)可以對(duì)該訂單進(jìn)行取消操作或者進(jìn)行支付該訂單操作,完成以上任意操作,系統(tǒng)會(huì)告知用戶(hù)操作成功。用戶(hù)在訂單詳情進(jìn)行取消或支付操作功能實(shí)現(xiàn)如圖5.4所示:圖5.4訂單管理功能實(shí)現(xiàn)從前臺(tái)獲取訂單號(hào),由控制器傳入服務(wù)層,服務(wù)層根據(jù)條件判斷,判斷訂單是否存在,不存在直接傳回結(jié)果值;該訂單存在,存在進(jìn)行判斷該訂單狀態(tài),進(jìn)入數(shù)據(jù)層獲取訂單狀態(tài),已付款訂單不可被取消,如不是付款訂單,傳入數(shù)據(jù)層執(zhí)行取消訂單,再返回結(jié)果值。用戶(hù)進(jìn)行訂單取消操作前臺(tái)部分實(shí)現(xiàn)代碼為://取消訂單cancelOrder:function(orderNumber,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/order/cancel.do'), data:{ orderNo:orderNumber, }, success:resolve, error:reject });}訂單支付,從前臺(tái)獲取該用戶(hù)信息、訂單號(hào),傳入服務(wù)層判斷用戶(hù)是否存在,不存在返回支付失敗結(jié)果,存在執(zhí)行支付操作。用戶(hù)進(jìn)行訂單支付操作前臺(tái)部分實(shí)現(xiàn)代碼為:<divclass="crumb-con"> <aclass="link"href="./index.html">WWG</a> <span>></span> <spanclass="link-text">訂單支付</span></div>//提交訂單createOrder:function(orderInfo,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/order/create.do'), data:orderInfo, success:resolve, error:reject });},線上支付功能線上支付功能在使用時(shí),要求用戶(hù)必須登錄系統(tǒng),用戶(hù)從訂單管理模塊中查看訂單詳情,從中進(jìn)行去支付該訂單,在訂單提交成功后,刷新頁(yè)面,出現(xiàn)支付寶二維碼,這時(shí),只需要用戶(hù)進(jìn)行掃描二維碼進(jìn)行支付即可,用戶(hù)支付成功后,系統(tǒng)會(huì)提醒用戶(hù)支付是否成功。生成支付二維碼,將訂單號(hào)、用戶(hù)id傳入服務(wù)層,判斷用戶(hù)存在,進(jìn)行線上支付操作。線上支付功能前臺(tái)部分實(shí)現(xiàn)代碼為://線上支付getPaymentInfo:function(orderNumber,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/order/pay.do'), data:{ orderNo:orderNumber, }, success:resolve, error:reject });},管理員功能實(shí)現(xiàn)管理功能需要完整性和安全性,需要直接操作到底層數(shù)據(jù)庫(kù)中數(shù)據(jù),對(duì)其安全性的要求極高,但在書(shū)寫(xiě)代碼時(shí),卻不那么復(fù)雜,大部分是直接的增刪改查,和用戶(hù)功能的復(fù)雜度不同,不要求系統(tǒng)界面的完美性,只要求操作數(shù)據(jù)庫(kù)功能的安全性。管理員主要功能實(shí)現(xiàn)如下:管理員登錄功能管理員登錄功能與用戶(hù)登錄功能的實(shí)現(xiàn)相差不多。管理員登錄后臺(tái)系統(tǒng),需要特定的后臺(tái)網(wǎng)址,進(jìn)入系統(tǒng)登錄頁(yè)面,輸入賬號(hào)和密碼,系統(tǒng)從數(shù)據(jù)庫(kù)中搜索查詢(xún)?cè)撡~號(hào)是否存在,不存在,系統(tǒng)警告提醒,存在則會(huì)校驗(yàn)密碼正確性,有無(wú)錯(cuò)誤,系統(tǒng)都會(huì)進(jìn)行提醒,管理員無(wú)注冊(cè)頁(yè)面,因?yàn)楣芾韱T與用戶(hù)只是權(quán)限上的不同,用戶(hù)成為管理員只需要在底層數(shù)據(jù)庫(kù)中進(jìn)行修改權(quán)限。管理員實(shí)現(xiàn)登錄功能如圖5.6所示:圖5.6管理員登錄功能實(shí)現(xiàn)服務(wù)層獲取從控制器傳來(lái)的用戶(hù)信息,判斷用戶(hù)存在,向底層數(shù)據(jù)庫(kù)驗(yàn)證用戶(hù)信息,信息成功執(zhí)行的登錄操作,返回結(jié)果值。管理登錄功能前臺(tái)部分實(shí)現(xiàn)代碼為://管理員登錄login:function(userInfo,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/user/login.do'),//獲取服務(wù)器地址 data:userInfo, method:'POST', success:resolve, error:reject });},商品管理功能當(dāng)管理員登錄后臺(tái)系統(tǒng)后,在系統(tǒng)首頁(yè)中的商品管理模塊中,可以進(jìn)行對(duì)商品下架,上架,商品信息重新編輯等操作。管理員只需要點(diǎn)擊那些功能性按鈕,就可以對(duì)商品進(jìn)行相應(yīng)操作,在對(duì)商品進(jìn)行修改編輯時(shí),用戶(hù)可以上傳商品圖片,并對(duì)其進(jìn)行詳細(xì)描述,這些修改后,前臺(tái)系統(tǒng)進(jìn)行刷新,顯示最新商品信息。商品管理功能實(shí)現(xiàn)如圖5.7所示:圖5.7商品管理功能實(shí)現(xiàn)執(zhí)行添加商品操作,服務(wù)層接受控制器傳來(lái)的商品信息對(duì)象,判斷接受信息是否為空,為空不傳入數(shù)據(jù)層,直接返回結(jié)果值。不為空傳入數(shù)據(jù)層,商品信息添加到數(shù)據(jù),返回結(jié)果值,返回添加是否成功的結(jié)果值。商品管理功能前臺(tái)部分實(shí)現(xiàn)代碼為://獲取商品列表getProductList:function(listParam,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/product/list.do'), data:listParam, success:resolve, error:reject });},訂單管理功能管理員操作訂單管理功能。管理員在訂單管理模塊中,在其訂單列表中,找尋你需要進(jìn)行操作的訂單,點(diǎn)擊查看,在訂單詳情中對(duì)其進(jìn)行發(fā)貨處理。進(jìn)行發(fā)貨處理的前提是用戶(hù)使用系統(tǒng)購(gòu)買(mǎi)商品,進(jìn)行線上支付,這時(shí)后臺(tái)會(huì)顯示訂單狀態(tài)為已支付,管理員可以進(jìn)行發(fā)貨處理。訂單管理功能實(shí)現(xiàn)如圖5.8所示:圖5.8訂單管理功能實(shí)現(xiàn)服務(wù)層接受來(lái)自控制層傳來(lái)的訂單號(hào),判斷訂單號(hào)是否存在,不存在,向控制層返回結(jié)果值,訂單存在,在數(shù)據(jù)層執(zhí)行訂單狀態(tài)修改操作,控制層接受結(jié)果值。訂單管理功能前臺(tái)部分實(shí)現(xiàn)代碼為://獲取訂單列表getOrderList:function(listParam,resolve,reject){ _mm.request({ url:_mm.getServerUrl('/order/list.do'), data:listParam, success:resolve, error:reject });},本章小結(jié)本部分對(duì)系統(tǒng)功能進(jìn)行拆分,從用戶(hù)和管理員兩部分,對(duì)系統(tǒng)詳細(xì)功能進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。主要對(duì)登錄注冊(cè)、購(gòu)物車(chē)管理、訂單管理、商品管理、線上支付功能講述,詳述了系統(tǒng)功能實(shí)現(xiàn)過(guò)程和代碼編寫(xiě),將實(shí)現(xiàn)結(jié)果進(jìn)行了展示。系統(tǒng)測(cè)試系統(tǒng)測(cè)試將系統(tǒng)看做一個(gè)整體,測(cè)試所有相關(guān)功能,以方便檢測(cè)系統(tǒng)分析和設(shè)計(jì)中出現(xiàn)的錯(cuò)誤,將整個(gè)系統(tǒng)再次進(jìn)行優(yōu)化,從而保證系統(tǒng)使用可行性。系統(tǒng)測(cè)試目的軟件測(cè)試主要是通過(guò)計(jì)算機(jī)應(yīng)用軟件測(cè)試當(dāng)做實(shí)際探究對(duì)象,進(jìn)一步分析軟件測(cè)試的關(guān)鍵作用,探究各個(gè)軟件測(cè)試手段的優(yōu)缺點(diǎn),制定了完善軟件測(cè)試手段的詳細(xì)措施REF_Ref15847\r\h[14]。采用系統(tǒng)測(cè)試就是為了提高系統(tǒng)的完整性和安全性,將系統(tǒng)中設(shè)計(jì)時(shí)未發(fā)現(xiàn)的bug進(jìn)行排除,將系統(tǒng)功能更加完善。本系統(tǒng)采用黑盒測(cè)試,將程序中每個(gè)功能和界面都進(jìn)行測(cè)試一遍,從用戶(hù)角度來(lái)測(cè)試系統(tǒng)是否可用,以及使用的方便度,頁(yè)面簡(jiǎn)潔度,可使用性REF_Ref17525\r\h[15]。系統(tǒng)測(cè)試環(huán)境部署系統(tǒng)開(kāi)始進(jìn)行測(cè)試之前,開(kāi)始部署系統(tǒng)環(huán)境,使用系統(tǒng),需要將系統(tǒng)部署到web上,需要用到Tomcat服務(wù)器,NATAPP內(nèi)網(wǎng)穿透,F(xiàn)TPserver本地文件倉(cāng)庫(kù),Nginx反向代理。首先啟動(dòng)IntelliJIDEA開(kāi)發(fā)平臺(tái),進(jìn)行Tomcat服務(wù)器部署,將服務(wù)器url設(shè)置為http://localhost:8080/dist/view/index.html系統(tǒng)主頁(yè)面網(wǎng)址,端口號(hào)為8080。再進(jìn)行部署NATAPP內(nèi)網(wǎng)穿透,打開(kāi)NATAPP.exe,在彈出的cmd窗口中輸入natapp-authtoken=0fc7e4d8e3a16b12,獲得返回網(wǎng)址,將其填入到項(xiàng)目配置文件中,獲取阿里返回值。配置FTPserver本地文件倉(cāng)庫(kù)和Nginx反向代理,直接點(diǎn)擊FTP啟動(dòng),將設(shè)置的賬號(hào)和密碼填入項(xiàng)目配置文件中,部署Nginx反向代理,找到包含nginx.exe文件路徑,打開(kāi)cmd窗口,輸入nginx.exe-sreload進(jìn)行啟動(dòng)更新配置,這時(shí)系統(tǒng)環(huán)境部署完成,在開(kāi)發(fā)平臺(tái)中啟動(dòng)Tomcat服務(wù)器,項(xiàng)目執(zhí)行后,瀏覽器會(huì)自動(dòng)跳出系統(tǒng)頁(yè)面。系統(tǒng)功能測(cè)試用例為了保證系統(tǒng)可使用性、安全性和完整性,對(duì)系統(tǒng)的用戶(hù)登錄注冊(cè)、商品管理、購(gòu)物車(chē)管理、訂單管理和線上支付功能進(jìn)行測(cè)試,系統(tǒng)的具體測(cè)試用例表如6.1所示:系統(tǒng)功能測(cè)試用例表6.1測(cè)試功能測(cè)試步驟測(cè)試結(jié)果1、用戶(hù)功能(1)管理員和用戶(hù)分別進(jìn)行使用后臺(tái)和前臺(tái)登錄功能,輸入各自的賬號(hào)和密碼。(2)測(cè)試系統(tǒng)注冊(cè)功能,信息輸入,系校驗(yàn)信息成功后,注冊(cè)測(cè)試。(1)系統(tǒng)提示登錄成功(2)系統(tǒng)提示注冊(cè)成功2、商品管理功能(1)管理員通過(guò)登錄后臺(tái)系統(tǒng),操作商品管理模塊,對(duì)某一商品進(jìn)行上架或下架操作。(2)對(duì)商品信息進(jìn)行修改,點(diǎn)擊提交按鈕。(1)系統(tǒng)提示下架或上架成功,前臺(tái)顯示成功。(2)前臺(tái)系統(tǒng)顯示該商品與修改后保持一致。3、購(gòu)物車(chē)管理功能(1)用戶(hù)在前臺(tái)頁(yè)面操作購(gòu)物車(chē),進(jìn)行刪除商品操作。(2)用戶(hù)選擇喜愛(ài)商品,加入我的購(gòu)物車(chē)中。(1)系統(tǒng)自動(dòng)刷新頁(yè)面,我的購(gòu)物車(chē)中的商品已被刪除。(2)系統(tǒng)提示添加成功。我的購(gòu)物車(chē)模塊中商品已添加上。4、訂單管理功能(1)測(cè)試訂單管理功能,測(cè)試訂單取消操作。(2)測(cè)試用戶(hù)對(duì)生成的訂單進(jìn)行去支付操作。(3)管理員對(duì)已支付訂單進(jìn)行發(fā)貨處理。(1)系統(tǒng)刷新頁(yè)面,訂單不存在

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論