基于Android網(wǎng)上購物系統(tǒng)的設(shè)計(jì)_第1頁
基于Android網(wǎng)上購物系統(tǒng)的設(shè)計(jì)_第2頁
基于Android網(wǎng)上購物系統(tǒng)的設(shè)計(jì)_第3頁
基于Android網(wǎng)上購物系統(tǒng)的設(shè)計(jì)_第4頁
基于Android網(wǎng)上購物系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

系統(tǒng)概述1.1研究背景近年來,隨著互聯(lián)網(wǎng)的迅速崛起,互聯(lián)網(wǎng)越來越成為收集和提供信息的最佳渠道,逐漸進(jìn)入傳統(tǒng)的流通領(lǐng)域。結(jié)果,網(wǎng)上購物變得流行起來。越來越多的企業(yè)建立了網(wǎng)上商店,向消費(fèi)者展示一種新的購物理念。網(wǎng)上購物網(wǎng)站是一個(gè)具有互動(dòng)功能的商業(yè)信息系統(tǒng)。它為用戶提供靜態(tài)和動(dòng)態(tài)信息資源。靜態(tài)信息是指那些不經(jīng)常變化或更新的資源,如公司簡介、管理規(guī)范以及公司制度等,動(dòng)態(tài)信息是指那些隨時(shí)變化的信息,如產(chǎn)品報(bào)價(jià)和產(chǎn)品更新等,網(wǎng)上購物網(wǎng)站具有強(qiáng)大的交互功能。使企業(yè)和用戶能夠輕松地傳輸信息和完成電子交易。在現(xiàn)實(shí)生活中,網(wǎng)絡(luò)購物已成為現(xiàn)代人的一種需求。它的便利性和速度是傳統(tǒng)購物方式無法比的。1.2研究意義和現(xiàn)狀I(lǐng)nternet快速發(fā)展急速的推動(dòng)網(wǎng)上購物網(wǎng)站的發(fā)展。于此同時(shí),網(wǎng)絡(luò)購物環(huán)境逐步改善,表現(xiàn)為網(wǎng)民結(jié)構(gòu)的普及和網(wǎng)絡(luò)生存的普及,物流和銀行結(jié)算的順暢流動(dòng),市場運(yùn)行規(guī)范以及相應(yīng)政策法規(guī)的完善。網(wǎng)上購物將吸引越來越多的網(wǎng)友,網(wǎng)友對購物網(wǎng)站的看法將進(jìn)一步理解,從拒絕到接受,從懷疑到包容,從否定到理解,網(wǎng)上購物的概念將更加扎根于人們的心中。隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)已成為現(xiàn)代生活的一部分。越來越多的人喜歡網(wǎng)上交易。傳統(tǒng)的銷售方式已經(jīng)不能滿足時(shí)代的要求。在此情況下,基于Web模式的網(wǎng)上購物系統(tǒng)得到了快速的發(fā)展。可以說,網(wǎng)上購物系統(tǒng)改變了人們的生活和工作方式。在此情況下,作為一家出版社,如何使網(wǎng)上購物系統(tǒng)滿足顧客的需求,已成為抉擇其發(fā)展的重要因素之一?;谏鲜銮闆r,開發(fā)了該系統(tǒng)。本系統(tǒng)是基于B/S模式的網(wǎng)絡(luò)交易系統(tǒng)。該系統(tǒng)主要用于電子產(chǎn)品交易的網(wǎng)絡(luò)管理,使網(wǎng)上購物更容易,以便提高工作效率,從而降低管理成本,方便用戶使用,并可增加其網(wǎng)站的附加利潤。網(wǎng)絡(luò)正在從產(chǎn)品形式向服務(wù)形式轉(zhuǎn)化,所以網(wǎng)上購物在網(wǎng)絡(luò)中的發(fā)展將要占據(jù)重要的地位,因?yàn)樗淖谥季褪浅浞掷肐nternet取代傳統(tǒng)的銷售方式,充當(dāng)買主和賣主的零售商。微軟的.NET技術(shù)戰(zhàn)略意義本身就是幫助用戶在任何時(shí)候、任何地方、利用任何的工具都可以獲得網(wǎng)絡(luò)上的信息,并享受網(wǎng)絡(luò)通訊帶來的快樂。本課題就是通過微軟的ASP.NET開發(fā)的一個(gè)基于B/S的網(wǎng)上購物管理系統(tǒng),主要實(shí)現(xiàn)了網(wǎng)上購物和后臺的管理。雖然目前網(wǎng)上購物管理系統(tǒng)數(shù)量較多,但ASP.NET開發(fā)的網(wǎng)上購物管理系統(tǒng)卻很少。通過本系統(tǒng)的開發(fā),我們不僅可以學(xué)習(xí)如何利用ASP.NET開發(fā)一個(gè)更完善的綜合網(wǎng)上購物管理、網(wǎng)上訂購等功能的綜合網(wǎng)上購物管理系統(tǒng),還可以促進(jìn)我們對所學(xué)知識的綜合利用,讓我們能夠?qū)?yīng)用程序的開發(fā)過程有更深的理解。2可行性分析2.1技術(shù)可行性利用Android平臺開發(fā)網(wǎng)上購物系統(tǒng)是可行的。Android操作系統(tǒng)提供豐富的開發(fā)資源和工具,如AndroidStudio、SDK等,可實(shí)現(xiàn)界面設(shè)計(jì)、數(shù)據(jù)庫管理、網(wǎng)絡(luò)通信等功能。通過掌握Android應(yīng)用開發(fā)技術(shù),結(jié)合網(wǎng)上購物系統(tǒng)的需求,可實(shí)現(xiàn)一個(gè)功能完善、用戶體驗(yàn)良好的購物系統(tǒng)。2.2經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性研究主要分析成本效益,包括估算項(xiàng)目開發(fā)成本,估算開發(fā)成本是否高于項(xiàng)目的預(yù)期總利潤。為了了解軟件所帶來的經(jīng)濟(jì)效益是否與開發(fā)設(shè)計(jì)所需的投資相比較合適,以及軟件能否真正為用戶帶來足夠的經(jīng)濟(jì)效益,我們開發(fā)的系統(tǒng)旨在提高用戶的效率,節(jié)省工作時(shí)間,便于操作和管理。該系統(tǒng)的開發(fā)在經(jīng)濟(jì)上是可行的。開發(fā)這個(gè)軟件不需要很多錢,它是由個(gè)人獨(dú)立設(shè)計(jì)的。它可以節(jié)省大量資金,提高個(gè)人的實(shí)踐能力。2.3操作可行性伴隨著科學(xué)技術(shù)的飛速發(fā)展,計(jì)算機(jī)已廣泛應(yīng)用于世界各方面,便捷的科學(xué)技術(shù)條件給人們帶來了優(yōu)質(zhì)的工作環(huán)境,也使人們對工作效率和可操作性有了更高的追求。所以,管理形式的計(jì)算機(jī)是社會(huì)發(fā)展的必然結(jié)果,各種智能軟件比比皆是,減少了原來手工操作耗費(fèi)的局面,提高了工作的效率和準(zhǔn)確性。系統(tǒng)的用戶平臺直接面向購物管理者和系統(tǒng)管理者。界面簡單明了。通過可視化界面,普通用戶能通過鼠標(biāo)和鍵盤查看資訊。由于本系統(tǒng)的操作簡單易懂,初次使用本系統(tǒng)的用戶,無需復(fù)雜的培訓(xùn)和學(xué)習(xí),即可掌握本系統(tǒng)的操作環(huán)節(jié)。因此,在實(shí)際操作中開發(fā)該軟件是可行的。3系統(tǒng)概要設(shè)計(jì)3.1系統(tǒng)結(jié)構(gòu)本系統(tǒng)基于網(wǎng)站系統(tǒng)的Android系統(tǒng),具體功能如下:系統(tǒng)分為兩個(gè)角色:管理員和普通用戶。管理員可以管理商品的基本信息、分類、訂單管理、新聞管理和用戶管理以及密碼修改等。用戶管理可以查看新聞、商品信息、采購管理訂單、修改個(gè)人信息等系統(tǒng)功能。系統(tǒng)功能模塊圖如圖3-1所示。圖3-1系統(tǒng)功能結(jié)構(gòu)圖3.2數(shù)據(jù)庫設(shè)計(jì)3.2.1數(shù)據(jù)庫E-R圖概念模型是對現(xiàn)實(shí)信息進(jìn)行抽象概括,實(shí)現(xiàn)對信息世界的建模。它是一個(gè)強(qiáng)大的數(shù)據(jù)庫設(shè)計(jì)工具。數(shù)據(jù)庫概念模型的設(shè)計(jì)可以用E-R圖來表述現(xiàn)實(shí)世界的概念模型。系統(tǒng)的E-R圖顯示了系統(tǒng)中各實(shí)體之間的關(guān)系。3.2.2數(shù)據(jù)庫實(shí)體管理員信息屬性圖:如圖3-2所示。圖3-2管理員信息實(shí)體屬性圖公告信息屬性圖:如圖3-3所示。圖3-3公告信息實(shí)體屬性圖會(huì)員信息實(shí)體屬性圖:如圖3-4所示。圖3-4會(huì)員信息屬性圖商品信息實(shí)體屬性圖:如圖3-5所示。圖3-5商品信息實(shí)體屬性圖4系統(tǒng)詳細(xì)設(shè)計(jì)4.1系統(tǒng)首頁當(dāng)用戶打開網(wǎng)站時(shí),他首先會(huì)看到系統(tǒng)主頁。在系統(tǒng)主頁上,主頁的總體布局清晰合理。首先,系統(tǒng)的標(biāo)志在頂部,然后導(dǎo)航在底部。在導(dǎo)航下,搜索和系統(tǒng)的特定功能位于底部。在主頁上,他可以看到貨架上最新的商品信息和最高銷售量。效果如圖4-1所示。圖4-1系統(tǒng)首頁頁面核心代碼:if(!IsPostBack){stringsql1="selecttop8*fromdbo.tb_Goodsorderbysalesdesc";DataSetresult=DBHelper.GetDataSet(sql1);this.dlstGoods.DataSource=result.Tables[0];this.dlstGoods.DataBind();}}protectedvoiddlstGoods_ItemCommand(objectsource,DataListCommandEventArgse){if(e.CommandName=="detail"){//獲得當(dāng)前商品編號Int32id=Int32.Parse(dlstGoods.DataKeys[e.Item.ItemIndex].ToString());//在新窗口中彈出商品詳細(xì)信息頁面Response.Redirect("goodsdetail.aspx?goodsid="+id);}elseif(e.CommandName=="NowBuy"){//獲得當(dāng)前商品編號Int32id=Int32.Parse(dlstGoods.DataKeys[e.Item.ItemIndex].ToString());//在新窗口中彈出商品詳細(xì)信息頁面Response.Redirect("LCheckOut.aspx?goodsid="+id);}elseif(e.CommandName=="buy"){//當(dāng)前用戶是否登陸?只有登陸用戶才可以購物if(Session["MemberName"]!=null){intgoodsid=Int32.Parse(dlstGoods.DataKeys[e.Item.ItemIndex].ToString());floatprice=BuyCar.GetPriceByGoodsID(Int32.Parse(dlstGoods.DataKeys[e.Item.ItemIndex].ToString()));//添加商品到表tb_BuyInfoBuyCar.AddShopCart(goodsid,price,Int32.Parse(Session["MemberID"].ToString()),1);//提示添加成功Response.Write("<script>alert('恭喜您,添加成功!');document.location=document.location;</script>");}else//沒有登陸。提示:請先登錄,謝謝合作!{Response.Write("<script>alert('請先登錄,謝謝合作!');document.location=document.location;</script>");}}4.2用戶注冊如果游客想購買商品,他們可以注冊成為會(huì)員。注冊會(huì)員時(shí),需要輸入用戶名、密碼、手機(jī)號碼、郵政編碼、地址等基本信息,并提交信息。檢查后,可以成功注冊。效果如圖4-2所示。圖4-2用戶注冊核心代碼:protectedvoidButton1_Click(objectsender,EventArgse){stringname=this.TextBox1.Text.Trim();stringpwd=this.TextBox2.Text.Trim();stringsex=this.DropDownList1.SelectedItem.Text.Trim();stringrealname=this.TextBox4.Text.Trim();stringmobiletel=this.TextBox7.Text.Trim();stringemail=this.TextBox8.Text.Trim();stringaddress=this.TextBox5.Text.Trim();stringcode=this.TextBox6.Text.Trim();stringsql1="insertintotb_Member(MemberName,MemberPwd,Sex,RealName,MobileTel,Email,Address,Code)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')";stringsql2=string.Format(sql1,name,pwd,sex,realname,mobiletel,email,address,code);//有幾個(gè)占位符,就要傳遞幾個(gè)變量值,而且要一一對應(yīng)booliRet=DBHelper.ExecSql(sql2);if(iRet){Response.Write("<scriptlanguage='javascript'>alert('注冊成功!');location='javascript:history.go(-1)';</script>");}else{Response.Write("<scriptlanguage='javascript'>alert('注冊失敗!');location='javascript:history.go(-1)';</script>");}}4.3商品信息單擊產(chǎn)品的詳細(xì)信息后,用戶可以看到產(chǎn)品的詳細(xì)信息,如名稱、類別、價(jià)格、圖片等。效果如圖4-3所示。圖4-3商品信息核心代碼:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){intid=Convert.ToInt32(Request.QueryString["goodsid"]);stringSql="select*fromView_1whereGoodsID="+id;DataSetresult=DBHelper.GetDataSet(Sql);DataTabledt=result.Tables[0];this.Label2.Text=dt.Rows[0]["GoodsName"].ToString();this.Label1.Text=dt.Rows[0]["TypeName"].ToString();this.Label4.Text=dt.Rows[0]["Price"].ToString();this.Label5.Text=dt.Rows[0]["Introduce"].ToString();this.Image10.ImageUrl=dt.Rows[0]["GoodsPicture"].ToString();stringSQLPJ="select*fromTB_PingJiawhereGoodsID="+id;this.GridView1.DataSource=DBHelper.GetDataSet(SQLPJ);this.GridView1.DataBind();}}protectedvoidButton1_Click(objectsender,EventArgse){if(Session["MemberName"]!=null){intgoodsid=Convert.ToInt32(Request.QueryString["goodsid"]);floatprice=Convert.ToSingle(this.Label4.Text);//添加商品到表tb_BuyInfoBuyCar.AddShopCart(goodsid,price,Int32.Parse(Session["MemberID"].ToString()),1);//提示添加成功Response.Write("<script>alert('恭喜您,添加成功!');document.location=document.location;</script>");}else//沒有登陸。提示:請先登錄,謝謝合作!{Response.Write("<script>alert('請先登錄,謝謝合作!');document.location=document.location;</script>");}4.4購物車管理在購物車信息中購買或添加商品后,用戶可以查看購物車的特定信息。購物車信息包括采購商品信息、采購數(shù)量等基本信息,如圖4-4所示。圖4-4購物車信息核心代碼:}privatevoidgvShopCarBindData(){BuyCar.CarBind(this.gvShopCar,Int32.Parse(Session["MemberID"].ToString()));//調(diào)用靜態(tài)函數(shù)//根據(jù)gvOrderInfo中記錄個(gè)數(shù)判定lbFlag等控件是否顯示,以提示用戶是購物車中否有商品,控制商品總價(jià)錢和總數(shù)量,超級鏈接按鈕是否顯示。if(gvShopCar.Rows.Count>=1){lbFlag.Visible=false;DataSetds=BuyCar.TotalMoneyNum(Int32.Parse(Session["MemberID"].ToString()));lbSumNum.Text=ds.Tables[0].Rows[0][0].ToString();lbSumPrice.Text=ds.Tables[0].Rows[0][1].ToString();}else{lbFlag.Visible=true;lbSumPrice.Text="0";lbSumNum.Text="0";LinkBtKeepBuy.Visible=false;LinkBtCheck.Visible=false;LinkBtClear.Visible=false;}}4.5訂單管理用戶進(jìn)入購物車后,將購物信息轉(zhuǎn)換為訂單信息。在訂單信息中,用戶可以查看訂單的具體信息,并接收已收到的貨物。效果如圖4-5所示。圖4-5訂單信息核心代碼:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){if(Session["MemberID"]==null){return;}stringsql="SELECTdistinctdbo.tb_Order.OrderID,dbo.tb_Order.TotalMoney,dbo.tb_Order.OrderDate,dbo.tb_Order.OrderState,dbo.tb_Order.PayType,dbo.tb_Order.IsPayed,dbo.tb_Order.ReceiverName,dbo.tb_Order.ReceiverTel,dbo.tb_Order.Address,dbo.tb_Order.Code,dbo.tb_Order.Email,dbo.tb_Member.MemberName,dbo.tb_Order.MemberIDFROMdbo.tb_Order,dbo.tb_Memberwheretb_Order.MemberID=tb_Member.MemberIDanddbo.tb_Order.MemberID="+Int32.Parse(Session["MemberID"].ToString())+"ORDERBYdbo.tb_Order.OrderDateDESC";BindData(sql);}}在訂單明細(xì)中,可以看到具體的采購信息和當(dāng)前訂單的狀態(tài),如發(fā)貨是否以及已發(fā)送貨品的物流和物流訂單號是什么,如圖4-6所示。圖4-6訂單詳情核心代碼:publicstaticCommonPropertyorder=newCommonProperty();//靜態(tài)類首先編譯,程序運(yùn)行期間始終存在protectedvoidPage_Load(objectsender,EventArgse){intorderid=Int32.Parse(Request.QueryString["orderid"]);order=GetOrderInfo();//給order對象中各個(gè)變量賦值,在頁面初始化的時(shí)候顯示——只讀#region初始化gvOrderDataSetds=BuyCar.GetOrderInfoByOrderID1(orderid);gvOrder.DataSource=ds.Tables[0].DefaultView;gvOrder.DataBind();#endregionif(!IsPostBack){#region付款狀態(tài)、發(fā)貨狀態(tài)處理stringSQL="select*fromtb_OrderwhereOrderID="+orderid;DataSetds1=DBHelper.GetDataSet(SQL);this.DropDownList2.SelectedItem.Text=ds1.Tables[0].Rows[0]["WuLiuName"].ToString();this.TextBox1.Text=ds1.Tables[0].Rows[0]["DanHao"].ToString();#endregion#region根據(jù)是查看還是修改訂單來決定某些按鈕是否顯示if(Request.QueryString["opt"].ToString()=="view"){btnSave.Visible=false;}if(Request.QueryString["opt"].ToString()=="upt"){btnClose.Visible=false;}#endregion}5系統(tǒng)測試5.1概念和意義測試定義:執(zhí)行程序以檢測錯(cuò)誤的過程。測試的任務(wù)和目的可以描述為:目的:找出程序中的錯(cuò)誤。任務(wù):通過在計(jì)算機(jī)上執(zhí)行程序來暴露程序中的潛在錯(cuò)誤。另一個(gè)預(yù)測與術(shù)語調(diào)試有關(guān)。其目的和任務(wù)可定義為:目的:定位和改正錯(cuò)誤。任務(wù):解決軟件障礙,保障程序的可靠運(yùn)行。測試和誤差修正之間的關(guān)系可以通過圖6-1中的數(shù)據(jù)流程圖來加以說明。圖中顯示了每個(gè)測試都必須準(zhǔn)備一些必要的測試數(shù)據(jù),并將其發(fā)送到計(jì)算機(jī),以便與被測試的程序一起執(zhí)行。通常,程序執(zhí)行所需的測試數(shù)據(jù)稱為“測試用例”。每個(gè)測試用例便會(huì)產(chǎn)生一個(gè)相應(yīng)的“測試結(jié)果”。如果不符合預(yù)期的結(jié)果,說明程序中存在錯(cuò)誤,需要通過錯(cuò)誤糾正來加以糾正。測試測試評價(jià)糾錯(cuò)系統(tǒng)測試數(shù)據(jù)測試結(jié)果錯(cuò)誤信息改正信息期望結(jié)果圖6.1測試與糾錯(cuò)信息流程5.2特性(1)挑剔性測試是為了證明程序有錯(cuò),而不是為了證明程序正確。因此,對被測程序需要“吹毛求疵”,即“雞蛋里挑骨頭”。(2)復(fù)雜性測試儀程序比較容易,一直以來這其實(shí)是不正確的。設(shè)計(jì)和測試是一項(xiàng)高性能的任務(wù),需要細(xì)致和高技能的工作。如果你不小心,你會(huì)失去一件或另一件。實(shí)際測試不徹底,當(dāng)然不能保證測試后程序中沒有遺漏的錯(cuò)誤。(4)經(jīng)濟(jì)性這種測試稱為“選擇性測試”。為了降低檢測成本,在選擇檢測強(qiáng)度時(shí)應(yīng)注意“經(jīng)濟(jì)”原則。5.3重要性軟件測試在軟件生命周期中起著重要的作用。在傳統(tǒng)瀑布模型中,軟件測試處于運(yùn)行和維護(hù)階段,是一種軟件產(chǎn)品交付用戶前保證軟件質(zhì)量的重要手段。最近,軟件工程界傾向于持有一種新的看法,即軟件生命周期的各個(gè)階段都應(yīng)包括測試,以便檢查這個(gè)階段的結(jié)果是否接近預(yù)期的目標(biāo),盡早發(fā)現(xiàn)錯(cuò)誤并加以糾正。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論