




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-第2章關(guān)鍵技術(shù)介紹本項目是通過MVC框架技術(shù)來進行設(shè)計和實現(xiàn)的。項目主要用到的技術(shù)有JSP,javascript,html/css等。數(shù)據(jù)庫使用的是MySQL。2.1JSP語言介紹JSP,超文本預(yù)處理器(HypertextPreprocessor),是一種通用的開源腳本語言。編程范型為面向?qū)ο蠛兔钍骄幊陶Z言,同時JSP可以在windows/Mac/linux跨平臺中操作,它幾乎支持所有流行的數(shù)據(jù)庫。JSP語言容納了Java、C語言和Perl的特點,是眾多開發(fā)語言中較為簡單的一種開發(fā)語言,在Web開發(fā)領(lǐng)域中使用廣泛,利于學(xué)習(xí)。JSP擁有很多其他語言的語法特點,當(dāng)然也有自己自創(chuàng)新的語法。JSP將程序嵌入到HTML文檔中,可以將HTML寫的靜態(tài)網(wǎng)頁與數(shù)據(jù)庫聯(lián)系在一起,形成動態(tài)網(wǎng)頁。2.2ssm簡介ssm是一個輕量級組合框架,能更好的實現(xiàn)MVC模式,充分發(fā)揮了各自的優(yōu)勢。其中通過Struts在表示層中處理頁面請求和轉(zhuǎn)發(fā)工作;通過Spring的依賴注入(InversionofControl,IoC)技術(shù)降低了程序之間的耦合性,也使程序員養(yǎng)成用接口編程的好習(xí)慣;通過Hibernate完成在持久層與數(shù)據(jù)庫的交互工作。三層框架的整合形成一個結(jié)構(gòu)良好、功能強大,層次清晰的框架體系。1.StrutsStruts是一個獨立的MVC模式框架,很好的實現(xiàn)了顯示處理和業(yè)務(wù)處理邏輯之間的低耦合性。但Struts主要是針對表示層設(shè)計的,對業(yè)務(wù)邏輯方面的支持不是很強,比如事務(wù)管理、安全檢查等本屬于系統(tǒng)層面的,實現(xiàn)代碼也穿插在整個業(yè)務(wù)邏輯中,降低了代碼的可維護性,而Spring則可以很好地解決這些問題。2.SpringSpring也是獨立的MVC模式框架,通過IoC技術(shù),降低各組件之間的依賴,而Spring提供的面向切面編程(AspectOrientedProgramming,AOP)技術(shù),在事務(wù)管理上具有獨特優(yōu)勢。Spring框架不僅能有效地服務(wù)中間層對象,而且易于同其他層框架進行無縫集成,使各層之間相互獨立,實現(xiàn)了在架構(gòu)上各框架間的低耦合性。3.MyBatisMyBatis是集合多種操作型關(guān)系數(shù)據(jù)庫的概念和方法,它是一個強大的數(shù)據(jù)訪問工具和解決方法[5]。對比Hibernate,MyBatis是一個半自動框架,Hibernate則是一個全自動框架,無法直接維護MyMySQL。MyBatis在書寫MyMySQL的靈活性很好,Hibernate就不行,會比較麻煩。本文使用MyBatis作為海田在線商城這種多變性的項目,Hibernate比較適合穩(wěn)定的項目。而且MyBatis速度相對于Hibernate的速度要快些。2.3html/CSS簡介HTML全稱為HyperTextMarkupLanguage,是一種超文本標(biāo)記語言或超文本鏈接語言,被用來制作萬維網(wǎng)頁面的簡單標(biāo)記語言,它消除了計算機之間信息交流的障礙,是萬維網(wǎng)瀏覽器通用的一種標(biāo)準語言。它可以用很多瀏覽器打開。在目前,它在網(wǎng)絡(luò)上被廣泛應(yīng)用,是大眾普遍接受的一種通用制作網(wǎng)頁的語言。HTML主要用于制作靜態(tài)頁面,HTML命令可以說明圖形信息、表格信息、文字信息、鏈接信息等。HTML作為制作網(wǎng)站最基礎(chǔ)的語言,它主要由頭部(head)和主體(body)組成,頭部可以加標(biāo)題,展示瀏覽器所需信息,主體則是包含網(wǎng)頁顯示的內(nèi)容。作為最基礎(chǔ)的語言,在HTML文件中可以插入JSP語言形成JSP文件,也可以插入JavaScript語言形成不同風(fēng)格的功能特效。2.4MySQL介紹MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的MySQL“結(jié)構(gòu)化查詢語言”。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。第3章系統(tǒng)分析本章將對樂優(yōu)購物商城系統(tǒng)進行需求分析。首先對系統(tǒng)進行功能需求分析,分析確定系統(tǒng)用戶角色,分析系統(tǒng)所要實現(xiàn)的功能。然后對系統(tǒng)進行數(shù)據(jù)需求分析,為了更好地完成系統(tǒng)項目,為項目的進一步開發(fā)工作做準備,了解具體數(shù)據(jù),有利于軟件的實現(xiàn)。最后確定系統(tǒng)開發(fā)環(huán)境并且從多個角度對系統(tǒng)進行可行性分析。3.1功能需求分析樂優(yōu)購物商城共分為兩個部分,一部分是面向用戶的前臺部分,包括:用戶的注冊、登陸、查看商品信息、購物、提交訂單、對商品進行查詢等操作。另外一部分是網(wǎng)站的后臺管理部分,這部分包括:對普通用戶的賬號進行刪除、更改、查詢管理,商品的管理、訂單的管理等。1.商品管理用例:商品管理功能,主要完成商品的添加、刪除、更新和查看。商品管理模塊添加商品功能用例描述詳見下表。表3.1商品管理模塊添加商品功能的分解用例描述用例名稱添加新商品參與者管理員用例概述本用例用于管理員進行添加新商品操作前置條件管理員添加新商品前必須登錄系統(tǒng)后置條件系統(tǒng)中添加一件新商品基本事件流參與者動作系統(tǒng)響應(yīng)管理員在后臺主界面選擇“新商品”。4、管理員填寫新商品信息,點擊“添加”按鈕。2、系統(tǒng)打開添加新商品界面。3、系統(tǒng)檢查管理員輸入的商品信息是正確有效的。5、系統(tǒng)將商品添加到數(shù)據(jù)庫中。6、系統(tǒng)提示“操作成功”。7、系統(tǒng)跳轉(zhuǎn)到商品管理界面。其他事件流1、系統(tǒng)驗證管理員輸入的商品名為空,則提示“*請?zhí)顚懮唐访Q!”。2、系統(tǒng)驗證管理員輸入的價格不是貨幣格式,則提示“*價格必須是貨幣格式!”商品管理模塊刪除商品功能用例描述詳見下表。表3.2商品管理模塊刪除商品的分解用例描述用例名稱刪除商品參與者管理員用例概述本用例用于管理員進行刪除商品操作前置條件管理員刪除商品前必須登錄系統(tǒng)后置條件系統(tǒng)中刪除一件商品基本事件流參與者動作系統(tǒng)響應(yīng)1、管理員在后臺主界面選擇“商品管理”。4、管理員選擇一件商品,點擊“刪除”按鈕。6、管理員點擊“確定”按鈕。2、系統(tǒng)從數(shù)據(jù)庫中獲取商品信息列表3、系統(tǒng)打開商品列表界面。5、系統(tǒng)提示“你確定要刪除嗎?”。7、系統(tǒng)將商品從數(shù)據(jù)庫中刪除。8、系統(tǒng)提示“刪除成功”。9、系統(tǒng)跳轉(zhuǎn)到商品管理界面。其他事件流無2.用戶管理用例:用戶管理功能,主要完成用戶的刪除、更新和查看。用戶管理模塊修改用戶信息功能用例描述詳見下表。表3.3用戶管理模塊修改用戶信息功能的分解用例描述用例名稱修改用戶參與者管理員用例概述本用例用于管理員進行修改用戶信息操作前置條件管理員已經(jīng)登錄系統(tǒng)后置條件系統(tǒng)中更新一條用戶記錄基本事件流參與者動作系統(tǒng)響應(yīng)1、管理員在后臺主界面選擇“用戶管理”。4、管理員在用戶列表中選擇一個用戶,點擊“編輯”按鈕。6、管理員填寫用戶信息,點擊“保存修改”按鈕。2、系統(tǒng)從數(shù)據(jù)庫中獲取用戶信息。3、系統(tǒng)打開用戶列表界面。5、系統(tǒng)打開修改用戶信息界面。7、系統(tǒng)將更改后的添加到數(shù)據(jù)庫中。8、系統(tǒng)提示“操作成功”。9、系統(tǒng)跳轉(zhuǎn)到用戶管理界面。其他事件流無3.商品購買用例:商品購買功能,主要完成用戶對商品進行購買、生成訂單,付款,管理員管理用戶的訂單信息等。商品購買模塊添加購買功能用例描述詳見下表。表3.5商品購買模塊功能的分解用例描述用例名稱添加購買記錄參與者用戶用例概述本用例用于用戶進行對商品購買操作前置條件用戶已經(jīng)登錄系統(tǒng)后置條件系統(tǒng)中增加一條用戶購買記錄基本事件流參與者動作系統(tǒng)響應(yīng)1、用戶在前臺首頁選擇任意一個商品分類。4、管理員在用戶列表中選擇一件商品。7、用戶填寫購買訂單,點擊“購買”按鈕。2、系統(tǒng)從數(shù)據(jù)庫中獲取商品列表信息。3、系統(tǒng)打開商品列表界面。5、系統(tǒng)從數(shù)據(jù)庫中獲取商品信息。6、系統(tǒng)打開商品信息及購買界面。8、系統(tǒng)檢查用戶輸入的信息是正確有效的。9、系統(tǒng)將購買記錄添加到數(shù)據(jù)庫中。其他事件流1、系統(tǒng)驗證用戶輸入的字段為空,則提示“*購買數(shù)量不能為空!”。3.2數(shù)據(jù)流程分析對本系統(tǒng)的數(shù)據(jù)流進行分析,得到系統(tǒng)數(shù)據(jù)流程圖0層圖,1層圖,2層圖,如下所示。圖3.5數(shù)據(jù)流程圖(0層)圖3.5數(shù)據(jù)流程圖(1層)商品管理數(shù)據(jù)流圖圖3.5數(shù)據(jù)流程圖(2層)3.3可行性分析本網(wǎng)站將在經(jīng)濟、功能、技術(shù)這三個角度上進行可行性分析。3.3.1經(jīng)濟可行性經(jīng)濟可行性分析主要是對項目的經(jīng)濟效益進行評價。本網(wǎng)站是一個在線的商品購買網(wǎng)站,顧客可以直接在網(wǎng)站上購買商品,讓網(wǎng)站獲益,通過網(wǎng)站的發(fā)布和推廣可以讓更多的人知道商品的品牌,增加訪問量和關(guān)注的同時,更能吸引顧客的購買,購買數(shù)量越多網(wǎng)站獲益也就多了。3.3.2功能可行性功能可行性分析主要分析網(wǎng)站的功能是否可以滿足用戶的需求,從實際使用情況來分析,整體網(wǎng)站功能完整,運行速度良好,符合了瀏覽者的瀏覽習(xí)慣。為用戶提供了更為方便簡單的瀏覽環(huán)境。3.3.3技術(shù)可行性技術(shù)可行性分析的目的是確認使用現(xiàn)有的技術(shù)能否實現(xiàn)系統(tǒng)以及對開發(fā)效率和完成情況的評估。系統(tǒng)基于MVC框架開發(fā),具有簡單易學(xué),靈活,良好的可擴展性,執(zhí)行效率高,易于配置和部署等優(yōu)點。使用MySQL數(shù)據(jù)庫管理系統(tǒng)進行數(shù)據(jù)存儲,具有體積小、速度快、總體擁有成本低,尤其是開放源碼這一優(yōu)點。采用以上技術(shù)可以有效的保證系統(tǒng)成功及高效地開發(fā)。第4章系統(tǒng)設(shè)計本章將對樂優(yōu)購物商城系統(tǒng)進行系統(tǒng)設(shè)計。包括體系結(jié)構(gòu)設(shè)計、功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計和頁面設(shè)計。首先確定系統(tǒng)的實現(xiàn)將采用B/S架構(gòu),根據(jù)需求分析階段的結(jié)果設(shè)計功能模塊,最后設(shè)計數(shù)據(jù)庫概念模型和邏輯模型。4.1體系結(jié)構(gòu)設(shè)計隨著軟件工程的不斷進步和規(guī)范以及面向?qū)ο缶幊趟枷氲膽?yīng)用,原本的雙層架構(gòu)已經(jīng)不能滿足開發(fā)者的效率上需求,因為在代碼上的封裝、移植、擴展、復(fù)用等操作使得雙層架構(gòu)難以招架,因此才有三層架構(gòu)的出現(xiàn),問題迎刃而解。什么叫三層架構(gòu)呢?指的是表示層、組件層、數(shù)據(jù)訪問層。組件層是雙層架構(gòu)沒有的,它的加入,把復(fù)雜的問題分解得更簡單、明了,通過組件層,實現(xiàn)控制數(shù)據(jù)訪問層,這樣達到功能模塊易于管理、易于訪問等目的,例如在一個網(wǎng)站的登錄功能上,開發(fā)者可以分為登錄界面模塊,登錄控制器模塊、登錄數(shù)據(jù)訪問查詢模塊等三個模塊,登錄界面指的是表示層,登錄控制器就是組件層,它將開發(fā)者的邏輯思想實現(xiàn)出來,然后調(diào)用數(shù)據(jù)訪問層,登錄數(shù)據(jù)訪問查詢模塊就是數(shù)據(jù)訪問層。表示層又叫UI層,指的是用戶和軟件的交換界面,是可視化的,例如安卓app的xml布局文件和網(wǎng)頁的html文件等。在基于B/S模式中,有兩個方面的優(yōu)勢。一,使用瀏覽器作為客戶端的操作界面,它的優(yōu)點是用戶界面統(tǒng)一,用戶操作便利。二,對于軟件開發(fā)人員來說,可以將開發(fā)的重點放在后臺事務(wù)的處理方面,前臺的細節(jié)可以忽略,這樣可以大大的提高了系統(tǒng)開發(fā)的效率。另外,系統(tǒng)必須擁有良好的界面,一方面考慮到系統(tǒng)用戶的操作便利,另一方面考慮到系統(tǒng)的動態(tài)性。一般系統(tǒng)的主要界面包括以下幾個組成部分:網(wǎng)站登陸界面、網(wǎng)站主界面、各個主要功能模塊的界面等。業(yè)務(wù)邏輯層(BusinessLogicLayer)主要負責(zé)數(shù)據(jù)傳遞的功能。一方面,業(yè)務(wù)邏輯層響應(yīng)用戶表示層的請求后,從數(shù)據(jù)訪問層中獲取所需要的數(shù)據(jù),接著在表示層中顯示出來。另一方面,業(yè)務(wù)邏輯層可以接受表示層提交的數(shù)據(jù)進行業(yè)務(wù)邏輯的處理,然后提交給數(shù)據(jù)訪問層,實現(xiàn)數(shù)據(jù)的增刪改等數(shù)據(jù)操作,實際上,業(yè)務(wù)邏輯層是表示層和數(shù)據(jù)訪問層之間交互的樞紐。數(shù)據(jù)訪問層(Dataaccesslayer)是系統(tǒng)的最基本的層次,用來與數(shù)據(jù)庫進行數(shù)據(jù)交換,包括數(shù)據(jù)的增刪改查等操作,顯然如果沒有數(shù)據(jù)訪問層,軟件將只是個空殼,可以說數(shù)據(jù)訪問層是軟件的靈魂,當(dāng)今軟件的開發(fā)過層中,數(shù)據(jù)訪問層基本都可以自動生成數(shù)據(jù)操作的邏輯代碼,節(jié)省了開發(fā)人員的開發(fā)時間。4.2功能模塊設(shè)計通過軟件的需求分析已經(jīng)獲得了系統(tǒng)的基本功能需求。根據(jù)面向?qū)ο蟮牟煌到y(tǒng)分為前臺普通用戶界面和后臺管理界面。系統(tǒng)功能結(jié)構(gòu)如下圖所示。圖3.1樂優(yōu)購物商城功能層次圖前臺子系統(tǒng)為用戶提供注冊、登陸的功能,以及瀏覽商品,購買商品,提交訂單后采用模擬的金額支付,實現(xiàn)商品的購買流程。后臺子系統(tǒng)供網(wǎng)站內(nèi)部管理人員使用,可以添加新的商品、商品修改和調(diào)整,商品種類維護,可以對用戶進行管理。對用戶的訂單進行管理發(fā)貨等等。1.前臺模塊設(shè)計:注冊功能。用戶首先要進行注冊成為網(wǎng)站的用戶,注冊時需填寫用戶名、郵箱號、密碼3項信息,然后點擊“注冊”按鈕。如果注冊成功,則提示注冊成功并轉(zhuǎn)到用戶登錄界面,同時用戶信息會被寫進數(shù)據(jù)庫中的用戶表中。如果注冊失敗,則會提示失敗原因。用戶注冊成功后就可以登陸了。登陸功能。如果用戶是網(wǎng)站的已注冊用戶,在購買商品前需要填寫郵箱號和密碼,之后點擊“登陸”按鈕,之后系統(tǒng)會將用戶填入的信息與數(shù)據(jù)庫中用戶注冊時填寫的信息進行比對,如果一致的話網(wǎng)站將會跳轉(zhuǎn)到首頁用戶即可享受到網(wǎng)站的購買商品。如果用戶填寫的信息有誤,網(wǎng)站將會提示用戶輸入的信息有誤。商品展示功能。網(wǎng)站將所有商品信息從數(shù)據(jù)庫中提取出來顯示在網(wǎng)站中,用戶可以瀏覽網(wǎng)站,將自己心怡的商品放入購物車中,這是系統(tǒng)會提取該商品的信息并將信息加入購物車表中。購物車功能。當(dāng)用戶選擇完商品后可以進入購物車頁面,系統(tǒng)會從購物車表中提取用戶的購物車信息并顯示出來,用戶可以在這里查看自己要購買的商品,也可以取消購買某商品,這時該商品的信息會從購物車表中刪除。訂單生成功能。在購物車模塊,當(dāng)用戶確定所買的商品后,單擊“訂單生成”的功能,進入訂單的界面。在結(jié)賬界面,系統(tǒng)會將購物車表中的商品信息顯示在訂單中并根據(jù)用戶購買的數(shù)量和商品的單價計算出用戶購買的商品的總價,接下來只需要用戶填寫收貨信息選擇付款和發(fā)貨方式并點擊“確認提交訂單”按鈕。確認后產(chǎn)生將訂單,系統(tǒng)會將訂單信息插入數(shù)據(jù)庫中的訂單表和訂單商品表中,并進入支付頁面。2.后臺模塊設(shè)計:用戶管理功能。管理員在后臺首頁點擊用戶管理就會進入用戶列表頁面,系統(tǒng)會將數(shù)據(jù)庫中的用戶信息以列表的形式顯示出來,管理員可以在這個頁面進行用戶的更新和刪除操作,系統(tǒng)可以將最新更新的信息重新寫入用戶表中并替換原信息,也可以將用戶的信息從數(shù)據(jù)表中刪除。商品類別管理功能。管理員在后臺點擊商品分類按鈕會進入商品分類界面,系統(tǒng)會將數(shù)據(jù)庫中的商品分類信息以列表的形式展現(xiàn)出來,管理員可以對商品的分類進行排序,也可以在該頁面點擊添加新分類、編輯和刪除按鈕,同時系統(tǒng)會在數(shù)據(jù)庫中對商品分類表中的數(shù)據(jù)進行相應(yīng)的新增,更新和刪除。商品信息管理功能。管理員在后臺點擊商品管理就會進入商品管理界面,系統(tǒng)會將數(shù)據(jù)庫中的商品信息以列表的形式顯示出來,管理員可以在該界面對商品進行添加、更新和刪除的操作。在新增時,如果添加成功系統(tǒng)會提示新增成功同時將新商品信息添加進數(shù)據(jù)庫中的商品表,如果添加失敗,系統(tǒng)會提示失敗的原因。當(dāng)管理員對商品信息進行更新時,數(shù)據(jù)表中的商品信息也會隨之更新。管理員刪除商品,數(shù)據(jù)表中相應(yīng)的商品信息也會隨之刪除??蛻糍徫锕芾砉δ堋9芾韱T在后臺點擊訂單管理就會進入訂單管理界面,系統(tǒng)會從數(shù)據(jù)庫中將訂單信息提取出來,依列表的形式展現(xiàn)出來。管理員可以在該界面對訂單的發(fā)貨狀態(tài)進行更改也可以刪除訂單,同時數(shù)據(jù)庫中訂單表中的訂單狀態(tài)也會更新,或者刪除訂單數(shù)據(jù)。新聞管理功能。網(wǎng)站會不定時的更新一些有關(guān)于時尚潮流趨勢的新聞,用戶也可以瀏覽這些新聞從中了解近期的時尚資訊。管理員在后臺點擊編輯新聞就會進入編輯新聞界面,系統(tǒng)會將新聞數(shù)據(jù)表中的數(shù)據(jù)提取出來顯示在頁面上,管理員可以在這里修改新聞,然后點擊“保存修改”按鈕進行保存,然后系統(tǒng)會同步更新新聞表中的內(nèi)容并提示更新成功。商品資訊管理:管理員發(fā)布商品資訊后,普通用戶便可以查詢到該商品資訊,用戶選擇某個商品資訊,查詢商品資訊,管理員審核添加,或刪除商品資訊。購買須知管理功能。網(wǎng)站會不定時的更新一些有關(guān)于時尚潮流趨勢的新聞,用戶也可以瀏覽這些新聞從中了解近期的購買須知。管理員在后臺點擊編輯新聞就會進入編輯新聞界面,系統(tǒng)會將新聞數(shù)據(jù)表中的數(shù)據(jù)提取出來顯示在頁面上,管理員可以在這里修改新聞,然后點擊“保存修改”按鈕進行保存,然后系統(tǒng)會同步更新新聞表中的內(nèi)容并提示更新成功。4.3數(shù)據(jù)庫設(shè)計4.3.1概念模型設(shè)計本小節(jié)將設(shè)計數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括所需的實體和關(guān)系,實體規(guī)范化等工作,主要反映業(yè)務(wù)邏輯。根據(jù)需求分析可以得到的實體有:用戶、商品、商品類別、購物車、訂單。系統(tǒng)E-R圖如下圖所示。圖3.5系統(tǒng)E-R圖4.3.2數(shù)據(jù)庫表設(shè)計將概念模型轉(zhuǎn)換成數(shù)據(jù)庫表,得到如下幾張表。allusers表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102username1502553pwd1502554cx1502555addtimeDateTime819dingdanxinxi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102dingdanbianhao1502553jine1502554dingdanneirong10737418232555yonghuming1502556xingming1502557shouji1502558dizhi1502559beizhu107374182325510issh3025511iszf3025512addtimeDateTime819dx表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4102leibie1502553content1073741823255goumaijilu表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102shangpinbianhao1502553shangpinmingcheng1502554leibiemingcheng1502555jiage1502556kucun1502557goumaishuliang1502558jine1502559beizhu107374182325510goumairen15025511issh3025512addtimeDateTime819liuyanban表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102cheng1502553xingbie1502554QQ1502555youxiang1502556shouji1502557neirong10737418232558huifuneirong10737418232559addtimeDateTime819pinglun表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4102xinwenID10737418232553pinglunneirong10737418232554pinglunren10737418232555addtimeDateTime8196biao1502557pingfenInt410shangpinleibie表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102leibiemingcheng1502553addtimeDateTime819shangpinxinxi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102shangpinbianhao1502553shangpinmingcheng1502554leibiemingcheng1502555tupian1502556jiage1502557kucun1502558shangpinjieshao10737418232559issh3025510addtimeDateTime819shoucangjilu表:序號字段名稱字段類型大小允許為空最大長度備注1IDInt4102username10737418232553xwid10737418232554biao10737418232555addtimeDateTime8196ziduan10737418232557biaoj1073741823255xinwentongzhi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102biaoti1502553leibie1502554neirong10737418232555shouyetupian1502556dianjilv1502557tianjiaren1502558addtimeDateTime8199dddDateTime819yonghuzhuce表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102yonghuming1502553mima1502554xingming1502555xingbie1502556chushengnianyueDateTime8197QQ1502558youxiang1502559shouji15025510shenfenzheng15025511touxiang15025512dizhi15025513beizhu107374182325514issh3025515addtimeDateTime819youqinglianjie表:序號字段名稱字段類型大小允許為空最大長度備注1idInt4102wangzhanmingcheng1502553wangzhi1502554addtimeDateTime8195logo1073741823255第5章系統(tǒng)實現(xiàn)樂優(yōu)購物商城分為前臺用戶購物子系統(tǒng)和后臺管理系統(tǒng)。本章節(jié)只要詳細分析了該系統(tǒng)的數(shù)據(jù)庫連接和系統(tǒng)各功能模塊的實現(xiàn)過程和實現(xiàn)方法。在網(wǎng)站前臺,用戶通過操作表示層頁面,頁面調(diào)用業(yè)務(wù)邏輯層的對象方法,來操作數(shù)據(jù)庫,實現(xiàn)相應(yīng)的功能。5.1數(shù)據(jù)庫連接實現(xiàn)目前的數(shù)據(jù)庫包括MySQL、SQL、PgSQL、Oracle、Ibase以及PDO的支持,如果應(yīng)用需要使用數(shù)據(jù)庫,必須配置數(shù)據(jù)庫連接信息。在項目的配置文件Config/config.JSP文件里,增加以下數(shù)據(jù)庫配置選項即可達到數(shù)據(jù)庫連接目的:<?JSPreturnarray( //'配置項'=>'配置值''DB_TYPE'=>'MySQL',//數(shù)據(jù)庫類型'DB_HOST'=>'',//服務(wù)器地址'DB_NAME'=>dzswwz',//數(shù)據(jù)庫名'DB_USER'=>'root',//用戶名'DB_PWD'=>'123456',//密碼'DB_PORT'=>3306,//端口'DB_PREFIX'=>'tp_',//數(shù)據(jù)庫表前綴'DB_CHARSET'=>'utf8',//字符集'DB_DEBUG'=>TRUE,//數(shù)據(jù)庫調(diào)試模式開啟后可以記錄MySQL日志3.2.3新增5.2系統(tǒng)前臺主要功能實現(xiàn)5.2.1首頁實現(xiàn)首頁是網(wǎng)站的入口,主要包含了:LOGO、導(dǎo)航、Banner、以及熱賣商品推薦等功能。首頁頁面,如下圖所示。圖5.1首頁頁面圖首頁主要代碼如下:title>易買得樂優(yōu)購物商城</title><LINKhref="images/style.css"type=text/cssrel=stylesheet><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css"><!--body,td,th{ font-size:12px;}--></style></head><BODYleftMargin=5topMargin=5rightMargin=5><tablewidth="100%"height="210"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#D9E9FF"style="border-collapse:collapse"><TBODY><TRalign=middlebgColor=#ffffff><tdcolspan="4"bgColor=#CADCEA><strong>系統(tǒng)基本信息</strong></td>首頁熱賣商品推薦部分主要是顯示被網(wǎng)站推薦的商品,可以讓用戶剛進入網(wǎng)站便可以了解網(wǎng)站近期主推的商品,實現(xiàn)功能的部分代碼如下:商品信息</title> <LINKhref="css.css"type=text/cssrel=stylesheet> <scripttype="text/javascript"src="js/My97DatePicker/WdatePicker.js"charset="gb2312"></script></head><scriptlanguage="JavaScript">varonecount;onecount=0;subcat=newArray();<%intcount=0;for(HashMapmap:newCommDAO().select("selectid,fid,fnamefromhsgwuxianfenleiorderbyidasc")){ %> subcat[<%=count%>]=newArray("<%=map.get("fname")%>","<%=map.get("fid")%>","<%=map.get("id")%>");//產(chǎn)生數(shù)組 <% count=count+1; }%>5.2.2商品分類展示實現(xiàn)商品分類展示頁是根據(jù)分類展示網(wǎng)站商品的頁面,當(dāng)用戶在導(dǎo)航上選擇一種商品分類時,系統(tǒng)會將被選中的分類項的id,然后用MySQL語句拼接,從數(shù)據(jù)庫選出該分類id下的所有商品,只會遍歷出來,放入<td>中MySQL語句="selectshangpinmingcheng,id,tupian,jiage,addtimefromshangpinxinxiorderbyaddtimedesc"。商品分類展示頁面,如下圖所示。圖5.2商品分類展示頁面圖商品分類展示主要代碼如下:商品類別</title> <LINKhref="css.css"type=text/cssrel=stylesheet><scripttype="text/javascript"src="js/My97DatePicker/WdatePicker.js"charset="gb2312"></script> <scripttype="text/javascript"src="js/popup.js"></script> </head><%Stringid="";%>5.2.3商品詳情實現(xiàn)商品詳情頁向用戶展示商品詳細信息的頁面,用戶可以在商品分類展示頁或者在網(wǎng)站任意一個商品類別的頁面中選擇一件商品,系統(tǒng)將商品的id通過GET方法傳遞到shangpinxinxidetail.JSP中的detail方法中,然后通過M方法實例化模型,傳入到shangpin表中連接信息,獲取到該id的商品信息,最后將信息反饋到Goods類的shangpinxinxidetail.html界面上。商品詳情頁面,如下圖所示。圖5.3商品詳情頁面圖商品詳情主要代碼如下:商品信息</title> <linkrel="stylesheet"href="kindeditor_a5/themes/default/default.css"/> <linkrel="stylesheet"href="kindeditor_a5/plugins/code/prettify.css"/> <scriptcharset="utf-8"src="kindeditor_a5/kindeditor.js"></script> <scriptcharset="utf-8"src="kindeditor_a5/lang/zh_CN.js"></script> <scriptcharset="utf-8"src="kindeditor_a5/plugins/code/prettify.js"></script> <script> KindEditor.ready(function(K){ vareditor1=K.create('textarea[name="xiangqing"]',{ cssPath:'kindeditor_a5/plugins/code/prettify.css', uploadJson:'kindeditor_a5/jsp/upload_json.jsp', fileManagerJson:'kindeditor_a5/jsp/file_manager_json.jsp', allowFileManager:true, afterCreate:function(){ varself=this; K.ctrl(document,13,function(){ self.sync(); document.forms['example'].submit(); }); K.ctrl(self.edit.doc,13,function(){ self.sync(); document.forms['example'].submit(); })5.2.4購物車實現(xiàn)購物車是用戶用于暫時存放所選心怡商品的頁面,當(dāng)用戶對某一件商品產(chǎn)生購買欲望的時候,用戶可以進入該商品的商品詳情頁面選擇想要購買的數(shù)量顏色等屬性,然后點擊“加入購物車”按鈕,用戶選擇的該商品的信息就會通過POST方法傳遞到goumaijilu_add_post.JSP中的addCar方法中,然后系統(tǒng)根據(jù)用戶登陸時保存到Session的用戶id迅速為該用戶在數(shù)據(jù)庫中的cart表中添加一條購物車信息,并將該信息反饋到前臺的index.html頁面上。用戶可以通過點擊頁面右上角的購物車圖標(biāo)來進入購物車頁面查看購物車中的商品。購物車頁面,如下圖所示。圖5.4購物車頁面圖購物車主要代碼如下:購買記錄</title> <LINKhref="css.css"type=text/cssrel=stylesheet><scripttype="text/javascript"src="js/My97DatePicker/WdatePicker.js"charset="gb2312"></script> <scripttype="text/javascript"src="js/popup.js"></script> </head><%Stringid="";id=request.getParameter("id");HashMapmlbdq=newCommDAO().getmap(id,"shangpinxinxi");Stringbianhao=""; Stringmingcheng=""; Stringleibie=""; Stringjiage=""; Stringfaburen="";bianhao=(String)mlbdq.get("bianhao"); mingcheng=(String)mlbdq.get("mingcheng"); leibie=(String)mlbdq.get("leibie"); jiage=(String)mlbdq.get("jiage"); faburen=(String)mlbdq.get("faburen");%>5.3系統(tǒng)后臺主要功能實現(xiàn)5.3.1管理員登陸實現(xiàn)管理員登陸頁是后臺管理員進入后臺管理各項數(shù)據(jù)必經(jīng)的頁面。管理員輸入的賬號密碼經(jīng)過后臺的Login.JSP的login方法中通過M方法實例化模型,傳入到allusers表中連接信息,通過與表中的信息進行比對確定管理員能否登陸。管理員登陸頁面,如下圖所示。圖5.5管理員頁面圖登錄系統(tǒng)主要代碼如下:易買得樂優(yōu)購物商城</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css"><!--*{overflow:hidden;font-size:9pt;}body{ margin-left:0px; margin-top:0px; margin-right:0px; margin-bottom:0px; background-repeat:repeat-x; background-color:#D4D8E3;}.STYLE8{color:#A1A8D2}.STYLE7{color:#FFFFFF}.STYLE9{color:#000000;font-size:12px}--></style></head><scripttype="text/javascript"><%Stringerror=(String)request.getAttribute("error");if(error!=null){%>alert("用戶名或密碼錯誤");<%}%>5.3.2商品管理實現(xiàn)用戶在網(wǎng)站后臺點擊添加商品,跳轉(zhuǎn)至shangpin_add.jsp頁面,填寫好表單參數(shù),提交至shangpin_add_post.jsp頁面,然后又shangpin_add_post.jsp操作數(shù)據(jù)庫,完成商品的添加。首先管理員點擊進入普通商品列表shangpinxinxi_list.jsp,可以選擇刪除、或者修改,如果管理員點擊刪除,則將通過js提示管理員是否刪除onClick="returnconfirm('真的要刪除?')",如果刪除后將請求sh.jsp進行數(shù)據(jù)庫數(shù)據(jù)刪除,如果管理員選擇修改商品信息,將跳轉(zhuǎn)至shangpinxinxi_updt2.jsp,然后管理員修改后,頁面請求shangpinxinxi_updt2_post.jsp來操作數(shù)據(jù)庫完成商品信息的修改。商品管理頁是管理員管理商品的頁面,管理員在這里可以對網(wǎng)站中的商品進行添加、刪除、更新以及查看操作。商品管理頁面,如下圖所示。圖5.6商品管理頁面圖商品管理主要代碼如下:商品信息</title> <LINKhref="css.css"type=text/cssrel=stylesheet> <scripttype="text/javascript"src="js/My97DatePicker/WdatePicker.js"charset="gb2312"></script></head><scriptlanguage="JavaScript">varonecount;onecount=0;subcat=newArray();<%intcount=0;for(HashMapmap:newCommDAO().select("selectid,fid,fnamefromhsgwuxianfenleiorderbyidasc")){ %> subcat[<%=count%>]=newArray("<%=map.get("fname")%>","<%=map.get("fid")%>","<%=map.get("id")%>");//產(chǎn)生數(shù)組 <% count=count+1; }%>5.3.3訂單管理實現(xiàn)注冊用戶購買商品,生成訂單后,用戶可以查詢個人訂單情況,查詢個人訂單是否被管理員接單,并審核,也可以取消訂單,管理員對所有購買訂單進行管理,審核訂單,查詢訂單,刪除訂單,修改訂單。訂單管理頁面,如下圖所示。圖5.9訂單管理頁面圖訂單管理主要代碼如下:訂單信息</title> <!--bixanjxiqxi--> <LINKhref="css.css"type=text/cssrel=stylesheet><scripttype="text/javascript"src="js/My97DatePicker/WdatePicker.js"charset="gb2312"></script> <scripttype="text/javascript"src="js/popup.js"></script></head><%Stringid="";%>第6章系統(tǒng)測試軟件需要按照測試方案和測試流程對軟件的性能和功能進行測試。系統(tǒng)測試是通過執(zhí)行程序來發(fā)現(xiàn)系統(tǒng)中的錯誤。測試和開發(fā)需要同步進行。6.1測試用例用戶登錄功能測試,如表6.1所示。表6.1用戶登錄功能測試用例表用例編號用例名稱測試功能輸入操作過程預(yù)期輸出測試結(jié)果LO_1用戶登錄模塊測試正確輸入用戶信息,用戶成功登陸。用戶的信息1.在電子郵箱輸入框輸入用戶的電子郵箱。2.在密碼框輸入用戶的密碼。3.點擊登陸按鈕。跳轉(zhuǎn)到首頁界面正確用戶注冊功能測試,如表6.2所示。表6.2用戶注冊功能測試用例表用例編號用例名稱測試功能輸入操作過程預(yù)期輸出測試結(jié)果RE_1用戶注冊模塊測試正確輸入用戶信息,完成用戶的注冊。用戶的基本信息用戶在網(wǎng)站的注冊頁面根據(jù)提示填寫相應(yīng)的信息,然后點擊“注冊”按鈕。提示成功并跳轉(zhuǎn)到登陸界面。正確RE_2用戶注冊模塊測試用戶注冊失敗的情況用戶不填寫用戶名用戶在網(wǎng)站的注冊頁面根據(jù)提示填寫除了用戶名以外相應(yīng)的信息,然后點擊“注冊”按鈕。注冊失敗,提示“*用戶名不符合要求”。正確RE_3用戶注冊模塊測試用戶注冊失敗的情況用戶兩次輸入密碼不一致用戶在網(wǎng)站的注冊頁面根據(jù)提示填寫相應(yīng)的信息,填寫密碼時兩次輸入的密碼不一致,然后點擊“注冊”按鈕。注冊失敗,提示“*兩次輸入密碼不一致”。正確商品信息界面測試,如表6.3所示。表6.3商品信息界面測試用例表用例編號用例名稱測試功能輸入操作過程預(yù)期輸出測試結(jié)果GINFO_1商品信息顯示功能模塊測試商品信息顯示的正常情況在網(wǎng)站的首頁選擇一個商品分類進入商品分類列表頁,然后選擇一件商品。進入商品信息界面正確加入購物車功能測試,如表6.4所示。表6.4加入購物車功能測試用例表用例編號用例名稱測試功能輸入操作過程預(yù)期輸出測試結(jié)果ADDCART_1加入購物車功能測試商品加入購物車成功場景。在網(wǎng)站的商品信息頁選擇商品點擊“加入購物車”按鈕。界面提示“有一件商品加入購物車!”正確管理員添加商品功能測試,如表6.6所示。表6.6管理員添加商品功能測試用例表用例編號用例名稱測試功能輸入操作過程預(yù)期輸出測試結(jié)果ADDG_1管理員添加商品功能測試添加商品成功的情況。新商品的基本信息。管理員在后臺首頁選擇“新商品”選項,然后填寫新商品信息,點擊“添加”按鈕。新商品添加成功。正確ADDG_2管理員添加商品功能測試添加商品失敗的情況。管理員不填寫商品名稱。管理員在后臺首頁選擇“新商品”選項,然后填寫除商品名稱以外的新商品信息,點擊“添加”按鈕。添加失敗,提示“*請?zhí)顚懮唐访Q!”。正確ADDG_3管理員添加商品功能測試添加商品失敗的情況。管理員在價格框輸入非數(shù)字字符。管理員在后臺首頁選擇“新商品”選項,然后填在價格框輸入非數(shù)字字符,點擊“添加”按鈕。添加失敗,提示“*價格必須是貨幣格式!”。正確6.2
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚房通風(fēng)工程合同范本
- 基于深度學(xué)習(xí)的初中語文高效課堂構(gòu)建
- 模型思想在小學(xué)數(shù)學(xué)教學(xué)中的多點滲透
- 商務(wù)條款合同范本
- 充電場建設(shè)合同范例
- 種群密度對布氏田鼠腸道微生物群落的影響機制探究
- 南京紅山森林動物園獼猴行為探秘:攻擊與社會玩耍的生態(tài)密碼
- 廠房內(nèi)安裝維修合同范本
- 2025至2030年中國細旦抗菌丙綸長絲數(shù)據(jù)監(jiān)測研究報告
- 黨支部用品采購合同范例
- 2023年南充市煙草系統(tǒng)事業(yè)單位招聘筆試題庫及答案解析
- 《關(guān)于費爾巴哈的提綱》
- 人力資源管理參考文獻(匯總112個最新),參考文獻
- HP工作站BIOS詳解參考模板
- 學(xué)憲法講憲法-課件
- 微專題:地理時空“尺度觀”思想課件
- 大學(xué)普通物理-習(xí)題答案(程守洙-江之勇主編-第六版)課件
- 2023年山東藥品食品職業(yè)學(xué)院單招綜合素質(zhì)考試筆試題庫及答案解析
- 基于PLC的郵件分揀機控制系統(tǒng)設(shè)計
- 《工程化學(xué)》全套教學(xué)課件
- DB11-T 950-2022水利工程施工資料管理規(guī)程
評論
0/150
提交評論