網(wǎng)上購物系統(tǒng)課程設(shè)計_第1頁
網(wǎng)上購物系統(tǒng)課程設(shè)計_第2頁
網(wǎng)上購物系統(tǒng)課程設(shè)計_第3頁
網(wǎng)上購物系統(tǒng)課程設(shè)計_第4頁
網(wǎng)上購物系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)上購物系統(tǒng)1.課程設(shè)計的目的近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費者展示出一種新穎的購物理念。同時電子商務(wù)網(wǎng)站發(fā)展也面對新的機遇與挑戰(zhàn),在政府的大力倡導和扶持下,電子商務(wù)網(wǎng)站作為一種新的商業(yè)運作模式,推動著社會流通方式的創(chuàng)新,正深入企業(yè)活動和百姓生活,成為促使經(jīng)濟發(fā)展的重要動力源。從大型的電子商務(wù)、政務(wù)系統(tǒng),到普通的在線購物和復雜的電子商務(wù),電子商務(wù)網(wǎng)站在當今時代占據(jù)著重要地位,制作電子商務(wù)網(wǎng)站成為一個熱點。網(wǎng)上購物對于消費者來說身處任何地方只要有網(wǎng)絡(luò)就可以進行

2、消費,不受時間的限制??梢再I到當?shù)貨]有的商品,可以不用辛苦的貨比三家確定自己要買的東西,很方便的獲得大量的商品信息。同時對于商家來說,網(wǎng)上交易可以省去大量的人員和房租等成本,少量的人員即可進行經(jīng)營,減少了庫存、經(jīng)營規(guī)模和場地的限制。提升了商家在電子商務(wù)行業(yè)里的核心競爭力,適應(yīng)時代的潮流。本文研究了運用了 ASP.NET與SQL Server 2000等關(guān)鍵技術(shù)建設(shè)網(wǎng)上購物系統(tǒng)。著重論述了系統(tǒng)功能與實現(xiàn)、數(shù)據(jù)流程及存儲,包括商品目錄、用戶注冊、網(wǎng)上訂貨與購物、后臺數(shù)據(jù)庫管理等。最終實現(xiàn)用戶通過注冊,瀏覽商品。2.設(shè)計方案論證2.1需求分析傳統(tǒng)的購物兩方面分別是買家和賣家。首先賣家開設(shè)店鋪,展示自

3、己的商品,買家需要到賣家開設(shè)店鋪的具體地點,到達店鋪后買家需要瀏覽自己喜歡和需求的商品,而對賣家來說需要雇傭人力來為買家介紹商品,最終雙方會為商品當面交易付款。這是一個簡單的傳統(tǒng)購物流程。對于網(wǎng)上購物來說我門可以把買家和賣家看作是客戶和管理員。首先管理員在一個購物網(wǎng)站申請一個店鋪(一般都是免費的),然后在自己的網(wǎng)頁上添加、更新自己的商品信息,包括圖片、資料介紹等。此時等待客戶瀏覽商品,當客戶找到自己滿意的商品時,可聯(lián)系管理員也就是賣家,雙方交易付款。這樣一個完整的網(wǎng)上交易過程就結(jié)束了。系統(tǒng)具體實現(xiàn)的主要有:從整體操作來說:后臺主要是使用SQL Server 2000 來連接數(shù)據(jù)庫,通過管理數(shù)據(jù)

4、庫實現(xiàn)對用戶(客戶和管理員)信息的管理,權(quán)限的設(shè)置,對商品信息的更新和保證數(shù)據(jù)信息的安全性。前臺主要是建設(shè)用戶注冊頁面、商品信息展示頁面,客戶反饋頁面,購物車頁面等等。從運用對象來說:后臺主要是指管理員操作系統(tǒng)。能夠添加商品,更換商品信息,對客戶的注冊信息進行管理,對客戶的反饋意見給予答復等等。前臺主要是指客戶能夠注冊用戶和修改個人信息,能夠瀏覽商品,能夠管理購物車,能夠留言反饋信息等。2.2系統(tǒng)管理模塊網(wǎng)上購物系統(tǒng)分為前臺模塊和后臺模塊,前臺模塊主要功能包括會員登錄與注冊,商品展示、最新商品、訂購、銷售排行、商品分類、個人信息管理和購物車管理等。后臺模塊主要功能包括用戶信息管理、全局配置管理

5、、商品信息管理、商品分類管理、退出后臺。網(wǎng)上購物系統(tǒng)平臺功能層次結(jié)構(gòu)圖如圖1所示。圖1 功能層次結(jié)構(gòu)圖2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計依靠E-R圖的關(guān)系來確定數(shù)據(jù)之間的依賴聯(lián)系。用戶購買商品產(chǎn)生相應(yīng)的訂單信息,管理員審核用戶信息確認無誤只后,對訂單進行處理。E-R圖如圖2所示。圖2 E-R圖用戶信息表:保存了所有個人用戶的用戶名、密碼等基本用戶信息,具體的描述如下表1所示。表1 用戶信息表名稱類型說明Emailvarchar注冊會員郵箱MDMailvarchar郵箱驗證碼Passwordvarchar密碼CustomerNamevarchar用戶名Addressnvarchar聯(lián)系地

6、址Phonevarchar聯(lián)系方式Zipvarchar郵政編碼Regtimedatetime創(chuàng)建時間IsActivebit是否激活RoleIDbit權(quán)限IDIsSpeakbit是否可用商品明細表:商品明細表(products)用來保存商品的詳細信息,具體的描述如下表2所示。表2 商品明細表名稱類型說明ProductIDint商品ID號ProductNamenvarchar商品名稱Authornvarchar所屬名稱IsRecommendbit是否推薦InPricedecimal進貨價格StartPricedecimal起始價格SalePricedecimal銷售價格Imgnvarchar圖片D

7、escriptionntext商品描述RemainCoutint庫存總數(shù)StoreIDint分類商城IDTypeIDint商品類型Hitsint點擊量Storedecimal評論得分AddTimedatatime上架時間商城分類信息表:商城分類信息表(store)用來保存商城的分類信息。具體的描述如下表3所示。表3 商城分類信息表名稱類型說明BIDint信息ID號Namenvarchar信息名稱Contentntext信息描述2.4模塊詳細設(shè)計2.4.1登錄模塊設(shè)計登錄模塊由兩個功能構(gòu)成,分別是用戶登錄和游客注冊功能。對于已經(jīng)是會員的用戶來說,直接點擊用戶登錄按鈕輸入用戶名和密碼,經(jīng)過數(shù)據(jù)庫檢

8、測正確后直接跳轉(zhuǎn)到網(wǎng)站首頁。而非會員則點擊現(xiàn)在注冊按鈕,系統(tǒng)跳轉(zhuǎn)到注冊界面,并填寫個人信息之后系統(tǒng)提示用戶轉(zhuǎn)到首頁。用戶登錄后可以看到自己的登錄狀態(tài)欄,顯示自己的一些常用信息。登錄模塊的程序流程圖如圖3所示。圖3 登錄模塊流程圖2.4.2個人信息管理模塊個人信息管理模塊包括用戶注冊填充,訂單管理和修改用戶密碼。用戶可以修改自己的個人信息,方便用戶靈活的使用網(wǎng)站進行消費。用戶可以查看、刪除自己的訂單,避免不必要的開支,提高網(wǎng)站的友好性。用戶可以修改自己的登錄密碼,確保用戶自己信息透漏給他人時,保持自己賬戶的安全。修改密碼時,用戶提交舊的登錄密碼,之后輸入新密碼并且再次輸入新密碼確認,確保兩次密碼

9、輸入一致以免發(fā)生手誤導致賬戶不能正常使用,點擊確認后系統(tǒng)自動更新,提示用戶修改結(jié)果。修改密碼模塊的流程圖如圖4所示。圖4 修改密碼的流程圖3.設(shè)計結(jié)果與分析網(wǎng)站商品展示模塊是用戶進入網(wǎng)站最先看到的界面,設(shè)計簡潔,實用性強讓用戶可以最快的獲取網(wǎng)站信息,大體分為兩部分:根據(jù)商品添加時間顯示最新的商品信息和該商品是否是熱門商品顯示商品信息。最新商品展示,按照商品添加時間的先后降序排列顯示在table標簽中的Repeater控件,利用嵌套表格的形式,將數(shù)據(jù)綁定到其中。3.1商品分類用戶每次登錄都可以看到網(wǎng)站更新的最新商品信息,保持網(wǎng)站的新鮮,追趕用戶對新產(chǎn)品的需求。同時按照商品經(jīng)用戶購買使用過后,是否

10、是熱門商品,來展示比較受用戶喜歡的商品,給消費者積極的消費提示。如圖5所示。圖5 商品分類主要代碼:protected void Page_Load(object sender, System.EventArgs e)NewList.DataSource = BLL.Product.GetNewProductsList();NewList.DataBind();#region Web 窗體設(shè)計器生成的代碼override protected void OnInit(EventArgs e)/ CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。/InitializeComp

11、onent();base.OnInit(e);/ <summary>/設(shè)計器支持所需的方法 - 不要使用代碼編輯器/修改此方法的內(nèi)容。/ </summary>private void InitializeComponent()#endregion3.2用戶登錄對于已經(jīng)是會員的用戶來說,直接點擊用戶登錄按鈕輸入用戶名和密碼,只有輸入正確才可以直接跳轉(zhuǎn)到網(wǎng)站首頁。登錄界面如圖6所示。圖6 登陸界面主要代碼:protected void Submit_Click(object sender, System.EventArgs e)BLL.User user = new esh

12、op.BLL.User();int userId = user.SignIn(LoginName.Text,Password.Text);/得到臨時的購物車編號BLL.ShoppingCart cart = new BLL.ShoppingCart();string tempCartID = cart.GetShoppingCartId();if (userId = 0)Message.Text = "用戶名或密碼錯誤!"else/將未通過驗證時該用戶的匿名購物信息遷移至該用戶的個人記錄中cart.MigrateCart(tempCartID, userId.ToStrin

13、g();System.Web.Security.FormsAuthentication.RedirectFromLoginPage(userId.ToString(), CheckCookie.Checked);Response.Redirect("MyAcount.aspx");3.3用戶注冊而非會員則點擊現(xiàn)在注冊按鈕,系統(tǒng)跳轉(zhuǎn)到注冊界面,并填寫個人信息之后系統(tǒng)提示用戶轉(zhuǎn)到首頁。如圖7所示。圖7 用戶注冊主要代碼:protected void Submit_Click(object sender, System.EventArgs e)/獲得注冊信息string user

14、Name = LoginName.Text.Trim();string password = Password.Text.Trim();string question = Question.Text.Trim();string answer = Answer.Text.Trim();/得到原來的CartIdBLL.ShoppingCart cart = new eshop.BLL.ShoppingCart();string tempCartId = cart.GetShoppingCartId();/試圖添加新用戶BLL.User user = new eshop.BLL.User();int

15、 userId = user.AddNewUser(userName, password, question, answer);/如果返回值為-1,則表示用戶名存在if (userId = -1)Message.Text = "用戶名已存在!"else/設(shè)置用戶為通過驗證System.Web.Security.FormsAuthentication.SetAuthCookie(userId.ToString(),false);/遷移購物車記錄cart.MigrateCart(tempCartId, userId.ToString();/將用戶重定向回用戶帳戶頁面Respon

16、se.Redirect("MyAcount.aspx");3.4主界面成功登錄系統(tǒng)后,進入主界面,包含修改密碼、修改個人資料、購物車和我的購物記錄??梢愿鶕?jù)需求進行相應(yīng)的操作。主界面如圖8所示。圖8 主界面主要代碼:namespace eshop/ <summary>/ MyAcount 的摘要說明。/ </summary>puprotected void Page_Load(object sender, System.EventArgs e)/ 在此處放置用戶代碼以初始化頁面#region Web 窗體設(shè)計器生成的代碼override protec

17、ted void OnInit(EventArgs e)/ CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。/InitializeComponent();base.OnInit(e);/ <summary>/ 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改/ 此方法的內(nèi)容。/ </summary>private void InitializeComponent() #endregion3.5修改密碼為了保證系統(tǒng)的安全性,用戶應(yīng)該定期修改密碼。如圖9所示。圖9 修改密碼主要代碼:protected void Submit_Click(object

18、 sender, System.EventArgs e)BLL.User user = new BLL.User();int result = user.ChangePassword(OldPwd.Text.Trim(), NewPwd.Text.Trim(), int.Parse(User.Identity.Name);if (result = 1)Message.Text = "密碼修改成功!"elseMessage.Text = "密碼輸入與原密碼不匹配!"3.6查詢商品在分類列表中,選擇要購買的商品類型,點擊計算機軟件,依次列出符合需求的信息,可

19、以進行購買??梢怨?jié)省用戶的事件,提高系統(tǒng)的效率。如圖10所示。圖10 查詢商品主要代碼:void ShowResult(int pageIndex, int pageSize)/綁定Repeater控件products.DataSource = BLL.Product.GetProductsByCategory(int.Parse(Request.QueryString"categoryId"),pageSize, pageIndex);products.DataBind();/調(diào)用Product類中的方法獲得該類商品的總數(shù)int resultCount = BLL.Pro

20、duct.GetProductCountByCategory(int.Parse(Request.QueryString"categoryId");int count;/如果查詢結(jié)果總數(shù)是頁大小的整數(shù)倍if (resultCount%PageSize = 0)count = resultCount/PageSize;PageCount.Text = count.ToString();elsecount = resultCount/PageSize+1;PageCount.Text = count.ToString();this.PageControl.Items.Clear

21、();/綁定頁碼到DropDownList控件for(int i=0; i<count; i+)ListItem item = new ListItem(i+1).ToString(), i.ToString();this.PageControl.Items.Add(item);ndex = pageIndex;選中需要購買的商品名字,單擊“購買”按鈕,即可加入購物車。如圖11所示。圖11 購買商品主要代碼:protected void Page_Load(object sender, System.EventArgs e)/頁面第一次加載時if (!Page.IsPostBack)Sh

22、owProductInfo();void ShowProductInfo()/獲取Get方式傳遞的ProductId參數(shù)的值int productId = int.Parse(Request"ProductId");/獲取某個商品的詳細信息fo(productId);/商品是否存在if (pro = null)lblSearchResults.Text = "沒有這個商品"else/顯示商品詳細信息lblProductName.Text = ductName;lblPrice.Text = ductPrice.ToString

23、();lblIntro.Text = ro;lblClickCount.Text = pro.clickCount.ToString();#region Web 窗體設(shè)計器生成的代碼override protected void OnInit(EventArgs e)/ CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。/InitializeComponent();base.OnInit(e);/ <summary>/ 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改/ 此方法的內(nèi)容。/ </summary>private void

24、InitializeComponent() #endregion3.7購物車界面用戶登錄后可以使用購物車功能,將用戶所選的商品添加到購物車中,通過GridView控件實現(xiàn)商品的添加。用戶點擊購買商品,通過產(chǎn)品ID字段添加到訂單表中,用戶可以在購物車中隨時查看信息,并且可以在購物車中刪除或清空添加的物品。購物車中的信息通過session保存在緩存中,當用戶確定下單之后保存在訂單表中。網(wǎng)站擁有購物車功能,可以簡化用戶購買流程減少不必要的操作。購物車界面如圖12所示。圖12 購物車界面主要代碼:void ShowShoppingCartList() BLL.ShoppingCart cart = n

25、ew BLL.ShoppingCart();/ 得到用戶的購物車IDString cartID = cart.GetShoppingCartId();/ 如果購物車內(nèi)沒有商品,DataGrid隱藏if (cart.GetItemCount(cartID) = 0) DetailsPanel.Visible = false;MyError.Text = "購物車內(nèi)沒有商品。"else / 綁定購物車信息到DataGridMyList.DataSource = cart.GetItems(cartID);MyList.DataBind();/顯示總金額lblTotal.Text

26、 = String.Format( "0:c", cart.GetTotal(cartID);加入購物車后,再次確認商品列表,如購買無誤,點擊“提交”按鈕,成功結(jié)算商品,進行付款,愉快的購物旅程就結(jié)束了。購物車確認界面如圖13所示。圖13 購物車提交界面主要代碼:protected void Page_Load(object sender, System.EventArgs e)if (!Page.IsPostBack)/得到cartID BLL.ShoppingCart cart = new BLL.ShoppingCart();string cartID = cart.

27、GetShoppingCartId();/綁定購物車信息到DataGridMyDataGrid.DataSource = cart.GetItems(cartID);MyDataGrid.DataBind();/得到購物車總花費TotalLbl.Text = String.Format( "0:c", cart.GetTotal(cartID);protected void SubmitBtn_Click(object sender, System.EventArgs e)BLL.ShoppingCart cart = new BLL.ShoppingCart();stri

28、ng cartID = cart.GetShoppingCartId();decimal totalCost = cart.GetTotal(cartID);string userID = User.Identity.Name;if (cartID!=null && userID!=null)BLL.Orders order = new BLL.Orders();if (order.PayOrder(userID, totalCost) = 1)int orderID = order.PlaceOrder(userID, cartID);Message.Text = "

29、;您的訂單號為"+orderID;SubmitBtn.Visible = false;elseShowErrorMsgBox();void ShowErrorMsgBox()Response.Write("<script language=javascript>");Response.Write("window.alert("您的預存款不足")");Response.Write("</script>");4設(shè)計體會通過這段時間的系統(tǒng)開發(fā)和文檔撰寫過程,通過查閱、研究大量的相關(guān)文獻,

30、分析相關(guān)領(lǐng)域的特色網(wǎng)站并結(jié)合實際,使我對電子商務(wù)網(wǎng)站方面的理論知識,包括對它的定義,內(nèi)涵,特點,功能,技術(shù)等方面的研究都有了 更深的了解。并親自利用所學知識建立了一個網(wǎng)上購物網(wǎng)站。雖然由于時間有限和本人能力有限,這個系統(tǒng)還不夠完善,還有許多地方有待改進。但這短短一周的課程設(shè)計,對我來說是對學科的一次全面檢查。通過理論學習,在課程設(shè)計中得到實際上的應(yīng)用,它使我懂得了如何去開發(fā)一個系統(tǒng)或者一個軟件,它也使我懂得了軟件的結(jié)構(gòu),在設(shè)計過程中使我對ASP.NET技術(shù)、SQL Server 2000數(shù)據(jù)庫以及WEB網(wǎng)站開發(fā)有了更深入的理解,對即將步入社會的我積累了經(jīng)驗。通過本次設(shè)計開發(fā),讓我對于編程有了更

31、深入的體會。認識到自己在技術(shù)上的不足,需要學習更多的設(shè)計方法和編程技術(shù)。在以后的開發(fā)過程中,要更加細致的分析用戶的需求和系統(tǒng)實現(xiàn)的方法,認真思考業(yè)務(wù)處理過程與用戶需求之間的平衡。在分析和思考項目實現(xiàn)方法的過程中,學到了更加實用的知識,讓我知道在以后的學習和工作中有了明確的指導方向。5參考文獻1劉金嶺.馮萬利.數(shù)據(jù)庫系統(tǒng)及應(yīng)用教程M.清華大學出版社.2013.62微軟公司.ASP.NET標準教程M.中國勞動社會保障出版社,2011.12 3王輝.黃紅超.ASP.NET實用教程M.清華大學出版社.2014.24金旭亮.ASP.NET程序設(shè)計教程M.北京:電子工業(yè)出版社.2015.35叢書.ASP.

32、NET與網(wǎng)站開發(fā)實踐教程M.北京:清華大學出版社.2014.36龍馬. ASP.NET+SQL Server組建網(wǎng)站實例精講M.北京:人民郵電出版社.2012.67徐國智.汪孝宜.SQL SERVER數(shù)據(jù)庫開發(fā)實例精粹M.北京:電子工業(yè)出版社.2010.18薛萬欣.電子商務(wù)網(wǎng)站建設(shè)M.北京:機械工業(yè)出版社. 2010.89張啟明.ASP.NET+SQL SERVER 網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)與實例M.北京:人民郵電出版社.2011.210陳建偉.ASP.NET網(wǎng)站開發(fā)教程(第二版)M.北京:清華大學出版社.2010.1附錄:using System;using System.Collections;u

33、sing System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace eshop/ <summary>/ Register 的摘要說明。/ </summary>protected void Page_Load(object sen

34、der, System.EventArgs e)/ 在此處放置用戶代碼以初始化頁面#region Web 窗體設(shè)計器生成的代碼override protected void OnInit(EventArgs e)/ CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計器所必需的。/InitializeComponent();base.OnInit(e);/ <summary>/ 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改/ 此方法的內(nèi)容。/ </summary>private void InitializeComponent() #endregionpro

35、tected void Submit_Click(object sender, System.EventArgs e)/獲得注冊信息string userName = LoginName.Text.Trim();string password = Password.Text.Trim();string question = Question.Text.Trim();string answer = Answer.Text.Trim();/得到原來的CartIdBLL.ShoppingCart cart = new eshop.BLL.ShoppingCart();string tempCartI

36、d = cart.GetShoppingCartId();/試圖添加新用戶BLL.User user = new eshop.BLL.User();int userId = user.AddNewUser(userName, password, question, answer);/如果返回值為-1,則表示用戶名存在if (userId = -1)Message.Text = "用戶名已存在!"else/設(shè)置用戶為通過驗證System.Web.Security.FormsAuthentication.SetAuthCookie(userId.ToString(),false

37、);/遷移購物車記錄cart.MigrateCart(tempCartId, userId.ToString();/將用戶重定向回用戶帳戶頁面Response.Redirect("MyAcount.aspx");using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace eshop/ <summary>/

溫馨提示

  • 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

提交評論