摘 要:根據(jù)四川文理學(xué)院校內(nèi)購(gòu)物實(shí)際需求分析,結(jié)合現(xiàn)階段高校校內(nèi)在線(xiàn)購(gòu)物平臺(tái)的調(diào)查研究,設(shè)計(jì)開(kāi)發(fā)ZeroClothing購(gòu)物平臺(tái),整合了傳統(tǒng)的“跳蚤市場(chǎng)”功能。使用MVC構(gòu)架在實(shí)現(xiàn)系統(tǒng)交互、抽取數(shù)據(jù)、響應(yīng)請(qǐng)求等方面展示出了較好的性能,體現(xiàn)出系統(tǒng)具有良好地?cái)U(kuò)展性、維護(hù)性和移植性等特點(diǎn)。
關(guān)鍵詞:MVC;軟件工程;購(gòu)物平臺(tái);設(shè)計(jì)與實(shí)現(xiàn)
中圖分類(lèi)號(hào):TP393.18
現(xiàn)今電子商務(wù)為大眾的生活提供了極大的便利,由電子商務(wù)衍生而來(lái)的新消費(fèi)模式—網(wǎng)上購(gòu)物也逐漸成為了流行趨勢(shì),成為一種常態(tài)。但是將消費(fèi)人群針對(duì)高校學(xué)生的這一網(wǎng)上購(gòu)物平臺(tái)還未完全發(fā)展成熟,特別是將傳統(tǒng)的“跳蚤市場(chǎng)”移動(dòng)到購(gòu)物平臺(tái)上來(lái),這在高校內(nèi),也只是處于一個(gè)起步階段。本文就在此背景下,采用J2EE平臺(tái)和MVC設(shè)計(jì)模式來(lái)開(kāi)發(fā)一個(gè)校內(nèi)的購(gòu)物平臺(tái)。
1 系統(tǒng)需求分析
該系統(tǒng)分前臺(tái)和后臺(tái)。設(shè)計(jì)了三種權(quán)限:游客、會(huì)員、管理員。現(xiàn)分別對(duì)功能進(jìn)行分析。前臺(tái)模塊需求分析:該部分主要用于網(wǎng)站的展示以及用戶(hù)體驗(yàn),包含11個(gè)功能模塊。各功能模塊的具體需求為:(1)會(huì)員注冊(cè):通過(guò)會(huì)員注冊(cè)來(lái)獲得更多的操作權(quán)限,在用戶(hù)注冊(cè)完成后,系統(tǒng)會(huì)向注冊(cè)用戶(hù)填寫(xiě)的郵箱地址發(fā)送帳號(hào)信息;(2)會(huì)員登錄;(3)商品瀏覽:進(jìn)入網(wǎng)站,通過(guò)網(wǎng)頁(yè)瀏覽網(wǎng)站內(nèi)的商品,如排序方式顯示商品列表;(4)商品搜索:通過(guò)關(guān)鍵字搜索需要的商品;(5)商品詳細(xì)信息:通過(guò)該模塊,能夠查看商品的詳細(xì)信息以及其它用戶(hù)對(duì)該商品的評(píng)論;(6)商品購(gòu)買(mǎi):用戶(hù)在登錄狀態(tài)下點(diǎn)擊“立即購(gòu)買(mǎi)”按鈕,填寫(xiě)收貨地址后,跳轉(zhuǎn)到所選擇的銀行進(jìn)行付款;(7)加入購(gòu)物車(chē):在登錄狀態(tài)下通過(guò)“加入購(gòu)物車(chē)”按鈕將所選擇好的商品加入到購(gòu)物車(chē)?yán)?;?)我的購(gòu)物車(chē):用戶(hù)可以通過(guò)該模塊查看已經(jīng)加入到購(gòu)物車(chē)中但還未購(gòu)買(mǎi)的商品,可以進(jìn)行一次性結(jié)算購(gòu)買(mǎi)購(gòu)物車(chē)中的商品;(9)商品評(píng)論:購(gòu)買(mǎi)該商品后,對(duì)已購(gòu)買(mǎi)的商品進(jìn)行評(píng)論,以便給其他想購(gòu)買(mǎi)該商品的用戶(hù)提供相應(yīng)的參照信息;(10)已買(mǎi)到的寶貝:用戶(hù)可以查看已經(jīng)購(gòu)買(mǎi)過(guò)的商品;(11)個(gè)人資料:用于查看、修改相關(guān)資料;(12)收貨地址:用于用戶(hù)管理用戶(hù)的收貨地址;(13)個(gè)人動(dòng)態(tài):用戶(hù)登錄后,可以查看、發(fā)表心情;(14)我的喜歡:用于查看自己已標(biāo)注的商品的列表;(15)我的評(píng)價(jià):用于查看自己對(duì)某些已購(gòu)買(mǎi)的商品的評(píng)價(jià)信息;(16)待付款:用于查看自己已經(jīng)生成訂單,但還未付款的列表,還可以對(duì)未付款的商品進(jìn)行付款購(gòu)買(mǎi);(17)客服中心:用戶(hù)在該模塊中打開(kāi)客服人員的qq窗口與客服人員交流。
后臺(tái)管理各功能模塊需求分析:主要用于網(wǎng)站管理人員對(duì)網(wǎng)站數(shù)據(jù)進(jìn)行管理、維護(hù),通常向網(wǎng)站中添加商品信息及發(fā)布相關(guān)消息,有7個(gè)功能模塊。(1)后臺(tái)登錄:網(wǎng)站管理員登錄到后臺(tái)管理頁(yè)面對(duì)網(wǎng)站進(jìn)行管理;(2)商品管理:管理員對(duì)商品信息的管理,如發(fā)布商品信息和增加新商品,對(duì)商品的信息進(jìn)行CURD等操作;(3)會(huì)員管理:對(duì)會(huì)員的信息進(jìn)行審核,實(shí)現(xiàn)CURD等操作;(4)客服管理:對(duì)客服人員信息進(jìn)行CURD等操作;(5)業(yè)績(jī)報(bào)表:通過(guò)該模塊查看某一時(shí)間內(nèi)商品銷(xiāo)量排名,銷(xiāo)量百分比等數(shù)據(jù);(6)回收站:查看管理員已刪除的信息,在需要時(shí)可將其還原;(7)搜索:通過(guò)關(guān)鍵字來(lái)查找要搜索的信息。
2 系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)采用MVC(Model View Controller)設(shè)計(jì)模式[1],即由業(yè)務(wù)模型層、視圖層、控制層組成。業(yè)務(wù)模型層是由數(shù)據(jù)表中的結(jié)構(gòu)轉(zhuǎn)換而來(lái)生成相應(yīng)的類(lèi)的一層;視圖層是界面,直接與用戶(hù)進(jìn)行交互;控制層是調(diào)用相應(yīng)的方法處理由頁(yè)面?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù)并進(jìn)行相關(guān)的業(yè)務(wù)邏輯處理。運(yùn)行過(guò)程如下:視圖層將與用戶(hù)進(jìn)行交互得到的數(shù)據(jù)傳遞到控制層,控制層調(diào)用后臺(tái)的方法對(duì)傳遞過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,再傳遞到視圖層來(lái)顯示。系統(tǒng)體系結(jié)構(gòu)如圖1所示。[2]
圖1 系統(tǒng)體系結(jié)構(gòu)
本系統(tǒng)用jsp頁(yè)面做視圖層,實(shí)現(xiàn)與用戶(hù)的交互處理;控制層由Servlet來(lái)對(duì)數(shù)據(jù)進(jìn)行處理;業(yè)務(wù)模型層使用JavaBean對(duì)數(shù)據(jù)表的結(jié)構(gòu)進(jìn)行封裝。使用Java語(yǔ)言編寫(xiě)腳本。開(kāi)發(fā)工具采用MyEclipes 8.5,應(yīng)用服務(wù)器Tomcat 6.0,數(shù)據(jù)庫(kù)是MySql 5.0數(shù)據(jù)庫(kù)。
2.2 數(shù)據(jù)對(duì)象及業(yè)務(wù)邏輯設(shè)計(jì)
2.2.1 本系統(tǒng)所涉及的研究對(duì)象有管理員、商品、會(huì)員定單等。建立對(duì)應(yīng)的表來(lái)進(jìn)行對(duì)象信息的存儲(chǔ)。本系統(tǒng)的數(shù)據(jù)庫(kù)中涉及的表有管理員表、商品評(píng)論表、商品表、商品類(lèi)型表、會(huì)員表、訂單表、客服表、購(gòu)物車(chē)表等。
2.2.2 本系統(tǒng)中前臺(tái)交互需要實(shí)現(xiàn)的業(yè)務(wù)邏輯有:會(huì)員信息查詢(xún)、會(huì)員信息插入、會(huì)員信息管理、商品信息查詢(xún)、商品信息搜索、訂單信息查詢(xún)、訂單信息插入、購(gòu)物車(chē)信息查詢(xún)、購(gòu)物車(chē)信息插入、前臺(tái)用戶(hù)的權(quán)限設(shè)置等;后臺(tái)管理需要實(shí)現(xiàn)的業(yè)務(wù)邏輯有:管理員信息查詢(xún)、會(huì)員信息管理、商品信息查詢(xún)、商品信息發(fā)布、商品信息管理、客服人員信息查詢(xún)、客服人員信息管理、數(shù)據(jù)搜索等。
2.3 二手市場(chǎng)業(yè)務(wù)邏輯設(shè)計(jì)
設(shè)計(jì)主要思想如下:當(dāng)一名學(xué)生向網(wǎng)站負(fù)責(zé)人或者專(zhuān)門(mén)負(fù)責(zé)二手市場(chǎng)管理的人員提出申請(qǐng)后,負(fù)責(zé)人員將對(duì)該學(xué)生提出的申請(qǐng)進(jìn)行審核,審核通過(guò)后,負(fù)責(zé)人員才會(huì)將商品的信息以及申請(qǐng)人的詳細(xì)信息提交到網(wǎng)站管理員,由網(wǎng)站管理員將商品的信息發(fā)布到網(wǎng)站上。同時(shí),在負(fù)責(zé)人那里會(huì)有一個(gè)對(duì)該申請(qǐng)人的不良信息記錄表,主要記錄是否有對(duì)該申請(qǐng)人的投訴,以方便對(duì)二手市場(chǎng)的管理,防止出現(xiàn)售賣(mài)假商品信息或者出現(xiàn)付款不發(fā)貨的情況出現(xiàn)。當(dāng)投訴達(dá)到一定數(shù)量的時(shí)候網(wǎng)站管理員將會(huì)將給申請(qǐng)人的相關(guān)商品信息停止發(fā)布,并且負(fù)責(zé)人將不再接受該申請(qǐng)人以后的商品售賣(mài)申請(qǐng)。
3 系統(tǒng)的詳細(xì)設(shè)計(jì)
3.1 系統(tǒng)功能結(jié)構(gòu)
根據(jù)平臺(tái)的需求分析和系統(tǒng)執(zhí)行業(yè)務(wù)邏輯流程研究,確定本系統(tǒng)的功能結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)功能結(jié)構(gòu)圖
3.2 系統(tǒng)主要功能模塊設(shè)計(jì)
3.2.1 用戶(hù)注冊(cè)。在注冊(cè)信息中,用戶(hù)所填寫(xiě)的登錄密碼將通過(guò)MD5的加密方式,利用MD5的加密算法將填寫(xiě)的密碼進(jìn)行變換,轉(zhuǎn)換成加密后的字符串,這樣有效地提高了用戶(hù)帳號(hào)的安全性。
3.2.2 登錄。通過(guò)登錄輸入密碼后,將密碼通過(guò)setString32MD5()方法得到使用MD5算法加密后的密碼字符串,然后再通過(guò)后臺(tái)的驗(yàn)證方法在數(shù)據(jù)庫(kù)中對(duì)用戶(hù)輸入的用戶(hù)名和密碼進(jìn)行驗(yàn)證,確認(rèn)用戶(hù)是否登陸。
3.2.3 個(gè)人中心。個(gè)人資料頁(yè)面中將使用EL表達(dá)式將用戶(hù)的信息顯示出來(lái)。當(dāng)用戶(hù)修改自己的資料時(shí),使用ID從數(shù)據(jù)庫(kù)中找到用戶(hù)的記錄進(jìn)行修改。
3.2.4 商品購(gòu)買(mǎi)。商品購(gòu)買(mǎi)需要在用戶(hù)已經(jīng)登錄的情況下才能進(jìn)行使用。在購(gòu)買(mǎi)時(shí)將用戶(hù)ID、商品ID、訂單號(hào)存入數(shù)據(jù)庫(kù)中,并且跳轉(zhuǎn)到選擇的付款銀行的付款頁(yè)面進(jìn)行付款。效果如圖3所示:
3.2.5 搜索。將關(guān)鍵字輸入到搜索框中,在數(shù)據(jù)庫(kù)中搜索含有關(guān)鍵字的記錄,將搜索結(jié)果返回到頁(yè)面顯示給用戶(hù)或者管理員。
3.2.6 郵件發(fā)送。本系統(tǒng)中的郵件發(fā)送是通過(guò)第三方郵件操作組件Jmail來(lái)實(shí)現(xiàn)的,在Jmail中使用組件的put()方法設(shè)置第三方的郵件服務(wù)器,通過(guò)setFrom()方法設(shè)置郵件發(fā)送方,通過(guò)setRecipient()方法設(shè)置郵件接受方,通過(guò)setContent()方法來(lái)設(shè)置郵件的內(nèi)容,最后通過(guò)send()方法將郵件發(fā)送出去。在本系統(tǒng)中,所使用的第三方郵件服務(wù)器為網(wǎng)易的郵件服務(wù)器。
3.2.7 后臺(tái)管理。管理員登錄后,對(duì)商品、會(huì)員、客服進(jìn)行管理時(shí),均是從數(shù)據(jù)庫(kù)中取出相應(yīng)的數(shù)據(jù),在傳到頁(yè)面進(jìn)行顯示。在管理員對(duì)數(shù)據(jù)進(jìn)行CURD操作時(shí),將所要操作記錄的ID傳到相應(yīng)的servlet中,調(diào)用對(duì)應(yīng)的方法來(lái)進(jìn)行CURD操作。
4 結(jié)束語(yǔ)
本系統(tǒng)采用的是JavaBean+Jsp+Servlet的方式,代碼層次分明,將后臺(tái)操作的代碼與視圖設(shè)計(jì)的代碼分離。同時(shí)采用的J2EE的平臺(tái),可移植性高。因使用MVC設(shè)計(jì)模式,沒(méi)有使用框架,在代碼量上會(huì)偏大。本平臺(tái)是將平常的購(gòu)物網(wǎng)站針對(duì)高校學(xué)生的需求功能設(shè)計(jì)出了一個(gè)適用于高校學(xué)生的購(gòu)網(wǎng)平臺(tái)。
參考文獻(xiàn):
[1]郭克華,宋虹.Java Web開(kāi)發(fā)與應(yīng)用[M].北京:清華大學(xué)出版社,2013(04).
[2]伍海波,匡靜,朱承學(xué).楊基于MVC的教學(xué)資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(07).
[3]孫昌愛(ài),趙敏,何嘯.一種面向Web服務(wù)的綜合可信性度量模型[J].北京科技大學(xué)學(xué)報(bào),2014(04).
[4]許家珆,白忠建,吳磊.軟件工程—理論與實(shí)踐(第二版)[M].北京:高等教育出版社,2009(10).
作者簡(jiǎn)介:賀建英(1979-),女,四川簡(jiǎn)陽(yáng)人,講師,碩士,研究方向:軟件技術(shù)、數(shù)據(jù)挖掘、物聯(lián)網(wǎng);蔡云(1992-),男,四川什邡人,本科在讀,研究方向:計(jì)算機(jī)軟件技術(shù)。
作者單位:四川文理學(xué)院 計(jì)算機(jī)學(xué)院,四川達(dá)州 635000
基金項(xiàng)目:四川文理學(xué)院大學(xué)生項(xiàng)目:基于校園網(wǎng)的ZeroClothing購(gòu)物平臺(tái)的設(shè)計(jì)與搭建(項(xiàng)目編號(hào):X2013Z013)。