基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) -_第1頁
基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) -_第2頁
基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) -_第3頁
基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) -_第4頁
基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) -_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、【標(biāo)題】基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) 【作者】朱婧紅 【關(guān)鍵詞】鮮花銷售  銷售系統(tǒng)  ASP.NET  【指導(dǎo)老師】程冰 【專業(yè)】計(jì)算機(jī)科學(xué)與技術(shù) 【正文】界面的設(shè)計(jì)用于顧客瀏覽各種鮮花,如鮮花的價格、花語等以達(dá)成購置意向,當(dāng)鼠標(biāo)指向各種鮮花時,會顯示鮮花的花語,以便購置者根據(jù)自己的需要選擇不同的花束。鮮花的價格分為非會員價格和會員價格,以不同身份登錄系統(tǒng)時,所要支付的貨款也時不同的。然后放入購物車,并填寫訂單,提交訂單及確認(rèn)訂單等操作。收貨人信息界面中的每一個文本框的輸入都有驗(yàn)證,內(nèi)容不能為空,并校對輸入的內(nèi)容是否正確,如果沒有正確的輸入,系

2、統(tǒng)將會提示操作失敗,以便重新添加正確的內(nèi)容,然后確認(rèn)訂單并提交。其樣式如5-2圖。5.3蛋糕頁面的設(shè)計(jì)同鮮花頁面功能類似,顧客瀏覽各種蛋糕,以確定適應(yīng)購置的需要。然后放入購物車,并填寫訂單,提交訂單及確認(rèn)訂單等操作。當(dāng)鼠標(biāo)指向各種蛋糕時,會顯示蛋糕的含義,以便購置者根據(jù)自己的需要選擇不同的貨物。蛋糕的價格也分為非會員價格和會員價格,當(dāng)以不同身份登錄系統(tǒng)時,所要支付的貨款也是不同的。收貨人信息界面中的每一個文本框的輸入都有驗(yàn)證,內(nèi)容不能為空,并校對輸入的內(nèi)容是否正確,如果沒有正確的輸入,系統(tǒng)將會提示操作失敗,以便重新添加正確的內(nèi)容,然后確認(rèn)訂單并提交。5.4水果頁面的設(shè)計(jì)如同前兩個頁面,顧客瀏覽

3、各樣蛋糕,然后確定購置。填寫訂單、確認(rèn)訂單及提交訂單。其樣式結(jié)構(gòu)如圖5-3所示。        圖5-3水果界面                                  

4、        圖5-4會員界面5.5會員頁面的設(shè)計(jì)我的賬戶頁面在這個頁面里會員可以修改自己的密碼。其樣式結(jié)構(gòu)如圖5-4所示。購物車頁面購物車頁面用于實(shí)現(xiàn)購物車管理模塊的功能要求,頁面采用了一個datagrid控件來顯示購物車中的商品信息,并將它的“數(shù)量列設(shè)為flowerbox列,允許客戶修改商品的數(shù)量,同時將“刪除列設(shè)為checkbox列,允許刪除所購置的鮮花。會員可以查看自己購物車?yán)锼彽纳唐?,選擇繼續(xù)購置或刪除商品,然后提交訂單、確認(rèn)訂單。5.6管理界面的設(shè)計(jì)商品管理管理員可以查看那商品信息,對商品添加,商品

5、信息修改及刪除過期商品。其樣式圖如圖5-5所示。訂單管理訂單管理頁可以查看已發(fā)貨訂單、未發(fā)貨訂單、未完成訂單及已完成訂單。完成訂單與否即判斷貨物是否發(fā)出,是否收到。發(fā)貨、收貨物與否都由管理員操作,隨時更新訂單信息。樣式圖如圖5-6所示。會員管理查看會員的詳細(xì)信息,如賬號、密碼、姓名、性別等,還可以刪除會員信息。公告管理對公告進(jìn)行添加公告、修改,刪除過期公告等。并可以決定是否顯示在首頁,假設(shè)是較為重要的公告,那么將其顯示在首頁,以引起顧客的注意。購物車管理對已發(fā)貨或者沒有生成訂單的購物車進(jìn)行及時管理去除,以減少數(shù)據(jù)庫的信息,使其訪問速度更高。管理員信息修改主要用于管理員修改自己的密碼。 

6、;          圖5-5商品管理界面                                  圖5-6訂單管理界面6 代碼實(shí)現(xiàn)界面設(shè)計(jì)

7、是系統(tǒng)的外在表現(xiàn),而功能那么由后臺代碼來實(shí)現(xiàn)。在代碼實(shí)現(xiàn)過程中,采用類的封裝,來實(shí)現(xiàn)對所有數(shù)據(jù)的操作。封裝的過程中,對所有的方法以靜態(tài)方式封裝,以保證在后續(xù)的使用中不用實(shí)例化,直接通過類來調(diào)用,以提高代碼的使用效率?;赪eb的鮮花銷售系統(tǒng)的核心代碼主要是對商品的不同性質(zhì)的操作,例如瀏覽商品、選擇商品、購置商品及為商品付款等操作。下面針對一些比擬難以理解的代碼給與適當(dāng)?shù)慕忉?,以便更清楚的了解系統(tǒng)的實(shí)現(xiàn)原理。6.1購物車類實(shí)現(xiàn)購物車是指當(dāng)用戶在瀏覽商品的過程中,發(fā)現(xiàn)自己需要的商品后,夠通過操作將該商品放入其中。購物車針對不同身份的用戶進(jìn)行不同的存儲。當(dāng)用戶尚未登錄時,購物車中存儲的是該商品的普通

8、價格;當(dāng)用戶登錄之后,進(jìn)行添加操作的時候那么存儲的是會員價格的商品。在設(shè)計(jì)的過程中,采用一張名為ShoppingCart的表來存儲相關(guān)信息。該表的購物車編號數(shù)據(jù)類型為Varchar,在添加的時候利用System.GuidClass產(chǎn)生一組隨機(jī)GUID(全局唯一標(biāo)識符)來標(biāo)示的。這樣做的好處是能夠確保任何時候不同的用戶的購物車都是唯一標(biāo)示的。然后在將該字符串保存在用戶機(jī)器的cookies中。購物車頁面的后臺支持類是ShoppingCartAccess.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。購物車分為兩種,一種是已經(jīng)登錄過的用戶的購物車,在購物車編號中可以看到一個為具體數(shù)字的編號,購物車的ID等于用戶

9、ID另外一中是未登錄過的用戶的購物車,在購物車編號中可以看到一個字符串,該字符串保存在cookies,是利用System.GuidClass產(chǎn)生一個隨機(jī)GUID(全局唯一標(biāo)識符),回寫到客戶端指定的cookies中,同時返回TempCartId作為購物車的編號。購物車頁面的后臺支持類是ShoppingCartAccess.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。首先,定義shopoingcart類,繼承了System.Web.UI.Page系統(tǒng)類:public partial class ShoppingCart : System.Web.UI.Page在頁面的Page_Load()事件中

10、,對datalist控件的數(shù)據(jù)綁定方法進(jìn)行調(diào)用。代碼如下:    protected void Page_Load(object sender,EventArgs e)購物車編號生成的源碼如下:private static string CartId   get                 HttpContext context = HttpContext.Current;

11、           string ShoppingCartId = ""           object cartIdSession=context.Session"FlowerShop_CartID"           if

12、0;(cartIdSession != null)                ShoppingCartId = cartIdSession.ToString();           if (ShoppingCartId != "")   

13、60;            return ShoppingCartId;           else                        

14、;    if (context.Request.Cookies"FlowerShop_CartID" != null)                                  &

15、#160; ShoppingCartId = context.Request.Cookies"FlowerShop_CartID".Value;                    context.Session"FlowerShop_CartID" = ShoppingCartId;     &

16、#160;              return ShoppingCartId;                                else

17、60;                                ShoppingCartId = Guid.NewGuid().ToString();          &#

18、160;      HttpCookie  cookie = new HttpCookie("FlowerShop_CartID",ShoppingCartId.ToString();                 int howManyDays = FlowerShopKeyField.CartPersistDays; &#

19、160;               DateTime currentDate = DateTime.Now;                 TimeSpan timeSpan = new TimeSpan(howManyDays,0,0,0);  

20、0;              DateTime expirationDate = currentDate.Add(timeSpan);                 cookie.Expires = expirationDate;    

21、0;            context.Response.Cookies.Add(cookie);                 context.Session"FlowerShop_CartID" = ShoppingCartId;     

22、            return ShoppingCartId.ToString();                                 &#

23、160;6.2訂單列表頁面實(shí)現(xiàn)訂單是在用戶選擇了需要的商品之后,在購物車頁面通過生成訂單操作進(jìn)入訂單界面。當(dāng)用戶填寫相關(guān)信息之后,點(diǎn)擊提交便生成了一份訂單。訂單頁面的后臺支持類是orderlist.aspx.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。在頁面的的Page_Load()事件中,首先判斷是否是已登陸的會員,如果已登陸那么獲取已經(jīng)登錄的客戶的UserID,然后利用這個UserID的值調(diào)用類中的方法,返回指定的某一個訂單的詳細(xì)信息,并在控件上顯示。訂單列表頁面的后臺支持類是orderlist.aspx.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。首先定義orderlist類,繼承了System.Web.U

24、I.Page系統(tǒng)類。public partial class Submitmanag : System.Web.UI.Page在頁面的的page_load()事件中,首先利用ASP.Net內(nèi)建的User對象的屬性,獲取已經(jīng)登錄的客戶的UserID,然后利用這個UserID的值調(diào)用類中的方法,返回指定的某一個訂單的詳細(xì)信息,并在控件上顯示。代碼如下:protected void Page_Load(object sender, EventArgs e)           &#

25、160; if (Session"Admin" = null)            CatalogAccess.WebMessageBox("您尚未登陸!", "Admin_login.aspx");        if (Request.QueryString"submitId" !=

26、 null)                    string submitId = Request.QueryString"submitId".ToString();            Submit submit = ShoppingCartAcces

27、s.GetSubmit(submitId);            if (submit.Email != "")                           &

28、#160;   Payee.Text = submit.Payee;                Addr.Text = submit.Addr;                Email.Text = submit.Email; 

29、60;              TelDh.Text = submit.TelDh;                TelSj.Text = submit.TelSj;           

30、;     PostalCode.Text = submit.PostalCode;                Remarks.Text = submit.Remarks;                decimal totalAmo

31、unt;                SubmitProductslist.DataSource = ShoppingCartAccess.GetProductsInSubmit(submitId, out totalAmount);                SubmitProdu

32、ctslist.DataBind();                TotalAmount.Text = string.Format("0:c", totalAmount);                    &#

33、160;   else                            CatalogAccess.WebMessageBox("訂單不存在,請重新選定!", "Default.aspx");     &

34、#160;                  6.3驗(yàn)證碼的實(shí)現(xiàn)驗(yàn)證碼負(fù)責(zé)對頁面的驗(yàn)證輸入局部進(jìn)行處理,只有當(dāng)用戶輸入與系統(tǒng)顯示的驗(yàn)證圖片上的字符后,才能正確登錄到系統(tǒng)相關(guān)頁面,如會員登錄和管理員登錄。它繼承了System.Web.UI.Page系統(tǒng)類。public partial class CheckCode : System.Web.UI.Page在頁面的事件中,調(diào)用了GenerateCheckCod

35、e()方法     protected void Page_Load(object sender, EventArgs e)                 CreateCheckCodeImage(GenerateCheckCode();        在驗(yàn)證碼的獲取中,其主要代碼如下:private string

36、GenerateCheckCode()          int number;         char code;         string strCheckCode = String.Empty;         System.Random rand

37、om = new Random();         for (int iCount = 0; iCount < 5; iCount+)                            number

38、 = random.Next();                if (number % 2 = 0)                         

39、60;          code = (char)('0' + (char)(number % 10);                            &

40、#160;   else                                    code = (char)('A' + (char)(number 

41、% 26);                                strCheckCode += code.ToString();           

42、0;            /Response.Cookies.Add(new HttpCookie("checkcode",strCheckCode);             Session"CheckCode" = strCheckCode;     &

43、#160;      return strCheckCode;                / 創(chuàng)立驗(yàn)證碼圖片,并將其寫入內(nèi)存流中          private void CreateCheckCodeImage(string CheckCode)   

44、                 if (CheckCode = null | CheckCode.Trim() = String.Empty)                     &#

45、160;      return;                        Bitmap img = new Bitmap(int)Math.Ceiling(CheckCode.Length * 10.5), 22);      &#

46、160;     Graphics g = Graphics.FromImage(img);            try                          

47、60; /生成隨機(jī)生成器                Random random = new Random();                /清空圖片背景色         

48、       g.Clear(Color.White);                /畫圖片的背景噪音線                for (int iCount = 0; iCount &l

49、t; 25; iCount+)                                    int x1 = random.Next(img.Width);      &

50、#160;             int x2 = random.Next(img.Width);                    int y1 = random.Next(img.Height);     &#

51、160;              int y2 = random.Next(img.Height);                    g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);  &#

52、160;                             Font font = new Font("Arial", 11, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic);&#

53、160;               System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, img.Width, img.Height), Color.Blue, Color.DarkRed, 1.2f, true);   

54、60;            g.DrawString(CheckCode, font, brush, 2, 2);                /畫圖片的前景噪音點(diǎn)             

55、60;  for (int i = 0; i < 100; i+)                                    int x = random.Next(img.Widt

56、h);                    int y = random.Next(img.Height);                    img.SetPixel(x, y, Color.FromA

57、rgb(random.Next();                                /畫圖片的邊框線             

58、0;  g.DrawRectangle(new Pen(Color.Silver), 0, 0, img.Width - 1, img.Height - 1);                System.IO.MemoryStream ms = new System.IO.MemoryStream();        

59、0;       img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);                Response.ClearContent();                Re

60、sponse.ContentType = "image/Gif"                Response.BinaryWrite(ms.ToArray();                    

61、60;   catch (Exception exp)                            throw exp;              &

62、#160;         finally                            g.Dispose();          

63、0;     img.Dispose();                         7 軟件測試軟件測試就是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。任何軟件都有缺陷,這些缺陷,可能是以下幾個方面造成的: 1交流不夠、交流上有誤解或者根本不進(jìn)行交流 2軟件復(fù)雜性   &

溫馨提示

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

評論

0/150

提交評論