网上超市管理系统毕业设计_第1页
网上超市管理系统毕业设计_第2页
网上超市管理系统毕业设计_第3页
网上超市管理系统毕业设计_第4页
网上超市管理系统毕业设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、网上超市管理系统目录第一章 绪论 -1 -1.1 开发背景 - 1 -1.2 开发运行环境 - 1 -1.2.1 软件需求 - 1 -1.2.2 开发工具的选择 - 2 -第二章 功能需求2.1 功能模块划分 - 3 -2.2 功能模块描述 - 3 -2.2.1 前台功能 - 3 -2.2.2 后台管理功能: - 3 -第三章 业务流程设计- 5 -3.1 系统功能模块 - 5 -3.2 网站前台功能图 - 6 -3.3 3 后台管理功能图 - 6 -第四章 逻辑设计- 7 -4.1 数据库表的设计 - 7 -第五章 系统实现- 11 -4.2 首页(登录、注册、浏览商品) - 11 -4.3

2、 根据条件查询符合条件的相应商品 - 12 -4.4 购物车的实现 - 14 -4.4.1 添加商品到购物车的实现 - 15 -4.4.2 对购物车商品的修改的实现 - 17 -4.5 订单的产生 - 19 -4.6 添加商品(后台界面) - 21 -第六章 系统总结- 22 -6.1 系统特点、优势 - 22 -6.2 系统不足 - 23 -第一章 绪论1.1 开发背景随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以及计算机与网络技术为基础的信息系统正处以蓬勃发展的时期。网上超市系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的繁琐过程,是顾客的购物过程变得轻松,快

3、捷。网上超市管理系统是一个针对网上销售商品、管理商品的一个专门软件。随着网络的广泛普及,网络支付手段的逐步完善,越来越多的人逐渐习惯于网上购物,习惯于鼠标点击下订单,送货上门的快捷便利的购物方式。传统的购物观念正在被网上购物这种快捷的方式所冲击。现在的网上超市,具有强大的功能,在线展示商品,在线购买商品,在线交易,在线网店的管理等,借助网络的跨地域特点,更是将传统的商店的地域限制加以突破,全国各地的顾客都可以通过网络在同一个网上超市购买商品,从而大大增加了客户的数量。网上超市在线网站致力于提供商品展示及订购为核心的网上购物服务宣传自己商店的产品并将自己的产品展示给客户,让客户通过网站便能对自由

4、的选择的购买商品。该网站是通过用户登录浏览商品、购买、确定购买、查看订单、实现用户模块功能。其中订单的生成,网站后台管理系统,团购系统管理员来管理商品、订单、用户来实现。1.2 开发运行环境1.2.1 软件需求操作系统:WindowsXP数据库公交:SQL Server 2005开发工具:Microsoft Visual Studio 20081.2.2 开发工具的选择本系统的开发主要是用Microsoft Visual Studio 2008 的开发环境,利用SQLServer2005进行数据库的设计。下面对他们分别进行简单的介绍:1.Microsoft Visual c#/ASP.NET

5、介绍:Visual Studio 2008 是微软公司推出的开发环境。是目前挺流行的Windows平台应用程序开发环境。目前已经开发到10.0 版本,也就是Visual Studio 2010。 VisualStudio 2008 可以用来创建Windows 平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office 插件。Visual Studio 2008 版本特点:Visual Studio 2008 在三个方面为开发人员提供了关键改进:快速的应用程序开发高效的团队协作突破性的用户体验Visual Studio 2008 提供了高级开发工具、调

6、试功能、数据库功能和创新功能, 帮助在各种平台上快速创建当前最先进的应用程序。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework3.5 加速开发)、对Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 A

7、SP.NET应用程序服务和 Microsoft 平台。2.SQL Server 2005 介绍:SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate 三家公司共同开发的,于 1988 年推出了第一个OS/2 版本。 在 WindowsNT 推出后, Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了,Microsoft 将 SQLServer移植到Windows NTS统上,专注于开发推广 SQL Server的Windows NT版本。 Sybase则较专注于SQL Server在UNIX操作系

8、统上的应SQL Server安装界面用。第二章 功能需求2.1 功能模块划分网上超市共分两个部分,一是前台管理部分,包括:客户在线注册、浏览商品、购买商品、提交订单等操作;二是后台管理部分,包括:商品的添加、查询、修改和删除,订单的管理、用户的管理、商品类别的管理等。2.2 功能模块描述2.2.1 前台功能1. 注册功能:客户首先要注册为该商店的用户。注册时要填写顾客的登录用户名,真实姓名,登录密码,详细家庭住址等信息即可。注册后,用户可修改自己的信息或者对信息的补充。2. 选择商品功能:顾客浏览网上商店的商品,将自己需求的产品放入到购物车中,可连续添加商品。3. 购物车的管理:顾客选择完商品

9、后可进入购物车也面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和情况整个购物车。4. 订单的生成:当顾客选择完商品后,确定购买商品,根据客户选择的商品,产生订单,把商品的部分信息如数量,购买总价保存起来。在并附上订单的详细信息。2.2.2 后台管理功能:1. 管理人员部分:管理员拥有最高权限,可访问所有订单,订单处理,可浏览、查询、修改订单,可进行界面管理,可浏览、修改客户的一些资料。2. 订单的管理:管理员根据客户的订单,修改订单的状态,是否已发货。以及顾客收到商品后更改顾客的付款状态。3. 管理商品功能:(1) 添加新商品:管理员可以通过这个功能向本商店录入新的商品,添加的信

10、息包括:商品的名称、商品册图片、商品的ISBN®号、商品的类别、商品的生产厂商、商品的单价、商品的生产日期、 商品的有效截止日期(这里的有效截止日期可以为空,因为对于某些商品来说,如电子商品,就没有有效截止日期)、商品的卖出数量(这里商品的卖出数量是在顾客确定购买商品后,订单产生过后自动修改的)、还有商品的库存量。(2) 修改商品的信息:管理员可以进行对商品信息的修改,如商品名称,库存量等。(3) 删除商品管理员可以对过期的商品进行删除。(4)商品类别的管理:管理员可添加、修改、删除类别信息。第三章业务流程设计3.1 系统功能模块1T 室户管 理工网除商备类用修改商品类别图3-1系统

11、功能图3.2 网站前台功能图图3-2前台功能图3. 3后台管理功能图东新土一哽> <<#xiends口注营理登品裔品青江<e:dl=nc>>宣膏英,则看总口" .博弦商晶添小南西a a rAM I hj i-iuLLti词济 7曲拳pd + *I <cen1fifidi >土 N用呼商品c<exttnal?<<ejdend» 年加芸用址淮关.利在看订堂ceMiend>>第豉订单图3-3后台功能图第四章逻辑设计4.1 数据库表的设计1 .顾客表(Customers)顾客表是指网站的客户,主要在前台进

12、行活动。主要含有如下字段:顾客的编号、 顾客登录系统时的登录名(这里申请的用户登录名不能重复)、顾客的真实姓名、顾客的 登录密码、顾客的详细的家庭住址、顾客的出生日期、顾客的性别、顾客的照片以及客户的权限所对应的权限编号序号列名数据类型长度小数位标识主键允许空默认值说明1CusIDInt0是否2LoginNamevarchar500是3CusNamevarchar500是4CusPwdvarchar200是5Addressvarchar500是6BirthdayDatetime0是7GenderChar20是8PhotoNvarchar500是9ReghtIDint0是表4-1顾客表2 . 一

13、级商品类别表(FirstCategry )一级商品类别表包括以下字段:有商品的一级类别的类别编号、一级商品类别的类别名 称。序号字段数据类型长度小数位标识主键允许空默认值说明1firstCateIDInt0是否2firstNameVarchar300是表4-2 一级商品类别表3 .二级商品类别表(SendCategry)二级商品类别表包括以下字段:有商品的二级类别编号、有商品的二级类别名称、以及二级类别所对应的一级类别的编号序号字段数据类型长度小数位标识主键允许空默认值说明1sendCatelDInt0是否2SendNameVarchar300是3ParentIdInt是表4-3 二级商品类别

14、表4 .商品表(GoodS商品表包括以下字段:有商品的编号、商品的名称、商品册图片、商品的ISBNN®号、商品的类别编号(这里指的的二级类别的类别编号)、商品的生产厂商、商品的单价、商品的生产日期、商品的有效截止日期(这里的有效截止日期可以为空,因为对于 某些商品来说,如电子商品,就没有有效截止日期)、商品的卖出数量(这里商品的实出数量是在顾客确定购买商品后,订单产生过后自动修改的)、还有商品的库存量序号字段数据类型长度小数位标识主键允许空默认值说明1GoodsIDInt0是否2GoodsNameVarchar500是3PictureNvarchar500是4ISBNVarchar5

15、00是5CategoryIDInt0是6CompanyVarchar500是7UnitPriceFloat0是8PublishDateDatetime0是9EndDateVarchar500是10SellNumInt0是11StoreNumint0是12MemberPricefloat0是13IsHotInt0是14DisCountint0是15Descriptiontext0是表4-4商品表5 .管理员表(Managers)管理员表是指登录系统的后台的人员,主要包括以下字段:管理员的编号、管理员的真实姓名(可允许为空)、管理员的登录密码、管理员的照片等。序号字段数据类型长度小数位标识主键允许

16、空默认值说明1ManagersIDInt0是否2ManaNameVarchar200是3ManaPwdVarchar500是4RightIDInt0是5PhotoVarchar500是6LoginNamevarchar200是表4-5管理员表6 .订单表(Orders)订单表主要包括以下字段:订单编号、产生订单的日期、购买客户编号、购买的 商品的总价格、购买的商品的总数量、标识该订单是否已经付过款以及店家是否发货的 条件。序号字段数据类型长度小数位标识主键允许空默认值说明1OrdersIDInt0是否2PublishDateDatetime0否3UserIDInt0否4TotalPriceFl

17、oat0否5TotalCountInt0否6IsPayInt0是7IsSendint0是表4-6订单表7 .订单详细表(OrderDetails )订单详细表是对订单表的进一步补充,主要包括以下字段:有详细订单的编号所对应的订单编号、购买的商品的编号、购买某种商品的数量、商品的单价序号字段数据类型长度小数位标识主键允许空默认值说明1OrderDetailsIDInt0是否2OrderlDInt0否3GoodsIDInt0否4QuantityInt0否5UnitPricefloat0否表4-7订单详细表8 .权限表(Right )权限表主要包括以下字段:有权限的编号、权限名称序号字段数据类型长度

18、小数位标识主键允许空默认值说明1RightIDInt0是否2RightNamevarchar500是表4-8权限表第五章系统实现5.1 首页(登录、注册、浏览商品)1.1-X" >-5C? 小:三中革足本=时用品, 三食品美 而在虎瑞关JF*印匕 屯干产品 ttfi *同相同 ¥ 口相 词已本 则响乾冲 用品E 屯讯n 同格fr36舄 国机用缥蹄日用百步 和于清点 十八炉段市电仇:箫M j;l1 .:'中伏上网£ U阳市场侪士空如 宜良於:.卡特价品如圮星学才明市场行;T,DnviS费中讯市播: 3211女昂孙:1U百里羊和入沪理次场由I U- 叁岳

19、筠:JH泾市六珅祚/F?场饵:飞 含笳粉:656 说:iso合其倚:127图5-1系统首页图功能介绍:本系统的首页显示了本网店的一些商品的信息,用户可以在首页点击 某商品显示商品的详细信息。首页商品显示的代码,在本页面主要采用了数据源SqlDataSource和gridView :数据源SqlDataSource的源代码如下:<asp:SqlDataSource ID="HotGoodsData" runat="server" ConnectionString="DataSource=.;Initial Catalog=ShoppingM

20、anagerSystem;User ID=sa;Password=123456"ProviderName="System.Data.SqlClient"SelectCommand="select top 12 * from Goods order by SellNumdesc"></asp:SqlDataSource>5.2 根据条件查询符合条件的相应商品工务豪忤出 " 合用中心第口阚有图5-2根据条件查找商品司和咕产晒:*司-百扁招£性科奥1甲R。芾上¥人蝴-而已0整跛工1生息上性产电用工胃X阳

21、9 主莅福 E吗尸 中和工礼杆求 £由字产品 皿1曲件盘»以104 MMM%卜戒氏电子韦阳号司1E.LS1财曲电KF”司中总1» 皿 IQQflHE京"地猊电亍膏学士田金书堂图5-3 查找到的商品如图5-2所示,根据首页客户选择的商品类别以及在关键字的文本框中输入的值,来搜索符合相应条件的商品列表(如图 5-3所示),实现代码如下:首先是在Default.aspx首页中要选择相应类别的“类别编号”和输入“文本框” 中的信息,然后再跳转到SearchByKey.aspx也面;实现该功能的代码如下(在母版也得ImgButton按钮的事件):protected

22、 void ImageButtonSearch_Click(object sender, ImageClickEventArgs e) string key = txtSearchKey.Text.Trim();int firId =Convert .ToInt32 ( ddlFirCategry.SelectedValue);Response.Redirect("SearchByKey.aspx?firId="+firId +"&key="+key); 运行上述代码后,会跳转到SearchByKey.aspx页面,该页面要接受相应传过来的 数据

23、,并进行数据绑定,实现代码如下:protected void Page_Load(object sender, EventArgs e)if (!IsPostBack)int firId =Convert .ToInt32 ( Request.QueryString"firId");string keys = Request.QueryString"key".ToString();BindByKeys(firId ,keys);string strCon =ConfigurationManager.ConnectionStrings"MyCon

24、".ToString();SqlConnection cn = null ;SqlDataAdapter da = null;DataSet ds = new DataSet();private void BindByKeys(int firId, string keys)string sql = "select distinct Goods.* FROM Goods,SendCategry,FirstCategry WHERE Goods.CategoryID=SendCategry.SendCateID and SendCategry.ParentId='&qu

25、ot;+firId+"' and Goods.GoodsName like '%"+keys +"%'"cn = new SqlConnection(strCon);cn.Open();da = new SqlDataAdapter(sql ,cn);da.Fill(ds);SearchByKeyWords.DataSource = ds.Tables0;SearchByKeyWords.DataBind();5.3购物车的实现 JU I. Ml I 上IIHBI 余士顿匚盘 : J _*) r1 ,1 %-8 =>>

26、必I市埼价:T5会员价:55图5-4选中某商品,查看某商品信息耗量:据ira;北 e:i2上鼻F: 5沅图5-5某商品(图5-4)详细信息图5-6购物车图功能介绍: 当用户登录到系统的首页后,用户可浏览相应商品的信息,点击商品(如图 5-4所示)查看商品的详细信息,即进入图5-5所示的见面,当用户确定购买商品后把商品添加到购物车中,然后可对购物车中的商品数量进行修改,也可以对已加入到“购物车”中,最后又不想购买的商品进行删除。首先是把商品添加的购物车中代码的实现,要添加到购物车是,要对用户是否登录进行判断,若登录过后就进入购物车界面看到已选择的商品(如图 5-6 所示) , 否则,进入用户登录

27、界面,实现代码如下:5.3.1 添加商品到购物车的实现protected void imgBtnBuy_Click(object sender, ImageClickEventArgs e)if (Session"CurrentUser" != null)if (Session"Cart" = null)this.CreateCart();elseDataTable cart = Session"Cart" as DataTable;if (this.ExistGoods(cart)this.AddGoodsToSession(car

28、t);Response.Redirect("Cart.aspx");elseResponse.Redirect("UserLogin.aspx");/ 新建购物车表private void CreateCart()DataTable cart = new DataTable();cart.Columns.Add("GoodsID");cart.Columns.Add("GoodsName");cart.Columns.Add("Quantity");cart.Columns.Add("

29、UnitPrice");cart.Columns.Add("Picture");this.AddGoodsToSession(cart);/判断商品是否已经存在购物车中,若有某商品,数量加1private bool ExistGoods(DataTable cart)foreach (DataRow dr in cart.Rows)if (dr"GoodsName".ToString().Equals(this.labGoodsName.Text.Trim()dr"Quantity" = Convert.ToInt32(dr

30、"Quantity") + 1;Session"Cart" = cart;Response.Redirect("Cart.aspx");return true;/ 添加新商品public void AddGoodsToSession(DataTable cart)DataRow dr = cart.NewRow();dr"GoodsID" = ViewState"GoodsID".ToString();dr"GoodsName" = this.labGoodsName.Tex

31、t.Trim();dr"Quantity" = "1"dr"UnitPrice" = this.labPrice.Text.Substring(0,this.labPrice.Text.Length - 1); ;dr"Picture" = this.imgPhoto.ImageUrl;cart.Rows.Add(dr);Session"Cart" = cart;5.3.2 对购物车商品的修改的实现protected void gvCart_RowCommand(object sender, G

32、ridViewCommandEventArgs e)if (e.CommandName = "Add")int goodsId = Convert.ToInt32(e.CommandArgument);foreach (DataRow dr in (DataTable)Session"Cart").Rows)if (Convert.ToInt32(dr"GoodsID") = goodsId)dr"Quantity" = Convert.ToInt32(dr"Quantity") + 1;Bin

33、dCart();if (e.CommandName = "Minus")int goodsId = Convert.ToInt32(e.CommandArgument);foreach (DataRow dr in (DataTable)Session"Cart").Rows)if (Convert.ToInt32(dr"GoodsID") = goodsId) dr"Quantity" = Convert.ToInt32(dr"Quantity") - 1;if (Convert.ToInt3

34、2(dr"Quantity") = 1)Button btnMinus = gvCart.FindControl("btnMinus") as Button; btnMinus.Enabled = false;BindCart();protected void gvCart_RowDeleting(object sender, GridViewDeleteEventArgs e)DataTable cart = Session"Cart" as DataTable;cart.Rowse.RowIndex.Delete();Sessio

35、n"Cart" = cart;BindCart();private void BindCart()cart = (DataTable)Session"Cart"TotalPrice(cart);gvCart.DataSource = cart;gvCart.DataBind();用户点击“结算”按钮时,同时产生订单。实现代码如下:protected void imgBtnCaculate_Click(object sender, ImageClickEventArgs e)int goodsQuantity = 0;if (Session"Ca

36、rt" = null | (DataTable)Session"Cart").Rows.Count = 0) Response.Write("<script>alert(你的购物车为空,请选购商品!');document.location='Default.aspx'</script>");return;Orders orders = new Orders();orders.PublishDate = DateTime.Now;if (labTotalPrice.Text != String.Em

37、pty)orders.TotalPrice = Convert.ToDecimal(labTotalPrice.Text);/根据 loginName 获得 idorders.UserID =CustomersBLL.GetUserIDByName(Session"CurrentUser".ToString();/ 计算购买商品的数目foreach (DataRow dr in (DataTable)Session"Cart").Rows)goodsQuantity += Convert.ToInt32(dr"Quantity");o

38、rders.TotalCount = goodsQuantity;OrdersBLL.AddOrders(orders);/ 订单生成/详细订单OrderDetails orderDetails = new OrderDetails();Goods goods = new Goods();Orders order = new Orders();foreach (DataRow dr in (DataTable)Session"Cart").Rows)orderDetails.GoodsID = Convert.ToInt32(dr"GoodsID");o

39、rderDetails.OrderID = OrdersBLL.GetMaxID();orderDetails.Quantity = Convert.ToInt32(dr"Quantity");orderDetails.UnitPrice = (float)Convert.ToDouble(dr"UnitPrice");OrdersDetailsBLL.AddOrderDetails(orderDetails);foreach (DataRow dr in (DataTable)Session"Cart").Rows)int good

40、sId = Convert.ToInt32(dr"GoodsID");int quantity = Convert.ToInt32(dr"Quantity");int storeNum = GoodsBLL.GetStoreNum(goodsId);int sellNum = GoodsBLL.GetSellNum(goodsId);GoodsBLL.UpdateStoreNum(storeNum - quantity, goodsId);GoodsBLL.UpdateSellNum(sellNum + quantity, goodsId);Session.Remove("Cart");Response.Whte("<script>alert(结算成功,请等待审批订单);window.location='Default.aspx'<

温馨提示

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

评论

0/150

提交评论