汪麗娟
摘 要 網(wǎng)上書店作為電子商務(wù)應(yīng)用中的典范,將圖書的出版、供貨、銷售、消費(fèi)以及其他環(huán)節(jié)如銀行、物流運(yùn)輸?shù)冗B接在一起,改變了圖書運(yùn)作流程和交易模式。本文所述新華書屋系統(tǒng)采用三層架構(gòu)和設(shè)計(jì)模式,以Visual Studio 2008作為開發(fā)工具,SQL Server 2008作為數(shù)據(jù)庫管理平臺(tái),使用C#作為開發(fā)語言,設(shè)計(jì)和實(shí)現(xiàn)了新華書屋系統(tǒng)前臺(tái)和后臺(tái)各部分功能模塊。系統(tǒng)采用了抽象工廠模式的數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層和表示層的三層架構(gòu)設(shè)計(jì),具有良好的可擴(kuò)展性和可維護(hù)性。
關(guān)鍵詞 瀏覽器/服務(wù)器結(jié)構(gòu);電子商務(wù);交易平臺(tái)
中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 2096-0360(2015)01-0130-02
網(wǎng)上書店作為電子商務(wù)應(yīng)用中的典范,將圖書的出版、供貨、銷售、消費(fèi)以及其他環(huán)節(jié)如銀行、物流運(yùn)輸?shù)冗B接在一起,是一種高質(zhì)量,更快捷,更方便的購書方式。本文所述新華書屋系統(tǒng)采用了抽象工廠模式的數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層和表示層的三層架構(gòu)設(shè)計(jì),具有良好的可擴(kuò)展性和可維護(hù)性。通過對(duì)新華書屋系統(tǒng)的非功能性與功能性測試,系統(tǒng)中的各個(gè)功能實(shí)現(xiàn)了應(yīng)用需求。
1 系統(tǒng)總體設(shè)計(jì)
新華書屋是以B2C(業(yè)務(wù)經(jīng)營者對(duì)客戶)模式為設(shè)計(jì)思路,中間引入C2C(客戶對(duì)客戶)現(xiàn)代商務(wù)網(wǎng)站的自由模式,目的是為二手書籍提供了一個(gè)銷售渠道,促進(jìn)了舊書作為商品在市場上的重新流通。系統(tǒng)分為前臺(tái)子系統(tǒng)與后臺(tái)子系統(tǒng)兩個(gè)部分,前臺(tái)是面向客戶的用戶操作,后臺(tái)主要是面向管理員的網(wǎng)站管理,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
前臺(tái)子系統(tǒng)的功能包括會(huì)員注冊(cè)和登陸、瀏覽書籍和收索、添加書籍到購物車或收藏夾、下訂單等。后臺(tái)子系統(tǒng)的功能包括用戶管理、書籍管理、訂單管理、信譽(yù)體制管理和廣告/專題管理等。后臺(tái)管理頁面采用樹形結(jié)構(gòu)進(jìn)行導(dǎo)航,類似于Windows系統(tǒng)的文件夾瀏覽器。
2 系統(tǒng)架構(gòu)設(shè)計(jì)模式
新華書屋網(wǎng)站的結(jié)構(gòu)采用三層模型設(shè)計(jì),實(shí)現(xiàn)“高內(nèi)聚、低耦合”。三層模型分為表現(xiàn)層(Presentation Layer)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL),系統(tǒng)架構(gòu)圖如圖2所示。
圖2 系統(tǒng)三層模型架構(gòu)圖
由圖1可以看到三層架構(gòu)的基本流程有6個(gè)步驟,第一步表現(xiàn)層向業(yè)務(wù)邏輯層請(qǐng)求業(yè)務(wù)處理,第二步業(yè)務(wù)邏輯層負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯(比如驗(yàn)證操作等),之后向數(shù)據(jù)訪問層發(fā)送請(qǐng)求,第三步數(shù)據(jù)訪問層連接數(shù)據(jù)庫并檢索具體的記錄,第四步被檢索到后,記錄從數(shù)據(jù)庫返回到數(shù)據(jù)訪問層,第五步數(shù)據(jù)訪問層將檢索到的記錄封裝成業(yè)務(wù)實(shí)體(Model),返回給業(yè)務(wù)邏輯層,最后第六步業(yè)務(wù)邏輯層將業(yè)務(wù)實(shí)體返回給表現(xiàn)層,并由后者展示給用戶。新華書屋的三層系統(tǒng)架構(gòu)有以下優(yōu)勢(shì)。
1)開發(fā)人員只需關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層,而不需要關(guān)心其他層的設(shè)計(jì)與實(shí)現(xiàn)[1]。一個(gè)團(tuán)隊(duì)可以并行開發(fā)新華書屋網(wǎng)站。網(wǎng)站的前臺(tái)、業(yè)務(wù)處理的核心代碼和算法、后臺(tái)數(shù)據(jù)庫均可同時(shí)進(jìn)行,大幅提高了新華書屋的開發(fā)進(jìn)程。
2)可以較為容易地使用新的應(yīng)用來替換原有層次的應(yīng)用。某些層在日后的開發(fā)過程中需要修改時(shí),所需要做的工作就非常簡單。本層的開發(fā)者只需要完成好該層的設(shè)計(jì)與實(shí)現(xiàn),不需要擔(dān)心自己的修改是否會(huì)影響其他層,從而使其它層也需要做相應(yīng)的修改。
3)可以降低層與層之間的依賴。各層由于分工明確并且低耦合,所以彼此之間的依賴就很少,代碼管理和系統(tǒng)管理所帶來的額外開銷就非
常低[2]。
4)有利于未來的標(biāo)準(zhǔn)化。這種層次比較明顯的結(jié)構(gòu),未來的標(biāo)準(zhǔn)化工作也比較好進(jìn)行。這也是現(xiàn)代軟件行業(yè)所必須要考慮的問題。
5)有利于各層邏輯的復(fù)用。新華書屋是個(gè)以銷售書籍為主的電子商務(wù)平臺(tái),未來如果拓展到新的業(yè)務(wù),系統(tǒng)中的各層邏輯可以很容易地應(yīng)用于其他系統(tǒng)中。
3 系統(tǒng)開發(fā)平臺(tái)選型
系統(tǒng)開發(fā)平臺(tái)的選型對(duì)于系統(tǒng)的建立來說至關(guān)重要,它能決定系統(tǒng)是否具有良好性能、是否具有良好的擴(kuò)展性、開發(fā)工作量的大小以及維護(hù)工作的難易程序等等。因此進(jìn)行新華書屋電子商務(wù)系統(tǒng)開發(fā)平臺(tái)選型時(shí),主要從系統(tǒng)的功能、擴(kuò)展性、是否易于開發(fā)和管理等主要方面進(jìn)行考慮。
3.1 軟件開發(fā)平臺(tái)
軟件開發(fā)平臺(tái)主要包括操作系統(tǒng)的選擇、語言的選擇、開發(fā)工具的選擇、數(shù)據(jù)庫的選擇等內(nèi)容。軟件開發(fā)平臺(tái)為Microsoft Visual Studio 2008;后臺(tái)開發(fā)語言為C#;數(shù)據(jù)庫開發(fā)平臺(tái)為Microsoft SQL Server 2008;前臺(tái)開發(fā)語言為Asp.net和JAVASCRIPT。
3.2 硬件開發(fā)平臺(tái)
新華書屋電子商務(wù)系統(tǒng)硬件開發(fā)平臺(tái)主要包括:服務(wù)器端、客戶端、網(wǎng)絡(luò)接入設(shè)備。服務(wù)器端的配置是由開發(fā)系統(tǒng)的軟件所需配置來決定。由于網(wǎng)站全天候工作,要處理大量的數(shù)據(jù),所以在運(yùn)算速度、系統(tǒng)穩(wěn)定、存儲(chǔ)容量等性能上有較高的要求。網(wǎng)絡(luò)接入設(shè)備主要有路由器和交換機(jī),路由器為華為AR 28-11,交換機(jī)為TP-LINK TL-SG1008。
4 系統(tǒng)功能性測試
根據(jù)電子商務(wù)網(wǎng)站的系統(tǒng)測試范例,安裝專用的測試工具(LoadRunner)來完成系統(tǒng)的壓力測試,該軟件能支持多種常用協(xié)議,能設(shè)置負(fù)載壓力測試方案,測試完成后,記錄用戶部署和維護(hù)系統(tǒng)報(bào)告。
根據(jù)軟件的《需求規(guī)格說明書》和《設(shè)計(jì)說明書》,認(rèn)真理解用戶的真正需求,著手制訂功能測試樣例,并對(duì)軟件所實(shí)現(xiàn)的功能進(jìn)行測試。測試用例要包括欲測試的功能、應(yīng)輸入的數(shù)據(jù)和預(yù)期的輸出結(jié)果[3]。測試數(shù)據(jù)選用了少量、高效的測試數(shù)據(jù)進(jìn)行完備的測試,測試目標(biāo)是設(shè)計(jì)一組發(fā)現(xiàn)某個(gè)錯(cuò)誤的測試用例[4]。
在系統(tǒng)功能測試中,將新華書屋系統(tǒng)中的功能節(jié)點(diǎn)如會(huì)員登錄模塊、會(huì)員注冊(cè)模塊、會(huì)員注銷模塊、個(gè)人中心模塊、書籍瀏覽模塊、管理員登錄模塊、管理員注銷、添加書籍、書籍類別管理、書籍管理等進(jìn)行測試。
5 系統(tǒng)發(fā)布
在IIS上,新建一個(gè)虛擬目錄,指向網(wǎng)站的物理地址。設(shè)置端口號(hào),開啟WEB服務(wù)之后,就可以在IE瀏覽器中運(yùn)行新華書屋系統(tǒng)。前臺(tái)界面如圖3所示。
圖3 新華書屋發(fā)布后的前臺(tái)頁面
新華書屋系統(tǒng)采用了抽象工廠模式的數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層和表示層的三層架構(gòu)設(shè)計(jì),具有很好的可擴(kuò)展性肯可維護(hù)性。通過對(duì)新華書屋系統(tǒng)的非功能性與功能性測試,系統(tǒng)中的各個(gè)功能實(shí)現(xiàn)了應(yīng)用需求,測試結(jié)果表明系統(tǒng)運(yùn)行穩(wěn)定、執(zhí)行速度快,移植性好。系統(tǒng)網(wǎng)頁界面設(shè)計(jì)友好,搜索功能靈活,購物車功能完整,用戶能夠方便快捷的進(jìn)行新舊書籍的查詢和購買,后臺(tái)管理子系統(tǒng)實(shí)現(xiàn)了管理員對(duì)用戶、書籍、訂單、店鋪信譽(yù)進(jìn)行有效的管理。
參考文獻(xiàn)
[1]丁莉,張靜,曾凡晉.淺談基于ASP.NET2.0的三層架構(gòu)項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào). 2010,6(24):40.
[2]高揚(yáng).基于.NET平臺(tái)的三層架構(gòu)軟件框架的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,3(02):83-86.
[3]劉振宇,楊根興,蔡立志.Software Test Case Generation with Adequacy Analysis on Scenario-Based Testing,Journal of Donghua University English Edition,2011(02):28-33.
[4]曾紅衛(wèi),繆淮扣.一種驗(yàn)證Web應(yīng)用設(shè)計(jì)的方法[J].上海大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(05):12-14.