劉玉坤
平頂山學(xué)院 計(jì)算機(jī)學(xué)院(軟件學(xué)院) 河南 平頂山 467000
目前,Web開發(fā)技術(shù)仍在快速發(fā)展中,異步開發(fā)、新的MVVM前端技術(shù)層出不窮。通過Node.js,JavaScript成為與PHP、Python等服務(wù)端語言平起平坐的腳本語言[1]。它本質(zhì)上是封裝了Chrome的V8引擎。并優(yōu)化了一些特性,提供了一種替代的API,使V8在非瀏覽器環(huán)境中更好地工作。V8引擎可以快速執(zhí)行JavaScript,性能極好。通過Node這個(gè)平臺(tái),前端和后端可以更好地交互,從前端頁面到業(yè)務(wù)邏輯,再到底層數(shù)據(jù)庫都有較強(qiáng)的適應(yīng)能力,大大提高了開發(fā)人員的開發(fā)效率。
本系統(tǒng)是一個(gè)功能相對完善的網(wǎng)上購物系統(tǒng),此網(wǎng)站主要是以銷售為主,具有對于所有的購物網(wǎng)站都不可或缺的功能,其中主要包括以下幾個(gè)方面:
(1)用戶信息管理:顧客在進(jìn)入系統(tǒng)后,當(dāng)選定商品時(shí),需要進(jìn)行登錄,如果沒有注冊過則需要進(jìn)行注冊,在登錄之后進(jìn)入到個(gè)人信息的頁面中可以對自己的一些基本信息進(jìn)行查詢和修改。
(2)商品種類管理:顧客在登錄系統(tǒng)后,進(jìn)入到商品種類管理頁,在此頁面可以對商品種類信息進(jìn)行修改、添加商品種類。
(3)商品分類查詢:顧客在登錄系統(tǒng)后,可以根據(jù)自己的喜好,進(jìn)入不同的分類之中進(jìn)行商品的查看與選購。
(4)商品操作:顧客在登錄系統(tǒng)后,可以在系統(tǒng)中搜索商品,并可以在登錄系統(tǒng)后對商品進(jìn)行購買。
(5)購物車管理:顧客在登錄系統(tǒng)后,可以管理購物車,能夠把自己喜歡的或者感興趣的商品添加到購物車中,方便以后的購買。
(6)商品信息管理:管理員可以對商品進(jìn)行增、刪、改、查等,并且可以對自己的商品進(jìn)行正常的維護(hù)。顧客在登錄系統(tǒng)后,可以對自己喜愛的和想購買的商品進(jìn)行查看,并能根據(jù)商品的基本信息、商品的簡單描述來對商品進(jìn)行搜索。
(7)訂單信息管理:顧客在登錄系統(tǒng)后,當(dāng)顧客對自己喜愛的商品下單后,系統(tǒng)會(huì)自動(dòng)的根據(jù)商品的價(jià)格進(jìn)行計(jì)算,根據(jù)顧客提交的訂單信息生成訂單詳情,顧客可以通過查詢訂單來觀察訂單詳情。
由于篇幅有限,這里僅以登錄的設(shè)計(jì)與實(shí)現(xiàn)說明設(shè)計(jì)全程。
根據(jù)上述功能描述,基于Node.js的在線購物系統(tǒng)主要有系統(tǒng)管理員、普通用戶、游客三類用戶。每類用戶功能描述如下。
管理員用戶:管理員主要能夠上架商品、查看商品、商品信息修改、登錄信息修改、用戶信息管理和商品評論管理。其中登錄信息修改用例描述如下。
表1 登錄信息修改用例描述
“潮流街”商城系統(tǒng)如同經(jīng)常使用的淘寶商城和京東商城一樣,是一個(gè)功能相對完善的在線購物網(wǎng)站系統(tǒng),網(wǎng)站可以給消費(fèi)者提供功能相對完善的購物體驗(yàn),購物商城的功能主要包括了商品的管理、商品的分類、用戶信息的管理,商品搜索功能、商品結(jié)算與支付的功能等。
系統(tǒng)采用了B/S架構(gòu), Web瀏覽器是客戶端最主要業(yè)務(wù)處理的應(yīng)用軟件,系統(tǒng)的核心功能實(shí)現(xiàn)部分集中到了服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用[2]。
用戶進(jìn)入系統(tǒng)中,如需要進(jìn)行接下來的操作,第一步就是登錄,從而能夠?qū)ι唐愤M(jìn)行瀏覽和購買,但是用戶在第一次登錄系統(tǒng)的時(shí)候是沒有進(jìn)行賬號注冊,所以首先需要進(jìn)行注冊操作。下文將從注冊界面模塊功能的設(shè)計(jì)對注冊登錄功能進(jìn)行闡述。
(1)注冊登錄界面設(shè)計(jì)
注冊頁面和登錄頁面都是在一個(gè)表單當(dāng)中,表單由用戶名輸入框、密碼框和按鈕構(gòu)成,注冊登錄界面設(shè)計(jì)如圖1所示。
圖1 注冊登錄界面設(shè)計(jì)圖
(2)注冊登錄功能設(shè)計(jì)
在成功進(jìn)入注冊頁面之后,首先選擇注冊,填寫用戶名后系統(tǒng)會(huì)對輸入的用戶名進(jìn)行判斷,如果不符合條件則會(huì)在控制臺(tái)中彈出提示信息,填寫的信息符合條件時(shí),系統(tǒng)會(huì)把頁面上填寫的信息存儲(chǔ)到數(shù)據(jù)庫中的user信息表中起來。完成注冊之后,操作系統(tǒng)中的大量功能都首先需要用戶進(jìn)行登錄,登錄若能通過驗(yàn)證則對輸入的用戶名和密碼與數(shù)據(jù)庫user中的信息進(jìn)行對比,對比通過則成功進(jìn)入系統(tǒng),否則登錄失敗。
系統(tǒng)的實(shí)現(xiàn)主要包括兩部分:創(chuàng)建數(shù)據(jù)庫和搭建頁面的框架[3]。其中對于數(shù)據(jù)庫的創(chuàng)建大家并不陌生,而一個(gè)全新系統(tǒng)的框架搭建卻不盡相同。
用戶進(jìn)入到首頁中側(cè)邊導(dǎo)航欄后,點(diǎn)擊個(gè)人信息選項(xiàng)可以進(jìn)入登錄注冊頁面,在此頁面中輸入用戶信息之后,此時(shí)系統(tǒng)會(huì)發(fā)出Register()請求,Register()調(diào)用UserControl層中的findUserByName()方法,最后返回查詢的結(jié)果,根據(jù)返回的結(jié)果進(jìn)行判斷,并給用戶相應(yīng)的反饋。點(diǎn)擊注冊按鈕,驗(yàn)證請求由Post表單提交到后臺(tái)數(shù)據(jù)庫中,Register()方法通過調(diào)用UserControl層的SaveUser()方法,通過該方法將注冊的符合要求的信息存入到User數(shù)據(jù)集合當(dāng)中,若注冊失敗,則需要重新填寫注冊信息。
在最后的測試階段,測試者不僅是對系統(tǒng)進(jìn)行各項(xiàng)功能測試,還是對系統(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ì)顛覆使用者對網(wǎng)站的信賴以及顧客的支持[4]。
用戶登錄模塊主要實(shí)現(xiàn)了以下幾個(gè)功能,分別是新用戶注冊、已注冊用戶登錄等功能。該模塊測試果如表1所示。
表2 用戶登錄模塊測試用例
通過以上的相關(guān)測試,盡管只制作了以上幾個(gè)功能模塊的測試表,但是在實(shí)際情況下,所有的功能都基本達(dá)到了預(yù)期的要求,滿足了需求上分析的各種要求。
該在線購物網(wǎng)站,對于商家來說,由于其運(yùn)營成本低,經(jīng)營規(guī)模不受場地限制,應(yīng)用此系統(tǒng)將給他們帶來巨大的經(jīng)濟(jì)利益。而對于消費(fèi)者來說,在該系統(tǒng)上進(jìn)行購物能讓他們感受到更方便、快捷的購物生活。