版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2014/5/15,1,畢業(yè)設(shè)計(論文),,,,姓名:李迪迪班級:計算機網(wǎng)絡(luò)學號:1101020105指導老師:周士印,2014/5/15,2,[摘要]當前,在全球范圍內(nèi),電子商務(wù)網(wǎng)站正在以前所未有的速度迅猛發(fā)展,不僅改變著傳統(tǒng)的社會生產(chǎn)方式,而且對經(jīng)濟結(jié)構(gòu)的調(diào)整產(chǎn)生了極為深刻的影響,成為經(jīng)濟新的增長點。電子商務(wù)網(wǎng)不僅是經(jīng)濟全球化的重要表現(xiàn)形式之一,而且已經(jīng)成為傳統(tǒng)產(chǎn)業(yè)變革和企業(yè)技術(shù)跨越的關(guān)鍵推動力。電子商務(wù)形式的網(wǎng)上商店具有高效
2、、快捷,信息暢通的特點,還可以很大程度上降低銷售成本。因此設(shè)計制作電子商務(wù)網(wǎng)站是現(xiàn)在網(wǎng)絡(luò)設(shè)計中必不可少的部分。本文著重論述了電子商務(wù)網(wǎng)站的實現(xiàn)與設(shè)計過程。在系統(tǒng)的設(shè)計與開發(fā)過程中嚴格遵守軟件工程的規(guī)范,詳細得從經(jīng)濟技術(shù)以及操作方面進行了可行性分析,并且運用軟件設(shè)計模式,從而減少系統(tǒng)模塊間的偶合,力求做到系統(tǒng)的穩(wěn)定性、可重用性和可擴充性。針對要設(shè)計的電子商城網(wǎng)站的購物車模塊,基于ASP.NET框架,后臺運用SQL SERVER 2005
3、數(shù)據(jù)庫。[關(guān)鍵詞] 電子商務(wù)網(wǎng)站 ASP.NET SQL SERVER 2005數(shù)據(jù)庫 電子商城,2014/5/15,3,目 錄第1章 緒論11.1課題研究的背景11.2 電子商務(wù)網(wǎng)站的發(fā)展現(xiàn)狀及設(shè)計意義11.3 研究內(nèi)容和結(jié)構(gòu)安排2第2章 系統(tǒng)開發(fā)工具概述42.1 系統(tǒng)設(shè)計可行性分析42.1.1 ASP.NET的新特性 42.1.2 ASP.NET開發(fā)和運行平臺 52.2 SQL SERVE
4、R 2005數(shù)據(jù)庫概述52.3 Dream weaver 6第3章 系統(tǒng)具體設(shè)計過程73.1 總體結(jié)構(gòu)設(shè)計73.2 模塊功能設(shè)計73.2.1 銷售模塊73.2.2 系統(tǒng)管理模塊93.3 數(shù)據(jù)庫設(shè)計93.3.1 概念結(jié)構(gòu)設(shè)計103.3.2 邏輯結(jié)構(gòu)設(shè)計113.3.3 數(shù)據(jù)表詳細設(shè)計12,2014/5/15,4,第4章 電子商務(wù)網(wǎng)站具體頁面設(shè)計實現(xiàn)154.1 系統(tǒng)公共類的實現(xiàn)154.1.1 數(shù)
5、據(jù)庫操作類的實現(xiàn)154.1.2 購物車類的實現(xiàn)164.2 網(wǎng)站主頁的實現(xiàn)184.3 銷售模塊的實現(xiàn)204.3.1 銷售模塊基本框架的實現(xiàn)204.3.2 銷售模塊特價商品功能的實現(xiàn)214.3.3 銷售模塊購物車功能的實現(xiàn)224.4 系統(tǒng)管理模塊的實現(xiàn)234.4.1 系統(tǒng)登錄功能的實現(xiàn)244.4.2 商品管理功能的實現(xiàn)244.4.3 會員管理功能的實現(xiàn)254.5 實現(xiàn)效果評價26結(jié)論28致
6、謝29,2014/5/15,5,,第1章 緒論1.1課題研究的背景 當前,在全球范圍內(nèi),電子商城網(wǎng)站正在以前所未有的速度迅猛發(fā)展,不僅改變著傳統(tǒng)的社會生產(chǎn)方式,而且對經(jīng)濟結(jié)構(gòu)的調(diào)整產(chǎn)生了極為深刻的影響,成為經(jīng)濟新的增長點。電子商城網(wǎng)不僅是經(jīng)濟全球化的重要表現(xiàn)形式之一,而且已經(jīng)成為傳統(tǒng)產(chǎn)業(yè)變革和企業(yè)技術(shù)跨越的關(guān)鍵推動力。 電子商務(wù)被看作是一種現(xiàn)代化的商業(yè)和行政作業(yè)方法,這種方法改善產(chǎn)品和服務(wù)質(zhì)量、提高
7、服務(wù)傳遞速度,實現(xiàn)跨領(lǐng)域商業(yè)活動,滿足政府組織、廠商和消費者降低成本的需求,通過計算機網(wǎng)絡(luò)加快信息交流以支持決策。電子商務(wù)的內(nèi)涵和外延也在不斷充實和擴展。近年來,世界范圍內(nèi)Internet/Intranet網(wǎng)絡(luò)環(huán)境的基本形成,使得基于Internet環(huán)境的系統(tǒng)的設(shè)計與開發(fā)成為重要方向,特別是B/S結(jié)構(gòu)的應(yīng)用越來越廣泛。1.2 電子商務(wù)網(wǎng)站的發(fā)展現(xiàn)狀及設(shè)計意義 隨著中國市場經(jīng)濟的日趨成熟和計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,人們
8、對信息的獲知程度和廣度都提出了更高的要求。網(wǎng)上購物這種新的商業(yè)運營模式就被越來越多的商家運用到競爭中去,并得到了大多數(shù)客戶的認可,這種基于瀏覽器、服務(wù)器實現(xiàn)的購物方式已經(jīng)初具規(guī)模,一些在線購物網(wǎng)站的成立,改變了人們已往傳統(tǒng)的購物觀念。,,2014/5/15,6,圖1.1是根據(jù)CNNIC(中國互聯(lián)網(wǎng)絡(luò)信息中心)公布的中國B2C電子商務(wù)發(fā)展報告來進一步分析目前的網(wǎng)上購物的現(xiàn)狀(主要引用其中的關(guān)于進行網(wǎng)絡(luò)購物原因的分析圖表)。,從圖1.1可以
9、看出網(wǎng)上購物選擇節(jié)約時間和操作方便的分別占46.7%和44.2%,這說明隨著生活節(jié)奏的加快,人們越來越希望擁有簡單快捷的購物方式。因此,一個允許買家在家里就可以瀏覽商家發(fā)布的所有商品信息的在線購物系統(tǒng)將大大減輕商家的工作量、降低投資成本。本系統(tǒng)是結(jié)合當前傳統(tǒng)購物方式消耗大量人力物力的弊端、以當前市場上已經(jīng)存在的B2C、C2C等在線購物網(wǎng)站為模型,開發(fā)出適合于大部分中小型企業(yè)以及個體用戶的網(wǎng)上購物系統(tǒng)。,,2014/5/15,7,1.3
10、 研究內(nèi)容和結(jié)構(gòu)安排 本系統(tǒng)是在大學期間學習數(shù)據(jù)庫相關(guān)知識的基礎(chǔ)上,熟悉Visual Studio 2005開發(fā)環(huán)境并能熟練使用C#編程語言的同時,運用軟件工程理論知識,開發(fā)出的一套基于ASP.NET的在線購物系統(tǒng)。在系統(tǒng)開發(fā)的過程中能夠應(yīng)用所學的知識,并促進作者更深入的學習C#的相關(guān)特性、積累更多SQL Server 2005的相關(guān)應(yīng)用知識,這樣不僅能將所學的書面知識和實際應(yīng)用結(jié)合起來達到學以致用的目的,同時也為以后的
11、工作和學習積累經(jīng)驗。本網(wǎng)站主要實現(xiàn)如下內(nèi)容:(1)客戶的注冊與登錄;(2)商品信息的管理(商品的添加,刪除和修改)與瀏覽;(3)訂單的管理(下訂單,訂單修改,訂單刪除,訂單確認及查看以往訂單)(4) 會員信息的管理(會員信息的添加,修改和刪除)本文的結(jié)構(gòu)安排如下:,,2014/5/15,8,第1章 引言——主要闡述了課題的研究背景及意義,目前的研究的基本概況,并介紹了本文的研究內(nèi)容及結(jié)構(gòu)安排。第2章 系統(tǒng)方案分析和設(shè)計——
12、介紹了電子商務(wù)網(wǎng)站的基本方案設(shè)計和具體情況分析。第3章 開發(fā)工具介紹——本章首先介紹了ASP.NET技術(shù),接著對SQL SERVER 2005數(shù)據(jù)庫進行了相關(guān)介紹,之后對系統(tǒng)的運行環(huán)境TOMCAT和JDK做了簡單的介紹。第4章 系統(tǒng)的總體設(shè)計——在對系統(tǒng)進行架構(gòu)設(shè)計后,本章首先對系統(tǒng)流程進行了詳細設(shè)計,最后對數(shù)據(jù)庫進行了概念設(shè)計和邏輯設(shè)計。第5章 系統(tǒng)的具體實現(xiàn)最后總結(jié)與展望——總結(jié)了本文的主要工作,并對進一步的研究工作進行了展
13、望。,2014/5/15,9,第2章 系統(tǒng)開發(fā)工具概述 本網(wǎng)站是基于ASP.NET的設(shè)計方案,使用 SQL Server 2005作為數(shù)據(jù)庫。使用JDBC與數(shù)據(jù)庫進行交互,表示層由ASP.NET實現(xiàn)來開發(fā)的電子商務(wù)網(wǎng)站。其開發(fā)工具為Visual Studio 2005,Dreamweaver MX 2004和Fireworks MX 2004,運行和調(diào)試環(huán)境為IIS6.0。下面就相關(guān)技術(shù),工具,運行環(huán)境做簡單介紹。2.1
14、 ASP.NET技術(shù)簡介2.1.1 ASP.NET的新特性ASP.NET是微軟.NET技術(shù)中最引人注目的網(wǎng)站開發(fā)工具,它的推出和使用將對開發(fā)優(yōu)質(zhì)網(wǎng)站提供廣泛的技術(shù)支持。它是一個建立服務(wù)器端Web應(yīng)用程序的框架。ASP.NET是ASP的后繼版本,它向前兼容ASP,但它又不僅僅是ASP的簡單升級。 ASP.NET和ASP相比具有許多優(yōu)勢。 (1)語言獨立性,它支持功能強大的Visual Basic.NET、C#, JavaScript
15、仍可用,凡是可以編譯成MISL(Microsoft Intermediate Language,是介于程序語言和機器碼之間的一種語言,具有和程序語言無關(guān)的特性)的程序語言ASP.NET都支,,2014/5/15,10,持,ASP.NET為Web應(yīng)用程序提供了一個真正的中間語言的執(zhí)行框架。ASP缺省只支持JScript和VBScript,若要使用其他腳本語言,必須安裝相應(yīng)的腳本引擎。(2)代碼更易于編寫、結(jié)構(gòu)更清晰,程序代碼與用戶界面接
16、口徹底分開,使程序的可讀性更強。在ASP中,幾乎必須為每件事情寫代碼,而且將代碼、HTML、文本、對象說明等混在一起,很難重復(fù)使用這些代碼。而在ASP.NET中引入了一種真正的組件模式,只需寫很少的代碼,并且在很多情況下,可以完全不寫任何代碼。(3)執(zhí)行效率更高。ASP.NET是由支持它的服務(wù)器上的.NET Framework負責編譯執(zhí)行,當服務(wù)器接收到一個ASP.NET頁面時,如果這是對該頁面創(chuàng)建或修改后的第一次請求,.NET Fr
17、amework就會把該頁面中的程序語言內(nèi)容先編譯成MSIL,ASP.NET的執(zhí)行代碼以獨立線程的方式一直存在于服務(wù)器內(nèi)存中。以后對ASP.NET頁面提出請求時,不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重啟動(見圖1.3)。而ASP是解釋性腳本語言,每次都需要重新編譯。,2014/5/15,11,圖1.3 ASP.NET網(wǎng)頁運行模式整體比較如下:ASP.NET網(wǎng)頁第二次被瀏覽速度>ASP網(wǎng)頁瀏覽速度>ASP.NET
18、網(wǎng)頁第一次被瀏覽速度。ASP.NET還有網(wǎng)頁服務(wù)結(jié)構(gòu)不同、數(shù)據(jù)處理模式的不同、簡化組件部署和組態(tài)的操作、 更強的安全機制、調(diào)試較為便利等諸多優(yōu)點。通過上面的比較分析可以看出,ASP.NET的性能在許多方面要遠遠超越了ASP,利用ASP.NET技術(shù)實現(xiàn)一個交互式的動態(tài)Web頁是比較簡單。而且隨著.NET技術(shù)的日益成熟,相信ASP.NET的應(yīng)用會越來越普及。,2014/5/15,12,2.1.2 ASP.NET開發(fā)和運行平臺
19、 如果只運行ASP.NET應(yīng)用程序,可以安裝.NET Framework Redist軟件包。如果要開發(fā)、部署和運行ASP.NET應(yīng)用程序,需要安裝.NET ASP.NET Premium Edition、.NET Framework SDK或者Visual Studio.NET中的任何一個。 .NET Framework SDK Beta 2支持以下操作系統(tǒng):Window XP、Windows 2000、Windo
20、ws NT4(帶Service Pack 6a),并要求Internet Explorer版本在5.01或5.01以上。要求系統(tǒng)安裝Microsoft Data Access Component 2.6,推薦安裝2.7版本ASP.NET還需要IIS 5.0或IIS 4.0(帶 NT4 Service Pack 6a)。IIS已集成在NT/Windows 2000操作系統(tǒng)中,一般不必另外安裝。2.2 SQL SERVER 2005數(shù)據(jù)庫
21、概述 SQL Server 2005是Microsoft公司推出的大型數(shù)據(jù)庫管理系統(tǒng),它建立在成熟而強大的關(guān)系型基礎(chǔ)上,可以很好的支持客戶機/服務(wù)器網(wǎng)絡(luò)模式,能夠滿足各種類型的企事業(yè)單位對構(gòu)建網(wǎng)絡(luò)數(shù)據(jù)庫的需求。它具有易用性、可擴展性、可靠性等特點,是目前使用最為廣泛、普及率最高的數(shù)據(jù)庫管理系統(tǒng)之一。,,2014/5/15,13,在高性能和企業(yè)級可伸縮性領(lǐng)域,SQL Server 2005 設(shè)計成利用 Windows 20
22、05 對更多處理器、更大的系統(tǒng)內(nèi)存的支持,最終達到支持 64 位硬件平臺。在不斷提升可用性的努力過程中,SQL Server 2005 采用 Windows 2005 四路群集,提供了大大改進的群集支持。SQL Server 7.0 已經(jīng)在可管理性和易用性方面在行業(yè)內(nèi)領(lǐng)先,SQL Server 2005 通過與 Windows 2005 活動目錄緊密結(jié)合進一步改進了這些功能。而且,SQL Server 2005 還包含對現(xiàn)有管理工具和實
23、用程序的重大改進,并引入更具自我調(diào)節(jié)和自我管理的引擎功能。 SQL Server 2005 按照設(shè)計可以為部署和維護強大的、易于管理、支持商務(wù)活動的 Web 站點提供最好的性能,這些站點可以從事商家和商家之間或商家與客戶之間的交易。在尋求一個支持您的電子商務(wù)解決方案的數(shù)據(jù)庫時,需要考慮的項目包括:可用性、性能、可管理性和價格。,2014/5/15,14,2.3 Dream weaver Dream wea
24、ver是MICROSOFT公司推出的網(wǎng)頁制作工具,它功能強大、操作方便,易學易用,是目前最為流行的網(wǎng)頁制作與站點管理工具。Dream weaver MX不僅保持了開發(fā)過程輕松及頁面效果完美的制作風格,且工作界面清新自然,并對相關(guān)面板、圖標等進行歸整,使用戶用起來更為順手,開發(fā)更為簡便。Dream weaver MX是功能更強大的用于可視化設(shè)計與管理網(wǎng)頁和網(wǎng)站的專業(yè)級HTML編輯器。無論是在可視化編輯環(huán)境中進行開發(fā),還是習慣于書寫HTML
25、代碼,Dream weaver MX都能令用戶很快上手,并且提供實用的工具來增加他們的網(wǎng)頁設(shè)計經(jīng)驗,使他們在網(wǎng)頁設(shè)計中更加得心應(yīng)手。 Dream weaver MX的可視化不只是體現(xiàn)在其靈活的界面和直觀的開發(fā)環(huán)境上,面板的組合、行為、樣式表、時間軸,以及定制并拓展Dream weaver 等強大的編輯的功能與完美的擴展性都是同類其他軟件所不可比擬的。Dream weaver 是一個很酷的網(wǎng)頁設(shè)計軟件,它包括可視化編輯、HTML代
26、碼編輯的軟件包,并支持ActiveX、JavaScript、Java、Flash、Shock Wave等特性,而且它還能通過拖拽從頭到尾制作動態(tài)的HTML動畫,支持動態(tài)HTML(Dynamic HTML)的設(shè)計,使得頁面沒有plug-in也能夠在Netscape和IE 4.0瀏覽器中正確地顯示頁面的動畫。同時它還提供了自動更新頁面信息的功能。它采用圖形化的界面以及“所見即所得(WYSIWYG)”的方式編寫網(wǎng)頁,大大提高了專業(yè)網(wǎng)頁制作人員
27、的工作效率,使得開發(fā)WEB更加輕松自如。,,2014/5/15,15,第3章 系統(tǒng)具體設(shè)計過程 本章節(jié)的總體目標是將上一章節(jié)需求分析階段得到的目標系統(tǒng)的邏輯模型,變換為目標系統(tǒng)的物理模型,具體將從系統(tǒng)的結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫的設(shè)計兩方面進行講解。簡單的說就是根據(jù)上一章節(jié)中需求分析的”做什么”,確定系統(tǒng)應(yīng)該”怎么做”。3.1 總體結(jié)構(gòu)設(shè)計 系統(tǒng)結(jié)構(gòu)和功能是系統(tǒng)設(shè)計的核心部分,通過系統(tǒng)結(jié)構(gòu)圖可以清楚的看出整個系統(tǒng)
28、的結(jié)構(gòu)。針對每個結(jié)構(gòu)模塊分別做分析,為以后的設(shè)計和實現(xiàn)打下基礎(chǔ)。根據(jù)功能需求,本系統(tǒng)總體上分銷售模塊和系統(tǒng)管理模塊,銷售模塊功能供購買者使用,系統(tǒng)管理模塊功能供商家管理員使用。系統(tǒng)總體結(jié)構(gòu)如圖3.1所示。,,2014/5/15,16,3.2 模塊功能設(shè)計 本系統(tǒng)分銷售模塊和系統(tǒng)管理模塊,每個模塊又有若干個子模塊構(gòu)成,其中銷售模塊主要包括:商品展臺、購物車、會員管理、新聞管理、注銷登錄等子模塊。系統(tǒng)管理模塊主要包括:商品管
29、理、訂單管理、會員管理、新聞管理、注銷登錄等子模塊。具體的模塊功能設(shè)計如下。3.2.1 銷售模塊 系統(tǒng)銷售模塊主要讓商品購買者使用,可以進行各類商品信息的瀏覽和訂購功能,系統(tǒng)銷售模塊的結(jié)構(gòu)如圖3.2所示。,,2014/5/15,17,系統(tǒng)銷售模塊具體功能設(shè)計如下:1、商品展示功能:包括新上架商品展示、特價商品展示、銷售排行榜、分類商品信息展示和被選定的商品詳細信息展示。每類商品都是根據(jù)數(shù)據(jù)庫中商品信息表中的特定字段進
30、行劃分的,如特價商品是根據(jù)降價幅度是否大于百分之二十、新品是根據(jù)上架時間是否在三天或一周之內(nèi)、排行榜是根據(jù)購物者下訂單的多少。購物者可通過此模塊實現(xiàn)瀏覽商品信息的目的。2、購物車功能:包括選定商品至購物車,查看、清空購物車;在購買者提交購物車(提交訂單)之前,所有已選定的商品信息是存放在購物車實現(xiàn)類文件的DataSet數(shù)據(jù)集中。當提交購物車之后,該數(shù)據(jù)集中的信息就被寫入數(shù)據(jù)庫。在用戶未登陸之前,不能夠使用購物車提交功能,如果選擇了購物
31、,那么系統(tǒng)會提示用戶登錄。3、會員管理功能:包括了注冊、登錄、索回密碼等功能。對于注冊功能,需要用戶輸入的信息取決于數(shù)據(jù)庫中會員信息數(shù)據(jù)表中的字段;并通過各類型的驗證控件實現(xiàn)校驗。登錄和索回密碼功能所需的數(shù)據(jù)也是從會員信息數(shù)據(jù)表中得到。4、新聞管理功能:將數(shù)據(jù)庫中的新聞信息數(shù)據(jù)表中的信息動態(tài)綁定至網(wǎng)站首頁,同時允許用戶單擊了某條特定的新聞標題后查看相應(yīng)新聞的詳細信息。5、注銷登錄功能:保證在注冊會員注銷后清空其登錄時候保持的信息,
32、如會話信息、購物車信息等。,2014/5/15,18,3.2.2 系統(tǒng)管理模塊系統(tǒng)管理模塊的功能由發(fā)布商品的商家使用,可以進行注冊會員、商品信息、訂單、動態(tài)新聞、在線調(diào)查等內(nèi)容的管理,系統(tǒng)管理模塊的結(jié)構(gòu)如圖3-3所示。,,2014/5/15,19,系統(tǒng)管理模塊具體功能設(shè)計如下:1、商品管理功能:具體包括對商品信息進行添加、編輯、刪除等操作。對于新上架的商品,可以上傳圖片供購買者查看;對于已錄入數(shù)據(jù)庫的商品信息,可進行編輯和刪除等操作
33、。2、訂單管理功能:具體包括對訂單信息進行查看、執(zhí)行等操作。3、會員管理功能:具體包括對已注冊會員信息進行編輯、刪除等操作,同時可手動添加會員信息。4、新聞管理功能:可實現(xiàn)對新聞的增加、刪除、編輯等功能。5、注銷登錄功能:可實現(xiàn)讓商家管理員退出后刪除所有登錄期間存儲的信息,如Session信息。3.3 數(shù)據(jù)庫設(shè)計系統(tǒng)分析結(jié)束后進入設(shè)計階段,抽象地分析數(shù)據(jù),理解數(shù)據(jù)之間的關(guān)系,建立E-R模型,然后對數(shù)據(jù)庫進行概念結(jié)構(gòu)設(shè)計和邏輯
34、結(jié)構(gòu)設(shè)計。由于SQL Server 2000能夠以極高的效率完成各種數(shù)據(jù)庫查詢,并能方便的使用存儲過程,同時它的圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。另外由于對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。所以本系統(tǒng)采用了SQL Server 2000進行數(shù)據(jù)庫的存儲管理與維護。,2014/5/15,20,3.3.1 概念結(jié)構(gòu)設(shè)計將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念結(jié)構(gòu)設(shè)計,這一步是數(shù)
35、據(jù)庫設(shè)計的關(guān)鍵。一般采用自底向上的方法進行數(shù)據(jù)抽象和結(jié)構(gòu)設(shè)計。在本系統(tǒng)中涉及到的實體如下所示:1. 管理員(管理員ID、登錄賬號、登錄密碼、權(quán)限級別)2. 會員(會員ID、登錄名、真實姓名、登錄密碼、所在城市、住址、郵政編碼、證件號碼、證件類型、電話號碼、手機號碼、郵箱、密碼提示問題、問題答案) 3. 商品(商品ID,所屬類別、商品名、商品介紹、單位,原價、現(xiàn)價、市場價格、購買次數(shù)、庫存、圖片、輸入時間、最近更新時間、是否新品)
36、4. 訂單(訂單ID、訂單下達者、付款方式、送貨方式、訂單下達日期、執(zhí)行狀態(tài)、訂單描述) 5. 新聞(新聞ID、新聞標題、新聞內(nèi)容、錄入時間)6. 在線調(diào)查(投票ID、投票標題、投票起止日期、A答案及其選票數(shù))7. 訂單明細信息(訂單詳細信息ID,所屬的訂單號,對應(yīng)的商品ID,對應(yīng)商品價格、對應(yīng)商品數(shù)量) 8. 商品大類信息(商品大類ID,商品大類名稱)9. 商品小類信息(商品小類ID,商品小類名稱,所屬商品大類ID),,20
37、14/5/15,21,在該系統(tǒng)中,各個實體的關(guān)系為:一個管理員可同時管理會員、商品、訂單、新聞、在線調(diào)查、商品類別等多個實體對象,并且它們之間都是一對多的關(guān)系;一個會員實體可以下達多條訂單信息實體,而一條訂單信息又可對應(yīng)多條訂單明細信息實體;一條訂單明細包括一個商品實體;一個商品大類信息擁有若干商品小類信息實體,而一個商品小類實體信息又擁有多個商品實體。各個實體之間的關(guān)系如圖3.4所示。,2014/5/15,22,3.3.2 邏輯結(jié)構(gòu)設(shè)
38、計系統(tǒng)數(shù)據(jù)庫設(shè)計的優(yōu)劣直接影響到以后網(wǎng)站與數(shù)據(jù)連接的速度和更新查詢的復(fù)雜度。本節(jié)介紹本系統(tǒng)基于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫總體結(jié)構(gòu)設(shè)計及數(shù)據(jù)表的設(shè)計。本系統(tǒng)的數(shù)據(jù)庫設(shè)計是在系統(tǒng)功能分析后,依據(jù)系統(tǒng)的需求目標而做出的設(shè)計。本系統(tǒng)為基于ASP.NET的在線購物系統(tǒng),所以最重要的數(shù)據(jù)表就是存放商品詳細信息數(shù)據(jù)表、注冊會員信息表、商品類別信息表、訂單信息表等,表3.1為本系統(tǒng)所涉及到的數(shù)據(jù)表。,表3.1 數(shù)據(jù)表列表,,2014/5/15,23,3.3
39、.3 數(shù)據(jù)表詳細設(shè)計各個數(shù)據(jù)表之間主鍵和外鍵之間存在某種關(guān)系,他們的對應(yīng)關(guān)系一般是商品ID、會員ID、類別ID、訂單ID、管理員ID等各個元素的主鍵相鏈接的,關(guān)系圖如圖3.5所示。,圖3.5數(shù)據(jù)關(guān)系圖,,2014/5/15,24,本系統(tǒng)中共涉及以商品信息表和商品類別表為中心的9張數(shù)據(jù)關(guān)系表。下面列出了本數(shù)據(jù)庫中主要涉及到的數(shù)據(jù)表:1. 商品信息數(shù)據(jù)表(My_Goods):該表中存放系統(tǒng)銷售模塊商品的所有信息,該表字段及其類型定義如表
40、3.2所示。,表3.2 商品信息表(My_Goods),2014/5/15,25,2. 會員信息數(shù)據(jù)表(My_Member):該表中存放在系統(tǒng)中注冊的會員的所有信息,該表字段及其類型定義如表3.3所示。表3.3 會員信息表(My_Member),,2014/5/15,26,3. 管理員信息數(shù)據(jù)表(My_Manager):該表中存放在系統(tǒng)管理模塊中合法管理員的所有信息,該表字段及其類型定義如表3-4所示。
41、 表3.4 管理員信息表(My_Manager),2014/5/15,27,4. 商品大類信息數(shù)據(jù)表(My_SuperType):該表中存放將商品按類別劃分之后,商品大類的所有信息,該表字段及其類型定義如表3.5所示。表3.5 商品大類信息表(My_SuperType),其中商品小類信息數(shù)據(jù)表(My_SubType)、訂單信息數(shù)據(jù)表(My_Order)、訂單詳細信息數(shù)據(jù)表(My_Order_Details)、 投票
42、信息數(shù)據(jù)表(My_Vote)、新聞信息數(shù)據(jù)表(My_BBS)等由于篇幅原因就不一一介紹。,2014/5/15,28,第4章 電子商務(wù)網(wǎng)站具體頁面設(shè)計實現(xiàn) 總體設(shè)計階段完成了軟件的結(jié)構(gòu)設(shè)計,劃分了模塊,并規(guī)定了各個模塊的功能及他們之間的聯(lián)系。在此之后,按軟件開發(fā)工程化的觀點,應(yīng)進入系統(tǒng)的詳細設(shè)計階段,即系統(tǒng)實現(xiàn)。該階段的根本目標是確定應(yīng)該怎樣實現(xiàn)所要求的系統(tǒng),給出軟件模塊結(jié)構(gòu)中各個模塊的內(nèi)部過程描述。本章將分模塊對系統(tǒng)的實
43、現(xiàn)給予介紹。4.1 系統(tǒng)公共類的實現(xiàn)本節(jié)介紹系統(tǒng)使用的公共類,如數(shù)據(jù)庫訪問通用類(用于返回數(shù)據(jù)集、對象、受影響行數(shù)等)、用于完成購物功能的類等。編寫公共類可以在其他頁面中直接調(diào)用公共類的方法、屬性,避免重復(fù)代碼的編寫,有利于系統(tǒng)代碼的維護和日后系統(tǒng)的升級。4.1.1 數(shù)據(jù)庫操作類的實現(xiàn)數(shù)據(jù)庫操作類用于根據(jù)系統(tǒng)功能的要求返回一個數(shù)據(jù)集、一個object對象(即:返回首行首列)、受影響行數(shù)(適合于對數(shù)據(jù)庫的增刪改操作)、SqlD
44、ataReader等。實現(xiàn)這些功能的是四個靜態(tài)函數(shù),其中每個靜態(tài)函數(shù)又根據(jù)是否傳入SqlParameter參數(shù)進行了重載。由于它們都是靜態(tài)函數(shù),而靜態(tài)函數(shù)成員不能作用于具體的實例,所以在調(diào)用這些方法的時候可以直接用類名加函數(shù)名即可。下面僅列出返回數(shù)據(jù)集方法的實現(xiàn)算法,其他方法的實現(xiàn)邏輯大致相同:,,2014/5/15,29,public class DataBase{聲明一個數(shù)據(jù)庫連接對象 dbStrCon; public
45、static DataSet ReDataSet(傳入的Sql語句參數(shù) FillSql, 傳入的Sql參數(shù)列表 commandParameters) {利用在web.config配置文件中定義的全局變量為dbStrCon新分配一個數(shù)據(jù)庫連接對象; if(數(shù)據(jù)庫連接處于關(guān)閉狀態(tài)){打開數(shù)據(jù)庫連接dbStrCon;},2014/5/15,30,聲明一個數(shù)據(jù)庫命令對象 cmd ;指定cmd的數(shù)據(jù)庫連接對象為
46、dbStrCon,命令文本為FillSql,命令類型為文本型; if (commandParameters 不為空) { foreach (聲明一個臨時Sql參數(shù) in commandParameters){ 為Sql命令對象添加commandParameters中的所有Sql參數(shù)} } 聲明一個Sql數(shù)據(jù)適配器ada,并指定其Sql命
47、令為cmd; 聲明一個DataSet數(shù)據(jù)集 dsResul; 利用數(shù)據(jù)適配器ada填充數(shù)據(jù)集 dsResul 清空Sql命令cmd里面的所有Sql參數(shù); if(數(shù)據(jù)庫連接處于打開狀態(tài)){關(guān)閉數(shù)據(jù)庫連接dbStrCon;} 返回執(zhí)行查詢后的數(shù)據(jù)集 dsResult;},2014/5/15,31,public static DataSet ReDataSet(傳入的Sq
48、l語句參數(shù) FillSql) {為dbStrCon新分配一個數(shù)據(jù)庫連接對象; if(數(shù)據(jù)庫連接處于關(guān)閉狀態(tài)){打開數(shù)據(jù)庫連接dbStrCon;} 聲明一個數(shù)據(jù)適配器ada,并指定其Sql語句為FillSql,數(shù)據(jù)庫連接對象為dbStrCon; 聲明一個DataSet數(shù)據(jù)集 dsResul; 利用數(shù)據(jù)適配器ada填充數(shù)據(jù)集 dsResul if(數(shù)據(jù)庫連接處于
49、打開狀態(tài)){關(guān)閉數(shù)據(jù)庫連接dbStrCon;} 返回執(zhí)行查詢后的數(shù)據(jù)集 dsResult;}},2014/5/15,32,4.1.2 購物車類的實現(xiàn) 在線購物網(wǎng)站中購買者可以在不同的頁面進行購物,而在不同頁面所選購的貨物最終都是放到同一個購物車里。所以要編寫一個購物車類進行處理用戶的購物過程,這樣可以節(jié)省不必要的重復(fù)編寫代碼的時間,有利于維護和功能上的擴充。當用戶在購物頁面點擊了”購買”按鈕之后
50、,將該商品的ID傳入類中進行處理,根據(jù)用戶單擊的次數(shù)和商品的ID確定要購買的數(shù)量和商品,同樣可以直接在購物車頁面中編輯所需貨物的數(shù)量。系統(tǒng)將這些信息使用Hashtable類進行存儲,在用戶提交購物車信息之前,Hashtable中的數(shù)據(jù)將暫時保存在Session會話變量中。在提交購物車之后,將寫入數(shù)據(jù)庫,實現(xiàn)過程的偽代碼如下所示:public class ShopCar : System.Web.UI.Page{ 聲明一個購物
51、的DataSet數(shù)據(jù)集goodSet; 聲明一個靜態(tài)的String對象hh; public void godataset(string id) //向Hashtable中添加購商品id和數(shù)量{ if (如果Session會話中變量bus的值為空) { 聲明一個哈希表變量 ht; 往ht中加入一個”鍵為id、值為1”的鍵值對;
52、 將ht賦值給Session會話中的變量bus; 調(diào)用dafill()方法將商品信息添加到ht中;,,2014/5/15,33,} else { 定義一個哈希表ht,并將其賦值為Session會話中的變量bus; if (哈希表ht中鍵為id的鍵值對為空) { 將ht中鍵為id的鍵值對的值設(shè)定為1; }
53、 else{ 將ht中鍵為id的鍵值對的值+1 } 將ht賦值給Session會話中的變量bus; 調(diào)用dafill()方法將商品信息添加到ht中; } } public void dafill(Hashtable ht) //查詢商品信息添加到數(shù)據(jù)集中{清空購物的DataS
54、et數(shù)據(jù)集 goodSet;foreach (字典鍵值對de in ht),2014/5/15,34,{將hh賦值為字典鍵值對de中鍵;聲明一個數(shù)據(jù)適配器datap,并指定其Sql語句為”從商品信息表中查出”,數(shù)據(jù)庫連接對象為根據(jù)web.config文件中的連接字符串新建的數(shù)據(jù)庫連接對象; if (如果數(shù)據(jù)適配器datap不為空){ 用datap填充DataSet數(shù)據(jù)集goodSet;
55、} }}}4.2 網(wǎng)站主頁的實現(xiàn) 本文設(shè)計的電子商城為文靜電子商城網(wǎng)站,首先介紹網(wǎng)站首頁的設(shè)計,通過前臺首頁可以跳轉(zhuǎn)實現(xiàn)系統(tǒng)的前臺功能,首頁就是一個載體,大多數(shù)網(wǎng)頁功能模塊都會在首頁體現(xiàn)出來,可以完成的功能都可以通過頁面進入,例如商品信息都在首頁可以查詢到。網(wǎng)站首頁的截圖如下:,2014/5/15,35,2014/5/15,36,4.3 銷售模塊的實現(xiàn) 系統(tǒng)銷售模塊主要包括:商品展臺、購
56、物車、會員管理、新聞管理、注銷登錄等子模塊。在本節(jié)中將以首頁、購物車和特價商品的展示為例介紹系統(tǒng)銷售模塊各個子模塊的實現(xiàn)過程。4.3.1 銷售模塊基本框架的實現(xiàn) 本系統(tǒng)采用戶控件來保持每個頁面風格的一致性,其中銷售模塊首頁布局如圖4.2所示。,,2014/5/15,37,圖5.2銷售模塊首頁界面圖,2014/5/15,38,首頁的頂端導航條部分,左側(cè)登錄界面、銷售排行、動態(tài)新聞部分,右側(cè)商品分類導航條、在線調(diào)查、廣告招
57、商位部分,以及底端的版權(quán)信息部分 分別是四個不同的用戶控件。下面以右側(cè)的用戶控件right.ascx為例論述一下其使用方法: 用戶控件里面的所有需要從數(shù)據(jù)庫動態(tài)讀取信息的顯示控件的數(shù)據(jù)綁定代碼全部放在相應(yīng)的用戶控件后臺代碼中,例如right.ascx中商品分類信息導航樹的偽代碼如下:構(gòu)造從商品大類信息表中檢索所有記錄的Sql語句supertype;構(gòu)造從商品小類信息表中檢索所有記錄的Sql語句subtype;定義D
58、ataSet數(shù)據(jù)集dssuper,賦值為根據(jù)supertype調(diào)用公共數(shù)據(jù)庫操作類中靜態(tài)函數(shù)后返回的數(shù)據(jù)集;定義DataSet數(shù)據(jù)集dssub,賦值為根據(jù)subtype調(diào)用公共數(shù)據(jù)庫操作類中靜態(tài)函數(shù)后返回的數(shù)據(jù)集;定義DataRow數(shù)據(jù)行rows存放dssuper數(shù)據(jù)集的首行;定義DataRow數(shù)據(jù)行subrows存放dssub數(shù)據(jù)集的首行;if (當前頁面是第一次加載){foreach (數(shù)據(jù)行row in rows){
59、聲明一個樹節(jié)點nd,將其Text屬性設(shè)置為數(shù)據(jù)行row中字段名為typename的列,值設(shè)置為數(shù)據(jù)行row中字段名為id的列;,2014/5/15,39,將nd加到導航樹的節(jié)點集中; foreach (數(shù)據(jù)行subrow in subrows) {聲明一個樹節(jié)點subnd,將其Text屬性設(shè)置為數(shù)據(jù)行subrow中字段名為typename的列,值設(shè)置為數(shù)據(jù)行subrow中字段名為id的列;if (subro
60、w["supertype"].ToString() == row["id"].ToString()){將subnd加到父節(jié)點的節(jié)點集中去;} }}}4.3.2 銷售模塊特價商品功能的實現(xiàn) 運行網(wǎng)站的主頁,可以看到四條特價商品的信息,單擊”More…”按鈕可以進入到特價商品網(wǎng)頁,該頁中包括商品的圖片、名稱、原價、現(xiàn)價、市場價格、庫存數(shù)量等信息。單擊”購買”按鈕
61、可以將該商品自動添加到購物車中去。另外可通過單擊”查看詳細信息...”按鈕進入相應(yīng)商品的詳細信息顯示頁面。特價商品模塊在網(wǎng)站首頁的設(shè)計效果如圖4.3所示。,2014/5/15,40,圖4.3銷售模塊特價商品展示界面圖,在該模塊中,要實現(xiàn)的最主要功能是在用戶點擊了特定商品的”查看詳細信息”按鈕后,進入相應(yīng)商品的詳細信息顯示頁面。這就要用到了數(shù)據(jù)顯示控件DataList中的項模板,同時要用到服務(wù)器控件的CommandName和Command
62、Argument屬性。當在頁面中單擊了LinkButton的時候,激發(fā)了一個CommandEvent事件,并產(chǎn)生了該事件類對應(yīng)的參數(shù)列表:CommandEventArgs,它有兩個公共屬性,CommandName(用來獲取命令的名稱)和CommandArgument(用來獲取命令的參數(shù))。二者相互關(guān)聯(lián)。該功能的具體實現(xiàn)方法如下:'>,2014/5/15,41,查看詳細信息.. 同時在后臺需要添加相應(yīng)DataList
63、控件的ItemCommand響應(yīng)代碼:protected void DataListSpecial_ItemCommand(object source, DataListCommandEventArgs e){ if (e.CommandName.Equals("CheckDetails")) { string id = DataListSpecial.DataKeys[e.Ite
64、m.ItemIndex].ToString(); Response.Redirect("goodsdetail.aspx?id=" + id.ToString()); }}4.3.3 銷售模塊購物車功能的實現(xiàn) 購物車如同生活中用到的購物清單,通過它可以清晰的知道已購的商品名稱、數(shù)量、價格等信息,當用戶以會員身份登陸后,單擊商品中的”購買”按鈕,就可以將商品信息添加到購物車中去,購物車中
65、需要存儲所有已選購商品的ID號、商品名稱、數(shù)量和單價等信息。購物車根據(jù)用戶單擊”購買”按鈕的次數(shù)或者提交購物車信息之前手動修改的數(shù)量來確定購買商品的數(shù)量。購物車頁面設(shè)計效果如圖4.4所示。,,2014/5/15,42,圖4.4銷售模塊購物車截面圖,在本模塊中主要是通過DataList控件來顯示商品已選購信息的,通過在DataList控件的項模板中添加表格來控制購物車顯示的內(nèi)容,同時在后臺代碼中為DataList控件的ItemDataBo
66、und事件手動添加響應(yīng)代碼,用來計算各種商品的合計金額和購買商品的總金額,并在DataList控件中使用FindControl方法查找DataList控件中的顯示控件顯示信息。核心代碼如下:if (row["id"].ToString() == ((Label)e.Item.FindControl("id")).Text.ToString()) {
67、 ((Label)e.Item.FindControl("count")).Text = ((Hashtable)(Session["bus"]))[row["id"].ToString()].ToString();,2014/5/15,43,4.4 系統(tǒng)管理模塊的實現(xiàn) 系統(tǒng)管理模塊主要包括:商品管理、訂單管理、會員管理、新聞管理、注銷登錄等子模塊。在本
68、節(jié)中將以系統(tǒng)登錄、商品管理和會員管理為例介紹系統(tǒng)管理模塊各個子模塊的實現(xiàn)過程。4.4.1 系統(tǒng)登錄功能的實現(xiàn)為了系統(tǒng)的安全性,系統(tǒng)管理模塊必須由成功輸入管理員信息的用戶才能進入,同時在管理員成功登錄后將其登錄信息存入Session會話變量。同時在系統(tǒng)管理模塊的非登錄頁面,當頁面第一次加載的時候判斷Session中是否存在管理員的登錄信息,這樣就可防止用戶通過在地址欄中直接鍵入系統(tǒng)管理頁面的地址、繞過登錄頁面直接進入系統(tǒng)管理模塊。系
69、統(tǒng)登錄頁面的設(shè)計如圖4.5所示。,圖4.5系統(tǒng)管理模塊登陸界面圖,本模塊的實現(xiàn)過程中加入了隨機驗證碼,這樣就能進一步提高系統(tǒng)的安全性,防止非法用戶采用暴力破解軟件去試各種各樣的密碼,因為隨機驗證碼生成的圖片只能通過肉眼識別。,,2014/5/15,44,4.4.2 商品管理功能的實現(xiàn)在線購物系統(tǒng)中,對于商品信息的管理是系統(tǒng)管理模塊中最主要的子模塊。一個好的在線購物系統(tǒng)必須要有一個強大的商品管理模塊,主要實現(xiàn)對商品信息的管理,包括分頁
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論