董 毅
(云南旅游職業(yè)學(xué)院 信息技術(shù)系,云南 昆明 650221)
C2C電子商務(wù)網(wǎng)站是消費(fèi)者與消費(fèi)者之間的電子商務(wù)[1]。高職院校中高年級(jí)學(xué)生的圖書(shū)資料或其他一些物品在畢業(yè)時(shí)往往會(huì)被當(dāng)成廢舊物品處理,給學(xué)生提供一個(gè)平臺(tái),可以讓學(xué)生在網(wǎng)上發(fā)布資料和物品信息,同時(shí)其他學(xué)生也可以發(fā)出借閱請(qǐng)求或在線訂單,就能形成資料或其他物品的共享。
對(duì)高職院校C2C網(wǎng)站進(jìn)行業(yè)務(wù)需求分析,提出網(wǎng)站的設(shè)計(jì)方案包括以下幾個(gè)方面:
(1)高職院校C2C網(wǎng)站界面
作為C2C網(wǎng)站頁(yè)面,需要為用戶提供良好的用戶體驗(yàn),讓用戶能夠方便地找到他們所需要的信息,可以通過(guò)搜索、分類瀏覽或?yàn)g覽網(wǎng)店等方式查找圖書(shū)資料和其他物品信息,必要時(shí)還必須為用戶提供幫助文檔、使用指南或出錯(cuò)提示等。
(2)安全設(shè)計(jì)
網(wǎng)站的很多信息是不能對(duì)外公開(kāi)的,因此提供一個(gè)安全、可靠的認(rèn)證體系很重要,例如一般用戶可以瀏覽網(wǎng)站的圖書(shū)資料信息;每個(gè)會(huì)員的個(gè)人信息及其交易信息只有會(huì)員自己才可以查看和修改;網(wǎng)站系統(tǒng)的維護(hù)工作,只有具有管理員權(quán)限的人才能使用。
(3)信息發(fā)布
信息的發(fā)布是為高職學(xué)生之間建立一個(gè)共享的信息平臺(tái),因此要求會(huì)員只有在申請(qǐng)開(kāi)店并得到管理員的審批獲得發(fā)布空間后才能發(fā)布資料和維護(hù)資料信息。
(4)消息通知
作為一個(gè)信息發(fā)布和共享平臺(tái),需要網(wǎng)站能與會(huì)員之間形成互動(dòng),例如某會(huì)員尋找到需要的某本書(shū)或資料,而書(shū)已被借走,可以向該書(shū)添加訂閱信息,一旦該書(shū)返還,即可接到消息;當(dāng)管理員開(kāi)通網(wǎng)店后通過(guò)發(fā)送消息通知會(huì)員,其最簡(jiǎn)單的方法就是通過(guò)電子郵件發(fā)送消息。
(5)在線交易
會(huì)員可以在線選購(gòu)圖書(shū)或發(fā)布交換請(qǐng)求,信息的提供者在收到訂單或請(qǐng)求后,根據(jù)信息處理訂單或請(qǐng)求,并完成一次交易或取消交易。由于高職學(xué)院主要是針對(duì)圖書(shū)資料進(jìn)行交易,因此真實(shí)交易可以通過(guò)線下電話聯(lián)系完成。
(6)系統(tǒng)維護(hù)
對(duì)網(wǎng)站的一些日常維護(hù)工作和基本信息維護(hù)。
網(wǎng)站的軟件架構(gòu)對(duì)網(wǎng)站的搜索引擎友好性及用戶體驗(yàn)有著非常重要的影響,高職院校C2C網(wǎng)站架構(gòu)不一定非要復(fù)雜,但一定要做到層次清晰、業(yè)務(wù)分明。業(yè)務(wù)邏輯從界面分離出來(lái),數(shù)據(jù)訪問(wèn)應(yīng)從業(yè)務(wù)邏輯中分離出來(lái);明確業(yè)務(wù)實(shí)體與數(shù)據(jù)庫(kù)之間的關(guān)系、系統(tǒng)異常的處理、數(shù)據(jù)的呈現(xiàn)以及緩存策略等。C2C網(wǎng)站的架構(gòu)采用典型的三層邏輯架構(gòu)[2],其組件架構(gòu)如圖1所示。
(1)通用組件
包含網(wǎng)站的一些通用的模塊,通用模塊將被其他組件所引用,主要有異常處理、日志處理。
(2)業(yè)務(wù)實(shí)體
表示真實(shí)的業(yè)務(wù)數(shù)據(jù),如產(chǎn)品信息、訂單等,用于在各層之間傳遞數(shù)據(jù)。
(3)業(yè)務(wù)邏輯
業(yè)務(wù)邏輯組件封裝各種業(yè)務(wù)邏輯,包括網(wǎng)站的事務(wù)處理與數(shù)據(jù)緩存,使用數(shù)據(jù)訪問(wèn)層提供的數(shù)據(jù)訪問(wèn)服務(wù)。
(4)數(shù)據(jù)訪問(wèn)層
實(shí)現(xiàn)網(wǎng)站的數(shù)據(jù)訪問(wèn)邏輯,對(duì)數(shù)據(jù)進(jìn)行新增、刪除、查詢、修改等操作,主要是為業(yè)務(wù)邏輯組件服務(wù)。
(5)企業(yè)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)訪問(wèn)塊
是微軟的企業(yè)數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問(wèn)模塊,抽象成對(duì)底層數(shù)據(jù)庫(kù)的訪問(wèn)操作,完成數(shù)據(jù)的讀取與寫入。
(6)網(wǎng)站界面
用于向用戶顯示數(shù)據(jù),接收用戶響應(yīng)和響應(yīng)用戶事件,使用業(yè)務(wù)邏輯層或數(shù)據(jù)訪問(wèn)層提供的數(shù)據(jù)訪問(wèn)服務(wù)。
C2C網(wǎng)站設(shè)計(jì)上應(yīng)從最終用戶的角度出發(fā),提高用戶體驗(yàn),網(wǎng)站要有統(tǒng)一外觀、布局合理、交互性良好,因此網(wǎng)站設(shè)計(jì)包含網(wǎng)站的母版頁(yè)、網(wǎng)站的導(dǎo)航系統(tǒng)、系統(tǒng)錯(cuò)誤提示頁(yè)面和幫助頁(yè)面等,其中網(wǎng)站的響應(yīng)速度和網(wǎng)站交互性尤其重要。
(1 網(wǎng)站緩存
C2C網(wǎng)站往往存在一些數(shù)據(jù)不會(huì)經(jīng)常發(fā)生變化,但會(huì)被用戶經(jīng)常請(qǐng)求,用戶每次都需要從數(shù)據(jù)庫(kù)中查詢這些數(shù)據(jù),這對(duì)數(shù)據(jù)庫(kù)服務(wù)器的負(fù)荷和網(wǎng)絡(luò)流量造成浪費(fèi),并降低了響應(yīng)速度,如果從數(shù)據(jù)庫(kù)讀取出來(lái)后將其緩存起來(lái),以后的請(qǐng)求則可以緩存中獲取數(shù)據(jù)。從分層邏輯組件圖中可以看出,用戶既可以從業(yè)務(wù)邏輯層獲取服務(wù),也可以直接從數(shù)據(jù)訪問(wèn)層獲得數(shù)據(jù),此外還有一些頁(yè)面是屬于不會(huì)經(jīng)常變化的,也可以在業(yè)務(wù)邏輯層中實(shí)現(xiàn)頁(yè)面緩存。圖2所示為網(wǎng)站的緩存機(jī)制[3]。
(2)異常處理
網(wǎng)站在運(yùn)行時(shí)不可避免地會(huì)發(fā)生異?;蝈e(cuò)誤,異常發(fā)生時(shí)不能向用戶顯示技術(shù)細(xì)節(jié),需要記錄下異常信息供管理員查看,并向用戶顯示一個(gè)友好的錯(cuò)誤提示頁(yè)面[4]。網(wǎng)站的數(shù)據(jù)訪問(wèn)層或業(yè)務(wù)邏輯層出現(xiàn)異常時(shí),應(yīng)捕獲異常,然后記錄異常或發(fā)送異常特定消息,并將這些信息記錄下來(lái),然后拋出異常,直至較高層捕獲并處理異常,此外網(wǎng)站運(yùn)行時(shí)出現(xiàn)未處理的異常,也需要向最終用戶顯示友好的自定義錯(cuò)誤信息。圖3所示為網(wǎng)站的異常處理機(jī)制。
C2C網(wǎng)站必須提供一個(gè)安全的系統(tǒng)保護(hù)用戶的利益,必須對(duì)用戶進(jìn)行身份驗(yàn)證,確保用戶的合法性;在用戶身份得到驗(yàn)證后還需要對(duì)用戶授予不同的權(quán)限,以保證該用戶具有對(duì)某些資源的訪問(wèn)權(quán)限。網(wǎng)站主要有4類用戶:一般用戶、會(huì)員、店長(zhǎng)和管理員。一般用戶可以瀏覽網(wǎng)站中部分資源,如瀏覽網(wǎng)店、圖書(shū)等,但不能發(fā)生交易,這類用戶可以通過(guò)在線注冊(cè)成為會(huì)員;會(huì)員即已經(jīng)注冊(cè)成為網(wǎng)站的認(rèn)證用戶,該類用戶在瀏覽網(wǎng)站時(shí)可以在線發(fā)出借閱請(qǐng)求和下訂單購(gòu)買圖書(shū)資料,并具有個(gè)人管理區(qū)域,可以維護(hù)自己的個(gè)人信息、密碼和查看自己的交易記錄等;店長(zhǎng)是成功申請(qǐng)開(kāi)店的會(huì)員,該類用戶除擁有一般會(huì)員的所有服務(wù)外,還可以發(fā)布和維護(hù)圖書(shū)資料,以網(wǎng)店形式向其他用戶共享資料,并且處理其他會(huì)員提交的交易請(qǐng)求;管理員負(fù)責(zé)系統(tǒng)的維護(hù),包括一些基本資料的維護(hù)、會(huì)員的管理等。
圖3 網(wǎng)站的異常處理機(jī)制
3.2.1 認(rèn)證
認(rèn)證即確定當(dāng)前用戶是否為系統(tǒng)的有效用戶,包含許多需要身份認(rèn)證的模塊,如 “會(huì)員信息管理”、“店長(zhǎng)信息管理”、“管理員模塊”。NET.Framework的成員資格架構(gòu)使用成員資格應(yīng)用程序接口 (Membership API)、提供程序(Providers)和數(shù)據(jù)存儲(chǔ)(Data Stores)來(lái)驗(yàn)證是否是合格用戶[5]。
(1)Membership API:主要完成創(chuàng)建用戶、對(duì)訪問(wèn)網(wǎng)站的用戶進(jìn)行身份驗(yàn)證,以及管理密碼。另外ASP.NET提供Form認(rèn)證方式,將兩者結(jié)合可以容易實(shí)現(xiàn)網(wǎng)站身份驗(yàn)證。
(2)Providers:使用提供程序模式與不同的數(shù)據(jù)源之間通信,C2C網(wǎng)站使用SqlMembershipProviders類與數(shù)據(jù)庫(kù)進(jìn)行通信。
(3)Data Stores:是數(shù)據(jù)存儲(chǔ)區(qū),負(fù)責(zé)成員資格數(shù)據(jù)的長(zhǎng)久存儲(chǔ),C2C網(wǎng)站使用MS SQL Server進(jìn)行成員存儲(chǔ)。
3.2.2 授權(quán)
授權(quán)是當(dāng)用戶經(jīng)過(guò)系統(tǒng)驗(yàn)證后系統(tǒng)為用戶分配具有訪問(wèn)什么資源的權(quán)限,采用角色管理指定用戶可以訪問(wèn)的資源[5]。在 C2C網(wǎng)站中建立 Administrator、Sales、Member等角色,例如授予 Member角色可以訪問(wèn)的權(quán)限,當(dāng)一般用戶注冊(cè)成為會(huì)員后,將注冊(cè)會(huì)員添加到Member角色中,提供給用戶可以訪問(wèn)的頁(yè)面和文件夾的權(quán)限。在ASP.NET中通過(guò) Roles、RoleProvider以 編 程 方式確定是否屬于某個(gè)角色。
網(wǎng)站會(huì)員通過(guò)開(kāi)店申請(qǐng)成為店長(zhǎng)后,需要發(fā)布和維護(hù)圖書(shū)資料信息,以供網(wǎng)站的訪問(wèn)者瀏覽。因此,信息發(fā)布主要完成以下功能:
(1)店長(zhǎng)可以方便查詢店中的資料,可以對(duì)資料進(jìn)行分類瀏覽、可方便地對(duì)資料進(jìn)行排序等操作。
(2)店長(zhǎng)能快速錄入圖書(shū)資料信息,例如書(shū)名、類別、單價(jià)、數(shù)量、折扣、交易類型、圖片等。
(3)店長(zhǎng)能方便地更改某本書(shū)的資料,如修改價(jià)格、折扣、交易類型、內(nèi)容簡(jiǎn)介等。
(4)店長(zhǎng)能方便地刪除圖書(shū)資料。
高職院校的C2C網(wǎng)站,商品的提供者是學(xué)生,購(gòu)買者是學(xué)生,因此他們之間不需要在線支付和物流配送,只需要線下商品提供者通過(guò)訂單的聯(lián)系信息聯(lián)系購(gòu)買者來(lái)完成交易,另外除了使用銷售方式來(lái)共享圖書(shū)資料外,還可以通過(guò)借閱方式來(lái)實(shí)現(xiàn)資料的共享。這種方式與訂單方式類似,只是通過(guò)向提供者發(fā)出借閱請(qǐng)求,然后提供者根據(jù)借閱請(qǐng)求信息聯(lián)系請(qǐng)求者完成借閱活動(dòng),當(dāng)然當(dāng)圖書(shū)資料已被購(gòu)買或借閱,應(yīng)顯示相應(yīng)圖書(shū)資料狀態(tài),避免消費(fèi)者繼續(xù)向該書(shū)發(fā)出請(qǐng)求[6]。圖4所示為在線交易中的訂單流程。
在線交易模塊主要完成的功能如下:
(1)訂單功能:在線會(huì)員下訂單,如果圖書(shū)資料交易類型可以出售,則會(huì)員用戶可以填寫聯(lián)系人姓名、送資料地址、聯(lián)系電話等并提交訂單;當(dāng)?shù)觊L(zhǎng)收到訂單后,根據(jù)聯(lián)系信息聯(lián)系訂購(gòu)者完成交易,并更新訂單狀態(tài),更新圖書(shū)資料狀態(tài),向圖書(shū)資料的收藏者發(fā)出郵件以通知圖書(shū)狀態(tài)的變化;當(dāng)會(huì)員提交訂單后可隨時(shí)查詢訂單處理情況,對(duì)于未處理的訂單,發(fā)起人可取消訂單。
(2)借閱功能:會(huì)員瀏覽圖書(shū)資料信息時(shí),如果資料狀態(tài)為可以借閱,則用戶可以通過(guò)填寫聯(lián)系信息并提交借閱請(qǐng)求;店長(zhǎng)收到請(qǐng)求后,根據(jù)聯(lián)系信息聯(lián)系借閱者完成交易,并更新請(qǐng)求狀態(tài),修改圖示資料的狀態(tài)為“借出”,同時(shí)發(fā)送郵件給所有收藏者以通知圖書(shū)資料狀態(tài)的變化。
圖4 在線交易訂單流程
(3)收藏夾功能:當(dāng)用戶瀏覽圖書(shū)資料信息時(shí),可以將該書(shū)添加到收藏夾;當(dāng)用戶進(jìn)入網(wǎng)站后,可以在頁(yè)面中顯示收藏夾的內(nèi)容項(xiàng)目,通過(guò)鏈接可進(jìn)入收藏夾;可以在收藏夾中刪除商品。
C2C網(wǎng)站的正常運(yùn)行離不開(kāi)基礎(chǔ)數(shù)據(jù)支持,這些信息比較穩(wěn)定,網(wǎng)站運(yùn)行時(shí)這些數(shù)據(jù)很少發(fā)生變化,在整個(gè)系統(tǒng)中被共享使用,一般是由具有管理員權(quán)限的用戶使用,在系統(tǒng)管理模塊中主要實(shí)現(xiàn)圖書(shū)類別、院系信息和專業(yè)信息的增加、刪除和修改操作。
高職院校的C2C網(wǎng)站的設(shè)計(jì)雖然功能上相對(duì)簡(jiǎn)單,但也需要進(jìn)行深入的分析,最終確定技術(shù)解決方案,然后再針對(duì)解決方案中功能模塊進(jìn)行更詳細(xì)的設(shè)計(jì)。當(dāng)然作為一個(gè)對(duì)高職院校自身服務(wù)的電子商務(wù)網(wǎng)站,在建設(shè)之前應(yīng)該考慮好網(wǎng)站模式、技術(shù)手段和客戶服務(wù),才能使網(wǎng)站處于良性的運(yùn)行狀態(tài)。
[1]王宇川.電子商務(wù)網(wǎng)站規(guī)劃與建設(shè)[M].北京:電子工業(yè)出版社,2007:2-8.
[2][美]PFLEEGER S L,[加]JOANNE M A.軟件工程[M].楊衛(wèi)東,譯.北京:人民郵電出版社,2010:169-171.
[3][美]BOOCH G,RUMBAUGH J,JACOBSON I.UML 用 戶指南[M].英文版第二版.北京:機(jī)械工業(yè)出版社,2006:252-256.
[4](美)HART C,KAUFFMAN J,SUSSMAN D,et al.Beginning ASP.NET 2.0 with C#[M].孟憲瑞,易磊,譯.北京:人民郵電出版社,2007:526-537.
[5][美]BAIER D.開(kāi)發(fā)更安全的ASP.NET 2.0應(yīng)用程序[M].華中宇,田亮君,陳文,譯.北京:人民郵電出版社,2008:125-137.
[6]微軟公司.Web應(yīng)用、分析與實(shí)踐[M].北京:人民郵電出版社,2008:318-320.