一、概述
本批發平台是一個基於互聯網,采用B2C模式。本平台在開發設計過程中參考了國內現有的網上貨物批發平台,不但可以擴大商戶與生產商的收益,而且可以在預測中減少生產者銷售者及平台的風險,同時使三方受益。在本系統中,用戶可以進行資料修改、注冊,購物車管理等功能,管理員可以實現價格預測、用戶信息管理、商品管理等功能。在設計上,本平台采用B/S三層結構,在頁面設計上采用了現行主流的JSP技術,在考慮到安全性和代碼可重用性后,決定采用用JavaBean對程序的代碼進行封裝。在數據庫方面,選擇更為輕便且免費的Mysql數據庫。價格預測模塊采用多元線性回歸分析,從歷年各因素對價格影響出發,確定影響因子。
二、項目設計及開發方案
1.設計目標
本平台使用現行最為廣泛的的JSP+MYSQL架構,同時使用機器學習模型實現。本平台像大多數電商平台一樣,具有前端和后台。前端即具有良好交互操作的頁面,用戶可以在其中進行商品選購,商品查詢,賬戶服務,購物車服務等功能。后台即只有管理員可以訪問的頁面,管理員可以在其中進行商品添加,用戶管理,價格預測,分配采購等功能。本設計可以使得雙方更加便捷的進行操作,在提供給消費者方便的同時,也方便管理員維護商品的定價及廣告的投放,提高其效率。
2.設計規則
該平台也有一定的設計規則,其規則有:
(1) 實用性:該平台具有一般的電商平台的功能,同時具有價格預測功能,具有一定的實用性。
(2) 針對性:該平台針對批發定向設計,具有很強的針對性
(3) 簡單性:在實現批發功能的同時,也要使得用戶及管理員操作更加簡便。
3.開發技術的選擇
我們需要選擇最為合適的技術使得系統的開發更加的高效快速,同時作為信息技術初學者,我們所選用的技術應具有大量參考資源。
在進行比較之后,得出出JSP對於本批發平台更加合適,尤其它在安全性和跨平台性等方面有較其他兩種有明顯的優勢。所以,我決定選用基於Java的JSP作為本系統的開發技術。
4.系統平台主要架構及開發模式
使用什么樣的架構,對於一個系統來說是非常重要的。架構就好像一個系統的骨骼。參考現行的類似網絡商城的架構,我們決定采用B/S,一種基於瀏覽器的架構。其優勢在於可以充分的考慮和滿足大量的訪問與操作。同時,其作為現行主流技術,可有大量的參考資源。其原理在於使得大量的數據處理工作在服務器端進行處理,減輕了用戶端的負載,使得用戶只需要一個瀏覽器便可以在本平台進行一定的消費。在便於管理的同時,又方便了客戶。同時JAVA可以更好的處理后台,J2EE規范也更加使得開發流程清晰、安全,使得開發層次更為清晰
5.基於B/S的體系結構
B/S架構即瀏覽器和服務器架構模式,使伴隨着信息技術的發展,技術人員對C/S架構進行的改進之后的技術。在這種架構下,用戶只需要瀏覽器便可進行操作,極少部分事務在前端實現,主要事務邏輯在服務器端實現。
圖1.1 B/S三層架構示意圖
這種結構使得用戶僅需要極少的資源,便可進行高效率的訪問。使得其不需要高端的硬件設備,同時也不需要更新和維護自身的設備,僅需要高速的網絡便可進行一系列操作。服務器端承擔了幾乎所有的事務邏輯操作,使得客戶端十分“苗條輕便”,只考慮處理前端的交互事務,頁面的顯示部分,而將大量的計算負荷交予服務器。基本不需要維護客戶端,維護人員僅需要關注對於服務器端的更新和維護。
同時,這三層結構之間具有相互獨立性,這就大大降低了耦合性,使得維護更加方便。
6.基於MVC的應用開發模型
以往傳統的web系統里,開發人員經常把數據邏輯、業務邏輯、表示邏輯混合,不利於調試,也不具備可擴展性。在需要擴展時,不能依賴已經有的應用和代碼,只能重寫,非常的繁瑣,不符合現在網絡的高速性和實時性。而MVC恰好可以對這些弊端進行改變,具有很多優勢。
所以我們選擇了MVC模式,不僅可以具有更低的耦合性,即多層分離互不干擾,而且具有高重用性和可適用性。
圖1.2應用服務器之上采用MVC開發的邏輯示意圖
圖1.3 MVC業務流程示意圖
7.數據庫設計
本系統數據庫采用mysql數據庫,為之設計了如下表:
用戶消費信息數據表如表1-1所示:
表1-1用戶消費信息數據表
列名 |
數據類型 |
數據長度[字節] |
是否允許為空 |
鍵類型 |
id |
int |
0 |
否 |
主鍵 |
fid |
varchar |
20 |
否 |
|
username |
varchar |
20 |
否 |
|
pname |
varchar |
20 |
否 |
|
proprice |
double |
15 |
是 |
|
count |
int |
0 |
是 |
|
time |
varchar |
32 |
是 |
|
summoney |
double |
15 |
是 |
|
用戶信息表記錄了用戶的各類信息及注冊時間,用戶信息表如表1-2所示:
表1-2用戶信息數據表
列名 |
數據類型 |
數據長度[字節] |
是否允許為空 |
鍵類型 |
username |
varchar |
20 |
否 |
主鍵 |
password |
varchar |
20 |
否 |
|
|
varchar |
20 |
否 |
|
tel |
varchar |
20 |
是 |
|
address |
varchar |
20 |
是 |
|
sex |
varchar |
20 |
是 |
|
age |
int |
0 |
是 |
|
regtime |
varchar |
30 |
是 |
|
商品信息表記錄了商品的各類屬性,具體如表1-3所示:
表1-3商品信息數據表
列名 |
數據類型 |
數據長度[字節] |
是否允許為空 |
鍵類型 |
pid |
varchar |
20 |
否 |
主鍵 |
pname |
varchar |
20 |
否 |
|
price |
double |
15 |
否 |
|
pcount |
int |
0 |
是 |
|
imgpath |
varchar |
80 |
是 |
|
支付信息用來進行用戶支付核算,即記錄下單信息等,如表1-4所示:
表1-4支付信息數據表
列名 |
數據類型 |
數據長度[字節] |
是否允許為空 |
鍵類型 |
logid |
varchar |
20 |
否 |
主鍵 |
username |
varchar |
20 |
否 |
|
money |
double |
15 |
是 |
|
time |
varchar |
30 |
是 |
|
8.執行視圖
9.實現視圖
DAO包
DAO包里面封裝工程接口,用於滿足用戶的需求,實現代碼的再處理。如下圖所示:
DBC包
此包用來處理系統與數據庫鏈接。如下圖所示:
Impl包
此包用於實現DAO包中接口,用於完成操作現有的數據庫。如下圖所示:
9.分解視圖
10.依賴視圖
11.軟件運行環境及技術選型
軟件環境:windows10,JDK8,MATLAB,python2.7
開發環境:IDEA
前端:HTML,CSS,JQuery
數據庫:mysql
12.概念模型的核心工作機制
用戶通過注冊和登錄進入頁面,對商品進行檢索,添加購物車,進行支付操作
管理員通過管理員賬戶登入后台,查看價格預測,對商品進行添加及定價管理。檢查庫存管理是否出錯。