網(wǎng)上書店在線訂購系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
網(wǎng)上書店在線訂購系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
網(wǎng)上書店在線訂購系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
網(wǎng)上書店在線訂購系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
網(wǎng)上書店在線訂購系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

引言1.1研究背景當今是信息時代,網(wǎng)絡(luò)這個名詞已基本融入到我們的日常生活當中,隨著高科技的產(chǎn)物不斷更新,電子商務(wù)也日漸成熟。現(xiàn)在看來,這個行業(yè)已經(jīng)在人們的腦海里刻上了抹不掉的痕跡,它已把我們傳統(tǒng)的想法推入了虛擬世界。在生活水平不斷提高人們,自然對精神、物質(zhì)需求也一樣的要求高。而網(wǎng)上購物自然也就不足為奇的被人們所接受。電子商務(wù)這一概念起源于歐美在九十年代初時候,它是一種新型商業(yè)交易行業(yè),它的交易實現(xiàn)智能化,交易效率不管在時間還是人力上都得到了很大的提升。這一切,將在傳統(tǒng)購物模式上有著全新的改革。在電子商務(wù)行業(yè)的逐漸強大下,網(wǎng)上書店也隨之而生。它有著很多的優(yōu)點,比如說,購書方便、快捷,顧客可以在家就能選到自己心儀已久的圖書。除了這些,隨著物流行業(yè)的崛起,消費者也不用受地理界限的約束,不用為了一本需要的書到處跑,只需在網(wǎng)上瀏覽選好圖書,選擇付款方式(貨到付款、網(wǎng)銀、支付寶)之后,等待收貨就行,這樣既省時也省力。在這些優(yōu)點的沖擊下,可以看到網(wǎng)上售書以后的發(fā)展前景。因為這些前提條件,所有開發(fā)書店系統(tǒng)是有必要的。1.2國內(nèi)外研究狀態(tài)從國內(nèi)動態(tài)研究來看,我國比較有名的當當網(wǎng)、新華書店、卓越等網(wǎng)上書店。據(jù)統(tǒng)計,在2013年,國家公布的20家出版物銷售企業(yè)完成銷售收入870億元,占各行業(yè)總銷售額的28.1%,相比上一屆增加3.1%。中國新華書店的銷售1107億元,比以前增加14.6%,占行業(yè)總銷售額的32.1%,比其他行業(yè)平均水平明顯高。從我國511家網(wǎng)上書店來看,京東,亞馬遜、當當網(wǎng),它們?nèi)移髽I(yè)出版物的銷量占總體銷量的50.1%。當當網(wǎng)2014年第一季度,總收17.36億元,同比增長30.1%,凈利潤200萬元,網(wǎng)上書店相還在大幅度增長。中國已擁有強大網(wǎng)絡(luò)用戶數(shù)據(jù),網(wǎng)上書店改變了人們的購買方式,所以在我國市場上網(wǎng)上書店還是有很好的發(fā)展空間。所有選擇開發(fā)本網(wǎng)上書店系統(tǒng)還是有經(jīng)濟效益的。本網(wǎng)上書店系統(tǒng)與當當網(wǎng)書店相比,雖然是小巫見大巫,但是本系統(tǒng)也是有優(yōu)勢的,本系統(tǒng)是一個小型的系統(tǒng),其界面簡單、易于用戶操作,它不同于大型的當當網(wǎng)書店的復(fù)雜度。我相信對于現(xiàn)在人們忙碌的生活節(jié)奏來看,更喜歡選擇這種容易操作、容易管理簡單的小型網(wǎng)上書店。同時快捷方便的信息時代同樣取代了傳統(tǒng)購書方法,所以傳統(tǒng)書店深受擠壓,即使網(wǎng)上書店有再多的優(yōu)點,最為突出的是它的成本及范圍這些優(yōu)勢,但是在實體店售書與它面對的客戶也是不一樣的,各自都有優(yōu)勢,較好的方法就是兩者互惠互利,提高圖書銷售市場。從國外動態(tài)研究來看,1991年,"閱讀美國"書店在美國在線公司(AOL)網(wǎng)絡(luò)誕生。亞馬遜在1994年建立,此書店的建立對網(wǎng)上圖書銷售界是非常有利的,在歐美這些發(fā)達國家中,網(wǎng)上書店發(fā)展也快。此外,放眼中國物流企業(yè),它跟上潮流,也已經(jīng)實現(xiàn)與國外互動。還有就是國際物流公司DHL(德國郵政)、USPS(美國郵政服務(wù)公司)、Cosco(中國遠洋)等等都已流入到中國市場上,這些國際物流公司的出現(xiàn)推動了我國經(jīng)濟效益,因為有國際物流出現(xiàn),我國物流公司也會去學習、去競爭,這樣的話,國內(nèi)物流也會有所改善在這個競爭日益強烈的壞境中。網(wǎng)上書店隱藏用戶還是有很多,在中國龐大的人口數(shù)量及Internet用戶的快速增加地方。從內(nèi)部發(fā)展?jié)摿砜矗覈木W(wǎng)上書店的創(chuàng)新也可以學亞馬遜書店,推動國內(nèi)書店發(fā)展。1.3立題的意義從以上對網(wǎng)上書店國內(nèi)外研究分析,你能夠感受到的是網(wǎng)上書店在線訂購商城的發(fā)展前景以及網(wǎng)站利益。目前在技術(shù)這方面,也是比較成熟了,如當當網(wǎng)、京東網(wǎng)、阿里巴巴等在國內(nèi)名氣比較好的購物系統(tǒng)。它們都是網(wǎng)上訂購商城的引領(lǐng)者。這種簡單的在線購物流程,通過網(wǎng)絡(luò)能夠幫助賣家對商品進行合理、準確的推廣,幫助買家在購物商品時節(jié)省大量的時間。這樣來看,網(wǎng)上購物不僅節(jié)省商家的成本、也提升了宣傳力度及服務(wù)質(zhì)量。因此開發(fā)系統(tǒng)是根本就沒有什么阻攔的因素,只需系統(tǒng)界面友好、獨特、價格優(yōu)惠就能得到廣大用戶所接受。并勾起她們的購買欲。現(xiàn)在,還是有一部分小型書店使用傳統(tǒng)書店經(jīng)營方法,用零售的方式去銷售圖書,受到網(wǎng)上購書和大型書店的雙向打擊,已經(jīng)很難立足在售書界。由于這些條件的沖擊,開發(fā)網(wǎng)上書店對于中小型的書店來說是解決了它的燃眉之急。該網(wǎng)上書店網(wǎng)站它就具有這一系列的優(yōu)勢,書也是我們生活中必須品。因此網(wǎng)上書店系統(tǒng)的開發(fā)是積極性的意義的,選擇開發(fā)此系統(tǒng)是絕對可行的。第二章系統(tǒng)分析2.1系統(tǒng)運行環(huán)境及開發(fā)工具該網(wǎng)上書店在線訂購系統(tǒng)使用ASP.NET(C#)語言進行開發(fā),該語言是基于VisualStudio2010的開發(fā)環(huán)境中的,SQLServer2008用來作為后臺數(shù)據(jù)庫的設(shè)計使用。操作系統(tǒng)使用Win7+IIS,運行平臺使用.NETFramework

2.0。2.2系統(tǒng)可行性研究可行性研究別名可行性分析。它起到對技術(shù)避免混亂選擇,經(jīng)濟盲目投資等一些沒有必要的失去而實行的有效研究,它是整個系統(tǒng)重要的環(huán)節(jié)之一。如此看來,我們要提前確定好項目分析??尚行苑治隹蓮南旅嫒齻€方面研究。2.2.1技術(shù)上的可行性研究這個系統(tǒng)的開發(fā)是用對計算機硬、軟件都要有較高需求的,不然的話,系統(tǒng)開始測試時,就會影響它的正常啟動。然而,現(xiàn)在市場上流行的硬件水平肯定能達到系統(tǒng)所需。為了實現(xiàn)該系統(tǒng),不僅需要技術(shù)保證,系統(tǒng)程序員也得要較高的專業(yè)水平及平和的心態(tài)、使用者也得要有管理能力等。當該系統(tǒng)的實際操作中會涌出大量的數(shù)據(jù),如圖書類別,評價信息,用戶訂單列表等,那肯定就得要有一個無窮大空間的DBMS,現(xiàn)在數(shù)據(jù)庫產(chǎn)品各式各樣,如Oracle、Access等,每一個都有自己獨特的功能。而要考慮到各種因素的話,如方便性、控制難易性、安全性等,選擇SQLServer2008作為系統(tǒng)數(shù)據(jù)庫。這是因為,它擁有以上對數(shù)據(jù)庫2008簡介的優(yōu)點,它不僅使用效率高,而且還能智能識別。它與ASP.NET一同使用是合理可靠的。因此,當它使用VisualStudio2010以及SQLServer2008的時候,在技術(shù)上是可行的。2.2.2經(jīng)濟上的可行性研究現(xiàn)如今,計算機已遍布全球,那么在網(wǎng)上賣書也是自然可行的。在網(wǎng)上開發(fā)書店,可以為顧客節(jié)省大量的開銷,顧客可以足不出戶,只要打開電腦,找到相應(yīng)的網(wǎng)站,就能選到自己喜歡已久的書籍,再進行購。這樣就省得跑來跑去,節(jié)省顧客在這之間來回成本及時間。網(wǎng)上購物其實對賣家也節(jié)省了很大的經(jīng)濟成本,比如說,節(jié)省開實體店的成本等,這樣看來,網(wǎng)上買賣可以說達到了雙贏的局面。在開發(fā)該系統(tǒng)時,只需一臺電腦,并安裝好相應(yīng)的開發(fā)軟件就能完成開發(fā),由此看開,該系統(tǒng)是一個小型的系統(tǒng),開發(fā)成本是非常低的,總的來說,該系統(tǒng)在經(jīng)濟上也是可行的。2.2.3操作上的可行性分析該系統(tǒng)經(jīng)過以上經(jīng)濟分析,它是一個小型系統(tǒng),系統(tǒng)界面也是一目了然的,對用戶來說,在操作上容易上手。界面設(shè)計也同樣考慮了使用者的習慣,如,用戶集料錄入簡單方便,圖書價格優(yōu)惠,可靠性高,適應(yīng)性強;統(tǒng)計規(guī)范,操作簡單。這樣看來,系統(tǒng)在操作上也是可行的。2.3系統(tǒng)需求分析通過以上的技術(shù)簡介,該網(wǎng)上書店在線訂購系統(tǒng)的設(shè)計與實現(xiàn)是一個B2C電子商務(wù)網(wǎng)站。那么該系統(tǒng)就需要兩大模塊,前臺功能模塊和后臺管理員模塊。前臺是供用戶使用的,后臺是供管理員所使用的。設(shè)計前臺用戶操作模塊時,首先得考慮系統(tǒng)功能怎么劃分、界面的美觀及操作的簡單性。還得考慮用戶對網(wǎng)站使用的權(quán)限,比如用戶可以查看圖書、搜索圖書、修改管理個人資料、購買圖書等等,最后得考慮后期收貨后對訂單的評價。設(shè)計后臺模塊時,首先要考慮的是此系統(tǒng)得便于管理員管理整個系統(tǒng),盡量設(shè)計的簡單易管理。管理員就是整個系統(tǒng)的最高權(quán)限,控制著整個系統(tǒng),詳細的功能就是對整個系統(tǒng)圖書增加、刪除、查看、修改等操作;對用戶詳細資料的查看、刪除等操作;對用戶訂單的查看、刪除、修改等操作;對系統(tǒng)的公告進行發(fā)布;對管理員添加、修改信息、刪除操作等等。2.4系統(tǒng)完成目標經(jīng)過開題前的一些調(diào)查,以及2.3的需求分析對此網(wǎng)上書店在線訂購進行具體目標設(shè)定,該系統(tǒng)目標要求如下:(1)采用人機對話的操作模式,界面設(shè)計友好美觀,數(shù)據(jù)存儲安全、可靠性高。查看信息快捷、方便、靈活。(2)分類顯示圖書,新書上架提醒,對暢銷書進行排行。(3)給消費者提供一個簡單快捷的圖書信息搜索功能,使用關(guān)鍵字搜索查詢數(shù)據(jù)。(4)用戶可以注冊網(wǎng)站賬號,也可以隨時修改賬號的資料。(5)進入網(wǎng)站就能查看的公告信息。(6)用戶可購買圖書,也可以對訂單進行修改。(7)系統(tǒng)對用戶所輸入的數(shù)據(jù)進行嚴格把關(guān),盡量避免人為輸入錯誤。(8)系統(tǒng)管理員是整個系統(tǒng)的最高權(quán)限,可對任何信息操作。(9)系統(tǒng)易維護性和易操作性需被最大限度地實現(xiàn)。(10)系統(tǒng)運行要可靠、穩(wěn)定性要高。2.5系統(tǒng)建模2.5.1用例模型圖分析用例圖從用戶的角度來看,就是把用戶在網(wǎng)站上操作的動作進行分解。這樣一來,由于圖形的分解,就能清楚的看到用戶的需求。所以創(chuàng)建用例圖是必要的??偟膩碚f,畫好用例圖分為了三大步驟:第一,確定好系統(tǒng)的參與者;第二,確定好用例;第三,對用例進行分析,得到下級用例。圖由參與者、系統(tǒng)、用例以及用例之間的關(guān)系組成。下圖游客、會員、管理員這三個人形圖形表示參與者、橢圓形圖形表示用例,它們之間用箭頭(表示關(guān)聯(lián)關(guān)系)鏈接。網(wǎng)上書店在線訂購系統(tǒng)整體用例圖如圖2.1所示:圖2.1網(wǎng)上書店在線訂購系統(tǒng)整體用例圖經(jīng)過上圖2.1對該系統(tǒng)用例的分析,可清楚的看到網(wǎng)上書店在線訂購系統(tǒng)一共擁有三個參與者:游客、會員、管理員。由于這三個參與者的實際功能不同,那么它們對該書店網(wǎng)站的使用權(quán)限也不同,以下幾個用例是根據(jù)它們的需求分析得到的,具體如下:(1)游客相關(guān)的用例:圖書信息的瀏覽、圖書搜索。(2)會員相關(guān)的用例:注冊/登陸、個人資料修改、瀏覽圖書、搜索圖書、購物推車信息、訂單信息、購買圖書。(3)管理員相關(guān)的用例:注冊/登陸、用戶管理、圖書類別管理、圖書管理、公告管理、管理員管理、退出系統(tǒng)。2.5.2業(yè)務(wù)流程圖分析經(jīng)過以上的分析,該系統(tǒng)執(zhí)行者就是用戶和管理員,為了讓他們更方便、簡單地了解系統(tǒng)的操作流程,所有就畫出流程圖來幫助用戶和管理員了解系統(tǒng)。具體如下:(1)用戶業(yè)務(wù)操作流程圖。網(wǎng)上書店在線訂購系統(tǒng)主要就是為客戶提供一個方便、快捷的購書網(wǎng)站。那么,自然就得考慮用戶的操作簡單性,靈活使用等等。該系統(tǒng)的設(shè)計是簡單易操作的,用戶進入網(wǎng)站后,就能查看圖書的信息,只需注冊登錄就能查看并購買圖書。為了保護消費者的利益,普通的游客就只能對網(wǎng)站上的圖書進行搜索和瀏覽。具體的用戶操作流程如下圖2.2所示。圖2.2用戶業(yè)務(wù)操作流程圖(2)管理員業(yè)務(wù)操作流程圖。后臺的管理員他主要是對用戶管理、訂單管理、圖書管理等。既然管理員需管理整個系統(tǒng),那么后臺的模塊就要設(shè)計簡單易管理。這樣一來,在后期維護時,將會節(jié)省大量的時間及物資。具體管理員操作流程如下圖2.3所示。圖2.3管理員業(yè)務(wù)操作流程圖第三章系統(tǒng)總體設(shè)計3.1系統(tǒng)功能模塊設(shè)計模塊的分解設(shè)計是系統(tǒng)設(shè)計功能結(jié)構(gòu)的核心,因為系統(tǒng)的特征決定了設(shè)計結(jié)果,所有可以使用“自上而下”的方式,把系統(tǒng)當作一個大模塊,再將該大模塊被劃分為許多個小模塊,該系統(tǒng)分為前臺功能及后臺管理模塊,網(wǎng)站前臺模塊:主要包括了用戶模塊(注冊登錄、資料修改)、圖書展示模塊(新書上架、商品分類、暢銷書排行)、購物推車模塊(加入購物車、計算購物車、支付功能)、訂單信息(評價訂單、刪除訂單)、圖書詳細信息瀏覽(圖書詳細瀏覽)、搜索模塊(關(guān)鍵字搜索);網(wǎng)站后臺模塊:用戶管理、訂單管理、商品類別管理、公告管理、管理員管理。具體結(jié)構(gòu)設(shè)計圖如下圖3.1來表示。圖3.1總體設(shè)計模塊圖3.2系統(tǒng)總體劃分設(shè)計根據(jù)以上對功能模塊的分析,以及系統(tǒng)需求分析,該系統(tǒng)界面的輪廓也隨之顯現(xiàn),前臺宣傳操作系統(tǒng)及后臺管理員管理系統(tǒng),前臺起到的作用是多后臺管理發(fā)布的信息進行宣傳。對它們的進一步具體劃分。一、前臺宣傳系統(tǒng)的劃分設(shè)計包含了以下幾大功能:(1)商城首頁。該網(wǎng)站界面它是整個書店的核心部分,當你進入該WEB網(wǎng)頁時,界面設(shè)計:用戶注冊/登陸欄,公告顯示、新書上架、類別標題欄、書本的關(guān)鍵字搜索,訂單信息、版本的說明,美化的圖片等。(2)新書上架。當你點擊該網(wǎng)頁標題時,它可顯示出管理員新添加書籍的類別。方便用戶了解該網(wǎng)上書店的最近書籍上新動態(tài)。用戶也可以查看價格,書本簡介等信息,還有購買書本。(3)購物推車。當你點擊時,會提示先登陸用戶,登陸成功就會顯示,關(guān)鍵字搜索圖書、清空購物車、付款按鈕。點擊就會出現(xiàn)另一個頁面。(4)訂單信息。它顯示用戶所購書籍的信息,比如,發(fā)貨狀態(tài)等,用戶點擊此標題時,會提示登錄,進入后,進行對訂單的搜索、對未發(fā)訂單的刪除、還可以評價訂單。(5)退出。點擊后,用戶可退出進入到商城首頁。(6)商品類別顯示。如,藝術(shù)、文學、歷史、哲學、計算機等。(7)公告欄。是顯示最新的公告消息。(8)暢銷書排行。哪種書籍賣的最多,都會被用數(shù)字統(tǒng)計出來。(9)版本的說明,包括了客服熱線,以及版本說明等。二、后臺管理員管理系統(tǒng)的劃分設(shè)計包含了以下幾大功能:(1)注冊/登陸界面。此界面必須是系統(tǒng)管理員才能進行注冊。注冊后,可進入后臺首頁。(2)后臺首頁。用一個標簽顯示歡迎語句,可以由管理員隨意修改。(3)會員管理。顯示會員注冊信息。如會員的名稱、性別、電話、注冊時間、詳細信息等,在這些信息上,管理員能進行刪除,查看。(4)訂單管理顯示。顯示訂單信息,如訂單的編號、姓名、購買時間、訂單狀態(tài)、書籍名稱、付款方式等,管理員可以在操作上進行查看,編輯,刪除、修改。(5)商品類別。顯示商品的編號、類別名稱,管理員可以編輯、刪除類別。(6)商品管理。顯示名稱、市場價、會員價、分類、商品圖片、商品描述等。管理進行對這些內(nèi)容的輸入、添加,也可修改、刪除圖書。(7)公告管理。文本框里顯示公告,管理員可進行修改、和重置公告內(nèi)容。(8)管理員管理。顯示已登錄的管理員進行密碼修改,也能添加一個新管理員。(9)退出系統(tǒng)。管理員點擊后,退出到后臺登陸界面上。3.3系統(tǒng)關(guān)系模型設(shè)計“關(guān)系模型”用于描述現(xiàn)實世界模式圖。它提供了實體類型的表示,屬性和聯(lián)系的圖形符號。它已在數(shù)據(jù)庫設(shè)計中得到了廣泛的認可,尤其給我們供應(yīng)一種快捷方式創(chuàng)建一個數(shù)據(jù)庫,可它也只能表示實體和屬性之間關(guān)聯(lián)。在本系統(tǒng)中使用的“實體關(guān)系模型”(ER模型)來描述的結(jié)構(gòu)和數(shù)據(jù)庫的語義。E-R圖的構(gòu)成為以下四個部分:矩形框:代表實體,把實體名稱記錄在框內(nèi)。菱形框:代表聯(lián)系,把聯(lián)系名稱記錄在框內(nèi)。橢圓形框:代表實體或聯(lián)系的屬性,將屬性名記入框中。對于主鍵名,就用下劃線在其名字下方劃線。連線:實體與聯(lián)系中間,實體與屬性中間,屬性與連接中間用一根直線連接,還需在直線上記上聯(lián)系的類別。經(jīng)過以上對系統(tǒng)給模塊分析,可得出該系統(tǒng)有4個實體,分別為:用戶、訂單、圖書、管理員實體。用戶實體的屬性:用戶ID、用戶名、性別、地址、年齡、身份證號、聯(lián)系方式、E-mail、傳真、登陸密碼、注冊時間。具體E-R圖如下3.2所示: 圖3.2實體屬性圖-用戶訂單實體的屬性:訂單ID、銷售排行、訂單日期、賣家姓名、E-MAIL、聯(lián)系方式、收貨地址、付款方式。具體E-R圖如下3.3所示:圖3.3實體屬性圖-訂單管理員實體的屬性:管理員ID、管理員賬號、密碼。具體E-R圖如下3.4所示:圖3.4實體屬性圖-管理員圖書實體的屬性:圖書ID、參考圖片、名稱、市場價、優(yōu)惠價、描述、銷售數(shù)量;具體E-R圖如下3.5所示:圖3.5實體屬性圖-圖書以上分析,該書店訂購系統(tǒng)的總體E-R圖關(guān)系為:管理員可以對用戶、訂單、圖書進行分類管理。他們之間產(chǎn)生了關(guān)聯(lián),其明確關(guān)系如下圖3.6所示。圖3.6總體實體-聯(lián)系圖以上是實體聯(lián)系圖,它們之間的關(guān)系是:多個用戶可以購買多本圖書,多本圖書可以被多個用戶購買,一個用戶可以生成多個訂單。一個管理員可以管理多個用戶,一個管理員可以管理多本圖書,一個管理員可以管理多個訂單。3.4系統(tǒng)數(shù)據(jù)庫設(shè)計3.4.1數(shù)據(jù)庫各表簡述經(jīng)需求分析,這個系統(tǒng)將用SQLServer2008當作數(shù)據(jù)庫開發(fā)平臺,系統(tǒng)的數(shù)據(jù)庫名字是:sq_chaletshop,其擁有八個數(shù)據(jù)庫表,分別為:dbo.admin(后臺管理員管理表)、board(公告內(nèi)容表)、category_up(商品的類別表)、comment(用戶評論的信息表)、orderinfo(訂單信息表)、product(書庫產(chǎn)品分類表)、shipinfo(發(fā)貨詳細信息表)、users(前臺會員詳細資料表)。3.4.2數(shù)據(jù)庫各表設(shè)計(1)后臺管理員管理表:admin用來存放管理員個人的注冊信息,如表3.1所示。表3.1管理員表字段名數(shù)據(jù)類型字段大小是否為空值簡介idint2notnull主鍵id增加usernamevarchar50null管理員用戶名passwordvarchar50null管理員密碼(2)公告內(nèi)容表:board用來存放發(fā)表的公告內(nèi)容,如表3.2所示。表3.2公告文本信息表字段名數(shù)據(jù)類型字段大小是否為空值簡介idint4notnull主鍵id增加msgcontexttext50null公告標題(3)商品的類別信息表:category_up用來存放商品的類別信息,如下表3.3所示。表3.3商品的類別信息表字段名數(shù)據(jù)類型字段大小是否為空值簡介idint4notnull主鍵id增加big_namevarchar50null公告標題(4)用戶評論的信息表:comment用來存放用戶評論后的詳細內(nèi)容,如下表3.4所示。表3.4用戶評論的信息表字段名數(shù)據(jù)類型大小是否允許為空簡介CommentIDint2notnull評論數(shù)量idComment_Usernamenvarchar50null評論人名字Comment_Contenttextnull評論的內(nèi)容Comment_ProductIDint4null評論商品編號Comment_Addtimedatatimenull時間自動更新(5)訂單詳細統(tǒng)計表:orderinfo用戶購買產(chǎn)品后,所產(chǎn)生的訂單信息進行統(tǒng)計,在把所得信息存放在該表中;如圖書的銷售總價等。具體用下表3.5表示。表3.5訂單詳細統(tǒng)計表字段名數(shù)據(jù)類型大小是否允許為空簡介idint2notnull主鍵id增加stylenonvarchar50null圖書標題product_idint50null商品的編號productpicvarchar100null商品圖片來源quantityint50null統(tǒng)計銷售數(shù)量unitpricenumeric(18,0)null價格subtotalnumeric(18,0)null圖書銷售總價格orderidvarchar50null訂單號emailvarchar50null電子郵件addresstextnull聯(lián)系地址ddddvarchar50null收貨時間(6)書庫商品分類表:product用來存放管理員所添加的所有圖書詳細信息,用下表3.6來表示。表3.6訂單信息表字段名數(shù)據(jù)類型大小是否允許為空簡介idint2notnull主鍵id增加productpicnvarchar100null圖片來源category_up_idint50null圖書類別編號stylenovarchar50null書名npricenumeric(18,2)null市場價wpricenumeric(18,2)null折后價descriptionvarchar200null圖書描述sales_amountintnull銷售數(shù)量(7)訂單信息表:shipinfo用戶下訂單時,會有大量數(shù)據(jù)生成,這些數(shù)據(jù)就存放在該表中,用下表3.7表示。表3.7訂單信息表字段名數(shù)據(jù)類型大小是否允許為空簡介ship_idint2notnull訂單編號orderidint4null訂單順序orderdatedatetime50null訂單日期statusvarchar50null收發(fā)狀態(tài)namevarchar50null用戶名emailvarchar50null電子郵件phone1varchar50null聯(lián)系電話addressvarchar50null詳細地址ddddvarchar50null收貨時間DropDownList1nvarchar50null付款方式(8)前臺用戶詳細資料表:users用戶進行注冊網(wǎng)站時,也會有大量的數(shù)據(jù)產(chǎn)生,該表起到的作用就是存放這些數(shù)據(jù)。具體表示如下表3.8所示。表3.8訂單信息表字段名數(shù)據(jù)類型大小是否允許為空簡介idint2notnull主鍵id增加fnamevarchar50null注冊名稱sexvarchar10null性別addressvarchar100null詳細地址agevarchar50null年齡ID2varchar50null身份證號碼phonevarchar20null電話號碼faxvarchar50null傳真emailvarchar50null電子郵件passwordvarchar50null密碼設(shè)置Regtimetext50null注冊時間第四章網(wǎng)站詳細設(shè)計與實現(xiàn)4.1數(shù)據(jù)庫連接開發(fā)該系統(tǒng)時,需要用到很多個數(shù)據(jù)庫,在對這些數(shù)據(jù)庫連接時,不可能去一個一個連接,這樣的連接方式既會使系統(tǒng)運行緩慢、也會產(chǎn)生大量多余字符給系統(tǒng)增添冗余。此外,在后期維護上也會增添難度。所以,我們就得用一個配置文件來把這些數(shù)據(jù)庫放在一起管理。這樣,當數(shù)據(jù)有所變動時,只用在配置文件中修改就行。該系統(tǒng)配置文件名為:web.config。具體配置如下。(1)在web.config配置文件對行數(shù)據(jù)庫配置,代碼如下所示:<connectionStrings><addname="sq_chaletshopConnectionString"connectionString="DataSource=.;database=sq_chaletshop;IntegratedSecurity=True;”providerName="System.Data.SqlClient"/></connectionStrings>(2)進行數(shù)據(jù)庫連接,要用到usingSystem.Data.SqlClient;這個域名空間。以下為數(shù)據(jù)庫連接的主要代碼在DB.cs類里編寫:SqlConnectioncon=newSqlConnection(ConfigurationMangaer.ConnectionStrings["sq_chaletshopConnectionString"].ToString());4.2網(wǎng)站前臺功能模塊詳細設(shè)計與實現(xiàn)4.2.1用戶自定義控件(usercontrol)說明網(wǎng)上書店在線訂購系統(tǒng)采用用戶自定義控件,它可以重載HTML的代碼,從而更好的實現(xiàn)代碼的重復(fù)使用,且使用靈活、操作方便,但是用戶自定義控件它是不能進行單個訪問的,必須放在其他頁面上才能對它進行訪問。它在本網(wǎng)頁設(shè)計中主要框架導(dǎo)入由:Top.ascx(頂部框架),left.ascx(左邊框架),whatnew.ascx(中間框架-新書上架),Bottom.ascx(底部框架)構(gòu)成。以下是對這幾個框架的介紹:(1)Top.ascx:導(dǎo)航及標題模板用嵌套表顯示,頂部標題用到數(shù)據(jù)綁定datalist控件,讀取數(shù)據(jù)表category_up中的數(shù)據(jù),通過<%#Eval("id")%>"><%#Eval("big_name")%>傳遞(id,big_name為數(shù)據(jù)庫庫表單字段名)。左側(cè)注冊/登陸模塊顯示用到lable標簽、textbox文本框、bottom按鈕,當用戶點擊注冊按鈕是就會跳出另一個頁面。右邊還用到img控件顯示圖片,顯示名言。點擊關(guān)鍵字搜索時,中間部分就會顯示被搜內(nèi)容。(2)left.ascx:中間左部分,用了img圖片控件,公告部分由管理員發(fā)布,再存入到表board中,然后就是暢銷書排行榜它同樣也用到datalist控件來綁定,再從數(shù)據(jù)庫表中讀取圖書名和銷售的數(shù)量。(3)new.ascx:中間右部分,也用到datalist控件來完成綁定。它顯示的是所有圖書,并對圖書進行分頁顯示,每一頁分配了6個圖書信息。用戶可以點擊購買,和查看信息。但是當點擊購買時,會提醒用戶進行登錄。具體方式后面幾段會詳細介紹。它還能圖書關(guān)鍵字進行搜索瀏覽。(4)Bottom.ascx:最底部是用表格,對網(wǎng)站的聯(lián)系方式、版權(quán)、還有使用版本進行說明。4.2.2首頁模塊設(shè)計與實現(xiàn)該書店商城的前臺是供用戶使用的,用戶打開網(wǎng)站首先跳轉(zhuǎn)的頁面就是整個網(wǎng)站的首頁,該網(wǎng)站首頁界面設(shè)計的友好美觀、操作靈活方便。具體的首頁設(shè)計效果如下圖4.1所示。圖4.1網(wǎng)上書店在線訂購系統(tǒng)首頁模塊圖網(wǎng)上書店在線訂購系統(tǒng)商城首頁(Default.aspx)用到的是用戶自定義控件。主要導(dǎo)入的是Top.ascx,left.ascx,new.ascx及Bottom.ascx四大主要框架。首頁主要代碼如下所示:=1\*GB3①自定義控件導(dǎo)入代碼<%@RegisterSrc="usercontrol/new.ascx"TagName="new"TagPrefix="uc4"%><%@RegisterSrc="usercontrol/left.ascx"TagName="left"TagPrefix="uc3"%><%@RegisterSrc="usercontrol/Bottom.ascx"TagName="Bottom"TagPrefix="uc2"%><%@RegisterSrc="usercontrol/Top.ascx"TagName="Top"TagPrefix="uc1"%>=2\*GB3②樣式表導(dǎo)入代碼<linkhref="Css/style.css"rel="stylesheet"/>4.2.2用戶模塊設(shè)計與實現(xiàn)(1)會員注冊/登錄頁面設(shè)計與實現(xiàn)(register.aspx),是為了滿足用戶的所有需求所設(shè)計的。用戶可以點擊首頁的注冊按鈕,用戶可以在這里進行一些注冊所需的基本資料的填寫,直到注冊成功。然后就可以進行登錄,登錄模塊上會提示登錄成功或者登錄失敗。本系統(tǒng)中用戶的登錄是通過用戶輸入的用戶名及密碼,實現(xiàn)主要是通過對數(shù)據(jù)庫表users的fname、password字段,如果用戶名和密碼都輸入正確,就能登錄。具體如下圖4.2圖所示。圖4.2網(wǎng)上書店在線訂購系統(tǒng)注冊/登錄設(shè)計頁面該注冊頁面頂端用的是Top.ascx框架,下部分紅字用到的span.style2風格。頁面用到了很多Textbox文本框來滿足用戶賬號、密碼、聯(lián)系方式等一系列基本信息的要求填寫。在用戶名設(shè)計時,用到一個requirefiledvalidator驗證方式,用戶不能使用注冊過的會員名。密碼及郵箱地址也同樣用到了這個方式。確認密碼中還用到了comparevalidator控件進行數(shù)據(jù)對比,如果它的輸入與密碼不一致,就不能注冊。當所有信息正確無誤時,就可以點擊注冊按鈕,就會彈出一個對話框,提示注冊成功。同時也將數(shù)據(jù)存入到users表單用insert操作來實現(xiàn)用戶注冊。也可以重置資料。該注冊成功是通過觸發(fā)Button1_Click按鈕的事件的insert語句來實現(xiàn)的,該設(shè)計實現(xiàn)插入語句的主要代碼如下:=1\*GB3①sql插入語句,將各個用戶信息值存儲到數(shù)據(jù)庫的主要代碼:stringsqlstr="insertintousers(fname,sex,address,age,ID2,phone,fax,email,password,Regtime)values(";sqlstr+="'"+fname+"','"+sex+"','"+address+"','"+age+"','"+ID2+"','"+phone+"','"+fax+"','"+email+"','"+password+"','"+strTime+"')";(2)用戶修改信息頁面的設(shè)計(user_edit.aspx),給用戶提供了方便。當用戶本人信息變更時,就會用到下圖4.3所示的資料修改頁面。圖4.3會員信息修改設(shè)計頁面此會員信息修改頁面類似于用戶注冊頁面。會員登陸后,點擊會員信息修改鏈接就會出現(xiàn)此頁面。此資料中用戶名只能注冊一次,不能更改,其他信息用戶可以隨意修改。通過觸發(fā)按鈕的Click事件來實現(xiàn)資料的修改,經(jīng)過update語句來進行實現(xiàn),此頁面主要代碼如下:=1\*GB3①更新表單users,調(diào)用用戶更新數(shù)據(jù)update_user()函數(shù)的主要代碼:stringstrSql="updateuserssetfname='"+fname+"',address='"+address+"',age='"+age+"',ID2='"+ID2+"',phone='"+phone+"',fax='"+fax+"',email='"+email+"',password='"+password+"'whereemail='"+Session["email"].ToString()+"'";4.2.3圖書展示模塊設(shè)計與實現(xiàn)此頁面框架是把新書上架和商品的各個類別顯示在這里面??煞奖愕墓┯脩艨吹阶钚碌膱D書動態(tài)及詳細的圖書類別。具體的設(shè)計方式如下對它們的框架設(shè)計與說明。(1)新書上架頁面設(shè)計(whatsnew.aspx),它就是對商品的先后上架順序進行排序。實現(xiàn)頁面如圖4.4所示。圖4.4新書上架顯示設(shè)計頁面新書上市頁面這塊模板與首頁基本相同,它調(diào)用了用戶自定義控件。不同的是它是將從prodoct表中將數(shù)據(jù)綁定到datalist控件中。綁定書本的圖書名、市場價及會員價,它們都用到來綁定數(shù)據(jù)表的字段。顯示頁面的大?。≒ageSize=6,每頁6條記錄)。還可以進行設(shè)置跳轉(zhuǎn)鏈接的頁面。還能獲得所有書籍的總頁數(shù)。(2)圖書類別頁面的設(shè)計(productlist.aspx),對圖書類別的分類有利于用戶方便快速的找到自己所喜歡的書;用戶只想好了自己所購書的類別,點擊商品標題,例如:藝術(shù),文學等標題,就能方便、快速的找到新書。這樣就會出現(xiàn)如下圖4.5所示頁面。圖4.5商品類別顯示設(shè)計頁面圖書類別頁面它用到usercontrol控件中的Bottom.ascx和Top.ascx。它用來一datalist控件把數(shù)據(jù)從product表中進行綁定,然后在源頁面通過<%#Eval("id")%>、<%#Eval(""styleno")%>、<%#Eval("nprice")%><%#Eval("wprice")%>進行數(shù)據(jù)傳遞(注:id、stylenno、nprice、wprice為數(shù)據(jù)庫表的字段名)。最后在源代碼頁面通過DataList1.DataBind()來進行綁定數(shù)據(jù)庫里面的數(shù)據(jù)。在綁定之前還要設(shè)計導(dǎo)入的類別地址。具體源代碼如下:=1\*GB3①設(shè)定導(dǎo)入的起始地址重要代碼:intStartIndex=CurrentPage*PageSize;=2\*GB3②進行數(shù)據(jù)綁定的重要代碼:stringsql="select*fromproductwherecategory_up_id="+id;SqlDataAdaptersda=newSqlDataAdapter(sql,con);sda.Fill(ds,StartIndex,PageSize,"orders");重載this.DataList1.DataSource=ds.Tables["orders"].DefaultView;this.DataList1.DataBind();4.2.4購物推車模塊設(shè)計與實現(xiàn)當用戶在網(wǎng)站中看中自己所喜歡的書本時,購物推車模塊就會起到良好的作用。購物車就像一個籃子一樣,能夠讓用戶選擇多種書本,然后一起付款。具體購物車設(shè)計與實現(xiàn)如下。(1)購買數(shù)量頁面(productinfo.aspx),它是在商品上點擊購買按鈕時跳轉(zhuǎn)出來的,它用于你想購書的數(shù)量,你可以任意填寫數(shù)量,但是所填寫的數(shù)量必須是整數(shù)。具體框架如圖4.6所示。圖4.6商品加入購物車設(shè)計頁面該頁面使用lable標簽,bottom按鈕,它還用到用戶自定義控件里面的Top.ascx框架來獲取product里的標題。購買物品用RequiredFieldValidator數(shù)據(jù)驗證控件,此控件用來提示購買的數(shù)量只能為整數(shù)。當用戶輸入數(shù)量完成后,再點擊加入購物車按扭,就會觸發(fā)Button1_Click()函數(shù),此函數(shù)就會把頁面轉(zhuǎn)入到mycart.aspx(我的購物車)頁面。主要實現(xiàn)代碼如下:=1\*GB3①從product表中讀出產(chǎn)品標題主要代碼:stringstrSql="select*fromproductwhereid='"+id+"'";SqlCommandsqlcomm=newSqlCommand(strSql,conn);SqlDataReadersdr=sqlcomm.ExecuteReader();sdr.Read();Session["styleno"]=this.Label1.Text=sdr["styleno"].ToString();styleno1=Session["styleno"].ToString();=2\*GB3②使用Button1_Click()函數(shù),主要代碼:protectedvoidButton1_Click(objectsender,EventArgse){Session["quantity"]=this.TextBox1.Text.ToString();Server.Transfer("MyCart.aspx?id="+id);}(2)上步操作,點擊加入購物車后,就會彈出如圖4.7所示的購物頁面(MyCart.aspx)。用戶可以購物多本書發(fā)到購物車里面,它方便用戶多次選擇圖書。此頁面還能更改購書的數(shù)量,刪除訂單,計算購物的總價格,以及清空購物車等功能。它的具體頁面設(shè)計如下圖4.7所示。圖4.7網(wǎng)上書店在線訂購系統(tǒng)購物推車設(shè)計頁面該頁面是用戶已經(jīng)購買好的物品,上邊設(shè)計與主頁一致。下邊的數(shù)據(jù)用一個GridView控件(讀取整個數(shù)據(jù)庫表格信息)來綁定produtinfo,之后在源頁面里通過<%#Eval("id")%>來傳遞,如id,styleno,produtpicd,quantity,Unitprice,SubToTal(表示表中的字段名)。然后源代碼頁面用AddProID=Request.QueryString["id"].ToString();(注意:AddProID表示新增產(chǎn)品)進行獲取produtinfo表中的值。最后BindShopBasket()購物車綁定方法將控件和數(shù)據(jù)庫中的字段綁定起來,將數(shù)據(jù)庫中的信息顯示在頁面上。顯示的頁面也能進行支付,下面會進行詳細介紹。具體代碼如下所示:=1\*GB3①BindShopBasket()購物車綁定函數(shù)主要代碼如下:privatevoidBindShopBasket(){gvProducts.DataSource=Session["dtProducts"];this.gvProducts.DataKeyNames=newstring[]{"id"};gvProducts.DataBind();Total();}注意:Total()方法是用來計算購物車總價格的。(3)支付頁面設(shè)計與實現(xiàn)(shipping.aspx),是供用戶買書用的,用戶只有購買了之后才能由管理著發(fā)貨,具體頁面設(shè)計如下圖4.11所示。圖4.11商品支付設(shè)計頁面此頁面上部分用到主頁模板頁。下部分用了lable標簽、textbox文本框、bottom按鈕、及下拉列表框。首先源頁面是基本信息直接從用戶表user表中使用<asp:TextBoxID="name"runat="server"></asp:TextBox>套用出來的還包括(phone1,email,address為表users的字段名)。然后填寫收貨時間,在下拉列表框中選擇(貨到付款、支付寶付款、網(wǎng)銀付款)支付方式。然后點支付按鈕觸發(fā)Black_bottom1()函數(shù),支付成功后,就會出現(xiàn)支付成功提示框。這些訂單信息再保存到shipinfo表單中使用insert插入語句。下面會對訂單設(shè)計進行詳細設(shè)計。具體代碼如下:=1\*GB3①使用insert語句進行保存訂單信息主要代碼:stringstrSql="insertintoshipinfo(orderid,orderdate,status,name,email,phone1,address,dddd,DropDownList1)values("+orderid+",'"+orderdate+"','"+status+"','"+name1+"','"+email1+"','"+phone11+"','"+address+"','"+dddd+"','"+DropDownList1+"')";4.2.5訂單信息模塊設(shè)計與實現(xiàn)(1)此訂單信息頁面(Myorderlist.aspx),它顯示了用戶下單后的一些主要信息,便于用戶對所有訂單進行管理。具體的頁面設(shè)計如下圖4.8所示。圖4.8網(wǎng)上書店在線訂購系統(tǒng)訂單設(shè)計頁面用戶首先要登錄,再購買圖書,下單完成后,就會出現(xiàn)上圖訂單信息頁面。此源頁面是從orderinfo表單中用Gridview數(shù)據(jù)控件來綁定,通過<ahref='chakan1.aspx?id=<%#Eval("product_id")%>'><%#Eval("styleno")%></a>來傳遞商品的id。刪除訂單是通過<%#Eval("orderid")%>&id=<%#Eval("id")%>來進行傳遞,用戶還可以對訂單進行評論。當點擊評論鏈接時,就會彈出商品詳細瀏覽頁面(下面會對它進行介紹),用戶可以再評論框里對訂購商品進行評價。最下方用一個lable標簽來計算所用購買的圖書總價格。源代碼是通過觸發(fā)bind_ordertables()方法來獲取訂單表格。具體代碼如下所示:=1\*GB3①獲取orderinfo表格訂單信息的主要代碼如下privatevoidbind_ordertables(){stringstrConn=ConfigurationManager.ConnectionStrings["sq_chaletshopConnectionString"].ToString();stringstrSql="select*fromorderinfowhereemail='"+Session["email"].ToString()+"'orderbyorderiddesc";SqlDataAdapterda=newSqlDataAdapter(strSql,conn);DataSetds=newDataSet();da.Fill(ds);this.gvProducts.DataSource=ds;this.gvProducts.DataKeyNames=newstring[]{"id"};this.gvProducts.DataBind();da.Dispose();conn.Dispose();}(2)此訂單評價頁面(chakan1.aspx),是供用戶購書后對圖書的評價,對圖書的質(zhì)量進行反饋,評價后,就會出現(xiàn)在商品上。具體頁面設(shè)計如圖4.9所示。圖4.9網(wǎng)上書店在線訂購系統(tǒng)評價設(shè)計頁面該頁面由一個img圖片控件,lable標簽,用repeater來綁定多條動態(tài)變化的記錄,還有超鏈接進行關(guān)閉窗口。之后在源頁面先將評價內(nèi)容用insert語句插入到comment表中,再通過表里使用<%#Eval("Comment_Username")%><%#Eval("Comment_Content")%>來傳遞表字段獲取想要顯示的內(nèi)容。最后在源代碼頁面通過voidbindData()函數(shù)對數(shù)據(jù)進行綁定。具體代碼如下:=1\*GB3①使用insert語句將評論插入到表表comment中的主要代碼如下:stringsqlstr="insertintocomment(Comment_Username,Comment_Content,Comment_ProductID,Comment_Addtime)values('"+Session["fname"].ToString()+"','"+TextBox1.Text.Trim()+"',"+id+",'"+DateTime.Now.ToString()+"')";=2\*GB3②RptComment進行數(shù)據(jù)的綁定,主要代碼如下:voidbindData(){PagedDataSourcepds=newPagedDataSource();//實例化PagedDataSourcepds.AllowPaging=true;//允許分頁pds.PageSize=AspNetPager1.PageSize;//設(shè)定每頁顯示記錄數(shù)pds.CurrentPageIndex=AspNetPager1.CurrentPageIndex-1;//當前頁pds.DataSource=(DataView)Session["dvlist"];//設(shè)定數(shù)據(jù)源RptComment.DataSource=pds;//設(shè)定數(shù)據(jù)源RptComment.DataBind();//綁定數(shù)據(jù)}4.2.6圖書信息瀏覽模塊設(shè)計與實現(xiàn)該圖書信息頁面(chakan.aspx)顯示是可供用戶查看的。該頁面設(shè)計是為了讓用戶更為直觀的了解到圖書的信息,商品評論區(qū)還有商品的評價內(nèi)容,該頁面的詳細設(shè)計頁面如圖4.10所示。圖4.10商品詳細信息瀏覽設(shè)計頁面該頁面的設(shè)計是與圖4.9的頁面設(shè)計基本相同。不同的是它的商品評論是從表comment里面查找出來的。具體select語句如下所示。=1\*GB3①使用select語句查出表comment的評論內(nèi)容,主要代碼如下:stringstrSql="selectproduct.id,styleno,nprice,wprice,big_name,description,productpic,sales_amountfromproduct,category_upwhereproduct.category_up_id=category_up.idandproduct.id='"+id+"'";4.2.7圖書搜索模塊設(shè)計與實現(xiàn)搜索功能頁面(search.aspx)是一般的購物網(wǎng)站都具備的功能,網(wǎng)上書店在線預(yù)訂系統(tǒng)同樣也設(shè)計了搜索功能,搜索功能的實現(xiàn)主要是為了使用戶能夠快速的在網(wǎng)站上找到自己心儀的商品。該網(wǎng)站設(shè)定了按關(guān)鍵字搜索圖書。具體如下圖4.11所示。圖4.11搜索功能的設(shè)計頁面按關(guān)鍵字對圖書進行搜索主要是通過一個TextBox和一個Button按鈕來實現(xiàn)的,用戶可以直接在文本框中輸入自己想要的圖書關(guān)鍵字,之后按下搜索按鈕就可以搜索出自己想要的商品。通過觸發(fā)Button按鈕的事件Button1_Click(),在事件處理函數(shù)中查找與用戶輸入關(guān)鍵相似的所有商品,上圖4.11是搜索“讀書”后搜索出來的結(jié)果。搜索結(jié)果頁面,使用的是datalist控件,按關(guān)鍵字搜索商品主要是通過選擇product表中styleno(圖書標題)字段。具體代碼如下:=1\*GB3①搜索表字段,進行數(shù)據(jù)綁定主要代碼如下stringsql="select*fromproductwherestylenolike'%"+Session["keyword"].ToString()+"%'";this.DataList1.DataBind();4.2.8商城公告模塊設(shè)計與實現(xiàn)該商城頁面是在left.ascx框架中設(shè)計,它用來顯示管理員最新發(fā)布的消息,然用戶更及時的了解到網(wǎng)站的動態(tài)。具體頁面設(shè)計顯示如下圖4.12所示:圖4.12公告顯示的設(shè)計頁面該頁面主要用到了一個textbox文本框,它用來讀出數(shù)據(jù)庫表board中的內(nèi)容,主要通過觸發(fā)inputcontext()函數(shù)用select語句來讀出內(nèi)容。具體的實現(xiàn)代碼如下:=1\*GB3①inputcontext()函數(shù)的內(nèi)容進行顯示的主要代碼如下:voidinputcontext(){stringstrSql1="selecttop1*fromboardwhereid=1";stringstrConn1=ConfigurationManager.ConnectionStrings["sq_chaletshopConnectionString"].ToString();SqlConnectionconn1=newSqlConnection(strConn1);SqlCommandsqlcom1=newSqlCommand(strSql1,conn1);conn1.Open();SqlDataReaderreader=sqlcom1.ExecuteReader();if(reader.Read()){this.Label1.Text=reader["msgcontext"].ToString();}conn1.Close();}4.3網(wǎng)站后臺管理模塊詳細設(shè)計與實現(xiàn)4.3.1登錄模塊設(shè)計與實現(xiàn)此登陸頁面(login.aspx)只有注冊過的會員才能登陸。當用戶名、密碼輸入正確后就會進入后臺管理員系統(tǒng)首頁。輸入有誤時,就會提示密碼或用戶名錯誤,如下圖4.12所示。圖4.12網(wǎng)站后臺登陸界面此后臺登陸模塊,用到一個img圖片控件。lable標簽。通過觸發(fā)ImageButton2_Click按鈕事件進行登錄。從admin表中用select語句進行合成。當管理員點擊登錄按鈕時,就會進入后臺。獲取主要代碼如下:=1\*GB3①獲取用戶名和密碼的select語句,主要代碼如下:stringusername=this.UserName.Text.Trim();stringpassword=this.Password.Text.Trim();獲取用戶名和密碼tringsqlstr="select*fromadminwhereusername='"+username+"'andpassword='"+password+"'";4.3.2用戶管理模塊設(shè)計與實現(xiàn)該頁面是前臺注冊的用戶所有信息。如下圖4.13所示。圖4.13后臺用戶管理信息界面點擊左側(cè)用戶管理超鏈接,就會出現(xiàn)上圖4.13。此頁面設(shè)計是用到一個GridView數(shù)據(jù)綁定,此控件以表格方式顯示數(shù)據(jù)記錄,在將user表中的數(shù)據(jù)全部綁定出來顯示。還用到一些鏈接。管理員可以查看用戶的詳細信息,當點擊查看時,出現(xiàn)用戶的所有信息,此信息用到的是DetailsView控件,它將用戶的所有記錄一條一條的顯示。還可以在操作上,點擊刪除按鈕,這時候會彈出一個提示框,提示你是否要刪除該用戶。主要編寫的代碼如下:=1\*GB3①stringstrSql="select*fromusersorderbyiddesc";SqlDataAdapterda=newSqlDataAdapter(strSql,conn);DataSetds=newDataSet();da.Fill(ds);this.GridView1.DataSource=ds;this.GridView1.DataKeyNames=newstring[]{"id"};this.GridView1.DataBind();所有數(shù)據(jù)綁定4.3.3訂單管理模塊設(shè)計與實現(xiàn)該訂單管理頁面(order.aspx)是前臺用戶所購物品的訂單信息,具體設(shè)計如圖4.14所示。圖4.14后臺訂單管理信息界面點擊左側(cè)訂單管理超鏈接,就會出現(xiàn)上圖4.14。此訂單管理頁面用來存放所有訂單信息,它用到的是GridView數(shù)據(jù)綁定控件,把orderinfo表單中的數(shù)據(jù)記錄按表格的形式顯示出來。管理員也可以查看訂單信息,點擊查看時出現(xiàn)訂單詳細信息。還可以在操作上對訂單的狀態(tài)(已發(fā)、未發(fā))進行修改,它用到一個下拉列表框。在點擊刪除時,會出現(xiàn)一個提示框。主要實現(xiàn)的代碼如下:=1\*GB3①stringstrSql="select*fromorderinfowhereorderid='"+orderid1+"'orderbyiddesc";//獲取訂單表格=2\*GB3②for(inti=0;i<ds.Tables["orderTotal"].Rows.Count;i++){allmoney1+=Convert.ToDouble(ds.Tables["orderTotal"].Rows[i]["SubToTal"]);}//循環(huán)遍歷購物,計算價格4.3.4商品類別模塊設(shè)計與實現(xiàn)此商品類別(category_up.aspx)頁面是后臺管理用來添加圖書類別的,設(shè)計這個模板是為了把圖書分類,便于前臺用戶更方便的找到自己所喜歡的圖書。具體顯示設(shè)計如下圖4.15所示。圖4.15后臺商品類別界面點擊左側(cè)商品類別管理超鏈接,就會出現(xiàn)上圖4.15。此頁面用到lable標簽、textbox文本框、bottom按鈕及GridView綁定控件,類別名稱填寫好后,點擊添加按鈕,將添加好的記錄按順序以表格的形式顯示出來,4條記錄每一頁,在存入到category_up表單中。管理員同樣也能編輯、刪除商品類別。主要實現(xiàn)代碼如下:=1\*GB3①stringstrSql="select*fromcategory_up";查找表this.GridView1.DataBind();//綁定=2\*GB3②protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){this.GridView1.PageIndex=e.NewPageIndex;this.GridView1_Show();}//分頁4.3.5商品管理模塊設(shè)計與實現(xiàn)該后臺商品管理頁面顯示的設(shè)計(product.aspx),是管理員用來添加圖書用的。具體設(shè)計框架如下圖4.16所示。圖4.16后臺商品管理界面點擊左側(cè)商品類別管理超鏈接,就會顯示上圖4.16。該頁面設(shè)計用到了lable,textbox文本框,多行文本框,bottom按鈕,分類欄用到sqldatasource控件來直接讀取出category_up表單的圖書類別。添加好的圖書用GridView控件直接顯示在下放,然后在存入到數(shù)據(jù)庫表product中。管理員也能編輯和刪除圖書。主要實現(xiàn)代碼如下:=1\*GB3①將數(shù)據(jù)插入到表product中的主要代碼如下:stringstrSql="insertintoproduct(styleno,nprice,wprice,productpic,description,category_up_id)";=2\*GB3②讀取圖書所有信息顯示在頁面上的主要代碼如下:stringstrSql="selectproduct.id,styleno,productpic,wprice,big_namefromproduct,category_upwhereproduct.category_up_id=category_up.idorderbyproduct.iddesc";4.3.6公告管理模設(shè)計與實現(xiàn)此頁公告管理頁面(style.aspx)的設(shè)計可以能讓前臺用戶及時獲得網(wǎng)站的最新公告消息。具體設(shè)計如下圖4.17所示。圖4.17網(wǎng)站公告管理界面點擊左側(cè)商品類別管理超鏈接,就會顯示上圖4.17。該頁面用到的是textbox文本框、bottom按鈕、lable標簽。管理員在文本框內(nèi)輸入的公告內(nèi)容更新到board表單中,使用update語句進行更新,同時也會讀取到前臺的公告欄上。管理也可以修改和重置公告。主要實現(xiàn)代碼如下:=1\*GB3①使用update語句進行更新公告的主要代碼如下:stringstrSql="updateboardsetmsgcontext='"+this.Request.Form["TextBox1"].Trim().ToString()+"'whereid=1";=2\*GB3②使用read()函數(shù)將讀出公告顯示在前臺公告文本框。SqlDataReaderreader=sqlcom1.ExecuteReader();if(reader.Read()){this.TextBox1.Text=reader["msgcontext"].ToString();}4.3.7管理員管理模塊設(shè)計與實現(xiàn)下面兩個管理員管理頁面(admin_manage.aspx)是管理員進行密碼的修改及添加管理員界面。具體框架設(shè)計如下圖4.18、4.19所示。圖4.18后臺管理員管理界面圖4.19后臺添加管理員界面以上兩個頁面是,點擊左側(cè)商品類別管理超鏈接,就會顯示上圖4.18、4.19。用到lable、bottom、textbox文本框,點擊添加管理就會出現(xiàn)4.19頁面。將添加好的管理員存入到admin表中,再將添加的管理員用GridView控件綁定讀出來顯示。管理員能更改密碼。主要實現(xiàn)代碼如下:=1\*GB3①添加管理員的主要代碼:stringstrSql="insertintoadmin(username,password)values('"+this.username.Text.Trim().ToString()+"','"+this.newpass2.Text.Trim().ToString()+"')";=2\*GB3②更新數(shù)據(jù)庫里的數(shù)據(jù)的主要代碼:stringstrUsername=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.Trim().ToString();stringstrPassword=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.Trim().ToString();第五章系統(tǒng)測試5.1軟件測試簡介軟件測試(SoftwareTesting),它是用于鑒別軟件準確性、安全性、可靠性的過程。根據(jù)在程序操作中指定的條件,來找到程序的錯誤、測量軟件質(zhì)量的方法以及它能否滿足其設(shè)計所需要的評估過程??偨Y(jié)來說,就是要找到程序的缺陷,經(jīng)過分析、在執(zhí)行命令。5.2軟件測試的方法軟件測試工具主要有三種,分別為黑盒測試、白黑盒測試以及性能測試工具。以下是對它們進行簡介:(1)黑盒測試。黑盒測試也叫功能測試,它不需要對軟件的所有特性、結(jié)構(gòu)考慮。就可以對外面結(jié)構(gòu)進行測試。對軟件的外部結(jié)構(gòu)進行測試。設(shè)計測試用例嚴格按照軟件需求規(guī)范的要求進行測試。它是利用腳本的記錄回放方式,模仿使用者操作,之后進行比較系統(tǒng)輸出與預(yù)先記錄結(jié)果,列出一個標準。它還能在開發(fā)時,大量減少工作量,以便更好的回歸測試。(2)白盒測試。白盒測試也稱結(jié)構(gòu)測試,白盒顧名思義它是透明的,你能看到盒子里的工作流程。"白盒"方案是進行邏輯路徑測試。當用到這個程序時,測試人員想要搞懂系統(tǒng)里面的結(jié)構(gòu),從邏輯的開始到最后進行獲取準確數(shù)據(jù)。(3)性能測試。性能測試是用來監(jiān)視使用者的實際操作行為,從而是你更容易找出問題。它使用自動化測試工具對系統(tǒng)測試,來測試整個系統(tǒng)是否能正常運行。性能測試包含了壓力測試和負載測試。負載測試,用于確定系統(tǒng)性能,逐漸增加負載測試時改變每項性能指標。壓力測試是通過識別不可接受的性能點,以獲取最好的測試。5.3軟件測試的原則軟件測試嚴格遵循以下幾大原則,具體如下:(1)在時間有限和資源有限的條件下進行的充分測試。不可能的找到軟件所有的漏洞,不可能無極限的進行軟件測試,應(yīng)及時制止。由于大量的測試數(shù)據(jù)的輸入,輸出的數(shù)據(jù)多,以有限的資源是不可能實現(xiàn)全部的測試的。(2)應(yīng)提早地、持續(xù)開展軟件測試。因為復(fù)雜和抽象的軟件可能會在軟件生命周期的每個階段的生成漏洞從而導(dǎo)致錯誤,所以對于軟件測試,我們不能把它當成是獨立的測試過程,而是要把它落實到整個系統(tǒng)開發(fā)的過程當中去。測試應(yīng)該在需求分析、總體設(shè)計階段就要開始執(zhí)行,以便提前檢測和防止漏洞所產(chǎn)生的錯誤。消除這些漏洞盡,以提高軟件的質(zhì)量,這是最基本的預(yù)防性測試原則。(3)全部測試都應(yīng)歸根到用戶需求上。由于該軟件目的是讓用戶來完成計劃內(nèi)任務(wù),從而對他們的所需得到滿足。軟件測試目的是為了找到軟件漏洞和錯誤,從而可以對錯誤進行糾正,來滿足客戶的需求。(4)盡可能不要進行隨便測試。軟件測試它是一個有嚴格計劃、步驟、組織的過程,所有我們不能隨意就對軟件進行測試。(5)對測試群集現(xiàn)象充分重視。在對系統(tǒng)段進行測試時,如果錯誤的次數(shù)出現(xiàn)頻率多,那么殘留的漏洞就會越多,從而就應(yīng)該多花費的成本與時間在測試模塊時,出現(xiàn)錯誤多的地方。5.4測試的主要步驟軟件測試是它執(zhí)行過程是非常明了的。通常,它在測試時會通過以下的三個步驟:(1)測試計劃。測試系統(tǒng)時需要完全理解該系統(tǒng),還要測試需求文檔。然后給定詳細的測試計劃,其中包含測試管理,測試手法,測試平臺等。(2)測試開發(fā)和設(shè)計。開發(fā)該流程中,要依據(jù)系統(tǒng)的要求規(guī)范、系統(tǒng)詳細說明,由測試人員完整的測試該系統(tǒng)的設(shè)計。(3)測試實施。系統(tǒng)測試試驗中所要做的是,搭建好一個測試所需環(huán)境;按照測試計劃和用例進行測試;記下測試結(jié)果;證明軟件存在的錯誤點和漏洞;跟蹤并統(tǒng)計軟件錯誤點;直到這些缺陷被解決;在對測試的結(jié)果進行分析等。5.5測試效果圖主要測試系統(tǒng)的總體框架圖前臺首頁效果圖,最后測試系統(tǒng)完善。前臺首頁總體效果圖,如下圖5.1表示。圖5.1前臺首頁效果圖總結(jié)在本次課題開發(fā)設(shè)計和研究的幾個月里,網(wǎng)上書店在線訂購系統(tǒng)基本形成,該書店系統(tǒng)基本功能已基本實現(xiàn)。系統(tǒng)也嚴格按照軟件工程所需設(shè)計和實現(xiàn),即系統(tǒng)分析(需求分析)、總體設(shè)計、前后臺詳細設(shè)計與實現(xiàn),系統(tǒng)測試。開發(fā)與測試完成后,基本滿足其功能模塊需求。在前期系統(tǒng)開發(fā)當中,不僅讓我學習到.NETFramework中的ASP.NET用處,更讓我學會如何根據(jù)系統(tǒng)需求,去收集和總結(jié)數(shù)據(jù),完整的寫好系統(tǒng)分析。中期階段根據(jù)軟件工程根據(jù)需求分析來確定系統(tǒng)的各個模塊的體系結(jié)構(gòu),在逐步對這些模塊詳細的進行分析、設(shè)計,實編碼現(xiàn)。后期階段,對系統(tǒng)進行必要的軟件測試。對測試有錯的地方進行有效的修改、維護,與此同時也對論文進行了撰寫。本次課題對于可行性分析的要求也已經(jīng)基本滿足,測試后可以準備使用,有以上的前提條件,一定會產(chǎn)生預(yù)期的經(jīng)濟效益,測試的過程是在多臺電腦上運行實現(xiàn),已符合要求的操作可行性。最初設(shè)計用例圖、業(yè)務(wù)流程圖為實現(xiàn)整個系統(tǒng)打堅固的基礎(chǔ)和前提條件。設(shè)計的E-R圖也滿足相關(guān)的實體之間的聯(lián)系要求。系統(tǒng)數(shù)據(jù)庫中表設(shè)計也埋下了設(shè)計基礎(chǔ),通過表名,字段名,字段類型的局限性,使之更加操作方便、規(guī)范化。通過這次課題設(shè)計,由于本人的知識欠缺,多走了很多彎路,本系統(tǒng)還是存在很多的漏洞,比如說,對訪問沒有限制、功能開發(fā)不夠齊全等。通過這次設(shè)計,讓我真正理解學無止境的含義,只有以后的生活、工作中不斷學習,不斷積累經(jīng)驗,來提高自己專業(yè)水平,我相信一定能彌補這些缺陷。

參考文獻[1]楊樹林,胡潔萍.ASP.NET程序設(shè)計案例教程[M].北京:人民郵電出版社,2011.[2]馬桂婷,武洪萍,袁淑玲.數(shù)據(jù)庫原理及應(yīng)用[M].北京:北京大學出版社,2010.[3]何波,傅由甲.C#網(wǎng)絡(luò)程序開發(fā)[M].北京:清華大學出版社,2014.5.[4]李素若,嚴永松.ASP動態(tài)網(wǎng)頁設(shè)計[M]北京:化學工業(yè)出版社,2010.[5]谷濤,扶曉,畢國鋒.輕松學C#[M].北京:電子工業(yè)出版社,2013.6.[6]龔根華,王煒立.ADO.NET數(shù)據(jù)訪問技術(shù)[M].北京:清華大學出版社,2012.4.[7]明日科技.ASP.NET從入門到精通(第3版)[M].北京:清華大學出版社,2012.[8][美]馬歇爾.VisualStudio2010并行編程從入門到精通[M].北京:清華大學出版社,2013.1.[9]寧云智.ASP.NET程序設(shè)計實例教程(第2版)[M].北京:人民郵電出版社,2011.4.[10]梁爽,吳曉艷.NET框架程序設(shè)計(第1版)[M].北京:清華大學出版社,2010.[11]張韌志.淺議C/S結(jié)構(gòu)與B/S結(jié)構(gòu)及未來發(fā)展[J].科技信息,2008,(17):201-203.[12]章利,范濱多.基于ASP.NET動態(tài)網(wǎng)站的設(shè)計與實現(xiàn)[J].信息技術(shù),2009(1):68-71.[13] KieleyJ.MigratingtoASP.NET:KeyConsideration[J].MSDNMagazine,2003,11.[14]蔣金楠.ASP.NETMVC4框架揭秘[M].北京:電子工業(yè)出版社,2013.[15]百度百科關(guān)于的詞條[OB/EL]./view/6752.htm.2014-5-5.目錄誠信聲明……………………Ⅰ摘要 IABSTRACT PAGER

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論