《电子商务平台课程设计.doc》由会员分享,可在线阅读,更多相关《电子商务平台课程设计.doc(23页珍藏版)》请在三一办公上搜索。
1、电子商务平台方案设计1课程设计的目的随着Internet的不断普及,人们对于互联网技术的要求已不单单是浏览一下网页,收发电子邮件,日益忙碌的人们开始追求足不出户的利用互联网这一强大的平台来实现的网上商务。网络及电子商务的迅猛发展突破了时间、空间的局限性,给中小企业带来了更多的发展机会,同时也增大了企业之间的竞争强度。对于企业来讲,无论是企业之间,还是企业和客户之间的交易,如果能够实现网上交易将大大提高交易速度节约交易成本。近几年,随着网络数据库技术的进一步发展,使得这一设想逐渐成为现实。运用技术开发了一个网上购物系统。它主要分为前台页面展示和后台信息管理两大模块。前台页面主要是向访问用户展示公
2、司的信息,如商品信息,热卖商品,最新商品,热点新闻,企业公告,招聘信息等的展示。后台信息管理模块主要是系统管理员对前台展示信息的管理,提供对前台信息的增,删,改,查等功能,用于控制信息的显示。在本系统中,顾客可以很方便的注册成为会员,对商品进行浏览检索,查看商品的详细资料,然后根据各人的喜好购买心仪的商品。系统会自动为顾客生成订单,按照顾客所填写的信息提交订单并发货。系统管理员则可以对现有的商品进行添加和编辑,审查已注册的用户并对提交的订单进行处理。网上购物这一新型购物方式已逐渐被人民所接受,并逐渐改变甚至取代了传统的购物观念。人民足不出户就可以在网上浏览到去全国各地的商品信息,方便快捷地搜索
3、自己所需要的商品,而安全的在线支付和送货上门服务,使人民更加深切的体会到这一购物方式的优越性。与此同时,网上商城这种新的商业运营模式被越老越多的商家应用到竞争当中,并得到了大多数客户的认可,这种基于浏览器客户端、服务器实现的销售方式已出具规模。一些电子商务网站的成立,从整体上降低了成本,加快了企业对市场的响应速度,提高了企业的服务质量和竞争能力。2设计方案论证2.1系统需求分析随着中国市场经济的成熟,中国企业面对的竞争压力越来越大,企业要想生存,在提高企业内部管理效率、充分利用企业内部资源的基础上,必须不断扩展销售渠道,扩大消费群体,提高企业的竞争力。随着信息化时代的到来,电子商务网站成为企业
4、对外展示商品信息、从事商务活动的窗口。如何建立企业电子商务网站,如何把企业业务扩展到Internet上,已经成为企业普遍面临的问题。2.2可行性研究的前提2.2.1要求购物平台系统要求能够提供会员注册、在线购物、在线支付等功能。2.2.2目标购物平台系统的主要目标是系统全面的展示网站中的商品,简化用户在线购物流程,确保用户在线支付的安全性,进一步提高企业的经济效益根据用户的要求,系统应以商品展示和销售功能为主,对于网站的最新和热销的商品能够及时的展示在网站的首页中,提供方便快捷的商品查询功能,提供简便安全的在线购物流程。对于注册用户及商品等数据信息实施有效的安全管理。2.3开发技术介绍2.3.
5、1C#简介C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时
6、去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT.NET平台的应用程序,MICROSOFT.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C+程序员可以高效的开发程序,且因可调用由C/C+编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向
7、C#。2.3.2ASP.NET简介ASP.NET是.NETFrameworks的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。指ActiveServerPages(动态服务器页面),运行于IIS(InternetInformationServer服务,是Windows开发的Web服务器)之中的程序。2.3.3MicrosoftSQLserver简介SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟
8、通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQLServer是一个关系数据库管理系统。它最初是由Microsoft、Syb
9、ase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UN操作系统上的应用。2.4系统设计2.4.1系统设计目标对于典型的数据库管理系统,尤其是电子商务平台这种网络数据流量比较大的网络管理系统,必须要满足使用方便、操作灵活等设计要求。本系统在设计时应该满足以下几个目标:1)界面设计美观友好,操
10、作简便2)全面、分类展示商城内所有商品3)显示商品的详细信息,方便顾客了解商品信息。4)查看商城内的交易分析5)设置灵活的打印功能6)对用户输入的数据系统进行严格的数据检验,尽可能的排出认为错误。7)提供新品上市公告,方便顾客及时了解相关信息8)提供网站留言功能9)系统最大限度的实现易维护性和易操作性10)系统运行稳定、安全可靠2.4.2系统流程图系统流程图如1所示。电子商务网站网络管理员网站访问者注册否登陆浏览网站其它模块登陆否是否选择商品是否是进行商品信息管理、订单管理、用户管理、系统管理是购物车否更改商品的数量查看订单购买在线支付是图1系统流程图2.4.3系统的功能结构电子商务平台前台管
11、理系统本站公告最新商品推荐商品热门商品商品分类用户中心购物流程我的购物车会员登录网站留言我的留言前台管理系统功能设计如图2所示:图2前台功能结构图电子商务平台后台管理系统的功能设计如图3所示:商品类别添加电子商务平台后台管理系统库存管理订单管理管理员管理用户管理系统管理商品添加商品管理商品类别管理编辑订单查询订单添加管理员删除管理员管理会员上传管理留言管理图3后台功能结构图2.4.4构建开发环境1)网站开发环境网站开发环境:MicrosoftVisualStudio2010集成开发环境,IIS6.0网站开发语言:ASP.NET+C#.网站后台数据库:SQLServer2005.开发环境运行平台
12、:WindowsXP,Windows72)服务器端操作系统:windows7Web服务器:Internet信息服务(IIS)管理器数据库服务器:SQLServer2005浏览器:InternetExplorer7/8/93)客户端浏览器:InternetExplorer7/8/9分辨率:1024*768最佳2.5数据库设计数据库设计是系统中重要的部分。2.5.1数据库概要说明为了是读者对本系统后台数据库的数据表有了一个更清楚的认识,笔者在此设计了数据库树形结构图。2.通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为“商品类型”、“商品信息”、
13、“商品订单”、“商品订单明细”和“管理员”实体,实体E-R图如下:当用户进行该网站时,用户可以浏览该店铺的所有信息,但是如果要购买的就得先登录,才能选购。用户信息表E-R如图4所示:用户信息表用户地址用户手机用户编号用户名用户电话用户e_mail用户真名用户密码图4用户信息E-R图为了使用户在网上购物时,能够按照自己所需要的商品类别进行选购,就需要将所列商品划分类别。商品类型的实体E-R图如图5所示。类型编号类型名称商品类型类别图片图5商品类型信息E-R图对于网上商城所展示的商品,为了是消费者详细了解商品,应将商品所有的相关信息都展示出来。商品信息实体E-R图如图6所示。商品信息商品图片商品热
14、销价商品市场价商品简介是否打折商品名称进货日期商品编号图6商品详细信息E-R图商品订单商品运输方式是否发货商品市场价商品订单编号是否打折接收人姓名订单总费用商品费用当消费者选购好商品放入购物车后,如果不在继续购物,便可以前往服务台,进行选怎商品运输方式等相关操作,然后提交订单,最后进行在线支付。商品订单实体E-R图如图7所示。图7商品订单E-R图当用户提交完商品订单,需要进一步了解所购买的商品信息,如所购商品的金额、数量、订单号等。商品订单明细E-R图如图8所示。商品订单明细商品总金额备注订单详细表号商品对应订单号商品数量商品代号图8商品订单明细E-R图当用户收到商品,使用之后,在一定时间能可
15、以对商品进行评价,即进行留言和评价。用户留言板实体E-R如图9所示。用户留言用户名E-mail地址内容电子邮件图9用户留言板E-R图在网站维护的过程中,管理员的角色最为重要。本网站管理员的实体E-R图如图10所示管理员管理员真实姓名E-mail地址管理员密码管理员登录名创建时间管理员编号图10管理员实体E-R图2.5.3数据表设计(1)用户信息表用户信息表描述用户的相关信息,如用户的编号、密码等。表1用户信息表(dbo.users)字段名称中文描述数据类型是否允许空注释userid用户编号int否主键useradmin用户名varchar(20)是userpassword用户密码varchar
16、(40)是username用户真名varchar(20)是useremail用户e_mailvarchar(30)是usershengfen用户身份varchar(20)是usertelphone用户电话varchar(15)是usershouji用户手机varchar(15)是useraddress用户地址varchar(50)是(2)商品信息表商品信息表描述商品的相关信息,如商品名、商品品牌、商品的价格等。表2商品信息表(dbo.shangping)字段名称含义数据类型是否允许为空注释shangpingid商品号int否主键shangpingname商品名varchar(40)是spec商
17、品规格varchar(20)是shangpingpingpai商品品牌varchar(20)是quantity商品总数量int是price商品进价decimal(12,2)是totalprice商品总价格是chushouprice出售价格decimal(12,2)是leibieid类别号int是fenleiid分类号iInt是gysname供应商名varchar(50)是pic商品图片varchar(50)是beizhu备注varchar(100)是(3)订单信息表订单信息表描述会员订单的相关信息,如订单编号、商品编号、订单金额等。表3订单信息表(dbo.dingdan)字段名称中文描述数据类
18、型是否允许为空注释dingdanid订单编号int否主键useradmin会员名varchar(20)是shangpingid商品编号int是quantity订单数量int是totalprice订单总金额decimal(12,2)是username用户真实名varchar(20)是usertelphone用户电话varchar(15)是useraddress地址varchar(50)是(4)供应商信息表供应商信息表描述供应商的相关信息,如供应商的名称、联系电话等。表4供应商信息表(dbo.gongyingshang)字段名称含义数据类型是否允许为空注释gysID供应商编号int否主键gysna
19、me供应商名称varchar(20)是gyslinkman联系人varchar(50)是telephone联系电话varchar(20)是email电子邮件varchar(30)是address公司地址varchar(80)是(5)用户留言板信息表用户留言板信息表描述用户留言的相关信息,如用户名、内容等。表5用户留言版信息表(dbo.userliuyanban)字段名称含义数据类型是否允许为空注释lybid留言板编号int否主键username用户名varchar(30)是useremail电子邮件varchar(30)是lybcontent内容ntext是(6)管理员信息表管理员信息表描述管
20、理员的相关信息,如管理员的编号、名称和密码等。表6管理员信息表(dbo.administer)字段名称中文描述数据类型是否允许为空注释adminid管理员编号int否主键adminname管理员用户名varchar(20)是adminpassword管理员密码varchar(50)是3设计结果与分析电子商务平台是由多个web页面组成,下面仅仅列出几个典型页面。3.1系统主界面系统主界面功能非常丰富,用户可以浏览商品的店内的热卖商品,最新商品等等,也可以通过商品的分类和导航之类的快速找到自己想要的商品。当用户登录后就可以把自己想要的商品加入购物车,也可以查看自己的购物车和可以进入留言板进行留言等
21、等,如图11所示。.图11主界面publicpartialclasscommentInfo:protectedstringDesn=;protectedstringBody=;protectedstringDate=;protectedstringUserName=;privateintnCommentID=-1;protectedvoidPage_Load(objectsender,EventArgse)/获取参数的值if(Request.ParamsCommentID!=null)if(Int32.TryParse(Request.ParamsCommentID.ToString(),ou
22、tnCommentID)=false)return;if(!Page.IsPostBack)/绑定控件的数据if(nCommentID-1)BindCommentData(nCommentID);privatevoidBindCommentData(intnCommentID)/获取数据Commentcomment=newComment();SqlDataReaderdr=comment.GetSingleComment(nCommentID);/读取数据if(dr.Read()/显示数据Desn=drDesn.ToString();Body=drBody.ToString();Date=dr
23、Date.ToString();UserName=drUserName.ToString();dr.Close();/关闭数据源protectedvoidReturnBtn_Click(objectsender,EventArgse)Response.Write(window.close(););3.2会员注册界面用户可以先注册成为会员,因为只有成为会员才能购物人,如图12所示。图12会员注册界面3.3商品分类界面通过本界面可以轻松快捷的进入自己并了解购物车的物品,从而可以更加快速的找到自己想要购买的商品,如图13所示。图13商品分类界面3.4商品详细信息界面当客户想要了解商品的详细信息时,点
24、击商品可进入此页面,如图14所示。图14商品详细信息界面3.5管理员后台登陆页面当管理员想了解后台的情况时候登陆后台管理员界面,如图15所示。图15管理界面publicpartialclasscomments:ageprivateintnProductID=-1;protectedvoidPage_Load(objectsender,EventArgse)/获取参数的值if(Request.ParamsProductID!=null)if(Int32.TryParse(Request.ParamsProductID.ToString(),outnProductID)=false)return;
25、if(!Page.IsPostBack)/绑定控件的数据if(nProductID-1)BindCommentData(nProductID);3.6后台会员管理页面当管理员想了解会员的详细信息的时候登陆此页面,如图16所示。图16后台会员界面3.7后台订单管理页面此页面是管理员对后台的管理,后台信息管理模块主要是系统管理员对前台展示信息的管理,提供对前台信息的增,删,改,查等功能,用于控制信息的显示,如图17所示。图17后台订单界面privatevoidBindCommentData(intnProductID)/定义获取数据的类Commentcomment=newComment();Sql
26、DataReaderdr=comment.GetCommentByProduct(nProductID);/设定控件的数据源CommentView.DataSource=dr;/绑定控件的数据CommentView.DataBind();/关闭数据读取器和数据库的连接dr.Close();protectedvoidSureBtn_Click(objectsender,EventArgse)if(SessionUserID=null)Response.Write(window.alert(用户未登录,请先登录。);return;Commentcomment=newComment();commen
27、t.AddComment(Desn.Text,Body.Text,nProductID,Int32.Parse(SessionUserID.ToString();/显示操作结果信息Response.Write(window.alert(添加数据项成功。);/重新绑定数据BindCommentData(nProductID);protectedvoidReturnBtn_Click(objectsender,EventArgse)Response.Write(window.close(););4设计体会通过兢兢业业的去图书馆和网上查资料,终于圆满的把课设完成了。其实上个学期我就学习了这门的课程,
28、不过在课程教学时学得不是很好,课程结束后也没有进入更深入的学习,说实话刚刚两天真的对开发环境有一点陌生,经过同学们的指导加上自己的有些基础,然后就慢慢的熟悉,慢慢学习,慢慢了解,最好终于完成了课程设计的基本要求。同时,在这次的课程的学习中不仅检验了我所学习的知识,也培养了我如何去选择把握一件事情,如何去做一件事情,又如何完成一件事情。在学习的过程中,我学会与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。其实课程设计是专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。”千里之行,始于足下”
29、,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。5参考文献1陈静,李红灵.基于B/S模式的管理信息系统开发研究J.云南民族学院学报(自然科学版),2010,(01):126135.2刘甫迎,刘光会,王蓉.C#程序设计教程(第2版)M.北京:电子工业出版社,2013.?3李兰友,杨晓光.VisualC#.NET程序设计M.北京:北方交通大学出版社,2011.4王珊,萨师煊.数据库系统概论M.北京:高等教育出版,2008.5王昊亮,李刚等.VisualC#程序设计教程M.北京:清华大学出版社
30、,2010.6吴颖,刘杰.管理系统的设计与智能化研究J.北京工商大学学报(自然科学版),2006,(02):5670.7明月创作室.VisualC#编程精彩百例M.北京:人民邮电出版社,2010.8王熙宁,宋宝玉,辛瑞杰.网上管理系统开发模式与设计J.情报科学,2014,(06):566620.?9郭胜等.C#.NET程序设计教程M.北京:清华大学出版社,2012.10美JohnSharpJonJagger.MicrosoftVisualC#.NET程序设计M.北京:北京大学出版社,2012.11李建中,王珊.数据库系统原理M.北京市:机械工业出版社,2012.12王彤宇.管理信息系统M.北京
31、市:中国水利水电出版社,2012.13马骏、陈志国、晋玉星,ASP.NET网页设计与网站开发上机实践和实例解析(21世纪计算机应用技术系列规划教材),第1版,北京,人民邮电出版社,201214张海藩,软件工程导论,2013年,清华大学出版社15魏善沛编着.Web数据库技术实用教程.北京.清华大学出版社.201116美JeffreyD.Ullman,FundamentalCourseofDatabaseSystem,TsingHuaPress,2010年11月。17美JefferR.Shapiro着,周之、黄玫译,SQLServer2005参考大全,清华大学出版社,2013年6月。18隆华软件工
32、作室编着,SQLServer2005程序设计,清华大学出版社,2013年10月。附录:Car:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingusingpublicpartialclasscart:protectedvoidPage_Load(objectsender,EventArgse)if(!Page.IsPostBack)/获取购物车的信息ShowCartInfo();privatevoidShowCartInfo()/判定购物车中是否存在数据if(SessionSession.SessionID+OrderForm.Car
33、t=null)return;/绑定购物车的数据,显示购物车信息OrderInfoorder=(OrderInfo)SessionSession.SessionID+OrderForm.Cart;ProductView.DataSource=order.OrderItemList;ProductView.DataBind();protectedvoidContinueBtn_Click(objectsender,EventArgse)Response.Redirect(product.aspx);protectedvoidCommitBtn_Click(objectsender,EventArg
34、se)Response.Redirect(order.aspx);protectedvoidProductView_RowCommand(objectsender,GridViewCommandEventArgse)/判定购物车中是否存在数据if(SessionSession.SessionID+OrderForm.Cart=null)return;/删除购物车中的商品if=delete)/获取购物车的信息OrderInfoorder=(OrderInfo)SessionSession.SessionID+OrderForm.Cart;/重新绑定购物车的数据ShowCartInfo();pro
35、tectedvoidProductView_RowDeleting(objectsender,GridViewDeleteEventArgse)/protectedvoidProductView_RowDataBound(objectsender,GridViewRowEventArgse)/找到删除按钮ImageButtondeleteBtn=if(deleteBtn!=null)/添加删除确认对话框returnconfirm(你确定要删除所选择的数据项吗?););protectedvoidProductView_RowCreated(objectsender,GridViewRowEven
36、tArgse)/添加行的索引到CommandArgument参数中if=DataControlRowType.DataRow)/找到删除按钮ImageButtondeleteBtn=if(deleteBtn!=null)/添加参数的值deleteBtn.CommandArgument=Comments:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingusingusingSystem.Data;usingDivright:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingus
37、ingpublicpartialclassdivright:protectedvoidPage_Load(objectsender,EventArgse)editUser:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingusingusingpublicpartialclasseditUser:privateintnUserID=-1;protectedvoidPage_Load(objectsender,EventArgse)/获取参数的值if(Request.ParamsUserID!=null)if(Int32.TryParse
38、(Request.ParamsUserID.ToString(),outnUserID)=false)return;SureBtn.Enabled=true;if(!Page.IsPostBack)/绑定控件的数据BindUserData(nUserID);/设置更新按钮的可用性/SureBtn.Enabled=nUserID=-1false:true;privatevoidBindUserData(intnUserID)/获取数据Useruser=newUser();SqlDataReaderrecr=user.GetSingleUser(nUserID);/读取数据if(recr.Read
39、()/显示数据UserName.Text=recrUserName.ToString();RealName.Text=recrRealName.ToString();Email.Text=recrEmail.ToString();Phone.Text=recrPhone.ToString();Mobile.Text=recrMobile.ToString();Remark.Text=recrRemark.ToString();Address.Text=recrAddress.ToString();recr.Close();/关闭数据源protectedvoidSureBtn_Click(obj
40、ectsender,EventArgse)Useruser=newUser();user.UpdateUser(nUserID,RealName.Text,Address.Text,Phone.Text,Mobile.Text,Email.Text,Remark.Text);Response.Write(window.alert(修改用户信息成功。);Index:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingusingusingusingpublicpartialclassindex:protectedvoidPage_Load(
41、objectsender,EventArgse)Newsnews=newNews();/通过参数NewsID来获取新闻SqlDataReaderrecc=news.GetSingleNews(2);if(recc.Read()lblDesn.Text=reccDesn.ToString();Body.Text=reccBody.ToString();recc.Close();Leaveword:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingusingpublicpartialclassleaveword:protectedvoid
42、Page_Load(objectsender,EventArgse)if(SessionUserID=null)SureBtn.Enabled=false;protectedvoidSureBtn_Click(objectsender,EventArgse)/定义类Leavewordword=newLeaveword();/添加数据word.AddLeaveword(Desn.Text,Body.Text,Int32.Parse(SessionUserID.ToString();/显示操作结果信息Response.Write(window.alert(添加数据项成功。);protectedvoidclose_Click(objectsender,EventArgse)Response.Write(window.close(););Login:usingSystem;usingusingSystem.Linq;usingSystem.Web;usingusingusingusingpubl