《基于Java Web的網(wǎng)上圖書商城系統(tǒng)(設(shè)計(jì))》_第1頁
《基于Java Web的網(wǎng)上圖書商城系統(tǒng)(設(shè)計(jì))》_第2頁
《基于Java Web的網(wǎng)上圖書商城系統(tǒng)(設(shè)計(jì))》_第3頁
《基于Java Web的網(wǎng)上圖書商城系統(tǒng)(設(shè)計(jì))》_第4頁
《基于Java Web的網(wǎng)上圖書商城系統(tǒng)(設(shè)計(jì))》_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于JavaWeb的網(wǎng)上圖書商城系統(tǒng)設(shè)計(jì)TOC\o"1-3"\h\u292391緒論 頁共36頁1緒論1.1選題背景與意義鑒于全球經(jīng)濟(jì)的全球化和信息技術(shù)的急速更新,互聯(lián)網(wǎng)早已實(shí)現(xiàn)隨時隨地使用,并且互聯(lián)網(wǎng)與電子商務(wù),公共物流信息,信息流和業(yè)務(wù)流程以及24小時低成本和地理位置分散的技術(shù)支持處理相互作用。交付使電子商務(wù)能夠迅速改變其業(yè)務(wù),促進(jìn)整個社會的經(jīng)濟(jì),減少人們的傳統(tǒng)生活方式,并使人們的日常生活節(jié)奏更加的方便促進(jìn)全社會的經(jīng)濟(jì)發(fā)展,改變?nèi)藗儌鹘y(tǒng)的生活方式,使人民的生活節(jié)奏更加方便。用戶能夠從網(wǎng)上圖書商城獲取足夠的圖書商品信息,查詢方法簡單又快捷。同時,圖書商品價格實(shí)惠,購買更方便,克服了傳統(tǒng)實(shí)體店鋪的弊端,如搜索效率低,搜索結(jié)果很難出現(xiàn)等。所以開發(fā)一個可以提供人性化和實(shí)用性的網(wǎng)上圖書商城是有必要的。網(wǎng)上圖書商城的圖書相比于實(shí)體店的圖書被客戶購買的機(jī)會更多。通過開發(fā)網(wǎng)上圖書商城系統(tǒng),使用現(xiàn)在流行的高科技工具來改變以往傳統(tǒng)購買圖書的方式,以滿足當(dāng)前快節(jié)奏的生活方式。1.2本研究的主要內(nèi)容本文的主要研究內(nèi)容共分為6章,其基本結(jié)構(gòu)如下所示。第1章是緒論,最主要的就是介紹了本題選擇的背景及意義,對本文的總體結(jié)構(gòu)及研究內(nèi)容進(jìn)行了闡述。第2章是系統(tǒng)關(guān)鍵技術(shù)及需求分析,主要就是對相關(guān)工具及技術(shù)進(jìn)行了一個簡要的介紹,對系統(tǒng)的需求以及可行性是進(jìn)行了詳細(xì)分析。第3章是系統(tǒng)的設(shè)計(jì),設(shè)計(jì)各系統(tǒng)模塊,并進(jìn)行數(shù)據(jù)庫的構(gòu)建。第4章是系統(tǒng)的實(shí)現(xiàn),對整個系統(tǒng)的各個重要功能模塊進(jìn)行了具體的實(shí)現(xiàn),同時還運(yùn)用的主要代碼是進(jìn)行了說明。第5章是對系統(tǒng)的測試,主要是針對本系統(tǒng)所設(shè)計(jì)的一些模塊進(jìn)行測試。第6章主要是對全文及設(shè)計(jì)過程中所遇到的問題進(jìn)行總結(jié)和對未來網(wǎng)上圖書商城系統(tǒng)設(shè)計(jì)的發(fā)展進(jìn)行展望。2系統(tǒng)關(guān)鍵技術(shù)及需求介紹2.1系統(tǒng)關(guān)鍵技術(shù)介紹2.1.1B/S架構(gòu)本系統(tǒng)基于B/S結(jié)構(gòu)進(jìn)行設(shè)計(jì)。圖2.1基于B/S模式的系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)下面就把B/S平臺的基本架構(gòu)做出描述:(1)表示層。網(wǎng)上圖書商城系統(tǒng)將移動其供應(yīng)層以進(jìn)行需求轉(zhuǎn)移,隨后是網(wǎng)上圖書商城系統(tǒng)中的驗(yàn)證過程,表明底層將通過HTTP協(xié)議完成信息傳輸。注意:在此階段,網(wǎng)上圖書商城系統(tǒng)將通過Web瀏覽器同時顯示。(2)功能層。對應(yīng)于網(wǎng)上圖書商城系統(tǒng)的主要部分。功能層脫穎而出顯示特性,網(wǎng)上圖書商城系統(tǒng)將依靠功能層來完成所有程序工作,類似于細(xì)分解碼,打印,聚合等操作。(3)數(shù)據(jù)層。在需要讀取數(shù)據(jù)的情況下,網(wǎng)上圖書商城系統(tǒng)將是第一個激活Web服務(wù)器的系統(tǒng)要完成請求的提交,網(wǎng)上圖書商城系統(tǒng)會立即響應(yīng)數(shù)據(jù)庫以完成命令的接收然后完成數(shù)據(jù)修改操作,數(shù)據(jù)處理,結(jié)果分析等。在此系統(tǒng)下,客戶將服務(wù)器模型作為瀏覽器集成到服務(wù)器模型中,將系統(tǒng)結(jié)構(gòu)轉(zhuǎn)換為應(yīng)用程序服務(wù)器。應(yīng)用程序服務(wù)器通常使用可伸縮的公共域模型,通過分離單元層次結(jié)構(gòu)和多個單元來提高系統(tǒng)操作的效率,從而允許系統(tǒng)分布。數(shù)據(jù)通過多種協(xié)議在功能單元之間交換,用戶在普通的導(dǎo)航環(huán)境中工作。2.1.2Java通過為CGI應(yīng)用程序或Internet應(yīng)用程序編程接口(NSAPWorker)或NetSCape提供編程接口,當(dāng)前用于擴(kuò)展Web服務(wù)器的技術(shù)正變得越來越成熟,是系統(tǒng)構(gòu)建的最有效的解決方案。瀏覽器端還有許多擴(kuò)展。這些包括標(biāo)準(zhǔn)的MicrosoftActiveXjscript。VB腳本,Netscape插件標(biāo)準(zhǔn),JavaScript腳本和Java擴(kuò)展。但是,瀏覽器擴(kuò)展僅進(jìn)行一些檢查以限制對多媒體,邏輯和平臺數(shù)據(jù)的查看。因此,所有問題都無法完全解決,不能被視為主要解決方案。因此,毫無疑問,Java在未來的Web技術(shù)中扮演著更重要和更重要的角色。由于Java語言本身的優(yōu)點(diǎn),它最終將與CORBA結(jié)合使用。因?yàn)榭梢詮腤eb服務(wù)器動態(tài)下載和運(yùn)行Java,所以CORBA對象的分布式計(jì)算所需的所有orb(對象請求代理)只能用Java實(shí)現(xiàn)。2.1.3MVC模式當(dāng)前MVC模型軟件設(shè)計(jì)開發(fā)是主流,并且在.NET和JAVA開發(fā)中有更廣泛的應(yīng)用。最新的MVC2框架結(jié)構(gòu)基于ASP.Net系統(tǒng),可以幫助網(wǎng)絡(luò)開發(fā)人員開發(fā)更方便,更快捷的程序。模型MVC是結(jié)構(gòu)開發(fā)的模型,而不是設(shè)計(jì)模型,主要用于描述應(yīng)用程序的結(jié)構(gòu)和各種組件的功能組成以及如何交互。MVC結(jié)構(gòu)圖如圖2.2所示。圖2.2MVC結(jié)構(gòu)示意圖模型:從概念上講,模型是計(jì)算機(jī)領(lǐng)域中某些數(shù)據(jù)和操作規(guī)則的內(nèi)容的抽象,計(jì)算機(jī)領(lǐng)域是由應(yīng)用程序管理的數(shù)據(jù)的特定組件。在計(jì)算機(jī)命令領(lǐng)域,客觀上任何事物都可以被抽象地視為一種數(shù)據(jù)形式,無論是使用系統(tǒng),背景信息還是多媒體信息,作為根據(jù)相應(yīng)數(shù)據(jù)庫處理的特定數(shù)據(jù)類。視圖:視圖是應(yīng)用程序的外觀,它提供表單的表達(dá)式以便與用戶直接交互。簡而言之,本文是以支持和布局的形式向用戶顯示數(shù)據(jù)。更改表單層數(shù)據(jù)時,必須顯示通知。此外,模型讀取方法可以通過可見性使用,但不建議訪問寫入方法??刂疲河脩艨刂婆_控制,其主要功能是在進(jìn)程運(yùn)行時轉(zhuǎn)換系統(tǒng)資源以服務(wù)于不同的操作請求。通常,控制設(shè)備用于協(xié)調(diào)適當(dāng)應(yīng)用的各種模型并選擇相應(yīng)的顯示。MVC模型不僅共享后臺進(jìn)程的可視化顯示和處理,還降低了系統(tǒng)的設(shè)計(jì)難度,使其更易于維護(hù)和測試。2.2系統(tǒng)需求的概述及分析可擴(kuò)展性需求:可擴(kuò)展性是指隨著時間的推移和用戶需求的不斷增加我們需要定期的對系統(tǒng)進(jìn)行更新,從而來更好的滿足用戶的需求。為了防止這種情況的發(fā)生,系統(tǒng)應(yīng)該根據(jù)代碼的初始實(shí)現(xiàn)為系統(tǒng)添加功能,所以系統(tǒng)需要具有可擴(kuò)展性。不然的話,系統(tǒng)需要時轉(zhuǎn)換,這不僅需要消耗時且費(fèi)力,并且也是沒有必要的。接口需求:接口要求的重要性不言而喻,接口是整個系統(tǒng)的運(yùn)行基礎(chǔ),這是用戶與系統(tǒng)通信的第一步,成功的接口可以為用戶提供良好的用戶體驗(yàn)。前端主要的開發(fā)內(nèi)容是頁面,導(dǎo)航布局等元素。顯示的頁面內(nèi)容必須豐富,產(chǎn)品展示整齊,主題明顯,菜單欄位置精美。為了方便用戶的查找和使用,系統(tǒng)的導(dǎo)航布局必需清晰。網(wǎng)站必須支持在不同的瀏覽器中能夠運(yùn)行順暢,而不會出現(xiàn)鏈接錯誤。此外,界面須令人賞心悅目,風(fēng)格清晰,字體大小設(shè)置正確,頁面顏色樣式必須與此主題一致。響應(yīng)時間需求:這意味著系統(tǒng)必須保證一定的響應(yīng)速度,通常不超過3秒。無論是前端接口還是后臺管理,都必須提供非??斓捻憫?yīng)時間,否則用戶體驗(yàn)將會很差,系統(tǒng)將無法開發(fā)和宣傳。另外,為了確保諸如通信連接和數(shù)據(jù)庫之類的接口的統(tǒng)一處理,有必要在幾個方向上監(jiān)視系統(tǒng)。2.3系統(tǒng)的設(shè)計(jì)思想物流訂單管理系統(tǒng)的開發(fā)中嚴(yán)格按照軟件工程方法的步驟,按照規(guī)定軟件開發(fā)步驟,一步步執(zhí)行,從需求到測試有相應(yīng)的文檔。系統(tǒng)的開發(fā)使用了三層開發(fā)模式,用接口的方式實(shí)現(xiàn)各層之間的松散耦合。開發(fā)語言使用JavaWeb平臺,結(jié)合三大框架、數(shù)據(jù)庫將數(shù)據(jù)的處理封裝在單獨(dú)的數(shù)據(jù)層處理,讓系統(tǒng)能夠擁有良好的重用性,使用更簡單。2.4系統(tǒng)的可行性分析2.4.1技術(shù)可行性分析在當(dāng)今的網(wǎng)站開發(fā)中,有很多方案,考慮到該項(xiàng)目的時間和費(fèi)用,選用了三大框架來開發(fā)此項(xiàng)目,選用MySQL數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,可以減少代碼的開發(fā)量,eclipse提供了自動生成表結(jié)構(gòu),使用簡單方便,使用eclipse自帶的HQL語句比較簡單,但缺點(diǎn)是不太靈活,可能有些比較復(fù)雜的語句無法表達(dá)。另外一種參考方案是在數(shù)據(jù)處理方面使用Oracle數(shù)據(jù)庫,可以避免上述方案的缺陷。SQL語句比較靈活,能夠進(jìn)行復(fù)雜的操作,這種方案會增加代碼量,不能直接生成表結(jié)構(gòu),需要自己建表。綜合考慮到本項(xiàng)目復(fù)雜邏輯很少,最終選用第一個方案,節(jié)約費(fèi)用和時間,能夠在規(guī)定的時間內(nèi)完成。2.4.2經(jīng)濟(jì)可行性分析(1)開發(fā)費(fèi)用低本系統(tǒng)作為本科大學(xué)期間的畢業(yè)設(shè)計(jì)課題,開發(fā)期間,開發(fā)人員免費(fèi),需要的開發(fā)資源學(xué)校提供,系統(tǒng)開發(fā)期間有指導(dǎo)老師幫忙解決問題,完善系統(tǒng)開發(fā)。(2)利潤豐厚該系統(tǒng)通過給客戶提供更方便的寄件及各種查詢服務(wù),吸引客戶使用該網(wǎng)站下訂單,為企業(yè)接收更多的訂單,系統(tǒng)從訂單中收取一定費(fèi)用。所以本系統(tǒng)的開發(fā)可以帶來經(jīng)濟(jì)效益,本系統(tǒng)的經(jīng)濟(jì)可行性是可行的。3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)平臺整體架構(gòu)3.1.1系統(tǒng)設(shè)計(jì)思想網(wǎng)上圖書商城系統(tǒng)采用結(jié)構(gòu)模型,分為三個層次,即界面層,業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層?;诂F(xiàn)有服務(wù)器很難實(shí)現(xiàn)所有功能,因此有必要進(jìn)一步減少服務(wù)器負(fù)載并提高性能效率,三層結(jié)構(gòu)模型如下圖3.1所示。圖3.1系統(tǒng)三層結(jié)構(gòu)模型網(wǎng)上圖書商城系統(tǒng)在結(jié)構(gòu)的設(shè)計(jì)上分為了前臺銷售和后臺管理兩個模塊。主要的管理模塊是通過網(wǎng)絡(luò)向用戶顯示圖書商品數(shù)據(jù),用戶可以通過網(wǎng)絡(luò)方便地查看和在線購物。1.系統(tǒng)前臺的管理模塊設(shè)計(jì)管理模塊的結(jié)構(gòu)如圖3.2所示。圖3.2前臺管理模塊結(jié)構(gòu)圖2.系統(tǒng)后臺的管理模塊設(shè)計(jì)網(wǎng)上圖書商城系統(tǒng)的在線后端管理主要是對網(wǎng)站圖書商品和資料的管理,以及通過后臺及時更新圖書商品和資料庫存,及時補(bǔ)充圖書商品資源。如果需要銷售特殊項(xiàng)目或活動,可以使用背景直接更改相關(guān)數(shù)據(jù),并反饋到最終用戶界面,以便用戶可以查看它。系統(tǒng)后臺模塊的結(jié)構(gòu)如下圖3.3所示:圖3.3系統(tǒng)后臺模塊結(jié)構(gòu)圖3.1.2平臺運(yùn)行環(huán)境網(wǎng)上圖書商城系統(tǒng)一般在企業(yè)管理部門內(nèi)網(wǎng)中運(yùn)行的,基于對數(shù)據(jù)的保密性要求系統(tǒng)終端只允許在辦公區(qū)無線網(wǎng)絡(luò)覆蓋下接入,外網(wǎng)壞境下無法訪問到企業(yè)部門內(nèi)網(wǎng),服務(wù)器操作系統(tǒng)為Windows平臺。具體的環(huán)境如下:(1)服務(wù)器:Tomcat;(2)數(shù)據(jù)庫:sqlserver;(3)開發(fā)編譯器:Eclipse;(4)開發(fā)語言:Java(5)開發(fā)環(huán)境:JavaWeb等。3.1.3系統(tǒng)接口設(shè)計(jì)(1)用戶接口系統(tǒng)使用B/S結(jié)構(gòu),用戶可以根據(jù)提示和說明方便地進(jìn)行操作,不需要定義任何語法或約定。(2)硬件接口系統(tǒng)不需要特定的硬件或硬件接口進(jìn)行支撐。(3)軟件接口系統(tǒng)的軟件接口由webservice接口、數(shù)據(jù)庫連接接口組成,需要模塊組件的支撐。服務(wù)器端接收客戶端的請求,隨即調(diào)用請求所對應(yīng)的處理數(shù)據(jù)模塊,對信息進(jìn)行處理,產(chǎn)生相應(yīng)的輸出,將信息返回給客戶端。(4)通訊接口系統(tǒng)沒有特殊的通訊接口,通訊接口由所使用的終端機(jī)決定。3.2系統(tǒng)詳細(xì)設(shè)計(jì)管理信息系統(tǒng)和參與者的關(guān)系可以用用例圖來表示,它可以把系統(tǒng)和參與者的關(guān)系很好地表現(xiàn)出來。因此,用例圖也稱為系統(tǒng)功能模型圖,可以通過相鄰的視覺理解。顯示了所有參與者和使用案例,并顯示了各個用例,用途和參與者之間的關(guān)系。可視化建模允許用戶快速,輕松地學(xué)習(xí)和使用系統(tǒng)功能,同時允許開發(fā)人員在項(xiàng)目開發(fā)期間按計(jì)劃執(zhí)行各種功能。3.2.1用戶登錄注冊管理模塊用戶信息主要包括三個角色:注冊會員,游客和管理員。用戶信息管理在電子商務(wù)信息平臺中起著重要作用,該平臺將參與產(chǎn)品的購買和產(chǎn)品訂單的提交。用戶信息管理的作用是對在網(wǎng)站上成功注冊的用戶,所填寫的所有信息的一個管理。用戶注冊成功后,網(wǎng)站管理員會對用戶的身份進(jìn)行檢查,審核通過后,管理員會授予用戶一些有關(guān)業(yè)務(wù)核心的權(quán)限和信息。用戶在登錄系統(tǒng)后,可以自行修改自己的個人密碼。網(wǎng)站訪問者只能查看信息,不能做任何改變信息的事情。根據(jù)用戶信息管理可以畫出如圖3.4所示的用例圖。圖3.4用戶的管理用例圖3.2.2圖書商品信息管理模塊系統(tǒng)管理員是該系統(tǒng)中管理圖書商品信息的一種特殊用戶。為了無縫瀏覽來自不同圖書商品的信息,系統(tǒng)管理員需要使用系統(tǒng)背景來管理現(xiàn)有圖書商品的庫存,更新基本圖書商品信息以及在新信息中顯示更新的內(nèi)容。注冊后,網(wǎng)站會員可以使用接待處顯示的內(nèi)容查看圖書商品信息,然后根據(jù)需要收集,購買和執(zhí)行其它活動。特色包括:(1)管理員在線管理圖書商品庫存信息:增加,減少和刪除。(2)注冊會員可以根據(jù)自己的喜好收集和購買圖書商品。(3)注冊會員和網(wǎng)站訪問者可以查看圖書商品信息。根據(jù)圖書商品信息管理的需要,可以畫出如下用例圖,如圖3.5所示。圖3.5圖書商品資料信息用例圖3.2.3圖書商品結(jié)算支付模塊在用戶確認(rèn)購物車中的圖書商品數(shù)據(jù)并提交圖書商品數(shù)據(jù)以完成訂單之后,計(jì)費(fèi)任務(wù)是必要的并且具有不同的支付方法選項(xiàng)。支付方式特定選擇可以由用戶在結(jié)算時根據(jù)網(wǎng)站提供的多種支付方式界面上根據(jù)個人的偏好選擇喜歡的支付方式,選擇好后支付信息將提交到相關(guān)的支付平臺,然后完成整個支付交易。其具體功能描述如下:統(tǒng)計(jì)賬單金額。應(yīng)付金額根據(jù)圖書商品放入購物車的信息自動計(jì)算。選擇喜歡的付款方式。對于網(wǎng)站和相應(yīng)支付平臺支持的每種支付形式,創(chuàng)建一對一界面,然后根據(jù)用戶選擇的支付方式完成整個支付過程。用例圖如下圖3.6所示。圖3.6圖書商品資料結(jié)算支付用例圖3.2.4圖書商品訂單管理模塊在用戶瀏覽喜愛的產(chǎn)品以保留產(chǎn)品的購買資格而不付款之后,它是訂單管理業(yè)務(wù)。用戶可以在網(wǎng)站上訂購自己所喜歡的圖書商品。系統(tǒng)會根據(jù)客戶在瀏覽時所提交的信息自動生成對應(yīng)的訂單號,并在系統(tǒng)的后臺管理中記錄訂單信息。用戶如果在系統(tǒng)指定的時間內(nèi)下訂單并且完成付款,則系統(tǒng)將會產(chǎn)生用戶的相關(guān)購買信息。該模塊主要有以下功能:(1)查看以及審核業(yè)務(wù)活動用戶訂單。(2)網(wǎng)站會員可根據(jù)需要查看以前的訂單信息,或根據(jù)預(yù)期的購買情況直接下訂單。(3)響應(yīng)用戶訂單。根據(jù)網(wǎng)站對用戶訂單信息管理的要求確定其用例圖如3.7所示。圖3.7圖書商品資料訂單管理用例圖3.2.5圖書商品購物車管理模塊當(dāng)用戶在網(wǎng)站上購買購物車?yán)锂a(chǎn)品時,它將同時購買購物車?yán)锏钠渌a(chǎn)品。為了確保清楚有效地實(shí)施購買過程,在線購物車不僅可以一次性付款,而且系統(tǒng)還可以提供批量的自動選擇,并且用戶可以根據(jù)支付的總金額隨時修改購物車中的產(chǎn)品。選擇付款結(jié)算作為圖書商品或商業(yè)取消操作,從而產(chǎn)生非常方便,直觀和可實(shí)現(xiàn)的一系列采購過程。用例圖如下圖3.8所示。圖3.8網(wǎng)站購物車管理用例圖3.3數(shù)據(jù)庫E-R圖設(shè)計(jì)(1)網(wǎng)上圖書商城系統(tǒng)的全局E-R圖如圖3.9所示。圖3.9圖書商品商城全局E-R布局圖根據(jù)設(shè)計(jì)規(guī)劃需求的主要實(shí)體共有六個(分別為圖書商品分類,圖書商品,管理員,訂單,用戶,購物車)。各個實(shí)體與之屬性之間的E-R圖如下所示:(2)用戶圖3.10用戶E-R圖(3)圖書商品分類圖3.11圖書商品分類E-R圖(4)訂單圖3.12(1)訂單E-R圖圖3.12(2)訂單E-R圖(5)購物車圖3.13購物車E-R圖(6)系統(tǒng)管理員圖3.14系統(tǒng)管理員E-R圖圖3.15圖書商品E-R圖4系統(tǒng)實(shí)現(xiàn)4.1用戶登錄注冊信息管理模塊的實(shí)現(xiàn)網(wǎng)上圖書商城有一個是實(shí)體店所不具備的特征,用戶可以實(shí)現(xiàn)自己注冊,注冊完成后登錄頁面將出現(xiàn)在首頁上。當(dāng)用戶在輸入了自己的用戶名,密碼及驗(yàn)證碼后,數(shù)據(jù)會在光標(biāo)離開文本框后在的登錄頁面中被驗(yàn)證。用戶登錄成功后其用戶名會被保存到cookie中,當(dāng)用戶再次訪問登錄頁面時該用戶的用戶名將會在文本框中顯示。登錄頁面如圖4.1所示。圖4.1用戶登錄界面普通用戶和商家通過訪問_login.do,跳轉(zhuǎn)到登錄頁面。普通用戶選擇個人用戶身份,輸入手機(jī)號碼和密碼信息提交請求后,則自動請求轉(zhuǎn)發(fā)到UserAction類的login()方法,創(chuàng)建User實(shí)體對象封裝用戶信息,調(diào)用處理類UserServiceImpl類的login()方法,同時User實(shí)體對象作為參數(shù)傳遞給該方法,再調(diào)用數(shù)據(jù)訪問層UserDaoImpl的login()方法并將User對象傳遞給該方法,該方法會將傳遞的User對象與數(shù)據(jù)庫中的數(shù)據(jù)匹配,匹配完成后,會向逐層向調(diào)用者UserAction類的login()方法返回相應(yīng)的控制標(biāo)志位,控制層會將最終的提示信息反饋到用戶訪問界面,為用戶展示相關(guān)提示信息。商家選擇企業(yè)用戶身份,流程與上述相同,主要包括以下類和相應(yīng)的方法CompanyUserAction類的login()方法、CompanyUserServiceImpl類的login()方法、CompanyUserDaoImpl類的login()方法,各個方法之間以CompanyUser實(shí)體對象作為參數(shù)傳遞企業(yè)用戶信息,數(shù)據(jù)訪問層方法執(zhí)行完成后,會逐層返回控制標(biāo)志位,控制層最終會將控制標(biāo)志位返回到CompanyUserAction類的login()方法由其生成相應(yīng)提示信息,并采用請求轉(zhuǎn)發(fā)的方式跳轉(zhuǎn)至JSP頁面向用戶展示提示信息。游客注冊頁面如圖4.2所示。圖4.2用戶注冊信息界面商家通過訪問_companyreg.do,跳轉(zhuǎn)到企業(yè)入駐頁面,輸入需要信息,則自動請求轉(zhuǎn)發(fā)到CompanyManagerAction類的saveCompanyManager()方法,創(chuàng)建CompanyManager對象封裝商家的信息,調(diào)用處理類CompanyManagerServiceImpl類的saveCompanyManager()方法,同時CompanyManager實(shí)體對象作為參數(shù)傳遞給該方法,再調(diào)用數(shù)據(jù)訪問層CompanyManagerDaoImpl的saveCompanyManager()方法并將CompanyManager對象傳遞給該方法,它的作用是將CompanyManager實(shí)體對象中封裝的信息持久化到數(shù)據(jù)庫中,成功保存后,會向調(diào)用者CompanyManagerAction類的register()方法返回相應(yīng)的控制標(biāo)志位,將提示信息展示給商家。4.2圖書商品信息管理模塊的實(shí)現(xiàn)圖書商品列表,用戶進(jìn)入系統(tǒng)后,點(diǎn)某個二級分類,將顯示該二級分類的所有圖書商品,如下圖4.3所示。圖4.3二級分類顯示圖實(shí)現(xiàn)該功能的主要代碼如下所示。packageproject.model;importorg.springframework.format.annotation.DateTimeFormat;importjava.util.Date;//庫存publicclassKcextendsBaseBean{//主鍵privateIntegerid;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}//圖書商品privateIntegerproductId;//庫存數(shù)量privateIntegerkcNum;//日期privateDateinsertDate;publicIntegergetProductId(){returnproductId;}publicvoidsetProductId(IntegerproductId){ductId=productId;}publicIntegergetKcNum(){returnkcNum;}publicvoidsetKcNum(IntegerkcNum){this.kcNum=kcNum;}publicDategetInsertDate(){returninsertDate;}publicvoidsetInsertDate(DateinsertDate){this.insertDate=insertDate;}}4.3購物車管理模塊的實(shí)現(xiàn)如果用戶在瀏覽完圖書商品的詳細(xì)信息后準(zhǔn)備購買,則可以在登錄后將其添加到購物車。當(dāng)用戶將喜歡的項(xiàng)目添加到購物車時,系統(tǒng)自動計(jì)算購物車中的項(xiàng)目下的購物項(xiàng)目數(shù)量和要支付的總金額。購物車管理界面的具體過程如圖4.4所示。圖4.4購物車管理界面具體流程圖當(dāng)用戶登錄系統(tǒng)后,可以在自己的購物車?yán)锟吹剿刑砑拥劫徫镘囍械膱D書商品的基本信息。購物車條目管理界面如圖4.5所示。圖4.5購物車管理界面便利購物車中所有條目的實(shí)現(xiàn)代碼如下所示。packageproject.model;importorg.springframework.format.annotation.DateTimeFormat;importjava.util.Date;//分類publicclassTypesextendsBaseBean{//主鍵privateIntegerid;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}//分類privateStringtypesName;publicStringgetTypesName(){returntypesName;}publicvoidsetTypesName(StringtypesName){this.typesName=typesName;}}顯示總計(jì)金額:每個購物車條目前都有一個復(fù)選框,當(dāng)用戶進(jìn)入購物車時這個復(fù)選框時默認(rèn)選中的,用戶可根據(jù)自己要買的圖書商品勾選對應(yīng)的復(fù)選框??傆?jì)的金額是根據(jù)用戶所勾選的每個條目中的小計(jì)的總和而得到的。實(shí)現(xiàn)代碼如下所示。packageproject.model;importorg.springframework.format.annotation.DateTimeFormat;importjava.util.Date;//購物車publicclassShopcarextendsBaseBean{//主鍵privateIntegerid;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}//產(chǎn)品privateIntegerproductId;//數(shù)量privateIntegernum;//privateIntegercustomerId;publicIntegergetProductId(){returnproductId;}publicvoidsetProductId(IntegerproductId){ductId=productId;}publicIntegergetNum(){returnnum;}publicvoidsetNum(Integernum){this.num=num;}publicIntegergetCustomerId(){returncustomerId;}publicvoidsetCustomerId(IntegercustomerId){this.customerId=customerId;}}4.4訂單信息管理模塊的實(shí)現(xiàn)訂單形成流程圖如下圖4.6所示。圖4.6訂單信息流程圖當(dāng)用戶填寫完收貨地址后單擊“提交訂單”一個訂單就形成了,將顯示如圖4.7所示的訂單信息。圖4.7訂單生成界面生成訂單信息的具體實(shí)現(xiàn)代碼如下所示。packageproject.model;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.Table;importjava.util.Date;@Entity//訂單@Table(name="t_order")publicclassOrder{//主鍵@Id@Column(name="id")@GeneratedValue(strategy=GenerationType.IDENTITY)privateIntegerid;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}//用戶privateIntegercustomerId;//訂單詳細(xì)privateStringproductDetail;//訂單總價格privateStringallPrice;//狀態(tài)privateStringstatus;//訂單編號privateStringorderNum;//物流信息privateStringpl;//日期privateDateinsertDate;//privateIntegeruserId;publicIntegergetCustomerId(){returncustomerId;}publicvoidsetCustomerId(IntegercustomerId){this.customerId=customerId;}publicStringgetProductDetail(){returnproductDetail;}publicvoidsetProductDetail(StringproductDetail){ductDetail=productDetail;}publicStringgetAllPrice(){returnallPrice;}publicvoidsetAllPrice(StringallPrice){this.allPrice=allPrice;}publicStringgetStatus(){returnstatus;}publicvoidsetStatus(Stringstatus){this.status=status;}publicStringgetOrderNum(){returnorderNum;}publicvoidsetOrderNum(StringorderNum){this.orderNum=orderNum;}publicStringgetPl(){returnpl;}publicvoidsetPl(Stringpl){this.pl=pl;}publicDategetInsertDate(){returninsertDate;}publicvoidsetInsertDate(DateinsertDate){this.insertDate=insertDate;}publicIntegergetUserId(){returnuserId;}publicvoidsetUserId(IntegeruserId){this.userId=userId;}}5系統(tǒng)測試5.1測試目的(1)驗(yàn)證整個網(wǎng)上圖書商城系統(tǒng)是否安全及可靠(2)測試系統(tǒng)的穩(wěn)健性。(3)如果系統(tǒng)有不完善的地方則需要進(jìn)一步完善。5.2測試用例測試用例是為了滿足某個特定目標(biāo)的需求而設(shè)定的一組測試。主要是以輸入的數(shù)據(jù),執(zhí)行的條件以及所產(chǎn)生的結(jié)果,從而來達(dá)到測試是否達(dá)到目標(biāo)需求。登錄系統(tǒng)的測試內(nèi)容,測試測試狀態(tài)和結(jié)果如表5.1所示。表5.1登錄系統(tǒng)測試用例測試次數(shù)輸入的數(shù)據(jù)執(zhí)行條件預(yù)期的結(jié)果第一次用戶名:123,密碼不填點(diǎn)“登錄”和想象結(jié)果一樣第二次密碼:123123,用戶名不填點(diǎn)“登錄”和想象結(jié)果一樣第三次用戶名:123,密碼:123點(diǎn)“登錄”和想象結(jié)果一樣第四次用戶名:456,密碼:123點(diǎn)“登錄”和想象結(jié)果一樣注冊會員測試用例,不同用戶的會員注冊測試具體描述如表5.2所示。表5.2注冊會員測試用例測試人員輸入的數(shù)據(jù)執(zhí)行條件預(yù)期的結(jié)果用戶a用戶名:123,密碼:123123,確認(rèn)密碼:123123點(diǎn)“注冊”與預(yù)期的結(jié)果一樣,只要有一項(xiàng)不填就會提示不能為空用戶b用戶名:123移動鼠標(biāo)提示用戶已注冊,與預(yù)期結(jié)果一樣用戶c用戶名:456,密碼:2移動鼠標(biāo)提示密碼長度不對,與預(yù)期結(jié)果一樣用戶d用戶名:789,密碼:789789,確認(rèn)密碼:789789移動鼠標(biāo)提示兩次輸入不一致,與預(yù)期結(jié)果一樣圖書商品訂單測試,通過用戶登錄后對訂單的查詢從而完成測試,詳細(xì)信息如表5.3所示。表5.3圖書商品訂單測試用例測試用例名稱圖書商品的訂單測試用例用例的描述用戶登入系統(tǒng)對訂單信息進(jìn)行查詢并顯示測試的類型系統(tǒng)功能性分析測試測試所用方法黑盒測試:等價類劃分測試法測試用戶不同用戶測試日期2019年3月6日前提條件商城系統(tǒng)運(yùn)行正常,用戶可以進(jìn)入訂單頁系統(tǒng)測試結(jié)論成功通過測試購物車的測試用例,用戶通過登錄系統(tǒng)后把喜歡的圖書商品加入購物車,然后查看購物車來完成測試,結(jié)果如表5.4所示。表5.4購物車測試用例測試用例名稱購物車的測試用例用例的描述用戶將喜歡的圖書商品加入購物車測試的類型系統(tǒng)功能性分析測試測試所用方法黑盒測試:等價類劃分測試法測試用戶不同用戶測試日期2019年6月27日前提條件系統(tǒng)正常工作,用戶能順利登錄系統(tǒng)進(jìn)入購物車系統(tǒng)測試結(jié)論成功通過測試5.3測試結(jié)論測試其實(shí)不只是對系統(tǒng)做進(jìn)一步的完善和審核,其實(shí)也是開發(fā)者對自己的一個總結(jié)和改正。在測試過程中其實(shí)自己就會發(fā)現(xiàn),很多的問題都是源于代碼沒寫好。所以在以后的開發(fā)中在最開始的時候就應(yīng)該把初始代碼寫好,這樣在后期的檢查中錯誤就會越少,測試時也不用花過多的時間去修改代碼。在測試時我們應(yīng)該找適合系統(tǒng)的測試方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論