Springboot基于微信小程序的商城開發(fā)
摘 ?要
隨著Internet的使用越來越廣泛,在傳統(tǒng)的商業(yè)模式中,對于日常各類商品,人們習(xí)慣于到各種商家店鋪購買。然而在快節(jié)奏的新時代中,人們不一定能為購買各類商品騰出時間,更不會耐心挑選自己想要的商品。所以設(shè)計一個基于微信小程序的商城,為方便用戶能夠可以隨時進行微信小程序商城購物,也是傳統(tǒng)商品銷售行業(yè)的一個突破口,可以給傳統(tǒng)銷售行業(yè)帶來轉(zhuǎn)變和機遇。
本系統(tǒng)主要是提供給用戶一個購買各類商品的基于微信小程序的商城,通過價格優(yōu)勢吸引眾多消費者來購買,實現(xiàn)正常運營。本文主要是采用Java語言、Springboot框架、Mysql數(shù)據(jù)庫作為開發(fā),系統(tǒng)采用B/S結(jié)構(gòu)進行開發(fā),完成一個基于微信小程序的商城。目標(biāo)是構(gòu)建用戶信息與賬號,賬號與訂單信息有機結(jié)合的業(yè)務(wù)系統(tǒng)。
關(guān)鍵詞:小程序;商城購物;Mysql數(shù)據(jù)庫
Springboot mall development based on wechat applet
ABSTRACT
With the more and more extensive use of the Internet, in the traditional business model, people are used to buying all kinds of daily goods from various stores. However, in the fast-paced new era, people may not be able to make time for buying all kinds of goods, let alone patiently choose the goods they want. Therefore, the design of a mall based on wechat applet can facilitate users to shop in wechat applet mall at any time. It is also a breakthrough in the traditional commodity sales industry and can bring changes and opportunities to the traditional sales industry.
The system mainly provides users with a mall based on wechat applet to buy all kinds of goods, which attracts many consumers to buy through price advantage and realizes normal operation. This paper mainly adopts Java language, springboot framework and MySQL database as the development, and the system adopts B / S structure to complete a mall based on wechat applet. The goal is to build a business system that organically combines user information and account number, account number and order information.
Key words:Applet; Shopping mall; Mysql database
目 ???錄
摘??要
ABSTRACT
第1章 緒論
1.1研究背景
1.2研究意義
1.3系統(tǒng)目標(biāo)
1.4本文的結(jié)構(gòu)
第2章 關(guān)鍵技術(shù)介紹
2.1開發(fā)環(huán)境介紹
2.2統(tǒng)一建模語言
2.3 開發(fā)技術(shù)
2.3.1J2EE技術(shù) 3
2.3.2MVC模式 3
2.3.3MySQL數(shù)據(jù)庫 3
2.3.4?B/S結(jié)構(gòu) 4
2.3.5Springboot框架 4
2.3.6?小程序框架以及目錄結(jié)構(gòu)介紹 4
第3章 系統(tǒng)分析
3.1可行性分析
3.1.1操作可行性
3.1.2技術(shù)可行性
3.1.3經(jīng)濟可行性
3.2功能需求分析
3.3用例分析
3.4數(shù)據(jù)流分析
3.5數(shù)據(jù)字典
第4章 系統(tǒng)設(shè)計
4.1結(jié)構(gòu)設(shè)計
4.2功能設(shè)計
4.3數(shù)據(jù)庫設(shè)計
4.3.1概念設(shè)計
4.3.2邏輯設(shè)計
4.3.3表設(shè)計
第5章 系統(tǒng)詳細(xì)設(shè)計
5.1JavaEE連接數(shù)據(jù)庫
5.2登錄模塊
5.3商城資訊模塊
5.4投訴反饋模塊
5.5購買商品模塊
5.6系統(tǒng)用戶管理模塊
5.7商城管理模塊
5.8投訴反饋管理模塊
5.9訂單管理模塊
第6章 系統(tǒng)測試
6.1測試目的
6.2測試用例
第7章 結(jié)論
參考文獻
致?謝
- ?緒論
1.1研究背景
各種物品是人們?nèi)粘5南M品,物品供應(yīng)與消費者需求有著極為重要的關(guān)系。社會壓力造成工作日漸繁忙,時間觀念越來越強,簡化事務(wù)、方便消費,使網(wǎng)絡(luò)化銷售逐漸成為消費社會化的需要。同時,由于人們生活消費質(zhì)量的不斷提高,各種物品消費需要由“數(shù)量型”向“質(zhì)量型”轉(zhuǎn)變,物品消費的消耗性、多樣化也成為一種消費需求。
線上購物在當(dāng)今發(fā)達國家已經(jīng)顯示出較強的發(fā)展勢頭,它在推動國家經(jīng)濟增長方面可以說又是一支嶄新的力量。隨著網(wǎng)絡(luò)時代的到來,互聯(lián)網(wǎng)的優(yōu)勢和普及時刻影響并改變著人們的生活方式。在信息技術(shù)迅速發(fā)展的今天,計算機技術(shù)已經(jīng)遍及全球,使社會發(fā)生了巨大的變革。為了不受時間和地點的限制,智能手機用戶可以通過移動網(wǎng)絡(luò)訪問網(wǎng)站和處理各種業(yè)務(wù)和互聯(lián)網(wǎng),這是一個有效的將應(yīng)用系統(tǒng)的功能擴展到手機終端的方法?,F(xiàn)今各種智能手機層出不窮,各類基于手機平臺的軟件應(yīng)運而生,其中,在眾多交流軟件中,微信備受人們青睞。近年來,微信發(fā)展規(guī)模越來越大,越來越多的人開始使用微信,目前隨著智能手機系統(tǒng)的普及,人人手機上基本都有了微信。
所以,微信推出小程序廣告支持公眾號關(guān)注,而這就意味著小程序跟公眾號之間的通道被徹底打通了。本論文開發(fā)的基于微信小程序的商城主要牽扯到的程序,數(shù)據(jù)庫與計算機技術(shù)等。覆蓋知識面大,可以大大的提高系統(tǒng)人員工作效率。
1.2研究意義
隨著社會的發(fā)展和科學(xué)技術(shù)的進步,互聯(lián)網(wǎng)技術(shù)越來越受歡迎。網(wǎng)絡(luò)傳播的生活方式逐漸受到廣大人民群眾的喜愛。越來越多的互聯(lián)網(wǎng)愛好者開始在互聯(lián)網(wǎng)上滿足他們的基本需求,同時逐漸進入各個用戶的生活起居?;ヂ?lián)網(wǎng)具有許多優(yōu)點,例如便利性,速度,高效率和低成本。因此,類似于微信小程序的化妝品購物商城,滿足用戶工作繁忙的需求,不僅是方便用戶隨時查看信息的途徑,而且還能提高管理效率。
本文首先以開發(fā)基于微信小程序的商城過程的基本問題作為研究對象。在開發(fā)系統(tǒng)之前,我們對現(xiàn)有狀況進行了詳細(xì)的調(diào)查和分析。最后,我們利用計算機技術(shù)開發(fā)了一套完整合適的微信小程序的商城系統(tǒng)。該系統(tǒng)的實現(xiàn)主要優(yōu)勢是:該系統(tǒng)主要采用計算機技術(shù)開發(fā),它方便快捷;系統(tǒng)可以通過管理員界面查看用戶的所有信息管理。
基于微信小程序的商城統(tǒng)軟件是一款方便、快捷、實用的信息服務(wù)查詢軟件。隨著智能網(wǎng)絡(luò)在全球市場的不斷普及以及各種智能平臺的使用,系統(tǒng)的開發(fā)與人們的日常需求相關(guān),作為中國主流智能的技術(shù)開發(fā)系統(tǒng),自然需要這樣的軟件來滿足更多用戶的需求和體驗。中國近幾年來互聯(lián)網(wǎng)發(fā)展迅速,甚至領(lǐng)先全球多數(shù)發(fā)達國家,到達全球領(lǐng)先的地步。零移動互聯(lián)網(wǎng)的出現(xiàn)更是迅速改造了傳統(tǒng)行業(yè),人們?nèi)粘Y徺I食品,服裝,護膚品等都可以通過各式各樣的線上商城進行購買。線上基于微信小程序的商城作為當(dāng)今人們都市生活接觸最多的產(chǎn)業(yè),各大互聯(lián)網(wǎng)公司平臺滲透度高,因此本文研究的“基于微信小程序的商城”的發(fā)展應(yīng)該順應(yīng)時代的需求,
1.3系統(tǒng)目標(biāo)
對于典型的數(shù)據(jù)庫系統(tǒng),尤其是對于像基于微信小程序的商城這樣的數(shù)據(jù)流量特別大的網(wǎng)絡(luò)系統(tǒng),必須要滿足使用方便、操作靈活等要求。本系統(tǒng)在設(shè)計時應(yīng)該滿足以下幾個目標(biāo)
(1)采用人機對話的操作方式,界面美觀、友好,信息查詢靈活、方便,數(shù)據(jù)存儲準(zhǔn)確、安全可靠;
(2)全面展示所有商品,并可展示主要商品;
(3)便于顧客快捷地進行商品信息查詢;
(4)用戶可以隨時修改自己的基本資料;
(5)實現(xiàn)下單的功能;
(6)顧客可以隨時查看自己的訂單信息;
(7)對客戶輸入的數(shù)據(jù),系統(tǒng)進行嚴(yán)格的數(shù)據(jù)檢驗,盡可能排除人為的錯誤;
(8)系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性;
(9)系統(tǒng)運行穩(wěn)定、安全可靠。
1.4本文的結(jié)構(gòu)
本文具體內(nèi)容包括:緒論、系統(tǒng)采用的關(guān)鍵技術(shù)、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)和系統(tǒng)測試。本文著重描述了系統(tǒng)的組成與結(jié)構(gòu),闡述了系統(tǒng)的設(shè)計方案、實現(xiàn)方法以及所采用的開發(fā)工具和相關(guān)技術(shù),另外,重點剖析了部分環(huán)節(jié)的開發(fā)過程。本系統(tǒng)在一定的環(huán)境下對系統(tǒng)的重要模塊進行了模擬測試,證實了系統(tǒng)的可用性、可靠性。
- ?關(guān)鍵技術(shù)介紹
2.1開發(fā)環(huán)境介紹
1.軟件體系結(jié)構(gòu)方案:采用B/S模式,B/S代表的是服務(wù)器端由web服務(wù)器發(fā)放,客戶端由瀏覽器接收的系統(tǒng),它的前臺是html語言,由瀏覽器解釋。B/S結(jié)構(gòu)可以由web服務(wù)器能夠解釋的腳本語言如jsp、php、asp、JavaScript。
2.操作系統(tǒng)方案:Windows 7(旗艦版)操作系統(tǒng),該系統(tǒng)可以兼容需要的軟件,并且具有良好的運行速度,界面良好。
3.后臺數(shù)據(jù)庫:選用Mysql。Mysql旨在通過數(shù)據(jù)庫加密、更加安全的默認(rèn)設(shè)置、加強的密碼政策和細(xì)化許可控制、及加強的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級別的安全性。
4.開發(fā)工具:選用Myeclipse10
5.開發(fā)語言:Java語言。
6.開發(fā)技術(shù):Springboot+html+css+js技術(shù)
2.2統(tǒng)一建模語言
統(tǒng)一建模語言(Unified ?Modeling ?Language ,UML)是一種可視化建模語言,通俗上講就是系統(tǒng)開發(fā)者利用UML可以清楚地表達出自己對系統(tǒng)是如何設(shè)計,是一種設(shè)計思想的體現(xiàn),然而UML就是作為輔助工具,就如汽車軸承的輪滑油。UML包括了一些可以相互組合圖表的圖形元素。由于UML是一種語言,所以UML具有組合這些元素的法規(guī)。UML提供了多種圖來設(shè)計設(shè)計系統(tǒng),如設(shè)計系統(tǒng)前期常用的用例圖,行為圖等,這些圖需要用多個視圖來展示一個系統(tǒng),這組視圖被稱為一個模型(Model)。一個UML模型描述了一個系統(tǒng)需要做什么。同時,UML提供了組織和擴展這些圖的方法。
2.3 開發(fā)技術(shù)?
2.3.1J2EE技術(shù)
人可以掌握多門外語,而一個計算機科學(xué)家精通的大多是編程語言,它不是人類的自然語言,比如C語言、Java、Perl等等。由于不同的公司開發(fā)出的“中間件”不夠規(guī)范,所以Sun公司推出J2EE,用這個標(biāo)準(zhǔn)來解決弊病。它提供了良好的機制,讓每個層次允許與之相對的服務(wù)器、組件運行,使得系統(tǒng)的搭建穩(wěn)定可用、開發(fā)高效、維護方便[1][2]。
2.3.2MVC模式
MVC模式是常用的開發(fā)模式,主要是在代碼實現(xiàn)上將其分為M層、V層和C層。
視圖(View)代表用戶交互界面,一個 Web 應(yīng)用就可能有很多的界面,在 MVC 模式中,視圖僅僅處理的只有數(shù)據(jù)采集、處理,還有用戶的請求, 并不包括業(yè)務(wù)流程的處理,業(yè)務(wù)流程由模型(Model)來處理[3]。
模型(Model)就是業(yè)務(wù)流程/狀態(tài)的處理及業(yè)務(wù)規(guī)則的制定。模型處理業(yè)務(wù)流程的過程其它層是無法看見了的,它就像黑箱子,在接受視圖請求的數(shù)據(jù)之后,然后返回最終的處理結(jié)果。MVC 最主要的核心就是業(yè)務(wù)模型的設(shè)計,一個典型的應(yīng)用例子就是目前流行的 EJB 模型,它從應(yīng)用技術(shù)實現(xiàn)的角度對模型做了進一步的劃分,以便充分利用現(xiàn)有的組件,但是它不能作為應(yīng)用設(shè)計模型的框架[4]。
控制器(Controller)可以理解為接收用戶的請求,然后視圖和模型匹配在一起,一起再完成用戶請求。它有非常明顯的作用在劃分控制層上,可以很清晰地告訴你,它就是一個分發(fā)器,選擇什么樣的模型、視圖,可以完成用戶的什么樣的請求??刂茖硬蛔鏊械臄?shù)據(jù)處理,比如說:用戶點擊一個連接,控制層接受到請求之后,并不處理業(yè)務(wù)信息,它只是向模型傳遞用戶的信息,同時告訴模型做什么,然后選擇符合需求的視圖返回給用戶[5][6]。
2.3.3MySQL數(shù)據(jù)庫
科技的進步,給日常帶來許多便利:教室的投影器用到了虛擬成像技術(shù),數(shù)碼相機用到了光電檢測技術(shù),比如超市貨物進出庫的記錄需要一個信息倉庫。這個信息倉庫就是數(shù)據(jù)庫,而這次的物流信息管理系統(tǒng)也需要這項技術(shù)的支持[7]。
用MySQL這個軟件,是因為它能接受多個使用者訪問,而且里面存在Archive等。它會先把數(shù)據(jù)進行分類,然后分別保存在表里,這樣的特別操作就會提高數(shù)據(jù)管理系統(tǒng)自身的速度,讓數(shù)據(jù)庫能被靈活運用。MySQL的代碼是公開的,而且允許別人二次編譯升級。這個特點能夠降低使用者的成本,再搭配合適的軟件后形成一個良好的網(wǎng)站系統(tǒng)。雖然它有缺點,但是綜合各方面來說,它是使用者的主流運用的對象[8]。
2.3.4B/S結(jié)構(gòu)
B/S(Browser/Server)比前身架構(gòu)更為省事的架構(gòu)。它借助Web server完成數(shù)據(jù)的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達到“瘦身”效果, 不需要考慮不停裝軟件的問題[9]。
2.3.5Springboot框架
Springboot即SpringMVC+Spring+Mybatis,這三個框架有各自最獨有的優(yōu)勢,那么將它們組合在一起能夠碰撞出很強的火花。設(shè)計者在不需消耗大量功夫,能做出Web應(yīng)用程序,而且這個程序還具有層次清晰、升級更新操作不影響正常使用的、允許多次使用的特點。這個復(fù)合框架形成一個有著結(jié)構(gòu)完整、功能強大和結(jié)構(gòu)良好的體系:SpringMVC使各板塊分離,Spring使開發(fā)更靈活方便,使用Mybatis讓開發(fā)者直接對對象進行操縱,各層次分工明細(xì),并實現(xiàn)各個層次間的解耦,讓代碼更加的靈活精簡。這個框架使程序員能夠規(guī)避在開發(fā)時期避免個別錯誤導(dǎo)致整體被破壞,也能在后期應(yīng)對客戶對產(chǎn)品提出的新需求[10] [11]。
2.3.6小程序框架以及目錄結(jié)構(gòu)介紹
整個小程序框架系統(tǒng)分為兩部分:邏輯層和視圖層。小程序開發(fā)框架的目標(biāo)是通過盡可能簡單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生 小程序 體驗的服務(wù)。小程序在視圖層與邏輯層間提供了數(shù)據(jù)傳輸和事件系統(tǒng),提供了自己的視圖層以及邏輯層框架,讓開發(fā)者能夠?qū)W⒂跀?shù)據(jù)與邏輯??蚣艿暮诵氖且粋€響應(yīng)的數(shù)據(jù)綁定系統(tǒng),可以讓數(shù)據(jù)與視圖非常簡單地保持同步。在邏輯層做數(shù)據(jù)修改,在視圖層就會做相應(yīng)的更新。框架提供了一套基礎(chǔ)的組件,這些組件自帶微信風(fēng)格的樣式以及特殊的邏輯,開發(fā)者可以通過組合基礎(chǔ)組件,創(chuàng)建出強大的微信小程序 。
。
- ?系統(tǒng)分析
3.1可行性分析
本系統(tǒng)操作簡單,易理解?;谖⑿判〕绦虻纳坛桥c大部分電子商務(wù)系統(tǒng)的操作流程類似,避免了用戶學(xué)習(xí)使用系統(tǒng)的時間和負(fù)擔(dān)。
3.1.1操作可行性
本系統(tǒng)使用的是現(xiàn)流行的開發(fā)語言,即Java技術(shù)。同時所有的信息都是以網(wǎng)頁的形式展示,系統(tǒng)中的信息都可以在后臺操作數(shù)據(jù)庫達到數(shù)據(jù)更新的效果。用戶只需要會計算機的基本操作或者會上網(wǎng)就可以使用本系統(tǒng),系統(tǒng)管理員只需要懂得文件上傳,處理文本即可操作管理后臺。系統(tǒng)布局較簡單,功能操作不復(fù)雜,完全符合現(xiàn)代市場需求。因此本系統(tǒng)具有操作可行性。
3.1.2技術(shù)可行性
本系統(tǒng)在Windows7開發(fā)環(huán)境下,利用Myeclipse10開發(fā)工具,并使用Mysql作為數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)系統(tǒng)的各種功能。Mysql屬于主從式的數(shù)據(jù)庫服務(wù)器這也是主從式數(shù)據(jù)庫服務(wù)器的特點,服務(wù)器本身重在數(shù)據(jù)的管理,為用戶端應(yīng)用程序提供一致的接口。可以提高系統(tǒng)的性能,降低它的局限性。
3.1.3經(jīng)濟可行性
本系統(tǒng)是一個在線的基于微信小程序的商城,顧客可以直接在微信小程序上購買商品,同時計算機的價格十分低廉,性能卻有了長足的進步。而此系統(tǒng)的開發(fā)可以有效的提高工作效率,降低管理成本,節(jié)省管理費用,為企業(yè)的工作效率帶來了一個質(zhì)的飛躍。因此,本系統(tǒng)在經(jīng)濟上是完全具有可行性的。
3.2功能需求分析
通過本系統(tǒng),商戶節(jié)省了用于交易場所、服務(wù)質(zhì)量、維護商鋪雜支開銷等方面的投入,從而降低了價格;買家方面,不僅節(jié)約了時間成本,同時降低了購買成本,可以“貨比三家”地隨意挑選性價比高的產(chǎn)品。加快了交易和貨幣流通速度,而進而推動經(jīng)濟的增長。
根據(jù)條件需要,系統(tǒng)結(jié)構(gòu)主要由二大用戶組成。一是用戶,二是管理員用戶。
1用戶登錄及身份要求 ??????
驗證買家、管理員等用戶的信息
2本系統(tǒng)銷售功能需求(面向買家用戶)
允許用戶可以在線對商品進行問題投訴。
允許用戶評論商品。
允許用戶查詢商品的信息。
允許用戶對購買訂單的管理。
自動生成訂單。
用戶在線支付訂單費用。
選擇商品,進行購買,填寫發(fā)貨地址、聯(lián)系電話等信息。
3本系統(tǒng)管理功能需求(面向管理員用戶)
對商品投訴的管理(添加、刪除,修改,查詢)。
對用戶的訂單的管理(刪除,修改,查詢)。
對商城中心的管理(刪除,修改,查詢)。
對商城列表的管理(刪除,修改,查詢)。
3.3用例分析
1.管理員主要負(fù)責(zé)系統(tǒng)管理、商城管理、商品訂單管理、用戶信息管理、商品推薦管理,下圖所示描述管理員的用例。
圖3-1管理員用例圖
2.用戶主要使用系統(tǒng)的商品搜索以及商品購買業(yè)務(wù),下圖所示為用戶用例圖。
圖3-2用戶用例圖
3.4數(shù)據(jù)流分析
數(shù)據(jù)流圖的設(shè)計主要是由于系統(tǒng)目前功能還沒有確定,可以先描述可能要使用到的功能內(nèi)容,并且向用戶了解“系統(tǒng)從外界接受什么數(shù)據(jù)”和“系統(tǒng)向外界送出什么數(shù)據(jù)”等信息,根據(jù)用戶所給的答復(fù)進行設(shè)計數(shù)據(jù)流圖。
如下為系統(tǒng)的0層數(shù)據(jù)流圖,系統(tǒng)用戶分為管理員和普通用戶。
????
圖3-4系統(tǒng)數(shù)據(jù)流圖(0層)
如下圖所示為系統(tǒng)1層數(shù)據(jù)流圖。
圖3-5系統(tǒng)數(shù)據(jù)流圖(1層)
基于微信小程序的商城第二層數(shù)據(jù)流圖主要詳細(xì)反應(yīng)各功能模塊對應(yīng)的操作與數(shù)據(jù)進行交互的原理。并且更詳細(xì)的顯示出各角色對功能模塊操作的數(shù)據(jù)流向,讓開發(fā)人員能了解該系統(tǒng)的開發(fā)方向,能夠更準(zhǔn)確的開發(fā)出系統(tǒng)模型。
將商品信息維護進行細(xì)化得到商品信息管理二層數(shù)據(jù)流程圖,如下圖所示。?????
圖3-6商品管理數(shù)據(jù)流圖(2層)
將訂單信息管理進行細(xì)化得到訂單信息管理二層數(shù)據(jù)流程圖,如下圖所示。
圖3-7訂單管理數(shù)據(jù)流圖(2層)
3.5數(shù)據(jù)字典
1.數(shù)據(jù)存儲描述
下表描述了用戶信息的數(shù)據(jù)流、數(shù)據(jù)來源、數(shù)據(jù)去向和數(shù)據(jù)流組成的詞條。
表3-1用戶信息描述
數(shù)據(jù)流 |
用戶信息 |
數(shù)據(jù)流來源 |
Mysql數(shù)據(jù)庫中用戶信息表,用戶詳細(xì)信息表 |
數(shù)據(jù)去向 |
系統(tǒng)界面,用戶信息管理界面 |
數(shù)據(jù)流組成 |
用戶名、用戶密碼、添加時間、編號 |
下表描述了購買訂單信息的數(shù)據(jù)流、數(shù)據(jù)來源、數(shù)據(jù)去向和數(shù)據(jù)流組成的詞條。
表3-2購買訂單信息描述
數(shù)據(jù)流 |
購買訂單信息 |
數(shù)據(jù)流來源 |
Mysql數(shù)據(jù)庫中購買訂單表,購買訂單詳細(xì)信息表 |
數(shù)據(jù)去向 |
購買訂單界面 |
數(shù)據(jù)流組成 |
購買訂單ID、用戶ID、商品ID、數(shù)量 |
下表描述了訂單信息的數(shù)據(jù)流、數(shù)據(jù)來源、數(shù)據(jù)去向和數(shù)據(jù)流組成的詞條。
表3-3訂單信息描述
數(shù)據(jù)流 |
訂單信息 |
數(shù)據(jù)流來源 |
Mysql數(shù)據(jù)庫中訂單表,訂單詳情表 |
數(shù)據(jù)去向 |
用戶訂單界面,訂單管理界面 |
數(shù)據(jù)流組成 |
用戶ID、訂單ID、商品ID、下單時間、訂單金額 |
下表描述了商品管理的數(shù)據(jù)流、數(shù)據(jù)來源、數(shù)據(jù)去向和數(shù)據(jù)流組成的詞條。
表3-4商品信息描述
數(shù)據(jù)流 |
商品信息 |
數(shù)據(jù)流來源 |
Mysql數(shù)據(jù)庫中商品表、商品類別表 |
數(shù)據(jù)去向 |
商品查詢界面、商品詳情界面、購買訂單界面、商品管理界面 |
數(shù)據(jù)流組成 |
商品名、商品價格、庫存數(shù)量、商品類別 |
2.數(shù)據(jù)處理描述
下表描述用戶通過輸入用戶名和密碼進行身份驗證處理,驗證成功后將返回的信息顯示在界面上。
表3-5用戶身份驗證
處理邏輯名稱 |
用戶身份驗證 |
簡述 |
檢查輸入信息的合法性 |
輸入的數(shù)據(jù)流 |
用戶名+密碼 |
處理過程 |
根據(jù)輸入的用戶名和密碼,檢索用戶,顯示查詢信息 |
輸出的數(shù)據(jù)流 |
用戶信息、商品信息 |
下表描述用戶成功登錄系統(tǒng)后通過商品名查詢商品信息,根據(jù)查詢后返回的數(shù)據(jù)顯示在界面上。
表3-6商品信息查詢
處理邏輯名稱 |
商品信息查詢 |
簡述 |
檢查輸入信息的合法性 |
輸入的數(shù)據(jù)流 |
商品名或商品編號或商品類別 |
處理過程 |
登錄成功的用戶,通過商品名查詢用戶所需的商品,還可查詢用戶的訂單及評論。 |
輸出的數(shù)據(jù)流 |
用戶訂單信息,購買訂單信息 |
下表描述管理員用戶成功登錄系統(tǒng)后,購買商品,填寫訂單收貨人、收貨地址、聯(lián)系電話等,生成購買訂單后,重新查詢訂單表,返回的訂單數(shù)據(jù)顯示在界面上。
表3-7訂單生成
處理邏輯名稱 |
訂單生成 |
簡述 |
檢查輸入信息的合法性 |
輸入的數(shù)據(jù)流 |
訂單信息 |
處理過程 |
登錄成功的用戶,往數(shù)據(jù)庫添加一條訂單信息數(shù)據(jù)。 |
輸出的數(shù)據(jù)流 |
訂單信息 |
下表描述用戶成功登錄系統(tǒng)后可以提交投訴反饋,返回的投訴反饋數(shù)據(jù)顯示在界面上。
表3-8投訴反饋
處理邏輯名稱 |
投訴反饋提交 |
簡述 |
檢查輸入信息的合法性 |
輸入的數(shù)據(jù)流 |
投訴標(biāo)題 |
處理過程 |
登錄成功的用戶,進行投訴反饋 |
輸出的數(shù)據(jù)流 |
投訴反饋 |
- ?系統(tǒng)設(shè)計
4.1結(jié)構(gòu)設(shè)計
本系統(tǒng)的設(shè)計是基于Java技術(shù)+Mysql數(shù)據(jù)庫+Tomcat服務(wù)器的方式設(shè)計,以Myeclipse10為開發(fā)工具,并運用Photoshop CS6技術(shù)美化網(wǎng)頁,輔之以CSS技術(shù)。本系統(tǒng)使用的角色主要有系統(tǒng)管理員和普通用戶,系統(tǒng)分為前臺和后臺,前臺主要用于商品的展示和購買,后臺用于商品信息和訂單信息的管理,首先以普通用戶通過賬號注冊后登錄系統(tǒng)前臺,可以進行各種商品的信息瀏覽和搜索,用戶可以將需要的商品進行下單購買,用戶可以查詢訂單是否已經(jīng)被管理員確認(rèn),訂單生成后表示用戶購買成功,前臺系統(tǒng)除了可以進行商品的下單還可以對商品進行收藏,進行商品投訴,用戶同時可以修改個人的信息資料,查看訂單信息;以管理員的身份登錄系統(tǒng)后臺可以進行商品維護、訂單維護、商城管理等。
系統(tǒng)功能結(jié)構(gòu)圖如下所示。
圖4-1系統(tǒng)功能結(jié)構(gòu)圖
4.2功能設(shè)計
1.用戶登錄模塊:確保用戶注冊信息的真實度是提高系統(tǒng)效率和盈利的重要因素。真實的用戶才能帶來價值,注冊是保證真實用戶使用系統(tǒng)主要業(yè)務(wù)的第一步,通過對用戶注冊信息的審核,可防止機器注冊。使用現(xiàn)如今較為流行的管理員進行賬號激活的驗證方式,對用戶注冊信息進行過濾,未激活用戶信息將不能使用系統(tǒng)主要功能。
如下圖所示為用戶登錄流程圖。
圖4-2用戶登錄流程圖
2.商品瀏覽模塊:沒有登錄的用戶和登錄的用戶都可以在系統(tǒng)前臺進行商品瀏覽,用戶可以查看商品的詳細(xì)信息和選擇相應(yīng)的商品類別進行該類別下的商品查看,用戶還可以通過商品名稱的關(guān)鍵字進行搜索。
如下圖所示為商品瀏覽流程圖。
圖4-3商品瀏覽流程圖
3.訂單管理模塊:用戶購買商品后,填寫收貨地址、收貨人、電話等信息,生成訂單信息,管理員可以審核訂單,刪除、修改訂單,對訂單信息進行相應(yīng)的商品發(fā)貨。?
如下圖所示為訂單管理流程圖。
圖4-4訂單管理流程圖
4.商品管理模塊
系統(tǒng)管理員可以對商品信息進行增、刪、改、查的操作。
5.用戶管理模塊
系統(tǒng)管理員可以對用戶信息進行增、刪、改、查的操作。
6.購買訂單模塊
用戶對個人添加至購買訂單里面的商品進行增刪改查等操作。
7.投訴反饋管理模塊
系統(tǒng)管理員可以對用戶的投訴反饋問題進行審核回復(fù)操作。
4.3數(shù)據(jù)庫設(shè)計
4.3.1概念設(shè)計
本系統(tǒng)的E-R圖表現(xiàn)了系統(tǒng)中各個實體之間的聯(lián)系,經(jīng)過分析,系統(tǒng)的實體有商品、商品類別、商品推薦、訂單、用戶等。
投訴問題的實體圖如下圖所示。
圖4-6投訴問題實體圖
商品類別實體圖如下圖所示。
圖4-7商品類別信息實體圖
用戶信息實體圖如下圖所示。
圖4-8用戶信息實體圖
商品管理的實體圖如下圖所示。
圖4-9商品管理實體圖
系統(tǒng)總體的實體圖如下圖所示。
圖4-10系統(tǒng)E-R圖
4.3.2邏輯設(shè)計
Allusers表是系統(tǒng)用戶的信息表,存儲系統(tǒng)用戶真實姓名、性別、年齡、電話、地址、備注、編號、姓名、用戶密碼以及其相對應(yīng)的密碼等相關(guān)信息。
Dingdan表是訂單信息表,存儲用戶的訂單的相關(guān)信息,其中包括編號、訂單號、金額、訂單內(nèi)容、用戶名、姓名、手機、訂單狀態(tài)、添加時間、是否審核等相關(guān)信息。
yonghuzhuce表是用戶注冊信息表,存儲用戶的注冊信息,其中包括編號、用戶名、密碼、姓名、性別、出生年月、QQ、郵箱、電話、身份證、頭像、地址、備至、折扣等相關(guān)信息。
shangpinxinxi表是商品信息表,存儲商品內(nèi)容的信息,其中包括賣家編號、商品圖片、類別、價格、庫存、標(biāo)題、描述等相關(guān)信息。
4.3.3表設(shè)計
????數(shù)據(jù)庫表設(shè)計:經(jīng)過前期的需求分析、可執(zhí)行分析、數(shù)據(jù)流分析等各個流程分析,結(jié)合軟件工程的高內(nèi)聚、低耦合規(guī)則,并考慮到以后的程序功能擴展,設(shè)計如下幾張表。
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
seller_id |
int |
11 |
是 |
是 |
賣家ID |
seller_number |
varchar |
64 |
是 |
否 |
賣家編號 |
business_name |
varchar |
64 |
否 |
否 |
商家名稱 |
person_in_charge |
varchar |
64 |
否 |
否 |
負(fù)責(zé)人 |
examine_state |
varchar |
16 |
是 |
否 |
審核狀態(tài) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
user_id |
int |
11 |
是 |
否 |
用戶ID |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
order_id |
int |
11 |
是 |
是 |
訂單ID: |
order_number |
varchar |
64 |
否 |
否 |
訂單號: |
goods_id |
mediumint |
8 |
是 |
否 |
商品id |
title |
varchar |
32 |
否 |
否 |
商品標(biāo)題: |
img |
varchar |
255 |
否 |
否 |
商品圖片: |
price |
double |
10 |
是 |
否 |
價格: |
price_ago |
double |
10 |
是 |
否 |
原價: |
num |
int |
8 |
是 |
否 |
數(shù)量: |
price_count |
double |
8 |
是 |
否 |
總價: |
norms |
varchar |
255 |
否 |
否 |
規(guī)格: |
type |
varchar |
64 |
是 |
否 |
商品分類: |
contact_name |
varchar |
32 |
否 |
否 |
聯(lián)系人姓名: |
contact_email |
varchar |
125 |
否 |
否 |
聯(lián)系人郵箱: |
contact_phone |
varchar |
11 |
否 |
否 |
聯(lián)系人手機: |
contact_address |
varchar |
255 |
否 |
否 |
收件地址: |
postal_code |
varchar |
9 |
否 |
否 |
郵政編碼: |
user_id |
int |
10 |
是 |
否 |
買家ID: |
merchant_id |
mediumint |
8 |
是 |
否 |
商家ID: |
create_time |
timestamp |
0 |
是 |
否 |
創(chuàng)建時間: |
update_time |
timestamp |
0 |
是 |
否 |
更新時間: |
description |
varchar |
255 |
否 |
否 |
描述 |
state |
varchar |
16 |
是 |
否 |
訂單狀態(tài) |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
type_id |
int |
11 |
是 |
是 |
商品分類ID: |
father_id |
smallint |
5 |
是 |
否 |
上級分類ID |
name |
varchar |
255 |
否 |
否 |
商品名稱: |
desc |
varchar |
255 |
否 |
否 |
描述: |
icon |
varchar |
255 |
否 |
否 |
圖標(biāo): |
source_table |
varchar |
255 |
否 |
否 |
來源表: |
source_field |
varchar |
255 |
否 |
否 |
來源字段: |
create_time |
timestamp |
0 |
是 |
否 |
創(chuàng)建時間: |
update_time |
timestamp |
0 |
是 |
否 |
更新時間: |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
complaint_feedback_id |
int |
11 |
是 |
是 |
投訴反饋ID |
complainant |
int |
11 |
否 |
否 |
投訴人 |
complaint_time |
date |
0 |
否 |
否 |
投訴時間 |
relevant_certificates |
varchar |
255 |
否 |
否 |
相關(guān)證明 |
cause_of_complaint |
text |
0 |
否 |
否 |
投訴原因 |
complaint_content |
text |
0 |
否 |
否 |
投訴內(nèi)容 |
feedback_reply |
text |
0 |
否 |
否 |
反饋回復(fù) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
commodity_management_id |
int |
11 |
是 |
是 |
商品管理ID |
seller_number |
int |
11 |
否 |
否 |
賣家編號 |
remarks |
text |
0 |
否 |
否 |
備注 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
cart_title |
varchar |
125 |
否 |
否 |
標(biāo)題 |
cart_img |
text |
0 |
否 |
否 |
封面圖 |
cart_description |
varchar |
255 |
否 |
否 |
描述 |
cart_price_ago |
double |
8 |
是 |
否 |
原價:[1] |
cart_price |
double |
8 |
是 |
否 |
賣價:[1] |
cart_inventory |
int |
11 |
是 |
否 |
商品庫存 |
cart_type |
varchar |
64 |
是 |
否 |
商品分類: |
cart_content |
longtext |
0 |
否 |
否 |
正文 |
cart_img_1 |
text |
0 |
否 |
否 |
主圖1: |
cart_img_2 |
text |
0 |
否 |
否 |
主圖2: |
cart_img_3 |
text |
0 |
否 |
否 |
主圖3: |
cart_img_4 |
text |
0 |
否 |
否 |
主圖4: |
cart_img_5 |
text |
0 |
否 |
否 |
主圖5: |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
commodity_recommendation_id |
int |
11 |
是 |
是 |
商品推薦ID |
seller |
int |
11 |
否 |
否 |
賣家 |
trade_name |
varchar |
64 |
否 |
否 |
商品名稱 |
commodity_type |
varchar |
64 |
否 |
否 |
商品類型 |
commodity_price |
varchar |
64 |
否 |
否 |
商品價格 |
product_picture |
varchar |
255 |
否 |
否 |
商品圖片 |
product_introduction |
longtext |
0 |
否 |
否 |
商品介紹 |
hits |
int |
11 |
是 |
否 |
點擊數(shù) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
-
?系統(tǒng)詳細(xì)設(shè)計
5.1登錄模塊
本系統(tǒng)主要的用戶有系統(tǒng)管理員、用戶,一個系統(tǒng)最基本的功能就是登錄功能,本系統(tǒng)可以進行系統(tǒng)登錄的角色有用戶、管理員,用戶對應(yīng)前臺登錄界面,管理員對應(yīng)后臺登錄界面,首先進入登錄頁,輸入用戶名和密碼,然后提交至服務(wù)端進行數(shù)據(jù)庫數(shù)據(jù)驗證,通過JavaEE邏輯代碼判斷數(shù)據(jù)庫是否存在用戶輸入的這一個記錄,如果存在,則判斷用戶身份,如果是用戶,則進入用戶前臺,如果是管理員用戶,則進入系統(tǒng)主頁,并把用戶對象存放在session中,如果不存在這樣一條記錄,則返回登錄界面。
登錄界面如下所示。
圖5-1前臺登錄界面
圖5-2用戶注冊界面
登錄關(guān)鍵代碼如下:
/**
?????* 注冊
?????* @param user
?????* @return
?????*/
????@PostMapping("register")
????public Map<String, Object> signUp(@RequestBody User user) {
????????// 查詢用戶
????????Map<String, String> query = new HashMap<>();
????????query.put("username",user.getUsername());
????????List list = service.select(query, new HashMap<>()).getResultList();
????????if (list.size()>0){
????????????return error(30000, "用戶已存在");
????????}
????????user.setUserId(null);
????????user.setPassword(service.encryption(user.getPassword()));
????????service.save(user);
????????return success(1);
}
/**
?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)
?????*/
????@Id
????@GeneratedValue(strategy = GenerationType.IDENTITY)
????@Column(name = "user_id")
????private Integer userId;
????/**
?????* 賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)
?????*/
????@Basic
????@Column(name = "state")
????private Integer state;
????/**
?????* 所在用戶組:[0,32767]決定用戶身份和權(quán)限
?????*/
????@Basic
????@Column(name = "user_group")
????private String userGroup;
????/**
?????* 上次登錄時間:
?????*/
????@Basic
????@Column(name = "login_time")
????private Timestamp loginTime;
????/**
?????* 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時
?????*/
????@Basic
????@Column(name = "phone")
????private String phone;
????/**
?????* 手機認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)
?????*/
????@Basic
????@Column(name = "phone_state")
????private Integer phoneState;
????/**
?????* 用戶名:[0,16]用戶登錄時所用的賬戶名稱
?????*/
????@Basic
????@Column(name = "username")
????private String username;
????/**
?????* 昵稱:[0,16]
?????*/
????@Basic
????@Column(name = "nickname")
????private String nickname;
????/**
?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成
?????*/
????@Basic
????@Column(name = "password")
????private String password;
????/**
?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時
?????*/
????@Basic
????@Column(name = "email")
????private String email;
????/**
?????* 郵箱認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)
?????*/
????@Basic
????@Column(name = "email_state")
????private Integer emailState;
????/**
?????* 頭像地址:[0,255]
?????*/
????@Basic
????@Column(name = "avatar")
????private String avatar;
????/**
?????* 創(chuàng)建時間:
?????*/
????@Basic
????@Column(name = "create_time")
????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
????private Timestamp createTime;
????@Basic
????@Transient
????private String code;
}
5.3商城資訊模塊
系統(tǒng)為用戶提供商城資訊推薦,方便用戶瀏覽推薦信息。在shangchenzixunlist.jsp實現(xiàn)商城資訊列表的展示,用戶點擊瀏覽,通過推薦id傳遞值,找到數(shù)據(jù)表的該商城資訊信息。
如下圖所示為商城資訊界面。
圖5-3商城資訊界面
商城資訊關(guān)鍵代碼如下:
????@Transactional
????public Map<String, Object> addMap(Map<String,Object> map){
????????service.insert(map);
????????return success(1);
}
????public Map<String,Object> readBody(BufferedReader reader){
????????BufferedReader br = null;
????????StringBuilder sb = new StringBuilder("");
????????try{
????????????br = reader;
????????????String str;
????????????while ((str = br.readLine()) != null){
????????????????sb.append(str);
????????????}
????????????br.close();
????????????String json = sb.toString();
????????????return JSONObject.parseObject(json, Map.class);
????????}catch (IOException e){
????????????e.printStackTrace();
????????}finally{
????????????if (null != br){
????????????????try{
????????????????????br.close();
????????????????}catch (IOException e){
????????????????????e.printStackTrace();
????????????????}
????????????}
????????}
????????return null;
}
????public void insert(Map<String,Object> body){
????????StringBuffer sql = new StringBuffer("INSERT INTO ");
????????sql.append("`").append(table).append("`").append(" (");
????????for (Map.Entry<String,Object> entry:body.entrySet()){
????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
????????}
????????sql.deleteCharAt(sql.length()-1);
????????sql.append(") VALUES (");
????????for (Map.Entry<String,Object> entry:body.entrySet()){
????????????Object value = entry.getValue();
????????????if (value instanceof String){
????????????????sql.append("'").append(entry.getValue()).append("'").append(",");
????????????}else {
????????????????sql.append(entry.getValue()).append(",");
????????????}
????????}
????????sql.deleteCharAt(sql.length() - 1);
????????sql.append(")");
????????log.info("[{}] - 插入操作:{}",table,sql);
????????Query query = runCountSql(sql.toString());
????????query.executeUpdate();
}
5.4投訴反饋模塊
系統(tǒng)提供投訴反饋功能,在tousufankuiadd.jsp實現(xiàn)商品的投訴,添加投訴反饋后,存入數(shù)據(jù)庫的投訴反饋表。管理員管理商品的投訴反饋信息。
如下圖所示為投訴反饋界面。
圖5-4投訴反饋界面
投訴反饋關(guān)鍵代碼如下:
@RequestMapping("/get_list")
????public Map<String, Object> getList(HttpServletRequest request) {
????????Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
????????return success(map);
}
5.5購買商品模塊
用戶在瀏覽商品后,登錄系統(tǒng)前臺,進行商品購買,將商品添加至購物車,在個人后臺可以查看購物車?yán)锩娴纳唐?,確定商品之后可以生成訂單,然后支付。
如下圖所示為購買商品的部分界面。
圖5-5購買商品界面
5.6系統(tǒng)用戶管理模塊
過去傳統(tǒng)的手工登記管理系統(tǒng)人員信息很不方便,也很容易造成數(shù)據(jù)出錯,所以本系統(tǒng)需要一個可以管理登記人員信息的功能,管理員登入系統(tǒng),可以添加新的管理員用戶,刪除現(xiàn)有的管理員,也可以對自己的密碼和管理員用戶的密碼進行修改。修改密碼是經(jīng)過跟數(shù)據(jù)庫的原來的密碼字段的數(shù)據(jù)進行判斷,如果輸入兩次的新密碼一致,則更新密碼這屬性對應(yīng)的一條數(shù)據(jù)。
如下圖所示為系統(tǒng)用戶管理的部分界面。
圖5-6系統(tǒng)用戶管理界面
如下圖所示為修改密碼界面。
圖5-7修改密碼界面
系統(tǒng)用戶管理關(guān)鍵代碼如下:
@RequestMapping("/get_obj")
????public Map<String, Object> obj(HttpServletRequest request) {
????????List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
????????if (resultList.size() > 0) {
????????????JSONObject jsonObject = new JSONObject();
????????????jsonObject.put("obj",resultList.get(0));
????????????return success(jsonObject);
????????} else {
????????????return success(null);
????????}
}
5.7商城管理模塊
用戶在系統(tǒng)前臺瀏覽商城,管理員登錄系統(tǒng)后,可以對添加、刪除、修改商城信息,系統(tǒng)前臺的商城信息時隨系統(tǒng)后臺變化而變化的。
商城管理的界面如下圖所示。
圖5-8商城管理界面
商城管理關(guān)鍵代碼如下:
public Map<String, Object> error(Integer code, String message) {
????????Map<String, Object> map = new HashMap<>();
????????map.put("error", new HashMap<String, Object>(4) {{
????????????put("code", code);
????????????put("message", message);
????????}});
????????return map;
}
5.8投訴反饋管理模塊
管理人員可以對投訴反饋進行審核操作,這些操作將在投訴反饋管理界面進行。
如下圖所示為投訴反饋管理界面。
圖5-9投訴反饋管理界面
投訴反饋管理關(guān)鍵代碼如下:
public List selectBaseList(String select) {
????????List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
????????List<E> list = new ArrayList<>();
????????for (Map<String,Object> map:mapList) {
????????????list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
????????}
????????return list;
}
5.9訂單管理模塊
管理人員可以對訂單進行增刪查改的操作,這些操作將在訂單管理界面進行。
如下圖為訂單管理界面。
圖5-10訂單管理界面
訂單管理關(guān)鍵代碼如下:
public class FindConfig {
????public static String PAGE = "page";
????public static String SIZE = "size";
????public static String LIKE = "like";
????public static String ORDER_BY = "orderby";
????public static String FIELD = "field";
????public static String GROUP_BY = "groupby";
????public static String MIN_ = "_min";
????public static String MAX_ = "_max";
}
?
- ?系統(tǒng)測試
6.1測試目的
該系統(tǒng)能夠完成商品選購,商城資訊瀏覽、商品購買,投訴反饋管理,商品推薦管理,用戶管理等功能,做到所開發(fā)的系統(tǒng)操作簡單,盡量使系統(tǒng)操作不受用戶對電腦知識水平的限制,符合系統(tǒng)可維護性,由于系統(tǒng)涉及的信息比較廣,數(shù)據(jù)庫中的數(shù)據(jù)需定期修改,系統(tǒng)可利用的空間及性能也隨之下降,為了使系統(tǒng)更好地運轉(zhuǎn),系統(tǒng)可以對系統(tǒng)數(shù)據(jù)及一些簡單的功能進行獨立的維護及調(diào)整;符合系統(tǒng)開放性要求,該系統(tǒng)能夠在開放的硬件體系結(jié)構(gòu)中運行,并且能與其他系統(tǒng)順利連接。
6.2測試用例
1.注冊測試
表6-1注冊測試用例
字段名稱 |
描述 |
測試項 |
首頁注冊功能測試 |
輸入數(shù)據(jù) |
1、輸入正確的郵箱、用戶名、密碼、確認(rèn)密碼、以及驗證碼之后點擊“注冊”按鈕 2、輸入錯誤的用戶名或密碼、郵箱、驗證碼等,單擊“注冊”按鈕 3、不輸入郵箱、用戶名、密碼、確認(rèn)密碼、以及驗證碼之后點擊“注冊”按鈕 |
預(yù)計輸出數(shù)據(jù) |
1、用戶能正確注冊賬號,成功插入數(shù)據(jù)庫用戶的賬戶資料,提示注冊成功。 2、無法注冊用戶信息,注冊失敗。 3、無法注冊用戶信息,注冊失敗。 |
使用上述測試用例對前臺首頁注冊界面進行測試,當(dāng)在輸入正確的郵箱、用戶名、密碼、確認(rèn)密碼、以及驗證碼之后,系統(tǒng)將彈出注冊成功信息提示對話框。
使用上述測試用例對前臺首頁注冊界面進行測試,當(dāng)在輸入錯誤的用戶名或密碼、郵箱、驗證碼之后,系統(tǒng)將提示錯誤。
使用上述測試用例對前臺首頁注冊界面進行測試,當(dāng)在不輸入用戶名、密碼、郵箱、驗證碼之后,點擊注冊按鈕。
2.登錄界面進行測試?
表6-2登錄測試用例
測試項 |
首頁登錄功能測試 |
輸入數(shù)據(jù) |
1、輸入正確的用戶名和密碼,單擊“登錄”按鈕 2、輸入錯誤的用戶名和密碼,單擊“登錄”按鈕 3、不輸入用戶名和密碼,單擊“登錄”按鈕 |
預(yù)計輸出數(shù)據(jù) |
1、數(shù)據(jù)庫中存在的用戶能正確登錄,。結(jié)果彈出主界面。 2、錯誤的或者無效用戶登錄,登錄系統(tǒng)失敗。 3、輸入用戶名或密碼信息為空,登錄系統(tǒng)失敗。 |
3.商品管理進行測試?
名稱:用戶管理測試????????目的:測試商品管理界面?
內(nèi)容:口令的輸入,合法性檢查,合理性檢查,界面的顯示控制。?
下表描述了商品表中目前所存在的記錄。
表6-5商品表預(yù)存數(shù)據(jù)
????商品名 |
商品類別 |
商品價格 |
商品狀態(tài) |
A |
A |
389 |
上架 |
B |
B |
249 |
上架 |
C |
C |
322 |
下架 |
D |
D |
168 |
上架 |
添加時應(yīng)注意事項:
管理員添加商品時必須添加已存在的商品類別,若該商品不屬于現(xiàn)有的所有類別,則應(yīng)該先添加商品類別。
下表描述了添加商品進行測試的用例,主要是為了防止添加商品時出現(xiàn)異常和存在的漏洞。
表6-6添加商品測試用例
輸入 |
輸出 |
||
商品名 |
商品價格 |
商品圖片 |
|
???空 |
參數(shù)錯誤 |
||
空 |
參數(shù)錯誤 |
||
空 |
請選擇上傳圖片 |
||
A |
1 |
a.jpg |
添加成功 |
4.購買商品測試?
名稱:購買商品測試????????目的:測試購買商品界面?
內(nèi)容:口令的輸入,合法性檢查,合理性檢查,界面的顯示控制。?
下表描述了購買商品的測試用例,防止購買時出錯。
表6-7購買商品測試用例
輸入 |
輸出 |
||
用戶ID |
商品ID |
商品數(shù)量 |
|
11 |
1 |
1 |
購買商品成功 |
22 |
電視 |
請?zhí)顚懮唐窋?shù)量 |
|
33 |
電視 |
a |
購買失敗 |
用戶購買商品時,首先判斷商品數(shù)量是否小于庫存,若超出庫存數(shù)量,則提示商品數(shù)量不足。
- ?結(jié)論
經(jīng)過這幾個月的設(shè)計和開發(fā),“Springboot基于微信小程序的商城”已經(jīng)完成了,其功能符合設(shè)計需求,能夠完成用戶的注冊、在線購買、訂單管理投訴反饋和管理員的商城管理、訂單審核、投訴反饋審核、用戶管理、商品推薦管理,信息維護、查詢等功能。經(jīng)過最后的使用,證明系統(tǒng)完全具有可行性與可擴充性。
在系統(tǒng)的分析階段,主要是分析系統(tǒng)的需求,理解系統(tǒng)要完成的基本功能,找出系統(tǒng)的用例(Use Case)和角色(Actor),畫出系統(tǒng)的用例模型圖,用例模型是此后系統(tǒng)建模的基礎(chǔ)。在用例的基礎(chǔ)上分析順序圖和協(xié)作圖,得到系統(tǒng)的所有對象,然后建立對象模型。抽象出系統(tǒng)的類,并將系統(tǒng)中聯(lián)系緊密的類劃分為若干個包,畫出包圖。有了這些基礎(chǔ),就可以將系統(tǒng)劃分為小單元功能模塊。
整個過程中,我必須認(rèn)可UML統(tǒng)一建模語言,它讓我很清晰的知道自己想做什么,想實現(xiàn)什么,對系統(tǒng)后面的代碼編寫起到?jīng)Q定性的幫助,同時經(jīng)過本次系統(tǒng)的設(shè)計與實現(xiàn),讓我積累了很多經(jīng)驗,提高了編寫程序的能力,為以后的學(xué)習(xí)和工作打下了堅實的基礎(chǔ)。
由于時間有限,本系統(tǒng)還有待繼續(xù)完善和改進,因此需要進一步進行分析和修改,以使其更加完善!?
參考文獻
- 王江霖,黃彩霞,樊旭龍.基于Springboot框架的網(wǎng)絡(luò)資源共享平臺的研究與實現(xiàn)[J].電腦知識與技術(shù),2021,17(28):76-78.
- 曹華山.Springboot框架在Web應(yīng)用開發(fā)中的設(shè)計與實現(xiàn)[J].無線互聯(lián)科技,2021,18(11):108-109.
- 程紅琳. 網(wǎng)上商城品目擴容效果幾何[N]. 中國政府采購報,2021-05-18(005).
- 馬君峰, 農(nóng)產(chǎn)品自營網(wǎng)上商城智慧平臺V1.0. 甘肅省,甘肅科博科技咨詢有限責(zé)任公司,2021-02-01.
[5]王娟.基于Android系統(tǒng)的手機網(wǎng)上商城設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2021(03):43-44.
[6]韓己峰.綜合性網(wǎng)上商城引領(lǐng)山東政府采購駛?cè)敫咚俾穂J].中國政府采購,2020(12):39-41.
[7]袁江琛.基于MVC框架網(wǎng)上商城的設(shè)計與實現(xiàn)[J].信息與電腦(理論版),2020,32(20):126-128.
[8]袁江琛.Ajax+jQuery在網(wǎng)上商城購物車模塊中的設(shè)計與實現(xiàn)[J].電腦編程技巧與維護,2020(10):34-35+68.
[9]王柯夢,王瑞平.基于B2C網(wǎng)上商城前臺系統(tǒng)數(shù)據(jù)庫設(shè)計與實現(xiàn)[J].廣西質(zhì)量監(jiān)督導(dǎo)報,2020(09):70-71.
[10]薄志強. 基于Springboot框架的網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2020..
[11]張浩. 基于網(wǎng)上商城服務(wù)對話系統(tǒng)的研究與實現(xiàn)[D].黑龍江大學(xué),2020.
[12]孫建英.分布式、集中式、區(qū)塊鏈技術(shù)在網(wǎng)上商城中的應(yīng)用[J].商場現(xiàn)代化,2020(01):13-15.
[13]李穎,方浪,武瑞嬋.“Free-Try”虛擬試衣在網(wǎng)上商城中的實現(xiàn)[J].襄陽職業(yè)技術(shù)學(xué)院學(xué)報,2019,18(06):64-66.
[14]王一凡. 基于MOT的云南移動網(wǎng)上商城O2O手機營銷策略優(yōu)化研究[D].云南大學(xué),2019.
[15]布祉穎.論B2C和O2O的進口零食營銷的模式——關(guān)于零始科技有限公司的零始網(wǎng)研究[J].現(xiàn)代婦女(下旬),2018(12):75-76.
[16]老潘,花椰菜.零食控的購物車[J].寵物世界(狗迷),2018(12):50-55.
致 謝
大學(xué)的學(xué)習(xí)生活總是感覺短暫的,總感到知識還沒有學(xué)夠,但大學(xué)畢業(yè)就在我們面前,即畢業(yè)設(shè)計即將的結(jié)束,意味著我們的大學(xué)生涯即將結(jié)束。畢業(yè)設(shè)計是我們在大學(xué)所學(xué)知識的一次總結(jié),更是對我們過去所學(xué)知識的提煉和升華,通過畢業(yè)設(shè)計,我們認(rèn)識到大學(xué)學(xué)習(xí)過程中還有那些知識沒有掌握,那些知識需要我們進入深入研究。這次畢業(yè)設(shè)計讓我學(xué)到了很多新的知識,研究了一些新的以前自己不熟悉的領(lǐng)域,使我處理問題的能力得到了一定的提升,同時也為今后的繼續(xù)深造或踏入社會大門提供了很好的鍛煉機會。
我也曾經(jīng)沮喪過,失落過,想放棄過,可是因為你們這不厭其煩的鼓勵和支持才使得我堅持了下來,這里我要對我的老師和同學(xué)們說句“謝謝你們”。因為我們的知識是有限的,所以本文將不可避免的會出現(xiàn)一些錯誤和不足之處,還請老師指正。文章來源:http://www.zghlxwxcb.cn/news/detail-485340.html
點贊+收藏+關(guān)注 ?→ ?私信領(lǐng)取本源代碼、數(shù)據(jù)庫文章來源地址http://www.zghlxwxcb.cn/news/detail-485340.html
到了這里,關(guān)于Springboot+基于微信小程序的商城 畢業(yè)設(shè)計-附源碼191145的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!