畢業(yè)設(shè)計(jì)(論文)-信用卡商城系統(tǒng)—后臺(tái)商品管理模塊_第1頁
畢業(yè)設(shè)計(jì)(論文)-信用卡商城系統(tǒng)—后臺(tái)商品管理模塊_第2頁
畢業(yè)設(shè)計(jì)(論文)-信用卡商城系統(tǒng)—后臺(tái)商品管理模塊_第3頁
畢業(yè)設(shè)計(jì)(論文)-信用卡商城系統(tǒng)—后臺(tái)商品管理模塊_第4頁
畢業(yè)設(shè)計(jì)(論文)-信用卡商城系統(tǒng)—后臺(tái)商品管理模塊_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄論 文 摘 要2一、JAVA編程31、1 JAVA語言簡介31、2struts2.0簡介5二、網(wǎng)站功能的設(shè)計(jì)82、1網(wǎng)站功能分析82、2平臺(tái)功能模塊的設(shè)計(jì)92、3系統(tǒng)流程分析102、3、1前臺(tái)購物流程圖102、3、2后臺(tái)購物流程圖102、3、3注冊(cè)功能流程圖112、3、4商品搜索流程圖122、3、5用戶登錄流程圖122、3、6商品管理流程圖132、3、7購物車流程圖132、3.、8 代碼實(shí)現(xiàn):132、3.、9 后臺(tái)模塊商品管理模塊中查詢商品列表action代碼實(shí)現(xiàn):142、3.、10 前臺(tái)視圖實(shí)現(xiàn):152、3.、11 后臺(tái)登錄視圖實(shí)現(xiàn):162、3.、11 后臺(tái)視圖實(shí)現(xiàn):17三、數(shù)據(jù)庫設(shè)計(jì)173、1顧客基本信息表 User173、2商品信息表 Product173、3商品分類表 Category183、4訂單表 Orders183、5訂單詳細(xì)信息表 OrderItems183、6管理員信息表 Admin183、7數(shù)據(jù)庫的連接18四、系統(tǒng)測(cè)試194、2 單元測(cè)試分析194、3 測(cè)試分析總結(jié)及說明204、4系統(tǒng)的性能分析20五、總結(jié)21六、參考文獻(xiàn)21論 文 摘 要隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)已逐漸深入人心,更是成為繼報(bào)刊、電視廣播等傳統(tǒng)媒體之后而興起的一新傳媒介質(zhì),網(wǎng)絡(luò)宣傳已成為眾多宣傳手段的重中之重,各種各樣的網(wǎng)站也就應(yīng)運(yùn)而生:為宣傳企業(yè)而制作的公司網(wǎng)站、可進(jìn)行網(wǎng)上購物的電子商務(wù)網(wǎng)站、能及時(shí)了解到天下事的新聞網(wǎng)站、方便學(xué)習(xí)的教育網(wǎng)站,還有學(xué)校、團(tuán)體、個(gè)人等等各大各小的網(wǎng)站,充斥著我們的視野,滿足著我們的需要。網(wǎng)站的規(guī)劃與建設(shè),已悄然被許多人擺到了首要的迫在眉睫的位置上。當(dāng)今的企業(yè),如果仍然依靠傳統(tǒng)的方式宣傳自己企業(yè)的形象和文化、采購自己企業(yè)所需的原材料和配套部件、推銷自己企業(yè)的產(chǎn)品,則顯得十分落后而且難以適應(yīng)激烈的市場競爭。因此,當(dāng)代企業(yè)紛紛建立自己的網(wǎng)站,借助于互聯(lián)網(wǎng)快速的信息傳遞加速自身的發(fā)展。一個(gè)企業(yè)網(wǎng)站的規(guī)劃與建設(shè),自然而然也就成了眾多類型的網(wǎng)站規(guī)劃與建設(shè)的典范;企業(yè)網(wǎng)站的規(guī)劃與建設(shè)這一研究課題,也自然而然地成為當(dāng)今乃至今后一段長時(shí)間內(nèi),企業(yè)內(nèi)部和互聯(lián)網(wǎng)上的一個(gè)相當(dāng)重要的討論對(duì)象。我這次畢業(yè)設(shè)計(jì)主要研究的就是企業(yè)網(wǎng)上購物系統(tǒng)在網(wǎng)絡(luò)上的實(shí)現(xiàn)。 購物網(wǎng)站的規(guī)劃與建設(shè)這一課題,是應(yīng)用前景非常廣闊的!它的解決方案不僅僅可以針對(duì)購物的網(wǎng)站,同樣可以應(yīng)用于多種多樣的網(wǎng)站建設(shè)。 21世紀(jì)是信息化的社會(huì),互聯(lián)網(wǎng)實(shí)現(xiàn)了世界范圍的網(wǎng)絡(luò)間的互聯(lián)和信息共享,并已全面介入人類生產(chǎn)生活的方方面面,帶動(dòng)著人類社會(huì)的飛速發(fā)展。企業(yè)產(chǎn)品的推銷、企業(yè)形象的樹立、企業(yè)文化的宣傳,都靠著企業(yè)網(wǎng)站給著人們的頭腦里的第一印象。網(wǎng)站做的好,企業(yè)自然受人們關(guān)注、受人們青睞;如果網(wǎng)站做的不好,企業(yè)的效益自然就會(huì)受到影響。 企業(yè)網(wǎng)站的規(guī)劃與建設(shè)將是一個(gè)長久且受人關(guān)注的課題,人們將沿著這條研究網(wǎng)站建設(shè)的路越走越精彩關(guān)鍵字:Struts2oracle 信用卡網(wǎng)上商城信用卡商城系統(tǒng)后臺(tái)商品管理模塊XXX(開封大學(xué) 軟件學(xué)院 07軟件)一、JAVA編程1、1 JAVA語言簡介Java語言是一個(gè)支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。Java語言吸收了Smalltalk語言和C+語言的優(yōu)點(diǎn),并增加了其它特性,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信、和多媒體數(shù)據(jù)控制等。主要特性如下:1、Java語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。2、Java語言是一個(gè)面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動(dòng)態(tài)綁定,而C+ 語言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊?,Java語言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。4、Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對(duì)通過網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。6、Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。8、Java語言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。9、Java是高性能的。與那些解釋型的高級(jí)腳本語言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C+。10、Java語言是多線程的。在Java語言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable) 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來控制。 Java語言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。11、Java語言是動(dòng)態(tài)的。Java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時(shí)間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開放結(jié)構(gòu)和在多平臺(tái)之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。相關(guān)技術(shù)1、JDBC(Java Database Connectivity)提供連接各種關(guān)系數(shù)據(jù)庫的統(tǒng)一接口。2、EJB(Enterprise JavaBeans)使得開發(fā)者方便地創(chuàng)建、部署和管理跨平臺(tái)的基于組件的企業(yè)應(yīng)用。3、Java RMI(Java Remote Method Invocation)用來開發(fā)分布式Java應(yīng)用程序。一個(gè)Java對(duì)象的方法能被遠(yuǎn)程Java虛擬機(jī)調(diào)用。這樣,遠(yuǎn)程方法激活可以發(fā)生在對(duì)等的兩端,也可以發(fā)生在客戶端和服務(wù)器之間,只要雙方的應(yīng)用程序都是用Java寫的。4、Java IDL(Java Interface Definition Language) 提供與CORBA(Common Object Request Broker Architecture)的無逢的互操作性。這使得Java能集成異構(gòu)的商務(wù)信息資源。5、JNDI(Java Naming and Directory Interface)提供從Java平臺(tái)到的統(tǒng)一的無逢的連接。這個(gè)接口屏蔽了企業(yè)網(wǎng)絡(luò)所使用的各種命名和目錄服務(wù)。6、JMAPI(Java Management API)為異構(gòu)網(wǎng)絡(luò)上系統(tǒng)、網(wǎng)絡(luò)和服務(wù)管理的開發(fā)提供一整套豐富的對(duì)象和方法。7、JMS(Java Message Service)提供企業(yè)消息服務(wù),如可靠的消息隊(duì)列、發(fā)布和訂閱通信、以及有關(guān)推拉(Push/Pull)技術(shù)的各個(gè)方面。8、JTS(Java transaction Service)提供存取事務(wù)處理資源的開放標(biāo)準(zhǔn),這些事務(wù)處理資源包括事務(wù)處理應(yīng)用程序、事務(wù)處理管理及監(jiān)控。在Java技術(shù)中,值得關(guān)注的還有JavaBeans,它是一個(gè)開放的標(biāo)準(zhǔn)的組件體系結(jié)構(gòu),它獨(dú)立于平臺(tái),但使用Java語言。一個(gè)JavaBean是一個(gè)滿足JavaBeans規(guī)范的Java類,通常定義了一個(gè)現(xiàn)實(shí)世界的事物或概念。一個(gè)JavaBean的主要特征包括屬性、方法和事件。通常,在一個(gè)支持JavaBeans規(guī)范的開發(fā)環(huán)境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可視地操作JavaBean,也可以使用JavaBean構(gòu)造出新的JavaBean。JavaBean的優(yōu)勢(shì)還在于Java帶來的可移植性?,F(xiàn)在,EJB (Enterprise JavaBeans) 將JavaBean概念擴(kuò)展到Java服務(wù)端組件體系結(jié)構(gòu),這個(gè)模型支持多層的分布式對(duì)象應(yīng)用。除了JavaBeans,典型的組件體系結(jié)構(gòu)還有DCOM和CORBA,關(guān)于這些組件體系結(jié)構(gòu)的深入討論超出了本書的范圍。1、2struts2.0簡介 Struts 2框架的大致處理流程如下:1,瀏覽器發(fā)送請(qǐng)求,例如請(qǐng)求/mypage.action,/reports/myreport.pdf等。2,核心控制器FilterDispatcher根據(jù)請(qǐng)求決定調(diào)用合適的Action。3,WebWork的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,例如workflow,validation或文件上傳等功能。4,回調(diào)Action的execute方法,該execute方法先獲取用戶請(qǐng)求參數(shù),然后執(zhí)行某種數(shù)據(jù)庫操作,既可以是將數(shù)據(jù)保存到數(shù)據(jù)庫,也可以從數(shù)據(jù)庫中檢索信息。實(shí)際上,因?yàn)锳ction只是一個(gè)控制器,它會(huì)調(diào)用業(yè)務(wù)邏輯組件來處理用戶的請(qǐng)求。5,Action的execute方法處理結(jié)果信息將被輸出到瀏覽器種,可以是html頁面,圖像,也可以是PDF文檔或者其他文檔。此時(shí)支持的視圖技術(shù)非常多,既支持JSP,也支持Velocity,F(xiàn)reeMarker等模板技術(shù)。Struts 2的配置文件配置文件主要分兩份:配置Action的struts.xml文件配置Struts 2全局屬性的perties文件。struts.xml文件內(nèi)定義了Struts 2的系列Action,定義Action時(shí),指定該Action的實(shí)現(xiàn)類,并定義該Action處理結(jié)果與視圖資源之間的映射關(guān)系。 /error.jsp /welcome.jsp 上面struts.xml文件種,定義了兩個(gè)Action。定義Action時(shí),不僅定義了Action的實(shí)現(xiàn)類,而且的定義Action的處理結(jié)果時(shí),指定了多個(gè)result,result元素指定execute方法返回值和視圖資源之間的映射關(guān)系。定義result元素時(shí),可以指定兩個(gè)屬性:type和name。其中name指定了execute方法返回的字符串,而type指定轉(zhuǎn)向的資源類型,此處轉(zhuǎn)向資源可以是JSP,也可以是FreeMarker等,甚至是另一個(gè)Action。另一個(gè)配置文件properties文件,示例如下:#指定Struts 2處于開發(fā)狀態(tài)struts.devMode=false/指定當(dāng)Struts 2配置文件改變后,Web框架是否重新加載Struts 2配置文件struts.configuration.xml.reload=trueStruts 2的標(biāo)簽庫也是Struts 2的重要組成部分,Struts 2的標(biāo)簽庫提供了豐富的功能,這些標(biāo)簽庫不僅提供了表現(xiàn)層數(shù)據(jù)處理,而且提供了基本的流程控制功能,還提供了國際化,AJAX支持等功能。Stuts 2 的控制器組件Struts 2的控制器組件是Struts 2框架的核心,事實(shí)上,所有MVC框架都是以控制器組件為核心的。Struts 2的控制器由兩部分組成:FilterDispatcher和業(yè)務(wù)控制器Action。Struts 2應(yīng)用中起作用的業(yè)務(wù)控制器不是用戶定義的Action,而是系統(tǒng)生成的Action代理,但該Action代理以用戶定義的Action為目標(biāo)。下面看段public class IndexAction implements Actionprivate String id;private String name;public String getId() return id;public void setId(String id) this.id = id;public String getName() return name;public void setName(String name) = name;public String execute() throws Exception if (getId().equals(sa) & getName().equals(sa) return success; else return error;通過上面的Action代碼,發(fā)現(xiàn)該Action比WebWork中的Action更徹底,該Action無需實(shí)現(xiàn)任何父接口,無需繼承任何Struts 2基類,該Action類完全是一個(gè)POJO(普通,傳統(tǒng)的JAVA對(duì)象),因此具有很好的復(fù)用性。這個(gè)execute方法依然是一個(gè)很普通的方法,既沒有與ServletAPI耦合,也沒有與Struts 2 API耦合。戶二、網(wǎng)站功能的設(shè)計(jì)2、1網(wǎng)站功能分析經(jīng)過前期的深入調(diào)查和研究,總結(jié)出該平臺(tái)需要完成的一些具體功能,分析如下:用戶管理 能夠完成用戶基本信息錄入的注冊(cè)和用戶基本信息的個(gè)人前臺(tái)與后臺(tái)管理。管理員管理 能夠完成管理員對(duì)網(wǎng)站的商品資料(添加大類、添加小類、商品添加、商品審查)、商品交易(外理訂單、發(fā)貨查詢)、會(huì)員管理(會(huì)員審查)、操作管理(管理員添加、管理員審查、管理員退出)的功能。搜索功能 能過電子商品的名稱,電子商品的分類進(jìn)行搜索。查詢功能 能夠通過查看購物車對(duì)所選商品進(jìn)行確定、挑選,通過定單查詢對(duì)支付費(fèi)用進(jìn)行確定。2、2平臺(tái)功能模塊的設(shè)計(jì)在平臺(tái)功能的分析基礎(chǔ)上,得到本平臺(tái)的功能模塊圖如下:信用卡商城系統(tǒng)平臺(tái)主要包括四大功能模塊,用戶管理、網(wǎng)站布局、管理員管理、搜索等功能模塊。其中用戶管理模塊,主要包括用戶注冊(cè)、用戶修改、用戶刪除等功能;管理員管理主要包括商品資料(添加大類、添加小類、商品添加、商品審查)、商品交易、會(huì)員管理、操作管理(管理員添加、管理員審查、管理員退出)等功能;搜索主要包括:商品名稱、商品類別。信用卡商城購物系統(tǒng)平臺(tái)總體模塊:信用卡商城系統(tǒng)平臺(tái)前臺(tái)后臺(tái)用戶登錄商城公告商品銷售排行特價(jià)商品新品上架商品分類商品管理會(huì)員管理訂單管理公告管理退出后臺(tái)購物車2、3系統(tǒng)流程分析本系統(tǒng)分為前臺(tái)購物流程和后臺(tái)訂單處理流程2、3、1前臺(tái)購物流程圖瀏覽商品選擇商品訂購商品去購物車去收銀臺(tái)提交訂單未注冊(cè)用戶已登錄注冊(cè)用戶未登錄注冊(cè)用戶注冊(cè)游客2、3、2后臺(tái)購物流程圖用戶訂單訂單處理訂單發(fā)貨訂單結(jié)賬訂單刪除注冊(cè)入口必選項(xiàng)為空?用戶名有效?密碼是否一致?密碼符合要求?Email有效?其他信息有效?注冊(cè)成功否否否否否否是否是是是是是2、3、3注冊(cè)功能流程圖 開始搜索輸入條件搜索結(jié)果查看商品購物車下訂單繼續(xù)搜索是2、3、4商品搜索流程圖查詢用戶是否存在登錄入口取得用戶名和密碼將UserID存入session中核對(duì)密碼是否正確登錄成功是是否否2、3、5用戶登錄流程圖商品管理查詢商品修改,刪除滿意否返回添加商品是否2、3、6商品管理流程圖2、3、7購物車流程圖購物車查看商品滿意否下訂單調(diào)整商品是否2、3.、8 代碼實(shí)現(xiàn):2、3.、9 后臺(tái)模塊商品管理模塊中查詢商品列表action代碼實(shí)現(xiàn):代碼如下:/* * 查詢商品信息 */public String search() (查詢商品信息);System.out.println(+ + page);goodsmanagerservice = new GoodsManagerService();pageutil = new PageUtil();Map session = ActionContext.getContext().getSession();if (session.get(pageutil) = null) if (page = null | page.trim().length() = 0) pageutil.setRecordsperpage(5); else pageutil.setRecordsperpage(Integer.parseInt(page);pageutil.setCurrentpage(1); else pageutil = (PageUtil) session.get(pageutil);pageutil.setRecordsperpage(pageutil.getRecordsperpage();pageutil.setTotalrecode(goodsmanagerservice.getTotalRecord(); pageutil.setTotalpages(pageutil.totalpages(pageutil.getTotalrecode();session.put(pageutil, pageutil);list = goodsmanagerservice.getAllGoods(pageutil);System.out.println(list.size();if (list.size() 0) session.put(list, list);return SUCCESS; else return INPUT;先查看session中分頁設(shè)置是否已經(jīng)存在,如果存在就調(diào)用然后應(yīng)用,如果不存在就初始化它,查詢出所有的商品列表,并對(duì)其進(jìn)行分頁,如果查詢的不為空的話,返回成功頁面,為空時(shí)返回錯(cuò)誤頁面,其中SUCCESS和INPUT與struts2的配置文件中有對(duì)應(yīng)的相應(yīng)的頁面。2、3.、10 前臺(tái)視圖實(shí)現(xiàn):2、3.、11 后臺(tái)登錄視圖實(shí)現(xiàn):2、3.、11 后臺(tái)視圖實(shí)現(xiàn):三、數(shù)據(jù)庫設(shè)計(jì)在本系統(tǒng)中數(shù)據(jù)庫具體表結(jié)構(gòu)的設(shè)計(jì):3、1顧客基本信息表 User顧客信息表用來記錄用戶的一些基本信息,其結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說明1UserIDInt用戶ID(主鍵)2UserNameNvarchar(50)用戶登錄名3PasswordNvarchar(50)用戶密碼4UserRealNameNvarchar(50)用戶真實(shí)姓名5AddressNvarchar(50)地址6EmailNvarchar(50)電子郵件3、2商品信息表 Product商品信息表表示商品的基本信息,如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說明1ProductIDInt商品編號(hào)(主鍵)2ProductNameNvarchar(50)商品名稱3ProductPriceDecimal價(jià)格4IntroNvarchar(50)商品介紹5CategoryIDInt所屬分類編號(hào) 3、3商品分類表 Category商品分類表用來表示商品類別信息。其結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說明1CategoryIDInt商品分類ID(主鍵)2CategoryNamevarchar(50)分類名稱3CnoInt分類編碼4GradeInt分類等級(jí)5PidInt與上級(jí)分類ID對(duì)應(yīng)3、4訂單表 Orders訂單表保存每筆訂單的基本信息。結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說明1OrderIDInt訂單號(hào)(主鍵)2UserIDInt所屬用戶ID3OrderDateDateTime成交時(shí)間4AddrVarchar(50)送貨地址3、5訂單詳細(xì)信息表 OrderItems訂單詳細(xì)信息表體現(xiàn)訂單的細(xì)則,結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說明1OrderIdInt所屬訂單號(hào)(主鍵)2ProductIDInt商品ID(主鍵)3QuantityInt該商品的購買數(shù)量4UnitCostDecimal該商品的單價(jià)3、6管理員信息表 Admin與用戶信息表類似,管理員信息表用來保存管理員的基本信息,如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說明1AdminIDInt管理員ID2LoginNameNvarchar(50)管理員登錄名3LoginPwdNvarchar(50)管理員密碼3、7數(shù)據(jù)庫的連接出于方便修改的考慮,我們將與數(shù)據(jù)庫的連接,通過JNDI的形式單獨(dú)寫出來并進(jìn)行編譯,將其放到CreditCardShopWebRootMETA-INF目錄下的一個(gè)context.xml文件中,在web.xml中加載它,web.xml中配置如下jdbc/CreditCardDataSourcejavax.sql.DataSourceContainer其中數(shù)據(jù)源配置文件配置如下:注:此系統(tǒng)使用的是Oracle數(shù)據(jù)庫四、系統(tǒng)測(cè)試4、1 系統(tǒng)關(guān)鍵部分測(cè)試分析 系統(tǒng)完成之后,對(duì)各個(gè)模塊的功能進(jìn)行了詳細(xì)的測(cè)試,輸入數(shù)據(jù)和預(yù)測(cè)輸出數(shù)據(jù)相比,發(fā)現(xiàn)了一些問題。主要是在查詢過程中預(yù)計(jì)查詢結(jié)果和實(shí)際結(jié)果不一致,有時(shí)候達(dá)不到目的,對(duì)數(shù)據(jù)庫的操作表之間的關(guān)聯(lián)考慮得不夠周到,因此往往會(huì)出現(xiàn)一些小的錯(cuò)誤。還有查詢條件的前后數(shù)據(jù)類型不一致也是一個(gè)很常見的錯(cuò)誤,需要靠一步步的查找解決。各個(gè)模塊組裝完成后,又會(huì)出現(xiàn)一些問題。比如在操作購物車結(jié)帳的這個(gè)流程中,由于是多次添加和修改,最后結(jié)帳,所以很容易造成數(shù)據(jù)混亂,必須對(duì)相應(yīng)的數(shù)據(jù)關(guān)系理清楚,一些關(guān)鍵查詢統(tǒng)計(jì)的SQL語句必須反復(fù)斟酌才能放在程序中使用。 4、2 單元測(cè)試分析(1)經(jīng)過上面部分的分析,我們可以得知,購物車模塊是我們需要特別注意的地方,因?yàn)樗婕暗搅宋覀償?shù)據(jù)庫中的大部分?jǐn)?shù)據(jù),并且是進(jìn)行網(wǎng)上交易的最關(guān)鍵部分,絕對(duì)不能出現(xiàn)任何的差錯(cuò),下面我們就針對(duì)這一模塊進(jìn)行用例測(cè)試:我們以用戶jikou的身份登入系統(tǒng),用戶名是:jikou 密碼是:1234然后點(diǎn)擊定購商品:高檔羽絨服 單價(jià)為268元 彈出購物車清單:選擇商品數(shù)量 2 確認(rèn) 出現(xiàn)清單:顯示商品名稱 高檔羽絨服 數(shù)量2 合計(jì) 536元與我們估算的數(shù)據(jù)相符。此時(shí)選擇清空購物車,繼續(xù)購物,點(diǎn)擊定購商品:高級(jí)咖啡杯 單價(jià)為89元選擇數(shù)量3 確認(rèn),出現(xiàn)清單:顯示商品名稱 高級(jí)咖啡杯 合計(jì)267元 繼續(xù)選擇收銀臺(tái)結(jié)帳,出現(xiàn)帳單顯示:顯示商品名稱 高級(jí)咖啡杯 合計(jì)267元 與我們估算的數(shù)據(jù)也相符,證明清空購物車的功能正常有效,并沒有將我們第一次選購的物品計(jì)算在內(nèi),價(jià)格的計(jì)算也正確無誤。(2)對(duì)用戶注冊(cè)部分進(jìn)行測(cè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論