崔 祥
(鹽城生物工程高等職業(yè)技術(shù)學(xué)校,江蘇 鹽城 224000)
隨著網(wǎng)絡(luò)科技的飛速發(fā)展,在線購物逐漸深入人心,拓寬了企業(yè)的營銷渠道,成為現(xiàn)代人的生活潮流。在線購物的快速推廣,給企業(yè)帶來了更高的效益,成為全球經(jīng)濟發(fā)展帶的增長點[1-2]。在當(dāng)代社會生活中,購物、教育、醫(yī)療、拍賣等都可以通過網(wǎng)絡(luò)平臺完成,各種類型的電子商務(wù)交易平臺如雨后春筍一般出現(xiàn)在人們的視野之中[3]。本文利用集成框架三層架構(gòu)技術(shù),設(shè)計了Web在線購物系統(tǒng),旨在為用戶提供方便快捷的服務(wù)。
在線購物系統(tǒng)的設(shè)計,以用戶需求分析為起點,從整體出發(fā)規(guī)劃其結(jié)構(gòu)。本系統(tǒng)主要由兩個子系統(tǒng)構(gòu)成:一是面向用戶的購物管理子系統(tǒng),用戶可以根據(jù)自己的喜好檢索商品,同時系統(tǒng)也可以把熱銷商品推薦給用戶;二是系統(tǒng)管理子系統(tǒng),系統(tǒng)管理員對系統(tǒng)內(nèi)容有一定管理權(quán)限,如商品信息、訂單狀態(tài)、會員信息等。面向用戶的購物管理子系統(tǒng)和系統(tǒng)管理子系統(tǒng),如圖1—2所示。
圖1 用戶購物系統(tǒng)功能結(jié)構(gòu)
圖2 管理系統(tǒng)結(jié)構(gòu)
在進行在線購物系統(tǒng)設(shè)計前,設(shè)計人員需對用戶在線購物流程進行分析,本系統(tǒng)在線購物系統(tǒng)的業(yè)務(wù)流程如圖3所示。通過圖3能直觀地了解到,會員、游客登錄在線購物系統(tǒng)后先瀏覽商品信息,把中意的商品加進購物車,在購物車中設(shè)定購買數(shù)量,確定相關(guān)信息準(zhǔn)確無誤后可以提交訂單并結(jié)算。此時,系統(tǒng)自動判斷用戶是否登錄,對于未登錄或注冊的用戶,則自動跳轉(zhuǎn)至登錄注冊界面,用戶登錄后也可以匿名購買商品,填寫具體收貨地址及手機號碼。如果用戶注冊成為本系統(tǒng)會員,可以享受優(yōu)惠政策,按同樣的流程填寫相關(guān)信息,確保信息填寫準(zhǔn)確后提交訂單并購買商品。
圖3 在線購物系統(tǒng)業(yè)務(wù)流程
開發(fā)Web在線購物系統(tǒng)采用的是ASP.NET三層架構(gòu),這是建立在客戶服務(wù)器上的一種模式。為了更好地服務(wù)于用戶,設(shè)計師在設(shè)計系統(tǒng)時創(chuàng)建了多個業(yè)務(wù)實體對象并將其確定為業(yè)務(wù)實體層。在三層架構(gòu)中,業(yè)務(wù)邏輯層對各種業(yè)務(wù)邏輯方法集合予以定義,確定集合代碼后,能在整個周期中按具體需求持續(xù)改良。因此,要對系統(tǒng)的每一項功能進行測試,避免出現(xiàn)更多問題。同時,業(yè)務(wù)邏輯層可借助數(shù)據(jù)訪問層與底層數(shù)據(jù)源進行交互。
如圖4所示,在三層架構(gòu)中,數(shù)據(jù)提取的順序為自下而上,數(shù)據(jù)先由訪問層傳輸?shù)竭壿媽?,?jīng)數(shù)據(jù)處理后通過表示層呈現(xiàn)在用戶面前。層次劃分也由低層入手,應(yīng)用程序中的所有數(shù)據(jù)均來源于數(shù)據(jù)訪問層,數(shù)據(jù)訪問層是整個系統(tǒng)運行的基石。業(yè)務(wù)邏輯層需要對數(shù)據(jù)進行處理,數(shù)據(jù)處理后通過業(yè)務(wù)邏輯層把數(shù)據(jù)提供給用戶,或是根據(jù)用戶輸入的內(nèi)容開展相關(guān)業(yè)務(wù),在數(shù)據(jù)訪問層的支撐下把分析結(jié)果存儲于數(shù)據(jù)庫。
圖4 三層架構(gòu)
創(chuàng)建數(shù)據(jù)庫的目的是要構(gòu)建描述用戶現(xiàn)實環(huán)境的數(shù)據(jù)模型。系統(tǒng)最終的運行效率如何將直接取決于該模型是否擁有良好的結(jié)構(gòu)。在設(shè)計數(shù)據(jù)庫時,要創(chuàng)建優(yōu)化的數(shù)據(jù)組織關(guān)系庫,需從動態(tài)與靜態(tài)兩方面入手表達系統(tǒng)關(guān)系。靜態(tài)關(guān)系用來表達與系統(tǒng)有關(guān)的固定信息,如商品分類、屬性、品牌等;動態(tài)關(guān)系用來表達業(yè)務(wù)邏輯的處理狀態(tài),如在線查看訂單信息、會員注冊情況、購物車中商品是否有改變等。
3.1.1 數(shù)據(jù)字典分析
(1)數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)項之間的聯(lián)系可以通過數(shù)據(jù)結(jié)構(gòu)來表示。在軟件設(shè)計中,所有的數(shù)據(jù)結(jié)構(gòu)都包含一定數(shù)量的數(shù)據(jù)項或涵蓋了多個數(shù)據(jù)結(jié)構(gòu),也可以同時包含數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)[4]。數(shù)據(jù)結(jié)構(gòu)用DS表示,訂單功能數(shù)據(jù)結(jié)構(gòu)如表1所示。
表1 訂單功能數(shù)據(jù)結(jié)構(gòu)一覽
(2)數(shù)據(jù)存儲。
在線購物系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)字典中只描述數(shù)據(jù)的邏輯存儲結(jié)構(gòu),用D表示?,F(xiàn)以數(shù)據(jù)存儲訂單信息為例,說明系統(tǒng)中數(shù)據(jù)存儲情況,如表2所示。
表2 數(shù)據(jù)存儲訂單信息匯總
(3)處理過程。
本系統(tǒng)用圓角矩形描述系統(tǒng)處理流程,在特定條件或輸入數(shù)據(jù)后執(zhí)行,或是特定條件下回應(yīng)輸入數(shù)據(jù)流,用P表示。以添加商品為例,系統(tǒng)處理過程如表3所示。
表3 處理過程添加商品
3.1.2 數(shù)據(jù)設(shè)計
(1)ER圖及關(guān)系模型。
在設(shè)計數(shù)據(jù)庫時,不僅要保證數(shù)據(jù)庫功能完善,也要在最大程度上保證數(shù)據(jù)完整。在設(shè)計過程中,需結(jié)合前期購物需求分析,對數(shù)據(jù)流進行設(shè)計。Web在線購物系統(tǒng)的ER圖,如圖5—6所示。
圖5 本系統(tǒng)銷售訂單E-R圖
圖6 本系統(tǒng)購物車E-R圖
(2)表結(jié)構(gòu)設(shè)計。
為了規(guī)范數(shù)據(jù)庫設(shè)計,為Web在線購物系統(tǒng)創(chuàng)建了多個基本數(shù)據(jù)表,其中包括用戶權(quán)限表、產(chǎn)品分類表、添加收藏表、積分兌換表、友情鏈接表、幫助信息表、首頁廣告表、注冊會員表、購物車產(chǎn)品表、產(chǎn)品屬性表、訂單產(chǎn)品表、銷售信息表、文章信息表、支付方式表、品牌信息表、會員分組表等。每一個表都有相對應(yīng)的功能,對每一個表進行操作,都能讓系統(tǒng)的某項功能得以實現(xiàn)。
3.2.1 定義系統(tǒng)中數(shù)據(jù)訪問層DAL類
Web在線購物系統(tǒng)中包含了數(shù)量較多的實體操作,每一個實體操作都有與之匹配的數(shù)據(jù)訪問類。所有數(shù)據(jù)訪問類,都可以靈活地對數(shù)據(jù)進行處理,例如增加、更新、查詢等。數(shù)據(jù)庫與業(yè)務(wù)邏輯層之間保持著緊密聯(lián)系,其代碼也蘊含于數(shù)據(jù)訪問層中。因此,本系統(tǒng)將DAL庫歸總為數(shù)據(jù)訪問層類,與數(shù)據(jù)庫保持良好交互。從總體上看,幾乎所有的DAL庫中每一個類都涵蓋了Exists,Add等方法,可以運用這些方法及時處理數(shù)據(jù)庫實體,包括編輯、查詢等。
3.2.2 定義系統(tǒng)中實現(xiàn)業(yè)務(wù)邏輯層的BLL類
本設(shè)計的Web在線購物系統(tǒng)中,定義了類庫BLL對業(yè)務(wù)邏輯層進行處理。此類庫的代碼為ASPNET,可以調(diào)用數(shù)據(jù)訪問層并實施邏輯處理。本系統(tǒng)定義了大量與業(yè)務(wù)邏輯處理有聯(lián)系的類,以購物車模塊業(yè)務(wù)邏輯模塊為例,該模塊設(shè)定了業(yè)務(wù)邏輯層,其中ShoppingCartDB類中有多種方法,如Add,Exists等。借助于這些方法,系統(tǒng)可以從數(shù)據(jù)訪問層中調(diào)取相關(guān)類,以此訪問數(shù)據(jù)庫。購物車模塊中的ShoppingCartDB類,對其進行定義時,采用了類似于軟件工程的思路,先實例化DAL.ShoppingCartDB的類DAL,再與數(shù)據(jù)庫進行交互操作。在業(yè)務(wù)邏輯層中,DataTableToList法出現(xiàn)于所有類中,其中DataTable對象能轉(zhuǎn)換到泛型列表對象中,以便系統(tǒng)在提取信息時可以快速回應(yīng)。
3.2.3 Web在線購物系統(tǒng)表示層實現(xiàn)
為了使Web在線購物系統(tǒng)網(wǎng)站風(fēng)格一致,系統(tǒng)中所有子系統(tǒng)都要統(tǒng)一。這里運用了母版頁,從總體上對網(wǎng)站布局風(fēng)格進行統(tǒng)一。網(wǎng)站風(fēng)格的一致可以讓用戶在瀏覽頁面時獲得良好體驗,系統(tǒng)應(yīng)用的人氣指數(shù)也因此得到提升。
在線購物系統(tǒng)設(shè)計以DIV與CSS兩種方式布局,系統(tǒng)外觀得到了調(diào)整與維護。如圖7所示,用戶登錄系統(tǒng)后,可以通過頁面了解商品信息,包括熱銷商品、優(yōu)惠商品、最新商品等;用戶還可以借助商品分類導(dǎo)航,根據(jù)個人喜好查看不同類別的商品信息;同時,系統(tǒng)也對功能性區(qū)域進行布局,包括在線客服、注冊登錄、用戶中心等,所有頁面形成統(tǒng)一風(fēng)格。
圖7 用戶注冊登錄模塊序列
本文用軟件工程的思想設(shè)計并開發(fā)了Web在線購物系統(tǒng),以NET平臺為支撐,采用三層邏輯分層設(shè)計方法,不僅設(shè)計了數(shù)據(jù)流圖與業(yè)務(wù)流圖,也創(chuàng)建了數(shù)據(jù)庫系統(tǒng)。系統(tǒng)以功能分析為導(dǎo)向,分別設(shè)計了面向用戶與管理員的兩大系統(tǒng)模塊,商品、會員、訂單、銷售管理均可在線完成,線上管理功能較為豐富。