基于jsp sqlserver構建的網(wǎng)上商城論文.doc_第1頁
基于jsp sqlserver構建的網(wǎng)上商城論文.doc_第2頁
基于jsp sqlserver構建的網(wǎng)上商城論文.doc_第3頁
基于jsp sqlserver構建的網(wǎng)上商城論文.doc_第4頁
基于jsp sqlserver構建的網(wǎng)上商城論文.doc_第5頁
已閱讀5頁,還剩125頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

裝訂線長 春 大 學 課程設計紙目 錄一 設計目的1二 設計內容1三 設計要求2四 設計過程21 任務解析22 程序結構分析33 數(shù)據(jù)結構分析64 功能實現(xiàn)65 系統(tǒng)測試6五 設計總結37參考文獻38附錄39一 設計目的計算機網(wǎng)絡的出現(xiàn)帶給了世界巨大的變化,從過去只面向專業(yè)部門的信息傳送擴展到現(xiàn)代生活的各個角落,它為世界的發(fā)展和變革做出了無可估量的貢獻。特別是在二十世紀九十年代,美國政府提出“信息高速公路”計劃并付諸于實施以后,網(wǎng)絡漸漸的從人們極少了解的領域來到了全世界平常人的生活中。在互聯(lián)網(wǎng)日益流行的今天,網(wǎng)絡是主角,是時代的寵兒。在網(wǎng)絡大家族中,電子商務則是一個熱點。電子商務一個最基本體現(xiàn)就是網(wǎng)上購物,從一定程度上講它就是網(wǎng)上超市,也就是一種網(wǎng)上銷售?!熬W(wǎng)”字意味著它具有信息時代的快捷方便等特征。事實上電子商務的出現(xiàn),給消費者的地位,消費觀念帶來了重要的變化。自我國加入WTO后,越來越多的傳統(tǒng)企業(yè)進一步認識到企業(yè)經(jīng)濟發(fā)展的必然趨勢是以網(wǎng)絡化、全球化為主要特征。而企業(yè)實行電子商務則成為企業(yè)發(fā)展與國際接軌的必要條件。多年來國家十分重視企業(yè)的信息化建設,并做了大量工作,但目前企業(yè)開始實施信息化的比例還不到20%。所以電子購物網(wǎng)站的實現(xiàn)是一個非常迫切的需求。現(xiàn)代的網(wǎng)絡,已經(jīng)經(jīng)歷過迅速發(fā)展的時期,他的技術也已經(jīng)相當成熟。因此,依靠網(wǎng)絡技術來架設一個網(wǎng)站會在很多方面得到相關的支持。作為信息傳輸?shù)拿浇?,它的高速,海量,及時與可接受的可靠性滿足了現(xiàn)代人們對于需求的渴望?,F(xiàn)在的網(wǎng)絡對于人們來說,已經(jīng)可以不再是單單獲得信息的意義,更反應了現(xiàn)代人生活的理念,更為重要的是成為企業(yè)與政府傳達思想,介紹自身的平臺。這次設計實現(xiàn)了一個網(wǎng)上購物系統(tǒng)。網(wǎng)絡購物中心所承載的信息量大、購物流程比較繁瑣,而且互聯(lián)網(wǎng)中日益肆虐的黑客和病毒對網(wǎng)絡的安全性提出了更高的挑戰(zhàn)。開發(fā)出的網(wǎng)絡購物中心系統(tǒng)基于Windows 2000 Server中文企業(yè)版服務器和SQL Server 2008數(shù)據(jù)庫,采用JSP進行開發(fā),具有很高的穩(wěn)定性和安全性。網(wǎng)絡購物中心真正實現(xiàn)了在Internet上的經(jīng)營銷售,從而使其獲得更大的市場機遇及經(jīng)濟效益,很大程度地提高了企業(yè)的核心競爭力。二 設計內容(1)題目分析,查找資料和總體設計。(2)詳細設計、代碼編制、程序調試。系統(tǒng)功能要求如下: 具有登錄功能,用戶注冊后,登陸網(wǎng)站的用戶可以在線查看、訂購產品,并可在論壇中與其他用戶進行交流及提出意見等。 具有商品信息的錄入功能 具有數(shù)據(jù)查詢、刪除、修改功能 具有商品信息前臺顯示功能 具有購物車、結賬功能(3)結果分析、完成課程設計報告。三 設計要求(1)可選用任何語言,采用面向對象方法進行設計,要求設計良好的數(shù)據(jù)結編寫程序,源程序要有適當?shù)淖⑨?,是程序容易閱讀。(2)程序的界面、邏輯功能和數(shù)據(jù)的存儲分開,至少采用文本菜單界面(如果能采用圖形菜單界面更好)。(3)學生可根據(jù)自身情況酌情增加新功能(視情況可另外加分)。(4)獨立完成課程設計,并完成課程設計報告,報告應記錄設計的過程,尤其是分析/設計/實現(xiàn)過程中的決策。四 設計過程1 任務解析網(wǎng)上購物系統(tǒng)需要讓供應商、客戶以及瀏覽者能看到商城的信息及動態(tài),另一個重要的內容就是能夠顯示出該商城現(xiàn)有的各類型商品及其詳細信息;由于消費者的需求在增長和變化,商城在面對面銷售的基礎上也要隨之發(fā)展出相應的服務,如在線訂購等技術。另外,企業(yè)營銷商除了能與普通客戶一樣瀏覽網(wǎng)站之外,還需要對網(wǎng)站進行管理。企業(yè)需要定期更新現(xiàn)有商品的詳細信息、商城動態(tài)和聯(lián)系方式,必要時還要對企業(yè)的介紹做更改。對于消費者通過網(wǎng)站提交的各種訂單能夠進行處理以方便銷售。需要設計出網(wǎng)站的前臺與后臺。用戶在前臺所瀏覽的內容,網(wǎng)站的后臺需要能相應的做出更新或修改。根據(jù)以上的想法,設計出網(wǎng)站的功能:前臺用戶相關功能主要包括:1、用戶注冊、登錄;2、購物車;3、訂單查詢;4、個人資料修改;5、發(fā)布留言。6、后臺管理相關功能主要包括:7、添加商品;8、處理訂單;9、查詢用戶信息;10、添加連接;11、管理公告信息。將以上這些功能制作成網(wǎng)頁以后,在其中分別互相建立連接,基本完成商城及用戶對網(wǎng)站的要求。2 程序結構分析2.1 總體結構分析根據(jù)業(yè)務整體流程的考慮,需要將網(wǎng)站劃分為前臺、后臺和數(shù)據(jù)庫。前臺中,客戶在登錄網(wǎng)站主頁后即可鏈接查看到商品等信息,還可以做訂購商品等活動。為了方便客戶搜索感興趣的商品信息,將商品搜索嵌入到主頁面中。數(shù)據(jù)庫將要作為網(wǎng)站后臺重要的組成部分,管理員的主要操作幾乎全部圍繞數(shù)據(jù)庫,最后將更新的數(shù)據(jù)要顯示給前臺。前臺是一個比較大的功能群,它所包含的信息不僅數(shù)量多,而且種類不同。將它設計成比較優(yōu)化的結構形式能組織好網(wǎng)站的信息內容并將其歸類,方便用戶獲得所需要的信息。其中每一部分都以盡量少的內容顯示,以免瀏覽者看的眼花繚亂而失去耐心。除了這些作用外,設計好前臺的結構形式,也是為后面程序的編寫做出了框架。在為系統(tǒng)劃分功能模塊,并以模塊為單位來實現(xiàn)設計時也是以這個結構為根基的。系統(tǒng)的后臺要對整個網(wǎng)站的信息和數(shù)據(jù)進行維護。網(wǎng)站前臺所顯示的信息在后臺都應該有對應的維護。這樣,除了設計后臺的各個管理界面外,為了方便管理員的工作,可以將各個管理的界面結合到一個頁面中。因此,各個管理的界面會作為主管理界面的分支。2.2功能模塊分析層次模塊結構是將系統(tǒng)劃分為若干子系統(tǒng),子系統(tǒng)下再劃分為若干的模塊。而模塊是指具備有輸入輸出、邏輯功能、運行程序和內部數(shù)據(jù)四種屬性的一組程序。在結構化系統(tǒng)設計中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發(fā)工作的效率并增大系統(tǒng)的可維護性。以前面的系統(tǒng)分析為基礎,將系統(tǒng)分為兩大模塊,即前臺模塊和后臺模塊。網(wǎng)絡購物中心的功能結構如圖2.1所示。網(wǎng)絡購物中心后臺部分前臺部分用戶管理個人資料管理購物車管理訂單查詢留言板管理管理員登錄添加商品訂單信息管理查詢用戶信息添加鏈接圖 2.1 網(wǎng)絡購物中心功能結構圖2.3前臺模塊功能分析前臺模塊主要為登陸網(wǎng)站的用戶提供商品和服務的信息,填寫并提交訂單的服務。這樣,將前臺模塊再細分為用戶管理模塊、訂單查詢模塊、購物車模塊、修改個人資料模塊、留言板模塊。顧名思義,這些模塊的名稱基本概括了它們的功能。前臺業(yè)務流程如圖2.2所示??蛻羯唐沸畔g覽購物車修改資料查看訂單留言板瀏覽商品清單訂購訂單提交存檔添加留言留言提交修改資料提交存檔存檔圖 2.2 前臺業(yè)務流程圖下面詳細說明一下這些功能模塊的設計:(1)用戶管理模塊:為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實現(xiàn)用戶的注冊、登錄、找回密碼3方面功能。(2)購物車模塊:在超市購物,可以根據(jù)自己的需要將很多種商品挑選至購物車或購物籃中,然后到收銀臺結款。而在網(wǎng)上虛擬的商城中,當然沒有辦法使用真正的購物工具,因此,通常都會采用一種被稱為“購物車”的技術來模擬現(xiàn)實生活。在網(wǎng)上商城中,所選商品須通過購物車進行暫存,然后生產訂單。這種技術使用起來十分方便,不但可以隨時添加、查看、修改、清空購物車中的內容,還可以隨時去收銀臺結款。(3)訂單管理模塊:用戶提交訂單后,通過產生的訂單號查詢訂單信息及執(zhí)行狀態(tài)。只需要根據(jù)用戶錄入的訂單號在數(shù)據(jù)表中查詢處對應的貨品信息即可。(4)個人資料管理模塊:用戶資料修改時為用戶更改個人信息所提供的窗口,為了保護用戶信息部受非法侵害,用戶只有登錄網(wǎng)頁后才有權限修改個人資料。(5)留言板管理模塊:留言板是一個商務網(wǎng)站中不可缺少的組成部分,它可以增進用戶與網(wǎng)站之間的交流。在現(xiàn)實網(wǎng)絡開發(fā)中存在著各種各樣的留言板,但它們都由基于瀏覽留言板及添加留言板2部分組成。這樣,子模塊各自的內容基本設計好。下面可以設計如何將這些模塊組織在一起,構成一個結構比較合理的前臺了。除了在主頁中建立面向其他模塊的鏈接外,也要在其他模塊中建立返回主頁面的鏈接。另外各個模塊間也應該互相鏈接起來。2.4后臺模塊功能分析后臺管理模塊的功能是對站內的資源進行管理和維護。以后臺的業(yè)務流程分析和前臺各個模塊的設計為基礎、根據(jù)用戶的需求分析來確定后臺管理模塊應具有的功能。后臺業(yè)務流程如圖2.3所示。后臺管理模塊的各個子功能模塊如下:(1)管理員身份驗證模塊:為合法用戶提供一個后臺入口。該模塊的功能是對管理員身份進行能夠驗證。用戶輸入登錄ID和密碼后,系統(tǒng)將判斷登錄ID及密碼的有效性,如果通過驗證則狀態(tài)后臺主頁,反之則提示錯誤。(2)商品管理模塊:向商品表插入前臺首頁展示的商品信息,也就是添加商品信息的功能。(3)處理訂單模塊:網(wǎng)站管理者對用戶訂單的執(zhí)行和編輯狀態(tài)。(4)用戶信息管理模塊:查詢注冊所有用戶,對一些非法或失信用戶進行刪除操作 。(5)公告信息管理模塊: 網(wǎng)站向用戶發(fā)布最新公告信息。(6)鏈接信息管理模塊: 管理員向前臺首頁添加友情鏈接信息。管理員維護網(wǎng)站取出訂單網(wǎng)站信息提交網(wǎng)站信息存檔受理訂單訂單提交存檔圖 2.3 后臺業(yè)務流程圖3 數(shù)據(jù)結構分析3.1 數(shù)據(jù)流程分析分析系統(tǒng)的數(shù)據(jù)流,為后面設計網(wǎng)上購物系統(tǒng)的數(shù)據(jù)庫做好基礎。這里主要利用數(shù)據(jù)流程圖來說明數(shù)據(jù)流程。數(shù)據(jù)流程圖是一個圖示工具,容易理解,容易在開發(fā)和用戶方之間進行交流,以及在開發(fā)組織內部交流。因此數(shù)據(jù)流程圖作為一種模型工具已經(jīng)廣泛使用在軟件工程的實踐中2。根據(jù)前臺業(yè)務流程,可以將用戶的活動分為兩類。用戶瀏覽所使用到的數(shù)據(jù)歸納為站內信息,如商品信息等。而用戶提交的訂單則作為網(wǎng)上購物系統(tǒng)的訂單數(shù)據(jù)。相應的,根據(jù)后臺業(yè)務流程,管理員對網(wǎng)上購物系統(tǒng)內容的添加、更新和刪除等所操作的數(shù)據(jù)定義為商城信息。網(wǎng)上購物系統(tǒng)數(shù)據(jù)流的總體圖如圖3.1所示。管理員用戶用戶0網(wǎng)上購物系統(tǒng)站內信息訂單數(shù)據(jù)商城信息圖 3.1 網(wǎng)站數(shù)據(jù)流的總體圖進一步分析網(wǎng)站的數(shù)據(jù)流程,得到網(wǎng)站數(shù)據(jù)流程的零級圖,如圖3.2所示。用戶站內信息管理員更新商品信息更新用戶信息生成訂單顯示信息用戶訂單處理用戶訂單用戶信息訂單內容信息商品信息訂單商品的更新數(shù)據(jù)商品信息用戶信息用戶信息處理信息訂單信息存儲處理后的訂單訂單信息商品信息存儲用戶信息存儲圖 3.2 網(wǎng)站數(shù)據(jù)流的零級圖上面得到的零級圖并不是整個網(wǎng)站數(shù)據(jù)的詳細流程圖。它只是將網(wǎng)站的數(shù)據(jù)流進行了一下分類。例如將商城信息分為了商品信息、分類信息和用戶信息。在零級圖的基礎上還可以將每一個處理的細節(jié)描述出來,從而畫出細節(jié)圖。3.2 數(shù)據(jù)字典數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)中包含的所有元素的定義的集合,它為軟件開發(fā)人員提供數(shù)據(jù)庫設計的參考,并為用戶了解系統(tǒng)時作為一個必有工具。 (1)數(shù)據(jù)流數(shù)據(jù)流名稱:用戶注冊信息來源:用戶注冊去向:用戶信息表組成:用戶名+密碼+郵件+地址+聯(lián)系號碼+郵編+身份證+QQ號+密碼找回問題+密碼找回答案表3.3 用戶注冊信息數(shù)據(jù)流名稱:購物車信息來源:商品信息表去向:訂單信息表組成:商品編號+商品名稱+商品數(shù)量+購買小記+購買總價表3.4 購物車信息(2)數(shù)據(jù)存儲數(shù)據(jù)存儲名稱:商品信息表來源:商品管理去向:商品統(tǒng)計表組成:商品編號+商品名稱+商品單價+商品型號+商品等級+商品狀態(tài)+商品庫存+商品圖片+商品簡介+商品詳細信息+商品備注 存儲方式:順序表3.5 商品信息表數(shù)據(jù)存儲名稱:訂單信息表來源:結賬 去向:訂單統(tǒng)計表組成:訂單ID+訂單號+用戶真實姓名+下單時間+用戶郵箱+郵寄地址+郵編+支付方式+用戶聯(lián)系方式+收貨方式+處理狀態(tài)+備注存儲方式:順序表3.6 訂單信息表數(shù)據(jù)存儲名稱:留言信息表來源:用戶留言去向: 留言 匯總組成:留言編號+留言標題+留言內容+留言人+留言時間存儲方式:順序表3.7 留言信息表(3)數(shù)據(jù)加工數(shù)據(jù)加工名稱:提交訂單來源:用戶結賬去向:訂單信息表 加工邏輯:將訂單信息填寫完整后,把訂單信息輸入到訂單信息表表3.8 產生訂單數(shù)據(jù)加工名稱:審核用戶登錄來源:用戶名和密碼去向:用戶信息表 加工邏輯:將用戶登錄時輸入的用戶名和密碼與用戶信息表中的用戶名和密碼進行對比,對比正確后,提示用戶登錄成功表3.9 審核用戶登錄數(shù)據(jù)加工名稱:訂單查詢來源:用戶輸入的訂單號去向:訂單信息表 加工邏輯:對會員輸入的訂單號,在訂單信息表中進行查詢,發(fā)現(xiàn)有該訂單號,將訂單信息從訂單信息表中輸出表3.10 訂單查詢3.3 E-R圖分析E-R圖是一種概念模型。概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是顯示世界到信息世界的第一層抽象,使數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有利工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言,因此概念模型一方面應該具有較強的語義表達能力,能夠方便、直接的表達應該用眾的各種語義知識,另一方面他還應該簡單、清晰并且易于用戶理解。以下是各個數(shù)據(jù)表的實體圖。(1)商品信息表tb_Ware的實體圖,如圖3.11所示商品信息貨物編號發(fā)布時間貨物介紹貨物價格貨物名稱是否推薦圖片路徑貨物類型圖 3.11 商品信息表tb_Ware的實體圖(2)用戶信息表tb_User的實體圖,如圖3.12所示用戶信息用戶ID用戶密碼用戶地址用戶名密碼問題真實姓名電子郵箱聯(lián)系電話注冊時間答案圖 3.12 用戶信息表tb_User的實體圖(3)留言信息表tb_Text的實體圖,如圖3.13所示留言信息主題ID電子郵箱主題名稱留言內容發(fā)布時間作者姓名圖 3.13 留言信息表tb_Text的實體圖(4) 訂單生成表tb_Sub的實體圖,如圖3.14所示訂單生成信息訂單編號其他運送方式郵編定購日期真實姓名用戶名電子郵箱地址付款方式訂單核對聯(lián)系方式圖 3.14 訂單生成表tb_Sub的實體圖(5)訂單商品表tb_Shop的實體圖,如圖3.15所示訂單商品信息訂單號貨物名稱貨物價格貨物數(shù)量統(tǒng)計圖 3.15 訂單商品表tb_Shop的實體圖(6)超級鏈接表tb_Link的實體圖,如圖3.16所示超級鏈接信息鏈接名鏈接網(wǎng)址發(fā)布時間圖 3.16 超級鏈接表tb_Link的實體圖(7)管理員信息表tb_Admin的實體圖,如圖3.17所示管理員信息管理員ID管理員名管理員密碼圖 3.17 管理員信息表tb_Admin的實體圖(8)公告信息表tb_Affiche的實體圖,如圖3.18所示公告信息公告內容公告時間圖 3.18 公告信息表tb_Affiche的實體圖(9)總體E-R圖,如圖3.19所示用戶購買商品n1支付訂單n1發(fā)表留言1n修改用戶信息11圖 3.19 總體E-R圖3.4基本表設計表的設計是這次設計的一個核心內容。根據(jù)前面對網(wǎng)站前臺與后臺功能模塊的分析和對數(shù)據(jù)庫中實體關系的設計,可以看到網(wǎng)站中所用到的數(shù)據(jù)信息基本包括:商品信息、用戶信息、留言信息、訂單信息、超級鏈接信息、管理員信息、公告信息等。下面是為數(shù)據(jù)庫設計的表:商品信息表tb_Ware用來保存商品的基礎信息。結構如表3.20所示。字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述WareidInt4否是貨物編號WarenameVarchar50否否貨物名稱WarepriceBigint8否否貨物價格WaretypeVarchar20否否貨物類型WareintroText16否否貨物介紹WareimageVarchar50否否圖片路徑WareifInt4否否是否推薦DattimeDatetime8否否發(fā)布時間表3.20 tb_Ware的結構用戶信息表tb_User用來保存用戶信息。表tb_User的結構如表3.21下。字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述UseridInt4否是用戶IDUsernameVarchar50否否用戶名RnameVarchar40否否真實姓名UserpassVarchar16否否用戶密碼EmailVarchar50否否EmailAddressVarchar80否否用戶地址PhotoVarchar30否否聯(lián)系電話QuestionVarchar50否否密碼問題ResultVarchar50否否答案DattimeDatetime8否否注冊時間表3.21 tb_User的結構留言信息表tb_Text用來記錄留言信息。表tb_Text的結構如表3.22所示。字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述TextidInt4否是主題IDUsernameVarchar20否否作者姓名EmailVarchar50否否EmailDattimeDatetime8否否發(fā)布時間TextnameVarchar50否否主題名稱TextgutText16否否留言內容表3.22 tb_Text的結構訂單生成表tb_Sub用來記錄新生成的訂單。表tb_Sub的結構如表3.23所示。字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述SubVarchar50否是訂單編號UsernameVarchar20否否用戶名RnameVarchar50否否真實姓名SpdateDatetime8否否訂購日期EmailVarchar50否否EmailAddressVarchar80否否地址PostVarchar50否否郵編PaymentChar12否否付款方式PhotoVarchar30否否聯(lián)系方式CarryVarchar30否否運送方式SpifInt4否否訂單核對OtherText16否否其它表3.23 tb_Sub的結構訂單商品表tb_Shop用來記錄某一訂單中所定購的商品的詳細信息。表tb_Shop的結構如表3.24所示。字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述SubidVarchar50否否訂單idWarenameVarchar50否否貨物名稱PriceBigint8否否貨物價格WsumBigint8否否貨物數(shù)量WcountBigint8否否統(tǒng)計表3.24 tb_Shop的結構超級鏈接表tb_Link主要用于記錄調價的超級鏈接信息。表tb_Link的結構如表3.25所示。 字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述LnameVarchar50否否鏈接名LaddressVarchar50否否鏈接網(wǎng)址LdatetimeDatetime8否否發(fā)布時間表3.25 tb_Link的結構管理員信息表tb_Admin主要用于記錄管理員的信息。表tb_Admin的結構如表3.26所示。 字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述IdInt4否否管理員IDAdminVarchar30否否管理員名AdminpassVarchar16否否管理員密碼表3.26 tb_Admin的結構公告信息表tb_Affiche主要用于記錄后臺調價的公共信息。表tb_Affiche的結構如表3.27所示。 字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵字段描述TestText16否否公告內容DattimeDatetime8否否公告時間表3.27 tb_Affiche的結構4 功能實現(xiàn)4.1 系統(tǒng)界面的實現(xiàn)如果將網(wǎng)站比作一個人的話,服務器就像大腦,數(shù)據(jù)庫就像五臟六腑,其內嵌的Java和JavaScript組合起來就像是細胞與神經(jīng),而網(wǎng)頁就是這個人的皮肉。網(wǎng)頁將網(wǎng)站的各個組成部分包裹起來,形成易懂并且美觀的外表展示給大家。瀏覽者登陸網(wǎng)站后看到的就是一個個網(wǎng)頁的組合。所以設計和實現(xiàn)每一個網(wǎng)頁也是非常重要的工作。隨著科技的高速發(fā)展,眾多網(wǎng)頁制作的應用軟件應運而生。相對于傳統(tǒng)的動態(tài)網(wǎng)頁開發(fā)工具而言,由于繼承了Java語言的許多優(yōu)點,用JSP開發(fā)動態(tài)網(wǎng)站十分方便,開發(fā)效率較高。此外,JSP還具有強大的組件(Java Bean)支持功能,可以方便地實現(xiàn)組件復用,進一步提高了開發(fā)效率。在整個網(wǎng)頁的制作過程中,都是結合使用HTML語言來實現(xiàn)設計的。系統(tǒng)的頁面設計決定了網(wǎng)站的風格, 制作好的網(wǎng)站不僅提供給營銷商,更多的要供瀏覽者瀏覽。所以整個網(wǎng)站系統(tǒng)應注重的是:易導航性、易操作性和友好的交互界面。因此,網(wǎng)站的設計最好要簡潔、明了、格調清新、實用、易于使用和維護。在頁面的風格上應保持統(tǒng)一,這里采用CSS樣式表將所有頁面的字體、字號、顏色以及超鏈接的樣式做統(tǒng)一定義。4.2 前臺功能模塊的實現(xiàn)整個系統(tǒng)分為了前臺功能模塊和后臺功能模塊。下面詳細討論主要的幾個功能模塊的程序實現(xiàn)。在每個模塊的介紹中,將具體說明一些涉及要點。前臺功能模塊分為用戶管理模塊、訂單查詢模塊、購物車模塊、修改個人資料模塊、留言板模塊5個部分。前臺首頁主要有以下幾個部分:(1)網(wǎng)站導航:主要用戶顯示網(wǎng)站的旗幟廣告、各功能模塊導航;(2)用戶登錄:用戶在此注冊、登錄或找回密碼;(3)商品分類搜索:用戶按商品類別進行搜索顯示;(4)銷售排行榜:按照商品的銷售數(shù)量顯示銷售排行信息;(5)商品展示區(qū):按后臺添加商品的時間順序展示商品;(6)友情鏈接:顯示友情鏈接信息;(7)后臺登錄入口:管理員可以通過該入口登錄后臺。首頁運行結果如圖4.1所示。圖 4.1 首頁運行結果4.2.1 用戶管理模塊用戶管理模塊主要實現(xiàn)用戶的注冊、登錄、找回密碼等功能。(1)用戶注冊當用戶第一次登錄時首先要在網(wǎng)站上注冊,成為會員用戶才可以在網(wǎng)站上購物,注冊頁面必須填寫一些用戶的基本信息,如用戶名、密碼、聯(lián)系電話等信息。要注意的是,在用戶注冊頁面user/index.htm中用戶自定義JavaScript檢驗用戶注冊信息不允許為空。用戶注冊頁面user/index.htm如圖4.2所示。圖 4.2 用戶注冊頁面運行結果為了便于網(wǎng)站對用戶的管理,在index.htm用戶注冊頁面接收到的注冊信息要經(jīng)過嚴格的過濾,保證注冊用戶名的唯一性,在提交表單后需要對數(shù)據(jù)表中的數(shù)據(jù)進行查詢,如果沒有找到,則在插入數(shù)據(jù)表時提示注冊成功,否則提示此用戶已被占用請重新注冊。用戶注冊的流程圖如圖5.3所示。開 始否是是結 束接收注冊信息數(shù)據(jù)是否為空兩次密碼是否一致查詢數(shù)據(jù)庫用戶名是否被占用是否否注冊成功注冊失敗圖 4.3用戶注冊系統(tǒng)流程圖(2)用戶登錄用戶登錄窗口設置在首頁上,主要用來接收用戶錄入的用戶名及密碼。單擊“注冊”按鈕時,會提交到user/index.htm頁面執(zhí)行;單擊“登錄”按鈕時,系統(tǒng)將對輸入的用戶名和密碼進行驗證,如果數(shù)據(jù)表中用戶名和密碼存在就顯示登陸成功,并返回首頁,否則彈出錯誤提示信息。用戶登錄的流程圖如圖4.4所示。開 始結 束接收登錄信息查詢數(shù)據(jù)庫數(shù)據(jù)是否正確否是登錄失敗登錄成功圖 4.4 用戶登錄系統(tǒng)流程圖(3)找回密碼當密碼以外丟失會給用戶帶來不必要的麻煩,重新注冊一個新的用戶即浪費了時間,也浪費網(wǎng)站的資源,如果用戶只記住自己注冊的用戶名及電子郵箱名并提供密碼提示的問題和答案就可以找回密碼。找回密碼頁面user/pass.htm如圖4.5所示。圖 4.5找回密碼頁面運行結果用戶單擊“查找”按鈕,系統(tǒng)會將傷表中所示的數(shù)據(jù)表單提交到user/res.jsp中。user/res.jsp頁用來驗證提交過來的四個條件是否完全符合數(shù)據(jù)庫中的查找條件,只有符合才能顯示密碼結果,否則彈出“你輸入信息有誤”的提示對話框。4.2.2 個人資料修改模塊個人資料修改時為用戶更改個人信息所提供的窗口,用戶只有登錄網(wǎng)頁后才有權限修改個人資料信息。個人資料修改模塊在前臺主頁的導航條上,單擊“修改資料”鏈接,進入用戶資料修改頁面,該頁面主要用戶修改用戶信息。用戶資料修改頁面如圖4.6所示。圖 4.6 個人資料修改頁面運行結果個人信息修改完畢后,要將修改后的數(shù)據(jù)信息更新到注冊數(shù)據(jù)表中,單擊“修改”按鈕,如果提交的數(shù)據(jù)無誤,將彈出“數(shù)據(jù)更新成功”的消息對話框;否則將彈出“更新失敗”的消息對話框。個人資料修改模塊流程圖如圖4.7所示。開 始結 束接收修改資料信息將信息更新到數(shù)據(jù)庫中更新是否成功否是修改失敗修改成功圖 4.7 個人資料修改模塊流程圖4.2.3 購物車模塊購物車模塊中,主要包含以下幾個功能,即:添加購物車、查看購物車、生成訂單和清空購物車。購物車頁運行結果如圖4.8所示。圖4.8 購物車頁面運行結果(1)添加購物車添加購物車就是把用戶選中的商品暫時存放在購物車中,當用戶在前臺首頁中單擊商品展示區(qū)的“購買”按鈕時,系統(tǒng)會將該商品的詳細信息展示在查看物品清單頁面中。用戶在單擊物品清單頁面下方的“放入購物車”鏈接,便可以將該商品放入購物車中。商品的代碼流程是從session中讀取shop對象,如果為空則說明還沒有進行購物或者已經(jīng)清空了購物車,需要新建購物車對象;將商品名稱與購物車列表中的商品名稱對比,如果已經(jīng)存在,則把商品數(shù)量加1。這段代碼流程中,還使用了集合類型。集合類型在Java中又稱為向量,是一元集合,可以加入重復數(shù)據(jù),它的作用和數(shù)組相同,可以保存一系列數(shù)據(jù),但集合類型也有它獨特的優(yōu)點,就是可以方便地對集合內的數(shù)據(jù)進行查找、增加、刪除和修改等操作。(2)查看購物車為了方便用戶隨時查看購物情況,在網(wǎng)站的首頁加入了查看購物車的鏈接,通過它可以將用戶所有選中的商品信息放入購物車中顯示出來。在程序中使用了一組文本框記錄用戶購買的商品數(shù)量,用戶可以在文本框中輸入想要購買的數(shù)量然購單擊“修改”按鈕。如果欲刪除該商品,可以在數(shù)量文本框里輸入“0”,并需要單擊“修改”按鈕來更新購物車中商品的數(shù)量。系統(tǒng)每次只會將1個商品放入購物車中,如果用戶需要多個同種商品,可以通過修改商品信息右側相應文本框的值來完成。操作完成后需要通過單擊“修改”按鈕來保存操作。(3)生成訂單生成訂單時網(wǎng)上購物商城的最終目的,前面所有功能的實現(xiàn)都是為最后生成一個用戶滿意的訂單作基礎,在此要生成一個可供用戶隨時查詢的訂單號,還要保存用戶訂單中所購買的商品信息。當用戶確認對購物車不再改變以后,就可以到收銀臺結帳并生成訂單。結帳的流程為:從購物車中讀取商品名稱,商品數(shù)量,商品價格信息,生成一個唯一的訂單號,同時也把用戶注冊的基本信息讀取出來,形成一個完整的訂單寫入數(shù)據(jù)庫。在生成訂單模塊中主要使用了調出用戶信息并生成唯一訂單號,調出用戶信息就是完全的對數(shù)據(jù)庫進行操作,利用session對象把登錄后的用戶名保存起來,在訂單生成時把保存的用戶名從數(shù)據(jù)庫的用戶標中取出即可;生成唯一訂單號方法有很多,只要確保訂單號碼的唯一性及方便用戶記錄以便于查詢自己訂單的執(zhí)行狀態(tài)即可。訂單生成后,用戶單擊“提交”按鈕,便可以將錄入的訂單信息保存到數(shù)據(jù)庫中。(4)清空購物車清空購物車是指當用戶訂單生成后,倘若還想繼續(xù)購物一定要清空購物車再進行選購商品,這樣防止重復購物,其實清空購物車實現(xiàn)起來非常簡單,只需要將session中存儲的shop對象清空即可。購物車模塊流程圖如圖4.9所示。開 始查詢數(shù)據(jù)庫數(shù)據(jù)是否存在顯示商品的信息是是否放入購物車購物車是否為空是沒有該商品否否購物車中已存在該商品新建購物車該商品數(shù)量加1將商品添加入購物車是否顯示購物車信息是否修改商品數(shù)量否是否清空購物車是刪除購物車中商品是是否繼續(xù)購物否是否去收銀臺接收填寫的訂單信息數(shù)據(jù)是否為空訂單信息存入數(shù)據(jù)庫更新是否成功是否是否是修改商品數(shù)量是結 束否否否圖 4.9購物車模塊流程圖4.2.4 訂單查詢模塊用戶提交訂單后,通過產生的訂單號查詢訂單信息及執(zhí)行狀態(tài)。用戶在購物中心首頁中單擊“訂單查詢”超鏈接,就可以進入輸入訂單號頁面,在頁面的文本框中輸入訂單號并單擊“提交”按鈕,如果訂單號輸入無誤,系統(tǒng)將根據(jù)用戶錄入的訂單號在數(shù)據(jù)表中查詢處對應的貨品信息并轉到訂單查詢顯示頁面將貨品信息顯示出來。訂單查詢模塊流程圖如圖4.10所示。開 始結 束接收訂單號信息查詢數(shù)據(jù)庫訂單號是否存在否是顯示出訂單信息無該訂單號圖 4.10 訂單查詢模塊流程圖4.2.5 留言板模塊留言板模塊由瀏覽留言板和添加留言板兩部分組成。下面分別對這兩部分進行介紹。(1)瀏覽留言板單擊網(wǎng)站首頁的“留言板”超鏈接進入留言板頁面,在該頁面中,主要顯示用戶所填寫的留言,以便其他用戶查閱。留言板中顯示的數(shù)據(jù)是從數(shù)據(jù)表中檢索出來并顯示在網(wǎng)頁中的,為了方便查看網(wǎng)頁信息,使用了分頁顯示功能。對網(wǎng)頁進行分頁顯示首先要確定記錄跨度,就是每頁所顯示的記錄數(shù),在這個網(wǎng)站的留言板中,設定了int pagesize=4,即每頁中只允許顯示4條留言信息,用戶可以通過單擊“上一頁”、“下一頁”、“最后一頁”、“第一頁”或則從文本框中鍵入一個數(shù)值跳轉到相應頁瀏覽留言信息。記錄的總條數(shù)可以從數(shù)據(jù)庫中通過查詢語句rs.last();rowcount=rs.getRow得到,而計算總頁數(shù)時,根據(jù)總頁數(shù)=總記錄數(shù)/跨度,如果除不盡就加1的原理,設計代碼為:pagecount=(rowcount%pagesize)=0?(rowcount/pagesize);(rowcount/pagesize)+1)。如果獲取文本框中的數(shù)據(jù)不為空就把它轉換成整型數(shù)據(jù),然后賦值給當前獲取頁再做進一步判斷;如果獲取的頁數(shù)大于總頁數(shù)就把總頁數(shù)賦給獲取頁數(shù),否則就把獲取頁數(shù)值賦為1。而計算當前記錄數(shù)時,當前記錄數(shù)=(獲取頁數(shù)-1)*跨度+1。代碼如下所示。int showpage=1;if(topage!=null) showpage=Integer.parseInt(topage);if(showpagepagecount)showpage=pagecount;else if(showpage=0)showpage=1; rs.absolute(showpage-1)*pagesize+1);有了以上這幾個關鍵變量,網(wǎng)頁分頁顯示功能基本上已經(jīng)實現(xiàn)了,下一步就是在當前記錄數(shù)位置開始循環(huán),當數(shù)據(jù)庫沒有記錄的時候一定要終止循環(huán)程序。代碼如下:for(int i=1;i=pagesize;i+) if(!rs.next()break; (2)添加留言添加留言是用戶與用戶,以及用戶與網(wǎng)站之間的一種交流模式,只有把用戶想要表達的內容添加至數(shù)據(jù)庫中,才能在瀏覽留言板中進行顯示。用戶在留言板中單擊“添加留言”超鏈接就可以打開添加留言頁面,該頁面主要用來提交用戶輸入的留言信息。用戶在添加留言頁中單擊“提交”按鈕,系統(tǒng)會將數(shù)據(jù)表單提交到admin/addle.jsp頁,該頁用來實現(xiàn)江留言內容存入到數(shù)據(jù)庫中。留言板模塊的流程圖如圖4.11所示。開 始結 束接收添加的留言信息信息存入數(shù)據(jù)庫數(shù)據(jù)是否為空是否添加留言成功存放是否成功是否添加留言失敗查詢數(shù)據(jù)庫數(shù)據(jù)庫是否為空是否顯示留言信息留言板中沒有信息圖 4.11 留言板模塊流程圖4.3 后臺功能模塊的設計實現(xiàn)后臺功能只允許具有管理員權限的用戶使用,它是實現(xiàn)前臺功能的基礎。后臺包括管理員登錄模塊、添加商品模塊、訂單信息管理模塊、查詢用戶信息管理模塊、添加鏈接模塊。后臺首頁主要有以下幾個部分。(1)后臺導航區(qū):放置管理員可操作項目的鏈接;(2)操作區(qū):顯示所有后臺導航的鏈接信息。4.3.1 管理員登陸模塊在前臺首頁單擊管理員入口,將轉到管理員登錄頁面,該頁面的功能是對管理員身份進行驗證。在管理登錄頁面中,是通過JavaScript來實現(xiàn)錄入數(shù)據(jù)完整性驗證的。用戶輸入登錄ID和密碼后單擊“登錄”按鈕時,如果錄入數(shù)據(jù)完整性驗證通過,系統(tǒng)會將數(shù)據(jù)提交到Acheck.jsp登錄頁面,該頁面用來判斷輸入信息在數(shù)據(jù)庫中tb_Admin表是否存在提交的用戶名和密碼,如果登錄ID及密碼有效,就保存用戶名信息,管理員有權對網(wǎng)站進行維護;反之則提示錯誤。登錄頁面如圖4.12所示。流程圖如圖4.13所示。圖 4.12 管理員登錄頁面運行結果開 始否是是結 束接收登錄信息數(shù)據(jù)是否為空數(shù)據(jù)是否有效查詢數(shù)據(jù)庫否登錄成功圖 4.13 管理員登錄系統(tǒng)流程圖4.3.2 添加商品模塊單擊導航區(qū)中的“添加商品”超鏈接,系統(tǒng)將打開添加商品頁面,該頁面主要用于將商品信息添加到數(shù)據(jù)庫中,以提供前臺首頁商品展示所需要的數(shù)據(jù)依據(jù)。用戶單擊“添加”按鈕后添加商品如圖4.14所示。圖 4.14 添加商品信息頁面運行結果為了減少人為錯誤,在提交商品信息時,需要對數(shù)據(jù)的合法性進行驗證,輸入的商品價格不能使字符型,而輸入的圖片只支持Gif格式等,這些任務由腳本語言JavaScript的函數(shù)check()來完成。代碼如下。function check()if(form1.image.value=)alert(請輸入展示圖片的路徑);form1.image.focus();return false;if(isNaN(form1.wareprice.value)alert(商品價格輸入不正確);form1.wareprice.focus();return false;為了確保商品在數(shù)據(jù)表中的唯一性,在用戶提交表單時,需要先根據(jù)用戶輸入的商品名稱對數(shù)據(jù)表進行查詢,確保此商品在數(shù)據(jù)表中不存在后,方可執(zhí)行插入操作。這一功能由admin/wcheck.jsp來完成。流程圖如圖4.15所示。開 始結 束接收商品信息查詢數(shù)據(jù)庫數(shù)據(jù)是否為空是否信息插入數(shù)據(jù)庫是否重復錄入是否數(shù)據(jù)是否正確否是插入是否成功是否添加商品失敗添加商品成功圖 4.15 添加商品信息模塊流程圖4.3.3 訂單信息管理模塊用戶在前臺購物所產生的訂單并不能立即執(zhí)行,需要系統(tǒng)管理員在后臺進行訂單信息管理審核以確認它的執(zhí)行性。用戶單擊導航區(qū)中的“訂單信息管理”超鏈接進入用戶訂單處理頁面,該頁面上會顯示近期所有沒被處理的訂單。用戶訂單處理頁面顯示的是用戶基本信息,要想知道訂單中所涉及的商品,需要單擊對應訂單號的超鏈接打開商品訂購詳單頁面才行。商品訂購詳單主要通過提交的訂單號從tb_Shop表中查詢處對應的商品并顯示在頁面中,管理員審核后可通過復選框來設置訂單是否執(zhí)行。程序中利用admin/shop.jsp來完成這些功能。當選中“是/否”復選框時,系統(tǒng)會根據(jù)提交的訂單號更新數(shù)據(jù)表,如果更新成功,則轉到spif.jsp也執(zhí)行。流程圖如圖4.16所示。開 始是否查詢數(shù)據(jù)庫是結 束否顯示全部未處理的訂單信息是否刪除訂單數(shù)據(jù)庫是否為空更新數(shù)據(jù)庫更新數(shù)據(jù)庫是否成功刪除訂單成功沒有未處理的訂單是否查看訂購詳單是否執(zhí)行否更新數(shù)據(jù)庫更新是否成功是是否訂單執(zhí)行成功圖 4.16 訂單信息管理模塊流程圖4.3.4 查詢用戶信息模塊查詢用戶信息模塊用來完成對注冊用戶的瀏覽及刪除功能。如果用戶蓄意性注冊或者在很長時間內沒有訂單產生,管理員就可以將該用戶信息刪除。單擊導航區(qū)中的“查詢用戶信息”超鏈接進入用戶信息頁面,就可以看到用戶信息。在這一部分的設計中,也使用了分頁顯示功能。對于一些失信用戶只需要單擊右側的“刪除”超鏈接,即可轉到admin/deluser.jsp頁中做刪除處理。流程圖如圖4.17所示。開 始結 束顯示用戶的信息更新數(shù)據(jù)庫是否刪除用戶是否刪除用戶成功更新是否成功是否刪除用戶失敗查詢數(shù)據(jù)庫數(shù)據(jù)庫是否為空是否沒有用戶注冊圖 4.17 查詢用戶信息模塊流程圖4.3.5 添加鏈接模塊用戶在后臺首頁導航區(qū)中單擊“添加鏈接”即可進入添加友情鏈接頁面,該頁面用戶在前臺顯示友情鏈接信息。添加鏈接頁面如圖4.18所示。圖 4.18 添加鏈接頁面運行結果用戶單擊“提交”按鈕后,系統(tǒng)將添加鏈接頁面的數(shù)據(jù)表單提交admin/addlink.jsp頁面處理。若添加失敗,則提示故障信息,并返回頁面。流程圖如圖4.19所示。開 始結 束接收鏈接信息數(shù)據(jù)是否為空是數(shù)據(jù)插入數(shù)據(jù)庫否插入是否成功是否添加鏈接失敗添加鏈接成功圖 4.19 添加鏈接模塊流程圖5 系統(tǒng)測試在完成某一功能模塊后,都要進行一下系統(tǒng)測試。檢驗所完成的這一模塊是否能實現(xiàn)預計的功能。其目的是方便整個系統(tǒng)的實現(xiàn)。5.1 系統(tǒng)測試原理測試主要依據(jù)是被試系統(tǒng)的研制任務書和技術規(guī)格書,是對軟件雄體功能和性能的綜合測試與評估。測試原理是軟件測試活動的理論基礎,測試方法是鍘試原理的實際應用和獲得測試數(shù)據(jù)的手段。基于軟件的共性,對于軟件的測試要遵循一般軟件的測試原理和方法。同時,針對軟件的特性,必須找到合適的測試方法。測試用例的合理性對于軟件的測試與評估具有關鍵作用,而如何使設計的用例、合理并且典型有效并不容易。所以應該與軟件的研制人員以及最終用戶一起,有針對性地研究實際操作環(huán)境并加以描述,形成合理的測試用例集。另一方面,軟件運行環(huán)境的復雜程度對軟件評估具有重要作用,所以應產生盡量逼真的運行背景以便于研究。軟件測試的周期如圖5.1所示。 需求分析 系統(tǒng)設計 編制程序 單元測試 集成測試 系統(tǒng)測試 確認測試使用維護測試階段開發(fā)階段圖5.1 軟件測試周期示意圖5.2 系統(tǒng)測試原則序員應避免測試自己編寫的程序;測試用例的設計必須包括預期的輸出結果;測試用例應包括有效的和期望的輸入情況,也要包括無效的和不期望的輸入情況;所有的測試都應追溯到用戶需求,所有測試活動都應該是有計劃的,并且計劃能夠得到保障。只檢查程序是否做了它應該做的事這僅完成了測試工作的一半,另一半則是要檢查程序是否做了它不該做的事;一段程序中存在錯誤的概率與在這段程序中已發(fā)現(xiàn)的錯誤數(shù)成比例;測試上作必須有明確的目標;盡早地和不斷地進行軟件測試;窮舉測試是不可能的,充分覆蓋程序邏輯是有可能的。5.3 系統(tǒng)測試方法軟件測試的方法和技術是多種多樣的。對于軟件測試技術,可以從不同的角度加以分類:從是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動態(tài)測試。從測試是否針對系統(tǒng)的內部結構和具體實現(xiàn)算法的角度來看,可分為白盒測試和黑盒測試。(1)黑盒測試黑盒測試也稱功能測試或數(shù)據(jù)驅動測試或基于規(guī)范的測試,它是在己知產

溫馨提示

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

評論

0/150

提交評論