网上鞋城销售管理系统前台设计(共33页).doc
精选优质文档-倾情为你奉上*学院毕业设计(论文)网上鞋城销售管理系统前台设计班 级 专 业 软 件 开 发 教 学 系 机电工程学院 指导老师 完成时间 2014 年 10月 10 日至 年 月 日摘要随着时代不断的进步,人们的生活压力也逐渐变大,普通的工薪阶层没有很多空闲的时间来逛街,传统的买卖行业已经不能满足大众的需求,所以网购成为了一种潮流,正是在这样的环境下,本网站的建立就相对重要。本网上鞋城销售管理系统使用Visual Studio 2010为开发环境,数据库使用SQL Server 2005,通过开发框架实现基于B/S模式的电子商务管理平台。用户在本网站上可以浏览浏览任意一款鞋子,在注册并且登录后进行购买,实现网上交易。网站的前台功能包括登录、注册、浏览商品、加入购物车、浏览订单、删除订单、支付订单。网站会向用户展现最好和最实惠的商品,定期向用户推荐最新商品和特价商品,给用户最好的购物体验,同时本网站会定期维护,保证消费者的购物安全。本论文将详细阐述网站的功能及实现方法。关键字:网上鞋城,SQL Server 2005,网上购物目 录第1章 绪论1.1 课题背景随着科学技术的发展和时代的进步,慢慢衍生出一种新型的购物方式网购,网购存在价值就是让消费者通过网络在网上购物、网上支付,节省用户的时间和商家的店面空间,大大提高了交易效率,特别对于工作忙碌的上班族,网购也大量节省了他们的宝贵时间。在消费者信息多元化的21世纪,可以通过足不出户的网络渠道来满足自己的购物欲望,同时网络购物大大减少了商家对空间的需求,所以网络购物的价格一般也比传统的店铺价格便宜,这就使大量的用户喜欢这种购物方式,由于这种新型的购物方式对传统行业的冲击,大量的商户瞄准了这种新型的售卖方式。商家改变原来的竞争模式,也为商家带来了更高的利益。对传统的商户而言,要想将销售渠道完全打开,必须引进新型的思维和方法,所以网络购物成为了一个新型的平台。由于利益的驱使,大量商户涌入,导致电子商务行业竞争越发激烈和良莠不齐。所以本网站从消费者的角度考虑,为消费者提供 物美价廉的商品,并且提供更方便、更安全、更高效的购物平台。1.2系统设计思想网上鞋城销售管理系统是一个小型的网购平台,以方便、快捷为设计思想,下面将介绍网上鞋城的功能:(1)登录功能:用户在注册之后可进行登录,登录之后就可以购买商品(2)注册功能:用户只有在注册之后才能购买商品(3)修改密码:用户在登录后输入原密码就可以修改密码(4)找回密码:用户在登录界面点击找回密码,用户输入注册时的邮箱信息,系统就会向邮箱发送用户名及密码的邮件,用户登录邮箱就可以查收邮件,获得用户名和密码(5)查询功能:用户在搜索框中输入要查询的关键字,系统就会及时的将搜索的内容展现在用户的面前,用户也可以根据商品的分类进行查找,同时系统配有新品上架和特价商品的展示(6)订单管理:用户在登录后可以进入自己的购物车,进行订单管理。用户可以浏览订单,删除订单,支付订单。1.3系统设计原则(1)安全性原则。本系统是在web浏览器上与运行的网络购物系统。本系统为用户提供网上购物,查询物品,处理订单等服务。由于整个系统数据庞大且有大量保密信息,所以在设计过程中,必须考虑信息安全及保密措施,确保数据库中的数据不会被窃取和篡改,同时要保证用户能正常使用系统提供的服务。为了确保本系统能长时间为用户提供服务,本系统必须采用有效的安全保密技术。同时为了后台数据不会轻易的被前台用户篡改,本系统将涉及两种类型的用户,一般用户和管理员,系统将权限划分,灵活的使用管理方式在很大的程度上使网站的工作效率提升了,系统后台上架的物品在经过审查后才能上架,保证用户的购物安全。(2)规范性原则:在系统设计过程中,所有的代码和数据库的设计都符合技术规范。(3)实用性原则:本系统具有操作简便,易于上手的功能,界面设计优美,功能强大。根据用户的实际需求为用户提供满意的服务,系统不会干涉他们的购物,做到人性化,自由化。(4)整体性原则:本系统不论前期规划还是后期实施,都时刻关注系统整体性,不同用户之间的联系也构成一个整体。(5)本系统坚持开放性,自由性的标准。1.4 系统开发系统技术平台选择:开发环境: ASP.NET开发语言:C#开发架构:B/S数据库:SQL Server 2005第2章 可行性分析随着科学技术的发展和时代的进步,网购存在价值就是让消费者通过网络在网上购物、网上支付,节省用户的时间和商家的店面空间,大大提高了交易效率,特别对于工作忙碌的上班族,网购也大量节省了他们的宝贵时间。网购必将成为日后人们消费的主体。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,可行性分析是项目开发之前的重要阶段。为了避免盲目地开发软件,设计人员需要对项目的可行性进行研究,考虑资金时间和环境各方面的约束,对系统做出评估。本章将从技术可行性、经济可行性和社会可行性进行分析。2.1技术可行性技术可行性分析是技术解决方案的实用性、技术支援的可用性和设备条件做出评估。本系统开发实用的是Visual Studio 2010,数据库采用sql server 2005。2.2 经济可行性经济可行性分析是对项目的开发总成本与开发系统将带来的经济效益进行考量。开发阶段,使用的开发软件均为开源软件,无投资,网上鞋城系统的投资比较高,在少量用户下,本网站可能会暂时的处于无法盈利的状况,但之后可以通过宣传等手段来增加用户,所以一定会有发展的前景2.3社会可行性社会可行性的分析从法律政策等社会因素考虑项目的开发和意义。该系统作为毕业设计,不作为商业用途,所以无关乎侵权。本网站内容健康,无不良信息,用户的账户和密码均为设计人员设定的,无窃取正规用户的账户,不违反相关法律法规,不违背社会伦理道德。第3章 需求分析3.1 网站需求分析电子商务在时代的潮流下发展迅速,整个电子商务市场也势头正猛,所以这就是电子商务的竞争越发激烈。现代人生活工作压力大,网购已经成为了一种时尚和潮流,人们更喜欢足不出户的享受购买的欲望。对于竞争这么大的行业来说,给用户最好的体验就是必须具备的条件,所以本网站操作简单,让用户用更少的精力来享受购物的过程,这样也能更加吸引各个年龄段的人。网站运行可靠,定期维护,保证用户的消费安全。3.2功能分析3.2.1用户管理模块用户管理模块分为登录、注册、修改密码、修改个人信息、找回密码的功能。如图3.1所示。图3.1 用户管理模块图(1)登录功能:用户登录后可正常浏览,用户只有在登录之后才能将鞋子加入购物车和结算订单,用户也可以在登录之后删除自己的订单。活动图如图3.2所示。图3.2 登录功能活动图表3.3 用户登录用例表用例名称:用户登录用例标志号:001参与者:用户简要说明:用户通过用户名和密码登录,进入系统前置说明:用户已经注册,并且用户在登录的页面基本事件交流:1、用户鼠标点击文本框,输入和更改用户名或密码 2、用户鼠标点击“登录”按钮 3、用例终止其他事件流:在点击“登录”按钮之前,用户随时可以点击“退出”按钮,用户登录失败异常事件流:用户将用户名和密码输入错误,提示错误信息后置条件:用户登录完成,可发帖删帖回帖注释:无(2)注册功能:用户输入个人信息进行注册。活动图如图3.5所示图3.5 注册活动图表3.6 注册功能用例表用例名称:注册功能用例标志号:002参与者:用户简要说明:用户输入个人基本信息进行注册前置说明:用户在注册的页面基本事件交流:1、用户鼠标点击文本框,输入个人信息 2、用户鼠标点击“注册”按钮 3、用例终止其他事件流:在点击“注册”按钮之前,用户随时可以点击“退出”按钮,用户注册失败异常事件流:用户输入的个人信息不正确,用户注册失败,用例终止后置条件:用户注册完成,成功登录,用户可进行购物注释:无(3)修改密码:用户在登录之后输入自己的原密码就可以修改成新密码。活动图如图3.7所示。图3.7 修改密码功能活动图表3.8修改密码功能用例表用例名称:修改密码用例标志号:003参与者:用户简要说明: 用户可以修改自己的密码前置说明: 用户已经注册并登录基本事件交流: 1、用户点击“修改密码”按钮 2、输入原密码新密码和确认新密码 3、点击“确定“按钮 4、用例终止其他事件流:在点击“确定”按钮之前,用户随时可以点击“退出”按钮,用户修改失败异常事件流:1原密码输入错误,提示错误信息,无法修改密码2新密码和确认新密码输入不一致,用户修改密码失败,用例终止后置条件:注释:无(4)修改个人信息:用户在注册并登录之后就可以修改个人信息。活动图如图3.8所示。图3.8 修改个人信息活动图表3.9 修改个人信息用例表用例名称:修改个人信息用例标志号:004参与者:用户简要说明: 用户可以修改个人的基本信息前置说明: 用户已经注册并且登录成功基本事件交流: 1、用户点击“修改个人信息”按钮 2、输入要修改的内容 3、点击“确定“按钮 4、用例终止其他事件流:在点击“确定”按钮之前,用户随时可以点击“退出”按钮,用户修改失败异常事件流: 输入的内容不符合标准,修改失败后置条件:注释:无(5)找回密码功能:用户注册之后可能会丢失自己的密码,该功能可以让用户找回自己的密码。活动图如图3.10所示。图3.10 找回密码活动图表3.11找回密码用例表用例名称:找回密码用例标志号:005参与者:用户简要说明: 用户丢失自己的密码前置说明: 用户已经注册基本事件交流: 1、用户点击“找回密码”按钮 2、输入绑定邮箱 3、点击“确定“按钮 4、用例终止其他事件流:在点击“确定”按钮之前,用户随时可以点击“退出”按钮,用户修改失败异常事件流:邮箱输入错误,提示错误信息,无法修改密码后置条件:注释:无3.2.2查询模块用户可以查询关键字。如图3.12所示图3.13查询模块图(1)查询功能:用户输入关键字即可查询商品.活动图如图3.13所示图3.13 查询功能活动图表3.14 查询功能用例图用例名称:查询功能用例标志号:006参与者:用户简要说明: 用户可以输入关键字来查询商品前置说明: 基本事件交流: 1、输入查询关键字 2、点击“搜索“按钮 3、用例终止其他事件流:在点击“搜索”按钮之前,用户都可以终止搜索异常事件流:无后置条件:无注释:无3.2.3订单管理模块订单管理模块分为生成订单,浏览订单,查询订单,删除订单。如图3.15所示。图3.15 订单管理模块图(1)生成订单:用户在浏览商品的时,可以将商品加入购物车,订单生成成功。活动图如图3.16所示。图3.16 生成订单活动图表3.17 生成订单用例表用例名称:生成订单用例标志号:007参与者:用户简要说明: 用户将东西加入购物车,生成订单前置说明: 基本事件交流: 1、点击“加入购物车“按钮2、用例终止其他事件流:在点击“加入购物车”按钮之前,用户都可以终止异常事件流:无后置条件:用户可以浏览订单注释:无(2)浏览订单:浏览订单活动图如图3.18所示图3.18 浏览订单活动图表3.19 浏览订单用例表 用例名称:浏览订单用例标志号:008参与者:用户简要说明: 用户在个人的购物车可以查看所有的订单前置说明: 用户已经登录基本事件交流: 1、点击“购物车“按钮,查看所有订单2、用例终止其他事件流:在点击“加入购物车”按钮之前,用户都可以终止异常事件流:无后置条件:用户可以浏览订单注释:无(3)查询订单:用户输入查询关键字查询自己的订单。活动图如图3.20所示。图3.20 查询订单活动图表3.21 查询订单用例表 用例名称:查询订单用例标志号:009参与者:用户简要说明: 用户在个人的购物车可以查询订单前置说明: 用户已经登录并且用户已经在订单查询页面基本事件交流: 1、点击“购物车“按钮,查看所有订单 2、用户在文本框中输入查询关键字 3、点击“查询”按钮4、用例终止其他事件流:在点击“查询”按钮之前,用户都可以终止异常事件流:无后置条件:无 注释:无(4)删除订单:用户可以删除自己的订单。活动图如图3.22所示。图3.22 删除订单活动图表3.23删除订单用例表 用例名称:删除订单用例标志号:010参与者:用户简要说明: 用户在个人的购物车可以删除订单前置说明: 用户已经登录并且用户已经在订单页面基本事件交流: 1、点击“购物车“按钮,查看所有订单 2、点击“删除”按钮 3、提示用户是否确认删除4、用例终止其他事件流:在点击“删除”按钮之前,用户都可以终止异常事件流:用户取消删除,删除失败,用例终止后置条件:此订单无法恢复 注释:无第4章 总体设计4.1数据库设计数据库是指以一定方式将数据存储在一起,与开发系统独立开来的数据集合,数据库可以实现数据共享,减少数据的冗长度,实现集中控制,同时数据的一致性和可维护性可以确保数据的安全性和可靠性。数据库设计是开发人员对用户需求分析的一种体现,在网站的开发过程中数据库的设计尤为重要,数据库设计的好坏直接影响网站最后的设计效果,要设计出结构较好的数据库,开发人员必须联系实体的属性和关系,确定实体的属性的过程中,也要确定属性是否存在,是否为空,是否能够支持此数据类型,同时需要为实体设定合适的主键,这样的设计保证实体的完整性,加快数据的操作速度,同时主键不可重复,也不可为空值。(1)用户表:提供用户的基本信息,为用户的注册的数据提供数据存储,用户在登录也是从此表读取用户信息。如表4.1所示。表4.1 tbuser(用户表)列名数据类型允许空数据解释IDint用户iduserNamevarchar(50)用户名PWDvarchar(50)用户密码Addressvarchar(50)寄件地址postcodeint寄件地址邮编emalvarchar(50)绑定邮箱(2)商品表:提供商品的基本的基本信息,在商品的展示的数据就是通过读这些数据,完成商品的展示。如表4.2所示。表4.2 tbgoods(商品表)列名数据类型允许空数据解释goodIDint商品IdtypeIDint商品类别Namevarchar(200)商品名称Introducevarchar(200)商品简介Pricefloat原价Nowpricefloat现价Picturevarchar(300)商品图片Timedatetime上架时间Sizeint鞋码Countint鞋子的库存(3)订单表:用户将商品加入购物车,形成订单,用户可以再个人的购物车里查看自己的所有订单,也可以查看发货状态。如图4.3所示。表4.3 tborder(订单表)列名数据类型允许空数据解释orderIDint订单idUsernamevarchar(50)下单用户OrderDatedatatime下单日期Zhixingint是否已寄出(4)类别表:商品的所有类别都可以在此表中查看和添加。如图4.4所示。表4.4 tbType(类别表)列名数据类型允许空数据解释TypeIDint类别idTypeNamevarchar(50)类别名称第5章 详细设计详细设计是系统开发过程中必不可少的事情,详细设计是把系统中的各个功能从描述变成更精确的过程,详细设计不是编写程序,而是给程序设计出蓝图,开发人员可以根据详细设计来编写程序。详细设计需要完成以下的任务(1)为模块设计详细的算法(2)确定每个模块内的数据结构进行设计(3)确定接口的细节,包括系统外部接口和用户界面(UI)(4)为每个模块设计至少一组测试用例(5)其他设计:包括代码设计,输出/输入格式5.1 系统界面设计页面详细设计框架图5.1.1首页用户在没有注册的时候也可以进入首页浏览商品,用户在首页可以点击“亲,请登录”按钮即可登录,或点击注册按钮进行注册。用户在登录之后也可以点击购物车和个人中心查看,点击注销按钮用户就可以退出当前登录。用户在没有登录的情况下点击购物车和个人中心的话,系统会自动跳转到登录页面,提醒用户登录。如图5.1所示图5.1系统首页图5.1.2登录界面用户可以在登录界面输入用户名或邮箱、密码和验证码,点击登录按钮,就可以进入首页。用户在登录时有可能会忘记密码,点击找回密码按钮,用户即可进入找回密码的界面,同时用户也可以在登录界面点击免费注册按钮进入注册页面,用户在执行登录事件的时候,也可以点击“鞋潮网”图标回到首页。如图5.2所示。图5.2 登录页面图本人的登录使用的是linq to sql 技术密码使用MD5加密实现代码:DAL.EntityDataContext mycontext = new EntityDataContext();var mylist = from tmp in mycontext.tbuser where tmp.userName = this.tb_username.Text.Trim().ToString() select tmp; String code = (string)(Session"CheckCode"); if (this.tb_vali.Text = code.ToLower() if (mylist != null && mylist.Count() != 0) DAL.tbuser myojb = mylist.First(); MD5 mds = MD5.Create(); string str = this.tb_pass.Text; byte s = mds.ComputeHash(Encoding.UTF8.GetBytes(str); string miwen = "" for (int i = 0; i < s.Length; i+) miwen += si.ToString("X"); if (myojb.PWD = miwen) mycontext.SubmitChanges(); Session"username" = this.tb_username.Text; Response.Write("<script>alert('登录成功');</script>"); Response.Redirect("Buss.aspx"); else string mes = "<script>alert('密码错误');</script>" Response.Write(mes); else string mes = "<script>alert('没有此用户');</script>" Response.Write(mes); else string mes = "<script>alert('验证码输入错误');</script>" Response.Write(mes); tb_vali.Text = "" 5.1.3找回密码界面用户在登录页面点击找回密码,进入找回密码按钮。用户输入用户名,点击“下一步”按钮,系统验证用户名是否存在。如果不存在,系统弹出提示框,提示用户重新输入,如果存在,进入下一步。如图5.3所示。图5.3 找回密码页面1图输入绑定邮箱,验证邮箱是否为绑定邮箱。若输入错误,系统提示出错信息。若输入成功,进入下一步。如图5.4所示。图5.4 找回密码2图系统不会将你的原密码发送给你,系统将会让用户输入新的密码。如图5.5所示。图5.5 找回密码3图5.1.4注册页面用户输入注册所需的信息,点击确定按钮,提示用户出错或成功的信息。如题5.6所示。图5.6 注册页面图String code = (string)(Session"CheckCode"); if (this.tb_vali.Text = code.ToLower() ; DAL.EntityDataContext mycontext = new EntityDataContext(); DAL.tbuser tuser = new tbuser(); if (this.tb_name.Text = tuser.userName) Response.Write("<script>alert('用户名已经被注册,请重新输入用户名')</Script>"); else if (this.tb_pass.Text = this.tb_password.Text) var mylist = from tmp in mycontext.tbuser where tmp.userName = this.tb_name.Text.Trim().ToString() select tmp; if (mylist = null | mylist.Count() = 0) tuser.userName = this.tb_name.Text.Trim().ToString(); MD5 mds = MD5.Create(); string str = this.tb_pass.Text; byte s = mds.ComputeHash(Encoding.UTF8.GetBytes(str); string miwen = "" for (int i = 0; i < s.Length; i+) miwen += si.ToString("X"); tuser.PWD = miwen; tuser.email = this.tb_email.Text.Trim().ToString(); tuser.address = this.tb_addr.Text.Trim().ToString(); tuser.postcode = this.tb_post.Text.Trim().ToString(); mycontext.tbuser.InsertOnSubmit(tuser); mycontext.SubmitChanges(); Response.Write("<script>alert('注册成功')</Script>"); Session"username" = this.tb_name.Text; Response.Redirect("Buss.aspx"); else Response.Write("<script>alert('该用户名已经被注册')</Script>"); tb_pass.Text = "" tb_password.Text = "" 5.1.5个人中心用户在登录之后可以进入个人中心。如图5.7所示。图 5.7 个人中心图5.1.6 商品详情页面用户点击商品的图片或商品就可以进入商品详情页面。如图5.8所示。图5.8 鞋子详情页面string connString = "server = localhost; database = SHOES_SYSTEM; integrated security = sspi;" SqlConnection conn = new SqlConnection(connString); if (Session"id1" = null) int id = Convert.ToInt32(Request.QueryString"id"); iddd = id; else iddd = int.Parse(Session"id1".ToString(); string str = "select * from tbgoods where goodID='" + iddd + "'" conn.Open(); SqlDataAdapter sda = new SqlDataAdapter(str, conn); DataSet ds = new DataSet(); sda.Fill(ds); this.shoes.DataSource = ds.Tables0; this.shoes.DataBind();结 束 语经过这几个月的努力,我的网上鞋城销售管理系统终于完成了。在整个设计过程中,出现过一些难题,但都在老师和同学的帮助下顺利解决了,在写论文的过程中我不仅了解了买卖商品的交易环节,还更深刻的认识到网络安全的问题,网上购物的各种不安全的现象,让我在考虑设计方面更加全面,有了更加严谨的思维。 在论文不断编写的过程中我觉得写论文不断学习的过程,从最初不知如何下笔,到最后的得心应手,我体会了实践是最好的学习方法,以前在书本上学到的知识,不实践就没法做到真正的学会。在实践结束后我发现我真的成长了很多。以前在学习的过程中,只会注意理论的知识,通过这次毕业论文和设计,我真正体会到理论和实践的重要性。致谢时光匆匆流逝,大学时间很快的接近了尾声。回想我的大学生活,我感到非常的不舍。首先我要感谢我的指导老师周建辉老师,在我编写论文之初,周老师帮我选课题、构思,在编写的时候,每次遇到问题,周老师都会耐心的帮我解决问题,周老师还会利用课余的时间对我们进行面对面的辅导。周老师平时很忙,但他丝毫没有懈怠我们的论文,论文的每一个环节周老师都会参与进来,给我中肯的建议。他用他渊博的知识和严谨的作风使我受益匪浅。其次,我要感谢我的同学,在论文编写的过程中是她们给了我很多宝贵的意见,给我在迷茫的初始阶段指明方向。然后我要感谢我的学校以及我的班主任周长虹老师,她虽然不是我的指导老师,但是她时刻关心着我们班每个同学的论文情况,适时的给我一些意见。再然后,我要感谢我的专业课老师,没有专业课老师的悉心教导,我怎么能积累知识,完成我的毕业论文呢。在此,我再一次真诚的感谢我的导师、班主任、专业课老师和我的同学们。参考文献1 王亚楠.SQL Server2005数据库应用技术. 机械工业出版社, 2010-5-12宋楚平.ASP.NET应用程序开发实用教程.人民邮电出版社3 刘凤玲.网站规划与设计. 清华大学出版社, 2011-10-14徐占鹏.程序设计.高等教育出版社5李发陵、刘志强,软件工程.清华大学出版社,2013 6朱景德SQL Server数据库系统基础.西安电子科技大学,20107丁士峰ASP.NET项目开发指南.清华大学出版社,20108 秦婧精通C#与.NET 4.0数据库开发.清华大学出版社,2011专心-专注-专业