劉玉坤
平頂山學(xué)院 計(jì)算機(jī)學(xué)院(軟件學(xué)院) 河南 平頂山 467000
目前,Web開發(fā)技術(shù)仍在快速發(fā)展中,異步開發(fā)、新的MVVM前端技術(shù)層出不窮。通過Node.js,JavaScript成為與PHP、Python等服務(wù)端語(yǔ)言平起平坐的腳本語(yǔ)言[1]。它本質(zhì)上是封裝了Chrome的V8引擎。并優(yōu)化了一些特性,提供了一種替代的API,使V8在非瀏覽器環(huán)境中更好地工作。V8引擎可以快速執(zhí)行JavaScript,性能極好。通過Node這個(gè)平臺(tái),前端和后端可以更好地交互,從前端頁(yè)面到業(yè)務(wù)邏輯,再到底層數(shù)據(jù)庫(kù)都有較強(qiáng)的適應(yīng)能力,大大提高了開發(fā)人員的開發(fā)效率。
本系統(tǒng)是一個(gè)功能相對(duì)完善的網(wǎng)上購(gòu)物系統(tǒng),此網(wǎng)站主要是以銷售為主,具有對(duì)于所有的購(gòu)物網(wǎng)站都不可或缺的功能,其中主要包括以下幾個(gè)方面:
(1)用戶信息管理:顧客在進(jìn)入系統(tǒng)后,當(dāng)選定商品時(shí),需要進(jìn)行登錄,如果沒有注冊(cè)過則需要進(jìn)行注冊(cè),在登錄之后進(jìn)入到個(gè)人信息的頁(yè)面中可以對(duì)自己的一些基本信息進(jìn)行查詢和修改。
(2)商品種類管理:顧客在登錄系統(tǒng)后,進(jìn)入到商品種類管理頁(yè),在此頁(yè)面可以對(duì)商品種類信息進(jìn)行修改、添加商品種類。
(3)商品分類查詢:顧客在登錄系統(tǒng)后,可以根據(jù)自己的喜好,進(jìn)入不同的分類之中進(jìn)行商品的查看與選購(gòu)。
(4)商品操作:顧客在登錄系統(tǒng)后,可以在系統(tǒng)中搜索商品,并可以在登錄系統(tǒng)后對(duì)商品進(jìn)行購(gòu)買。
(5)購(gòu)物車管理:顧客在登錄系統(tǒng)后,可以管理購(gòu)物車,能夠把自己喜歡的或者感興趣的商品添加到購(gòu)物車中,方便以后的購(gòu)買。
(6)商品信息管理:管理員可以對(duì)商品進(jìn)行增、刪、改、查等,并且可以對(duì)自己的商品進(jìn)行正常的維護(hù)。顧客在登錄系統(tǒng)后,可以對(duì)自己喜愛的和想購(gòu)買的商品進(jìn)行查看,并能根據(jù)商品的基本信息、商品的簡(jiǎn)單描述來對(duì)商品進(jìn)行搜索。
(7)訂單信息管理:顧客在登錄系統(tǒng)后,當(dāng)顧客對(duì)自己喜愛的商品下單后,系統(tǒng)會(huì)自動(dòng)的根據(jù)商品的價(jià)格進(jìn)行計(jì)算,根據(jù)顧客提交的訂單信息生成訂單詳情,顧客可以通過查詢訂單來觀察訂單詳情。
由于篇幅有限,這里僅以登錄的設(shè)計(jì)與實(shí)現(xiàn)說明設(shè)計(jì)全程。
根據(jù)上述功能描述,基于Node.js的在線購(gòu)物系統(tǒng)主要有系統(tǒng)管理員、普通用戶、游客三類用戶。每類用戶功能描述如下。
管理員用戶:管理員主要能夠上架商品、查看商品、商品信息修改、登錄信息修改、用戶信息管理和商品評(píng)論管理。其中登錄信息修改用例描述如下。

表1 登錄信息修改用例描述
“潮流街”商城系統(tǒng)如同經(jīng)常使用的淘寶商城和京東商城一樣,是一個(gè)功能相對(duì)完善的在線購(gòu)物網(wǎng)站系統(tǒng),網(wǎng)站可以給消費(fèi)者提供功能相對(duì)完善的購(gòu)物體驗(yàn),購(gòu)物商城的功能主要包括了商品的管理、商品的分類、用戶信息的管理,商品搜索功能、商品結(jié)算與支付的功能等。
系統(tǒng)采用了B/S架構(gòu), Web瀏覽器是客戶端最主要業(yè)務(wù)處理的應(yīng)用軟件,系統(tǒng)的核心功能實(shí)現(xiàn)部分集中到了服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā)、維護(hù)和使用[2]。
用戶進(jìn)入系統(tǒng)中,如需要進(jìn)行接下來的操作,第一步就是登錄,從而能夠?qū)ι唐愤M(jìn)行瀏覽和購(gòu)買,但是用戶在第一次登錄系統(tǒng)的時(shí)候是沒有進(jìn)行賬號(hào)注冊(cè),所以首先需要進(jìn)行注冊(cè)操作。下文將從注冊(cè)界面模塊功能的設(shè)計(jì)對(duì)注冊(cè)登錄功能進(jìn)行闡述。
(1)注冊(cè)登錄界面設(shè)計(jì)
注冊(cè)頁(yè)面和登錄頁(yè)面都是在一個(gè)表單當(dāng)中,表單由用戶名輸入框、密碼框和按鈕構(gòu)成,注冊(cè)登錄界面設(shè)計(jì)如圖1所示。

圖1 注冊(cè)登錄界面設(shè)計(jì)圖
(2)注冊(cè)登錄功能設(shè)計(jì)
在成功進(jìn)入注冊(cè)頁(yè)面之后,首先選擇注冊(cè),填寫用戶名后系統(tǒng)會(huì)對(duì)輸入的用戶名進(jìn)行判斷,如果不符合條件則會(huì)在控制臺(tái)中彈出提示信息,填寫的信息符合條件時(shí),系統(tǒng)會(huì)把頁(yè)面上填寫的信息存儲(chǔ)到數(shù)據(jù)庫(kù)中的user信息表中起來。完成注冊(cè)之后,操作系統(tǒng)中的大量功能都首先需要用戶進(jìn)行登錄,登錄若能通過驗(yàn)證則對(duì)輸入的用戶名和密碼與數(shù)據(jù)庫(kù)user中的信息進(jìn)行對(duì)比,對(duì)比通過則成功進(jìn)入系統(tǒng),否則登錄失敗。
系統(tǒng)的實(shí)現(xiàn)主要包括兩部分:創(chuàng)建數(shù)據(jù)庫(kù)和搭建頁(yè)面的框架[3]。其中對(duì)于數(shù)據(jù)庫(kù)的創(chuàng)建大家并不陌生,而一個(gè)全新系統(tǒng)的框架搭建卻不盡相同。
用戶進(jìn)入到首頁(yè)中側(cè)邊導(dǎo)航欄后,點(diǎn)擊個(gè)人信息選項(xiàng)可以進(jìn)入登錄注冊(cè)頁(yè)面,在此頁(yè)面中輸入用戶信息之后,此時(shí)系統(tǒng)會(huì)發(fā)出Register()請(qǐng)求,Register()調(diào)用UserControl層中的findUserByName()方法,最后返回查詢的結(jié)果,根據(jù)返回的結(jié)果進(jìn)行判斷,并給用戶相應(yīng)的反饋。點(diǎn)擊注冊(cè)按鈕,驗(yàn)證請(qǐng)求由Post表單提交到后臺(tái)數(shù)據(jù)庫(kù)中,Register()方法通過調(diào)用UserControl層的SaveUser()方法,通過該方法將注冊(cè)的符合要求的信息存入到User數(shù)據(jù)集合當(dāng)中,若注冊(cè)失敗,則需要重新填寫注冊(cè)信息。
在最后的測(cè)試階段,測(cè)試者不僅是對(duì)系統(tǒng)進(jìn)行各項(xiàng)功能測(cè)試,還是對(duì)系統(tǒng)的一個(gè)驗(yàn)收,當(dāng)然更主要的目標(biāo)是尋找系統(tǒng)中仍然存在的缺陷,并根據(jù)其出現(xiàn)的缺陷,找到系統(tǒng)中存在的bug和判斷此bug與其他模塊是否存在關(guān)聯(lián)。
眾所周知,整個(gè)系統(tǒng)在沒上線之前都是極有可能出現(xiàn)程序崩潰,系統(tǒng)缺陷、代碼失效等等狀況,整個(gè)系統(tǒng)的質(zhì)量也可能會(huì)出現(xiàn)風(fēng)險(xiǎn)從而導(dǎo)致系統(tǒng)運(yùn)行不會(huì)如期的進(jìn)行,極有可能會(huì)顛覆使用者對(duì)網(wǎng)站的信賴以及顧客的支持[4]。
用戶登錄模塊主要實(shí)現(xiàn)了以下幾個(gè)功能,分別是新用戶注冊(cè)、已注冊(cè)用戶登錄等功能。該模塊測(cè)試果如表1所示。

表2 用戶登錄模塊測(cè)試用例
通過以上的相關(guān)測(cè)試,盡管只制作了以上幾個(gè)功能模塊的測(cè)試表,但是在實(shí)際情況下,所有的功能都基本達(dá)到了預(yù)期的要求,滿足了需求上分析的各種要求。
該在線購(gòu)物網(wǎng)站,對(duì)于商家來說,由于其運(yùn)營(yíng)成本低,經(jīng)營(yíng)規(guī)模不受場(chǎng)地限制,應(yīng)用此系統(tǒng)將給他們帶來巨大的經(jīng)濟(jì)利益。而對(duì)于消費(fèi)者來說,在該系統(tǒng)上進(jìn)行購(gòu)物能讓他們感受到更方便、快捷的購(gòu)物生活。