董 瑤 劉 斌 戚曉薇
(1、陜西科技大學(xué) 電子信息與人工智能學(xué)院,陜西 西安710021 2、陜西科技大學(xué) 馬克思主義學(xué)院,陜西 西安710021)
21 世紀(jì)以來,作為一種新型的經(jīng)營模式,電子商務(wù)得到了長足的發(fā)展,現(xiàn)在的人們已經(jīng)離不開網(wǎng)絡(luò)購物的方式[1]。電子商務(wù)這一新興的商務(wù)模式以其便捷、數(shù)據(jù)化、低成本的優(yōu)點極大的改變了我們的生活。在中國,網(wǎng)購已經(jīng)具有良好的消費(fèi)者基礎(chǔ)。
武功縣手工粗布是非常優(yōu)秀的傳統(tǒng)手工藝品,具有吸汗透氣、舒適止癢、抗靜電等優(yōu)點,但是根據(jù)調(diào)查目前大部分武功縣粗布的銷售還處在一個自產(chǎn)自銷的階段,沒有一個好的平臺搭建起買家和賣家的橋梁。所以,為了拓展武功縣粗布的市場空間,促進(jìn)粗布產(chǎn)業(yè)的發(fā)展,我們將武功縣粗布這一民間手工布藝產(chǎn)品和電子商務(wù)相結(jié)合,設(shè)計開發(fā)了武功縣粗布電商平臺。
1.1 開發(fā)工具。武功縣粗布平臺的開發(fā)主要使用了IDEA、Maven、Git 等開發(fā)工具[2]。
常用的關(guān)系型數(shù)據(jù)庫有MySql、SqlServer、oracle[3]。我們采用MySql 數(shù)據(jù)庫,相對于oracle 它是輕量級數(shù)據(jù)庫,硬件要求小。
Tomcat 服務(wù)器是一個開放源代碼的Web 應(yīng)用服務(wù)器,具有處理HTML 頁面的功能[4],我們采用的是spring boot 默認(rèn)的內(nèi)嵌容器tomcat,在使用的時候只需要在SpringBoot 配置文件里設(shè)置端口和上下文路徑即可。
pache Solr 是一個流行的開源搜索服務(wù)器[5],它建立在Lucene(全文搜索引擎)之上。通過使用類似REST 的HTTP API,確保能在任何編程語言中使用Solr。
1.2 主要技術(shù)。武功縣粗布電商平臺使用了Java 語言編寫,主要使用了SpringBoot 框架,內(nèi)部集成了SSM(Spring、SpringtMVC、Mybatis)框架,后端使用MVC 模式,使用Maven 管理項目依賴,HTML 頁面技術(shù)展示信息,AngualrJs 和Jquery 來發(fā)送HTTP 請求和動態(tài)渲染頁面,前臺使用了MVC 模式。
2.1 系統(tǒng)總體設(shè)計。本系統(tǒng)采用了MVC 設(shè)計模式,它分為三層:Model(模型)層、View(視圖)層和Controller(控制器)層[6]。
Model 封裝的是數(shù)據(jù)源和所有基于對這些數(shù)據(jù)的操作,View封裝的是對數(shù)據(jù)源Model 的一種顯示。一個模型可以有多個視圖,并且可以在需要的時候動態(tài)地渲染到相應(yīng)的視圖上。而一個視圖理論上也可以與不同的模型關(guān)聯(lián)起來。Controller 封裝的是外界作用于模型的操作。通常,這些操作會轉(zhuǎn)發(fā)到模型上,并調(diào)用模型中相應(yīng)的一個或者多個方法。一般Controller 在Model 和View 之間起到了溝通的作用,處理用戶在View 上的輸入,并轉(zhuǎn)發(fā)給Model 來更改其狀態(tài)值。這樣Model 和View 兩者之間可以做到松散耦合,甚至可以彼此不知道對方,而由Controller 連接起這兩個部分。
MVC 設(shè)計模式可以使程序中的每一層專注于自己的功能,減少了這三層之間的耦合性。同時提高了代碼重用率[7]。
2.2 功能模塊設(shè)計。武功粗布電商平臺設(shè)計為一個功能基本完整系統(tǒng)。電商平臺主要分為三個模塊:普通用戶模塊、商家模塊和運(yùn)營商模塊。詳細(xì)功能設(shè)計如圖1 所示。各模塊的主要功能有:
2.2.1 普通用戶模塊。用戶進(jìn)入系統(tǒng)之后可以進(jìn)行注冊、登錄、注銷、修改密碼。注冊的時候會有表單驗證,用戶名不能和別的用戶相同,輸入的兩次密碼要相同,后端處理的時候要對用戶密碼進(jìn)行加密。登錄的時候會將用戶的密碼加密之后再去數(shù)據(jù)庫里面查詢。用戶可以瀏覽商品并進(jìn)行多條件查詢,可以將商品加入購物車、查看購物車、購物車?yán)锊煌牡赇伒纳唐钒凑盏赇伔珠_展示。用戶也可以提交訂單,查看訂單。
2.2.2 商家模塊。商家可以通過商家入駐頁面申請入駐,入駐成功之后可以進(jìn)行商家信息的修改??梢蕴砑由唐贰⒐芾砩唐穼ι唐沸畔⑦M(jìn)行更改,包括商品詳細(xì)信息、價格、庫存等。
2.2.3 運(yùn)營商模塊。運(yùn)營商可以對申請入駐的商家進(jìn)行審核。對商品的一些基本屬性進(jìn)行管理,比如商品規(guī)格、規(guī)格模版、商品分類的管理,對商家上傳的商品進(jìn)行審核。
圖1 系統(tǒng)功能模塊圖
圖2 數(shù)據(jù)庫ER 圖
2.3 數(shù)據(jù)庫設(shè)計。系統(tǒng)的數(shù)據(jù)庫實體關(guān)系如圖2 所示。
主要數(shù)據(jù)庫表有:用戶信息表:主要字段有用戶名、密碼、用戶角色分為管理員和普通用戶。訂單主表:主要記錄了訂單的編號、用戶編號、店鋪的編號、訂單的狀態(tài)以及訂單總額。訂單項表:記錄訂單項的詳細(xì)信息,比如sku 編號、sku 標(biāo)題、購買的數(shù)量、訂單項總額。商品spu 表:記錄了商品的關(guān)鍵信息(不會影響庫存和價格的屬性),比如spu 編號、分類信息、商品名稱、模版編號、商品狀態(tài)表示是否刪除。由于一些商品的字段信息長度很長,所以單獨(dú)拆分為一個表,主要包括spu 編號、詳細(xì)介紹、規(guī)格集合、自定義屬性、包裝清單、售后服務(wù)等字段。商品類別表:記錄類別的父類編號、自身的名稱和編號以及模版編號。規(guī)格表:記錄規(guī)格的名稱。規(guī)格選項表:記錄具體的規(guī)格選項。商品規(guī)格模版表:將規(guī)格集合保存為一個模版。店鋪信息表:記錄店鋪的登錄名、密碼、以及店鋪的基本信息。
3.1 首頁。用戶登錄成功之后跳到主頁。主頁主要分為頭部、引用頁面head.html,里面有登錄入口、注冊入口、網(wǎng)站首頁入口、用戶主頁、運(yùn)營商后臺入口、商家后臺入口、網(wǎng)站logo、搜索欄、購物車入口、全部商品分類、首頁圖片輪播和首頁商品展示這幾部分。如圖3所示。
圖3 武功粗布電商平臺首頁
3.2 商品多條件搜索。搜索頁面有搜索欄,點擊搜索就會根據(jù)關(guān)鍵字去查詢,這時候會根據(jù)關(guān)鍵字展示出所有相關(guān)的商品分類,還有商品規(guī)格選項供用戶去篩選。還可以根據(jù)銷量進(jìn)行新品降序排序,按照價格升序或者降序排列,當(dāng)用戶點擊這些條件時,前臺就會構(gòu)造搜索對象去服務(wù)器查詢。搜索頁面的實現(xiàn)如圖4 所示。
系統(tǒng)測試是為了發(fā)現(xiàn)錯誤的執(zhí)行程序的過程,然后去修補(bǔ)缺陷。武功粗布電商平臺采用和白盒和墨盒兩種測試方法。
圖4 武功粗布電商平臺搜索頁面
其中白盒測試主要是接口測試。根據(jù)代碼的邏輯來設(shè)計測試用例,保證測試用例覆蓋到代碼的每一個分支,這種測試是最小規(guī)模的,主要查看代碼是否符合設(shè)計。
黑盒測試主要采用功能測試,查看系統(tǒng)是否符合需求設(shè)計。主要有:
4.1 頁面跳轉(zhuǎn)測試。用戶和Web 應(yīng)用系統(tǒng)之間的交互避免不了頁面跳轉(zhuǎn),測試頁面之間的跳轉(zhuǎn)邏輯是否正確;測試所有跳轉(zhuǎn)是否按設(shè)計的那樣確實跳轉(zhuǎn)到了相應(yīng)的頁面;測試所跳轉(zhuǎn)的頁面是否存在;保證Web 應(yīng)用系統(tǒng)上絕對沒有孤立的頁面,所說的孤立頁面就是指沒有鏈接可以跳向該頁面,只有通過正確的URL 地址才能訪問。
4.2 Cookie 測試。Cookie 通常用來保存用戶某些信息,當(dāng)一個用戶使用Cookie 訪問了Web 應(yīng)用系統(tǒng)時,Web 服務(wù)器將發(fā)送關(guān)于用戶的信息,把相關(guān)信息以Cookie 的形式發(fā)送至用戶端,這可以用來保存登錄信息或者購物車信息,保存JSESSIONID 用來和服務(wù)器的Session 通信。如果Web 應(yīng)用系統(tǒng)使用了Cookie,我們必須檢查Cookie 是否能按照設(shè)計的那樣正常工作,同時對這些信息已經(jīng)加密。測試的內(nèi)容可以包括Cookies 是否起作用,什么情況下Cookie會做出什么樣的改變,是否按照預(yù)期的那樣。
4.3 安全測試。查看用戶是否可以訪問自己權(quán)限之外的頁面。
通過測試發(fā)現(xiàn)系統(tǒng)存在一定的問題,經(jīng)過多次修改前臺頁面的代碼,最終系統(tǒng)已滿足以上要求,測試通過。
本文詳細(xì)介紹了武功縣粗布電商平臺設(shè)計和實現(xiàn)的過程,該平臺基本實現(xiàn)了武功粗布銷售和購買的功能,為粗布生產(chǎn)者提供了一個粗布銷售的平臺,同時也為消費(fèi)者提供了一個購買粗布的平臺。在電商行業(yè)蓬勃發(fā)展的今天,相信武功縣粗布電商平臺能夠搭建起粗布生產(chǎn)者與消費(fèi)者之間的橋梁,促進(jìn)武功縣粗布市場的發(fā)展。