《网上商城购物系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《网上商城购物系统的设计与实现.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date网上商城购物系统的设计与实现摘 要摘 要21世纪以来,人类经济高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。为了让消费者网上购物过程变得简单、方便、安全、快捷,网上商城购物成了一种新型而热门的购物方式。网上商城购物系统是一种具有交互功能的商业信息系统,它在网络上建立一个虚拟的购物商城,使购物过程变得轻松、快捷、方便。本系
2、统共分两个部分:前台用户部分和后台管理部份。在前台用户部分中,包括用户在线注册、定购商品、浏览商品、查询商品信息等操作;后台管理部分包括:商品信息的管理、用户订单的管理、普通管理员的管理、客户的管理各种即时信息的发布管理。关键词:网上商城 ASP.NET SQL ServerTitle: System Design and Implementation of the online shopping mall Abstract:21st century, mankinds rapid economic development, peoples lives rapid changes, espec
3、ially in various fields of computer applications and spread to the economic and social life.In order to allow consumers to online shopping process simple, convenient, safe, fast, online shopping mall has become a new and popular way to shop.The online shopping mall system is a kind of interactive fe
4、atures of the business information system on the network to create a virtual shopping mall, and make the shopping process easy, fast and convenient. The system is divided into two parts: the front of the user part and management background.In the foreground user part, including on-line registration,
5、 order goods, browse the merchandise, check product information and other operations;The background section includes: product information management, management of customer orders, the general administrator, management, customers manage a variety of real-time information dissemination and management
6、.Keywords:Online Shopping Mall ASP.NET SQL Server目 录1 引言11.1 研究背景11.2 研究意义11.3 研究内容22 主要技术32.1 ASP.NET32.2 ADO.NET42.3 SQL SERVER52.4 系统运行环境63 系统分析73.1 需求分析73.2 业务流程分析74 系统设计94.1 功能模块设计94.2 数据库设计105 系统设计与实现125.1 前台管理模块125.1.1 用户购物模块125.1.2 注册会员模块145.1.3 首页展示模块165.2 后台管理模块175.2.1 用户管理模块175.2.2 商品管理模块
7、195.2.3 订单管理模块21总 结24致 谢25参考文献26-1 引言1.1 研究背景电子商务,就是在网上开展商务活动。它是以电子交易为手段,完成金融、物品、服务、信息等价值的交换,是快速而有效地进行各种商务活动的最新方法。电子商务的出现,改变了传统的一手交钱一手交货的模式,使得商业模式发生了很大的变化。随着信息技术的不断发展和Internet互联网技术的日益普及,人们越来越意识到电子商务对国家经济、企业管理和个人生活所带来的巨大影响。它满足企业、商人和消费者对提高产品和服务的质量、加快服务速度、降低费用等方面的需求,也帮助企业和个人通过网络查询和信息检索为企业下一步的发展方向提供支持。借
8、助电子商务,企业和个人,企业和企业可以通过网络进行交易和全过程的服务。电子商务代表着未来贸易方式的发展方向,其应用和推广将给社会和经济带来极大的效益。具有强大生命力的现代电子交易手段己越来越被人们所认识,发达国家在这方面有很多年的发展历史,发展中国家也正在加紧制定总体发展战略,大力促进电子商务在国民经济各个领域的应用,力争在越来越激烈的国际竞争中占据有利的地位。因此,对于网上购物技术的研究和实现,以及搭建一个实用的网上商店是很重要的。1.2 研究意义在互联网日益发展的今天,网络购物已经不是什么新鲜的事物,一些大型的网络购物网站每年都会有上亿的成交量,其中比较出名的网络购物网站有:易趣,淘宝,阿
9、里巴巴等,这些网上商店大多是综合的商场,网络商品五花八门,包罗万象,还有一些购物网站只销售单一商品,例如,华储网只销售图书。本网上商店是一套基于数据库的商品产品发布管理系统,可用于商品产品的实时发布以及企业产品数据管理,前台用户可通过页面浏览,查询和订购产品,后台管理员可以管理产品价格,简介,图片等多类信息。而且投资少,回收快。一项针对中国中小企业的情况调查显示,个人在网下启动销售公司的平均费用至少5万元,而网上开店建店成本非常小。一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金
10、不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。 1.3 研究内容目前在线购物虽然迅猛发展,但是作为电子商务一个重要模型之一的B2C模式却远远落后于B2B的发展,原因很多,但其中一个重要的原因是电子商务平台不能全面的解读电子商务,使电子商务只停留于形式,单纯起到网上交易的目的,虽然我国互联网上已经有很多个电子商务网站,但真正能实现电子商务功能的却少之又少,更不要说真正开发电子商务功能,实现电子商务优势了。甚至于有很多是为了迎合电子商务发展而单纯建立一个界面,放几件商品,后台的工作完全不存在。因此开发一个功能全面,适合我国商务特色的,经济实用的B2C电子商务平台是非常需
11、要和必要的。2 主要技术2.1 ASP.NET本系统所介绍平台的界面部分及代码的实现都是用ASP.NET开发的,因此我们下面介绍一下ASP.NET。ASP.NET是ASP(Active Server Pages动态服务器端页面)的后继版本,是构建新一代动态网站和基于网络的分布式应用的技术。它是基于服务器端的动态页面技术,可以在服务器端根据客户端请示和提交的信息,动态地生成与客户端浏览器类型无关的通用HTML页面,也可以根据客户端浏览器类型,生成特定的数据表现形式。ASP.NET属于ActiveX技术的服务器端技术部分。与常见的在客户端实现动态主页的技术如DHTML, Java Applet,
12、ActiveX Control等不同,其在客户端不需要编程。用ASP.NET支持的编程语言开发的可编程网页ASP.NET Web Form是由Web服务器解释执行的。执行结果产生的动态Web页面将送到浏览器;而客户端的Script命令则由浏览器来解释执行。由于ASP.NET是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP.NET,同时由于它在服务器端执行,开发者也不必担心别人下载程序从而偷窃编程逻辑。ASP.NET采用完全面向对象的编程语言(现阶段支持C#,VB,Jscript)进行开发,使用WYSIWYG(What You See Is What You Get)编辑器编辑Web
13、 Form,支持代码和页面内容的分离。程序员可以充分利用面向对象的继承、封装、可重用。和事件驱动的特性进行编程,对ASP.NET Web Form进行可视化的编辑工作而不必担心编辑器自动添加或修改的代码会影响脚本程序的运行。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScripts .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 ASP.NE
14、T 可以无缝地与 WYSIWYG HTML 编辑器和 Microsoft Visual Studio .NET一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。ASP.net提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.net的主题就是系统帮用户做
15、了大部分不重要的琐碎的工作。 由于ASP.NET有强大的功能,所以本系统采用了它作为开发语言,同时它的便捷性和它强大的控件支持性,所以它给我们开发时候带来了很大方便。ASP.NET Web Forms将一个Web应用程序的用户界面分为两个部分:可视化的组件和用户界面逻辑。可视化组件部分包括各种标记和Web Forms特有的元素,这些组件构成了一个容器,用来容纳要显示的文本和控件。这个容器被称为页面,用后缀为aspx的文件名存储(也就是浏览者请求的ASP.NET页面)。用户界面逻辑包含了用于和可视化组件部分交互的代码,可以单独放在其他文件中,有利于代码的重用和维护。正是由于ASP.NET这一支持
16、代码和页面内容分离的特性,在进行系统分析设计时才考虑将人机界面设计工具和脚本编辑与编译工具设计成一个装配件,使两部分工作更紧密的结合,更有利于界面和脚本的同步更新。2.2 ADO.NETADO.NET技术是一个基于标准的面向创建分布式数据共享应用程序的编程模型,是ADO(ActiveX Data Objects)技术的延伸和发展,它带来了比ADO技术更为优越的互操作性、可维护性、可编程性和更出色的性能。ADO.NET包含了众多的类,程序员通过使用这些类来获得数据。访问服务这些类位于.NET Class Library中,可以被任何基于.NET设计的应用程序使用,包括前端的数据库客户程序、中间层
17、的各种应用程序、工具语言或者浏览器调用的商业逻辑对象。ADO.NET对象模型中有五个主要的组件,分别是Connection对象、Command对象、DatasetCommand、Dataset 以及DataReader。这些组件中负责建立联机和数据操作的部分我们称为数据操作组件(Managed Providers),分别由Connection对象、Command对象、DataSetCommand对象以及DataReader对象所组成。数据操作组件最主要是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中,以及将数据存回数据源的工作。图2-1是显示这些
18、对象关系的ADO.NET对象模型:图 01 ADO.NET对象模型.Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用程序的开发。相比于ASP来说,.NET在很多方面都有很大的改进,组件的使用不像原来那样当你修改它时要重启服务器才能作用,这对一般的网站来说非常重要,再者它本身也内置了一些组件供开发者调用比如比较常用的上传组件等。和其他的开发语言相比,它还具有简单易学的优点。所以本系统采用.NET技术来开发网上商店。2.3 SQL SERVERSQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和As
19、hton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2005是Microsoft公司于2005年推出的版本。 SQL Server 特点:1真正的读者机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受
20、消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。ASP.net是M的一部分,作为战略产品,它提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP
21、兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。2.4 系统运行环境服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:Inter Pentium 41.6Hz或更高。内存:512MB硬件空间:160GB题目主要采用的技术数据库:Microsoft SQL Server 2000。编程语言 AS
22、P.NET服务器:Tomcat5.5,jdk1.6开发环境:WindowsXP3 系统分析3.1 需求分析网上购物系统发布平台为顾客提供了各种商品、供求信息浏览、查询,购买等功能,全面的为顾客提供服务,帮助顾客更多的了解本网站的动态信息,提供最新动态通知。网上购物系统发布平台的强大功能越来越被业内的相关人士所重视,通过网站顾客能够更及时了解最新的信息以方便自身利益。网上购物系统发布平台全面的、周到的信息服务使之逐渐成为业界发展前进的方向标。通过调查,要求系统具有以下功能:(1)用户登录注册。(2)提供类别导航,购物推荐,热销商品,假如购物车等(3)提供会员注册(4)提供管理员后台管理入口。管理
23、员通过本页面登录后台管理程序。(5)通过后台对各类信息进行管理和审核。(6)对网站会员信息进行管理和审核。审核注册本网站的会员,对其进行管理。(7)友情链接。设置相关的友情链接页面。3.2 业务流程分析通过调查和分析,本网站的业务流程是:用户可以登录企业网站查看本站商品,会员可以直接登录,为注册的会员也可以申请注册会员;顾客可以在系统提示下浏览本网站商品。系统管理员可以在网站后台对购物信息进行添加、删除和修改,还可以对会员注册信息进行确认等.本系统的业务流程图如图3-1所示:是开始登录否登录管理员否是商品管理退出登录浏览商品搜索商品购买商品查看或修改购物车用户管理订单管理图31 系统流程图4
24、系统设计4.1 功能模块设计网上商城系统采用了敏捷开发的设计思想,我们对整个系统主要分成了2个大模块,即前台交易模块和后台管理模块。而其中各个模块我们又进行了进一步的细分,如前台交易模块又分为注册会员、商品浏览、查询商品、购买商品等;后台管理模块则包括对用户的管理、商品管理和销售管理。我们的数据库运了sql server这个平台进行开发,使得整个系统具有易用性、个性化、跨平台等特点,同时又保证交易数据的安全、稳定、快速和完整,使其运行得高速、安全、稳定。对网上商城的操作具有两种不同身份的用户,即普通用户和管理员两大类,在整个系统运行中,他们分别具有不同的功能和操作权限。普通用户具有注册会员、商
25、品搜索、网上购物的权限,而管理员则主要负责后台数据的管理,如对用户的管理、商品管理和销售管理等权限,如图4-1所示:网上商城用户管理员注册会员网上购物用户管理销售管理商品管理商品搜索商品浏览图 41系统模块图注册会员:会员注册页面用于实现会员的注册功能,会员注册成功后必须经过审核,如果审核通过,会员才可以免费发布信息。商品搜索:主要方便顾客搜索需要的商品,只要在里面输入所需商品信息就会自动搜索。网上购物:主要是为了方便顾客查看所有商品,只要顾客选中商品假如购物车结算即可以按时收到商品。用户管理:这是管理员的功能,主要是管理本店的会员情况,可以定期发布活动提示或者促销。用户管理包括对用户的添加、
26、删除和修改以及对用户详细信息的查询。商品管理:这也是后台的功能,确保每件商品无质量问题或者按时发货。销售管理:就是了解企业的经营目标、产品的目标市场和目标客户,对这些问题有了清晰的了解之后,而做出的销售策略和计划。4.2 数据库设计数据库包含了所有的用户、订单、商品等信息,这些信息分别存储在相应的数据表中,包括admin(管理员信息表)、Area(地区信息表)、BuyInfo(购买信息表)、Class(商品类别信息表)、GoodsInFo(商品信息表)等表。如表:4-1、4-2、4-3、4-4、4-5所示:表 41 admin列名数据类型长度允许空IdInt4否AdminVarchar50是P
27、asswordVarchar50是表 42 Area列名数据类型长度允许空IdInt4否NameVarchar50是KM110null表 43 BuyInfo 列名数据类型长度允许空BuyIdInt4否GoodsIDVarchar50是NumVarchar50是OrderIdVarchar50是SumPriceVarchar50是MemberIdVarchar50是表 44 Class 列名数据类型长度允许空IdInt4否nameVarchar50是CategoryUrlVarchar50是表 45 GoodsInFo列名数据类型长度允许空IdInt4否Usernamenvarchar50否P
28、asswordNvarchar100否TypeNvarchar50否RegtimeDatetime8否IfuseInt4否LogintimesInt4否LasttimeDatetime8否LastipNvarchar50否5 系统设计与实现5.1 前台管理模块前台模块实现用户选购、购买商品功能,包括用户购物模块,注册会员模块和首页展示模块。5.1.1 用户购物模块用户登录网上购物商城后首先进行登录,然后进行商品浏览和商品搜索,选择满意的商品,确定要购买后点击页面中的相应的购买按钮从而将商品收藏到购物车中。用户通过点击购物车便可以查看所收藏的商品,可以继续浏览其他商品,也可以直接进行填写用户姓名
29、、联系方式、地址等个人信息,选择支付方式从而进行支付工作,完成商品的购买。如图5-1、5-2所示:图 51 购物车账信息图52 填写用户信息主要代码如下: /当购买商品时,获取商品信息 public SaveSubGoodsClass GetSubGoodsInformation(DataListCommandEventArgs e, DataList DLName) /获取购物车中的信息 SaveSubGoodsClass Goods = new SaveSubGoodsClass(); Goods.GoodsID = int.Parse(DLName.DataKeyse.Item.Item
30、Index.ToString(); string GoodsStyle = e.CommandArgument.ToString(); int index = GoodsStyle.IndexOf(|); if (index = GoodsStyle.Length) return Goods; Goods.MemberPrice =float.Parse( GoodsStyle.Substring(index + 1); return (Goods); public void AddShopCart(DataListCommandEventArgs e, DataList DLName) if
31、 (SessionUID != null) SaveSubGoodsClass Goods = null; Goods = GetSubGoodsInformation(e,DLName); if (Goods = null) /显示错误信息 Response.Write(alert(没有可用的数据);); return; else ucObj.AddShopCart(Goods.GoodsID,Goods.GoodsWeight, Goods.MemberPrice, Convert.ToInt32(SessionUID.ToString(); Response.Write(alert(恭喜
32、您,添加成功!); else Response.Write(alert(请先登录,谢谢合作!);); 5.1.2 注册会员模块用户购买商品需要进行注册成会员。用户通过登录到注册页面,填写用户的个人信息,点击保存便可以完成用户的注册工作,从而可以进行其他的商品购买等。其详细流程如下:输入:用户的姓名,密码,管理权限卡号,身份证,密码,备注。处理:添加管理员信息。在这里可以添加系统管理员。添加信息有:用户的姓名,密码,管理权限,密码。这里系统会自动将新系统管理员的登录密码设为1,这样新注册的系统管理员获得他的登录号后,就可以在登录系统时,输入用户名和密码,登录系统后,进入系统管理中,修改密码就可以
33、了,所填入的信息将被录入用户信息表中。输出:添加成功,提示成功信息,不成功则显示错误的信息页面。界面如下图5-3所示:图53 添加会员主要代码如下: if (txtPostCode.Text.Trim() = & txtPassword.Text.Trim()=) Response.Write(alert(请输入完整信息!);location=javascript:history.go(-1);); else bool P_Bl_Sex; if(Convert.ToInt32(ddlSex.SelectedItem.Value.Trim()=1) P_Bl_Sex =true ; else P
34、_Bl_Sex =false ; G_Int_MemberID = uiObj.AddUInfo(txtName.Text.Trim(), P_Bl_Sex, txtPassword.Text.Trim(), txtTrueName.Text.Trim(), , , txtPhone.Text.Trim(), txtEmail.Text.Trim(), ddlCity.SelectedItem.Text.Trim(), txtAddress.Text.Trim(), txtPostCode.Text.Trim(); SessionUsername = ; SessionUsername =tx
35、tName.Text.Trim(); Response.Write(alert(恭喜您,注册成功!);location=index.aspx);5.1.3 首页展示模块当用户登录进入网站时,首先出现的是本网站的首页,首页包括本网站前台用户的所有功能菜单,如用户登录、类别导航、推荐商品、热销商品、特价商品等,界面清晰美观。界面如图5-4所示:图54 首页展示主要代码如下:public void DiscountBind() ucObj.DGIBind(3, IsDiscount, DLDiscount); protected void DLrefinement_ItemCommand(objec
36、t source, DataListCommandEventArgs e) if (e.CommandName = detailSee) Sessionaddress = ; Sessionaddress = index.aspx; Response.Redirect(/User/GoodsDetail.aspx?GoodsID= + Convert.ToInt32(DLrefinement.DataKeyse.Item.ItemIndex.ToString(); else if (e.CommandName = buyGoods) AddShopCart(e,DLrefinement); p
37、rotected void DLHot_ItemCommand(object source, DataListCommandEventArgs e) if (e.CommandName = detailSee) Sessionaddress = ; Sessionaddress = index.aspx; Response.Redirect(/User/GoodsDetail.aspx?GoodsID= + Convert.ToInt32(DLHot.DataKeyse.Item.ItemIndex.ToString(); else if (e.CommandName = buyGoods)5
38、.2 后台管理模块后台管理由管理员使用,实现对商城中所有商品和用户的管理。包括用户管理模块、商品管理模块和订单管理模块。5.2.1 用户管理模块管理员对用户的管理主要是对会员的信息的查询、添加、删除、修改等操作,从而实现对用户信息的控制。鉴于用户忘记密码,信息的变更,如联系方式、详细地址等信息,我们管理员在后台进行用户信息进行及时更新还是很必要的。虽然用户可以通过在前台自行修改个人信息。但是对于那些账户锁定的用户和需要大批量修改用户数据来说,在后台进行变更用户数据还是需要的一项功能。在本系统中,对于用户信息的查询我们主要是通过GridView数据控件绑定数据库实现对用户数据的显示,页面如图5-
39、5所示:图 55用户管理模块主要代码如下:MangerClass mcObj = new MangerClass(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) gvMemberBind(); public void gvMemberBind() DataSet ds = mcObj.ReturnMemberDs(Member); gvMemberList.DataSource = ds.TablesMember.DefaultView; gvMemberList.DataBind(); prot
40、ected void gvMemberList_PageIndexChanging(object sender, GridViewPageEventArgs e) gvMemberList.PageIndex = e.NewPageIndex; gvMemberBind(); protected void gvMemberList_RowDeleting(object sender, GridViewDeleteEventArgs e) int P_Int_MemberID = Convert.ToInt32(gvMemberList.DataKeyse.RowIndex.Value.ToSt
41、ring(); mcObj.DeleteMemberInfo(P_Int_MemberID); gvMemberBind();5.2.2 商品管理模块管理员对商品信息的管理主要包括商品以及对商品类别的查询、添加、删除、修改等操作。我们这个网上购物商城所销售的商品并不是单一的商品,包括衣服、包包等类型的商品,为了方便管理,我们有必要对商品进行分类,分门别类的对商品进行管理,从而提高商品管理的效率。同时,由于市场的变更,如商品销售完毕,无存货,为了避免对用户造成商品还有库存的误解,我们可以对商品进行下架处理,对用户负责。还如,由于商场竞争、政府干预等引起价格的变动,我们就可以对商品价格的及时变更,
42、根据市场进行调价。再如,由于管理员的一时失误,商品信息输入错误,为了避免对购买用户造成不好的影响,我们也可以对商品信息的及时更新,减少不必要的麻烦。页面运行如图5-6所示:图56商品管理主要代码如下:/ / 获取指定商品的信息,并将其显示在界面上 / public void GetGoodsInfo() DataSet ds = mcObj.GetGoodsInfoByIDDs(Convert.ToInt32(RequestGoodsID.Trim(),GoodsInfo); txtName.Text=ds.TablesGoodsInfo.Rows02.ToString(); ddlCategory.SelectedValue = ds.TablesGoodsInfo.Rows01.ToString(); txtBrand.Text = ds.TablesGoodsInfo.Row