【正文】
vlet處理 Web系統(tǒng)的工作量。 Servlet 是在服務(wù)器端執(zhí)行的,具有良好的移植性,不論操作系統(tǒng)是Windows、 Linux、 Unix 等等,都能將寫好的 Servlet 程序放在這些操作系統(tǒng)上執(zhí)行,是真正的寫一次,到處執(zhí)行。其次是性能,執(zhí)行一次以 后,會(huì)停留在內(nèi)存中一段時(shí)間,當(dāng)有相同的請(qǐng)求發(fā)生時(shí), Servlet 會(huì)利用不同的線程來處理,在性能上會(huì)有大幅的提升,而服務(wù)器會(huì)自動(dòng)清除停留時(shí)間過長(zhǎng)而且沒有執(zhí)行的 Servlet,最后 Servlet 也有類型檢查的特性,并且利用 Java 的垃圾收集與沒有指針的設(shè)計(jì),使得 Servlet 避免內(nèi)存管理的問題 [11]。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 8 使用到的技術(shù) DAO,標(biāo)準(zhǔn)標(biāo)簽庫, EL 表達(dá)式,過濾器,自定義標(biāo)簽庫等 。在這個(gè) 應(yīng)用程序 中,當(dāng)需要和 數(shù)據(jù)源進(jìn)行交互的時(shí)候則使用這個(gè)接口,并且編寫一個(gè)單獨(dú)的類來實(shí)現(xiàn)這個(gè)接口在邏輯上對(duì)應(yīng)這個(gè)特定的數(shù)據(jù)存儲(chǔ) 系統(tǒng)的安全性 身份鑒別 系統(tǒng)用于客戶對(duì)商品的購買,因此安全性 尤為重要,為防止未授權(quán)用戶和未注冊(cè)用戶繞過用戶登錄頁面進(jìn)入系統(tǒng)其他頁面,本系統(tǒng)用 Session 會(huì)話實(shí)現(xiàn)用戶身份驗(yàn)證,認(rèn)證用戶需正確輸入用戶名和密碼才可進(jìn)入本系統(tǒng),相 反驗(yàn)證失敗都將停留在登陸頁面 [12]。等用戶在Web 頁控件中輸入的數(shù)據(jù)違反了指定的有效性驗(yàn)證規(guī)則時(shí),系統(tǒng)會(huì)立即提醒用戶輸入信息不合法。 本章小結(jié) 需求分析對(duì)于一個(gè)系統(tǒng)的設(shè)計(jì)至關(guān)重要,本章介紹了該系統(tǒng)需要實(shí)現(xiàn)的功能、開發(fā)環(huán)境、開發(fā)工具、軟件環(huán)境、編程語言和用到的技術(shù)等。具體四層結(jié)構(gòu)分別是: 第一層: JSP 層 第二層: Servlet 層 第三層: Service 層 第四層: DAO 層 JSP 層主 要完成頁面的顯示布局,該層主要用 js, css, JSP 等技術(shù)來實(shí)現(xiàn)的,位于根目錄下的 admin 和 cstomer 文件夾下。 DAO 層 主要是與數(shù)據(jù)庫打交道,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行增刪改查,該層用到技術(shù)主要是 JavaBean 技術(shù),程序位于根目錄下的 包中 [13]。 c u s t o m e rc u s t o m e r I Dc u s t o m e r N a m ec u s t o m e r P a s s w o r dc u s t o m e r A d d r e s s 圖 31 客戶 表 購物車屬性包括購物車 ID( carID)、用戶 ID( customerID)、生成時(shí)間( createTime), ER 圖如圖 32 所示。 m e s s a g e C o n t e n tm e s s a g e I Dg o o d s I DL e a v i n g T i m el e a v i n g M e s s a g e 圖 33 留言 表 購物車明細(xì)表屬性包括商品 ID( goodsID)、購物車 ID( carID)、商品數(shù)量( quantity) , ER 圖如圖 34 所示。 G o o d sg o o d s I Dg o o d s N a m eg o o d s P r i c eg o o d s Q u a n t i t yg o o d s T y p eg o o d s P r i c t u r e g o o d s D e s c r i p e i o n 圖 35 商 品表 管理員登錄表屬性包括密碼( password)、 管理員 ID( adminID)、用戶名( username), ER 圖如圖 36 所示。 t o t a l P r i c ec r e a t e T i m eo r d e r I Dc u s t o m e r I DO r d e r F o r mq u a n t i t yg o o d s I D圖 37 訂單表 各個(gè)實(shí)體之間的對(duì)應(yīng)關(guān)系如圖 38 所示。 如圖 310 所示。注冊(cè)時(shí)需要進(jìn)行用戶驗(yàn)證,如果驗(yàn)證成功,則注冊(cè)成功,相反則注冊(cè)失敗。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 13 重置 不重復(fù) 不重置 重復(fù) 客戶表 圖 311 用戶注冊(cè)數(shù)據(jù)流圖 管理員登陸數(shù)據(jù)流圖 管理員也可以通過驗(yàn)證身份登錄管理界面來對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行管理,如果通過身份驗(yàn)證,則登錄成功,相反則登錄失敗。 管理員信息表 圖 312 管理員登陸數(shù)據(jù)流圖 購物車數(shù)據(jù)流圖 顧客可以在購物車?yán)镏苯訉?duì)訂單信息進(jìn)行更改,從而生成新訂單,對(duì)顧客是很方便的。 更改信息 生成 購 物 車 表 訂單表 圖 313 購物車數(shù)據(jù)流圖 用戶信息 用戶驗(yàn) 證 注冊(cè)成功 注冊(cè)失敗 登錄失敗 登陸成功 用戶名和密碼 身份驗(yàn)證 顧客預(yù)訂單 購物車 新訂單 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 14 商品信息維護(hù)數(shù)據(jù)流圖 商品信息如有變動(dòng)例如價(jià)格變動(dòng),管理員可以在身份驗(yàn)證后對(duì)商品信息進(jìn)行更改從而生成新的商品信息提供更給顧客。 商品表 圖 314 商品信息維護(hù)數(shù)據(jù)流圖 商品查詢數(shù)據(jù)流圖 顧客可以在商城主界面內(nèi)的搜索欄里輸入想查詢的商品名,就可以查到符合條件的商品列表。 商品表 圖 315 商品查詢數(shù)據(jù)流圖 本章小結(jié) 本章內(nèi)容對(duì)于系統(tǒng)的設(shè)計(jì)做出了簡(jiǎn)單的概述,其中有數(shù)據(jù)結(jié)構(gòu) ER 圖,系統(tǒng)工作原理圖,數(shù)據(jù)流圖,筆者分不同模塊為系統(tǒng)設(shè)計(jì)做出粗略的概括,為系統(tǒng)的詳細(xì)設(shè)計(jì)埋下伏筆。管理員模塊主要是管理商城后臺(tái)的一些信息,包括查看、添加、修改商品信息,管理顧客信息,修改密碼等。 如圖 41 所示。如圖 42 所示。 如圖 43 所示。如圖 44,45 所示。 如圖 46 所示。 如圖 47 所示。 如圖 48 所示。 如圖 49, 410 所示。數(shù)據(jù)表基本遵循一個(gè)表負(fù)責(zé)一個(gè)實(shí)體或者對(duì)象信息存儲(chǔ)的原則,表與表之間協(xié)同工作,共同實(shí)現(xiàn)網(wǎng)上銷售系統(tǒng)對(duì)數(shù)據(jù)存儲(chǔ)的要求 [14]。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 22 第 5 章 系統(tǒng)的 編碼與實(shí)現(xiàn) 管理員界面 通過管理員后臺(tái)登錄實(shí)現(xiàn)顧客注冊(cè)、登陸本系統(tǒng),實(shí)現(xiàn)顧客對(duì)商品的添加、刪除、修改、查詢等操作,實(shí)現(xiàn)顧客對(duì)購物車和訂單的管理,實(shí)現(xiàn)管理員的登陸,對(duì)客戶信息的管理,實(shí)現(xiàn)管理員對(duì)商品信息進(jìn)行增、 刪、改、查等功能,為顧客和管理員提供一個(gè)簡(jiǎn)單,方便的購物交流平臺(tái),解決了產(chǎn)品的宣傳受限制,顧客無法及時(shí)快速的了解市場(chǎng)動(dòng)態(tài),商業(yè)經(jīng)濟(jì)周轉(zhuǎn)等問題。 圖 51 管理員添加商品頁面 管理員商品查詢修改 界 面 管理員信息維護(hù)功能之一,可以按商品類型查詢 商品,選擇商品類型后點(diǎn)“查詢”按鈕會(huì)出現(xiàn)商品列表。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 23 圖 52 管理員商品查詢修改頁面 修改顧客信息界面 在修改客戶信息界面,有用戶編號(hào)、用戶登錄名、密碼、聯(lián)系地址、聯(lián)系電話、郵箱等輸入框,在這些框內(nèi)填入新信息后,點(diǎn)“確定”按鈕即可完成顧客信息的修改,點(diǎn)“重置”重新填寫。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 24 圖 54 添加新顧客 顧客列表 管理員而已有修改顧客信息的權(quán)限,在顧客列表中,點(diǎn)擊修改“按鈕 ”即可對(duì)用戶信息進(jìn)行更改。用戶登錄用戶主頁面可查看自己的訂單,對(duì)訂單詳細(xì)內(nèi)容進(jìn)行查詢。 用戶瀏覽商品,選中商品,加入購物車,點(diǎn)擊 “結(jié)算 ”生成定單。在主界面的左側(cè)部分,有為顧客提供商品搜索和用戶登錄、注冊(cè)的輸入框。老用戶可以在主界面進(jìn)行用戶登錄,登錄后可以查看購物車、訂單信息和購買商 品。 圖 56 顧客主界面 顧客購買商品詳情 界 面 在商品購買詳情界面,顧客可以直觀的看到商品的詳細(xì)信息,其中包括商品名稱、商品價(jià)格、庫存剩余等。 圖 57 顧客購買商品詳情頁面 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 26 商品搜索界面 客戶搜索商品界面,為客戶提供符合搜索條件的商品。不僅如此,顧客還可以直接對(duì)購物車進(jìn)行編輯,例如修改購買數(shù)量或者刪除。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 27 圖 510 顧客訂單界面 訂單詳情界面 確認(rèn)訂單后,系統(tǒng)會(huì)跳出此界面來提醒顧客,顧客確認(rèn)后購買。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 28 第 6 章 系統(tǒng)測(cè)試 測(cè)試目的 為了驗(yàn)證開發(fā)人員所開發(fā)項(xiàng)目得合理性、完善程度以及為用戶提供具有說服力的數(shù)據(jù)。 測(cè)試項(xiàng)目 在本系統(tǒng)中雖然總體上分為后臺(tái)管理模塊和前臺(tái)服務(wù)模塊兩大功能模塊,但是在測(cè)試用例的時(shí)候應(yīng)該按照兩大模塊下屬的小功能模塊進(jìn)行,可以用最小的工作量完成對(duì)整個(gè)系統(tǒng)的測(cè)試 [15]。 會(huì)員注冊(cè)必須在用戶昵稱、輸入密碼、確認(rèn)密碼、聯(lián)系地址中填入相應(yīng)的內(nèi)容,其中輸入密碼是確認(rèn)密碼必須相同,否則將不能注冊(cè)成功。 會(huì)員登錄必須在用戶名、密碼中填入相應(yīng)的內(nèi)容。 哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 29 管理員登錄窗口的測(cè)試 測(cè)試管理員信息功能,內(nèi)容包括對(duì)新管理員信息入庫、對(duì)修改信息的合理性檢查、合法性檢查。 商品搜索測(cè)試 測(cè)試商品搜索界面,內(nèi)容包括關(guān)鍵字的輸入搜索、合理性檢查、合法性檢查、商品搜索界面顯示控制。若輸入的商品名稱數(shù)據(jù)庫中不存在則找不到符合的商品。 添加商品時(shí)必須輸入商品的編號(hào)、商品名稱、商品價(jià)格、商品數(shù)量、商品類型、商品圖片,如果填寫不完全則添加商品不成功。 修改商品信息時(shí)要先查看商品信息,先選擇商 品類型,找到需要修改的商品信息,根據(jù)自己的需要修改內(nèi)容,最后提交更新即可。對(duì)修改用戶信息的合理性檢查、合法性檢查,對(duì)用戶信息的查看。其中用戶昵稱設(shè)定為必須是普通英文字符、字母、數(shù)字和下劃線。 管理員商品查詢 測(cè) 試商品查詢功能,內(nèi)容包括對(duì)查詢商品信息的合理性檢查、合法性檢查,對(duì)修改商品的合理性檢查、合法性檢查,對(duì)商品信息的查看。 在“商品類型”選擇框中選擇“母嬰用品”,點(diǎn)擊“查詢”按鈕出現(xiàn)以下界面: 圖 62 商品查詢界面 本章小結(jié) 通過對(duì)軟件的測(cè)試,及時(shí)發(fā)現(xiàn)了一些問題,為軟件的改進(jìn)與完善起到了重要作用。但是在測(cè)試中也哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 31 發(fā)現(xiàn)軟件的不足與缺陷,比如軟件的安全性不足,需要在軟件進(jìn)一步修改和維護(hù)時(shí)予以糾正。通過近三個(gè)月的努力,目前該系統(tǒng)的程序設(shè)計(jì)和論文撰寫已經(jīng)基本結(jié)束了?,F(xiàn)已順利完成各個(gè)步驟的開發(fā)工作,基本達(dá)到預(yù)期 設(shè)計(jì)的要求。用戶輸入用戶名和密碼后單擊“登錄”按鍵,系統(tǒng)將判斷用戶名和密碼的有效性,如果通過驗(yàn)證則轉(zhuǎn)到后臺(tái)首頁,反之則提示錯(cuò)誤。為了便于網(wǎng)站的管理,本系統(tǒng)有一套完整的用戶管理體系。登陸用戶可以通過訂單號(hào)查詢訂單。并且本系統(tǒng)中“購物車”這種技術(shù)用起來十分方便,不但可以隨 時(shí)添加、查看、修改、清空購物車中的內(nèi)容,還可以隨時(shí)去收銀臺(tái)結(jié)帳。 生成訂單是網(wǎng)上購物商城的最終目的,前面的所有的功能的實(shí)現(xiàn)都是為最后生成訂單是網(wǎng)上購物商城的最終目的,在此要生成一個(gè)可以供用戶隨時(shí)查詢訂單號(hào),還要保存用戶訂單中所購買的商品信息。 在整個(gè)設(shè)計(jì)過程中 ,我逐步地對(duì) MVC 框架有了更加深刻的認(rèn) 識(shí),也對(duì)其中的 JAVA 語言有了深刻的理解。而且使用起來極為方便,界面友好,編譯簡(jiǎn)單,只要編譯一次以后在運(yùn)行時(shí)就不需要再次編譯了,節(jié)省了運(yùn)行的時(shí)間,提高了響應(yīng)速度。此外 ,在整個(gè)設(shè)計(jì)和開發(fā)過程中 ,使我對(duì)軟件工程的思想有了進(jìn)一步深刻的了解:完善需求,最大限度的滿足用戶所需,充分做好風(fēng)險(xiǎn)分析(時(shí)間,資金,人員等可能造成項(xiàng)目延遲的因素)。本次設(shè)計(jì)運(yùn)用了大量軟件工程的思想和相關(guān)的數(shù)據(jù)庫知識(shí),對(duì)大學(xué)所學(xué)的 知識(shí)得以鞏固和運(yùn)用。 該網(wǎng)上銷售系統(tǒng)雖然已基本上滿足了要求,但還不夠完善,在以后的哈爾濱理工大學(xué)學(xué)士學(xué)位畢業(yè)論文 33 使用過程中可能會(huì)暴露許多實(shí)際問題,有待進(jìn)一步的改進(jìn)