王海峰 ,孫海濤,曾佳峰
(三亞學(xué)院,海南三亞,572000)
依照如今的大學(xué)生生活現(xiàn)狀來看,大學(xué)生在大學(xué)四年的生活中,有許多不用的物品不知道該如何處理。這些閑置物品仍然具備價(jià)值,仍然有人需要,仍然可以使用。而一般大學(xué)生對于這些物品的處理方式一般是將它們丟棄,或者轉(zhuǎn)送認(rèn)識的人,極少數(shù)會進(jìn)行交易,這造成了物品的浪費(fèi)。在丟棄時(shí)又會覺得有些不值得,這就會給大學(xué)生們帶來困擾,并且造成了一定程度的浪費(fèi)。從構(gòu)建低碳社會,減少資源浪費(fèi)的角度這種做法都不是一種合適的方法,物品的持有者也會因?yàn)槲锲返膩G棄而造成資金的浪費(fèi),在這種情況下,一個(gè)可以讓大學(xué)生交易無用物品的平臺顯然是很好的,可以滿足大學(xué)生的這種需求[1]。
JavaScript 是一種基于對象和事件驅(qū)動(dòng)的客戶端腳本語言,具有相對安全性。客戶端Web 開發(fā)的腳本語言的選擇經(jīng)常是JavaScript,給html 頁面添加動(dòng)態(tài)功能時(shí)也可以選用JavaScript,JavaScript 是一種動(dòng)態(tài)、弱類型、基于原型的語言,內(nèi)置支持類[2]。
開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng):MySQL,作為關(guān)系型數(shù)據(jù)庫,它把數(shù)據(jù)存放在一張一張的表之中,每張表代表著一個(gè)實(shí)體。實(shí)體之間的聯(lián)系通過關(guān)系模型來體現(xiàn)[3]。使用MySQL 作為數(shù)據(jù)庫可以有效地使訪問數(shù)據(jù)更具備靈活性,在一定程度上有效地提高了訪問的效率。并且MySQL數(shù)據(jù)庫使用的語言是方便編寫的符合標(biāo)準(zhǔn)的常用語言。普遍在中小型網(wǎng)站開發(fā)中會經(jīng)常使用MySQL 作為數(shù)據(jù)庫管理系統(tǒng)。作為現(xiàn)在比較流行的數(shù)據(jù)庫管理系統(tǒng)MySQL,在網(wǎng)絡(luò)數(shù)據(jù)表處理和相關(guān)表制作方面,MySQL 關(guān)系數(shù)據(jù)庫管理系統(tǒng)相交其他數(shù)據(jù)庫管理系統(tǒng)是相較之下更方便的。并且MySQL 在可靠性,可拓展性這些方面上也都有比較好的表現(xiàn),對于網(wǎng)站和web 應(yīng)用程序來說是一個(gè)很好的選擇[4]。
Spring 開源框架和MyBatis 開源框架通過一系列的聚合形成了SSM 框架,SSM 框架在數(shù)據(jù)信息流比較小的情況下,通常會有很好的表現(xiàn),所以在比較簡單的web 項(xiàng)目中一般會采用SSM 框架,本文闡述的二手物品交易平臺正是采用的這種框架結(jié)構(gòu)。Spring 相較于其他框架,它是一個(gè)開放源代碼的、比較輕量級的Java 程序的開發(fā)框架。SpringMVC 屬 于SpringFrameWork的 一個(gè) 組 件, 用 于Javaee 開發(fā)過程中的控制層。對于Java 運(yùn)行環(huán)境開發(fā)的框架MyBatis,MyBatista的主要作用是對數(shù)據(jù)庫進(jìn)行封裝處理,通過這種封裝處理會顯明數(shù)據(jù)庫的底層操作,有利于數(shù)據(jù)庫的開發(fā)和更新。MyBatis 框架使數(shù)據(jù)庫的增加、刪除、修改和查詢操作變得透明和簡單。程序員無需手動(dòng)編寫Java 數(shù)據(jù)庫連接和部分結(jié)構(gòu)化查詢語言代碼,只通過XML文件或注解就能將接口和簡單潔凈Java 對象映射成數(shù)據(jù)庫中的記錄[5]。
JSP 開 發(fā) 技 術(shù)JSP(Java Server Pages) 是 由Sun Microsystems 公司倡導(dǎo)、許多公司一起參與建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),在動(dòng)態(tài)網(wǎng)頁的建設(shè)中有其強(qiáng)大而特別的功能,它主要用于創(chuàng)建可支持跨平臺及跨Web 服務(wù)器的動(dòng)態(tài)網(wǎng)頁[6]。JSP 可以對網(wǎng)頁底層運(yùn)行邏輯進(jìn)行單獨(dú)編寫,而不用每次編寫網(wǎng)頁外形設(shè)計(jì)的,可以極大地降低重復(fù)工作,也可以讓專門的人負(fù)責(zé)進(jìn)行專門的設(shè)計(jì),有利于代碼的編寫,會讓小成本和個(gè)人進(jìn)行網(wǎng)站創(chuàng)作更加簡單。
系統(tǒng)的操作人員,用戶以及游客,系統(tǒng)的操作人員主要工作是使系統(tǒng)可以正常運(yùn)作,并且可以對所有用戶的信息進(jìn)行操作,而用戶可以對于自身信息進(jìn)行在規(guī)定范圍內(nèi)的修改和刪除。系統(tǒng)的操作人員對用戶發(fā)布平臺上的物品進(jìn)行核實(shí)和管理。訂單管理,是對訂單的審核和維護(hù),保證訂單的數(shù)目,購買的用戶和出售的賣家得準(zhǔn)確,以及付款的狀態(tài)。購物車管理,購物車是對用戶想要買的商品的一種標(biāo)記狀態(tài),如果商品已出售,購物車內(nèi)商品狀態(tài)應(yīng)隨之改動(dòng)。
系統(tǒng)開發(fā)基于JavaWeb,在瀏覽器/服務(wù)器的體系架構(gòu)中開發(fā)的系統(tǒng),系統(tǒng)中的用戶是直接通過瀏覽器向已經(jīng)連接到互聯(lián)網(wǎng)上的各個(gè)服務(wù)器進(jìn)行信息的交互。B/S 架構(gòu)有著一系列的好處,對于開發(fā)系統(tǒng)來說是非常不錯(cuò)的選擇,所以本系統(tǒng)選用B/S 架構(gòu)作為服務(wù)器架構(gòu)。表示層、功能層和數(shù)據(jù)層在這種架構(gòu)下是三個(gè)獨(dú)立的單元:表示層即為Web瀏覽器顯示,作用是顯示服務(wù)器傳送來的信息,并對于用戶的請求進(jìn)行傳送,它本身位于用戶客機(jī)端,可以對信息進(jìn)行簡單處理。功能層即是具有信息處理能力,功能層本身處在服務(wù)器端上,并可以與服務(wù)器的數(shù)據(jù)庫進(jìn)行交互的具有擴(kuò)展功能的瀏覽器服務(wù)器,它可以接收到來自表示層的請求信息,然后將請求信息處理訪問相應(yīng)的數(shù)據(jù)庫進(jìn)行分析,得到數(shù)據(jù)庫相應(yīng)的信息后,經(jīng)過簡單處理最后傳遞給表示層相應(yīng)的信息。數(shù)據(jù)層即是數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)層本身位于服務(wù)器端,一般的信息處理都是在數(shù)據(jù)庫中完成的,可以完成來自功能層的種種請求,可以實(shí)時(shí)對數(shù)據(jù)庫進(jìn)行修改操作,在將信息處理完成后,將結(jié)果信息交到功能層中。
系統(tǒng)的性能需求,要盡量滿足用戶對于系統(tǒng)的需求,執(zhí)行速度,響應(yīng)速度,吞吐量要盡可能地提高。系統(tǒng)安全性需求,二手閑置物品交易系統(tǒng)中記錄了很多淘友的個(gè)人信息,賬戶金額等信息,這些信息系具有一定和價(jià)值會被一些不法分子利用。所以,系統(tǒng)一定要保障用戶信息的安全,采用合理的框架和結(jié)構(gòu),不允許輕易訪問和破壞用戶信息的漏洞出現(xiàn)。
本二手閑置物品交易系統(tǒng)是使用開發(fā)框架選擇的是SSM 框架,采用的是MVC 模式,將平臺系統(tǒng)劃分為四層:分別是View 層,Controller 層,Service 層和DAO 層。在這里面SpringMVC 是作為客機(jī)信息的接受者,對于客機(jī)信息進(jìn)行簡單的分析,之后將相應(yīng)的信息發(fā)送到相應(yīng)的位置。Spring的主要功能是對具體的信息對象進(jìn)行相應(yīng)的處理管理。MyBatis 對數(shù)據(jù)對象進(jìn)行相應(yīng)的處理。交易系統(tǒng)的架構(gòu)簡潔流程如圖1所示。
圖1 系統(tǒng)架構(gòu)運(yùn)行圖
大學(xué)生閑置物品交易網(wǎng)站需要同時(shí)具備系統(tǒng)操作人員、用戶的功能滿足,相較于一般的系統(tǒng)復(fù)雜程度比較高,需要進(jìn)行相對完善的系統(tǒng)設(shè)計(jì)和分析規(guī)劃。盡力構(gòu)建相對健全的大學(xué)生閑置物品交易平臺。在系統(tǒng)設(shè)計(jì)中要包括前臺的網(wǎng)頁顯示、處理數(shù)據(jù)的后臺框架、存放相關(guān)數(shù)據(jù)庫表的MySQL系統(tǒng)等等,在客機(jī)網(wǎng)站中要顯示閑置物品的圖片,閑置物品的品類名,閑置物品的價(jià)格,閑置物品的具體信息等等信息。還要對用戶的信息請求進(jìn)行相應(yīng)操作,如果是注冊信息表就交由Dao 層存儲在MySQL 數(shù)據(jù)庫中,如果是其他信息比如錢包充值信息就交由相應(yīng)的管理員進(jìn)行審批等等。平臺后臺相關(guān)功能的用例如圖2所示。
圖2 系統(tǒng)后臺功能模塊結(jié)構(gòu)圖
客機(jī)前臺顯示功能要實(shí)現(xiàn)如下功能,包括注冊提交相應(yīng)信息成為淘友、淘友在客機(jī)登錄、閑置物品優(yōu)先推薦、閑置物品分類顯示、閑置物品搜索顯示、閑置物品發(fā)布、閑置物品詳情、閑置物品求購、淘友錢包自管理、閑置物品訂單信息查看和淘友個(gè)人信息設(shè)置。平臺前臺相關(guān)功能的用例如圖3所示。
圖3 系統(tǒng)前臺功能模塊結(jié)構(gòu)圖
一個(gè)優(yōu)秀的數(shù)據(jù)庫設(shè)計(jì),在接收到計(jì)算機(jī)發(fā)送的命令之后,能夠在非常短的時(shí)間內(nèi)準(zhǔn)確檢索到需要的信息資源,從而很好地提高計(jì)算機(jī)的運(yùn)行速度[7]。如果想要Java 代碼可以更加簡單,那么一個(gè)合理的數(shù)據(jù)庫設(shè)計(jì)是必不可少的,數(shù)據(jù)庫的相關(guān)設(shè)計(jì)越完善,那么就越有利于整個(gè)系統(tǒng)代碼的編寫,開一在一定程度上提高存儲數(shù)據(jù)的效率,有利于整個(gè)數(shù)據(jù)庫的完整性、可讀性。本文闡述的校園閑置物品交易系統(tǒng)是采用MySQL 開發(fā)工具作為后臺數(shù)據(jù)庫,大學(xué)生閑置物品交易平臺的全局E-R 模型圖,如圖4所示。
圖4 大學(xué)生閑置物品交易網(wǎng)站全局E-R圖
通過前面的分析,系統(tǒng)設(shè)計(jì)采用B/S 模式,基于Web技術(shù)、Java 開發(fā)語音和MySQL 數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)基于SSM框架的大學(xué)生閑置物品交易網(wǎng)站,實(shí)現(xiàn)用戶注冊登錄、二手商品買賣、評論等功能。
管理員登錄的模塊相對獨(dú)立于用戶的登錄模塊,管理員登錄時(shí),在提交相應(yīng)的登錄信息后,在系統(tǒng)檢測賬號密碼無誤后,會登錄至校園閑置物品交易平臺的后臺界面。系統(tǒng)操作人員在登錄到校園閑置物品交易平臺后臺,可以看到校園閑置物品交易平臺后臺的顯示界面,在后臺主界面主要可以分為用戶相關(guān)信息管理和查詢模塊、閑置物品相關(guān)信息管理和查詢模塊、閑置物品訂單相關(guān)信息管理和查詢模塊、校園閑置物品交易平臺用戶個(gè)人錢包管理和查詢模塊和校園閑置物品平臺相關(guān)設(shè)置幾個(gè)模塊。
在游客狀態(tài),可以進(jìn)行閑置物品的瀏覽,閑置物品的查詢等操作,但是無法進(jìn)行評論、購買等操作。如需要獲得更多權(quán)限,就需要進(jìn)行用戶注冊。在注冊狀態(tài),用戶的注冊需要填寫昵稱、手機(jī)號、密碼等相關(guān)信息。用戶要登錄時(shí),需要填寫手機(jī)號、密碼。用戶可以進(jìn)行閑置物品的發(fā)布,對閑置物品進(jìn)行評論,對閑置物品的關(guān)注,購買閑置物品,查看已發(fā)布的閑置物品和進(jìn)行閑置物品相應(yīng)的訂單查看,個(gè)人信息修改設(shè)置等功能。用戶登錄到閑置物品交易平臺后,可以進(jìn)入個(gè)人設(shè)置,更改個(gè)人信息,包括昵稱,手機(jī)號,qq 等。
在測試中有非常著名的黑盒測試和白盒測試,按查看系統(tǒng)內(nèi)部構(gòu)造具體實(shí)現(xiàn)方法來進(jìn)行區(qū)分,也可以進(jìn)行靜態(tài)測試和動(dòng)態(tài)測試,它們是從是否運(yùn)行來區(qū)分。按照軟件在開發(fā)中的進(jìn)程分出的時(shí)間段進(jìn)行分割測試分有:各個(gè)單元的單獨(dú)測試、總體單元的集成測試、確認(rèn)測試、系統(tǒng)總體測試、驗(yàn)收測試、回歸測試、Alpha 測試、Beta 測試;經(jīng)過測試,校園閑置物品交易平臺的基本功能模塊可以順利運(yùn)行。
因校園閑置物品交易平臺涉及的功能模塊較多,相關(guān)測試內(nèi)容篇幅較長,僅展示部分系統(tǒng)功能模塊的測試用例及結(jié)果,表1 是系統(tǒng)會員登入的測試表,從測試的結(jié)果來看可以達(dá)到期望結(jié)果。
表1 登錄系統(tǒng)測試
用戶購買商品時(shí)會存在余額不足的問題,如果余額不足,那么是否可以成功下單商品,表2 是本系統(tǒng)用戶購買商品的測試表,從測試及結(jié)果來看符合期望結(jié)果。
表2 用戶購買商品測試表
本文闡述了用JAVA 語言開發(fā)的J2EE 框架的閑置物品交易平臺,實(shí)現(xiàn)了高內(nèi)聚、低耦合的要求,本平臺的可擴(kuò)張性和維護(hù)都極為簡易。在一定程度上解決了高校二手商品交易渠道問題,經(jīng)過測試實(shí)現(xiàn)了用戶注冊、商品發(fā)布、買賣交易等功能。