日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“易图购”数码商城App设计与实现

發(fā)布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “易图购”数码商城App设计与实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

?

?

本科生畢業(yè)設(shè)計

?

?

?

?

"易圖購"數(shù)碼商城App設(shè)計與實現(xiàn)

?

?

?

?

?

?

?

姓 名:龍谷情

學(xué) 號

學(xué) 院

年 級 2015

專業(yè)班級 計算機科學(xué)與技術(shù)1班

指導(dǎo)教師

?

?

?

?

2019年 5 月 10 日

?

?

學(xué)生畢業(yè)論文(設(shè)計)誠信承諾書

?

本人鄭重聲明所呈交的畢業(yè)論文(設(shè)計)是本人在指導(dǎo)教師指導(dǎo)下進行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得**以外的其他教育機構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同學(xué)對本文研究所做的貢獻均已在論文中作了明確的說明并表示謝意。

?

?

?

學(xué)生本人(簽名):

年 月 日

指導(dǎo)教師(簽名):

年 月 日

?

摘 要

隨著互聯(lián)網(wǎng)的高速發(fā)展和Android技術(shù)的快速普及,購物App逐漸成為人們購買商品的主要形式。購物App發(fā)展迅速,售賣的商品復(fù)雜多樣,甚至提供了許多冗余的商品信息。本畢業(yè)設(shè)計旨在對同類電子商品購物App做出改進,減少冗余商品信息的干擾,并且支持基于圖片的查詢方式,提高查詢準確率,使用戶獲得良好的購物體驗。

新的"易圖購"數(shù)碼商城App系統(tǒng)是在Windows10系統(tǒng)環(huán)境下開發(fā)的,符合模塊化思想和MVP(Model-View-Presenter)架構(gòu),采用的開發(fā)工具是Android Studio和idea64,編程語言為Java + Kotlin。同時,將MySQL和七牛云作為數(shù)據(jù)庫。該系統(tǒng)的功能全面,利用基于內(nèi)容的圖像檢索算法實現(xiàn)圖像匹配,支持數(shù)碼商城的大部分功能,具體包括:商品瀏覽,商品分類瀏覽,搜索商品,選擇商品,加入購物車,設(shè)置收貨地址,支付等。本系統(tǒng)的特色功能體現(xiàn)在以下方面,即在搜索模塊中,允許用戶通過圖片搜索商品,以及在地圖中搜索附近商家。

經(jīng)過測試,本系統(tǒng)可以實現(xiàn)數(shù)碼商城App的全部基本功能。本系統(tǒng)可為用戶提供更加準確的商品信息,減少其他商品信息的干擾,縮短用戶購物時間,給予用戶更好的購物體驗。

?

關(guān)鍵詞:數(shù)碼商城App;MVP架構(gòu);基于內(nèi)容的圖像檢索;地圖搜索

?

ABSTRACT

With the rapid development of the Internet and the speedy popularization of Android technology, shopping Apps have gradually become the main platform for people to buy goods. The products sold by various shopping Apps are complex and diverse, and even a lot of redundant product information that users do not want to see is provided. This graduation project aims to improve the shopping Apps to reduce the interference of redundant commodity information,support image-based query and improve the accuracy of query so that users can get better shopping experience.

The "Easy Purchase" App is mainly developed under Windows 10 system environment and it conforms to the modularization idea and Model-View-Presenter architecture. The development tools used are Android Studio and Idea64, and the programming language is Java + Kotlin. MySQL and Qiniuyun are used as databases. At the same time, using content-based image retrieval algorithm to achieve image matching, the system has comprehensive functions supporting most of the functions of digital mall, including commodity classification, commodity search, commodity selection, shopping carts, receiving address setting, payment and other functions. In the search function, users are allowed to search for goods through pictures and nearby stores in maps.

After tests, the system can realize all basic functions of shopping App. This system can provide users with more accurate commodity information, reduce the interference of other commodity information, shorten the shopping time of users, and give users a better shopping experience.

?

Keywords: Shopping apps, MVP architecture, content-based image retrieval, map search

?

????????目 錄

第一章 緒論????- 1 -

1.1研究背景????- 1 -

1.2國內(nèi)外研究現(xiàn)狀????- 1 -

1.3研究目的和意義????- 3 -

1.3.1研究目的????- 3 -

1.3.2研究意義????- 3 -

1.4全文組織結(jié)構(gòu)????- 3 -

第二章 關(guān)鍵技術(shù)與開發(fā)平臺介紹????- 4 -

2.1 Android 系統(tǒng)開發(fā)平臺介紹????- 4 -

2.1.1視圖層框架????- 4 -

2.1.2業(yè)務(wù)層框架????- 4 -

2.1.3網(wǎng)絡(luò)層框架????- 5 -

2.1.4其他框架????- 5 -

2.2 后臺開發(fā)平臺介紹????- 8 -

2.3 CBIR技術(shù)介紹????- 8 -

2.4 百度地圖API開發(fā)技術(shù)介紹????- 8 -

第三章 系統(tǒng)需求分析????- 9 -

3.1系統(tǒng)的概述與用戶特點????- 9 -

3.1.1系統(tǒng)概述????- 9 -

3.1.2用戶特點????- 9 -

3.2 可行性需求分析????- 9 -

3.2.1 經(jīng)濟可行性????- 9 -

3.2.2 技術(shù)可行性????- 9 -

3.2.3 操作可行性????- 9 -

3.3 功能性需求分析????- 10 -

3.3.1 商品模塊功能需求分析????- 10 -

3.3.2 商品詳情與屬性功能需求分析????- 12 -

3.3.3 購物車模塊功能需求分析????- 13 -

3.4 非功能性需求分析????- 14 -

第四章 系統(tǒng)設(shè)計????- 15 -

4.1系統(tǒng)功能設(shè)計實現(xiàn)流程????- 15 -

4.1.1模塊化思想????- 15 -

4.1.2 MVP模式????- 17 -

4.2 系統(tǒng)數(shù)據(jù)庫設(shè)計????- 18 -

4.2.1用戶中心表????- 18 -

4.2.2購物車表????- 19 -

4.2.3商品分類表????- 20 -

4.2.4商品信息表????- 20 -

4.2.5商品sku表????- 21 -

4.2.6消息表????- 22 -

4.2.7訂單商品表????- 23 -

4.2.8訂單信息表????- 24 -

4.2.9地址管理表創(chuàng)建????- 24 -

4.2.10管理員信息表創(chuàng)建????- 25 -

第五章 系統(tǒng)實現(xiàn)????- 27 -

5.1 系統(tǒng)總體流程????- 27 -

5.2 功能接口說明????- 28 -

5.2.1用戶中心業(yè)務(wù)模塊????- 28 -

5.2.2商品中心管理????- 29 -

5.2.3訂單中心????- 30 -

5.2.4支付中心????- 32 -

5.2.5消息中心????- 32 -

5.3?系統(tǒng)功能模塊設(shè)計與實現(xiàn)????- 32 -

5.3.1 用戶中心模塊????- 33 -

5.3.2 商品中心模塊????- 37 -

5.3.3 訂單中心模塊????- 42 -

5.3.4 支付中心模塊????- 44 -

5.3.5 消息中心模塊????- 45 -

5.4 CBIR簡單算法實現(xiàn)????- 47 -

第六章 系統(tǒng)測試????- 51 -

6.1 測試方法介紹????- 51 -

6.2測試過程????- 51 -

6.2.1 用戶中心模塊測試????- 51 -

6.2.2 商品模塊測試????- 57 -

6.2.3 訂單模塊測試????- 61 -

6.2.4 支付模塊測試????- 62 -

6.2.5 消息模塊測試????- 63 -

6.3測試結(jié)論????- 64 -

第七章 總結(jié)與展望????- 65 -

7.1 總結(jié)????- 65 -

7.2 展望????- 65 -

附錄????- 66 -

參考文獻????- 68 -

致謝????- 69 -

?

?

?

第一章 緒論

1.1研究背景

在1999年以前,中國互聯(lián)網(wǎng)先知們就開始建立B2C(Business-to-Customer,企業(yè)對消費者)模式,但是遭到經(jīng)濟學(xué)界的普遍質(zhì)疑。1999年底,互聯(lián)網(wǎng)進入高速發(fā)展階段。2006年,中國的網(wǎng)購市場開始進入第二階段,即中國網(wǎng)購量爆發(fā)性增長[1]。在中國情商報的互聯(lián)網(wǎng)+的欄目中,艾瑞分析了從 2011 到 2017 年的網(wǎng)絡(luò)購物的情況。從統(tǒng)計數(shù)據(jù)可以看出,我國的網(wǎng)絡(luò)購物用戶人數(shù)在不斷增長,從 2011 年的 1.9 億人增長到 2017 年的 5.3 億人,網(wǎng)絡(luò)購物的人數(shù)在整體網(wǎng)民中所占的比例從 37.8%增長到 71.5%。由此可見,網(wǎng)絡(luò)購物的方式越來越流行[2]

1.2國內(nèi)外研究現(xiàn)狀

近幾年,國內(nèi)對購物商城系統(tǒng)開發(fā)的研究較為活躍。劉均前[3]設(shè)計了一款"易都行"在線購物系統(tǒng),基于MVP(Model-View-Presenter)+RxJava+Retrofit的整合框架,引入百度地圖API(Application Programming Interface)實現(xiàn)定位和導(dǎo)航功能。該系統(tǒng)具有商品瀏覽和檢索功能、購物車功能、支付功能、個人中心管理功能和定位功能。

李峰[4]設(shè)計了一款A(yù)ndroid平臺下基于地理位置的購物系統(tǒng)。采用了系統(tǒng)功能模塊的系統(tǒng)總體架構(gòu)設(shè)計,引入高德地圖進行實現(xiàn)定位功能,研究凝結(jié)算法、智能過濾算法、Dijkstra算法主要實現(xiàn)最優(yōu)路線的搜索功能。該系統(tǒng)具有注冊登錄、商品搜索、地址管理、購物車、網(wǎng)上支付和最短路線提示的功能。

劉蓬[5]設(shè)計了基于Android平臺移動購物系統(tǒng),主要引用百度地圖API、科大訊飛API來實現(xiàn)位置服務(wù)和語音服務(wù),信息以Json數(shù)據(jù)格式響應(yīng)客戶端請求。此系統(tǒng)主要供商品瀏覽、商品搜索、商品購買等基本功能。

黃俊萍[6] 設(shè)計了一款基于IOS的購物類電子商務(wù)App。該App使用 Xcode 開發(fā)工具,使用為Objective-C進行開發(fā),數(shù)據(jù)庫使用SQLite,采用模塊化設(shè)計思想和一定的加密算法保證App的可用性和正確性。該App具有商品搜索、購物車和網(wǎng)上支付等基本功能。

李雪蓮[7]設(shè)計了一款基于 Android混合開發(fā)模式的網(wǎng)上購物系統(tǒng)。該系統(tǒng)采用當(dāng)前流行的 Android操作系統(tǒng)與Web技術(shù),采用HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)協(xié)議進行網(wǎng)絡(luò)通信,使用MySQL作為數(shù)據(jù)庫,tomcat作為服務(wù)器,采用MD5加密技術(shù)保證用戶信息安全性,調(diào)用Google地圖實現(xiàn)地理位置服務(wù)。該系統(tǒng)具有注冊登錄、用戶管理、訂單管理、購物車、二維碼、地圖顯示等功能。

戶磊[8]設(shè)計了一款基于移動商品搜索系統(tǒng)。開發(fā)工具為Xcode,配置OpenCV環(huán)境,使用GrabCut算法,實現(xiàn)圖像分割,提取圖像顏色和尺度不變特征變換(SIFT,Scale-invariant feature transform),與后臺圖像數(shù)據(jù)集進行對比,使用歐式距離和BoW方法進行匹配,實現(xiàn)圖像檢索的功能。該系統(tǒng)盡實現(xiàn)此功能,并未集成到應(yīng)用中。

基于內(nèi)容的圖像檢索技術(shù)(CBIR, Content Based Image Retrieval)是互聯(lián)網(wǎng)領(lǐng)域興起的一種新型圖像搜索方式,可以更加直觀地表達用戶的搜索意圖,并且能客觀的幫助用戶實現(xiàn)搜索[9]。從上世紀90年代至今,CBIR技術(shù)已經(jīng)逐漸發(fā)展成為龐大的結(jié)構(gòu)化、系統(tǒng)化的體系[10]。Jrgensen等人提出,用戶想構(gòu)造和調(diào)整搜索關(guān)鍵詞,但不知道具體怎么做,因此圖像檢索系統(tǒng)中需要為檢索提問的構(gòu)造和調(diào)整提供更多支持[11]。有關(guān)CBIR系統(tǒng)的基本原理如圖1-1所示。

?

?

?

?

?

?

?

?

圖1-1 CBIR 系統(tǒng)的基本原理框圖

圖像特征提取主要有底層特征提取和高層特征提取。比如將圖像的顏色、紋理和形狀三種特征進行提取,并使用歐氏距離和直方圖相交法對特征進行比對,從而獲得相似的圖片。可通過感知哈希算法和均值hash算法對圖片進行處理。均值哈希算法(aHash)利用圖片的低頻信息進行處理,主要用于由圖像的縮略圖搜原圖。感知哈希算法(pHash)主要應(yīng)用于圖像檢索、圖像識別、圖像認證及數(shù)字水印技術(shù)[12]

當(dāng)前,購物類App通常能實現(xiàn)登錄注冊、瀏覽商品,網(wǎng)上支付、購物車等基本功能,很少會對圖像檢索進行研究和實現(xiàn)。基于地理的服務(wù)也是為快遞員規(guī)劃路線而使用的,很少為消費者服務(wù),不能完全滿足用戶的購物需求。本畢業(yè)設(shè)計將Android Studio,webstorm作為開發(fā)工具,tomcat作為服務(wù)器,數(shù)據(jù)庫使用MySQL,基于MVP模式進行開發(fā),用可針對商品圖像搜索和消費者查找實體店的位置服務(wù)的功能,擬設(shè)計一款符合潛在用戶需求的數(shù)碼商城App,解決傳統(tǒng)商品描述不靈活,搜索信息不準確,無法查找實體店的問題。

1.3研究目的和意義

1.3.1研究目的

通過"易圖購"數(shù)碼商城App設(shè)計與實現(xiàn)深入理解了網(wǎng)絡(luò)電商的基本開發(fā)模塊及流程和Android Studio、idea等開發(fā)軟件的使用方法。

1.3.2研究意義

1.理論意義

(1)此App采用MVP模式,將模型與視圖完全分離,思路更加清晰,項目更有結(jié)構(gòu)化。

(2)運用基于內(nèi)容的圖像檢索技術(shù),來完成圖像搜索商品的功能。

(3)該系統(tǒng)借助微信支付平臺和支付寶開放平臺,實現(xiàn)在線微信、支付寶支付功能。

(4)引用百度地圖API接口,用來實現(xiàn)基于位置的服務(wù)功能,實現(xiàn)尋找附近實體店的功能。

2.實踐意義

(1)數(shù)碼愛好者提供專門的數(shù)碼商城,內(nèi)容準確,不受其他商品的干擾。

(2)App采用基于內(nèi)容發(fā)的圖像,對不易描述的商品可通過圖片進行搜索。

(2)App實現(xiàn)地理位置服務(wù)功能,為用戶提供附近的實體店功能以滿足用戶需求。

1.4全文組織結(jié)構(gòu)

本文共分為7章,文章結(jié)構(gòu)及各章內(nèi)容簡介如下:

第1章主要介紹及探討論文主要研究的背景,國內(nèi)外現(xiàn)狀,研究意義,最后給出本文的組織結(jié)構(gòu)。

第2章主要介紹關(guān)鍵技術(shù)與開發(fā)平臺及涉及的主要算法,以及API開發(fā)技術(shù)。

第3章介紹了基本業(yè)務(wù)流程,從功能性需求和非功能性需求兩方面研究需求分析,根據(jù)需求給出原型圖。

第4章介紹系統(tǒng)總體架構(gòu)的設(shè)計,提供了系統(tǒng)的總體設(shè)計流程和接口簡介。

第5章介紹系統(tǒng)的詳細設(shè)計與實現(xiàn),給出系統(tǒng)總體流程。提供數(shù)據(jù)庫設(shè)計及各模塊的設(shè)計與實現(xiàn)。

第6章對每個模塊進行測試,提供了測試步驟以及完成情況。

第7章 本系統(tǒng)可完成用戶登錄、瀏覽、加入購物車、支付、查看訂單等功能,今后將完善圖片搜索商品和實體店查詢等功能。

第二章 關(guān)鍵技術(shù)與開發(fā)平臺介紹

2.1Android 系統(tǒng)開發(fā)平臺介紹

本系統(tǒng)使用的開發(fā)工具為Android Studio,開發(fā)語言為java和kotlin,架構(gòu)思想為MVP架構(gòu)思想和演進模塊化設(shè)計思想,所用插件主要有模塊路由(ARouter)、插件式引用視圖資源插件,流行框架主要有RxKotlin、RxJava、RxBus、Anko等。

2.1.1視圖層框架

1.Kotlin-Android-Extensions?視圖綁定插件

kotlin提供插件,在項目的每個模塊中添加依賴即可,代碼如圖2-1所示。

圖2-1添加視圖綁定插件依賴

使用Kotlin-Android-Extensions可直接使用XML中ID操作改控件,無需定義變量,極大的減少代碼,適用于Activity、Fragment、Adapter及自定義View等視圖。

2.Anko

Anko組成部分:Anko Commons,Anko Layouts,Anko SQLite,Anko Coroutines。在項目中添加Anko Commons依賴即可,代碼如圖2-2所示。

圖2-2添加Anko依賴

可使用startActivity、intent等方法進行跳轉(zhuǎn),使用toast、dialog等方法進行提示,使用verbose(),debug(),info(),warn(),error()等方法進行打印日志等。使用Anko極大的簡化了代碼量。

本項目只使用Anko Commons,其他功能將使用第三方庫來完成。

2.1.2業(yè)務(wù)層框架

1.RxKotlin

基于RxJava的擴展庫,以kotlin的風(fēng)格提供了大量的擴展方法,是一種響應(yīng)式編程,編碼風(fēng)格簡潔,也是一種觀察者模式,提供監(jiān)聽來實現(xiàn)業(yè)務(wù)。在項目中引入依賴,代碼如圖2-3所示。

圖2-3添加RxKotlin依賴

2.RxAndroid

基于RxJava的擴展庫,可以優(yōu)雅的處理異步請求,更好的兼容Android特性,如主線程、UI事件等。在項目中引入依賴,代碼如圖2-4所示。

圖2-4添加RxAndroid依賴

3.RxLifecycle

主要通過監(jiān)聽Activity、Fragment生命周期,自動斷開Rx綁定來解決Rx內(nèi)存泄露的問題。在項目中引入依賴,代碼如圖2-5所示。

圖2-5添加RxLifecycle依賴

2.1.3網(wǎng)絡(luò)層框架

本系統(tǒng)網(wǎng)絡(luò)層使用Okhttp + Retrofit框架進行實現(xiàn)。

基于okhttp封裝的網(wǎng)絡(luò)庫,簡單配置就能進行網(wǎng)絡(luò)請求,并和Rx完美結(jié)合。項目中引入依賴,代碼如圖2-6所示。

圖2-6添加Okhttp + Retrofit依賴

2.1.4其他框架

本系統(tǒng)也使用了以下八種主要框架或云空間,具體介紹如下:

1.Dagger2依賴注入

使用@Inject進行標注,需要通過Component進行連接。Component是一個注入器,是連接目標類和以來類實例的橋梁,以@Component標注的類必須是接口或抽象類,Component依賴關(guān)系通過dependencies屬性添加,App必須有一個Component用來管理全局實例。

因為第三方庫不能修改 ,不能再其構(gòu)造函數(shù)中添加@Inject,接口不能實例化,只能通過實現(xiàn)類實例化,所以引入@Module,Module是一個簡單工廠,是創(chuàng)建類實例的方法,可使用Component通過modules屬性添加多個Module。在Module中,使用@procides標注創(chuàng)建實例的方法。

2.Gson數(shù)據(jù)轉(zhuǎn)換

Gson是一種JSON轉(zhuǎn)換器,由google發(fā)布的library,主要完在Java對象和JSON數(shù)據(jù)之間進行映射,即將一個JSON數(shù)據(jù)轉(zhuǎn)換成Java對象。導(dǎo)入庫僅需要在程序中加入依賴即可。如圖2-7所示。

圖2-7 引入Gson依賴

3.ARouter模塊路由

ARouter是由阿里巴巴提供的Android平臺中對頁面、服務(wù)提供路由功能的中間件。使用ARouter支持多模塊項目,符合本項目的模塊化思想。本系統(tǒng)未在gradle引入此框架,直接下載jar包放入項目中進行引入。如圖2-8所示。

圖2-8 本系統(tǒng)ARouter依賴

4.Glide

Glide主要用來進行圖片加載,而且在當(dāng)fragment或者activity失去焦點或者destroyed的時候,Glide會自動停止加載相關(guān)資源,確保資源不會被浪費。本項目導(dǎo)入依賴如圖2-9所示。

圖2-9 本系統(tǒng)導(dǎo)入Glide依賴

5.TakePhoto

TakePhoto框架主要實現(xiàn)拍照更能和從手機相冊獲得圖片功能。使用本框架可實現(xiàn)對圖片的壓縮、剪輯等功能。本系統(tǒng)引入依賴如圖2-10所示。

圖2-10 引入TakePhoto依賴

6.七牛數(shù)據(jù)云存儲

七牛數(shù)據(jù)云為開發(fā)者用戶提供云空間,主要提供了對象存儲、云主機服務(wù)、內(nèi)容審核等服務(wù),本系統(tǒng)主要使用對象存儲的服務(wù)功能,可提供圖片外鏈,直接通過URL訪問,通過AK(AccessKey)和SK(SecretKey)獲取讀取權(quán)限。在android添加依賴如圖2-11所示。

圖2-11 引入七牛云依賴

在后臺需要將AK/SK和bucket(存儲對象中的數(shù)據(jù)庫名),如圖2-12所示。

圖2-12 七牛云后臺配置

7.MultiStateView多狀態(tài)視圖

將指定的view放在此控件中,即可完成根據(jù)此view的狀態(tài)來顯示不同的界面,主要用來控制一些加載界面、錯誤界面等。加入依賴如圖2-13所示。

圖2-13 引入MultiStateView依賴

8.BGA-refreshLayout

本控件主要實現(xiàn)上拉刷新、下拉加載更多的功能。其中只需要配置XML布局文件,調(diào)用其中接口即可。在布局文件中加入此控件如圖2-14所示。

圖2-14 布局文件BGA-refreshLayout控件

在邏輯功能中調(diào)用其中接口,如圖2-15所示。

圖2-15 上下拉刷新功能實現(xiàn)

2.2 后臺開發(fā)平臺介紹

后臺開發(fā)工具是IDEA,開發(fā)語言使用Java,數(shù)據(jù)庫使用MySQL,框架為SpringMVC。

2.3 CBIR技術(shù)介紹

CBIR(Content-based image retrieval),即基于內(nèi)容的圖像檢索,此技術(shù)的實現(xiàn)主要依賴與兩個關(guān)鍵技術(shù):圖像特征提取和匹配。圖像特征提取分為兩大類,底層視覺和語義內(nèi)容。底層視覺就是可以通過圖片的顏色、形狀、紋理等與庫里所存在的圖片進行匹配,語義內(nèi)容則是通過理解文字內(nèi)容對圖像進行搜索。本設(shè)計主要通過使用底層視覺的技術(shù)來支持CBIR技術(shù)。

2.4 百度地圖API開發(fā)技術(shù)介紹

本設(shè)計地理位置定位及搜索功能主要通過調(diào)用百度地圖API接口實現(xiàn),可實現(xiàn)對商店的查詢功能。

第三章 系統(tǒng)需求分析

隨著互聯(lián)網(wǎng)的高速發(fā)展和智能手機的快速普及,手機商城app應(yīng)運而生,并在我國于2006年爆發(fā)時增長,購物App各式各樣,,網(wǎng)絡(luò)購物逐漸成為人們的主要購物方式。隨著電子科技的高速發(fā)展,數(shù)碼產(chǎn)品的種類層出不窮。面對紛繁復(fù)雜的各類數(shù)碼產(chǎn)品,數(shù)碼愛好者無法準確理解這些產(chǎn)品的樣式、品牌及性能。

在需求分析階段,對系統(tǒng)的潛在用戶進行了問卷調(diào)查(調(diào)查問卷見附錄)。在本次調(diào)查中,共發(fā)放問卷110份,有效回收問卷91份。其中,92%的用戶希望增加圖片搜索商品功能,79%的用戶希望增加消息推送功能。最終,得出針對系統(tǒng)功能的用戶需求分析。

3.1系統(tǒng)的概述與用戶特點

3.1.1系統(tǒng)概述

本系統(tǒng)針對傳統(tǒng)網(wǎng)上商城的弊端,從而開發(fā)出的一種在線電子產(chǎn)品App商城,主要目的就是通過本系統(tǒng)為用戶提供更加方便的體驗,滿足潛在用戶的需求。本系統(tǒng)可以通過圖片獲取自己想要的商品,并能通過地圖搜索附近的商店。主要通過調(diào)查問卷和觀察法的方式進行確定該系統(tǒng)的功能。

3.1.2用戶特點

可以實現(xiàn)登錄,對已有的商品進行查詢,對訂單進行查詢,填寫地址,搜索商店,加入購物車,進行支付等功能。

3.2 可行性需求分析

3.2.1 經(jīng)濟可行性

本系統(tǒng)參考文獻主要在學(xué)校提供的知網(wǎng)等網(wǎng)站進行下載,不需要自己進行付費購買。技術(shù)教程可通過博客、百度云等網(wǎng)絡(luò)渠道獲取并學(xué)習(xí)。七牛云提供免費云空間,容量可滿足系統(tǒng)要求。調(diào)查問卷主要通過網(wǎng)絡(luò)進行填寫和統(tǒng)計,。本系統(tǒng)預(yù)計費用較少,從經(jīng)濟上講,可滿足實現(xiàn)本系統(tǒng)所用資金。

3.2.2 技術(shù)可行性

本系統(tǒng)用戶端為Android,使用kotlin+Java語言,采用MVP亂加進行實現(xiàn),管理員web端和后臺采用SSM框架進行實現(xiàn)。本系統(tǒng)涉及Java、HTML、CSS、Android等開發(fā)語言在大學(xué)期間已經(jīng)開設(shè)課程,在此基礎(chǔ)上學(xué)習(xí)Kotlin和JavaScript會非常簡單。硬件要求一部手機和一臺電腦即可完成。技術(shù)要求比較簡單,因此在技術(shù)方面可以可實現(xiàn)本系統(tǒng)。

3.2.3 操作可行性

用戶端采用C/S(Client/Server,客戶機/服務(wù)器)結(jié)構(gòu),與服務(wù)器直接相連,沒有中間環(huán)節(jié),因此響應(yīng)速度快。界面采用列表和選項卡布局方式,界面美觀,操作簡單。

管理員端采用B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu),B/S具有分布性特點,管理員可以隨時隨地進行查詢、瀏覽等業(yè)務(wù)處理。界面采用選項卡布局,功能模塊明確,操作方便。

3.3 功能性需求分析

在客戶端的需求分析中,本文獲得五個核心業(yè)務(wù),分別是用戶中心、商品中心(包括首頁、分類頁和商品詳情頁)、訂單中心、支付中心和消息中心。結(jié)構(gòu)圖如圖3-1所示。

圖3-1系統(tǒng)整體架構(gòu)示意圖

功能模塊主要分為商品模塊、購物車模塊、訂單模塊、支付模塊、用戶模塊、消息模塊。

1.商品模塊:展示符合用戶需求的商品。

2.購物車模塊:存儲用戶將要購買的商品,滿足用戶對多種相似商品進行對比和暫時保存。

3.訂單模塊:顯示訂單狀態(tài),方便用戶查看交易過程。

4.用戶模塊:主要完成用戶注冊登錄、管理收貨信息、修改密碼等功能。

3.3.1 商品模塊功能需求分析

該模塊時APP商城最基本的頁面,為了滿足用戶的瀏覽體驗,添加分類和商品檢索功能。

商品模塊包括首頁和分類展示兩部分:

1.首頁

包括搜索功能,折扣板塊,輪播圖模塊。用戶可在搜索板塊中搜索自己想要的商品,滿足用戶的針對行購買需求,折扣模塊會顯示正在打折的的商品,輪播圖模塊會顯示近期火爆的商品。在設(shè)置界面時考慮到搜索功能應(yīng)該是用戶最常使用的功能模塊,折扣推薦時其次,火爆商品并不會很滿足用戶的購物需求,所以最不常使用的模塊應(yīng)該是輪播圖模塊。在主界面只設(shè)置這三個模塊,按照使用頻率進行排版,符合用戶習(xí)慣,有層次、有規(guī)劃、有模塊的展示商品。搜索得到的商品以兩列瀑布流的形式展示出來,顯示商品的樣式、名稱、價格等信息。

其首頁原型圖如圖3-2所示。

?

?

?

?

?

?

?

?

?

?

圖3-2首頁原型圖

通過圖3-2明確,首頁開發(fā)界面較為復(fù)雜,要達到有條不絮的效果就要有合適的UI架構(gòu),需要從各個方面考慮問題,大多類似APP首頁的設(shè)計比較類似,大致思路為:

(1)界面頂部為搜索框,便于用戶快速定位。

(2)其下面是Banner輪播圖,用來吸引用戶。

(3)下一層是公告欄,不斷刷新各種商品的活動情況。

(4)然后是火爆一欄,通過用戶的搜索情況推薦火爆商品。

(5)最后是比較個性的輪播圖,用來顯示主題商品。

2.分類頁面

其次,商品展示頁包含輔助頁面分類頁面,相對于首頁簡介很多,主要包括左右兩部分,左側(cè)用來展示類別列表,右側(cè)是此類別的商品。和搜索功能不同,搜索功能是為了讓用戶最快最便捷地找到自己想要的商品,而分類是將商城中的雖有商品進行系統(tǒng)的分類,用戶可以在此分類的范圍中隨意的瀏覽商品。分類頁面的原型圖如圖3-3所示。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

圖3-3分類頁面原型圖

3.3.2 商品詳情與屬性功能需求分析

商品詳情頁是對具體商品的信息展示,一般包括商品基本信息、商品具體圖片展示、商品規(guī)格等信息,在商品詳情頁可選擇商品規(guī)格加入購物車。商品詳情頁的展示一般會以圖片的形式展示,讓用戶更加直觀的查看商品。

深層次的講,作為用戶必須要瀏覽的地方,也是用戶購買與否的關(guān)鍵之處,必須將信息提供全面。這里并不能像實體店一樣可以切身感受到商品的存在,淫詞一定要考慮以下幾點:

1.使用圖片作為展示方式,一般使用多張圖片,可以從不同角度觀察商品。

2.表明商品的價格以及原價,可以吸引用戶購買。

3.說明商品使用方法和注意事項等信息。

4.說明商品優(yōu)點。

通過以上分析,可以設(shè)計出大改原型圖如圖3-4所示。

?

?

?

?

?

?

?

?

?

?

?

圖3-4商品詳情頁原型圖

其次,商品SKU的展示在設(shè)計上也是一大難點,因為SKU的展示是一個動態(tài)效果,比如電腦的版本、配置和數(shù)量,都是通過后臺來進行獲取,將數(shù)據(jù)填充到相應(yīng)的組件中。在設(shè)計此頁面是要簡介明了,方便用戶準確的選擇商品規(guī)格。其設(shè)計的原型圖如圖3-5所示:

?

圖3-5 SKU屬性原型圖

3.3.3 購物車模塊功能需求分析

在購物車中,用戶應(yīng)該能夠看到商品的名稱、配置、價格和數(shù)量,并且允許用戶對多個不同的商品進行批量購買,選中商品后將顯示總價格,點擊結(jié)算便可進行購買。可點擊編輯按鈕,對購物車中不想要的商品進行刪除。根據(jù)以上基地那,設(shè)計原型圖如圖3-6所示。

圖3-6購物車原型圖

3.4 非功能性需求分析

非功能性需求包括界面交互、產(chǎn)品性能、不同手機設(shè)備上的兼容性等方面的需求。

1.界面交互設(shè)計:要求商品繁多但能夠有條理的瀏覽商品,各界面跳轉(zhuǎn)能快速找到。

2.產(chǎn)品性能方面:數(shù)據(jù)來源于服務(wù)器,占用本地內(nèi)存少,運行流暢,沒有明顯的卡頓現(xiàn)象。

3.設(shè)備兼容性:能夠在市面上絕大Android版本上運行,主要適配Android4.0以上版本。

?

?

第四章 系統(tǒng)設(shè)計

4.1系統(tǒng)功能設(shè)計實現(xiàn)流程

本系統(tǒng)使用Kotlin語言開發(fā),使用模塊化思想,采用MVP架構(gòu),使用主流框架進行開發(fā)。

在編寫Android過程中,并沒有使用Android流行語言Java,而是使用Kotlin來進行編寫,主要因為Kotlin相對于Java有以下優(yōu)勢:

1.易用性:Kotlin能夠用更短的代碼實現(xiàn)更多的功能,減少了bug的可能性。

2.Kotlin特有的擴展屬性,使得編碼更加簡介,對開發(fā)更加友好。

3.更具有安全性。比如使用Kotlin聲明變量時需要指定是否為空,調(diào)用對象時也會先判斷是否是空對象。

4.有更好的跨平臺特性。Kotlin不僅可以像java一樣編譯成字節(jié)碼class,還能編譯成js。

系統(tǒng)的設(shè)計實現(xiàn)流程如圖4-1所示。

圖4-1系統(tǒng)設(shè)計開發(fā)流程

4.1.1模塊化思想

大概分有四層,第一層是基礎(chǔ)Module,用來封裝基礎(chǔ)的通用的組件;第二層是中間件Module,提供業(yè)務(wù)模塊項目跳轉(zhuǎn)以及項目之間接口調(diào)用的常量;第三層是業(yè)務(wù)Module,主要實現(xiàn)各模塊獨立功能;第四層是主攻城APP,運行程序的入口。模塊化思想基本流程圖如圖4-2所示。

?

圖4-2模塊劃分圖

模塊化就是將相對獨立的業(yè)務(wù)拆分成"塊",單獨開發(fā)調(diào)試,最后將模塊組裝成APP。

本系統(tǒng)所使用的模塊劃分如圖4-3所示。

圖4-3模塊劃分

使用模塊化,有業(yè)務(wù)分離,解耦;通用化,代碼復(fù)用的優(yōu)點。在實現(xiàn)模塊化過程中,主要通過公共模塊抽取、業(yè)務(wù)模塊抽取和主工程組裝業(yè)務(wù)模塊來實現(xiàn)模塊化。模塊之間通訊主要有跨模塊跳轉(zhuǎn)和跨模塊接口調(diào)用兩種,在不同應(yīng)用之間的通訊使用阿里巴巴開源框架ARouter。

4.1.2 MVP模式

MVP(Model-View-Presenter)是對MVC(Model-View-Controller)的一種升級,在合作開發(fā)功能模塊細分中MVP有著得天獨厚的優(yōu)勢。MVP把Activity中的UI邏輯抽象成View接口,把業(yè)務(wù)邏輯抽象成Presenter接口,Model類還是原來的Model。在MVP模式中Activity的功能就是響應(yīng)生命周期和顯示界面,具體其他的工作都丟到了Presenter層中進行完成,Presenter其實是Model層和View層的橋梁。MVP基本流程如圖4-4所示。

圖4-4 MVP基本流程

使用MVP模式,主要有以下優(yōu)點:

1.模型與視圖完全分離,降低耦合,單獨修改view或者presenter的邏輯并不會影響另一方。

2.可以更高效地使用模型。

3.我們可以將一個Presenter用于多個Activity,而不需要改變Presenter的邏輯。這個特性非常的有用,因為Activity的變化總是比模型的變化頻繁。

在本系統(tǒng)中,對原生MVP模式進行了修改,增加數(shù)據(jù)適配器和疏解生成器,如圖4-5所示。

?

圖4-5 系統(tǒng)使用的MVP架構(gòu)

4.2 系統(tǒng)數(shù)據(jù)庫設(shè)計

本系統(tǒng)所用數(shù)據(jù)庫為dada,存儲的表有user_info, goods_info, order_info, cart_goods,category, good_sku,message_info, order_info, ship_address九張表。

4.2.1用戶中心表

主要存儲用戶基本信息,手機號和密碼是必要信息。相應(yīng)字段信息如表4-1所示。

表4-1用戶中心表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

Id

int(11)?

NO?

主鍵、用戶唯一id

user_name?

用戶名

varchar(45)?

YES?

?

user_pwd?

密碼

varchar(45)?

YES?

?

user_mobile?

手機號

varchar(45)?

YES?

?

user_icon

用戶頭像

varchar(256)?

YES?

?

user_real_name?

用戶真實姓名

varchar(45)?

YES?

?

user_identity_card?

身份證

varchar(45)?

YES?

?

user_nick_name?

昵稱

varchar(45)?

YES?

?

user_gender?

性別

varchar(45)?

YES?

?

user_birthday?

生日

varchar(45)?

YES?

?

user_address?

居住地

varchar(45)?

YES?

?

user_sign

個性簽名

varchar(45)?

YES?

?

實體圖如圖4-6所示。

圖4-6 用戶實體圖

4.2.2購物車表

主要存儲購物車中商品信息,用來管理在購物車中的各個商品。相應(yīng)字段信息如表4-2所示。

表4-2購物車表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

購物車Id

int(11)?

NO?

主鍵、購物車唯一id

goods_id?

商品id

int(11)?

YES?

商品唯一id

goods_desc?

商品描述

varchar(255)?

YES?

?

goods_icon?

商品頭像

varchar(255)?

YES?

?

goods_price?

商品圖片

varchar(45)?

YES?

?

goods_count?

商品數(shù)量

int(11)?

YES?

?

user_id?

用戶id

int(11)?

YES?

用戶唯一id

goods_sku?

商品詳情數(shù)據(jù)

varchar(255)?

YES?

?

實體圖如圖4-7所示。

圖4-7 購物車實體圖

4.2.3商品分類表

用來管理分類信息和級別信息,通過自己id和父類id構(gòu)建關(guān)系,生成一對多的樹形關(guān)系。相應(yīng)字段信息如表4-3所示。

表4-3商品分類表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

類別is

int(11)?

NO?

主鍵、類別唯一標識

category_name?

類別名稱

varchar(45)?

YES?

?

category_icon?

類別頭像

varchar(255)?

YES?

?

parent_id?

父類別id

int(11)?

YES?

類別唯一標識,用來管理級別

實體圖如圖4-8所示。

圖4-8 商品類別實體圖

4.2.4商品信息表

存儲商品的各種信息,相應(yīng)字段信息如表4-4所示。

表4-4商品信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

id

int(11)?

NO?

主鍵、商品唯一標識

category_id?

類別id

int(11)?

YES?

類別唯一標識

goods_desc?

商品描述

varchar(255)?

YES?

?

goods_default_icon?

商品默認圖標

varchar(255)?

YES?

?

goods_default_price?

商品默認圖片

varchar(45)?

YES?

?

goods_banner?

商品Banner顯示

text?

YES?

?

goods_detail_one

商品詳情1

varchar(255)?

YES?

?

goods_detail_two?

商品詳情2

varchar(255)?

YES?

?

goods_sales_count?

商品售賣數(shù)量

int(11)?

YES?

?

goods_stock_count?

商品現(xiàn)存數(shù)量

int(11)?

YES?

?

goods_code?

商品編碼

varchar(45)?

YES?

?

goods_default_sku?

商品SKU

varchar(45)?

YES?

?

實體圖如圖4-9所示。

圖4-9 商品信息實體圖

4.2.5商品sku表

存儲商品的SKU信息,相應(yīng)字段信息如表4-5所示。

表4-5商品SKU信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

Sku_id

int(11)?

NO?

主鍵、SKU唯一標識

goods_id?

商品id

int(11)?

YES?

商品唯一標識

goods_sku_title?

商品SKU標題

varchar(45)?

YES?

?

goods_sku_content?

商品SKU內(nèi)容

varchar(255)?

YES?

?

實體圖如圖4-10所示。

圖4-10 商品SKU信息實體圖

4.2.6消息表

存儲系統(tǒng)通知用戶的消息,相應(yīng)字段信息如表4-6所示。

表4-6 消息信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

消息id

int(11)?

NO?

主鍵、消息唯一標識

msg_icon?

消息標志

varchar(255)?

YES?

?

msg_title?

消息標題

varchar(45)?

YES?

?

msg_content?

消息內(nèi)容

varchar(255)?

YES?

?

msg_time?

消息時間

varchar(45)?

YES?

?

user_id

用戶id

int(11)?

YES?

用戶唯一標識

實體圖如圖4-11所示。

圖4-11 消息表實體圖

4.2.7訂單商品表

用來管理已有訂單的商品,相應(yīng)字段信息如表4-7所示。

表4-7訂單商品信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

id

int(11)?

NO?

主鍵、商品唯一標識

goods_id?

商品id

int(11)?

YES?

?

goods_desc?

商品描述

varchar(255)?

YES?

?

goods_icon?

商品標志

varchar(255)?

YES?

?

goods_price?

商品價格

varchar(45)?

YES?

?

goods_count?

商品內(nèi)容

int(11)?

YES?

?

goods_sku?

商品SKU信息

varchar(255)?

YES?

?

order_id?

訂單id

int(11)?

YES?

訂單唯一標識

實體圖如圖4-12所示。

圖4-12 訂單商品關(guān)系表實體圖

4.2.8訂單信息表

用來管理生成的訂單,相應(yīng)字段信息如表4-8所示。

表4-8訂單信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

訂單id

int(11)?

NO?

主鍵、唯一標識

user_id?

用戶id

int(11)?

YES?

?

pay_type?

支付方式

int(11)?

YES?

?

ship_id?

收貨地址id

int(11)?

YES?

?

total_price?

總價

int(11)?

YES?

?

order_status?

訂單狀態(tài)

int(11)?

YES?

?

實體圖如圖4-13所示。

圖4-13 訂單信息表

4.2.9地址管理表創(chuàng)建

用來管理收貨地址信息,相應(yīng)字段信息如表4-9所示。

表4-9地址管理信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

地址id

int(11)?

NO?

主鍵、唯一標識

ship_user_name?

地址用戶名

varchar(45)?

YES?

?

ship_user_mobile?

地址用戶手機號

varchar(45)?

YES?

?

ship_address?

地址

varchar(45)?

YES?

?

ship_is_default?

是否默認地址

int(11)?

YES?

?

user_id?

用戶id

int(11)?

YES?

?

實體圖如圖4-14所示。

圖4-14 地址管理表實體圖

4.2.10管理員信息表創(chuàng)建

用來存儲管理員信息,相應(yīng)字段信息如表4-10所示。

表4-10管理員信息表

字段名稱

字段描述

數(shù)據(jù)類型

Not Null

備注

id?

管理員id

int(11)?

NO?

主鍵、唯一標識

name

管理員用戶名

varchar(45)?

YES?

?

mobile?

管理員手機號

varchar(45)?

YES?

?

pwd

管理員密碼

varchar(45)?

YES?

?

實體圖如圖4-15所示。

圖4-15 管理員信息表實體圖

系統(tǒng)總體E-R圖如圖4-16所示。

圖4-16 系統(tǒng)總體E-R圖

?

第五章 系統(tǒng)實現(xiàn)

5.1 系統(tǒng)總體流程

站在一個用戶的角度,首先注冊用戶,登錄成功后進行商品瀏覽、查看商品參數(shù),選擇商品的SKU(Stock Keeping Unit,庫存量單位)屬性,加入購物車,選擇購物車中的商品進行結(jié)算,新建或選擇收貨地址,提交訂單后進行支付,最后用戶確認收貨后完成一個商品的購買過程。系統(tǒng)流程圖如圖5-1所示。

?

圖5-1 "易圖購"App業(yè)務(wù)流程圖

其中設(shè)計的模塊有App主程序模塊、BaseLibrary基礎(chǔ)模塊、UserCenter用戶中心模塊、GoodsCenter商品中心模塊、MessageCenter消息中心模塊、OrderCenter訂單中心模塊、PaySDK支付寶支付模塊、Provider(MVP的P層模塊)。模塊之間相互分離,其結(jié)構(gòu)如圖5-2所示。

圖5-2 模塊劃分結(jié)構(gòu)圖

5.2 功能接口說明

本系統(tǒng)使用JSON(JavaScript Object Notation)格式將數(shù)據(jù)上傳至服務(wù)器,服務(wù)器將數(shù)據(jù)存儲到MySQL數(shù)據(jù)庫中。

JSON意為JavaScript對象表示法,它是一種基于文本,獨立于語言的輕量級數(shù)據(jù)交換格式。由于語法更為簡潔,網(wǎng)絡(luò)傳輸,以及機器解析都更為迅速。

5.2.1用戶中心業(yè)務(wù)模塊

本系統(tǒng)用戶中心模塊主要實現(xiàn)用戶注冊,用戶登錄,修改用用戶信息功能,重置密碼,其調(diào)用的接口名稱如表5-1所示。

表5-1用戶中心接口說明

接口名稱

userCenter/register?

接口說明

用戶注冊接口

URL?

http://<ServicerIP>:8080/userCenter/register?

請求方式

POST?

Request信息

mobile,pwd,verifyCode?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

?

userCenter/login?

接口說明

用戶登錄接口

URL?

http://<ServicerIP>:8080/userCenter/login?

請求方式

POST?

Request信息

userName,pwd?

??

返回結(jié)果

0:失敗 1:成功

??

接口名稱

?

userCenter/editUser?

接口說明

用戶編輯信息接口

URL?

http://<ServicerIP>:8080/userCenter/editUser?

請求方式

POST?

Request信息

id,userIcon,userName,userMobile,userSign

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

userCenter/resetPwd?

接口說明

重置密碼接口

URL?

http://<ServicerIP>:8080/userCenter/resetPwd?

請求方式

POST?

Request信息

mobile,pwd,verifyCode?

??

返回結(jié)果

0:失敗? 1:成功

??

用戶進行注冊時需要三個必要參數(shù),分別是mobile(注冊手機號),pwd(密碼),verifyCode(驗證碼),當(dāng)手機號、密碼、驗證碼符合規(guī)定時可完成注冊;重置密碼時,手機號和驗證碼相匹配時可完成操作。

5.2.2商品中心管理

本系統(tǒng)商品中心主要分為首頁,分類頁面和購物車接口,其調(diào)用的接口名稱如表5-2所示。

表5-2商品中心管理接口

接口名稱

goods/getGoodsList?

接口說明

獲取商品列表

URL?

http://<ServicerIP>:8080/goods/getGoodsList?

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

goods/getGoodsListByKeyword?

接口說明

通過關(guān)鍵詞獲取商品列表

URL?

http://<ServicerIP>:8080/goods/getGoodsListByKeyword?

請求方式

POST?

Request信息

Keyword?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

goods/getGoodsDetail?

接口說明

獲取商品詳情

URL?

http://<ServicerIP>:8080/goods/getGoodsDetail

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

category/getCategory?

接口說明

獲取分類列表

URL?

http://<ServicerIP>:8080/category/getCategory?

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

cart/getList?

接口說明

獲取購物車列表

URL?

http://<ServicerIP>:8080/cart/getList

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

cart/delete?

接口說明

從購物車刪除商品

URL?

http://<ServicerIP>:8080/cart/delete?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

cart/add?

接口說明

添加商品到購物車

URL?

http://<ServicerIP>:8080/cart/add?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

cart/submit?

接口說明

提交購物車商品

URL?

http://<ServicerIP>:8080/cart/submit?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

5.2.3訂單中心

本系統(tǒng)訂單中心主要有提交訂單,取消訂單,地址管理等接口,其調(diào)用的接口名稱如表5-3所示。

表5-3訂單中心接口信息

接口名稱

order/submitOrder?

接口說明

提交訂單

URL?

http://<ServicerIP>:8080/order/submitOrder?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

?

order/confirm?

接口說明

訂單確認

URL?

http://<ServicerIP>:8080/order/confirm?

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

?

order/cancel?

接口說明

訂單取消

URL?

http://<ServicerIP>:8080/order/cancel

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

order/getOrderById?

接口說明

根據(jù)id獲取訂單

URL?

http://<ServicerIP>:8080/order/getOrderById?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

order/getOrderList?

接口說明

根據(jù)訂單狀態(tài)獲取訂單列表

URL?

http://<ServicerIP>:8080/order/getOrderList

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

shipAddress/add?

接口說明

添加收貨地址

URL?

http://<ServicerIP>:8080/shipAddress/add?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

shipAddress/delete?

接口說明

刪除收貨地址

URL?

http://<ServicerIP>:8080/shipAddress/delete

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

shipAddress/modify?

接口說明

修改收貨地址

URL?

http://<ServicerIP>:8080/shipAddress/modify?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

shipAddress/getList?

接口說明

獲得收貨地址列表

URL

http://<ServicerIP>:8080/shipAddress/getList?

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

5.2.4支付中心

本系統(tǒng)支付中心主要提供支付寶支付功能和刷新訂單狀態(tài)兩個接口,其調(diào)用的接口名稱如表5-4所示。

表5-4支付中心接口

接口名稱

pay/getPaySign?

接口說明

獲取支付寶簽名

URL?

http://<ServicerIP>:8080/pay/getPaySign?

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

接口名稱

order/pay?

接口說明

刷新訂單狀態(tài)

URL?

http://<ServicerIP>:8080/order/pay?

請求方式

POST?

Request信息

id?

??

返回結(jié)果

0:失敗? 1:成功

??

5.2.5消息中心

本系統(tǒng)主要提供消息列表展示接口,其調(diào)用的接口名稱如表5-5所示。

表5-5消息列表接口

接口名稱

msg/getList?

接口說明

獲取通知列表

URL?

http://<ServicerIP>:8080/msg/getList

請求方式

POST?

Request信息

??

返回結(jié)果

0:失敗? 1:成功

??

?

5.3?系統(tǒng)功能模塊設(shè)計與實現(xiàn)

詳細設(shè)計是軟件開發(fā)生命周期中不可或缺的一部分,該階段主要對各個模塊詳細的功能點進行實現(xiàn)。

上文中提到有Provider模塊,在此模塊中定義了業(yè)務(wù)層的會讓你多公共工具類和常量。在RouterPath.kt中定義了用戶模塊、訂單模塊、支付模塊、消息模塊的模塊路由。Provider結(jié)構(gòu)如圖5-3所示。

圖5-3 Provider模塊結(jié)構(gòu)

5.3.1 用戶中心模塊

用戶中心模塊在UserCenter模塊中進行實現(xiàn),模塊內(nèi)部結(jié)構(gòu)如圖5-4所示。

圖5-4 UserCenter模塊結(jié)構(gòu)圖

1.用戶登錄功能

登錄界面由類LoginActivity.kt來實現(xiàn),對應(yīng)的布局是activity_login.xml。實現(xiàn)的界面如圖5-5所示。

圖5-5 登錄界面

在RouterPath.kt中已經(jīng)定義用戶登錄模塊路由,代碼實現(xiàn)如圖5-6所示。

圖5-6 用戶模塊路由

實現(xiàn)登錄發(fā)關(guān)鍵代碼如圖5-7所示。

圖5-7 登錄代碼實現(xiàn)

2.用戶注冊功能

注冊功能由類RegisterActivity.kt實現(xiàn),關(guān)聯(lián)的布局文件為activity_register.xml,實現(xiàn)的界面如圖5-8所示。

圖5-8 注冊界面

在注冊界面需要輸入手機號、驗證碼和密碼進行注冊,點擊注冊后將調(diào)用UserApi.kt接口下的regidter()方法完成注冊。主要業(yè)務(wù)代碼如圖5-9所示。

圖5-9 注冊代碼實現(xiàn)

5.3.2 商品中心模塊

商品中心頁面主要分為首頁,分類頁,搜索頁,購物車。

1.首頁

用戶登錄成功后,即進入首頁。首頁的實現(xiàn)類及布局在App主程序模塊中實現(xiàn),結(jié)構(gòu)如圖5-10所示。

圖5-10 App主程序模塊結(jié)構(gòu)

主要實現(xiàn)類是HomeFragment.kt,所關(guān)聯(lián)的布局文件是fragment_home.xml。實現(xiàn)頁面如圖5-11所示。

圖5-11 首頁展示

所使用的圖片均來自云存儲(本系統(tǒng)使用七牛云),減少了本地內(nèi)存,而且方便更新商品。在MainConstant.kt中定義了每張圖片的路徑。

2.分類頁:

分類頁主要通過Adapter適配器,引入item來實現(xiàn)動態(tài)展示數(shù)據(jù)的功能。分類頁面如圖5-12所示。

圖5-12 分類頁面

3.搜索頁面

搜索頁面主要通過SearchGoodsActivity.kt進行搜索后動態(tài)展示商品列表,關(guān)聯(lián)的布局文件為activity_search_goods.xml。比如搜索"電腦"關(guān)鍵字,出現(xiàn)如圖5-13所示結(jié)果。

圖5-13 搜索頁面

在SearchGoodsActivity.kt中將關(guān)鍵字傳至服務(wù)器,服務(wù)器將篩選出來的商品回顯到前臺,關(guān)鍵代碼如圖5-14所示。

圖5-14 搜索代碼實現(xiàn)

4.購物車頁面:

購物車頁面由CartActivity.kt實現(xiàn),關(guān)聯(lián)的布局為activity_cart.xml,只是Fragment一個殼,數(shù)據(jù)需要從服務(wù)器動態(tài)獲取。界面如圖5-15所示。

圖5-15 購物車實現(xiàn)頁面

數(shù)據(jù)只需要從服務(wù)器獲取即可。

5.3.3 訂單中心模塊

訂單中心包括兩部分:訂單管理和地址管理。

  • 訂單管理
  • 訂單管理在OrderCenter模塊中,其模塊結(jié)構(gòu)如圖5-16所示。

    圖5-16 OrderCenter模塊結(jié)構(gòu)

    主要通過OrderActivity.kt(訂單展示頁),OrderConfirmActivity.kt(訂單確認頁), OrderDetailActivity.kt(訂單詳情頁)管理整個訂單業(yè)務(wù)涉及的頁面,關(guān)聯(lián)的布局文件分別為activity_order. xml,activity_order_confirm. xml和activity_order_detail.xml。所實現(xiàn)的頁面如圖5-17所示。

    圖5-17訂單基本頁面(左),訂單確認界面(中),訂單詳情頁面(右)

    訂單模塊是由服務(wù)器提供數(shù)據(jù)動態(tài)加載布局,若練完失敗或服務(wù)器沒有開啟,則不能看到訂單頁面。

    訂單基礎(chǔ)頁面業(yè)務(wù)邏輯關(guān)鍵代碼如圖5-18所示。

    圖5-18 訂單基礎(chǔ)頁面回顯代碼

  • 地址管理
  • 地址管理主要通過ShipAddressActivity.kt實現(xiàn),關(guān)聯(lián)的布局文件為activity_address.xml,其實現(xiàn)結(jié)果如圖5-19所示。

    圖5-19 地址管理界面

    5.3.4 支付中心模塊

    支付模塊在PaySDK模塊下實現(xiàn),模塊結(jié)構(gòu)如圖5-20所示。

    圖5-20 PaySDK模塊結(jié)構(gòu)

    主要由CashRegisterActivity.kt來實現(xiàn),關(guān)聯(lián)的布局文件是activity_cash_register.xml。實現(xiàn)的支付界面如圖5-21所示。

    圖5-21 支付頁面(左)沙箱環(huán)境默認頁面(右)

    本系統(tǒng)使用沙箱環(huán)境進行模擬支付,其主要代碼如圖5-22所示。

    圖5-22沙箱配置環(huán)境關(guān)鍵代碼

    5.3.5 消息中心模塊

    消息中心主要在MessageCenter模塊中實現(xiàn),模塊結(jié)構(gòu)如圖5-23所示。

    圖5-23 Message Center模塊結(jié)構(gòu)

    由MessageAdapter.kt實現(xiàn)此功能,關(guān)聯(lián)的布局文件有兩個,一個是消息容器布局layout_message_item.xml,另一個是消息頁面是fragment_message.xml。實現(xiàn)界面如圖5-24所示。

    圖5-24 消息頁面實現(xiàn)頁

    將通過以下代碼,把系統(tǒng)發(fā)布的通知以列表的形式展示出來.代碼實現(xiàn)如圖5-25所示。

    圖5-25 消息回調(diào)函數(shù)

    5.4 CBIR簡單算法實現(xiàn)

    CBIR分為三個層次:

    1.依據(jù)提取圖像本身的顏色、形狀、紋理等低層特征進行檢索;

    2.基于圖像的低層特征,通過識別圖像中的對象類別及對象間的空間拓撲關(guān)系進行檢索;

    3.基于圖像抽象屬性的推理學(xué)習(xí)進行檢索。

    本文研究了基于CBIR算法在第一層次的簡單算法實現(xiàn),實現(xiàn)過程如下:

    第一步,縮小尺寸。在進行哈希運算時,不同圖片會因為個圖片像素不同帶來尺寸的差異,而影響圖像內(nèi)容的匹配。代碼如圖5-26所示。

    圖5-26縮小尺寸代碼實現(xiàn)

    第二步,簡化色彩。不同的顏色會帶來哈希值的不同,因為電子商品的搜索是按照形狀等進行搜索,而不是通過顏色進行匹配。代碼如圖5-27所示。

    圖5-27簡化色彩代碼實現(xiàn)

    第三步,計算平均值,作為灰度的對比線,使用此標準進行灰度分類。代碼實現(xiàn)如圖5-28所示。

    圖5-28計算數(shù)組平均值代碼實現(xiàn)

    第四步,計算圖片指紋。使用每個像素的灰度與平均值進行對比。通過灰度和平均值的關(guān)系來確定圖片的指紋。本系統(tǒng)將灰度大于或等于平均值,記為1;灰度小于平均值,記為0。代碼如圖5-29所示。

    圖5-29比較像素的灰度代碼實現(xiàn)

    第五步,計算哈希值。本系統(tǒng)將圖片壓縮為8x8d大小,所以有64個像素,生成64個數(shù)字,將64個數(shù)字進行組合,就構(gòu)成了一張圖片的指紋,也就是哈希值。要保持每張圖片的指紋組合順序保持一致代碼如圖5-30所示。

    圖5-30計算哈希值代碼實現(xiàn)

    第六步,進行匹配。上一步獲得每張圖片的指紋,美國人指紋都是由64為0和1進行組合的,計算兩張圖片者64位由多少位不同,即產(chǎn)生"漢明距離",然后根據(jù)漢明距離的大小進行判斷。漢明距離越小,說明兩張圖片越相似。代碼實現(xiàn)如圖5-31所示。

    圖5-31計算漢明距離

    對比圖片對比后返回結(jié)果實現(xiàn)代碼如圖5-32所示。

    圖5-32使用漢明距離判斷圖片相似度

    ?

    第六章 系統(tǒng)測試????

    6.1 測試方法介紹

    本系統(tǒng)主要使用黑盒測試方法,也就是功能測試,對系統(tǒng)整體或部分功能進行測試,主要關(guān)注軟件的功能是否實現(xiàn),而不關(guān)心其中的內(nèi)部邏輯。在測試過程中,軟件的內(nèi)部結(jié)構(gòu)是不可見的,主要根據(jù)其規(guī)格進行測試,驗證其與規(guī)格的一致性。

    6.2測試過程

    6.2.1 用戶中心模塊測試

    用戶模塊主要測試注冊和登錄頁面及功能,測試用例如表6-1所示。

    表6-1 用戶模塊測試用例

    項目

    內(nèi)容

    測試用例編號

    T-USER01

    測試用例名稱

    用戶中心測試

    目的

    測試用戶注冊是否成功,用戶登錄是否成功,修改信息是否成功

    測試用例級別

    功能性測試

    測試流程

    1.進入"我的",點擊左上角"登錄/注冊"按鈕進入登錄界面

    2.點擊右上角"注冊"按鈕進入注冊界面

    3.輸入手機號點擊"獲取驗證碼",輸入驗證碼,密碼和確認密碼,點擊注冊

    4.返回到登錄按鈕輸入手機號和密碼進行登錄

    5.登錄成功自動跳轉(zhuǎn)"我的"頁面

    6.點擊頭像進入個人信息編輯頁面

    7.點擊頭像選擇本地圖片,輸入昵稱,選擇性別,設(shè)置個性簽名后點擊右上角"保存"按鈕

    7.點擊忘記密碼,輸入正確的手機驗證碼后重新設(shè)置密碼

    預(yù)期結(jié)果

    1. 進入"我的",點擊左上角"登錄/注冊"按鈕進入登錄界面

    2.點擊右上角"注冊"按鈕進入注冊界面

    3.點擊"注冊"提示注冊成功

    4.點擊"登錄"后登錄成功

    5. 登錄成功自動跳轉(zhuǎn)"我的"頁面

    6.點擊頭像進入個人信息編輯頁面

    7.點擊"保存"按鈕后提示"保存成功"

    8.修改密碼成功后提示修改密碼成功

    結(jié)論

    通過

  • 注冊測試過程
  • 注冊成功后,提示"注冊成功",如6-1所示;如果賬號已注冊,提示"該賬號已注冊",如圖6-2所示。

    圖6-1 注冊成功測試成功展示

    圖6-2 賬號已被注冊測試展示

    在數(shù)據(jù)庫中可以看到已經(jīng)注冊的賬號信息,如圖6-3所示。

    圖6-3 數(shù)據(jù)庫賬戶信息

  • 登錄測試過程
  • 在登錄界面輸入手機號和密碼,如果輸入正確,則提示"登錄成功",并跳轉(zhuǎn)到個人中心頁面;如果輸入的用戶名并未注冊,則提示"用戶不存在";如果輸入密碼錯誤,則提示"密碼錯誤"。測試效果如圖6-4、6-5、6-6所示。

    圖6-4 登錄成功展示

    ?

    圖6-5 用戶不存在展示

    圖6-6 密碼錯誤展示

  • 修改個人信息測試過程
  • 進入個人信息界面進行修改信息,修改完成后點擊保存,保存成功會提示"修改成功",測試展示如圖6-7所示。

    圖6-7 修改信息測試

    數(shù)據(jù)庫的數(shù)據(jù)將會發(fā)生改變,如圖6-8所示。

    圖6-8 數(shù)據(jù)庫修改信息展示

  • 重置密碼測試過程
  • 點擊忘記密碼按鈕,輸入正確的驗證碼后可進行重置密碼。輸入兩次密碼,密碼一致時修改成功,跳轉(zhuǎn)至登錄界面;密碼不一致時提示"密碼不一致"。效果如圖6-9,6-10所示。

    圖6-9 密碼重置成功展示

    圖6-10密碼不一致展示頁面

    6.2.2 商品模塊測試

    商品模塊測試主要測試首頁商品展示,分類頁面展示,搜索功能及商品展示,商品詳情頁及SKU信息選取,購物車功能測試。

    1.首頁商品展示

    進入系統(tǒng)見到的第一個頁面,數(shù)據(jù)均來自網(wǎng)頁,可正常展示數(shù)據(jù)。

    2.分類頁面測試

    主要測試類別展示、分類展示圖片功能,其測試用例如表6-2所示:

    表6-2 分類頁面測試用例

    項目

    內(nèi)容

    測試用例編號

    T-CATEGORY01

    測試用例名稱

    分類頁面測試

    目的

    展示類別和分來展示商品

    測試用例級別

    功能性測試

    測試流程

    1.點擊底部導(dǎo)航欄"分類"按鈕進入分類頁面

    2.點擊左側(cè)類別,右側(cè)顯示此類中的各個商品

    預(yù)期結(jié)果

    1. 點擊底部導(dǎo)航欄"分類"按鈕成功進入分類頁面

    2.點擊左側(cè)類別,成功顯示相應(yīng)商品

    結(jié)論

    通過

    分類頁面測試效果圖如圖6-11所示。

    圖6-11分類測試展示

    3.搜索功能測試

    主要測試關(guān)鍵字搜索功能,其測試用例如表6-3所示。

    表6-3 搜索測試用例

    項目

    內(nèi)容

    測試用例編號

    T-SEARCH01

    測試用例名稱

    搜索功能測試

    目的

    通過關(guān)鍵字進行搜索并展示相關(guān)商品

    測試用例級別

    功能性測試

    測試流程

    1.點擊首頁頂部搜索框

    2.輸入關(guān)鍵詞后點擊右側(cè)"搜索"按鈕跳轉(zhuǎn)結(jié)果頁面

    3.搜索結(jié)果以兩列瀑布流的形式展示

    預(yù)期結(jié)果

    1.點擊首頁頂部搜索框,成功跳轉(zhuǎn)至輸入界面

    2.輸入關(guān)鍵詞后點擊右側(cè)"搜索"按鈕成功跳轉(zhuǎn)結(jié)果頁面

    ?

    3.搜索結(jié)果成功以兩列瀑布流的形式展示

    結(jié)論

    通過

    在搜索框搜索"電腦"后,顯示效果如圖6-12所示。

    圖6-12 搜索"電腦"結(jié)果圖

    4.商品詳情頁測試

    主要測試商品詳情展示情況和商品規(guī)格選擇情況,其測試用例如表6-4所示:

    表6-4商品詳情測試用例

    項目

    內(nèi)容

    測試用例編號

    T-DETAIL01

    測試用例名稱

    商品詳情測試

    目的

    測試商品詳情展示情況及SKU選擇情況

    測試用例級別

    功能性測試

    測試流程

    1.在搜索出的商品或分類商品中點擊商品進入詳情頁面

    2.在詳情頁面點擊規(guī)格選擇框進行SKU選擇

    3.右劃進入商品詳情介紹

    預(yù)期結(jié)果

    1.在搜索出的商品或分類商品中點擊商品進入詳情頁面

    2.在詳情頁面點擊規(guī)格選擇框進行SKU選擇

    ?

    3.右劃進入商品詳情介紹,顯示相關(guān)圖片

    結(jié)論

    通過

    商品詳情頁分為商品詳情和商品介紹,在商品詳情可選擇商品SKU信息。商品詳情測試效果如圖6-12所示。

    圖6-13 商品詳情頁測試效果

    5.購物車測試

    主要測試購物車的添加、刪除、編輯、結(jié)算等功能,其測試用例如表6-5所示:

    表6-5 購物車測試用例

    項目

    內(nèi)容

    測試用例編號

    T-CAR01

    測試用例名稱

    購物車測試

    目的

    測試購物車的添加、刪除、編輯、結(jié)算等功能

    測試用例級別

    功能性測試

    測試流程

    1.在商品詳情頁面點擊右下角"加入購物車"

    2.點擊底部中間按鈕可進入購物車頁面

    3.點擊商品右側(cè)"+"或"-"可邊界商品購買數(shù)量,下面的總價會根絕商品數(shù)量和多選情況進行計算

    預(yù)期結(jié)果

    1.在商品詳情頁面點擊右下角"加入購物車",可看到購物車圖標數(shù)量提示

    2.點擊底部中間按鈕可成功跳轉(zhuǎn)購物車頁面

    ?

    3.點擊商品右側(cè)"+"或"-"可邊界商品購買數(shù)量,下面的總價會根絕商品數(shù)量和多選情況進行計算

    結(jié)論

    通過

    在購物車中選擇電腦一個,手機4個,全選后如圖6-14所示。

    圖6-14 購物車測試頁面

    6.2.3 訂單模塊測試

    訂單模塊主要測試訂單狀態(tài)管理、取消訂單等功能其測試用例如表6-6所示:

    表6-6 訂單測試用例

    項目

    內(nèi)容

    測試用例編號

    T-ORDER01

    測試用例名稱

    訂單測試

    目的

    測試訂單狀態(tài)變化以及取消訂單功能

    測試用例級別

    功能性測試

    測試流程

    1.在購物車中點擊"結(jié)算"跳轉(zhuǎn)提交訂單頁面

    2.在提交訂單頁面選擇收貨地址,點擊提交訂單,跳轉(zhuǎn)支付頁面,同時生成訂單

    3.點擊立即支付跳轉(zhuǎn)至沙箱模擬支付系統(tǒng)

    4.輸入相關(guān)信息進行支付

    5.在待收貨訂單中點擊確認收貨,訂單完成

    6.在訂單條目下面點擊取消訂單

    預(yù)期結(jié)果

    1.在購物車中點擊"結(jié)算"成功跳轉(zhuǎn)提交訂單頁面

    2.在提交訂單頁面選擇收貨地址,點擊提交訂單,跳轉(zhuǎn)支付頁面,同時生成訂單,處于待付款狀態(tài)

    3.點擊立即支付跳轉(zhuǎn)至沙箱模擬支付系統(tǒng)

    4.輸入相關(guān)信息進行支付,支付成功后處于待收貨狀態(tài)

    5.在待收貨訂單中點擊確認收貨,訂單完成,處于已完成狀態(tài)

    16.在訂單條目下面點擊取消訂單,處于已取消狀態(tài)

    結(jié)論

    通過

    根據(jù)付款和收貨狀態(tài)可以改變訂單的狀態(tài),效果圖如6-15和6-16所示。

    圖6-15 訂單狀態(tài)測試1

    圖6-16 訂單狀態(tài)測試2

    6.2.4 支付模塊測試

    由于支付寶關(guān)閉個人申請支付接口,所以現(xiàn)在使用沙箱環(huán)境進行模擬支付。相關(guān)測試已在訂單測試中體現(xiàn)。測試效果如圖6-17所示。

    圖6-17 沙箱測試支付功能

    6.2.5 消息模塊測試

    消息模塊主要測試系統(tǒng)給用戶發(fā)送的消息,其測試用例如表6-7所示:

    表6-7 消息模塊測試用例

    項目

    內(nèi)容

    測試用例編號

    T-MESSAGE01

    測試用例名稱

    消息測試

    目的

    系統(tǒng)能正常根據(jù)用戶操作提供消息

    測試用例級別

    功能性測試

    測試流程

    1.在主頁點擊底部導(dǎo)航欄的"消息"按鈕

    2.用戶登錄、下單等信息在此頁面內(nèi)顯示

    預(yù)期結(jié)果

    1.在主頁點擊底部導(dǎo)航欄的"消息"按鈕

    2.用戶登錄、下單等信息在此頁面內(nèi)成功顯示

    結(jié)論

    通過

    系統(tǒng)會用戶登錄、購買等操作發(fā)送通知,在消息模塊可以查看。測試效果如圖6-18所示。

    圖6-18 消息測試展示

    6.3測試結(jié)論

    通過黑盒測試,"易圖購"App基本功能都符合規(guī)格,與預(yù)期結(jié)果一致,系統(tǒng)功能完善,符合需求分析階段的要求。測試重點在于用戶注冊、登錄,瀏覽、購買商品,提交訂單功能和支付功能,以上功能均可實現(xiàn),滿足用戶的購物基本要求,其中支付功能由于支付寶未向個人用戶提供支付結(jié)構(gòu),本系統(tǒng)使用支付寶提供的沙箱環(huán)境進行模擬支付,在沙箱環(huán)境中可完成支付功能。其他功能如購物車功能,搜索功能等均通過測試。圖像搜索算法已在后臺基本實現(xiàn),但前端與后臺數(shù)據(jù)交互不夠完善,圖片上傳功能有待改善。

    第七章 總結(jié)與展望

    7.1 總結(jié)

    本系統(tǒng)基于Android使用Kotlin,采用MVP架構(gòu)進行前端平臺開發(fā),使用Spring + MyBatis框架實現(xiàn)服務(wù)器功能。本系統(tǒng)通過Kotlin-Android- Extensions、RxAndroid和RxKotlin進行MVP配置,使用Anko和Dagger2進行框架配置,使用模塊化思想解耦,最終組裝業(yè)務(wù)模塊實現(xiàn)完整系統(tǒng)。

    本系統(tǒng)主要實現(xiàn)了用戶登錄、注冊和編輯信息功能,商品查詢、搜索、分類和加入購物車功能,訂單狀態(tài)提醒,添加收貨人信息功能,支付功能,消息提示功能。主要研究了基于內(nèi)容的圖像檢索算法實現(xiàn)相似產(chǎn)品匹配和基于百度地圖進行地圖搜索實體店的核心功能。本系統(tǒng)通過黑盒測試,基本功能符合規(guī)格。同時,圖片搜索和地理位置功能有待優(yōu)化。

    7.2 展望

    通過測試發(fā)現(xiàn),本系統(tǒng)有以下功能需要進行添加和完善。

    相似商品匹配功能沒有實現(xiàn)較完善的前后端數(shù)據(jù)交互。擬在后期完善前后臺交互功能,實現(xiàn)流暢的信息傳輸。在算法實現(xiàn)方面,算法較簡單,處理結(jié)果慢,時間復(fù)雜度高,而且通過哈希值方法準確性不高。擬在后期通過Tamura 紋理分析法、小波變換或LBP(局部二值模式,Local Binary Patterns)提取紋理以匹配更加準確的結(jié)果。

    地圖搜索功能沒有完全實現(xiàn),擬在后期將通過百度地圖Android地圖SDK,通過AccessKey調(diào)用百度地圖,在此基礎(chǔ)上完成搜索商店的功能。

    附 錄

    關(guān)于"易圖購"App的調(diào)查問卷

    尊敬的各位用戶:

    您好!首先感謝您參與本問卷的填答!我正在進行數(shù)碼商城App的調(diào)研,很想了解您在這方面的想法。您的意見對我們的工作十分重要,請各位業(yè)主認真填寫以下問卷。本次問卷調(diào)查活動采用無記名的方式,所有個人信息資料我們都將為您保密,謝謝!

    Q1:您的年齡:

    ○?25歲以下

    ○?26-35歲

    ○?36-50歲

    ○?51歲以上

    Q2:您的性別:

    ○?男

    ○?女

    Q3:你經(jīng)常在網(wǎng)上購買電子商品嗎?

    ○?經(jīng)常

    ○?一般

    ○?從不

    Q4:你喜歡在電腦網(wǎng)頁上購物還是喜歡用手機上網(wǎng)購物?

    ○?電腦

    ○?比較差

    ○?手機

    Q5:你一般花多長時間瀏覽購物類網(wǎng)站和購買?

    ○?30分鐘以下

    ○?30分鐘-1小時

    ○?1小時-2小時

    ○?兩小時以上

    Q6:您認為系統(tǒng)最應(yīng)當(dāng)提供的功能包括?

    □?關(guān)鍵字搜索商品

    □?圖片搜索商品

    □?商品分類展示

    □?用戶操作消息推送

    □?搜索商品實體店

    □?其他:

    ?

    Q7:您感覺電子商品搜索功能重要嗎?

    ○?很大

    ○?一般

    ○?不是很重要

    Q8:您對搜索出來的電子商品滿意嗎?

    ○?非常滿意

    ○?滿意

    ○?一般

    ○?不滿意

    ○?很不滿意

    Q9:您認為有必要使用一個專門售賣電子商品的購物App嗎?

    ○?需要

    ○?不需要

    ○?無所謂

    Q10:您希望通過圖片來進行搜索商品嗎?

    ○?非常希望

    ○?希望

    ○?無所謂

    Q11:您認為以下哪幾種商品需要通過圖片來進行搜索更加方便?

    □?鼠標

    □?電腦

    □?平板

    □?手機

    □?耳機

    □?黑科技

    □?音響

    □?AI機器人

    ?

    ?

    ?

    參 考 文 獻

    [1] 劉娜.我國網(wǎng)絡(luò)購物的發(fā)展及現(xiàn)狀[J].中國商界, 2008,(5X):44-46.

    [2] 黃俊萍. 基于 iOS 的購物類電子商務(wù)APP的研究與設(shè)計[D]. 閩南理工學(xué)院, 2017.

    [3] 劉均前. 基于Android的"易都行"在線購物商城系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京交通大學(xué), 2018.

    [4] 李峰. Android平臺下基于地理置信息的購物系統(tǒng)的設(shè)計與實現(xiàn)[D]. 南京郵電大學(xué), 2017.

    [5] 劉蓬. 基于 Android 平臺移動購物系統(tǒng)的設(shè)計與實現(xiàn)[J].信息與電腦(理論版),2017,(24): 40.

    [6]黃俊萍. 基于iOS的購物類電子商務(wù)App的研究與設(shè)計[J].齊齊哈爾大學(xué)學(xué)報,2017,33(6): 33-35.

    [7] 李雪蓮.基于Android混合開發(fā)模式的網(wǎng)上購物系統(tǒng)的設(shè)計與實現(xiàn)[J].電子設(shè)計工程, 2018, 26(05):17-21.

    [8] 戶磊.基于移動商品搜索的研究與實現(xiàn)[D].西南交通大學(xué),2014.

    [9] 疏斌,陳隆耀. 以圖搜圖技術(shù)的發(fā)展及應(yīng)用探究[D].吉林大學(xué),2017.

    [10] 晉杰.基于多特征融合的服裝圖片檢索關(guān)鍵技術(shù)研究[D].昆明理工大學(xué),2017.

    [11] Jrgensen C., Jrgensen P. Image Querying by Image Professionals[J]. Journal of the American Society for Information Science and Technology, 2005, 56(12): 1346-1359.

    [12] 戴澤華,路志爽,張連連,秦景. 基于內(nèi)容的圖像檢索算法研究[J]. 河北建筑工程學(xué)院學(xué)報, 2018, 36(2):117-121.

    ?

    致 謝

    本設(shè)計是在**老師的悉心指導(dǎo)和嚴格要求下得以完成的,從課題選取、方案論證到具體設(shè)計和調(diào)試,無不凝聚著老師的心血和汗水,在四年的本科學(xué)習(xí)和生活期間,也始終感受著導(dǎo)師的精心指導(dǎo)和無私的關(guān)懷,我受益匪淺。在此向**老師表示深深的感謝和崇高的敬意。

    不積跬步何以至千里,本設(shè)計能夠順利的完成,也歸功于各位任課老師的認真負責(zé),使我能夠很好的掌握和運用專業(yè)知識,并在設(shè)計中得以體現(xiàn)。正是有了他們的悉心幫忙和支持,才使我的畢業(yè)論文順利完成,在此向我的任課老師以及信息工程學(xué)院的所有老師表示由衷的謝意,感謝他們四年來的辛勤栽培。

    四年時光一晃而過,讓我成長了許多,成長的背后離不開父母對我的支持和同學(xué)們對我的幫助,在此感謝父母對我的培養(yǎng)和指導(dǎo),感謝同學(xué)們的美好陪伴,愿我們的友誼地久天長。感謝所有幫助過、關(guān)心過我的人們!

    ?

    總結(jié)

    以上是生活随笔為你收集整理的“易图购”数码商城App设计与实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。