基于web的網(wǎng)上書店管理系統(tǒng)大學本科畢業(yè)論文_第1頁
基于web的網(wǎng)上書店管理系統(tǒng)大學本科畢業(yè)論文_第2頁
基于web的網(wǎng)上書店管理系統(tǒng)大學本科畢業(yè)論文_第3頁
基于web的網(wǎng)上書店管理系統(tǒng)大學本科畢業(yè)論文_第4頁
基于web的網(wǎng)上書店管理系統(tǒng)大學本科畢業(yè)論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章緒論1.1.電子商務簡介Internet的發(fā)展,為改變傳統(tǒng)商業(yè)運作模式提供了一種技術(shù)上的可行性方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)(Intranet),企業(yè)外部網(wǎng)(Extranet),通過廉價的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴大了交易范圍。而在實際生活中,這種方案已經(jīng)被廣泛運用到了實際商業(yè)活動中了,人們將這種交易模式稱為:電子商務。當今比較流行的網(wǎng)上書店國外有“亞馬遜()”,國內(nèi)有“當當()”。它們都是相當優(yōu)秀的電子商務網(wǎng)站,對其他的網(wǎng)站提供了良好的典范。設計中可以學習參考他們的思想,了解和熟悉整個網(wǎng)站的開發(fā)流程及完整的電子商務網(wǎng)站應有的功能和注意事項。設計和完成一個電子商務網(wǎng)站,將會牽涉到許多技術(shù)上的問題,如:動態(tài)網(wǎng)頁制作技術(shù),后臺數(shù)據(jù)庫的設計和管理,通過實際的制作這個網(wǎng)站,可以避免紙上談兵,在實踐中掌握上述技術(shù)的使用。1.2.設計此網(wǎng)站的現(xiàn)實意義1.開發(fā)此網(wǎng)站對于我個人和我的朋友以及所有的大學生都有很重要的現(xiàn)實意義。首先它建立了一個平臺,讓我能實現(xiàn)一直有的夢想,就是將在大學中的書籍都賣掉,并不是當作費紙,而是作為傳播知識的讀本。2.開發(fā)此網(wǎng)站從節(jié)省能源上來說,可以節(jié)省紙張,減少浪費。3.學習新技術(shù),培養(yǎng)自學和探索能力目前流行的技術(shù)有JSP、ASP、PHP等,結(jié)合HTML都能夠快速開發(fā)網(wǎng)站,要完成畢業(yè)設計就要在其中選擇一種最合適的技術(shù)來進行開發(fā),無論選擇某一種技術(shù),都能夠?qū)W習到最新的開發(fā)技術(shù)。此外開發(fā)的時候一定會遇到疑難問題,這就需要自己尋找資料和開動腦筋。4.符合教學改革趨勢作為“21世紀的通行證”,計算機正受到越來越多人的關(guān)注。而且計算機教育已走出學校的大門,逐漸成為每個人終身學習的內(nèi)容。事實上,現(xiàn)在IT教育不僅在學校中,在社會上也日益受到重視。許多有識之士認為,信息技術(shù)不單是應用廣泛的高新技術(shù),而且已成為其他許多學科的基礎,并構(gòu)成人類文化的組成部分,滲透于現(xiàn)代生活的各個方面。CC2001(ComputingCurricula2001)草案要求:計算機專業(yè)大學生應在畢業(yè)前必須了解計算機文化的發(fā)展與特點,具有計算機相關(guān)法律和道德意識;掌握多媒體技術(shù)和網(wǎng)絡技術(shù)的軟、硬件基礎知識和基本操作;了解早期與現(xiàn)代程序設計方法的區(qū)別,具備能使用某種語言編寫和調(diào)試簡單程序的能力;了解單機和網(wǎng)絡操作環(huán)境,具有在人機交互環(huán)境中運用常用軟件處理日常事務的能力;具有結(jié)合專業(yè)需要開發(fā)計算機應用系統(tǒng)的初步能力和較強的自學能力。而實際上國內(nèi)的情況和CC2001的要求還差的很遠,所以,國內(nèi)IT教育正在進行改革,爭取在十年之內(nèi)能夠普及IT教育。這個項目完全符合國內(nèi)教學改革趨勢。1.3.開發(fā)目標遵循軟件工程的原理,力爭開發(fā)出一套高效、安全、可靠、功能適用、易于維護、易于理解、設計合理、界面清晰、編碼規(guī)范、操作簡便的網(wǎng)站,減少操作人員的工作量,全面提高公司的工作效率、管理水平和經(jīng)濟效益,從而實現(xiàn)物流、價值流、信息流的集成,提高競爭能力。1.4.開發(fā)工具簡介1.4.1JSP簡介傳統(tǒng)的HTML代碼中,利用HTML標簽的擴展,構(gòu)成頁面,JSP的綜合實力是最強的,尤其是在安全性和跨平臺性兩個方面,比其他的兩種技術(shù)都要好。此外,JSP技術(shù)是基于Java的,要想對他了解更多,就必須了解Java語言的特性。Java是1990年由Sun公司開發(fā)用來適應于消費類電子產(chǎn)品的軟件,但是由于商業(yè)上的種種原因,這些電子產(chǎn)品沒有能夠推向市場,Java也差點夭折。1994年,經(jīng)過Java開發(fā)小組的認真研究,決定把改進后的Java用于Internet的WWW開發(fā)中,1995年,Sun公司舉行了隆重的Java發(fā)布會,并推出了測試版,此后Netscape公司宣布將支持Java,同時,Sun公司又聯(lián)合SGI公司和Macromedia公司聯(lián)合制定了基于Java的開放式多媒體標準。不久,IBM、Microsoft、Oracle、Novell和Borland等著名公司也相繼宣布支持Java。Java成為了當今最流行的網(wǎng)絡編程語言。Java的許多研究者根據(jù)Java的作者所著寫的Java技術(shù)“白皮書”中所解釋的Java設計初衷以及取得的成就,整理出Java十一項關(guān)鍵特點。這十一項特點也是比較公認的。Java的初學者可以在很多Java入門教材中找到相似或相近的觀點。這十一項特點主要有:簡單:Java的語言非常簡單,省略了C++中許多極易混淆的語法特性??梢浦?Java所采用的虛擬機原理,使它脫離了硬件的束縛達到跨平臺應用。面向?qū)ο?Java完全支持面向?qū)ο蠹夹g(shù)的編程結(jié)構(gòu)。解釋型:Java的字節(jié)碼機制說明了它是一種半編譯和半解釋型語言。分布式:Java提供了強大而易用的網(wǎng)絡應用。高性能:Java通過改進的解釋器和特殊的CPU可以顯著提高字節(jié)碼的執(zhí)行效率。健壯:Java取消了指針這種容易出錯的結(jié)構(gòu),提高了程序的健壯性。多線程:多線程的優(yōu)點是具有了更好的交互性和實時行為。安全:Java的安全機制是現(xiàn)今所有語言中最為成功的。動態(tài):Java可以不斷向庫內(nèi)添加新方法以及新實例變量。中性結(jié)構(gòu):Java生成的字節(jié)碼是一種在不同平臺上保持獨立格式。當然Java其他的特點也相當有用,我也是第一次接觸Java,還沒有切身體會。但是它的面向?qū)ο蟮奶匦院鸵讓W性已經(jīng)給了我足夠的選擇理由。因此,最后我選擇基于Java的JSP技術(shù)作為動態(tài)網(wǎng)頁的開發(fā)技術(shù)。1.4.2SQLSERVER2000簡介MicrosoftSQLServer2000是Microsoft公司繼SQLServer6.0和SQLServer7.0以后,在新千年推出的友誼改進的新版關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它能使用戶快捷地管理數(shù)據(jù)庫和開發(fā)應用程序。SQLServer2000使用了最先進的數(shù)據(jù)庫結(jié)構(gòu),具有強大的Web功能,它可以利用高端平臺以及最新網(wǎng)絡和存儲技術(shù),可以為最大的Web站點和企業(yè)應用提供優(yōu)良的擴展性和可靠性,使用戶能夠在Internet領(lǐng)域快速建立服務系統(tǒng),為占領(lǐng)市場爭得了寶貴的時間。同時,SQLServer2000還為用戶提供了重要的安全性能的增強,為用戶的安全提供了可靠的保證。另外,SQLServer2000在數(shù)據(jù)庫服務器自動管理技術(shù)方面處于數(shù)據(jù)庫領(lǐng)域的領(lǐng)先地位,它可以使用戶免去繁瑣復雜的工作,從而又經(jīng)歷處理重要的問題,使系統(tǒng)在商業(yè)戰(zhàn)略上占得先機。今天,MicrosoftSQLServer2000是在成熟和強大的關(guān)系型數(shù)據(jù)庫中最受歡迎、應用最廣泛的一個。它完全滿足電子商務、關(guān)鍵業(yè)務和數(shù)據(jù)倉庫應用程序的需求。由于其優(yōu)良的性能、可伸縮性、可編程價值,它已成為眾多客戶關(guān)系管理系統(tǒng)(CRM)、商業(yè)智能(BI)、企業(yè)資源規(guī)劃(ERP)、以及其他商業(yè)應用程序供應商和客戶的首選數(shù)據(jù)庫。當今有許多著名網(wǎng)站就構(gòu)筑在MicrosoftSQLServer2000上,如M、D、B等。雖然較之于Oracle、DB2等數(shù)據(jù)庫管理系統(tǒng),MicrosoftSQLServer在開放性、可伸縮性、安全性和系統(tǒng)性能方面有一定的差距,但它在易用性和實用性方面的優(yōu)勢,因此選擇SQLServer2000作為系統(tǒng)的后臺數(shù)據(jù)庫開發(fā)工具。第2章可行性分析可行性研究是以相對短的時間和相對低的成本來確定給定的問題是否有解。在這個階段,必須就時間、人力、財力、效益、技術(shù)等要素來評估是否有足夠的資源支持本網(wǎng)站開發(fā)的需求。因此要從技術(shù)可行性、經(jīng)濟可行性、操作可行性等方面來進行研究。2.1技術(shù)可行性分析開發(fā)風險:開發(fā)時間為十六周,可以在指定時間內(nèi)完成。人力資源:該網(wǎng)站由一人完成,有老師做技術(shù)指導。技術(shù)能力:該網(wǎng)站是以JSP為前臺開發(fā)工具,以SQLServer2000為后臺數(shù)據(jù)庫,可以實現(xiàn)這個網(wǎng)站。物資設備:PC機一臺。2.2經(jīng)濟可行性分析網(wǎng)站規(guī)模并不很大,開支較少,但需要專業(yè)人員進行維護和管理,所以網(wǎng)站建設需要先期投入,但網(wǎng)站的平穩(wěn)運行將給企業(yè)帶來潛在效益。對于本網(wǎng)站的經(jīng)濟可行性來說,主要的開發(fā)工具的選擇,JSP、SQLSERVER2000都比較簡單、實用,價格也比較合理,是比較理想的開發(fā)工具。對于用戶來說,合理方便的網(wǎng)站設計布局和即時的響應速度,足可以滿足各種用戶的不同需求,所以在進行本網(wǎng)站設計時考慮到這些,將每位訪問本網(wǎng)站的用戶的需求作為開發(fā)的根本,建立操作簡單、界面友好、使用靈活、實用性強、安全性高的網(wǎng)站。2.3其他方面的可行性分析運行環(huán)境可行性:網(wǎng)站可以運行在安裝了Tomcat5以上版本和JDK1.5(Java的編譯環(huán)境,是所有Java開發(fā)工具的運行基礎)Dreamweaver

8(網(wǎng)頁制作工具,可以高效的開發(fā)HTML代碼)SQL

Server

2000的Windows2000/XP平臺上。

第3章

需求分析3.1業(yè)務流程本圖書電子商務網(wǎng)站的用戶分為使用者和管理者兩種,使用者只有使用部分功能的權(quán)限,而管理者具有實用所有功能的權(quán)限。

用戶可以使用管理者預先設置好的用戶名和密碼登陸到本網(wǎng)站,并使用本網(wǎng)站查看最新書籍、熱銷排行、購買圖書等操作。

在登錄網(wǎng)站時,網(wǎng)站會把用戶所輸入的用戶名與數(shù)據(jù)庫中的進行檢驗,并在主頁面加載時檢查用戶權(quán)限。進入網(wǎng)站后用戶有權(quán)限的功能可用,無權(quán)限的功能則不可用。3.2數(shù)據(jù)流圖數(shù)據(jù)流圖描述系統(tǒng)的邏輯模型,是結(jié)構(gòu)化系統(tǒng)分析的主要工具,它能圖形化地顯示出系統(tǒng)中數(shù)據(jù)的使用,表達數(shù)據(jù)在企業(yè)內(nèi)部信息傳送系統(tǒng)內(nèi)部的邏輯流向以及本系統(tǒng)的邏輯功能和數(shù)據(jù)的邏輯變換。數(shù)據(jù)流圖(Data

Flow

Diagram,簡稱DFD圖)是用一些規(guī)定的圖標和符號來描述數(shù)據(jù)在系統(tǒng)中的流動和處理情況。數(shù)據(jù)流圖一般采用自上而下逐步求精的結(jié)構(gòu)化表示方法。

其實,軟件系統(tǒng)歸根到底是一個信息處理系統(tǒng),其最基本的功能就是接受輸入的信息,對輸入的信息按照規(guī)定的方法歸類,處理,存儲,轉(zhuǎn)變?yōu)樗枰男畔?,最后通過輸出系統(tǒng)向用戶輸出所需求的信息。其中最核心的部分就是對信息(或者稱作數(shù)據(jù))的處理,因此不同的數(shù)據(jù)也就不決定了所需要的不同的處理方法和算法,數(shù)據(jù)流圖也就是以圖形的方式將系統(tǒng)中數(shù)據(jù)傳遞、轉(zhuǎn)化的過程以直觀的方式表達。

本網(wǎng)站的數(shù)據(jù)流圖如下:DFD頂層圖響應信息響應信息客戶管理員網(wǎng)上書店系統(tǒng)D信息表后臺訂單信息發(fā)貨進貨單分析結(jié)果銀行帳號表更新金額信息輸入圖3-1DFD頂層3.3數(shù)據(jù)存儲說明管理員表(管理員用戶名,管理員密碼)注冊用戶表(ID,用戶名,用戶密碼,姓名,性別,地址,電話,郵編,郵件,時間)圖書類別表(書籍ID,圖書類別名)圖書信息表(ID,書名,圖書類別,作者,出版社,書號,內(nèi)容介紹,書價,數(shù)量登記時間)用戶-訂單表(ID,訂單編號,用戶序列號,提交訂單時間,交貨時間,總金額)訂單-圖書表(ID,訂單序列號,圖書序列號,數(shù)量)第4章總體設計總體設計的基本目的是比較抽象概括的方式確定系統(tǒng)如何完成預定的任務,也就是說,應該確定系統(tǒng)的物理配置方案,并且進而確定組成系統(tǒng)的每個程序的結(jié)構(gòu)。整個系統(tǒng)的功能模塊圖:

網(wǎng)上書店系統(tǒng)網(wǎng)上書店系統(tǒng)注冊用戶管理員用戶注冊訂單管理查看訂單購物車管理在線購書用戶登錄用戶管理圖書管理管理員登錄圖4-1系統(tǒng)的功能模塊圖4.1功能描述在線書店系統(tǒng)主要是針對中小型書店,圖書管理員將圖書信息整理歸類發(fā)布到網(wǎng)上,用戶登錄該網(wǎng)站后,首先要注冊為會員才能購買圖書,提交購書單給圖書管理員,并同時將費用通過電匯或郵寄的方式交付到圖書管理員處。管理員在收到付款后,發(fā)貨給購物者,并同時更新網(wǎng)上有關(guān)于該訂書單的付款狀態(tài),從而完成一次交易。只允許系統(tǒng)規(guī)定的圖書管理員來添加和修改圖書信息;圖書管理員可以查看該系統(tǒng)的所有注冊用戶信息,可以修改某一個注冊用戶的基本信息,也可以刪除某個用戶;圖書管理員可以查看該系統(tǒng)的所有訂單,可以刪除訂單,也可以修改訂單的付款狀態(tài)、發(fā)貨狀態(tài)。圖4-2管理員實例圖任何一個網(wǎng)絡用戶都可以注冊稱為該系統(tǒng)的固定用戶,注冊時需要填寫基本注冊信息,還可以修改個人的基本信息。圖4-3網(wǎng)絡用戶實例圖只有注冊用戶才能登錄此系統(tǒng),購買圖書。購買圖書時可以任意選購圖書,任意填寫購買數(shù)量,可以修改已選擇圖書的購買數(shù)量,可以刪除已選擇的某一本圖書,可以取消購買,可以提交購買下達訂單確認一次購買成功。圖4-4用戶實例圖圖4-5購物順序圖購書后的用戶可以登錄系統(tǒng)查看自己的訂單的付款狀態(tài)和發(fā)貨狀態(tài)。圖4-6訂單狀態(tài)圖4.2數(shù)據(jù)庫概念設計數(shù)據(jù)庫概念模型設計的關(guān)鍵,在于數(shù)據(jù)庫邏輯結(jié)構(gòu),其主要特點是:1.反映現(xiàn)實世界,包括實體和實體間的聯(lián)系,能滿足用戶對數(shù)據(jù)處理的需求,實現(xiàn)世界的一個真是模型。2.易于理解,從而可以和不熟悉計算機的用戶進行意見交換。3.易于向關(guān)系、網(wǎng)狀等各種模型轉(zhuǎn)換。最常用的表示概念性數(shù)據(jù)模型的方法,是實體聯(lián)系法。用這種方法表示的概念性模型又稱為E-R模型。實體聯(lián)系E-R圖如下:

管理員管理員密碼ID用戶名姓名性別管理員密碼管理員用戶名用戶地址電話郵編注冊時間管理圖書信息表書價訂單號作者數(shù)量書號書名圖書類別ID登記時間訂單購書ID訂單時間序列號交貨時間金額是否付款是否發(fā)貨1n1n1圖4-7總體E-R圖由前面的功能模塊設計的可知,此網(wǎng)上書店系統(tǒng)的服務對象有兩類,即管理員和注冊用戶,由于管理員和注冊用戶對此系統(tǒng)的操作有很大差別,在系統(tǒng)中要分別記錄他們的數(shù)據(jù)信息,因此首先需要如下兩個數(shù)據(jù)實體:管理員數(shù)據(jù)實體:記錄管理員的用戶名和密碼,這是管理員登錄系統(tǒng)時所必需的。 注冊用戶數(shù)據(jù)實體:包括用戶名、密碼、真實姓名、性別、聯(lián)系地址、聯(lián)系郵編、聯(lián)系電話、電子郵件等信息。這些信息由用戶自己進行維護,管理員可以根據(jù)這些信息來了解用戶。作為電子書店系統(tǒng),圖書數(shù)據(jù)自然是最為重要的。圖書管理員需要將琳瑯滿目的圖書進行分類整理,這樣顧客可以很方便的查找圖書,同時也便于管理員管理圖書,這就需要如下的兩個數(shù)據(jù)實體: 圖書類別數(shù)據(jù)實體:記錄該系統(tǒng)中圖書的類別信息,主要包括類別名稱和編號。 圖書信息數(shù)據(jù)實體:記錄圖書的基本信息,包括圖書名、作者、出版社、書號、定價、總數(shù)量、圖書簡介、圖書類別。這些數(shù)據(jù)由管理員進行錄入和維護,用戶在選購圖書時進行瀏覽。以上的四個實體是最基本的數(shù)據(jù)實體,對于電子購物網(wǎng)站來說,需要隨時記錄和更新顧客的購買信息,因此需要如下的兩個數(shù)據(jù)實體: 用戶訂單數(shù)據(jù)實體:記錄所有用戶下達的訂單的記錄,包括用戶的身份編號、訂單的編號、訂單的名稱、下達訂單的日期、付款狀態(tài)、發(fā)貨狀態(tài);管理員可以根據(jù)實際的狀況來修改部分狀態(tài)信息,用戶可以隨時查看該訂單的狀態(tài)信息。 訂單圖書數(shù)據(jù)實體:記錄所有訂單包含的圖書信息,包括訂單的編號、圖書的編號。

第5章

詳細設計

詳細設計階段的根本目的是確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設計工作,應該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。5.1界面設計5.1.1前臺界面設計1.用戶注冊頁面用戶需要注冊后才能在此網(wǎng)絡書店系統(tǒng)上購書,因此需要設計一個操作簡單方便的用戶注冊頁面。用戶在注冊界面內(nèi)輸入的個人信息要添加到數(shù)據(jù)庫的用戶表(My_Users)中,根據(jù)這個表的字段信息,可知注冊界面中需要輸入的用戶信息包括:登錄用戶名、密碼、確認密碼(以便保證用戶兩次輸入的密碼都一樣)、真實姓名、性別、聯(lián)系地址、聯(lián)系郵編、聯(lián)系電話和電子郵件。用戶注冊頁面如下圖所示。圖5-1注冊界面2.用戶登錄頁面注冊用戶只有登錄到此網(wǎng)絡書店系統(tǒng)后,才能正常使用此系統(tǒng)的提供的功能。用戶登錄系統(tǒng)時需要輸入自己的用戶名和密碼,系統(tǒng)根據(jù)數(shù)據(jù)庫的用戶表(My_Users)中的記錄核實用戶輸入的登錄信息合法后,用戶才能登錄此系統(tǒng)。圖5-2登錄界面登錄成功后可以修改自己的信息圖5-3用戶修改信息3.圖書分類顯示功能:按圖書的分類顯示相應類別的所有圖書的信息,顯示信息包括:圖書名稱、作者、單價、圖書簡介以及圖書對應的幣面圖片。圖書訂購功能:在圖書顯示界面中,客戶可以選購圖書,并指定選購的數(shù)量。圖5-4選購圖書4.用戶在線購物頁面用戶登錄到此網(wǎng)絡書店系統(tǒng)后,就可以在線購書了。在線購書時,首先查看有那些圖書。根據(jù)圖書的分類,設計了圖書的列表頁面,此頁面中列出了圖書的基本信息:圖書名稱、作者、圖書類別、出版社、單價。在圖書列表頁面中單擊“詳細資料”超鏈接,可以查看圖書的詳細信息,此頁面只是顯示數(shù)據(jù)表My_book中的基本數(shù)據(jù)。每一本圖書還需要提供“購買”的按鈕,以便用戶能夠方便的購買。在圖書列表頁面中單擊“購買”超鏈接,可以打開圖書購買頁面,此頁面中用戶可以輸入要購買的圖書的數(shù)量,單擊“購買”按鈕,即可將該圖書添加到購物車。購買圖書頁面如圖所示。圖5-5在線購物界面5.購物車管理界面當用戶選購完自己需要的圖書后,需要提交購物車結(jié)帳。用戶首先要查看在購物車里自己已經(jīng)選購了哪些圖書、圖書的數(shù)量和圖書的相關(guān)信息。此頁面中要實現(xiàn)顯示購買圖書列表、購買圖書的數(shù)量,還要能實現(xiàn)刪除已經(jīng)選購的圖書、提交購物車和清空購物車的操作。購物車管理頁面如圖所示。圖5-6購物車界面6.用戶訂單查看用戶提交購物車后,系統(tǒng)就自動生成了訂單。訂單提交給系統(tǒng)管理員進行管理,訂單的付款狀態(tài)和發(fā)貨狀態(tài)由管理員根據(jù)實際情況進行更新,用戶也需要隨時查看自己下達的訂單的信息。訂單查看頁面要顯示的信息包括:訂單的編號(用戶的每一次提交購物車就會生成一個訂單ID)、提交時間、總金額(一此購物的購物總金額)、付款狀態(tài)、發(fā)貨狀態(tài)。訂單對應的數(shù)據(jù)表為My_Indent。圖5-7訂單界面5.1.2后臺界面設計1.管理員登錄頁面根據(jù)系統(tǒng)管理功能保密性的需要,管理員要通過自己的登錄入口登錄系統(tǒng)對系統(tǒng)進行管理和維護。由數(shù)據(jù)庫部分的設計可知,管理員登錄的用戶名和密碼存放在數(shù)據(jù)表My_BookAdminuser中,在建立該表時填加了一個管理員的記錄,用戶為admin,密碼為admin。管理員用戶登錄的界面中,包括用戶名和密碼的輸入框,還要包括提交登錄的按鈕。圖5-8管理員登錄界面2.圖書管理頁面管理員登錄后,就可以管理圖書了。根據(jù)功能模塊圖的設計可知。圖書的管理有:增加圖書,取得圖書列表,察看圖書信息,修改圖書信息,刪除圖書。添加圖書對應的頁面是addbook.jsp。添加圖書時需要添加圖書的基本信息。圖5-9添加圖書界面3.訂單管理頁面對于網(wǎng)絡書店來說,需要記錄用戶購買圖書的情況,這就需要記錄訂單信息。用戶每一次購買,都自動生成一個購買訂單供管理員查看,因此就需要設計一個管理員管理訂單的功能,訂單中記錄的信息主要涉及到用戶-訂單數(shù)據(jù)表My_Indent和訂單-圖書數(shù)據(jù)表My_IndentList表中的數(shù)據(jù)。訂單頁面應該顯示所有用戶的所有訂單的列表,和數(shù)據(jù)表的字段對應,應該顯示的信息有:訂單編號、用戶名、下單時間、交貨時間、總金額、訂貨人IP、付款狀態(tài)、發(fā)貨狀態(tài)。管理員在此頁面中可以查看每一個訂單的圖書列表情況,可以刪除任何一個訂單。圖5-10訂單管理當管理員需要管理某一個訂單時,列表中的“詳細情況”鏈接。此鏈接的結(jié)果要打開這個訂單的圖書列表信息。此頁面和My_Indent數(shù)據(jù)表對應,顯示該訂單的所有圖書列表,包括字段:圖書名稱、作者、圖書類別、單價、數(shù)量,同時為了方便管理,還需要統(tǒng)計該訂單的總金額和總數(shù)量。4.用戶管理頁面對于一個網(wǎng)絡書店系統(tǒng)來說,用戶要購買圖書時要下訂單,因此需要記錄下單的用戶信息,這些用戶的信息需要由系統(tǒng)管理員來進行管理和維護。為此,設計了用戶列表的頁面。次頁面中需要包括如下的信息:用戶的ID號、用戶名、真實姓名、聯(lián)系地址、聯(lián)系電話、Email。這些只是顯示了用戶的基本信息,還應該提供用戶管理的入口,包括修改、刪除,還應該可以查看詳細資料的查看入口。圖5-11用戶信息管理5.2數(shù)據(jù)庫概念設計此網(wǎng)上書店系統(tǒng)采用SQLServer2000數(shù)據(jù)庫管理系統(tǒng)。首先用戶需要在SQLServer2000的企業(yè)管理器中建立一個數(shù)據(jù)庫,將其命名為“dbhouse”,然后根據(jù)數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析創(chuàng)建以下6張數(shù)據(jù)表: 管理員表(My_BookAdminuser):用于存放管理員的數(shù)據(jù)記錄。 注冊用戶表(My_Users):用于存放注冊用戶的記錄。圖書類別表(My_BookClass):用于存放圖書記錄。 圖書信息表(My_Book):用于存放初始的圖書類別記錄。 用戶-訂單表(My_Indent):用戶存放用戶下達的訂單基本信息。 訂單-圖書表(My_IndentList):用于存放訂單的圖書信息。以上6張數(shù)據(jù)表的表結(jié)構(gòu)分別如圖所示。表5-1My_BookAdminuser表結(jié)構(gòu)字段名稱字段類型說明AdminUserVarchar(20)管理員用戶名AdminPassVarchar(50)管理員密碼表5-2My_User表結(jié)構(gòu)表5-3My_BookClass表結(jié)構(gòu)表5-4My_Book表結(jié)構(gòu)表5-4My_Indent表結(jié)構(gòu)表5-5My_IndentList表結(jié)構(gòu)第6章測試用戶注冊測試測試流程(1)從到達用戶注冊頁面,添加用戶信息并提交。注意使用空用例,測試E-mail地址判斷、號碼判斷等內(nèi)容。(2)到達購物車頁面,看注冊完畢是否自動登錄。(3)退出。從首頁重新登錄。到達購物車頁面,查看用戶資料是否正確。測試結(jié)果表6-1注冊測試表頁面全路徑測試用例測試結(jié)果操作流程/shop/reg.jsp用戶名:abcd密碼:1234E-mail:abcd@163.com性別:女地址:吉林其它省略用戶名為空提交一次密碼為空提交一次E-mail為空提交一次。不合法E-mail提交一次。用戶名,密碼,E-mail為空不允許提交虛假的E-mail不允許提交最后注冊成功然后去往到達購物車頁面/index.jsp用戶名:abcd密碼:1234登錄成功查看用戶資料正確然后去往到達購物車頁面管理員登錄測試測試流程(1)以管理員身份從首頁登錄,測試后臺管理頁面的登錄功能,以及管理員用戶是否建立成功。(2)添加普通操作員www。測試添加操作員功能,測試確認密碼功能。(3)退出。以www身份登錄,看是否成功。測試結(jié)果表6-2管理員登錄測試表頁面全路徑測試用例測試結(jié)果操作流程/shop/login.jsp用戶名:admin密碼:admin登錄成功在地址欄里面直接鍵入地址后登錄/shop/login.jsp用戶名:admin密碼:www登錄失敗,提示用戶名密碼錯誤/shop/login.jsp用戶名:www密碼:www登錄失敗用戶購物測試測試流程(1)以普通用戶身份從首頁登錄。(2)選擇計算機類然后選擇JAVA教程。(3)選擇“添加到購物車”按鈕,到達購物車頁面。(4)修改數(shù)量為2。(5)重復以上操作,測試多次購物的結(jié)果。測試結(jié)果表6-3用戶購物測試表頁面全路徑測試用例測試結(jié)果操作流程/shop/shoperlist.jsp查看圖書是否成功添加修改數(shù)量為2,看價錢計算是否正確再次購物,看多款產(chǎn)品價錢計算是否正確刪除某一款產(chǎn)品,看是否正確正確成功訂單管理測試測試流程(1)用戶從購物車頁面到收款臺,選擇付款方式,添加收貨人后生成訂單。(2)測試取消訂單功能。取消后再生成訂單。(3)從后臺管理程序登錄,對訂單進行確認。(4)再一次試驗取消訂單功能。測試結(jié)果表6-4訂單管理測試頁面全路徑測試用例測試結(jié)果操作流程/shop/order.jsp分別選擇各種結(jié)算方式,看是否保存到數(shù)據(jù)庫中成功/shop/order.jsp確認訂單是否生成,查看訂單的狀態(tài),取消訂單看是否成功成功/shop/order.jsp修改訂單狀態(tài)為確認成功第7章經(jīng)驗與教訓總結(jié)本次項目中,我們用到的主要技術(shù)是JSP,在此,就其作一個簡單的總結(jié),JSP工作原理:在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉(zhuǎn)換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSP引擎先把該JSP文件轉(zhuǎn)換成一個Java源文件,在轉(zhuǎn)換時如果發(fā)現(xiàn)jsp文件有任何語法錯誤,轉(zhuǎn)換過程將中斷,并向服務端和客戶端輸出出錯信息;如果轉(zhuǎn)換成功,JSP引擎用javac把該Java源文件編譯成相應的class文件。然后創(chuàng)建一個該SERVLET的實例,該SERVLET的jspInit()方法被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。然后jspService()方法被調(diào)用來處理客戶端的請求。對每一個請求,JSP引擎創(chuàng)建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創(chuàng)建多個線程。每個客戶端請求對應一個線程。以多線程方式執(zhí)行可大大降低對系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應時間.但應該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應是非常快的。

如果.jsp文件被修改了,服務器將根據(jù)設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的servlet,并繼續(xù)上述處理過程。雖然JSP效率很高,但在第一次調(diào)用時由于需要轉(zhuǎn)換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由于系統(tǒng)資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內(nèi)存中移去。當這種情況發(fā)生時jspDestroy()方法首先被調(diào)用,

然后servlet實例便被標記加入"垃圾收集"處理。jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡連接,從配置文件中取一些參數(shù)等,在jspDestory()中釋放相應的資源。由于我們是第一次做項目,根本沒有什么經(jīng)驗,首先就是編碼,也沒有具體的設計思想,而且編出來的代碼錯誤多多,到頭來只是浪費時間。后來我們采用面向?qū)ο蟮脑O計思想,把網(wǎng)站分成若干模塊,一個一個的將其實現(xiàn),最終再把他們又相互聯(lián)系起來形成一個整體,而且當遇到問題時調(diào)試又十分容易處理。另外測試也可以單獨地進行??梢赃@么說,通過這次實踐,我們基本上了解和掌握了面向?qū)ο蟮脑O計思想。總結(jié)短短兩個月畢業(yè)設計,每天忙忙碌碌,一步一步走來,今天終于迎來了自己的成果。在這期間,經(jīng)常遇到各種各樣的問題,時常為不能解決的問題而一籌莫展,但這并未因此打消我的信心,而是使我更加專著的去解決問題,也因此這相對短暫的時間卻是三年來過得最為充實的日子,充滿了挑戰(zhàn)的艱辛與樂趣。在老師的指導和督促下,經(jīng)過兩個月的緊張設計與開發(fā),我的畢業(yè)設計基于JSP的網(wǎng)上書店系統(tǒng)終于開發(fā)完成了。通過本系統(tǒng)的開發(fā)使我所學的專業(yè)知識得到了綜合的運用,對以前很多抽象、枯燥的理論知識加深了理解,同時也使我學會了利用結(jié)構(gòu)化程序設計思想開發(fā)管理信息系統(tǒng),并用模塊化方法加以實現(xiàn)。通過本次的系統(tǒng)開發(fā),我深刻地認識到信息系統(tǒng)開發(fā)的每一步都是以上一步為基礎的。因此每一步文檔的編寫都必須正確、完整,否則就會給下一步的工作帶來不必要的麻煩,加大工作量。因為系統(tǒng)是為用戶服務的,所以要充分了解用戶的需求,考慮用戶的特點和使用方面的習慣,以協(xié)調(diào)人機關(guān)系。在系統(tǒng)實施中應結(jié)合各方面的要求,盡可能選擇自己熟悉的程序設計語言。系統(tǒng)測試中要根據(jù)實際情況設計有效的測試方法。在系統(tǒng)設計過程中,從用戶的角度出發(fā),在系統(tǒng)的可用性和易用性上做了很多功夫,力求能達到最好的效果。但由于我的編程實現(xiàn)能力和畢業(yè)設計的時間都有限,我對學生檔案管理這一系列工作的具體內(nèi)容也不是特別地了解,所以目前我還不能把網(wǎng)上書店這個系統(tǒng)較為完善地實現(xiàn)出來,希望以后有機會能夠彌補這個遺憾。能夠順利的完成這次畢業(yè)設計,也得益于指導教師的幫助,在他們的幫助下,通過到網(wǎng)上查資料,借閱圖書等一些途徑,使困難很快的得到解決。短短的兩個月,終于按照設計說明書的要求完成了自己的畢業(yè)設計,由于時間有限、自身知識水平不足,我的設計還難免存在著很多不足的地方,請各位老師給予指正和提出寶貴的建議,我堅信在今后的工作中我會做得更好。參考文獻

[1]

程志艷.JSP實用教程.北京:清華大學出版社,2005.12

[2]

林義證.HTML&ASP網(wǎng)頁制作教程.北京:中國鐵道出版社,2000.5

[3]

王旭川.ASP程序設計入門手冊.成都:西南交通大學出版社,2001.5

[4]

David

Buser,

John

Kauffman.Asp

3.北京:機械工業(yè)出版社,2001.3

[5]

Paul

Whitehead.Active

Server

Pages

3.0.北京:清華大學出版社,2001.4

[6]

曹哲.軟件工程.北京:中國水利水電出版社社,2004.7

[7]

王珊.數(shù)據(jù)庫系統(tǒng)概論.北京:高等教育出版社,2004.6

[8]

趙池龍.實用軟件工程[M].第1版.北京:電子工業(yè)出版社,2006.3

[9]

盤宏華.基于JSP和ACCESS的網(wǎng)上書店設計與實現(xiàn).重慶科技學院學報(自然科學版).2006.3

[10]

孫良軍.

Dreamweaver8網(wǎng)頁設計全方位學習.

北京:中國青年出版社,

2006.5

[11]

何健輝

張珞玲

于芳,鄧曉蓓.

JSP

組件開發(fā)指南.北京:中國電力出版社,2002.4

[12]

黃雷

楊志

游坤等.JSP開發(fā)動態(tài)網(wǎng)站實例薈萃.

北京:機械工業(yè)出版社,2003.6

[13]

石志國

李穎

薛為民.

JSP程序設計.

北京:清華大學出版社,2005.10

[14]

盧鎮(zhèn)波,李青.ASP編程實例入門與提高.北京:電子工業(yè)出版社.2005.10

[15]

趙津燕.

數(shù)據(jù)庫管理與開發(fā)技術(shù).北京:中國水利水電出版社,

2004.2

致謝大學4年的學習生活即將結(jié)束,在這4年的學習生涯中得到了許多人的關(guān)心和幫助,在此,我要衷心感謝所有曾經(jīng)教導過我的老師和關(guān)心過我的同學,他們在我成長的過程中給予了我很大的幫助。經(jīng)過近幾個月的忙碌,本次畢業(yè)設計已經(jīng)接近尾聲,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及同學們的支持,想要完成這個設計是難以想象的。這次做畢業(yè)設計的經(jīng)歷也會使我受益良多,我感受到做畢業(yè)設計是要真真正正用心去做的一件事情,是真正的自己學習的過程和研究的過程,沒有學習就不可能有研究的能力,沒有自己的研究,就不會有所突破。希望這次的經(jīng)歷能讓我在以后學習中激勵我繼續(xù)進步。不積跬步何以至千里。本設計能夠順利的完成,要特別感謝幫助我完成畢業(yè)設計的指導老師黃耀霖的關(guān)懷和教導,他對我的畢業(yè)設計提出了很多的建議,還給我提供了大量的資料。他嚴謹?shù)闹螌W態(tài)度、誨人不倦的教學作風給我留下了深刻的印象。此外還要感謝各位任課老師,正是他們平時的認真負責,使我能夠很好的掌握和運用專業(yè)知識,并在設計中得以體現(xiàn)。正是有了他們的悉心幫助和支持,才使我的畢業(yè)設計工作順利完成,在此向全體老師表示由衷的謝意,感謝他們4年來的辛勤栽培。附錄1.JDK安裝完成之后我們來設置環(huán)境變量:我的電腦點右鍵,選擇“屬性”,選擇“高級”標簽,進入環(huán)境變量設置,分別設置如下三個環(huán)境變量:(1)設置好path變量,使得我們能夠在系統(tǒng)中的任何地方運行java應用程序,比如javac、java、javah等等,這就要找到我們安裝JDK的目錄,比如我們的JDK安裝在C:\jdk1.6.0目錄下,那么在C:\jdk1.6.0\bin目錄下就是我們常用的java應用程序,我們就需要把C:\jdk1.6.0\bin這個目錄加到path環(huán)境變量里面。在系統(tǒng)變量里找到path變量,選擇->編輯;(里面已經(jīng)有很多的變量值,是在變量值的最前面加上C:\jdk1.6.0\bin;)變量名:path變量值:C:\jdk1.6.0\bin;(2)classpath環(huán)境變量,是當我們在開發(fā)java程序時需要引用別人寫好的類時,要讓java解釋器知道到哪里去找這個類。通常,sun為我們提供了一些額外的豐富的類包,一個是dt.jar,一個是tools.jar,這兩個jar包都位于C:\jdk1.6.0\lib目錄下,所以通常我們都會把這兩個jar包加到我們的classpath環(huán)境變量中setclasspath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。在系統(tǒng)環(huán)境變量那一欄中點->新建classpath變量名:classpath變量值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;(注意,CLASSPATH最前面是有個“.”的,表示當前目錄,這樣當我們運行javaAClass的時候,系統(tǒng)就會先在當前目錄尋找AClass文件了。);(3)設置JAVA_HOME:一是為了方便引用,比如,JDK安裝在C:\jdk1.6.0目錄里,則設置JAVA_HOME為該目錄路徑,那么以后要使用這個路徑的時候,只需輸入%JAVA_HOME%即可,避免每次引用都輸入很長的路徑串;二則是歸一原則,當JDK路徑改變的時候,僅需更改JAVA_HOME的變量值即可,否則,就要更改任何用絕對路徑引用JDK目錄的文檔,要是萬一沒有改全,某個程序找不到JDK,后果是可想而知的系統(tǒng)崩潰!三則是第三方軟件會引用約定好的JAVA_HOME變量,不然,你不能正常使用該軟件.在系統(tǒng)環(huán)境變量那一欄中點->新建JAVA_HOME(JAVA_HOME指向的是JDK的安裝路徑)變量名:JAVA_HOME變量值:C:\jdk1.6.02.數(shù)據(jù)庫腳本創(chuàng)建數(shù)據(jù)表的腳本代碼如下:createtableMy_Book( --創(chuàng)建圖書信息表 Id[INT]IDENTITY(1,1)NOTNULL, --編號ID BookNamevarchar(40)NOTNULL, --書名 BookClassintnotnull, --圖書類別 Authorvarchar(25)NULL, --作者 Publishvarchar(150)NULL, --出版社 BookNovarchar(30)NULL, --書號 Contentvarchar(4000)NULL, --內(nèi)容介紹 Prince floatNULL, --書價 AmountintNULL, --總數(shù)量 Leav_numberintNULL, --剩余數(shù)量 RegTimedatetimeNOTNULl --登記時間 ); altertableMy_Book --設定Id為主鍵addprimarykey(Id);createtableMy_BookClass( --創(chuàng)建圖書類別表 Id[int]IDENTITY(1,1)NotNullprimarykey, --圖書類別ID ClassName[varchar](30)notnull --圖書類別名 );createtableMy_BookAdminuser( --創(chuàng)建管理員表 AdminUser[varchar](20), --管理員用戶名 AdminPass[varchar](50) --管理員密碼 );insertintoMy_BookAdminuservalues('admin','admin'); --初始化管理員用戶createtableMy_Users( --購書用戶表 Id[int]IDENTITY(1,1)notnull, --ID序列號 UserNamevarchar(20)notnull, --購物用戶名 [PassWord]varchar(50)notnull, --用戶密碼 Namesvarchar(20), --用戶聯(lián)系用姓名 Sexvarchar(2), --用戶性別 Addressvarchar(150), --用戶聯(lián)系地址 Phonevarchar(25), --用戶聯(lián)系電話 Postvarchar(8), --用戶聯(lián)系郵編 Emailvarchar(50), --用戶電子郵件 RegTime DateTime, --用戶注冊時間 RegIpAddressvarchar(20) --用戶注冊時IP地址 );altertableMy_Users --設定Id為主鍵addprimarykey(Id);createtableMy_Indent( --創(chuàng)建用戶-訂單表 Id[int]IDENTITY(1,1)notnull, --ID序列號 IndentNovarchar(20)notnull, --訂單編號 UserId[int]notnull, --用戶序列號 SubmitTimedatetimenotnull, --提交訂單時間 ConsignmentTimevarchar(20), --交貨時間 TotalPricefloat, --總金額 contentvarchar(400), --用戶備注 IPAddressvarchar(20), --下單時IP IsPayoff[int]null, --用戶是否已付款 IsSales[int]null --是否已發(fā)貨 );altertableMy_Indent --設定Id為主鍵值addprimarykey(Id);createtableMy_IndentList( --創(chuàng)建圖書-訂單表 IdintIDENTITY(1,1)notnull, --ID序列號 IndentNo[int]notnull, --訂單號表序列號 BookNo[int]notnull, --圖書表序列號 Amount[int] --訂貨數(shù)量);altertableMy_IndentList --設定Id為主鍵addprimarykey(Id);3.部分代碼(1)通用模塊在和數(shù)據(jù)庫進行交互之前首先要建立數(shù)據(jù)庫連接。在連接數(shù)據(jù)庫時,需要加載驅(qū)動程序,創(chuàng)建連接等操作。這里將連接數(shù)據(jù)庫的這些操作封裝成一個類DBCnnectionManger.java,當需要更換,移植數(shù)據(jù)庫時,只需要修改這個類即可,這樣可以大大減少移植數(shù)據(jù)庫的工作量。DBCnnectionManger.java代碼如下:packageorg.pan.util;importjava.sql.*;publicclassDBConnectionManager{privateStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";//加載驅(qū)動程序privateStringurl="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=dbhouse";//設置數(shù)據(jù)庫連接串privateStringuser="sa";//數(shù)據(jù)庫登錄用戶名privateStringpassword="";//數(shù)據(jù)庫登錄密碼publicvoidsetDriverName(StringnewDriverName){driverName=newDriverName;}publicStringgetDriverName(){returndriverName;}publicvoidsetUrl(StringnewUrl){url=newUrl;}publicStringgetUrl(){returnurl;}publicvoidsetUser(StringnewUser){user=newUser;}publicStringgetUser(){returnuser;}publicvoidsetPassword(StringnewPassword){password=newPassword;}publicStringgetPassword(){returnpassword;}publicConnectiongetConnection(){try{Class.forName(driverName);returnDriverManager.getConnection(url,user,password);}catch(Exceptione){e.printStackTrace();returnnull;}}publicstaticvoidmain(String[]args){try{

溫馨提示

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

評論

0/150

提交評論