




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
致谢/*********软件技术学院毕业设计〔论文题目:网上书店系统的设计与实现系别:软件技术专业:ACCP学号:姓名:指导老师:完成日期:2009年3月5日目录目录2前言2需求分析4一、用户需求分析41.图书查询需求42.购物车管理需求43.订单处理需求44.管理员与客户的分类功能4系统开发技术6一、MVC模式简介61.电子商务概况摘要7系统总体设计91.UML活动关系图92.系统组成103.功能设计10〔1图书信息管理10〔2购物车管理10〔3会员注册10〔4订单处理11数据库设计与实现12一、数据库的需求分析121.数据库的逻辑设计122.数据表基本结构143.创建数据表脚本15系统实现过程17开发平台17一、系统各组件实现17用户表示层17系统测试与运行26一、系统测试26二、测试结果26结论29参考文献30谢辞31毕业设计〔论文成绩评定表〔理科32前言随着Internet信息技术的高速发展和个人、企业上网的迅速普及.企业的WWW网站在商业活动中发挥着越来越大的作用.在信息时代.建立一个功能强大、界面美观的电子商务网站.建立电子商务系统平台.对企业的发展是至关重要的。所谓电子商务.是指各种具有商业活动能力的实体〔生产企业、商贸企业、金融机构、政府机构、个人消费者等利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点.一是其商业背景.二是网络化和数字化。简言之.电子商务就是通过电子网络渠道达成的商务活动。电子商务是计算机网络的第二次革命.它通过电子手段建立新的经济秩序.不仅涉及电子技术和商业交易本身.而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于20世纪70年代末.而其实施要更晚些.实施又分为两步.其中电子数据交换〔ElectronicDataInterchange,EDI始于20世纪80年代中期.Internet上的电子商务始于20世纪90年代初期。电子商务活动相应分成两大类:企业组织-企业组织<Business-Business,B2B>型和企业组织-消费者<Business-Consumer,B2C>型。根据统计.目前电子商务活动中80%的收属于B2B型商务活动.这由于企业组织的信息化程度和技术水平比个体消费者明显要高.主要面向的是企业与企业.为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的.它直接面向终端的大众消费者。它通常也有两种形式.一种是类似一个大的超市.里面摆放着大量的商品.提供给消费者直接去选择购买;而另一种形式则类似一个大商城.商城中有许多柜台.用户可以直接到柜台选择和购买自己中意的东西.然后去结算.这种商城只提供柜台和相关的服务.并收取相应的柜台使用费。一般意义上.一个完整的电子商务系统包括信息流、资金流与物流三个要素.三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息.引导客户通过网络进行购物。资金流就是使客户在选择商品后.能够通过网络支付相关费用.一般包括预付款支付、网上银行支付、货到付款等多种形式。目前有些电子商务网站也可以接受邮局汇款。物流就是把客户所购买的商品通过物流配送系统送到客户手中.对于一些特殊行业和领域和电子商务.如证券、金融信息类商品.也可能不需要配送系统的支持就可以把商品送到客户手中〔如股票、电子杂志、域名注册等。在电子商务中.除了上述三个要素外.网络安全也是需要重点考虑的因素。据调查.有1/3的网民认为网络安全是影响其网上购物的因素.因此为了保证网络交易的安全.电子商务网站需要采用数据加密、电子签名等多种措施进行安全认证。需求分析网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。用户需求分析本网上书店系统主要完成以下具体任务:1.图书查询需求当客户进入网上书店时.应该在主页面中分类显示最新的书目信息.以供客户选择所需图书.同时也应该提供按照图书名称.或者作者住处快速查询所需书目信息的功能。2.购物车管理需求当客户选择购买某图书产品时.应该能够将对应图书信息.例如:价格、数量记录到购物车中.并允许客户返回书目查询页面.选择其他商品.并添加到购物车中.当对购物订单生成后.应该能够自动清除以生成订单的购物车中的信息。3.订单处理需求对应客户购买图书商品信息的需求.在确定了所购图书商品的价格、数量等信息后.提示用户选择对应的送货方式及付款方式.最终生成对应的订单记录.以便于网站配货人员依据订单信息进行后续的出货、送货和处理。4.管理员与客户的分类功能为了能够实现管理员和用户各自的所享有的功能.特将他们分类处理。网上书店系统的用例图上网用户上网用户图书查询购物车管理订单管理图2-1网上书店USECase系统开发技术MVC模式简介MVC是Model〔模型——View〔视图——Controller〔控制器的缩写.它适用于大型可扩展的Web应用的开发.它强制性地将应用程序的输入、处理和输出分开.将其划分为模型、视图和控制器三个核心部分.使它们各司其职.各自完成不同的任务.其中任何一部分的修改都不会影响其它两部分。在MVC模式中.模型封装了应用问题的核心数据、逻辑关系和业务规则.提供了业务逻辑的处理过程。模型一方面被控制器调用.完成问题处理的操作过程.另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的.因此一个模型可以为多个视图提供数据.这样一个模型一次编写可以被多个视图重用.从而避免了代码的重复编写。视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据.视图的更新由控制器控制。视图不包含任何业务逻辑的处理.它只是作为一种输出数据的方式。MVC模式中.控制器主要起导航的作用.它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西.它接受用户请求并决定调用哪个模型构件去处理.以及由哪个视图来显示模型处理之后返回的数据。MVC的处理过程是这样的:对于每一个用户输入的请求.首先被控制器接收.并决定由哪个模型来进行处理.然后模型通过业务处理逻辑处理用户的请求并返回数据.最后控制器用相应的视图格式化模型返回的数据.并通过显示页面呈现给用户。图1-1所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:图1-1MVC模式[3]1.电子商务概况摘要电子商务模式是目前互联网人士思考较多的一个话题.在有了B-C.B-B等模式之后.一些网站最近又在尝试一种全新的概念——B-B-C模式.而且看来这一模式已经被许多的网上书店所接受。在解释B-B-C模式时.书生科技公司总裁王东临先生认为:"该模式的意思是中间的B直接面对客户.把订单交给第一个B来执行。这种模式看起来好像只是传统的渠道销售的翻版.在互联网时代根本不可行.因为互联网经济的一大特征就是压扁渠道.Amazon等大行其道的原因也正是基于这种"中间商死亡"的论调.他们抢占的正是原来中间商的利润。因此.B-B-C模式长期以来被认为是一种不可能成立的模式。其实.如果中间的B能够提供一种独特的服务.把消费者都吸引到它那里去.并通过它下订单.则该模式就是可行的。EBook网络业务支持平台采用B/S结构.三层运行模式.同时适用于Intranet/Internet。浏览器为第一层.作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层.作为系统的数据存取服务。此架构无须安装客户端软件.便于软件的分发和维护升级.适应了众多应用客户端分散环境下的运行和维护需求。本篇论文介绍了本系统开发环境和运行平台、ASP.NET、应用框架。而后台的数据库则使用MicrosoftSQLServer2000管理平台的数据。EBook网络业务支持平台实现网上书店大型系统.添加独特的物流子系统、在线客服子系统、Wap子系统让客户能够有效的掌握.有效的处理各类所需相关信息.以及促进各个子系统管理的信息化、规范化和集成化.实现计算机的智能化管理.以提高工作效率和经济效益。系统总体设计1.UML活动关系图下面是进入网上书店可以进行的操作。具体的UML活动如下图所示:图书查询购物车管理图书查询购物车管理会员登录新会员注册订单管理2.系统组成表3-1构成网上书店系统的各个组件用户表示层〔视图控制处理层〔控制器业务逻辑〔模型addAdmin.aspxaddBook.aspxaddCart.aspxbookInfo.aspxcart.aspxcartlist.aspxcollect.aspxdefault.aspxfunction.aspxfunctionlist.aspxindex.htmmain.htmorderInfo.aspxpinglun.aspxpinglun1.aspxsearchbook.aspxsearchuser.aspxshoucang.aspxtotalmoney.aspxtourst.aspxwelcome.aspxdalbllAccount.csAssemblyInfo.csBookComment.csBookInfo.csBookType.csOrderInfo.csAccount.csAssemblyInfo.csBookComment.csBookInfo.csBookType.csOrderInfo.csAccount.csAssemblyInfo.csBookComment.csBookInfo.csBookType.csOrderInfo.cs3.功能设计〔1图书信息管理该模块实现图书书目信息的分类显示.也提供了新增.删除.修改和查询等功能。此外.在用户选择了对应书目信息后.还可以显示出有关该图书的详细信息.以便于客户了解所购商品。〔2购物车管理用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中.以便于到收银台进行结账处理。〔3会员注册实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采用的方式为送货上门或者邮寄.因此需要收集与客户相关的联系方式、通信地址等信息。〔4订单处理根据客户购物车中的信息.以及客户所选择的送货方式和付款方式.连同客户对应的个人信息生成订单.以便于后续进行送货处理。数据库设计与实现数据库的需求分析依据网上书店的处理需求.对应数据表的设计及功能如下:一、图书基本信息表:存放网上书店所销售图书的基本信息。二、图书分类基本信息表:存放网上书店所提供图书分类的信息。三、客户基本信息表:存放书店客户的基本信息。四、订单信息表:存放与客户相关的订单的基本信息。五、订单条目详细信息表:存放订单中详细条目的基本信息。1.数据库的逻辑设计根据以上需求分析.在确定了各个表主键字段的基础上.依据表与表之间相关字段之间的联系建立了各表之间的关系.对应的关系图如图4-1所示:AccountAccountAccountIdAccountPwdBalanceTrueNamesexAuth<权限>emailtelephonelogintimesbookcommentcommenttitlecommentcontentbookidBookinfobooknamebooktypepricepubspicturepathdescriptionsbooknumbookauthoraddtimeaddpersonbooktypetypeidtypenameOrderInfoorderidbooknumbooknamebookidisconfirmorderpersonordertimepriceorderippay图4-1数据库逻辑图2.数据表基本结构〔1图书信息表图书信息表〔bookinfo是用来保存网上书店每一种图书基本信息的数据表.是维护管理图书数据的依据。表4-1书图书信息表字段名描述类型长度是否允许为空是否主键Id书本idInt4否是booktype图书种类varchar50否否pubs出版社varchar50否否bookname图书名称varchar100否否price图书价格double15否否description图书介绍varchar255是否bookauthor图书作者varchar50是否〔2图书评论基本信息表图书分类基本信息表〔bookcomment记录了与网上书店图书分类相关信息。表4-2图书分类基本信息表字段名描述类型长度是否允许为空是否为主键bookId书本idint4否是CommentTitle评论标题varchar40否否commentContent评论内容varchar40否否〔3客户基本信息表客户基本信息表<account>存放了网上书店对应的客户信息.包括客户的姓名、联系方式等信息。表4-3客户基本信息表字段名描述类型长度是否允许为空是否主键accountId用户名varchar20否是accountpwd密码varchar20否否balance余额varchar20否否truename真实姓名varchar20否否sex客户性别varchar50否否author权限〔区分管理员和客户boolean2否否email客户邮箱varchar50否否Telephone客户联系方式Varchar50否否〔4订单信息表表4-4订单信息表字段名描述类型长度是否允许为空是否主键orderid订单编号integer11否是ordername订单用户名varchar20否否bookNum书本数量Int4否否ordertime产生订单时间datetime19否否Isconfirm确认是否发货Boolean2否否Price总价Int4否否3.创建数据表脚本在基本的数据表的结构确定后.就可以在mysql中完成数据表的创建工作.下面给出建立对应数据表的SQL脚本。〔1图书基本信息表:CREATETABLE`bookinfo`<`id`int<4>NOTNULLauto_increment,`booktype`varchar<50>NOTNULL,`bookname`varchar<50>NOTNULLdefault'',`price`double<15,3>NOTNULLdefault'0.000',`description`varchar<255>NOTNULLdefault'',`pubss`varchar<50>defaultNULL,PRIMARYKEY<`id`>>〔2图书评论基本信息表:CREATETABLE`bookcomment`<`id`int<4>NOTNULLdefault'0',`commentTitle`varchar<50>defaultNULL,`commentContent`varchar<50>defaultNULL,PRIMARYKEY<`id`>>〔3客户基本信息表:CREATETABLE`storeuser`<`AccountId`varchar<20>NOTNULLdefault'',`AccountPwd`varchar<20>NOTNULLdefault'',`truename`varchar<20>NOTNULLdefault'',`telephone`varchar<20>NOTNULLdefault'',`sex`varchar<100>NOTNULLdefault'',`email`varchar<50>defaultNULL,`balance`varchar<20>defaultNULL,`author`boolean<2>default0,PRIMARYKEY<`AccountId`>>〔4订单信息表:CREATETABLE`orders`<`orderid`int<11>NOTNULLauto_increment,`ordername`varchar<20>NOTNULLdefault'',`ordertime`datetimeNOTNULLdefault'0000-00-0000:00:00',`isConfirm`boolean<2>NOTNULLdefault'',`price`varchar<20>NOTNULLdefault'',PRIMARYKEY<`orderid`>>系统实现过程开发平台服务器:IIS;数据库:SqlServer2000;平台:MicrosoftVisualStudio2005操作系统:windowsXP一、系统各组件实现用户表示层在用户表示层中主要是一些相关的页面。该层对应的页面应该放在WEB应用目录根目录下。1.网上书店首页:本页面分为上下2个部分。上面的部分是个万年历.从万年历上可以查询各种各样的时间.节日.农历.节气等信息.此晚年里是从网上找到的一段脚本script脚本代码.美观大方.非常使用。下面的部分是登陆和注册页面.主要实现登陆和注册功能。登陆有2种情况.一个是管理员登陆.另一个是客户登陆.管理员登陆后的页面是一些后台的操作.而客户登陆后的页面是图书列表及收藏夹和购物车还有1些评论。注册有各种信息的输入.在用户名一栏中.比如数据库中已经存在了一个用户名.如果一位客户申请的时候写了一个一模一样的用户名.则在点击旁边的"检查用户名是否存在"的按钮后会出现"此用户名已经存在".提示重新输入一个其他的用户名。〔1注册的主要的代码如下protectedvoidbtnAdd_Click<objectsender,EventArgse>{Accountmod.AccountId=tbusername.Text.Trim<>;Accountmod.AccountPwd=tbpwd.Text.Trim<>;Accountmod.Auth="0";Accountmod.Email=tbEmail.Text.Trim<>;Accountmod.Logintimes=0;Accountmod.LogIp=Request.ServerVariables["Remote_Addr"].ToString<>;Accountmod.Telephone=tbphone.Text.Trim<>;Accountmod.TrueName=tbTruename.Text.Trim<>;Accountmod.Sex=RadioButtonList1.SelectedValue;Accountmod.Balance=0;lbshow.Text="用户注册成功!";Accountbll.Add<Accountmod>;Panel1.Visible=false;}protectedvoidbtnCheck_Click<objectsender,EventArgse>{DataSetds=Accountbll.GetList<"AccountId='"+tbusername.Text.Trim<>+"'">;if<ds.Tables[0].Rows.Count==0>{lbshow.Text="该账户可以使用";btnAdd.Enabled=true;}else{lbshow.Text="该账户已被占用!";btnAdd.Enabled=false;}}2.图书详细信息显示:本页面是客户登陆成功后的页面.上面会显示出各种图书的列表.本页面还包括加入购物车.加入收藏夹.查看购物车.查看收藏夹.图书详细信息以及图书评论等内容。当用户对某本书感兴趣的时候.可以在对应的图书图片下点击图书详细信息按钮.在弹出的页面上就会显示此图书的具体内容。具体代码如下:LinkButtonlb=<LinkButton>e.Item.FindControl<"LinkButton3">;lb.Attributes.Add<"href","bookinfo.aspx?id="+lbid.Text.Trim<>+"">可以看出.系统是根据书本id找到对应的详细信息的。用户还可以把书放进购物车中.但只局限于下次找此书在此操作的电脑上.如果想在任何电脑上都能看见你的收藏的话.就将此书放入收藏夹中.以便下次可以很方便的找到你想要找到的图书信息。〔1实现的主要代码如下:protectedvoidGridView1_RowDeleting<objectsender,GridViewDeleteEventArgse>{modbookinfo=bllbookinfo.GetModel<Convert.ToInt32<GridView1.DataKeys[e.RowIndex].Value>>;lbsum.Text=<Convert.ToDecimal<lbsum.Text>+Convert.ToInt32<<<TextBox><GridView1.Rows[e.RowIndex].Cells[3].FindControl<"tbtest">>>.Text>*modbookinfo.Price>.ToString<>;EBook.BLL.OrderInfobll=newEBook.BLL.OrderInfo<>;EBook.Model.OrderInfomodel=newEBook.Model.OrderInfo<>;stringbookid=GridView1.DataKeys[e.RowIndex].Value.ToString<>;stringbookname=GridView1.Rows[e.RowIndex].Cells[0].Text.Trim<>;intbookNum=int.Parse<<<TextBox>GridView1.Rows[e.RowIndex].Cells[3].FindControl<"tbtest">>.Text>;if<ViewState["dingdanhao"]==null>{intorderid=Convert.ToInt32<DateTime.Now.ToString<"MMddmmss">>;//订单编号ViewState["dingdanhao"]=orderid.ToString<>;}model.BookId=Convert.ToInt32<bookid>;model.BookName=bookname;model.OrderId=ViewState["dingdanhao"].ToString<>;model.OrderIP=Request.ServerVariables["REMOTE_ADDR"];model.OrderPerson=Session["UserTrueName"].ToString<>;model.Price=Convert.ToDecimal<modbookinfo.Price>;model.OrderTime=DateTime.Now;model.BookNum=bookNum;bll.Add<model>;EBook.BLL.OrderInfoblldingdan=newEBook.BLL.OrderInfo<>;GridView2.DataSource=blldingdan.GetList<"orderid="+ViewState["dingdanhao"]>;GridView2.DataBind<>;}protectedvoidDataList1_SelectedIndexChanged<objectsender,EventArgse>{}protectedvoidbtnchakan_Click<objectsender,EventArgse>{if<Session["cart"]==null>{Response.Write<"<scriptlanguage=javascript>alert<'请先把书籍添加进购物车!'>;</script>">;}GridView1.Visible=true;stringcart=Session["Cart"].ToString<>;cart=cart.Substring<0,cart.Length-1>;DataSetds=bllbookinfo.GetList<"Idin<"+cart+">">;GridView1.DataSource=ds;GridView1.DataBind<>;}protectedvoidbtnqingkong_Click<objectsender,EventArgse>{Session.Abandon<>;Session["Cart"]="";}protectedvoidDataList1_ItemDataBound<objectsender,DataListItemEventArgse>{Labellbid=<Label>e.Item.FindControl<"lbid">;LinkButtonlbk=<LinkButton>e.Item.FindControl<"LinkButton1">;lbk.Attributes.Add<"href","addcart.aspx?id="+lbid.Text.Trim<>+"">;LinkButtonlink=<LinkButton>e.Item.FindControl<"Linkbutton2">;link.Attributes.Add<"href","shoucang.aspx?id="+lbid.Text.Trim<>+"">;LinkButtonlb=<LinkButton>e.Item.FindControl<"LinkButton3">;lb.Attributes.Add<"href","bookinfo.aspx?id="+lbid.Text.Trim<>+"">;}protectedvoidGridView2_RowDeleting<objectsender,GridViewDeleteEventArgse>{EBook.BLL.OrderInfodele=newEBook.BLL.OrderInfo<>;stringdingdanid=GridView2.DataKeys[e.RowIndex].Value.ToString<>;//订单的IDdele.Delete<int.Parse<dingdanid>>;GridView2.DataSource=dele.GetList<"orderid="+ViewState["dingdanhao"]>;GridView2.DataBind<>;Response.Write<"<script>alert<'订单取消成功~'>;</script>">;}protectedvoidButton2_Click<objectsender,EventArgse>{Session.Abandon<>;Response.Write<"<scriptlanguage='javascript'>window.location.href='Default.aspx';</script>">;}protectedvoidButton1_Click<objectsender,EventArgse>{Response.Write<"<scriptlanguage='javascript'>window.location.href='collect.aspx';</script>">;}、3.购物车订单计算功能该功能存在于客户登陆后的图书列表页面.当用户点击加入购物车后.然后点击查看购物车.在这部分表格中会显示购买数量.客户可以自己输入数量.然后点击确认购买.系统会将计算的结果显示在页面上.而且会将其转发到后台的订单处理页面.以便管理员一目了然确认发货。〔1实现主要代码如下:modbookinfo=bllbookinfo.GetModel<Convert.ToInt32<GridView1.DataKeys[e.RowIndex].Value>>;lbsum.Text=<Convert.ToDecimal<lbsum.Text>+Convert.ToInt32<<<TextBox><GridView1.Rows[e.RowIndex].Cells[3].FindControl<"tbtest">>>.Text>*modbookinfo.Price>.ToString<>;4.购物车取消购买功能: 本功能是用户在点击购买后计算价格的时候.突然不想买了.则用户可以点击取消购买按钮.每个书本的后面都对应有取消购买按钮.点击了次按钮后.系统会自动将价格减去。〔1关键代码如下:EBook.BLL.Ord
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产代理合同范本
- 石头承包运输合同范本
- 销售卧式机床合同范本
- 分期借款还款合同范本
- 摆摊食品进货合同范本
- 商场房租合同范本
- 施工合同范本
- 服装外卖采购合同范本
- 中小学-垃圾分类 2-课件
- 2025租房合同简单版范文
- 2024年河北省普通高中学业水平选择性考试物理试题含答案
- Unit 4 Healthy food(说课稿)-2024-2025学年人教PEP版(2024)英语三年级下册
- 2025年全国叉车证理论考试题库(含答案)
- 电铸成型1(上课8)
- GA 38-2021银行安全防范要求
- 翻译中的形合与意合课件
- 99S203 消防水泵接合器安装图集
- 恐惧-回避理论模型
- 营养医师及营养科工作解读课件
- DB13T 5461-2021 连翘种子种苗质量标准
- Q∕SY 04797-2020 燃油加油机应用规范
评论
0/150
提交评论