基于Android网上购物系统的设计_第1页
基于Android网上购物系统的设计_第2页
基于Android网上购物系统的设计_第3页
基于Android网上购物系统的设计_第4页
基于Android网上购物系统的设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统概述1.1研究背景近年来,随着互联网的迅速崛起,互联网越来越成为收集和提供信息的最佳渠道,逐渐进入传统的流通领域。结果,网上购物变得流行起来。越来越多的企业建立了网上商店,向消费者展示一种新的购物理念。网上购物网站是一个具有互动功能的商业信息系统。它为用户提供静态和动态信息资源。静态信息是指那些不经常变化或更新的资源,如公司简介、管理规范以及公司制度等,动态信息是指那些随时变化的信息,如产品报价和产品更新等,网上购物网站具有强大的交互功能。使企业和用户能够轻松地传输信息和完成电子交易。在现实生活中,网络购物已成为现代人的一种需求。它的便利性和速度是传统购物方式无法比的。1.2研究意义和现状Internet快速发展急速的推动网上购物网站的发展。于此同时,网络购物环境逐步改善,表现为网民结构的普及和网络生存的普及,物流和银行结算的顺畅流动,市场运行规范以及相应政策法规的完善。网上购物将吸引越来越多的网友,网友对购物网站的看法将进一步理解,从拒绝到接受,从怀疑到包容,从否定到理解,网上购物的概念将更加扎根于人们的心中。随着信息技术和互联网的发展,网络已成为现代生活的一部分。越来越多的人喜欢网上交易。传统的销售方式已经不能满足时代的要求。在此情况下,基于Web模式的网上购物系统得到了快速的发展。可以说,网上购物系统改变了人们的生活和工作方式。在此情况下,作为一家出版社,如何使网上购物系统满足顾客的需求,已成为抉择其发展的重要因素之一。基于上述情况,开发了该系统。本系统是基于B/S模式的网络交易系统。该系统主要用于电子产品交易的网络管理,使网上购物更容易,以便提高工作效率,从而降低管理成本,方便用户使用,并可增加其网站的附加利润。网络正在从产品形式向服务形式转化,所以网上购物在网络中的发展将要占据重要的地位,因为它的宗旨就是充分利用Internet取代传统的销售方式,充当买主和卖主的零售商。微软的.NET技术战略意义本身就是帮助用户在任何时候、任何地方、利用任何的工具都可以获得网络上的信息,并享受网络通讯带来的快乐。本课题就是通过微软的ASP.NET开发的一个基于B/S的网上购物管理系统,主要实现了网上购物和后台的管理。虽然目前网上购物管理系统数量较多,但ASP.NET开发的网上购物管理系统却很少。通过本系统的开发,我们不仅可以学习如何利用ASP.NET开发一个更完善的综合网上购物管理、网上订购等功能的综合网上购物管理系统,还可以促进我们对所学知识的综合利用,让我们能够对应用程序的开发过程有更深的理解。2可行性分析2.1技术可行性利用Android平台开发网上购物系统是可行的。Android操作系统提供丰富的开发资源和工具,如AndroidStudio、SDK等,可实现界面设计、数据库管理、网络通信等功能。通过掌握Android应用开发技术,结合网上购物系统的需求,可实现一个功能完善、用户体验良好的购物系统。2.2经济可行性经济可行性研究主要分析成本效益,包括估算项目开发成本,估算开发成本是否高于项目的预期总利润。为了了解软件所带来的经济效益是否与开发设计所需的投资相比较合适,以及软件能否真正为用户带来足够的经济效益,我们开发的系统旨在提高用户的效率,节省工作时间,便于操作和管理。该系统的开发在经济上是可行的。开发这个软件不需要很多钱,它是由个人独立设计的。它可以节省大量资金,提高个人的实践能力。2.3操作可行性伴随着科学技术的飞速发展,计算机已广泛应用于世界各方面,便捷的科学技术条件给人们带来了优质的工作环境,也使人们对工作效率和可操作性有了更高的追求。所以,管理形式的计算机是社会发展的必然结果,各种智能软件比比皆是,减少了原来手工操作耗费的局面,提高了工作的效率和准确性。系统的用户平台直接面向购物管理者和系统管理者。界面简单明了。通过可视化界面,普通用户能通过鼠标和键盘查看资讯。由于本系统的操作简单易懂,初次使用本系统的用户,无需复杂的培训和学习,即可掌握本系统的操作环节。因此,在实际操作中开发该软件是可行的。3系统概要设计3.1系统结构本系统基于网站系统的Android系统,具体功能如下:系统分为两个角色:管理员和普通用户。管理员可以管理商品的基本信息、分类、订单管理、新闻管理和用户管理以及密码修改等。用户管理可以查看新闻、商品信息、采购管理订单、修改个人信息等系统功能。系统功能模块图如图3-1所示。图3-1系统功能结构图3.2数据库设计3.2.1数据库E-R图概念模型是对现实信息进行抽象概括,实现对信息世界的建模。它是一个强大的数据库设计工具。数据库概念模型的设计可以用E-R图来表述现实世界的概念模型。系统的E-R图显示了系统中各实体之间的关系。3.2.2数据库实体管理员信息属性图:如图3-2所示。图3-2管理员信息实体属性图公告信息属性图:如图3-3所示。图3-3公告信息实体属性图会员信息实体属性图:如图3-4所示。图3-4会员信息属性图商品信息实体属性图:如图3-5所示。图3-5商品信息实体属性图4系统详细设计4.1系统首页当用户打开网站时,他首先会看到系统主页。在系统主页上,主页的总体布局清晰合理。首先,系统的标志在顶部,然后导航在底部。在导航下,搜索和系统的特定功能位于底部。在主页上,他可以看到货架上最新的商品信息和最高销售量。效果如图4-1所示。图4-1系统首页页面核心代码: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"){//获得当前商品编号Int32id=Int32.Parse(dlstGoods.DataKeys[e.Item.ItemIndex].ToString());//在新窗口中弹出商品详细信息页面Response.Redirect("goodsdetail.aspx?goodsid="+id);}elseif(e.CommandName=="NowBuy"){//获得当前商品编号Int32id=Int32.Parse(dlstGoods.DataKeys[e.Item.ItemIndex].ToString());//在新窗口中弹出商品详细信息页面Response.Redirect("LCheckOut.aspx?goodsid="+id);}elseif(e.CommandName=="buy"){//当前用户是否登陆?只有登陆用户才可以购物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用户注册如果游客想购买商品,他们可以注册成为会员。注册会员时,需要输入用户名、密码、手机号码、邮政编码、地址等基本信息,并提交信息。检查后,可以成功注册。效果如图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);//有几个占位符,就要传递几个变量值,而且要一一对应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商品信息单击产品的详细信息后,用户可以看到产品的详细信息,如名称、类别、价格、图片等。效果如图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购物车管理在购物车信息中购买或添加商品后,用户可以查看购物车的特定信息。购物车信息包括采购商品信息、采购数量等基本信息,如图4-4所示。图4-4购物车信息核心代码:}privatevoidgvShopCarBindData(){BuyCar.CarBind(this.gvShopCar,Int32.Parse(Session["MemberID"].ToString()));//调用静态函数//根据gvOrderInfo中记录个数判定lbFlag等控件是否显示,以提示用户是购物车中否有商品,控制商品总价钱和总数量,超级链接按钮是否显示。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订单管理用户进入购物车后,将购物信息转换为订单信息。在订单信息中,用户可以查看订单的具体信息,并接收已收到的货物。效果如图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);}}在订单明细中,可以看到具体的采购信息和当前订单的状态,如发货是否以及已发送货品的物流和物流订单号是什么,如图4-6所示。图4-6订单详情核心代码:publicstaticCommonPropertyorder=newCommonProperty();//静态类首先编译,程序运行期间始终存在protectedvoidPage_Load(objectsender,EventArgse){intorderid=Int32.Parse(Request.QueryString["orderid"]);order=GetOrderInfo();//给order对象中各个变量赋值,在页面初始化的时候显示——只读#region初始化gvOrderDataSetds=BuyCar.GetOrderInfoByOrderID1(orderid);gvOrder.DataSource=ds.Tables[0].DefaultView;gvOrder.DataBind();#endregionif(!IsPostBack){#region付款状态、发货状态处理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根据是查看还是修改订单来决定某些按钮是否显示if(Request.QueryString["opt"].ToString()=="view"){btnSave.Visible=false;}if(Request.QueryString["opt"].ToString()=="upt"){btnClose.Visible=false;}#endregion}5系统测试5.1概念和意义测试定义:执行程序以检测错误的过程。测试的任务和目的可以描述为:目的:找出程序中的错误。任务:通过在计算机上执行程序来暴露程序中的潜在错误。另一个预测与术语调试有关。其目的和任务可定义为:目的:定位和改正错误。任务:解决软件障碍,保障程序的可靠运行。测试和误差修正之间的关系可以通过图6-1中的数据流程图来加以说明。图中显示了每个测试都必须准备一些必要的测试数据,并将其发送到计算机,以便与被测试的程序一起执行。通常,程序执行所需的测试数据称为“测试用例”。每个测试用例便会产生一个相应的“测试结果”。如果不符合预期的结果,说明程序中存在错误,需要通过错误纠正来加以纠正。测试测试评价纠错系统测试数据测试结果错误信息改正信息期望结果图6.1测试与纠错信息流程5.2特性(1)挑剔性测试是为了证明程序有错,而不是为了证明程序正确。因此,对被测程序需要“吹毛求疵”,即“鸡蛋里挑骨头”。(2)复杂性测试仪程序比较容易,一直以来这其实是不正确的。设计和测试是一项高性能的任务,需要细致和高技能的工作。如果你不小心,你会失去一件或另一件。实际测试不彻底,当然不能保证测试后程序中没有遗漏的错误。(4)经济性这种测试称为“选择性测试”。为了降低检测成本,在选择检测强度时应注意“经济”原则。5.3重要性软件测试在软件生命周期中起着重要的作用。在传统瀑布模型中,软件测试处于运行和维护阶段,是一种软件产品交付用户前保证软件质量的重要手段。最近,软件工程界倾向于持有一种新的看法,即软件生命周期的各个阶段都应包括测试,以便检查这个阶段的结果是否接近预期的目标,尽早发现错误并加以纠正。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论