




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGEIII基于微信小程序+springboot的農(nóng)產(chǎn)品商城系統(tǒng)設(shè)計摘要關(guān)鍵字:電商系統(tǒng);微信小程序;SpringBoot;目錄TOC\o"1-2"\h\u第一章緒論 11.1項目研究背景和意義 11.2國內(nèi)外研究現(xiàn)狀 21.3論文主要研究內(nèi)容 21.4論文組織結(jié)構(gòu) 3第二章相關(guān)概念與技術(shù)理論綜述 42.1移動端開發(fā)技術(shù)介紹 42.2后端技術(shù)介紹 42.4MySQL介紹 52.5本章小結(jié) 5第三章系統(tǒng)需求分析 73.1系統(tǒng)需求概述 73.2系統(tǒng)角色分析 73.3核心業(yè)務(wù)流程 73.4系統(tǒng)功能性需求 103.5本章小結(jié) 13第四章系統(tǒng)總體設(shè)計 144.1系統(tǒng)總體設(shè)計思路 144.2系統(tǒng)總體架構(gòu)設(shè)計 154.3系統(tǒng)功能模塊設(shè)計 164.4系統(tǒng)數(shù)據(jù)庫設(shè)計 184.5本章小結(jié) 21第五章系統(tǒng)詳細設(shè)計與實現(xiàn) 225.1商品管理設(shè)計與實現(xiàn) 225.2訂單模塊設(shè)計與實現(xiàn) 275.3本章小結(jié) 35第六章系統(tǒng)測試 366.1測試環(huán)境 366.2主要功能測試 366.3本章小結(jié) 40第七章總結(jié)與展望 417.1總結(jié) 417.2展望 41參考文獻 42PAGEPAGE3緒論1.1項目研究背景和意義自21世紀以來,隨著計算機與信息技術(shù)的不斷發(fā)展,促使了傳統(tǒng)消費行業(yè)走向互聯(lián)網(wǎng)變革,電子商城模式的誕生及發(fā)展改變了人們的消費習慣和消費理念[2]。各行各業(yè)也開始實現(xiàn)逐步電商化。根據(jù)以上背景調(diào)研,設(shè)計并實現(xiàn)一個基于SpringBoot的農(nóng)產(chǎn)品商城,依托微信小程序,利用其可擴展性和快速部署的優(yōu)勢;讓用戶能夠隨時隨地的使用小程序購買農(nóng)產(chǎn)品的目的,本文以此為目的展開分析研究。1.1.1研究背景互聯(lián)網(wǎng)隨著浩浩湯湯的時代浪潮一路高歌猛進,人們獲取信息的途徑已經(jīng)從口口相傳轉(zhuǎn)變?yōu)樵诰W(wǎng)絡(luò)上按詞索驥[3]。而隨著移動設(shè)備的進一步發(fā)展,人們不在滿足于僅僅從互聯(lián)網(wǎng)上獲取知識,于是移動電商購物平臺開始應(yīng)運而生,成為滿足人們?nèi)粘I钯徫镏械囊环N必不可少的方式。在現(xiàn)代社會,生活節(jié)奏日益加快,傳統(tǒng)購物方式需要花費大量的時間以及精力去選購商品,而且具有嚴格的時間、空間限制,不在特定的時間和地點中,根本無法完成購物。而與傳統(tǒng)電商相比,網(wǎng)絡(luò)電商平臺則毫無時間和空間限制,可以隨時隨地實現(xiàn)購物,節(jié)約時間和空間成本,于是電商平臺開始大行其道。隨著電商平臺的普及,各行各業(yè)開始電商化,農(nóng)產(chǎn)品商城的搭建也順應(yīng)時代發(fā)展而出現(xiàn)在歷史舞臺上。但是隨著時代的發(fā)展,移動APP的維護成本以及開發(fā)成本越來越高,而前后端不分離的開發(fā)方式也愈發(fā)臃腫,開發(fā)效率愈發(fā)低下,已經(jīng)無法滿足開發(fā)者以及用戶的需求,許多人開始使用前后端分離的方式來開發(fā)程序,低耦合、易維護是這種開發(fā)方式的特點,這使得這種開發(fā)方式成為大家的首選之一。電商平臺則由微信小程序搭建,微信小程序的特點有很多,我們選擇它的理由是因為微信小程序可以不用安裝,并且非常輕便,便于廣大農(nóng)戶的使用,這是它成為移動終端的主流開發(fā)方式之一的重要原因[4]。根據(jù)這些內(nèi)容,我們文中的這個平臺基于微信小程序開發(fā),后臺管理系統(tǒng)使用主流前后端分離SpringBoot+Vue技術(shù)實現(xiàn),統(tǒng)一管理系統(tǒng)基礎(chǔ)數(shù)據(jù);使用原生微信小程序開發(fā),使系統(tǒng)可以在移動終端上使用,節(jié)省用戶購買農(nóng)產(chǎn)品的時間和空間成本。1.1.2研究意義隨著信息化時代的到來,社會信息化進程加快,為了順應(yīng)時代發(fā)展的潮流各行各業(yè)都開始加快信息化的腳步[5],許多傳統(tǒng)銷售行業(yè)開始將以往單一的線下銷售模式,主鍵向線上銷售與線下銷售并行的銷售模式開始轉(zhuǎn)變,許多人也因此享受到了線上交易的方便之處,改變了人們購物生活的方式[6]。農(nóng)產(chǎn)品的購買是人們?nèi)粘I钪斜夭豢缮俚?,但在農(nóng)村許多優(yōu)質(zhì)農(nóng)產(chǎn)品都缺乏向外銷售的渠道,只能線下銷售,既不方便商家的銷售,也不利于用戶的購買,有鑒于這種現(xiàn)象的出現(xiàn),開辟線上銷售農(nóng)產(chǎn)品的渠道是十分必要的。農(nóng)產(chǎn)品商城主要以為商家提供銷售平臺和為用戶提供購買平臺等服務(wù)為主要目的,順應(yīng)時代潮流,使用weui框架開發(fā)的微信小程序作為用戶購買平臺,大大降低用戶購買農(nóng)產(chǎn)品的時間和空間成本[7],給用戶提供能夠高效選擇商品的平臺,提升用戶購買農(nóng)產(chǎn)品的效率,也為商家開辟一條線上銷售渠道,為商家提供更迅速更便捷的買賣渠道?;谖⑿判〕绦虻霓r(nóng)產(chǎn)品電商平臺,旨在實現(xiàn)能夠進行高效化,智能化的電商交易這樣一個符合信息化時代對新型農(nóng)產(chǎn)品的線上銷售模式的要求的平臺。1.2國內(nèi)外研究現(xiàn)狀在當前的社會情況之下,伴隨著農(nóng)業(yè)信息技術(shù)的飛速發(fā)展以及電子商務(wù)的逐漸普及,農(nóng)產(chǎn)品的相關(guān)電子商務(wù)服務(wù)走進了越來越多的普羅大眾的生活。這個時代,國外中大型規(guī)模的農(nóng)副產(chǎn)品相關(guān)網(wǎng)站已逾400多個,國外機構(gòu)在創(chuàng)建農(nóng)產(chǎn)品以及電子商務(wù)--體化的運行機制的同時,將傳統(tǒng)模式的農(nóng)業(yè)進行網(wǎng)絡(luò)化改造[8],近年來,國外競爭十分激烈,不同國家建立的電商模式也是各有千秋。其中,當屬日本的農(nóng)產(chǎn)品電商模式最為復(fù)雜[9]。國外的農(nóng)產(chǎn)品電子商務(wù)在很快的發(fā)展,但是國內(nèi)農(nóng)產(chǎn)品電子商務(wù)也不甘落后,也在蓬勃發(fā)展中,供小型廠商和個體商戶來交易的平臺卻沒有幾家,個體商戶只能將商品低價賣給中大型廠商,即不能為個體戶創(chuàng)造收益,也不能為國內(nèi)的農(nóng)產(chǎn)品商業(yè)發(fā)展做出貢獻。通過對比不難發(fā)現(xiàn),國內(nèi)國外的農(nóng)產(chǎn)品電子商務(wù)都處于方興未艾的階段,各種平臺正在逐漸孕育,但是多數(shù)都是PC端的,且都是大企業(yè)和大公司使用居多,屬于移動端產(chǎn)品,個體戶、小公司也可以使用的農(nóng)產(chǎn)品交易平臺也不多。綜上所述,雖然有很多大型農(nóng)產(chǎn)品交易平臺,但是市面上供個體戶使用,能夠免安裝在移動端部署,提高農(nóng)產(chǎn)品交易效率的產(chǎn)品還是寥寥無幾。1.3論文主要研究內(nèi)容通過對現(xiàn)有農(nóng)業(yè)商城系統(tǒng)以及農(nóng)業(yè)電子商務(wù)相關(guān)方面的優(yōu)缺點進行分析,結(jié)合我們文章中的系統(tǒng)需求進行進一步的解析,以提高用戶使用效率和商家買賣商品效率為目的,本課題的主要目標是學(xué)習設(shè)計并開發(fā)出一個基于微信小程序+springboot的農(nóng)產(chǎn)品商城,分為前臺商城展示部分和后臺管理系統(tǒng)部分。主要利用java語言、IDEA開發(fā)工具,采用的開發(fā)技術(shù)是目前主流的框架技術(shù)(springboot+vue+微信小程序)[11],Mysql作為數(shù)據(jù)庫管理系統(tǒng),使用目前比較流行的前后端分離方式進行開發(fā)。系統(tǒng)的主要使用用戶為兩種:前臺使用者,也就是普通用戶;后臺管理系統(tǒng)使用者,也就是商城管理員;1.4論文組織結(jié)構(gòu)第一章:緒論。本章內(nèi)容為結(jié)合當下環(huán)境以及研究,闡明了現(xiàn)在時代發(fā)展選擇下的電商平臺的新發(fā)展模式,從而引出了基于微信小程序的面向用戶的電商相關(guān)應(yīng)用平臺。第二章:相關(guān)概念與技術(shù)理論綜述。第三章:系統(tǒng)需求分析。分析系統(tǒng)需求和各角色所使用的功能需求。第四章:系統(tǒng)總體設(shè)計。本章以電商平臺所需的功能點為論述依據(jù)。第五章:系統(tǒng)詳細設(shè)計與實現(xiàn)。第六章:系統(tǒng)測試?;趥€人開發(fā)環(huán)境,對農(nóng)產(chǎn)品商城進行功能測試分析。第七章:總結(jié)與展望。本章總結(jié)了平臺與論文的實際成果,以及展望農(nóng)產(chǎn)品電商平臺的實際應(yīng)用前景。相關(guān)概念與技術(shù)理論綜述基于springboot+微信小程序的農(nóng)產(chǎn)品商城立足于現(xiàn)實環(huán)境中的需求,以前后端分離的形式來開發(fā),采用SpringBoot與MyBatis作為后端,使用Vue2.0與ElementUi作為前端的開發(fā)框架,可以有效降低代碼之間的耦合[12]。還有系統(tǒng)存在的問題能夠被更快發(fā)現(xiàn),與此同時也將系統(tǒng)的拓展性大大提高,同時結(jié)合微信小程序來進行開發(fā),可以同時滿足多端的需求。下面對于我們所使用到的具體技術(shù)進行一些簡單的介紹。2.1移動端開發(fā)技術(shù)介紹移動端的開發(fā)類型總體來說分為兩類,APP開發(fā)以及小程序開發(fā)[13]。而小程序開發(fā)國內(nèi)外也分為很多類,國內(nèi)目前較為主流且使用用戶較多的小程序開發(fā)方式則是微信小程序的開發(fā),微信小程序?qū)Ρ華pp具有的優(yōu)勢是,他比App更輕便,因為無需下載,所有不會占用太多手機空間;只要下載了微信,隨時隨地都能夠點開,而且同樣也可以生成快捷方式,而且由于他是背靠微信使用,與傳統(tǒng)的App相比較,不需要同時開發(fā)兩套端口,就可以同時在不同的操作系統(tǒng)上使用,使用時的局限性沒有那么打;微信小程序的優(yōu)勢非常明顯,當它與iOS與Android開發(fā)進行比較的時候,不管是技術(shù),亦或是軟硬件的配置,甚至是測試,從多個方面來說,優(yōu)勢都是非常巨大的。而就開發(fā)方面而言,微信小程序官方也提供了較為全面的API開發(fā)文檔、教程而且也為開發(fā)提供了較為豐富的組件[14],大大提升了想要盡快學(xué)會使用的開發(fā)者們的開發(fā)效率,對新手非常的友好。系統(tǒng)需求分析3.1系統(tǒng)需求概述結(jié)合系統(tǒng)現(xiàn)有的需求分析,以提高用戶使用效率和商家買賣商品效率為目的,本課題的主要目標是設(shè)計并開發(fā)出一個基于微信小程序+springboot的農(nóng)產(chǎn)品商城,分為前臺商城展示部分和后臺管理系統(tǒng)部分。系統(tǒng)的主要使用用戶為兩種:前臺使用者,也就是普通用戶;后臺管理系統(tǒng)使用者,也就是商城管理員;主要研究內(nèi)容如下后臺(管理員管理)管理系統(tǒng)部分前臺展示部分(微信小程序端)3.2系統(tǒng)角色分析系統(tǒng)角色指的使用該系統(tǒng)的不同用戶用以實現(xiàn)不同操作的不同角色,基于本文的需求分析可知,用戶為商城系統(tǒng)的主要使用者;管理員則輔助維護系統(tǒng)的基礎(chǔ)數(shù)據(jù),是后臺系統(tǒng)的主要使用者。因此,農(nóng)產(chǎn)品商城的主要角色為管理員、用戶,其角色的主要職責如下:管理員。管理員可管控的數(shù)據(jù)包括分類管理、用戶管理、訂單管理、用戶管理在內(nèi)的多項功能。是權(quán)限最高的角色用戶。用戶作為商城的主要使用者,區(qū)別于管理員的是,用戶完全在手機端使用農(nóng)產(chǎn)品商城,用戶可以在手機端上實現(xiàn)對商品內(nèi)容的查看,對商品的檢查搜索,對訂單的觀看,個人信息的觀看,以及購物車的增刪以及結(jié)算等功能。3.3核心業(yè)務(wù)流程通過對商城系統(tǒng)的需求分析,可得出系統(tǒng)的核心功能包括商品的上架、訂單生成、購物車增減等功能:1.商品上架的業(yè)務(wù)流程。商城的商品上架是商城商品展示的關(guān)鍵。首先由登錄商城后臺管理系統(tǒng)的管理員進入商品管理界面,再進一步進入商品管理模塊,點進新增商品按鈕,進行商品名稱的輸入,進行商品分類的選擇,以及是否勾選為前臺商品,輸入產(chǎn)地,添加商品圖片,輸入商品價格,輸入商品描述等基本商品基本信息,最后點擊保存按鈕,保存商品信息。如果商品基本信息不全,添加操作會被取消。商品上架相關(guān)模塊的業(yè)務(wù)流程圖如圖3-1所示。圖3-1商品上架功能業(yè)務(wù)流程圖2.商城訂單生成。商城的訂單生成功能為系統(tǒng)的重點功能之一。用戶在購物車選購?fù)晁猩唐泛?,點擊結(jié)算,系統(tǒng)判斷用戶信息是否完整,是否存在地址,不存在則跳轉(zhuǎn)用戶頁面讓用戶輸入地址,然后用戶再次選購商品,點擊結(jié)算,系統(tǒng)直接生成訂單。訂單生成功能的業(yè)務(wù)流程圖如圖3-2所示圖3-2訂單生成功能的業(yè)務(wù)流程圖3.購物車業(yè)務(wù)實現(xiàn)流程。購物車功能是微信端的主要功能之一。首先用戶登錄微信小程序,瀏覽并選擇需要購買的商品,確認選擇完畢后完成購物。購物車功能業(yè)務(wù)流程圖如下圖3-3所示。圖3-3購物車的功能業(yè)務(wù)流程圖3.4系統(tǒng)功能性需求此基于微信小程序的農(nóng)產(chǎn)品商城的功能性需求包括基礎(chǔ)功能以及核心功能需求兩個大模塊,其中核心功能以及基礎(chǔ)功能的細分可以參考表3-1所示。表3-1系統(tǒng)功能列表系統(tǒng)模塊功能點功能描述基礎(chǔ)功能管理用戶管理用于保存使用該微信小程序的用戶信息,供管理員查看管理員管理對使用后臺管理系統(tǒng)的人進行權(quán)限分配,決定其實普通管理員還是超級管理員分類管理對商品的分類進行增刪改查核心功能管理商品管理對商品進行增加,刪除,修改,查看等操作,還可以決定是否在前端顯示該商品訂單管理對查看訂單詳情,并訂單狀態(tài)進行改變,在后臺可以對訂單進行發(fā)貨,完成,取消等操作,用戶在前臺可以對當代進行付款,取消,完成等操作購物車管理用戶可以在前臺對購物車中的商品進行增減操作,查看商品價格和數(shù)量,提交并結(jié)算購物車中的商品的價格優(yōu)惠管理可以對添加、刪除、查看當前優(yōu)惠,并對相應(yīng)用戶發(fā)放優(yōu)惠券接下來將詳細分析核心功能需求。3.4.1商品管理功能需求商品管理模塊由管理員操控,主要包括商品的添加、刪去、更改以及檢索等幾個必要流程。首先是管理員添加商品,填寫完信息后,可以選擇商品分類,以及商品的顯示狀態(tài)等,全部完成后,可以點擊保存商品信息。此時返回商品管理頁面,可以編輯對商品添加和刪除,用例圖如圖3-4所示。圖3-4商品管理模塊用例圖3.4.2訂單管理功能需求訂單管理模塊的整個功能需求大致為:用戶通過小程序進入商城,成功登錄后即可瀏覽商品,選擇相應(yīng)的商品加入購物車,進入購物車點擊結(jié)算,訂單管理模塊用例圖如圖3-5所示。圖3-5用例圖3.4.3購物車功能需求購物車功能的實現(xiàn)是完全面向用戶的。圖3-6購物車模塊用例圖3.4.4優(yōu)惠管理需求優(yōu)惠券模塊對系統(tǒng)的所有角色開放。其中包括優(yōu)惠券的添加、刪去、更改,并綁定相應(yīng)用戶。用戶可以在前臺使用優(yōu)惠券,達到相應(yīng)價格后可以對訂單價格進行減免,一張優(yōu)惠券只能使用一次。優(yōu)惠券模塊用例圖如圖3-7所示。圖3-7優(yōu)惠券模塊用例圖3.5系統(tǒng)非功能性需求界面美觀性一個系統(tǒng),首先展示在用戶背后的,即是系統(tǒng)的前端界面。界面的色彩搭配、構(gòu)造排版、總體風格,均在界面規(guī)模內(nèi),雅觀并簡捷的界面,能給用戶帶來安閑、具有沖擊力的視覺感。因此,要求本平臺的界面盡量摩登簡潔。前端界面是一個系統(tǒng)最先出現(xiàn)在用戶面前的系統(tǒng)模塊。這就要求在界面范疇內(nèi),系統(tǒng)能夠用合適的色彩搭配、合理的布局排版、適合的總體格調(diào)來完成一個能夠給用戶帶來舒適、同時又具有視覺沖擊力的美觀簡潔的界面。因而,本平臺在界面方面盡量做到簡潔大方。系統(tǒng)易用性要求系統(tǒng)具有易操作的特性,把系統(tǒng)功能設(shè)計的在一個于情于理都合適的藩籬之內(nèi),盡量設(shè)計符合用戶操作習慣的組件,在顯示數(shù)據(jù),讀取數(shù)據(jù)方面,在不會改變用戶操作喜歡和增加用戶操作時間的要求下,把系統(tǒng)的展示和接收頁面的速度都做到最快。3.6本章小結(jié)本章對系統(tǒng)的主要功能進行了分析以及講解,敘述詳實。系統(tǒng)總體設(shè)計本章主要從農(nóng)產(chǎn)品商城的亮眼功能和最低要求等方面作為展開點,對系統(tǒng)的各方面需求進行進一步分解。接著,本章分別就后臺和移動端兩個分塊的功能模塊設(shè)計進行了闡釋。最后,本章就系統(tǒng)的存儲數(shù)據(jù)的數(shù)據(jù)庫進行了詳盡的講解,包含各表結(jié)構(gòu)與字符的設(shè)計和數(shù)據(jù)庫E-R圖的分析與設(shè)計。4.1系統(tǒng)總體設(shè)計思路農(nóng)產(chǎn)品商城的物理架構(gòu)如圖4-1所示。圖4-1系統(tǒng)物理架構(gòu)圖1.后臺web管理端后臺web管理端與持久層數(shù)據(jù)操作是最接近的兩方端口,主要實現(xiàn)包含商品的管理、分類的管理、訂單的管理、用戶的管理、優(yōu)惠的管理等基本信息的管理。2.移動小程序端小程序端有許多系統(tǒng)中的重要功能,訂單生成、購物車功能、優(yōu)惠卷的使用功能等,學(xué)生可以在微信小程序上實現(xiàn)對商品的選擇、查看、購買,不在拘泥于線下的面對面銷售,為農(nóng)產(chǎn)品銷售開辟了新形勢。3.數(shù)據(jù)庫服務(wù)器端系統(tǒng)使用輕捷的mysql數(shù)據(jù)庫用來存放農(nóng)產(chǎn)品商城中存在的數(shù)據(jù),保證數(shù)據(jù)的唯一性、持久性、一致性等基本特性,數(shù)據(jù)持久層服務(wù)器位于商城系統(tǒng)的下游,往上提供數(shù)據(jù)給保障系統(tǒng)運行,在系統(tǒng)編碼中的重要性不言而喻。4.2系統(tǒng)總體架構(gòu)設(shè)計對于一個系統(tǒng)來說,軟件質(zhì)量的好壞直接取決于軟件總體架構(gòu)的設(shè)計。一個設(shè)計合理的軟件架構(gòu)圖,就相當于軟件系統(tǒng)中開發(fā)的總覽圖,可以更好的幫助開發(fā)人員對系統(tǒng)進行開發(fā),對于系統(tǒng)中存在的瑕疵也能夠及時發(fā)現(xiàn)并對其進行更正和處理。系統(tǒng)的總體架構(gòu)設(shè)計圖如圖4-2所示。圖4-2系統(tǒng)總體架構(gòu)設(shè)計圖依據(jù)系統(tǒng)的總體架構(gòu)設(shè)計圖,可將系統(tǒng)層次劃分為四層如下文所示:1.前端UI表示層前端UI表示層用于用戶與系統(tǒng)的交互操作,是普通用戶唯一可以接觸到的非代碼系統(tǒng)界面。系統(tǒng)中的表示層界面容器多為HTML頁面,為了增強用戶使用體驗感,力求將平臺的前端UI做的更大眾審美、更簡潔和大方;同時,后端平臺結(jié)合微信小程序開發(fā),用類似于App的形式來展示系統(tǒng)的一部分功能界面,并且開發(fā)成本低于APP的開發(fā)。2.控制層控制層非常重要,是系統(tǒng)的前臺以及后臺中的數(shù)據(jù)的唯一交互入口。在控制層定義URL相對應(yīng)的方法便是使用注解,每一個URL對應(yīng)一個方法的唯一標識,前端攜帶系統(tǒng)所需參數(shù)并通過URL的方式進入控制層,控制層通過自帶的注解,攜帶相應(yīng)的系統(tǒng)參數(shù)調(diào)用相應(yīng)的方法進入領(lǐng)域邏輯層,執(zhí)行功能相關(guān)的代碼,前端界面獲得的回傳的信息,以此來完成前后端之間的數(shù)據(jù)交互。3.領(lǐng)域邏輯層領(lǐng)域邏輯層主要用領(lǐng)域邏輯層處理系統(tǒng)中的業(yè)務(wù)邏輯,邏輯代碼根據(jù)相應(yīng)的業(yè)務(wù)需求來編寫,輔助系統(tǒng)以期能夠達到系統(tǒng)預(yù)期的效果。控制層的相應(yīng)數(shù)據(jù)在此層接收,然后再進行業(yè)務(wù)處理,為了完成基本數(shù)據(jù)的操作和獲取,在必要時還會調(diào)用數(shù)據(jù)持久層,來獲取相應(yīng)的數(shù)據(jù)。4.數(shù)據(jù)持久層數(shù)據(jù)持久層不會因為各種意外狀況造成數(shù)據(jù)的丟失,能夠很好的將業(yè)務(wù)數(shù)據(jù)保存到磁盤或者數(shù)據(jù)庫中。數(shù)據(jù)持久層框架繁多,這個系統(tǒng)的系統(tǒng)持久層選擇是mybatis。4.3系統(tǒng)功能模塊設(shè)計對農(nóng)產(chǎn)品商城的功能進行需求挖掘,最后劃分出兩個系統(tǒng),一個是后臺數(shù)據(jù)管理系統(tǒng),另一個是微信小程序,對于這兩者的主要設(shè)計見下文的介紹。4.3.1后臺管理系統(tǒng)功能模塊設(shè)計后臺管理系統(tǒng)的功能模塊結(jié)構(gòu)圖如圖4-3所示。圖4-3后臺管理系統(tǒng)功能結(jié)構(gòu)圖4.3.2微信端功能模塊設(shè)計微信小程序端的功能模塊結(jié)構(gòu)圖如圖4-4所示。圖4-4微信端功能結(jié)構(gòu)圖4.4系統(tǒng)數(shù)據(jù)庫設(shè)計4.4.1概念模型設(shè)計設(shè)計出合理的數(shù)據(jù)庫的前提條件就是概念模型的設(shè)計,數(shù)據(jù)庫分析方法有很多種,E-R圖表示法是比較受廣大開發(fā)者青睞的一種數(shù)據(jù)庫分析方法[18]。本系統(tǒng)的主要實體包括:商品、訂單、用戶信息、分類、優(yōu)惠卷等。本系統(tǒng)的的E-R模型設(shè)計如圖4-5所示。 圖4-5數(shù)據(jù)庫E-R圖4.4.2表結(jié)構(gòu)設(shè)計農(nóng)產(chǎn)品電商平臺,為了為數(shù)據(jù)的持久化提供有力的保障,各個數(shù)據(jù)表各盡其職。一張表的基本結(jié)構(gòu),農(nóng)產(chǎn)品商城的部分數(shù)據(jù)表設(shè)計如下所示:商品信息表(tb_item)。用于保存農(nóng)產(chǎn)品商城中的商品的數(shù)據(jù)。商品信息表的數(shù)據(jù)表結(jié)構(gòu)如表4-1商品信息表(tb_item)所示。表4-1商品信息表(tb_item)名稱字段字段類型(長度)是否為空備注商品編號idint(11)notnull主鍵(數(shù)據(jù)庫設(shè)置自動遞增)商品名稱namevarchar(50)商品分類classify_idvarchar(20)外鍵(關(guān)聯(lián)表tb_classify)是否顯示名稱is_showint(11)是否顯示,0:不顯示;1:顯示商品描述remarkvarchar(10)起源地originvarchar(10)商品圖片描述pathvarchar(250)商品價格pricevarchar(30)商品分類表(tb_classify)。用于存儲商品分類信息。商品分類表的數(shù)據(jù)表結(jié)構(gòu)如表4-2商品分類表(tb_classify)所示。表4-2商品分類表(tb_classify)名稱字段字段類型(長度)是否為空備注分類編號Idint(11)notnull主鍵(數(shù)據(jù)庫設(shè)置自動遞增)分類名稱namevarchar(20)商品訂單表(tb_order)。用于存儲訂單信息。商品訂單表的數(shù)據(jù)表結(jié)構(gòu)如表4-3商品訂單表(tb_order)所示。表4-3商品訂單表(tb_order)名稱字段字段類型(長度)是否為空備注IdIdint(11)notnull主鍵(數(shù)據(jù)庫設(shè)置自動遞增)訂單編號order_novarchar(50)訂單狀態(tài)statusint(11)訂單狀態(tài),0:訂單刪除;1:生成訂單;2:訂單發(fā)貨;3:訂單完成4:為付款訂單金額priceDouble用戶編號user_idint(11)外鍵(關(guān)聯(lián)表tb_wx_user_info)用戶地址addressvarchar(50)用戶信息表(tb_wx_user_info)。用于存儲使用小程序的用戶的信息。用戶信息表的數(shù)據(jù)表結(jié)構(gòu)如表4-4用戶信息表(tb_wx_user_info)所示。表4-4用戶信息表(tb_wx_user_info)名稱字段字段類型(長度)是否為空備注用戶編號idint(11)notnull主鍵(數(shù)據(jù)庫設(shè)置自動遞增)用戶頭像avatar_urlvarchar(150)微信昵稱nick_namevarchar(255)小程序openidopenidvarchar(255)用戶地址addressvarchar(255)優(yōu)惠券信息表(tb_coupon)。用于農(nóng)產(chǎn)品商城中的優(yōu)惠券信息,其表的數(shù)據(jù)字段包括優(yōu)惠券編號、使用金額、滿減金額、描述優(yōu)惠券信息表的數(shù)據(jù)表結(jié)構(gòu)如表4-5優(yōu)惠券信息表(tb_coupon)所示。表4-5優(yōu)惠券信息表(tb_coupon)名稱字段字段類型(長度)是否為空備注優(yōu)惠券編號idint(11)notnull主鍵(數(shù)據(jù)庫設(shè)置自動遞增)使用金額use_priceint(11)滿減金額deduct_priceint(11)優(yōu)惠券描述remarkvarchar(150)4.5本章小結(jié)第四章對后臺管理系統(tǒng)農(nóng)合微信端,并分別進行討論,將兩端的功能模塊設(shè)計方案敲定,并將其作為墊腳石幫助系統(tǒng)進行開發(fā)。。系統(tǒng)詳細設(shè)計與實現(xiàn)本章節(jié)依據(jù)功能模塊的劃分以及詳細需求分析,確定系統(tǒng)的主要的業(yè)務(wù)需求。本章從系統(tǒng)的各個業(yè)務(wù)模塊功能分別出發(fā),對一些功能模塊進行詳盡的設(shè)計與實現(xiàn)。由于相當一部分模塊的設(shè)計都大同小異5.1商品管理設(shè)計與實現(xiàn)5.1.1新增商品模塊流程設(shè)計商品模塊僅限于管理員使用管理員從商品鏈接進入商品展示界面,點擊新建按鈕進入新建商品頁面填寫相關(guān)信息,選擇對應(yīng)的商品類別并上傳對應(yīng)的圖片,完成新建商品;圖5-1新增商品模塊流程圖5.1.2新增商品模塊功能實現(xiàn)該模塊的相關(guān)類圖如圖5-2所示。圖5-2商品管理模塊類圖商品管理模塊中新增商品的代碼實現(xiàn)為重難點代碼,它的controller層部分核心代碼如TbItemAdminController.java所示,還有,它的數(shù)據(jù)庫語句核心代碼如TbItemMapper.xml所示:TbItemAdminController.java/***上面的代碼省略一下***/@ApiOperation(value="新增/修改商品")@PostMapping("/saveOrUpdate")publicRestResult<Integer>saveOrUpdate(@RequestBodyTbItemModeltbItemModel){if(Objects.isNull(tbItemModel.getId())){returnRestResultGenerator.genSuccessResult(tbItemService.save(tbItemModel));}returnRestResultGenerator.genSuccessResult(tbItemService.edit(tbItemModel));}@ApiOperation(value="圖片上傳")@PostMapping("/upload")publicRestResult<String>upload(MultipartFilefile){returnRestResultGenerator.genSuccessResult(alyunService.uploadFileAvatar(file));}TbItemMapper.xml<!--新增--> <insertid="addTbItem"parameterType="com.shop.api.model.TbItemModel"> insertintotb_item( <includerefid="sql_add_columns"/> )values( <includerefid="sql_add_properties"/> ) </insert>最后,顯示出來的PC端新增商品界面如圖5-3所示圖5-3新增商品界面微信小程序的界面如圖5-4所示。圖5-4微信端首頁商品列表展示頁面5.2訂單模塊設(shè)計與實現(xiàn)5.2.1訂單模塊流程設(shè)計訂單模塊功能面向系統(tǒng)的管理員、用戶開放,通過后臺管理系統(tǒng)與微信端結(jié)合使用,意在通過前端改變訂單信息,在方便用戶購買效率的同時,也提高了修改使用者在修改購買訂單狀態(tài)的效率,訂單管理模塊的時序圖分為PC端功能時序圖及微信端功能時序圖,分別如圖5-5、5-6所示。具體分析如下:圖5-5微信端訂單模塊功能時序圖圖5-6PC端后臺管理系統(tǒng)訂單模塊功能時序圖5.4.2訂單管理模塊功能實現(xiàn)訂單管理模塊功能是本系統(tǒng)的一個延展性功能,在用戶商品選購結(jié)束后,可以把模塊作為取消訂單、訂單付款的一個渠道。訂單模塊的具體代碼設(shè)計與設(shè)計實現(xiàn)過程,具體步驟如下詳解:在PC端后臺管理系統(tǒng)代碼中分別新建TbOrderModel、TbOrderItemModel實體類,用于聲明必備變量與get()、set()、toString()方法;新建TbOrderMapper.xml、TbOrderItemMapper.xml文件,用于編寫相應(yīng)的業(yè)務(wù)數(shù)據(jù)庫語句;新建TbOrderDao、TbOrderItemDao接口類。在TbOrderDao中編寫必需方法,如返回類型為List<TbOrderModel>的findAll接口方法;新建TbOrderService、TbOrderItemService接口,在此定義:表的增、刪、改、查以及業(yè)務(wù)流程方法;新建TbOrderServiceImpl、TbOrderItemServiceImpl接口實現(xiàn)類,繼承ServiceImpl類,并分別實現(xiàn)TbOrderService與TbOrderItemDao接口,在此對接口的方法加以業(yè)務(wù)代碼;新建TbOrderController、TbOrderItemController類,分別聲明TbOrderService、TbOrderItemService對象,并在此調(diào)用service層的相應(yīng)方法,完成與前端界面的交互;在PC前端新建OrderAdminManage.vue等頁面,完成web前端界面的設(shè)計,并編寫URL通過get、post請求與后臺交互,完成界面渲染;在微信小程序端新建order.wxss、order.wxml、order.json、order.js等文件,使用<view>標簽承載視圖頁面,結(jié)合JS代碼與后臺相連,完成用戶請求。通過設(shè)計與編碼,微信端學(xué)生訂單頁面數(shù)據(jù)顯示的后臺操縱數(shù)據(jù)庫的核心代碼如TbOrderDao.java所示,用戶生成訂單的控制層代碼如TbOrderController.java所示:TbOrderMapper.xml<!--新增--><insertid="addTbOrder"parameterType="com.shop.api.model.TbOrderModel">insertintotb_order(<includerefid="sql_add_columns"/>)values(<includerefid="sql_add_properties"/>)</insert>TbOrderController.java@ApiOperation(value="查詢訂單列表")@GetMapping("/getOrderList")publicRestResult<List<OrderListVo>>getOrderList(@RequestParam(defaultValue="0")intpageNo,@RequestParam(defaultValue="10")intpageSize){Pagepage=newPage();page.pageOffset=pageNo*pageSize;page.pageSize=pageSize;List<TbOrderModel>orderModelList=tbOrderService.queryPageTbOrder(page,null,null);if(CollectionUtils.isEmpty(orderModelList)){returnRestResultGenerator.genErrorResult(ErrorCode.PAGE_IS_ERROR);}List<OrderListVo>orderListVos=newArrayList<>();for(TbOrderModelmodel:orderModelList){OrderListVoorderListVo=newOrderListVo();orderListVo.id=model.getId();orderListVo.address=model.getAddress();orderListVo.createTime=model.getCreateTime();orderListVo.updateTime=model.getUpdateTime();orderListVo.orderNo=model.getOrderNo();orderListVo.price=model.getPrice();orderListVo.status=model.getStatus();TbOrderItemModeltbOrderItemModel=newTbOrderItemModel();tbOrderItemModel.setOredrId(model.getId());List<TbOrderItemModel>tbOrderItemModels=tbOrderItemService.queryListTbOrderItem(tbOrderItemModel,null);orderListVo.tbOrderItemModels=tbOrderItemModels;orderListVos.add(orderListVo);}returnRestResultGenerator.genSuccessResult(orderListVos);}@ApiOperation(value="修改訂單狀態(tài)")@GetMapping("/updateStatus")publicRestResult<Integer>updateStatus(@RequestParamLonguserId,@RequestParamLongorderId,@RequestParamIntegerstatus){TbUserAdminModeltbUserAdminModel=tbUserAdminService.queryTbUserAdminById(userId);if(Objects.isNull(tbUserAdminModel)){returnRestResultGenerator.genErrorResult(ErrorCode.USER_IS_ROLE_ERROR);}if(tbUserAdminModel.getRole()==0){returnRestResultGenerator.genErrorResult(ErrorCode.USER_IS_ROLE_ERROR);}TbOrderModeltbOrderModel=newTbOrderModel();tbOrderModel.setId(orderId);tbOrderModel.setStatus(status);tbOrderModel.setUpdateTime(newDate());returnRestResultGenerator.genSuccessResult(tbOrderService.edit(tbOrderModel));}}基于代碼的設(shè)計與實現(xiàn),最終本模塊PC端的訂單管理界面如圖5-7所示;微信端的訂單頁面如圖5-8所示圖5-7訂單管理頁面圖5-8購物車結(jié)算頁面5.3本章小結(jié)第五章為系統(tǒng)的詳細設(shè)計與實現(xiàn),分析實現(xiàn)功能的流程步驟,最終得到功能具體的實現(xiàn)代碼,并展現(xiàn)相應(yīng)功能界面的截圖。系統(tǒng)測試軟件測試對系統(tǒng)能否正常使用起著極大的作用,因此對系統(tǒng)進行功能測試是很有必要的。6.1測試環(huán)境農(nóng)產(chǎn)品商城包含PC端后臺管理系統(tǒng)測試及微信端應(yīng)用程序測試,其測試環(huán)境如表6-1所示:其測試環(huán)境如表6-1所示:表6-1測試環(huán)境表名稱參數(shù)配置PC端后臺系統(tǒng)測試環(huán)境操作系統(tǒng)Windows10專業(yè)版CPU(中央處理器)Intel(R)Celeron(R)CPUN3350@1.10GHz1.10GHzRAM(內(nèi)存)4GB開發(fā)工具IntelliJIDEA2019.2.1x64、vscodex64軟件環(huán)境jdk1.8.0_181、MySQL5.7.27win64(x86)瀏覽器GoogleChrome微信端應(yīng)用程序運行內(nèi)存4.0GB微信開發(fā)者工具版本Stable1.03.2009140本系統(tǒng)通過PC端與微信端進行測試,通過對系統(tǒng)的主要功能:商品管理、訂單管理、優(yōu)惠券管理、購物車統(tǒng)一在相應(yīng)端測試運行。6.2主要功能測試農(nóng)產(chǎn)品商城的主要功能模塊為:商品管理功能、訂單管理功能、優(yōu)惠券管理功能、購物車功能。為使系統(tǒng)能夠正常使用,本節(jié)對以上主要功能設(shè)計測試用例并進行相應(yīng)的功能測試,具體設(shè)計如下詳細介紹。6.2.1商品管理功能測試商品模塊功能的重點功能為新增商品與修改商品,為此商品模塊功能測試主要對新增商品、修改商品展開相應(yīng)的測試。用戶在微信小程序端查看是否能夠顯示新增商品。新增商品功能的測試用例如表6-2所示。表6-2新增商品的測試用例表用例編號Test01測試目的測試系統(tǒng)新增商品的功能能否正常使用測試步驟1.操作者通過正確的方式登錄系統(tǒng)并進入系統(tǒng)界面;2.點擊商品下的商品管理鏈接,來到商品管理界面;3.操作者點擊新增商品按鈕4.操作者選擇商品分類、是否顯示商品,添加商品圖片,輸入商品的基本信息;5.操作者點擊保存按鈕。預(yù)期結(jié)果新增商品成功。系統(tǒng)相對應(yīng)的提示為:商品添加成功。商品添加失?。合到y(tǒng)提示:請輸入詳細信息;系統(tǒng)提示:商品價格請設(shè)置為數(shù)字;系統(tǒng)提示:未知異常。實際結(jié)果商品添加成功。管理員對修改商品功能進行驗證測試。操作者選擇相應(yīng)的商品,點擊編輯按鈕。修改商品功能測試如表6-3所示。表6-3修改商品功能測試用例表用例編號Test02測試目的測試商品是否能正常進行發(fā)布測試步驟1.操作者通過正確的方式登錄系統(tǒng)并進入系統(tǒng)界面;2.操作者點擊商品下的商品管理鏈接,進入顯示商品列表界面;3.選擇相應(yīng)的商品,點擊編輯按鈕;4.操作者修改商品基本信息或圖片,并點擊保存;5.系統(tǒng)提示商品保存成功預(yù)期結(jié)果1.修改商品失敗,系統(tǒng)提示:未知異常,返回并刷新商品列表界面;2.商品修改成功:a.跳轉(zhuǎn)至商品列表界面;b.將顯示于微信端的商品列表界面中。實際結(jié)果商品修改成功,并且修改成功的商品顯示于微信端的商品列表中。6.2.2訂單功能測試訂單功能的重點功能為系統(tǒng)自動生成訂單,主要由用戶通過微信小程序進行操作。訂單功能的測試用例如表6-4所示。表6-4訂單生成功能測試用例用例編號Test03測試目的訂單功能是否正常測試步驟1.用戶點擊登錄按鈕登錄微信小程序,選擇商品分類,選擇商品分類列表下對應(yīng)的商品2.系統(tǒng)顯示商品列表界面,用戶點擊+號按鈕,將商品加入購物車;3.商品選購?fù)戤?,點擊購物車中對應(yīng)的結(jié)算按鈕;4.系統(tǒng)自動生成訂單,并跳轉(zhuǎn)顯示所有訂單頁面,學(xué)生可以取消訂單或付款訂單。預(yù)期結(jié)果1.訂單生成失敗,刷新本頁面;2.訂單生成成功,跳轉(zhuǎn)到顯示所有訂單記錄的訂單界面,并清空購物車。實際結(jié)果訂單生成成功,并跳轉(zhuǎn)到相應(yīng)的訂單記錄界面。6.2.3優(yōu)惠券管理功能測試優(yōu)惠券管理模塊功能由系統(tǒng)的管理員和小程序用戶共同測試的,該模塊在PC后臺管理可以添加進行優(yōu)惠券的管理和將分配分配給對應(yīng)的用戶,微信端用戶可以在結(jié)算時使用優(yōu)惠券對商品進行優(yōu)惠,因此對系統(tǒng)的優(yōu)惠券管理以及優(yōu)惠券使用功能加以測試。優(yōu)惠券管理功能測試用例如表6-5所示。表6-5優(yōu)惠券管理功能測試用例表用例編號Test04測試目的測試成績是否能正常添加優(yōu)惠券測試步驟1.用戶進入系統(tǒng)主界面;2.用戶點擊優(yōu)惠下的優(yōu)惠管理列表鏈接,進入優(yōu)惠券列表界面,點擊新增,填寫相應(yīng)數(shù)據(jù)金額,測試能否添加成功。期望結(jié)果1.添加優(yōu)惠券成功,系統(tǒng)在跳轉(zhuǎn)并刷新頁面并顯示優(yōu)惠券列表;2.添加優(yōu)惠券失敗,不跳轉(zhuǎn)頁面,提示:未知異常。預(yù)期結(jié)果優(yōu)惠券添加成功。使用優(yōu)惠卷功能測試用例如表6-6所示。表6-6使用優(yōu)惠券功能測試用例表用例編號Test05測試目的測試是否能正常使用優(yōu)惠券測試步驟1.用戶在登錄微信小程序;2.用戶點擊分類下的商品分類,進入分類下的商品列表界面,同時點擊商品將其加入購物車,商品出現(xiàn)在購物車中;3.用戶點擊購物車圖標,系統(tǒng)獲取用戶名下符合條件的優(yōu)惠券并進行滿減4.用戶點擊結(jié)算商品,訂單生成成功期望結(jié)果1.使用優(yōu)惠券失?。篴.微信端查看訂單列表,訂單價格未實現(xiàn)優(yōu)惠。2.優(yōu)惠券使用成功,訂單頁面價格自動優(yōu)惠。預(yù)期結(jié)果優(yōu)惠券使用成功,并跳轉(zhuǎn)相應(yīng)的訂單頁面6.2.4
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣密條施工方案
- 尿素脫硝施工方案
- 陜西財稅知識培訓(xùn)課件
- 第2單元第2節(jié)《人機的互動》教學(xué)設(shè)計 2023-2024學(xué)年粵教清華版初中信息技術(shù)七年級下冊
- 光伏材料合同范例
- 合同范本運用方法
- 年度創(chuàng)新思維與實踐分享計劃
- 產(chǎn)品定價和利潤計劃
- 精細化管理在急診科的應(yīng)用計劃
- 安徽省合肥市長豐縣七年級生物上冊 1.1.1 生物的特征教學(xué)實錄2 (新版)新人教版
- 學(xué)校校園花崗巖鋪設(shè)合同
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 老年精神病的藥物護理
- 南京信息工程大學(xué)《流體力學(xué)Ⅰ》2022-2023學(xué)年第一學(xué)期期末試卷
- 英文在職證明模版
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第十二單元養(yǎng)成友善品格
- GB/T 44592-2024紅樹林生態(tài)保護修復(fù)技術(shù)規(guī)程
- 傳感器技術(shù)-武漢大學(xué)
- 初中數(shù)學(xué)建模研究報告
- 人教A版(2019)高中數(shù)學(xué)選擇性必修第二冊 《數(shù)列的相關(guān)概念》教學(xué)設(shè)計
- 虛勞中醫(yī)護理方案
評論
0/150
提交評論