董 瑤 劉 斌 戚曉薇
(1、陜西科技大學 電子信息與人工智能學院,陜西 西安710021 2、陜西科技大學 馬克思主義學院,陜西 西安710021)
21 世紀以來,作為一種新型的經營模式,電子商務得到了長足的發展,現在的人們已經離不開網絡購物的方式[1]。電子商務這一新興的商務模式以其便捷、數據化、低成本的優點極大的改變了我們的生活。在中國,網購已經具有良好的消費者基礎。
武功縣手工粗布是非常優秀的傳統手工藝品,具有吸汗透氣、舒適止癢、抗靜電等優點,但是根據調查目前大部分武功縣粗布的銷售還處在一個自產自銷的階段,沒有一個好的平臺搭建起買家和賣家的橋梁。所以,為了拓展武功縣粗布的市場空間,促進粗布產業的發展,我們將武功縣粗布這一民間手工布藝產品和電子商務相結合,設計開發了武功縣粗布電商平臺。
1.1 開發工具。武功縣粗布平臺的開發主要使用了IDEA、Maven、Git 等開發工具[2]。
常用的關系型數據庫有MySql、SqlServer、oracle[3]。我們采用MySql 數據庫,相對于oracle 它是輕量級數據庫,硬件要求小。
Tomcat 服務器是一個開放源代碼的Web 應用服務器,具有處理HTML 頁面的功能[4],我們采用的是spring boot 默認的內嵌容器tomcat,在使用的時候只需要在SpringBoot 配置文件里設置端口和上下文路徑即可。
pache Solr 是一個流行的開源搜索服務器[5],它建立在Lucene(全文搜索引擎)之上。通過使用類似REST 的HTTP API,確保能在任何編程語言中使用Solr。
1.2 主要技術。武功縣粗布電商平臺使用了Java 語言編寫,主要使用了SpringBoot 框架,內部集成了SSM(Spring、SpringtMVC、Mybatis)框架,后端使用MVC 模式,使用Maven 管理項目依賴,HTML 頁面技術展示信息,AngualrJs 和Jquery 來發送HTTP 請求和動態渲染頁面,前臺使用了MVC 模式。
2.1 系統總體設計。本系統采用了MVC 設計模式,它分為三層:Model(模型)層、View(視圖)層和Controller(控制器)層[6]。
Model 封裝的是數據源和所有基于對這些數據的操作,View封裝的是對數據源Model 的一種顯示。一個模型可以有多個視圖,并且可以在需要的時候動態地渲染到相應的視圖上。而一個視圖理論上也可以與不同的模型關聯起來。Controller 封裝的是外界作用于模型的操作。通常,這些操作會轉發到模型上,并調用模型中相應的一個或者多個方法。一般Controller 在Model 和View 之間起到了溝通的作用,處理用戶在View 上的輸入,并轉發給Model 來更改其狀態值。這樣Model 和View 兩者之間可以做到松散耦合,甚至可以彼此不知道對方,而由Controller 連接起這兩個部分。
MVC 設計模式可以使程序中的每一層專注于自己的功能,減少了這三層之間的耦合性。同時提高了代碼重用率[7]。
2.2 功能模塊設計。武功粗布電商平臺設計為一個功能基本完整系統。電商平臺主要分為三個模塊:普通用戶模塊、商家模塊和運營商模塊。詳細功能設計如圖1 所示。各模塊的主要功能有:
2.2.1 普通用戶模塊。用戶進入系統之后可以進行注冊、登錄、注銷、修改密碼。注冊的時候會有表單驗證,用戶名不能和別的用戶相同,輸入的兩次密碼要相同,后端處理的時候要對用戶密碼進行加密。登錄的時候會將用戶的密碼加密之后再去數據庫里面查詢。用戶可以瀏覽商品并進行多條件查詢,可以將商品加入購物車、查看購物車、購物車里不同的店鋪的商品按照店鋪分開展示。用戶也可以提交訂單,查看訂單。
2.2.2 商家模塊。商家可以通過商家入駐頁面申請入駐,入駐成功之后可以進行商家信息的修改。可以添加商品、管理商品對商品信息進行更改,包括商品詳細信息、價格、庫存等。
2.2.3 運營商模塊。運營商可以對申請入駐的商家進行審核。對商品的一些基本屬性進行管理,比如商品規格、規格模版、商品分類的管理,對商家上傳的商品進行審核。

圖1 系統功能模塊圖

圖2 數據庫ER 圖
2.3 數據庫設計。系統的數據庫實體關系如圖2 所示。
主要數據庫表有:用戶信息表:主要字段有用戶名、密碼、用戶角色分為管理員和普通用戶。訂單主表:主要記錄了訂單的編號、用戶編號、店鋪的編號、訂單的狀態以及訂單總額。訂單項表:記錄訂單項的詳細信息,比如sku 編號、sku 標題、購買的數量、訂單項總額。商品spu 表:記錄了商品的關鍵信息(不會影響庫存和價格的屬性),比如spu 編號、分類信息、商品名稱、模版編號、商品狀態表示是否刪除。由于一些商品的字段信息長度很長,所以單獨拆分為一個表,主要包括spu 編號、詳細介紹、規格集合、自定義屬性、包裝清單、售后服務等字段。商品類別表:記錄類別的父類編號、自身的名稱和編號以及模版編號。規格表:記錄規格的名稱。規格選項表:記錄具體的規格選項。商品規格模版表:將規格集合保存為一個模版。店鋪信息表:記錄店鋪的登錄名、密碼、以及店鋪的基本信息。
3.1 首頁。用戶登錄成功之后跳到主頁。主頁主要分為頭部、引用頁面head.html,里面有登錄入口、注冊入口、網站首頁入口、用戶主頁、運營商后臺入口、商家后臺入口、網站logo、搜索欄、購物車入口、全部商品分類、首頁圖片輪播和首頁商品展示這幾部分。如圖3所示。

圖3 武功粗布電商平臺首頁
3.2 商品多條件搜索。搜索頁面有搜索欄,點擊搜索就會根據關鍵字去查詢,這時候會根據關鍵字展示出所有相關的商品分類,還有商品規格選項供用戶去篩選。還可以根據銷量進行新品降序排序,按照價格升序或者降序排列,當用戶點擊這些條件時,前臺就會構造搜索對象去服務器查詢。搜索頁面的實現如圖4 所示。
系統測試是為了發現錯誤的執行程序的過程,然后去修補缺陷。武功粗布電商平臺采用和白盒和墨盒兩種測試方法。

圖4 武功粗布電商平臺搜索頁面
其中白盒測試主要是接口測試。根據代碼的邏輯來設計測試用例,保證測試用例覆蓋到代碼的每一個分支,這種測試是最小規模的,主要查看代碼是否符合設計。
黑盒測試主要采用功能測試,查看系統是否符合需求設計。主要有:
4.1 頁面跳轉測試。用戶和Web 應用系統之間的交互避免不了頁面跳轉,測試頁面之間的跳轉邏輯是否正確;測試所有跳轉是否按設計的那樣確實跳轉到了相應的頁面;測試所跳轉的頁面是否存在;保證Web 應用系統上絕對沒有孤立的頁面,所說的孤立頁面就是指沒有鏈接可以跳向該頁面,只有通過正確的URL 地址才能訪問。
4.2 Cookie 測試。Cookie 通常用來保存用戶某些信息,當一個用戶使用Cookie 訪問了Web 應用系統時,Web 服務器將發送關于用戶的信息,把相關信息以Cookie 的形式發送至用戶端,這可以用來保存登錄信息或者購物車信息,保存JSESSIONID 用來和服務器的Session 通信。如果Web 應用系統使用了Cookie,我們必須檢查Cookie 是否能按照設計的那樣正常工作,同時對這些信息已經加密。測試的內容可以包括Cookies 是否起作用,什么情況下Cookie會做出什么樣的改變,是否按照預期的那樣。
4.3 安全測試。查看用戶是否可以訪問自己權限之外的頁面。
通過測試發現系統存在一定的問題,經過多次修改前臺頁面的代碼,最終系統已滿足以上要求,測試通過。
本文詳細介紹了武功縣粗布電商平臺設計和實現的過程,該平臺基本實現了武功粗布銷售和購買的功能,為粗布生產者提供了一個粗布銷售的平臺,同時也為消費者提供了一個購買粗布的平臺。在電商行業蓬勃發展的今天,相信武功縣粗布電商平臺能夠搭建起粗布生產者與消費者之間的橋梁,促進武功縣粗布市場的發展。