网上购物系统课程设计_第1页
网上购物系统课程设计_第2页
网上购物系统课程设计_第3页
网上购物系统课程设计_第4页
网上购物系统课程设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

网上购物系统1.课程设计目标近年来,伴随Internet快速崛起,互联网已日益成为搜集提供信息最好渠道并逐步进入传统流通领域。于是电子商务开始流行起来,越来越多商家在网上建起在线商店,向消费者展示出一个新奇购物理念。同时电子商务网站发展也面对新机遇与挑战,在政府大力提倡和扶持下,电子商务网站作为一个新商业运作模式,推进着社会流通方式创新,正深入企业活动和百姓生活,成为促使经济发展主要动力源。从大型电子商务、政务系统,到普通在线购物和复杂电子商务,电子商务网站在当今时代占据着主要地位,制作电子商务网站成为一个热点。网上购物对于消费者来说身处任何地方只要有网络就能够进行消费,不受时间限制。能够买到当地没有商品,能够不用辛劳货比三家确定自己要买东西,很方便取得大量商品信息。同时对于商家来说,网上交易能够省去大量人员和房租等成本,少许人员即可进行经营,降低了库存、经营规模和场地限制。提升了商家在电子商务行业里关键竞争力,适应时代时尚。本文研究了利用了ASP.NET与SQLServer等关键技术建设网上购物系统。着重阐述了系统功效与实现、数据流程及存放,包含商品目录、用户注册、网上订货与购物、后台数据库管理等。最终实现用户经过注册,浏览商品。2.设计方案论证2.1需求分析传统购物两方面分别是买家和卖家。首先卖家开设店铺,展示自己商品,买家需要到卖家开设店铺详细地点,抵达店铺后买家需要浏览自己喜欢和需求商品,而对卖家来说需要雇佣人力来为买家介绍商品,最终双方会为商品当面交易付款。这是一个简单传统购物流程。对于网上购物来说我门能够把买家和卖家看作是客户和管理员。首先管理员在一个购物网站申请一个店铺(通常都是无偿),然后在自己网页上添加、更新自己商品信息,包含图片、资料介绍等。此时等候客户浏览商品,当客户找到自己满意商品时,可联络管理员也就是卖家,双方交易付款。这么一个完整网上交易过程就结束了。系统详细实现主要有:从整体操作来说:后台主要是使用SQLServer来连接数据库,经过管理数据库实现对用户(客户和管理员)信息管理,权限设置,对商品信息更新和确保数据信息安全性。前台主要是建设用户注册页面、商品信息展示页面,客户反馈页面,购物车页面等等。从利用对象来说:后台主要是指管理员操作系统。能够添加商品,更换商品信息,对客户注册信息进行管理,对客户反馈意见给予回复等等。前台主要是指客户能够注册用户和修改个人信息,能够浏览商品,能够管理购物车,能够留言反馈信息等。2.2系统管理模块网上购物系统分为前台模块和后台模块,前台模块主要功效包含会员登录与注册,商品展示、最新商品、订购、销售排行、商品分类、个人信息管理和购物车管理等。后台模块主要功效包含用户信息管理、全局配置管理、商品信息管理、商品分类管理、退出后台。网上购物系统平台功效层次结构图如图1所表示。图1功效层次结构图2.3数据库逻辑结构设计数据库逻辑结构设计依靠E-R图关系来确定数据之间依赖联络。用户购置商品产生对应订单信息,管理员审核用户信息确认无误只后,对订单进行处理。E-R图如图2所表示。图2E-R图用户信息表:保留了全部个人用户用户名、密码等基本用户信息,详细描述以下表1所表示。表1用户信息表名称类型说明Emailvarchar注册会员邮箱MDMailvarchar邮箱验证码Passwordvarchar密码CustomerNamevarchar用户名Addressnvarchar联络地址Phonevarchar联络方式Zipvarchar邮政编码Regtimedatetime创建时间IsActivebit是否激活RoleIDbit权限IDIsSpeakbit是否可用商品明细表:商品明细表(products)用来保留商品详细信息,详细描述以下表2所表示。表2商品明细表名称类型说明ProductIDint商品ID号ProductNamenvarchar商品名称Authornvarchar所属名称IsRecommendbit是否推荐InPricedecimal进货价格StartPricedecimal起始价格SalePricedecimal销售价格Imgnvarchar图片Descriptionntext商品描述RemainCoutint库存总数StoreIDint分类商城IDTypeIDint商品类型Hitsint点击量Storedecimal评论得分AddTimedatatime上架时间商城分类信息表:商城分类信息表(store)用来保留商城分类信息。详细描述以下表3所表示。表3商城分类信息表名称类型说明BIDint信息ID号Namenvarchar信息名称Contentntext信息描述2.4模块详细设计2.4.1登登录模块由两个功效组成,分别是用户登录和游客注册功效。对于已经是会员用户来说,直接点击用户登录按钮输入用户名和密码,经过数据库检测正确后直接跳转到网站首页。而非会员则点击现在注册按钮,系统跳转到注册界面,并填写个人信息之后系统提醒用户转到首页。用户登录后能够看到自己登录状态栏,显示自己一些惯用信息。登录模块程序流程图如图3所表示。图3登录模块流程图2.4个人信息管理模块包含用户注册填充,订单管理和修改用户密码。用户能够修改自己个人信息,方便用户灵活使用网站进行消费。用户能够查看、删除自己订单,防止无须要开支,提升网站友好性。用户能够修改自己登录密码,确保用户自己信息透漏给他人时,保持自己账户安全。修改密码时,用户提交旧登录密码,之后输入新密码而且再次输入新密码确认,确保两次密码输入一致以免发生手误造成账户不能正常使用,点击确认后系统自动更新,提醒用户修改结果。修改密码模块流程图如图4所表示。图4修改密码流程图3.设计结果与分析网站商品展示模块是用户进入网站最先看到界面,设计简练,实用性强让用户能够最快获取网站信息,大致分为两部分:依照商品添加时间显示最新商品信息和该商品是否是热门商品显示商品信息。最新商品展示,按照商品添加时间先后降序排列显示在table标签中Repeater控件,利用嵌套表格形式,将数据绑定到其中。3.1商品分类用户每次登录都能够看到网站更新最新商品信息,保持网站新鲜,追赶用户对新产品需求。同时按照商品经用户购置使用过后,是否是热门商品,来展示比较受用户喜欢商品,给消费者主动消费提醒。如图5所表示。图5商品分类主要代码:publicpartialclassNewProducts:System.Web.UI.UserControl { protectedvoidPage_Load(objectsender,System.EventArgse) { NewList.DataSource=BLL.Product.GetNewProductsList(); NewList.DataBind(); } #regionWeb窗体设计器生成代码 overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:该调用是ASP.NETWeb窗体设计器所必需。 // InitializeComponent(); base.OnInit(e); } ///<summary> /// 设计器支持所需方法-不要使用代码编辑器 /// 修改此方法内容。 ///</summary> privatevoidInitializeComponent() { } #endregion }3.2用户登录对于已经是会员用户来说,直接点击用户登录按钮输入用户名和密码,只有输入正确才能够直接跳转到网站首页。登录界面如图6所表示。图6登陆界面 主要代码:protectedvoidSubmit_Click(objectsender,System.EventArgse) { BLL.Useruser=neweshop.BLL.User(); intuserId=user.SignIn(LoginName.Text,Password.Text); //得到暂时购物车编号 BLL.ShoppingCartcart=newBLL.ShoppingCart(); stringtempCartID=cart.GetShoppingCartId(); if(userId==0) { Message.Text="用户名或密码错误!"; } else { //将未经过验证时该用户匿名购物信息迁移至该用户个人统计中 cart.MigrateCart(tempCartID,userId.ToString()); System.Web.Security.FormsAuthentication.RedirectFromLoginPage(userId.ToString(),CheckCookie.Checked); Response.Redirect("MyAcount.aspx"); } }3.3用户注册而非会员则点击现在注册按钮,系统跳转到注册界面,并填写个人信息之后系统提醒用户转到首页。如图7所表示。图7用户注册主要代码:protectedvoidSubmit_Click(objectsender,System.EventArgse) { //取得注册信息 stringuserName=LoginName.Text.Trim(); stringpassword=Password.Text.Trim(); stringquestion=Question.Text.Trim(); stringanswer=Answer.Text.Trim(); //得到原来CartId BLL.ShoppingCartcart=neweshop.BLL.ShoppingCart(); stringtempCartId=cart.GetShoppingCartId(); //试图添加新用户 BLL.Useruser=neweshop.BLL.User(); intuserId=user.AddNewUser(userName,password,question,answer); //假如返回值为-1,则表示用户名存在 if(userId==-1) { Message.Text="用户名已存在!"; } else { //设置用户为经过验证 System.Web.Security.FormsAuthentication.SetAuthCookie(userId.ToString(),false); //迁移购物车统计 cart.MigrateCart(tempCartId,userId.ToString()); //将用户重定向回用户帐户页面 Response.Redirect("MyAcount.aspx"); } }3.4主界面成功登录系统后,进入主界面,包含修改密码、修改个人资料、购物车和我购物统计。能够依照需求进行对应操作。主界面如图8所表示。图8主界面主要代码:namespaceeshop{ ///<summary> ///MyAcount摘要说明。 ///</summary> publicpartialclassMyAcount:System.Web.UI.Page { protectedvoidPage_Load(objectsender,System.EventArgse) { //在此处放置用户代码以初始化页面 } #regionWeb窗体设计器生成代码 overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:该调用是ASP.NETWeb窗体设计器所必需。 // InitializeComponent(); base.OnInit(e); } ///<summary> ///设计器支持所需方法-不要使用代码编辑器修改 ///此方法内容。 ///</summary> privatevoidInitializeComponent() { } #endregion }}3.5修改密码为了确保系统安全性,用户应该定时修改密码。如图9所表示。图9修改密码主要代码:protectedvoidSubmit_Click(objectsender,System.EventArgse) { BLL.Useruser=newBLL.User(); intresult=user.ChangePassword(OldPwd.Text.Trim(),NewPwd.Text.Trim(),int.Parse(User.Identity.Name)); if(result==1) { Message.Text="密码修改成功!"; } else { Message.Text="密码输入与原密码不匹配!"; } }3.6查询商品在分类列表中,选择要购置商品类型,点击计算机软件,依次列出符合需求信息,能够进行购置。能够节约用户事件,提升系统效率。如图10所表示。图10查询商品主要代码:voidShowResult(intpageIndex,intpageSize) { //绑定Repeater控件 products.DataSource=BLL.Product.GetProductsByCategory(int.Parse(Request.QueryString["categoryId"]), pageSize,pageIndex); products.DataBind(); //调用Product类中方法取得该类商品总数 intresultCount=BLL.Product.GetProductCountByCategory(int.Parse(Request.QueryString["categoryId"])); intcount; //假如查询结果总数是页大小整数倍 if(resultCount%PageSize==0) { count=resultCount/PageSize; PageCount.Text=count.ToString(); } else { count=resultCount/PageSize+1; PageCount.Text=count.ToString(); } this.PageControl.Items.Clear(); //绑定页码到DropDownList控件 for(inti=0;i<count;i++) { ListItemitem=newListItem((i+1).ToString(),i.ToString()); this.PageControl.Items.Add(item); } this.PageControl.SelectedIndex=pageIndex; }选中需要购置商品名字,单击“购置”按钮,即可加入购物车。如图11所表示。图11购置商品主要代码: protectedvoidPage_Load(objectsender,System.EventArgse) { //页面第一次加载时 if(!Page.IsPostBack) { ShowProductInfo(); } } voidShowProductInfo() { //获取Get方式传递ProductId参数值 intproductId=int.Parse(Request["ProductId"]); //获取某个商品详细信息 BLL.ProductDetailspro=BLL.Product.GetProductInfo(productId); //商品是否存在 if(pro==null) { lblSearchResults.Text="没有这个商品"; } else { //显示商品详细信息 lblProductName.Text=ductName; lblPrice.Text=ductPrice.ToString(); lblIntro.Text=ro; lblClickCount.Text=pro.clickCount.ToString(); } } #regionWeb窗体设计器生成代码 overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:该调用是ASP.NETWeb窗体设计器所必需。 // InitializeComponent(); base.OnInit(e); } ///<summary> ///设计器支持所需方法-不要使用代码编辑器修改 ///此方法内容。 ///</summary> privatevoidInitializeComponent() { } #endregion }}3.7购物车界面用户登录后能够使用购物车功效,将用户所选商品添加到购物车中,经过GridView控件实现商品添加。用户点击购置商品,经过产品ID字段添加到订单表中,用户能够在购物车中随时查看信息,而且能够在购物车中删除或清空添加物品。购物车中信息经过session保留在缓存中,当用户确定下单之后保留在订单表中。网站拥有购物车功效,能够简化用户购置流程降低无须要操作。购物车界面如图12所表示。图12购物车界面主要代码:voidShowShoppingCartList() { BLL.ShoppingCartcart=newBLL.ShoppingCart(); //得到用户购物车ID StringcartID=cart.GetShoppingCartId(); //假如购物车内没有商品,DataGrid隐藏 if(cart.GetItemCount(cartID)==0) { DetailsPanel.Visible=false; MyError.Text="购物车内没有商品。"; } else { //绑定购物车信息到DataGrid MyList.DataSource=cart.GetItems(cartID); MyList.DataBind(); //显示总金额 lblTotal.Text=String.Format("{0:c}",cart.GetTotal(cartID)); } }加入购物车后,再次确认商品列表,如购置无误,点击“提交”按钮,成功结算商品,进行付款,愉快购物旅程就结束了。购物车确认界面如图13所表示。图13购物车提交界面主要代码:publicpartialclassCheckOut:System.Web.UI.Page { protectedvoidPage_Load(objectsender,System.EventArgse) { if(!Page.IsPostBack) { //得到cartID BLL.ShoppingCartcart=newBLL.ShoppingCart(); stringcartID=cart.GetShoppingCartId(); //绑定购物车信息到DataGrid MyDataGrid.DataSource=cart.GetItems(cartID); MyDataGrid.DataBind(); //得到购物车总花费 TotalLbl.Text=String.Format("{0:c}",cart.GetTotal(cartID)); } }protectedvoidSubmitBtn_Click(objectsender,System.EventArgse) { BLL.ShoppingCartcart=newBLL.ShoppingCart(); stringcartID=cart.GetShoppingCartId(); decimaltotalCost=cart.GetTotal(cartID); stringuserID=User.Identity.Name; if(cartID!=null&&userID!=null) { BLL.Ordersorder=newBLL.Orders(); if(order.PayOrder(userID,totalCost)==1) { intorderID=order.PlaceOrder(userID,cartID); Message.Text="您订单号为"+orderID; SubmitBtn.Visible=false; } else { ShowErrorMsgBox(); } } } voidShowErrorMsgBox() { Response.Write("<scriptlanguage=javascript>"); Response.Write("window.alert(\"您预存款不足\")"); Response.Write("</script>"); } }}4.设计体会经过这段时间系统开发和文档撰写过程,经过查阅、研究大量相关文件,分析相关领域特色网站并结合实际,使我对电子商务网站方面理论知识,包含对它定义,内涵,特点,功效,技术等方面研究都有了更深了解。并亲自利用所学知识建立了一个网上购物网站。即使因为时间有限和本人能力有限,这个系统还不够完善,还有许多地方有待改进。但这短短一周课程设计,对我来说是对学科一次全方面检验。经过理论学习,在课程设计中得到实际上应用,它使我知道了怎样去开发一个系统或者一个软件,它也使我知道了软件结构,在设计过程中使我对ASP.NET技术、SQLServer数据库以及WEB网站开发有了更深入了解,对即将步入社会我积累了经验。经过此次设计开发,让我对于编程有了更深入体会。认识到自己在技术上不足,需要学习更多设计方法和编程技术。在以后开发过程中,要愈加细致分析用户需求和系统实现方法,认真思索业务处理过程与用户需求之间平衡。在分析和思索项目实现方法过程中,学到了愈加实用知识,让我知道在以后学习和工作中有了明确指导方向。5.参考文件[1]刘金岭.冯万利.数据库系统及应用教程[M].清华大学出版社..6[2]微软企业.ASP.NET标准教程[M].中国劳动社会保障出版社,.12[3]王辉.黄红超.ASP.NET实用教程[M].清华大学出版社..2[4]金旭亮.ASP.NET程序设计教程[M].北京:电子工业出版社..3[5]丛书.ASP.NET与网站开发实践教程[M].北京:清华大学出版社..3[6]龙马.ASP.NET+SQLServer组建网站实例精讲[M].北京:人民邮电出版社..6[7]徐国智.汪孝宜.SQLSERVER数据库开发实例精粹[M].北京:电子工业出版社..1[8]薛万欣.电子商务网站建设[M].北京:机械工业出版社..8[9]张启明.ASP.NET+SQLSERVER网络应用系统开发与实例[M].北京:人民邮电出版社..2[10]陈建伟.ASP.NET网站开发教程(第二版)[M].北京:清华大学出版社..1附录:usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;namespaceeshop{ ///<summary> ///Register摘要说明。 ///</summary> publicpartialclassRegister:System.Web.UI.Page { protectedvoidPage_Load(objectsender,System.EventArgse) { //在此处放置用户代码以初始化页面 } #regionWeb窗体设计器生成代码 overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:该调用是ASP.NETWeb窗体设计器所必需。 // InitializeComponent(); base.OnInit(e); } ///<summary> ///设计器支持所需方法-不要使用代码编辑器修改 ///此方法内容。 ///</summary> privatevoidInitializeComponent() { } #endregion protectedvoidSubmit_Click(objectsender,System.EventArgse) { //取得注册信息 stringuserName=LoginName.Text.Trim(); stringpassword=Password.Text.Trim(); stringquestion=Question.Text.Trim(); stringanswer=Answer.Text.Trim(); //得到原来CartId BLL.ShoppingCartcart=neweshop.BLL.ShoppingCart(); stringtempCartId=cart.GetShoppingCartId(); //试图添加新用户 BLL.Useruser=neweshop.BLL.User(); intuserId=user.AddNewUser(userName,password,question,answer); //假如返回值为-1,则表示用户名存在 if(userId==-1) { Message.Text="用户名已存在!"; } else { //设置用户为经过验证 System.Web.Security.FormsAuthentication.SetAuthCookie(userId.ToString(),false); //迁移购物车统计 cart.MigrateCart(tempCartId,userId.ToString()); //将用户重定向回用户帐户页面 Response.Redirect("MyAcount.aspx"); } } }}usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;namespaceeshop{ ///<summary> ///Search摘要说明。 ///</summary> publicpartialclassSearch:System.Web.UI.Page { privatest

温馨提示

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

评论

0/150

提交评论