JAVA基于MVC的電子商務(wù)平臺(tái)的設(shè)計(jì)與研究_第1頁(yè)
JAVA基于MVC的電子商務(wù)平臺(tái)的設(shè)計(jì)與研究_第2頁(yè)
JAVA基于MVC的電子商務(wù)平臺(tái)的設(shè)計(jì)與研究_第3頁(yè)
JAVA基于MVC的電子商務(wù)平臺(tái)的設(shè)計(jì)與研究_第4頁(yè)
JAVA基于MVC的電子商務(wù)平臺(tái)的設(shè)計(jì)與研究_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

....50/55畢業(yè)設(shè)計(jì)題目:基于MVC的電子商務(wù)平臺(tái)的設(shè)計(jì)與研究設(shè)計(jì)設(shè)計(jì)論文畢業(yè)容:本論文主要對(duì)電子商務(wù)平臺(tái)系統(tǒng)做了一下整體的介紹,包括開發(fā)背景、開發(fā)目的和開發(fā)環(huán)境,同時(shí)對(duì)系統(tǒng)進(jìn)行了需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和系統(tǒng)測(cè)試。設(shè)計(jì)論文設(shè)計(jì)論文設(shè)計(jì)論文設(shè)計(jì)論文畢業(yè)專題部分:主要實(shí)現(xiàn)的是用戶功能模塊和訂單功能模塊,用戶功能模塊主要包括用戶注冊(cè)和登錄;訂單功能模塊主要包括訂單添加、訂單統(tǒng)計(jì)和訂單狀態(tài)。摘要隨著信息技術(shù)的高速發(fā)展,對(duì)互聯(lián)網(wǎng)技術(shù)的應(yīng)用越來(lái)越廣泛,互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)在社會(huì)中不可或缺的一部分。由于社會(huì)經(jīng)濟(jì)的發(fā)展,人們放在工作上的時(shí)間逐漸增多,去商場(chǎng)購(gòu)物的時(shí)間相對(duì)減少,如何能夠方便快捷地購(gòu)買到所需要的商品,已經(jīng)成為人們關(guān)注的重心。為了滿足人們的需求,電子商務(wù)平臺(tái)系統(tǒng)應(yīng)運(yùn)而生了。電子商務(wù)平臺(tái)系統(tǒng)是一個(gè)J2EE企業(yè)級(jí)的大型網(wǎng)絡(luò)應(yīng)用程序,主要?jiǎng)澐譃橛脩艄δ堋⑸唐饭δ?、訂單功能、功能、管理員功能和日志功能六個(gè)功能模塊。商品功能和訂單功能是本系統(tǒng)的兩大重要功能模塊。人們可以通過(guò)商品功能模塊中的商品查詢這一功能,對(duì)所需商品的詳細(xì)信息進(jìn)行查看,并且通過(guò)訂單功能模塊中的訂單填寫這一功能在網(wǎng)上購(gòu)買這些商品。真正實(shí)現(xiàn)了不用走出家門,就可以買到所需商品的夢(mèng)想。電子商務(wù)平臺(tái)系統(tǒng)采用現(xiàn)在最流行的基于MVC的Struts框架進(jìn)行實(shí)現(xiàn)。所有的繁重的計(jì)算和處理都由服務(wù)器端處理,運(yùn)行速度快,安全并且穩(wěn)定。數(shù)據(jù)庫(kù)采用SQLServer2000,大大減輕了客戶端的用戶機(jī)CPU頻率受制的局限,同時(shí)絕對(duì)的安全性和穩(wěn)定性是電子商務(wù)平臺(tái)系統(tǒng)最強(qiáng)大,最重要的設(shè)計(jì)開發(fā)組成部分。電子商務(wù)平臺(tái)系統(tǒng)的開發(fā)和發(fā)布,絕對(duì)填補(bǔ)“中國(guó)電子商務(wù)”的空白。關(guān)鍵字:J2EE,Struts,MVC,SQLServer2000AbstractWiththeinformationtechnologydevelopment,theapplicationofInternetTechnologyincreasinglywidespread。NowtheInternethasbecomeanimportpartofthesociety。Becausethesocioeconomicdevelopment,thetimeswhichpeoplespendontheworkingbecomemoreandmore,accordinglythetimeswhichpeoplespendontheshoppingbecomeless。Howcanpeoplebuytheirneededgoodsconveniently,thathasbecomethefocusofpeople'sattention。Inordertogratifytheneedofthepeople,E-commercePlatformSystemcomesintobeing。E-commercePlatformSystemisaJ2EEenterprise-class'slagerlargenetworkapplications。Mainlydividedintosixfunctionalmodules,includinguser-function、goods-function、order-form-function、mail-function、manager-functionandlog-functionGoods-functionandorder-form-functionarethemostimportantpartsoftheSystem。Peoplecanenterthegoods-searchmodulewhichinthegoods-functiontoseethegoods'informationwhichtheyneed,andtheycanentertheorder-detail-addmodulewhichintheorder-form-functiontoaddtheorder-detail'information。Thentheycanbuythegoods。Afterthisprocess,peoplecanrealizetheirdreamthattheyhavenottooutofthehouse,buttheycanreceivethegoodstheyneed。E-commercePlatformSystemadoptsanewtechniquewhichbeingmostpopularinthemodernsociety。ThenewtechniqueisstrutsthatbasesontheMVC。Alltheheavycomputingandprocessingprocessedbytheserver,runningfaster,securityandtranquilization。DatabaseadoptsSQLServer2000。Greatlyreducedthelimitationsthattheclientuser'smachine'sCPUfrequencyimposed。Atonetime,absolutesecurityandstabilityarethemostimportantpartsandpowerfuldesignanddevelopmentoftheE-commercePlatformSystem。E-commercePlatformSystemisissuedthatabsolutelyfilltheE-commerce'blankofChina.Keywords:MVC,J2EE,Struts,SQLServer2000目錄摘要IAbstractII緒論1第1章電子商務(wù)平臺(tái)系統(tǒng)概述21.1電子商務(wù)平臺(tái)系統(tǒng)的開發(fā)背景21.2電子商務(wù)平臺(tái)系統(tǒng)的開發(fā)意義21.3電子商務(wù)平臺(tái)系統(tǒng)得主要研究容3第2章電子商務(wù)平臺(tái)系統(tǒng)應(yīng)用的技術(shù)Struts簡(jiǎn)介42.1什么是Struts?42.2為什么要提出Struts?52.3Struts的工作流程6第3章電子商務(wù)平臺(tái)系統(tǒng)的總體規(guī)劃83.1電子商務(wù)平臺(tái)系統(tǒng)開發(fā)的基本原則83.2電子商務(wù)平臺(tái)系統(tǒng),系統(tǒng)劃分的基本原則8第4章電子商務(wù)平臺(tái)系統(tǒng)的需求分析104.1電子商務(wù)平臺(tái)系統(tǒng)用例圖114.2功能需求144.3對(duì)安全性的需求18第5章電子商務(wù)平臺(tái)系統(tǒng)的系統(tǒng)設(shè)計(jì)195.1電子商務(wù)平臺(tái)系統(tǒng)軟件體系結(jié)構(gòu)195.2電子商務(wù)平臺(tái)系統(tǒng)運(yùn)行體系205.3電子商務(wù)平臺(tái)系統(tǒng)部分功能模塊相關(guān)圖形215.4電子商務(wù)平臺(tái)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)245.4.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)245.4.2數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)255.4.3數(shù)據(jù)庫(kù)物理設(shè)計(jì)26第6章電子商務(wù)平臺(tái)系統(tǒng)的系統(tǒng)實(shí)現(xiàn)336.1用戶登錄336.2用戶注冊(cè)35第7章電子商務(wù)平臺(tái)系統(tǒng)的系統(tǒng)測(cè)試437.1軟件測(cè)試簡(jiǎn)介437.2功能測(cè)試457.2.1注冊(cè)成功的測(cè)試457.2.2注冊(cè)失敗的測(cè)試46結(jié)束語(yǔ)48致49參考文獻(xiàn)50緒論在今天這個(gè)信息技術(shù)高速發(fā)達(dá)的時(shí)代,對(duì)互聯(lián)網(wǎng)技術(shù)的應(yīng)用已經(jīng)越來(lái)越廣泛。無(wú)論是在家庭、公司還是企業(yè),隨處都可以看到互聯(lián)網(wǎng)技術(shù)在它們當(dāng)中所發(fā)揮的作用?;ヂ?lián)網(wǎng)已經(jīng)成為整個(gè)社會(huì)不可或缺的一部分。加之,現(xiàn)在社會(huì)經(jīng)濟(jì)高速發(fā)展,人們放在工作上的時(shí)間越來(lái)越多,去商場(chǎng)購(gòu)物的時(shí)間相對(duì)減少。如何能夠方便快捷地購(gòu)買到所需要的商品,已經(jīng)成為人們關(guān)注的重心?!耙杂麨槟康摹笔枪竞推髽I(yè)一貫奉行的宗旨。如何能夠快速準(zhǔn)確地將商品信息發(fā)布出去,以最少的投入,在最短的時(shí)間獲得最大的經(jīng)濟(jì)效益,是公司和企業(yè)一直在考慮的問(wèn)題。電子商務(wù)平臺(tái)系統(tǒng)通過(guò)對(duì)用戶功能模塊、商品功能模塊、訂單功能模塊、功能模塊、日志功能模塊和管理員功能模塊的實(shí)現(xiàn),將消費(fèi)者和公司、企業(yè)緊密地聯(lián)系在一起。人們可以在工作之余,通過(guò)電子商務(wù)平臺(tái)系統(tǒng)在網(wǎng)上訂購(gòu)所需要的商品,免除了很多困擾。公司和企業(yè)通過(guò)電子平臺(tái)商務(wù)系統(tǒng)與時(shí)準(zhǔn)確地將商品信息發(fā)布出去,節(jié)省了很多人力、物力和財(cái)力。商品功能模塊和訂單功能模塊是電子商務(wù)平臺(tái)系統(tǒng)重要的組成部門。通過(guò)商品功能模塊,公司和企業(yè)可以在互聯(lián)網(wǎng)上發(fā)布商品信息,消費(fèi)者可以通過(guò)互聯(lián)網(wǎng)對(duì)公司和企業(yè)發(fā)布的商品信息進(jìn)行查看,并且可以對(duì)所需要的商品進(jìn)行查找。通過(guò)訂單功能模塊,消費(fèi)者可以把想要購(gòu)買的商品信息和送貨信息填寫好發(fā)送到服務(wù)器,服務(wù)器對(duì)其進(jìn)行處理,然后將商品送到消費(fèi)者的手中,真正地實(shí)現(xiàn)了不用走出家門就可以買到所需要的商品的夢(mèng)想。電子商務(wù)平臺(tái)系統(tǒng)的目的是為消費(fèi)者和公司、企業(yè)提供更多的方便,使消費(fèi)者和公司、企業(yè)能夠充分地體會(huì)到在這個(gè)信息技術(shù)如此發(fā)達(dá)的時(shí)代,互聯(lián)網(wǎng)技術(shù)在其中所發(fā)揮的作用。同時(shí)也能夠填補(bǔ)“中國(guó)電子商務(wù)”的空白。第1章電子商務(wù)平臺(tái)系統(tǒng)概述1.1電子商務(wù)平臺(tái)系統(tǒng)的開發(fā)背景目前我國(guó)仍然處于市場(chǎng)經(jīng)濟(jì)發(fā)展的初級(jí)階段。由于社會(huì)主義市場(chǎng)經(jīng)濟(jì)的優(yōu)越性,使得我國(guó)的經(jīng)濟(jì)正在以前所未有的速度高速發(fā)展。特別是近幾年來(lái),我國(guó)在世界經(jīng)濟(jì)發(fā)展總體趨緩的情況下,仍然可以保持著一個(gè)良好、健康、穩(wěn)定的發(fā)展態(tài)勢(shì)。當(dāng)今世界風(fēng)云變幻,盡管很多不良因素仍然存在,但是總體穩(wěn)定的環(huán)境為我國(guó)政治、經(jīng)濟(jì)、科學(xué)等方面的發(fā)展奠定了穩(wěn)定的基礎(chǔ)。同時(shí)我國(guó)也堅(jiān)持一貫“維護(hù)世界和平,促進(jìn)經(jīng)濟(jì)發(fā)展”的原則,積極努力的維護(hù)對(duì)我國(guó)和世界人民都有利的和平環(huán)境。隨著我國(guó)經(jīng)濟(jì)的不斷發(fā)展,我國(guó)已經(jīng)基本具備了發(fā)展“基于互聯(lián)網(wǎng)經(jīng)濟(jì)”的雄厚基礎(chǔ),其中,電子商務(wù)作為這個(gè)領(lǐng)域中的重要組成部分,在近幾年正在以很高的速度成長(zhǎng)并壯大。盡管電子商務(wù)在國(guó)的發(fā)展環(huán)境和發(fā)展空間都非常廣闊,但是仍然處于起步階段,還是遠(yuǎn)遠(yuǎn)落后于世界發(fā)達(dá)國(guó)家的發(fā)展步伐;而電子商務(wù)在歐洲、北美等發(fā)達(dá)地區(qū)已經(jīng)成為一種比較成熟的經(jīng)濟(jì)模式,有很多寶貴的經(jīng)驗(yàn)值得我們借鑒和學(xué)習(xí)。作為新興行業(yè)的軟件業(yè),應(yīng)該有責(zé)任充分推動(dòng)國(guó)電子商務(wù)的發(fā)展,為我國(guó)經(jīng)濟(jì)的信息化發(fā)展注入新的活力。1.2電子商務(wù)平臺(tái)系統(tǒng)的開發(fā)意義電子商務(wù)平臺(tái)系統(tǒng)是基于最流行最優(yōu)化的MVC(struts+SQLServer2000)框架的J2EE企業(yè)級(jí)大型網(wǎng)絡(luò)應(yīng)用程序,所有的繁重計(jì)算和處理都由服務(wù)器端處理,運(yùn)行速度快,安全穩(wěn)定,數(shù)據(jù)庫(kù)采用SQLServer2000大大減輕了客戶端用機(jī)CPU頻率受制的局限;同時(shí)絕對(duì)的安全性和穩(wěn)定性是本系統(tǒng)最強(qiáng)大、最重要的設(shè)計(jì)開發(fā)組成部分。本系統(tǒng)的開發(fā)和發(fā)布,可以填補(bǔ)“中國(guó)電子商務(wù)”的空白。1.3電子商務(wù)平臺(tái)系統(tǒng)得主要研究容本系統(tǒng)全面實(shí)現(xiàn)MVC(模型視圖控制)三層架構(gòu),采用STRUTS框架,最有說(shuō)服力的證實(shí)了多層建構(gòu)框架模式的絕優(yōu)越性。數(shù)據(jù)和邏輯處理由STRUTS的模型層Model進(jìn)行處理,頁(yè)面調(diào)轉(zhuǎn)由STRUTS的控制層Controller實(shí)現(xiàn),頁(yè)面負(fù)責(zé)顯示請(qǐng)求和響應(yīng),大大增強(qiáng)了“人機(jī)”的互動(dòng)性,這一層在STRUTS的視圖層View實(shí)現(xiàn),完全使用STRUTS標(biāo)簽實(shí)現(xiàn),同時(shí)使用validator驗(yàn)證框架進(jìn)行數(shù)據(jù)檢驗(yàn)。數(shù)據(jù)的存儲(chǔ)和持久化由JDBC持久層實(shí)現(xiàn),數(shù)據(jù)庫(kù)采用SQLServer2000,整個(gè)系統(tǒng)完全貫穿JAVA面向?qū)ο蟮母拍?,全面完整地?shí)現(xiàn)了JAVA的封裝性,繼承性,多態(tài)性的三大特征完全按照J(rèn)2EE企業(yè)級(jí)網(wǎng)絡(luò)應(yīng)用程序的開發(fā)方案設(shè)計(jì)和開發(fā)。第2章電子商務(wù)平臺(tái)系統(tǒng)應(yīng)用的技術(shù)Struts簡(jiǎn)介2.1什么是Struts?在介紹Struts之前,先介紹一下框架的概念??蚣芗碏ramework,這里指軟件的構(gòu)架方式。通過(guò)對(duì)框架的介紹可以幫助我們更好地了解Struts。對(duì)于框架的介紹要從J2EE說(shuō)起。J2EE的體系包括JSP、Servlet、E、WebService等多項(xiàng)技術(shù)。這些技術(shù)的出現(xiàn)給電子商務(wù)時(shí)代的Web應(yīng)用開發(fā)提供了一個(gè)非常有競(jìng)爭(zhēng)力的選擇。怎樣把這些技術(shù)結(jié)合起來(lái),形成一個(gè)適應(yīng)項(xiàng)目需求的穩(wěn)定架構(gòu)是項(xiàng)目開發(fā)過(guò)程中一個(gè)非常重要的步驟。此步驟一般主要由架構(gòu)設(shè)計(jì)師完成,設(shè)計(jì)師將根據(jù)項(xiàng)目需求,對(duì)J2EE體系中的各處技術(shù)進(jìn)行篩選取舍,并考慮到開發(fā)過(guò)程中的角色分工、后期的運(yùn)行維護(hù)以與系統(tǒng)擴(kuò)展性等諸多因素,建立體系的框架。Struts實(shí)質(zhì)上就是在JSPModel2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC框架。它最早是作為ApacheJakarta項(xiàng)目的組成部分問(wèn)世運(yùn)作的。項(xiàng)目的創(chuàng)立者希望通過(guò)對(duì)該項(xiàng)目的研究,改進(jìn)和提高JSP、Servlet、標(biāo)簽庫(kù)以與面向?qū)ο蟮募夹g(shù)水平。Struts是一個(gè)開放源代碼的Web的應(yīng)用框架。在Struts框架中,模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或E組件構(gòu)成,控制器由ActionServlet和Action來(lái)實(shí)現(xiàn),視圖由一組JSP文件構(gòu)成。通過(guò)這種設(shè)計(jì)模式,使Struts的重用性和維護(hù)性更好的體現(xiàn)出來(lái)。如圖2.1圖2.1Struts實(shí)現(xiàn)的MVC框架Fig.2.1AppliesStrutstoMVCFrame2.2為什么要提出Struts?今天的web應(yīng)用基本上都是代表共同理念的關(guān)鍵組件。一個(gè)成功的軟件需要有一個(gè)成功的架構(gòu),但軟件架構(gòu)的建立是一個(gè)復(fù)雜而又持續(xù)改進(jìn)的過(guò)程,不可能對(duì)每個(gè)不同的項(xiàng)目做不同的架構(gòu),而總是盡量重用以前的架構(gòu),或開發(fā)出盡量通用的架構(gòu)方案,Struts就是其中一個(gè)。Struts的核心是一個(gè)MVC風(fēng)格的控制器。MVC是Model-View-Controller的簡(jiǎn)寫。"Model"代表的是應(yīng)用的業(yè)務(wù)邏輯(通過(guò)JavaBean組件實(shí)現(xiàn)),"View",是應(yīng)用的表示頁(yè)面(由JSP頁(yè)面產(chǎn)生),"Controller"是提供應(yīng)用的處理過(guò)程控制(一般是通過(guò)一個(gè)Servlet實(shí)現(xiàn))。Struts控制器搭建起了Model和View之間的橋梁。框架也包括開發(fā)人員想用來(lái)開發(fā)可伸縮的、先進(jìn)的應(yīng)用的其他組件。Struts是一個(gè)“隱蔽支柱”的集合,幫助開發(fā)人員將分散的材料如數(shù)據(jù)庫(kù)和頁(yè)面,結(jié)合成一個(gè)整體的應(yīng)用程序。從而減輕了工作量,也更利于以后的維護(hù)與管理。2.3Struts的工作流程對(duì)于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動(dòng)時(shí)就會(huì)加載并初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對(duì)象中,例如Action的映射信息存放在ActionMapping對(duì)象中。當(dāng)ActionSerclet接受到一個(gè)客戶請(qǐng)求時(shí),將執(zhí)行如下流程:檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例,如果不存在,就返回用戶請(qǐng)求路徑無(wú)效的信息。ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對(duì)象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對(duì)象中。根據(jù)配置信息決定是否需要表單驗(yàn)證。如果需要驗(yàn)證,就調(diào)用Actionform的Validate()方法。如果ActionForm的validate()方法返回null或返回一個(gè)不包含ActionMessage的ActionErrors對(duì)象,就表示表單驗(yàn)證成功。相反地,如果ActionForm的validate()方法返回一個(gè)包含一個(gè)或多個(gè)ActionMessage的ActionErrors對(duì)象,就表示表單驗(yàn)證失敗,此時(shí)ActionServlet將直接把請(qǐng)求轉(zhuǎn)發(fā)給包含用戶提交表單的JSP組件。在這種情況下,不會(huì)再創(chuàng)建Action對(duì)象,并調(diào)用Action的execute()方法。ActionServlet根據(jù)ActionMapping實(shí)例包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action。如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個(gè)實(shí)例,然后調(diào)用Action的execute()方法。Action的execute()方法,返回一個(gè)ActionForward對(duì)象,ActionServlet再把客戶請(qǐng)求轉(zhuǎn)發(fā)給ActionForward對(duì)象指向的JSP組件。ActionForward對(duì)象指向的JSP組件生成動(dòng)態(tài)網(wǎng)頁(yè),返回給客戶。如圖2.2圖2.2Struts的工作流程Fig.2.2StrutsWorkingFlow第3章電子商務(wù)平臺(tái)系統(tǒng)的總體規(guī)劃在這個(gè)信息高速發(fā)展和互聯(lián)網(wǎng)應(yīng)用廣泛的時(shí)代,只有經(jīng)過(guò)規(guī)劃和開發(fā)的信息資源才能發(fā)揮作用,只有經(jīng)過(guò)規(guī)劃和管理的系統(tǒng)才能受到用戶的歡迎。所以系統(tǒng)總體規(guī)劃是必要的??傮w規(guī)劃主要使人力、物力和時(shí)間的安排合理、有序,以保證系統(tǒng)開發(fā)能夠順利的進(jìn)行。各個(gè)模塊除了完成相對(duì)獨(dú)立的功能外,相互之間還需要協(xié)調(diào)工作,總體規(guī)劃的目的就是要實(shí)現(xiàn)“高聚低耦合”這一思想。3.1電子商務(wù)平臺(tái)系統(tǒng)開發(fā)的基本原則電子商務(wù)平臺(tái)管理系統(tǒng)是一個(gè)為了給廣大的消費(fèi)者和公司、企業(yè)帶來(lái)方便的Web系統(tǒng),系統(tǒng)的開發(fā)應(yīng)該滿足:1、實(shí)用性原則:系統(tǒng)必須滿足消費(fèi)者和公司、企業(yè)的需求,既保證系統(tǒng)功能的正確性又方便實(shí)用,需要友好的用戶界面、靈活的功能調(diào)度、簡(jiǎn)便的操作和完善的系統(tǒng)維護(hù)措施。2、系統(tǒng)型原則:在系統(tǒng)的開發(fā)過(guò)程中,必須重視功能和數(shù)據(jù)的整體性。3、符合軟件工程規(guī)的原則:系統(tǒng)的開發(fā)是一項(xiàng)復(fù)雜的應(yīng)用軟件工程,應(yīng)該按照軟件工程的理論、方法和規(guī)去組織與實(shí)施。4、逐步完善與逐步發(fā)展的原則:系統(tǒng)的建立不可能已開始就十分完善和先進(jìn),而是總要經(jīng)歷一個(gè)逐步完善和逐步發(fā)展的過(guò)程。3.2電子商務(wù)平臺(tái)系統(tǒng),系統(tǒng)劃分的基本原則1、各個(gè)模塊要具有相對(duì)獨(dú)立性:模塊的劃分必須使其部功能、信息等各方面的凝聚性較好。在實(shí)際中我們都希望每個(gè)模塊相對(duì)獨(dú)立,盡量減少各種不必要的數(shù)據(jù)調(diào)用和控制聯(lián)系。并將聯(lián)系比較密切、功能近似的模塊放在一個(gè)公共的模塊中,這樣可以避免代碼過(guò)于重復(fù),充分體現(xiàn)了代碼的重用性原則。2、要使模塊之間數(shù)據(jù)的依賴性盡量小:模塊之間的聯(lián)系要盡量減少,使接口簡(jiǎn)單、明確。一個(gè)部聯(lián)系強(qiáng)的功能模塊對(duì)外部的聯(lián)系相對(duì)來(lái)說(shuō)就變的弱。所以劃分時(shí)應(yīng)將聯(lián)系較多的功能放到模塊部。這樣對(duì)代碼的調(diào)試、維護(hù)、運(yùn)行都是非常方便的。充分體現(xiàn)了“高聚低耦合”這一原則。3、模塊劃分的結(jié)果應(yīng)使數(shù)據(jù)冗余最?。喝绻覀兒鲆曔@個(gè)問(wèn)題,則可能引起相關(guān)的功能數(shù)據(jù)分布在各個(gè)不同的模塊中,大量的原始數(shù)據(jù)需要調(diào)用,大量的中間結(jié)果需要保存和傳遞,大量的計(jì)算工作將要重復(fù)進(jìn)行。從而使得程序結(jié)構(gòu)紊亂。數(shù)據(jù)冗余,不但給軟件編制工作帶來(lái)很大的困難,而且還降低了系統(tǒng)的工作效率,給調(diào)試和測(cè)試也帶來(lái)了很大的困難。第4章電子商務(wù)平臺(tái)系統(tǒng)的需求分析需求分析是軟件開發(fā)的第一個(gè)階段也是最重要的一個(gè)階段。據(jù)調(diào)查,軟件項(xiàng)目中百分之四十至百分之六十的問(wèn)題都是在需求分析階段埋下的“禍根”。如果需求做的好,能開發(fā)出很出色的產(chǎn)品,同時(shí)會(huì)使客戶感到很滿意,開發(fā)者也倍感滿意和充實(shí)。相反地,如果需求做的不好,則會(huì)導(dǎo)致誤解、挫折、障礙以與潛在質(zhì)量和業(yè)務(wù)價(jià)值上的威脅。需求分析奠定了軟件工程和項(xiàng)目管理的基礎(chǔ)。軟件開發(fā)過(guò)程包括需求分析、系統(tǒng)設(shè)計(jì)、編碼和測(cè)試四個(gè)階段。圖4.1描述了需求分析與其他三個(gè)階段之間的關(guān)系。本章主要介紹電子商務(wù)平臺(tái)系統(tǒng)的功能需求和對(duì)安全性的需求。圖4.1需求分析與其他三個(gè)階段之間的關(guān)系Fig.4.1RelationBetweenDiamandAnalyseAndOtherThreePhases4.1電子商務(wù)平臺(tái)系統(tǒng)用例圖1、普通用戶用例圖圖4.2普通用戶用例圖Fig.4.2CommonUserUseCasePlan2、管理員用例圖圖4.3管理員用例圖Fig.4.3ManagerUseCasePlan3、超級(jí)管理員用例圖圖4.4超級(jí)管理員用例圖Fig.4.4SuperManagerUseCasePlan4.2功能需求主要能功模塊:用戶功能模塊、商品功能模塊、訂單功能模塊、功能模塊、管理員功能模塊和日志功能模塊。1、用戶功能模塊:用戶分為超級(jí)管理員、管理員和普通用戶三種。超級(jí)管理員與管理員的區(qū)別是超級(jí)管理員可以添加管理員、刪除管理員和修改管理員的信息,而管理員沒(méi)有這些功能。用戶注冊(cè):需要填寫的信息包括用戶名、密碼、性別、、地址、和。系統(tǒng)將用戶填寫的信息錄入到數(shù)據(jù)庫(kù)中。用戶注冊(cè)成功以后自動(dòng)跳轉(zhuǎn)到普通用戶界面。用戶登錄:需要填寫的信息包括用戶名和密碼。用戶輸入用戶名和密碼以后,系統(tǒng)首先對(duì)輸入的用戶名和密碼是否正確進(jìn)行驗(yàn)證。如果不正確跳轉(zhuǎn)到錯(cuò)誤處理頁(yè)面;如果正確,系統(tǒng)再對(duì)用戶的角色進(jìn)行判斷。如果是超級(jí)管理員,登錄后進(jìn)入到超級(jí)管理員界面;如果是管理員,登錄后進(jìn)入到管理員界面;如果是普通用戶,登錄后進(jìn)入到普通用戶界面。商品查詢:用戶登錄系統(tǒng)以后,可以輸入商品的類別對(duì)所需要的商品進(jìn)行查看,也可以輸入商品的價(jià)格對(duì)所需要的商品進(jìn)行查詢。訂單添加:用戶在查看商品信息的過(guò)程中,如果看到喜歡的商品想要進(jìn)行購(gòu)買時(shí),可以直接點(diǎn)擊商品圖片下的“購(gòu)買”按鈕,進(jìn)入到訂單添加頁(yè)面。發(fā)送:用戶可以發(fā)送信息給管理員,相當(dāng)于留言板。2、商品功能模塊:商品添加:需要填寫的信息包括商品編號(hào)、商品名稱、商品價(jià)格、商品數(shù)量、商品類別、商品詳細(xì)信息和商品圖片上傳。對(duì)商品圖片上傳采用的是ftp形式。商品查詢:分為兩種,按類別進(jìn)行查詢和按價(jià)格進(jìn)行查詢。按類別進(jìn)行查詢時(shí)需要輸入所要查看商品的類別;按價(jià)格查詢時(shí)需要輸入最低價(jià)格和最高價(jià)格。3、訂單功能模塊:訂單添加:需要填寫的信息包括商品編號(hào)、商品名稱、購(gòu)買數(shù)量、訂貨人、地址、、、和提貨人。在下訂單之前,系統(tǒng)要判斷該用戶是否是會(huì)員,只有會(huì)員才能下訂單。如果不是會(huì)員,自動(dòng)跳轉(zhuǎn)到用戶注冊(cè)頁(yè)面,讓用戶進(jìn)行注冊(cè)。訂單統(tǒng)計(jì):分為兩種,對(duì)某個(gè)人的訂單數(shù)量進(jìn)行統(tǒng)計(jì)和對(duì)某一天的訂單數(shù)量進(jìn)行統(tǒng)計(jì)。對(duì)某個(gè)人的訂單數(shù)量進(jìn)行統(tǒng)計(jì)需要輸入相應(yīng)用戶的用戶名;對(duì)某一天的訂單數(shù)量進(jìn)行統(tǒng)計(jì),需要輸入對(duì)應(yīng)的日期。訂單狀態(tài):輸入下訂單的時(shí)間,對(duì)特定時(shí)間的訂單的狀態(tài)進(jìn)行統(tǒng)計(jì)。4、功能模塊:發(fā)送:需要填寫的信息包括的標(biāo)題、的容和附件。點(diǎn)擊發(fā)送按鈕,將信息發(fā)送給管理員。相當(dāng)于給管理員發(fā)送個(gè)人留言信息。在發(fā)送的過(guò)程中,為了實(shí)現(xiàn)信息的安全性,先將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,當(dāng)需要發(fā)送的時(shí)候,從數(shù)據(jù)庫(kù)中取出這些數(shù)據(jù),然后再通過(guò)系統(tǒng),進(jìn)行發(fā)送。配置:需要填寫的信息包括發(fā)件服務(wù)器、管理員(超級(jí)管理員)的用戶名、管理員(超級(jí)管理員)的密碼、發(fā)送地址和接收地址。配置的目的是使普通用戶給管理員留言;管理員對(duì)留言信息進(jìn)行接收;管理員給普通用戶發(fā)送。接收:管理員將接收到的信息保存到指定的文件夾下。5、管理員功能模塊:1)超級(jí)管理員:用戶登錄:輸入用戶名和密碼,點(diǎn)擊登錄按鈕,進(jìn)入到超級(jí)管理員頁(yè)面。商品添加:超級(jí)管理員登錄系統(tǒng)以后,點(diǎn)擊商品添加,進(jìn)入到商品添加頁(yè)面。在此頁(yè)面超級(jí)管理員可以對(duì)商品編號(hào)、商品名稱、商品價(jià)格、商品數(shù)量、商品類別、商品詳細(xì)信息的添加和對(duì)商品圖片上傳。商品查詢:超級(jí)管理員登錄系統(tǒng)以后,點(diǎn)擊商品查詢,進(jìn)入到商品查詢頁(yè)面。在這一頁(yè)面可以輸入商品的類別或者輸入商品的價(jià)格,對(duì)某一類特定的商品進(jìn)行查詢。獲得商品的相關(guān)信息。訂單狀態(tài):超級(jí)管理員登錄系統(tǒng)以后,點(diǎn)擊訂單狀態(tài),進(jìn)入到訂單狀態(tài)頁(yè)面。在這一頁(yè)面,可以輸入下訂單的時(shí)間,對(duì)特定時(shí)間的訂單狀態(tài)進(jìn)行統(tǒng)計(jì)。訂單統(tǒng)計(jì):超級(jí)管理員登錄系統(tǒng)以后,點(diǎn)擊訂單統(tǒng)計(jì)連接,進(jìn)入到訂單統(tǒng)計(jì)頁(yè)面。在這一頁(yè)面,可以對(duì)某一個(gè)人的訂單數(shù)量進(jìn)行統(tǒng)計(jì),也可以對(duì)某一天的訂單數(shù)量進(jìn)行統(tǒng)計(jì)。配置:超級(jí)管理員登錄系統(tǒng)以后,點(diǎn)擊配置,進(jìn)入到配置頁(yè)面。在這一頁(yè)面,超級(jí)管理員需要對(duì)發(fā)件服務(wù)器進(jìn)行設(shè)置。接收:超級(jí)管理員登錄系統(tǒng)以后,點(diǎn)擊接收,進(jìn)入到接收頁(yè)面。在這一頁(yè)面,超級(jí)管理員將接收到的信息保存到指定的目錄下,方便以后對(duì)的查看。管理員添加:需要填寫的信息包括管理員、管理員密碼和管理員。管理員刪除:對(duì)于已經(jīng)不用的管理員的信息進(jìn)行刪除。管理員信息修改:可以修改管理員的密碼,但不可以修改管理員的用戶名,因?yàn)橛脩裘枪潭ǖ摹?)管理員:用戶登錄:輸入用戶名和密碼,點(diǎn)擊登錄按鈕,進(jìn)入到管理員頁(yè)面。商品添加:管理員登錄系統(tǒng)以后,點(diǎn)擊商品添加,進(jìn)入到商品添加頁(yè)面。在此頁(yè)面管理員可以對(duì)商品編號(hào)、商品名稱、商品價(jià)格、商品數(shù)量、商品類別、商品詳細(xì)信息進(jìn)行添加和對(duì)商品圖片進(jìn)行上傳。商品查詢:管理員登錄系統(tǒng)以后,點(diǎn)擊商品查詢,進(jìn)入到商品查詢頁(yè)面。在這一頁(yè)面可以輸入商品的類別或者輸入商品的價(jià)格,對(duì)某一類特定的商品進(jìn)行查詢。獲得商品的相關(guān)信息。訂單狀態(tài):管理員登錄系統(tǒng)以后,點(diǎn)擊訂單狀態(tài),進(jìn)入到訂單狀態(tài)頁(yè)面。在這一頁(yè)面,可以輸入下訂單的時(shí)間,對(duì)特定時(shí)間的訂單狀態(tài)進(jìn)行統(tǒng)計(jì)。訂單統(tǒng)計(jì):管理員登錄系統(tǒng)以后,點(diǎn)擊訂單統(tǒng)計(jì)連接,進(jìn)入到訂單統(tǒng)計(jì)頁(yè)面。在這一頁(yè)面,可以對(duì)某一個(gè)人的訂單數(shù)量進(jìn)行統(tǒng)計(jì),也可以對(duì)某一天的訂單數(shù)量進(jìn)行統(tǒng)計(jì)。配置:管理員登錄系統(tǒng)以后,點(diǎn)擊配置,進(jìn)入到配置頁(yè)面。在這一頁(yè)面,管理員需要對(duì)發(fā)件服務(wù)器進(jìn)行設(shè)置。接收:管理員登錄系統(tǒng)以后,點(diǎn)擊接收,進(jìn)入到接收頁(yè)面。在這一頁(yè)面,管理員將接收到的信息保存到指定的目錄下,方便以后對(duì)的查看。6、日志功能模塊:將信息進(jìn)行封裝,其他的模塊都可以調(diào)用這一功能,對(duì)數(shù)據(jù)進(jìn)行跟蹤。4.3對(duì)安全性的需求安全要求說(shuō)明認(rèn)證(Identification)身份識(shí)別、信息認(rèn)證,通過(guò)用戶名和密碼驗(yàn)證授權(quán)(Authorization)已注冊(cè)為本系統(tǒng)會(huì)員的用戶才能使用本系統(tǒng)防病毒確定防止非法程序的侵害。侵害檢測(cè)(IntrusionDetection)對(duì)非法操作的預(yù)警和報(bào)告。事務(wù)的完整性采用事務(wù)完整保證機(jī)制,如果因?yàn)榫W(wǎng)絡(luò)不暢等原因造成信息沒(méi)有與時(shí)發(fā)送出去,給用戶以提示信息安全確保所發(fā)布的商品信息屬實(shí)第5章電子商務(wù)平臺(tái)系統(tǒng)的系統(tǒng)設(shè)計(jì)5.1電子商務(wù)平臺(tái)系統(tǒng)軟件體系結(jié)構(gòu)圖5.1體系結(jié)構(gòu)圖Fig.5.1SystemFramePlan5.2電子商務(wù)平臺(tái)系統(tǒng)運(yùn)行體系系統(tǒng)整體類圖:如圖5.2圖5.2類圖Fig.5.2ClassPlan5.3電子商務(wù)平臺(tái)系統(tǒng)部分功能模塊相關(guān)圖形1.發(fā)送類圖如圖5.3圖5.3發(fā)送類圖Fig.5.3MailSenderClassPlan2.接收類圖如圖5.4圖5.4接收類圖Fig.5.4MailReceiverClassPlan3.接收順序圖如圖5.5圖5.5接收順序圖Fig.5.5MailReceiverSequenceDiagram5.4電子商務(wù)平臺(tái)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)電子商務(wù)平臺(tái)系統(tǒng)開發(fā)的一個(gè)最重要的環(huán)節(jié)就是對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)。在系統(tǒng)的開發(fā)過(guò)程中,大部分的操作都是針對(duì)數(shù)據(jù)庫(kù)的,包括數(shù)據(jù)的存儲(chǔ)和讀取。如果數(shù)據(jù)庫(kù)設(shè)計(jì)的不合理,將會(huì)嚴(yán)重影響系統(tǒng)的實(shí)現(xiàn)。在數(shù)據(jù)庫(kù)的設(shè)計(jì)上,要遵循數(shù)據(jù)冗余度小的原則。5.4.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)用數(shù)據(jù)模型來(lái)展示數(shù)據(jù)庫(kù)的結(jié)構(gòu),有利于人們對(duì)數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)有個(gè)整體的把握。目前廣泛使用的數(shù)據(jù)模型可以分為概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型兩類。概念數(shù)據(jù)模型是獨(dú)立于計(jì)算機(jī)系統(tǒng)的,在概念數(shù)據(jù)模型中最常用的是實(shí)體關(guān)系圖,即E-R圖。E-R圖是直觀表示概念模型的工具,它有兩個(gè)基本的組成部分即實(shí)體(用巨型框表示);關(guān)系(用菱形框表示)。但E-R模型只能說(shuō)明實(shí)體間語(yǔ)義的聯(lián)系,不能進(jìn)一步說(shuō)明詳細(xì)的數(shù)據(jù)結(jié)構(gòu),它只是數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步。而結(jié)構(gòu)數(shù)據(jù)模型是直接面向數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的。它把數(shù)據(jù)庫(kù)中各個(gè)表之間的聯(lián)系全部的展示出來(lái),比較清晰,便于理解。電子商務(wù)平臺(tái)系統(tǒng)采用的是結(jié)構(gòu)數(shù)據(jù)模型。如圖5.6圖5.6結(jié)構(gòu)數(shù)據(jù)模型Fig.5.6StructureDataModel5.4.2數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要目的是產(chǎn)生一個(gè)DBMS可處理的數(shù)據(jù)模型和數(shù)據(jù)庫(kù)模式,該模式必須滿足數(shù)據(jù)庫(kù)的存取,一致性與運(yùn)行等方面的用戶需求。為了進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,通常以規(guī)化理論為指導(dǎo),還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu)。數(shù)據(jù)模型的優(yōu)化方法為:確定數(shù)據(jù)依賴,對(duì)于各關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾式。按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。對(duì)關(guān)系模式進(jìn)行必要的分解。規(guī)化理論為數(shù)據(jù)庫(kù)設(shè)計(jì)人員判斷關(guān)系模式優(yōu)劣提供了理論標(biāo)準(zhǔn),可用來(lái)預(yù)測(cè)模式可能出現(xiàn)的問(wèn)題,使數(shù)據(jù)庫(kù)設(shè)計(jì)工作有了嚴(yán)格的理論基礎(chǔ)。對(duì)本系統(tǒng)來(lái)說(shuō),我們?cè)谠O(shè)計(jì)中盡量消除數(shù)據(jù)依賴不合適的部分,減少數(shù)據(jù)冗余度,使數(shù)據(jù)形成概念的單一化。5.4.3數(shù)據(jù)庫(kù)物理設(shè)計(jì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程。其任務(wù)是為了有效地實(shí)現(xiàn)邏輯模式,確定所采取的存儲(chǔ)策略。以邏輯設(shè)計(jì)的結(jié)果作為輸入,選定數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。各個(gè)表中字段的設(shè)計(jì)如下:1)用戶信息表(USER_INFOR)主要用來(lái)存儲(chǔ)用戶注冊(cè)時(shí)的信息。其中字段USER_ID是自動(dòng)生成的,其他的字段都是用戶注冊(cè)時(shí)需要填寫的。在登錄的時(shí)候和管理員功能模塊中都能用到這表。見(jiàn)表5.1表5.1用戶信息表Tab.5.1userinformationtable字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述USER_IDbigint8是用戶IDUSER_NAMEnvarchar12用戶USER_ROLE_NOint4用戶權(quán)限號(hào)USER_PASSWORDvarchar12用戶密碼USER_REPASSWORDvarchar12確認(rèn)密碼SEXvarchar10用戶性別USER_EMAILvarchar30用戶電子PHONEchar22用戶ADDRESSntext16用戶地址ZONECODEint42)列表(MAIL)主要用來(lái)存儲(chǔ)用戶留言時(shí)的默認(rèn)發(fā)送、接收,以與在設(shè)置時(shí)需要用到的發(fā)送協(xié)議和接收協(xié)議等。見(jiàn)表5.2表5.2mail表Tab.5.2mailtable字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述MAIL_NAMEvarchar20是默認(rèn)名MAIL_PASSWORDvarchar20默認(rèn)密碼MAIL_RECIEVE_HOSTvarchar20發(fā)送服務(wù)器MAIL_SEND_HOSTvarchar20接受服務(wù)器MAIL_FROMvarchar20本方地址MAIL_TOvarchar20對(duì)方地址3)訂單列表(ORDER_DETAIL)主要用來(lái)存儲(chǔ)用戶的訂貨信息。其中ORDERDETAIL_ID是自動(dòng)生成的。管理員可以通過(guò)它了解訂單數(shù)量、狀態(tài)等,用戶在購(gòu)買商品的時(shí)候,也要通過(guò)它來(lái)實(shí)現(xiàn)。見(jiàn)表5.3表5.3訂單列表Tab.5.3orderdetailtableORDER_DETAIL的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述ORDERDETAIL_IDint4是訂單編號(hào)GOODS_IDint4商品編號(hào)GOODS_NAMEvarchar20商品名稱GOODS_PRICEfloat4商品價(jià)格ORDERGOODSINTint4購(gòu)買數(shù)量USER_IDint4訂貨人USER_ADDRESSvarchar20地址USER_PHONEint4USERZONECODEint4USEREMAILvarchar20ACCEPTERvarchar20提貨人4)商品列表(Goods)主要用來(lái)存儲(chǔ)商品的信息。其中GOODS_ID是自動(dòng)生成的。用戶對(duì)商品的查詢,管理員對(duì)商品的添加、刪除、修改等操作,都要使用到該表。見(jiàn)表5.4表5.4商品列表Tab.5.4goodstable字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述GOODS_IDint4是商品編號(hào)GOODS_NAMEvarchar20商品名稱GOODS_PRICEfloat4商品價(jià)格GOODS_NUMBERint20商品數(shù)量GOODS_TYPE_NOvarchar20商品類別GOODS_INFORvarchar20商品信息GOODS_IMGvarchar20商品圖片5)用戶權(quán)限表(USER_ROLE)主要用來(lái)存儲(chǔ)用戶權(quán)限號(hào)與其對(duì)應(yīng)的身份(0超級(jí)管理員、2管理員、3普通用戶)見(jiàn)表5.5表5.5用戶權(quán)限表Tab.5.5userroletable字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述USER_ROLE_NOint4是用戶權(quán)限號(hào)USER_ROLEvarchar12用戶身份6)訂單狀態(tài)表(SEND_GOOD_STATE)主要用來(lái)存儲(chǔ)訂單狀態(tài)號(hào)與其對(duì)應(yīng)的訂單狀態(tài)(1已付款已發(fā)貨、2已付款未發(fā)貨、3未付款未發(fā)貨)見(jiàn)表5.6表5.6訂單狀態(tài)表Tab.5.6orderstatetable字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述ORDER_STATE_NOint4是訂單狀態(tài)號(hào)ORDER_STATEvarchar12訂單狀態(tài)7)商品類別表(GOODS_TYPE)主要用來(lái)存儲(chǔ)商品類別號(hào)與其對(duì)應(yīng)的商品類別(1書籍類、2衣物類、3電子類、4音像類等)見(jiàn)表5.7表5.7商品類別表Tab.5.7goodstypetable字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述GOODS_TYPE_NOint4是商品類別號(hào)GOODS_TYPEvarchar12商品類別5.5電子商務(wù)平臺(tái)系統(tǒng)的界面設(shè)計(jì)界面盡量以美觀、簡(jiǎn)潔、使用方便為主,實(shí)現(xiàn)圖形化交互的界面形式。電子商務(wù)平臺(tái)系統(tǒng)的功能操作是通過(guò)菜單來(lái)實(shí)現(xiàn)的。在電子商務(wù)平臺(tái)系統(tǒng)中,用戶根據(jù)權(quán)限的不同分為三個(gè)角色,即普通用戶、管理員和超級(jí)管理員。用戶在登錄系統(tǒng)的時(shí)候,根據(jù)輸入的用戶名和密碼,系統(tǒng)就會(huì)判斷該用戶的角色。如果是普通用戶,菜單欄上顯示的操作是商品查詢、訂單添加和發(fā)送;如果是管理員,菜單欄上顯示的操作是商品管理、訂單管理、管理和日志管理;如果是超級(jí)管理員,菜單欄上顯示的操作是商品管理、訂單管理、管理、管理員管理和日志管理。不同角色的用戶登錄系統(tǒng)以后的主界面如圖5.7、圖5.8和圖5.9。圖5.7普通用戶主界面Fig.5.7CommonUserMenu圖5.8管理員主界面Fig.5.8ManagerMenu圖5.9超級(jí)管理員主界面Fig.5.9SuperManagerMenu第6章電子商務(wù)平臺(tái)系統(tǒng)的系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)是電子商務(wù)平臺(tái)系統(tǒng)開發(fā)的最終目的。對(duì)系統(tǒng)的需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)和界面設(shè)計(jì)都是為系統(tǒng)的實(shí)現(xiàn)做準(zhǔn)備的。本章主要介紹對(duì)用戶登錄和注冊(cè)的實(shí)現(xiàn)。6.1用戶登錄用戶登錄界面如圖6.1所示:圖6.1登錄界面Fig.6.1LoginMenu2、在登陸的過(guò)程中,判斷用戶的權(quán)限,根據(jù)權(quán)限的不同可以看到主頁(yè)面顯示的不同的信息,JSP頁(yè)面的主要實(shí)現(xiàn)代碼如下:<%pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"import="java.sql.*"%><%pageimport="order.form.LoginForm"%><%pageimport="ordermon.db.DBUtil"%><%tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%><%tagliburi="/WEB-INF/struts-html.tld"prefix="html"%><%tagliburi="/WEB-INF/struts-logic.tld"prefix="logic"%><%try{LoginFormloginForm=(LoginForm)request.getAttribute("loginForm");StringuserName=loginForm.getUserName();DBUtildb=newDBUtil();db.getConnectionByJDBC();PreparedStatementpstmt=db.prepareStatement("SELECTUSER_ROLE_NOFROMUSER_INFORwhereUSER_NAME='"+userName+"'");ResultSetrs=pstmt.executeQuery();%><html><head><meta-equiv="contentType"content="text/html;charset=UTF-8">省略部分代碼<tdwidth="161"valign="top"><%while(rs.next()){inta=rs.getInt("USER_ROLE_NO");if(a==0){ %><tableheight="41"width="161"><tr><thwidth="75"></th><thwidth="74"></th></tr><tr><tdheight="33"><inputtype="image"name="imageField13"src="../images/03.png"/></td><td><ahref="a"/>商品管理</td></tr><tr><tr><tdheight="33"><inputtype="image"name="imageField"src="../images/02.png"></td><td><ahref="a"/>訂單管理</td></tr><tr><tdheight="33"><inputtype="image"name="imageField4"src="../images/11.png"/></td><td><ahref="mailSetted.jsp"/>配置</td><tr><tdheight="33"><inputtype="image"name="imageField2"src="../images/10.png"/></td><td><ahref="userManage.jsp"/>用戶管理</td></tr><tr><tr><tdheight="33"><inputtype="image"name="imageField3"src="../images/09.png"/></td><td><ahref="a"/>留言管理</td></tr><tr></tr><tr></table><%}elseif(a==1){%>省略部分代碼6.2用戶注冊(cè) 如果非會(huì)員來(lái)訪問(wèn)本,必須先注冊(cè),注冊(cè)的過(guò)程即向數(shù)據(jù)庫(kù)添加用戶信息,實(shí)現(xiàn)的邏輯是:從注冊(cè)頁(yè)面獲取信息registerFormregesterAction調(diào)用userService中的register()方法,判斷注冊(cè)成功與否,判斷跳轉(zhuǎn)頁(yè)面userService調(diào)用userDao的insertUserInfor()方法,判斷往數(shù)據(jù)庫(kù)里添加用戶信息是否成功,用戶注冊(cè)頁(yè)面如圖6.2和圖6.3,具體實(shí)現(xiàn)代碼如下:RegisterForm.java的代碼order.form;importjavax.servlet..ServletRequest;importorg.apache.struts.action.ActionError;importorg.apache.struts.action.ActionErrors;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionMapping;publicclassRegisterFormextendsActionForm{privatestaticfinallongserialVersionUID=1L;privateStringuserid=null;privateStringuserName=null;省略部分頁(yè)面獲得的屬性代碼/***returnthepassword*/publicStringgetPassword(){returnpassword; }/***parampasswordthepasswordtoset*/publicvoidsetPassword(Stringpassword){this.password=password; }/***returntheuserName*/publicStringgetUserName(){returnuserName; }/***paramuserNametheuserNametoset*/publicvoidsetUserName(StringuserName){this.userName=userName; }省略部分set,get方法代碼/***paramerrors*seeorg.apache.struts.action.ActionForm#validate(org.apache.struts.action.ActionMapping,javax.servlet..ServletRequest)*/publicActionErrorsvalidate(ActionMappingmapping,ServletRequestrequest){finalActionErrorserrors=newActionErrors();if(((userName==null)||(userName.length()<1))) errors.add("userName",newActionError("error.userName.required"));if(((password==null)||(password.length()<1))) errors.add("password",newActionError("error.password.required"));if(email!=null&&email.length()>0&&email.indexOf("")==-1){ errors.add("email",newActionError("error.wrongEmail.required")); }returnerrors;} }RegisterAction.java的代碼order.action;importjavax.servlet..ServletRequest;importjavax.servlet..ServletResponse;importorg.apache.struts.action.Action;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;order.form.RegisterForm;order.service.UserService;publicfinalclassRegisterActionextendsAction{ /** * *parammapping *paramform *paramrequest *paramresponse *returnActionForward * *seeorg.apache.struts.action.Action#execute *(org.apache.struts.action.ActionMapping, *org.apache.struts.action.ActionForm, *javax.servlet..ServletRequest, *javax.servlet..ServletResponse) */ publicActionForwardexecute(ActionMappingmapping,ActionFormform, ServletRequestrequest,ServletResponseresponse){ try{ RegisterFormregisterForm=(RegisterForm)form; StringuserName=registerForm.getUserName(); Stringpassword=registerForm.getPassword(); StringrePassword=registerForm.getRePassword(); Stringsex=registerForm.getSex(); Stringemail=registerForm.getEmail(); Stringaddress=registerForm.getAddress(); Stringphone=registerForm.getPhone(); IntegerzoneCode=registerForm.getZoneCode(); UserServiceuser=newUserService(); booleanregisterOk=user.register(userName,password,rePassword, sex,email,address,phone,zoneCode); request.setAttribute("registerForm",form); if(registerOk){ returnmapping.findForward("reOk"); }else{ returnmapping.findForward("reError"); } }catch(Exceptione){ } returnnull; }}UserService.java的代碼order.service;order.dao.UserDao;publicclassUserService{省略其他注冊(cè)不用的代碼>publicbooleanregister(StringuserName,Stringpassword, StringrePassword,Stringsex,Stringemail,Stringaddress, Stringphone,IntegerzoneCode){try{ UserDaouser=newUserDao();booleanregisterOk=user.insertUserInfor(userName,password, rePassword,sex,email,address,phone,zoneCode);returnregisterOk; }catch(Exceptione){ }returnfalse; }}UserDao的代碼order.dao;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;ordermon.db.DBUtil;ordermon.db.DBUpdate;publicclassUserDao{ privateStringstrSql; privateResultSetrs=null; privatePreparedStatementpstmt;省略其他注冊(cè)不用的代碼> publicbooleaninsertUserInfor(StringuserName,Stringpassword, StringrePassword,Stringsex,Stringemail,Stringaddress, Stringphone,IntegerzoneCode){ try{ DBUtildb=newDBUtil(); db.getConnectionByJDBC(); strSql="INSERTINTOUSER_INFOR(USER_NAME,USER_PASSWORD,USER_REPASSWORD,SEX,USER_EMAIL" +",USER_ADDRESS,USER_PHONE,ZONECODE,USER_ROLE_NO)values(?,?,?,?,?,?,?,?,2)"; //setbeanintolist ArrayListlist=newArrayList(); list.add(userName); list.add(password); list.add(rePassword); list.add(sex); list.add(email); list.add(address); list.add(phone); list.add(zoneCode); //list.add(roleNo); pstmt=db.prepareStatement(strSql); DBUpdate.update(pstmt,list); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returntrue; }}圖6.2用戶注冊(cè)Fig.6.2UserRegister圖6.3注冊(cè)成功界面Fig.6.3RegisterSucceedMenu第7章電子商務(wù)平臺(tái)系統(tǒng)的系統(tǒng)測(cè)試7.1軟件測(cè)試簡(jiǎn)介測(cè)試是每個(gè)軟件開發(fā)過(guò)程中必須經(jīng)歷的階段,它是貫穿在整個(gè)軟件開發(fā)的過(guò)程中的。測(cè)試的目的是為了發(fā)現(xiàn)系統(tǒng)中存在的缺陷,并盡可能地為修正錯(cuò)誤提供更多的信息,使系統(tǒng)更加地完善。測(cè)試的對(duì)象包括數(shù)據(jù)、程序和文檔。測(cè)試的方法分為動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試兩種。靜態(tài)測(cè)試分為人工測(cè)試和計(jì)算機(jī)輔助測(cè)試;動(dòng)態(tài)測(cè)試分為黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試也稱為功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否能正常使用。在測(cè)試時(shí),把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序部結(jié)構(gòu)和部特性的情況下,在程序接口進(jìn)行測(cè)試。它只檢查程序功能是否按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮部邏輯結(jié)構(gòu),它注重于測(cè)試軟件的功能性需求,即黑盒測(cè)試使軟件工程師派生出執(zhí)行程序所有功能需求的輸入條件。黑盒測(cè)試不是白盒測(cè)試的替代品,而是用于輔助白盒測(cè)試發(fā)現(xiàn)其他類型的錯(cuò)誤。黑盒測(cè)試試圖發(fā)現(xiàn)以下類型的錯(cuò)誤:功能錯(cuò)誤或遺漏;界面錯(cuò)誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤;性能錯(cuò)誤;初始化和終止錯(cuò)誤。黑盒測(cè)試的優(yōu)點(diǎn):基本上不用人管著,如果程序停止運(yùn)行了,一般就是被測(cè)試程序crash了;設(shè)計(jì)完測(cè)試用例就可以了。黑盒測(cè)試的缺點(diǎn):結(jié)果取決于測(cè)試用例的設(shè)計(jì),測(cè)試用例的設(shè)計(jì)部分來(lái)源于經(jīng)驗(yàn);沒(méi)有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子基本上都是針對(duì)PDU來(lái)做的,還做不到針對(duì)被測(cè)試程序的狀態(tài)裝換來(lái)做;就沒(méi)有狀態(tài)概念的測(cè)試來(lái)說(shuō),尋找和確定造成程序crash的測(cè)試用例是個(gè)麻煩事情,必須把周圍可能的測(cè)試用例單獨(dú)確認(rèn)一遍。但是,就有狀態(tài)的測(cè)試來(lái)說(shuō)就更麻煩了。尤其不是一個(gè)單獨(dú)的testcase造成的問(wèn)題,這些在堆的問(wèn)題中表現(xiàn)的更為突出。白盒測(cè)試又稱結(jié)構(gòu)測(cè)試,透明盒測(cè)試,邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。它是按照程序部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論