本科毕业设计---网上花店管理系统.doc
网上花店管理系统_毕业论文网上花店管理系统毕业论文 目录摘要 : 1一、引言1二、需求分析2(一)开发背景2(二)功能需求分析2(三)开发环境需求3(四)可行性分析3三、系统设计4(一)系统功能图4(二)管理员系统活动图 5(三)系统用例图 6(四)前台购物流程图 6四、数据库设计7(一)E-R模型图7(二)数据库模型图7(三)数据库表设计8(四)数据字典 9五、系统详细设计与实现11(一)前台网站11(二)后台管理20六、系统测试26七、小结26八、参考文献2727 网上花店管理系统的设计与实现计算机信息管理081班 陶玉琴 摘要 :21世纪是个日新月异的时代,一切的更新速度都是如此之快,人们生活的节奏也随之提高,时间已经成为一种奢侈品,再也容不得我们去挥霍半分,网上购物顺应时代的潮流,走入了人们的日常生活,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经 济时期无疑是达到“多赢”效果的理想模式。鲜花在人们的生活中是不可或缺的人类情感的传递者,但是快节奏的生活,让他们缺少了这样的机会去表达,网上花店提供这样一个平台,快捷,方便,安全,让他们在忙自己的事情的同时,也能保留这份美好。下面我将介绍一下我们网上花店管理系统的功能,流程。关键词:网上鲜花销售;后台管理系统;购物车;订单一、引言上世纪90年代以来,随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。在这一前提下,电子商务应运而生了。电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商。据调查,中国经常网上购物人数已达3000万人,有1/4的网民有过购物经历。与上年同期相比,经常购物的网民增长了50%。国网上购物市场巨大,从交易额来看,根据统计,2009上半年我国网上购物者累计购物金额达到100亿元。相比之下,去年全年也只有34亿元。 随着中国电子商务环境的不断改善,网上购物以其便捷、省时、省钱和安全等特点日益为人们所熟悉和青睐,这样的机遇之下,网上购物网站也必将迅速崛起。同时网上购物网站涉及范围也在不断的扩大。网上鲜花销售网站也在市场的巨大需求之下产生。 目前,世界各国纷纷看好电子商务这块新大陆,普遍认为电子商务的发展将是未来25年世界经济发展的一个重要推动力,对经济的促进将远远超过200年前的工业革命。著名经济调查评论家Robert Metcalfe声称:联网的价值等于(与之相联结的)网点数量的平方。 二、需求分析(一)开发背景鲜花本身是一种比较容易在网络上进行销售的产品,不存在网上和现实中具有较大的品质差异,在网上挑选更加直观和方便,而且现在大部分网上的花店都将订花、送花合并成一条龙服务,让买花的网民越加方便。轻松点击之间,鲜花与衷心的祝福便可以准时送抵家人或朋友。所以,设计一个能进行鲜花查询、订购及管理功能的网上花店管理系统,将传统的花店经营管理模式与计算机网络及数据库系统的综合经营管理模式相结合,是现实客观的需要。本文主要是采用ASP.Net和SQlServer2005开发的鲜花销售系统,目标是实现一个以销售为中心的网上花店管理系统,构建用户信息与账号,账号与订单信息有机结合的业务系统。提供了包括传统业务中最基本的用户注册、登录、查询、订购、购物车管理、生成订单、鲜花信息管理、用户信息管理及订单信息管理等功能,是一个比较完善的系统。(二)功能需求分析网站分为两个部分:前台服务和后台管理,其功能如下:1.前台设计主要实现:(1)网站采用红色为主色调,突出鲜花主题,让顾客感受到一种氛围,带着一种愉悦的心情浏览我们网站。(2)客户在浏览我们网站的鲜花时,根据商品的分类可以查看不同类型的鲜花,也可以直接在站内搜索自己想看的鲜花品种。(3)当看中的鲜花可以点击查看详细内容以及加入购物车直到最终购买。(4)当用户提交订单以后可以查询订单,首页也有滚动的订单发货情况的显示。(5)用户可以对网站进行留言的操作。(6)客户可以查看网站的最新公告以及一些关于鲜花的文章。(7)管理员可以通过入口进入后台管理。 2. 后台管理主要实现:(1)管理员管理在我们网站注册的客户的一些基本资料,客户根据积分分为不同的等级,以及相应的等级管理。(2)查看购物表以及管理订单,可以对订单进行审核以及发货。订单报表的打印,查看销售业绩。(3)可以对前台用户的留言进行审核和回复。(4)发布一些网站的公告和关于鲜花的一些文章。对其进行增删改查。(5)管理鲜花的进货,库存的管理,以及鲜花的分类和热卖,特卖的推荐。(6)主要还原和备份数据库,保证系统数据的完整性和安全性。送货和付款方式的增删改查。(7)管理本花店的基本信息,对其进行修改的操作。(8)对员工信息的管理,以及密码能进行修改操作。(三)开发环境需求操作系统:Windows XP/ Windows 2003。数据库:SQL Server 2005。开发工具:Microsoft Visual Studio 2008辅助开发工具:Photoshop CS2、Flash8。(四)可行性分析1.经济可行性分析在我国,网上购物从无到有也不过短短几年时间。如今已经普及到每个人得身上,根据CNNIC的统计结果,截止2009年1月中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是3235.7万人,并且这一数字还在以17%左右的速度增长,预计到2010年中国网上购物用户将达到10262万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式越来越被大家所接受。电子商务的功能也日趋完善,软件行业的飞速发展,为网站的开发提供了充分的条件。单独的鲜花店,已经满足不了市场的需求,鲜花在网上销售,能满足更多,更远顾客的要求。2.技术可行性分析网上花店管理系统采用了当前的主流计算结构B/S模式进行开发,前台开发工具选用Microsoft Visual Studio 2008平台。ASP.net, JavaScript等语言的运用 Microsoft Visual Studio 2008是一种可视化的、面向对象的Windows开发语言,Microsoft Visual Studio 2008具有易用、通用和开发效率高的特点。后台的数据库开发工具选用了Microsoft SQL Server 2005,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。这两种开发工具功能强大,有较好的接口,作为本系统开发工具是可行的。三、系统设计(一)系统功能图根据上述系统功能的需求分析,按照结构化程序设计的需求,得到如下的后台的系统模块图。如图3-1所示。图3-1 系统功能图1.用户管理模块此模块包括了员工信息的添加、删除、修改、查询以及管理员和员工密码修改的部分。2.客户管理模块此模块包括了对客户信息的查询、客户类型增删改查的管理、客户的购买量以及金额和积分的管理。 3.业绩管理模块此模块主要是对鲜花销售的情况进行查询和报表的打印,以及对订单的查询和商品的发货管理。4.新闻管理模块此模块主要是网站公告的添加,修改,删除和发布,以及一些关于鲜花文章的添加,修改,删除和发布。5.论坛管理模块主要是管理顾客的意见反馈,审核留言内容,给予及时的回复。6.商品管理模块此模块中主要是对鲜花的采购,库存的管理,鲜花信息的修改和删除以及对鲜花进行分类。7.商店信息管理模块此模块中主要是对商店的基本信息进行管理。 8.基本设置模块此模块主要是数据库的还原与备份以及送货方式和付款方式的添加,修改,删除,查询。 (二)管理员系统活动图 如图3-2所示。图3-2 系统活动图(三)系统用例图 如图3-3所示。图3-3 系统用例图(四)前台购物流程图 如图3-4所示。图3-4 前台购物流程图四、数据库设计数据库的设计在系统的开发中尤为重要,要考虑整个业务流程的逻辑关系。1首先充分体现系统的需求,数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,准确的表达数据间关系。2保证数据的准确性和一致性,通过主外键、非空、限制、唯一索引等保证数据的健壮。3提高数据的查询效率,通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。4有好的扩展性,在必要时能根据需求扩展数据结构。(一)E-R模型图ER图简洁的反映出整个流程的概况和系统中所有实体之间相对应的关系,综合了管理员 在整个系统中的联系和各自的安排,前台服务顾客的购物流程等,把系统的内部联系明了化。如图4-1所示。图4-1 ER模型图(二)数据库模型图图中显示了数据库中有哪些表,各张表在数据库中所存在的联系,即他们之间的主外键的关系。如图4-2所示。图4-2 数据库模型图(三)数据库表设计经过分析,系统中建立了数据库NetFlower,并创建了如下表:如图4-3所示。 图4-3 数据库表(四)数据字典 表4-1 Article(章信息表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否标识编号2ArtIDnvarchar500是文章编号3ArtTitlenvarchar500是文章标题4ArtContentnvarchar00是文章内容5CreateTimenvarchar500是发表日期 表4-2 Customer(客户信息表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否顾客编号2CusIDnvarchar500否顾客编号3CusNamenvarchar500否顾客姓名4CusSexnvarchar500是性别5CusPwdnvarchar500是密码6Emailnvarchar500是邮件7Addressnvarchar500是地址8PostCodenvarchar500是邮编9Telnvarchar500是电话10QQnvarchar500是QQ11LoginDatadatetime83是登陆日期12CusTypeIDnvarchar500是顾客类型13Integralnvarchar500是积分14Notesnvarchar00是备注15BuyCountint40是购买量表4-3 Delivery(送货方式表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否标识编号2DeliveryIDnvarchar500否送货方式3DeliveryNamenvarchar500是方式名称表4-4 FlowerInfo(鲜花信息表)序号列名数据类型长度小数位标识主键允许空默认值说明2FlowerIDnvarchar500否鲜花编号3FlowerNamenvarchar500否鲜花名4FloTypeIDnvarchar500是类型编号5Picturenvarchar500是照片6MartPricefloat80是市场价7MemberPricefloat80是会员价8Floridnvarchar00是话语9Countint40是数量10PurchaseDatadatetime83是进货日期11IsHotint40是是否热卖12IsMainint40是是否特别推荐13SaleCountint40是销量表4-5 OrderInfo(订单信息表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否标识编号2OrderIDnvarchar500否订单编号3FlowerIDnvarchar500是鲜花编号4FlowerNamenvarchar500是鲜花名称5Pricenvarchar500是交易价格6Countnvarchar500是交易数量7CusIDnvarchar500是顾客8OrderTimenvarchar500是订购时间9factTimenvarchar500是送货时间10DeliveryAddressnvarchar500是送货地址11DeliveryPeoplenvarchar500是收货人12Telnvarchar500是电话13PostCodenvarchar500是邮编14PayTypeIDnvarchar500是付款方式15IsShipnvarchar500否是否发货表4-6 News(新闻信息表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否标识编号2NewIDnvarchar500是新闻编号3NewTitlenvarchar500否新闻标题4NewContentnvarchar00否新闻内容5CreateTimedatetime83是发布时间表4-7 QuestionInfo(留言信息表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是否标识编号2CusNamenvarchar500否留言者3Questionnvarchar00是留言内容4Answernvarchar00是回复内容5Emailnvarchar500否电子邮件6CreateTimedatetime83是留言时间7IsChecknvarchar500是是否审核 表4-8 Shopping(商店信息表)序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是是否 标识编号3FlowerIDnvarchar500否所选花名4CusIDnvarchar500否顾客编号5MartPricefloat80是市场价6FactPricefloat80是实际价格7Countint40是数量8ShopTimedatetime83是购物时间9Integralnvarchar500是积分10IsBuyint40是是否购买五、系统详细设计与实现(一)前台网站1.网站首页网站首页是套用模板,在加上两个自定义控件组成,头部和底部是套用的模板,顶部网站的导航展示网站的主要功能,一张鲜花的flash图片简单而显得优美让人赏心悦目。首页主要是产品的展示,有热卖和特卖推荐,以及左边的菜单何以查找不同类型的鲜花。点击鲜花查看详细信息,继而购买。首页还展示网站的一些公告,以及文章的信息,都可点击进入详细内容,订单的滚动查看以及登陆后的个人订单的查看都可实现。购物车信息,会员登录,注册一应俱全。如图5-1所示。图5-1 网站首页(1)网站首页UI层前台代码绑定鲜花信息,采用datalist绑定数据库的数据,主要实现代码如下:<asp:DataList ID="FlowerList" runat="server" RepeatDirection="Horizontal" Width="100%"RepeatColumns="4"><ItemTemplate><table border="0" cellpadding="0" cellspacing="0" height="200" width="128"><tr><td><div align="center"><a href='seeflower.aspx?id=<%# Eval("FlowerID") %>'><img id="Img1" runat="server" border="0" height="102" src='<%#InsertXXX(Eval("picture").ToString()%>'width="102" /></a></div></td></tr><tr><td height="20"><div align="center"><a href='seeflower.aspx?id=<%# Eval("FlowerID") %>' class="B"><asp:Label ID="Label5" runat="server" Text='<%#Eval("FlowerName")%>'></asp:Label></a></div></td></tr><tr><td height="20"><div align="center"><asp:Label ID="Label1" runat="server" Text='市场价:¥'></asp:Label><asp:Label ID="Label3" runat="server" Text='<%#Eval("martprice")%>'></asp:Label>元</div></td></tr><tr><td height="20"><div align="center"><asp:Label ID="Label2" runat="server" Text='会员价:¥'></asp:Label><asp:Label ID="Label4" runat="server" Text='<%#Eval("MemberPrice")%>'></asp:Label>元</div></td></tr></table></ItemTemplate><ItemStyle BorderColor="#FFC0FF" BorderStyle="Dotted" BorderWidth="1px" /><SelectedItemStyle BorderColor="#8080FF" /></asp:DataList> (2)网站首页UI层后台代码调用BU层的查询方法,获取鲜花的信息,主要实现代码如下: protected void SelectPicture() MyDataTable = MyFlowerInfoManager.SelectPicture().Tables0; FlowerList.DataSource = MyDataTable; FlowerList.DataBind(); public string InsertXXX(string XXX) return XXX.Insert(2, "/Manager");(3)网站首页BU层代码定义绑定查询的函数,运用Sql语句从数据库中读取前八行的数据,主要实现代码如下: public DataSet SelectPicture() DataSet myDs = new DataSet(); string SqlQuery = "select top 8 FlowerID,Picture,FlowerName,MartPrice,MemberPrice from FlowerInfo where IsHot=1 and Count>0 " myDs = MyDataBase.GetList(SqlQuery); return myDs; 2.鲜花详细信息页面本页面是顾客点击看中的鲜花后跳转的页面,主要是看花的详细信息,以及查看购物流程,可以点击放入购物车,也可以继续购物,返回首页。如图5-2所示。图5-2 鲜花详细信息页面 (1)鲜花信息页面UI层前台代码用table搭建,显示鲜花的详细信息。Button按钮的click事件跳转页面,主要实现代码如下: <tr> <td align="left" background="images/shangpinfeilei1.jpg" height="46" colspan="2"> 市场价:<asp:Label ID="priceLb" runat="server"></asp:Label>元 </td> </tr> <tr style="font-weight: bold; color: red"> <td align="left" background="images/shangpinfeilei1.jpg" height="46" colspan="2"> <a href="#"></a> <asp:ImageButton ID="ImageButton1" runat="server" Height="41px" ImageUrl="images/go.gif" OnClick="ImageButton1_Click" /> <asp:ImageButton ID="ImageButton2" runat="server" Height="36px" ImageUrl="images/goon.gif" OnClick="ImageButton2_Click" Width="132px" /> <br /> </td>(2)鲜花信息页面UI层后台代码从数据库查询数据,赋值给相对应的label.text,主要实现代码如下:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string FlowerID = Request.QueryString"ID" ViewState"FlowerID" = FlowerID; SelectFlower(); protected void SelectFlower() string paramID = ViewState"FlowerID".ToString(); MyDt = MyFlowerInfoManager.SelectFlower(paramID).Tables0; if (MyDt.Rows.Count != 0) Label1.Text = MyDt.Rows0"Integral".ToString(); this.DataList1.DataSource = MyDt; this.DataList1.DataBind(); nameLb.Text = MyDt.Rows0"FlowerName".ToString(); priceLb.Text = MyDt.Rows0"MartPrice".ToString(); salepriceLb.Text = MyDt.Rows0"MemberPrice".ToString(); this.Label2.Text = MyDt.Rows0"Florid".ToString(); (3)鲜花信息页面BU层代码根据鲜花的种类FlowerTypeID,从数据库查询相应鲜花的DataSet,主要实现代码如下:public DataSet SelectFlower(string paramFlowerTypeID) DataSet myDataSet = new DataSet(); string sqlQuery = " select FlowerID,Picture,FlowerName,MartPrice,MemberPrice,Florid,(MemberPrice*0.1) as Integral from FlowerInfo where FlowerID='" + paramFlowerTypeID + "'" myDataSet = MyDataBase.GetList(sqlQuery); return myDataSet; 图5-3 采用放大镜查看(1)放大镜查看页面代码本页面主要是用JavaScript代码实现,代码如下:(function($)$.fn.jqueryzoom = function(options)var settings = xzoom: 470,yzoom: 300,offset: 10,position: "right" ;if(options) $.extend(settings, options);$(this).hover(function() var imageLeft = $(this).get(0).offsetLeft; var imageRight = $(this).get(0).offsetRight; var imageTop = $(this).get(0).offsetTop; var imageWidth = $(this).get(0).offsetWidth; var imageHeight = $(this).get(0).offsetHeight; var bigimage = $(this).attr("bigpp"); if($("div.zoomdiv").get().length = 0) $(this).after("<div class='zoomdiv'><img class='bigimg' src='"+bigimage+"'/></div>"); function MouseEvent(e) this.x = e.pageXthis.y = e.pageY3.加入购物车当查看鲜花的详细信息之后满意的话可以加入购物车,本页显示你所有加入购物车的商品,你还可以进行修改数量,以及删除购物车的信息,离开重新购物,如果满意可以提交订单。如图5-4所示。图5-4 购物车信息页面(1)加入购物车页面UI层前台代码采用DataGrid绑定表shopping的数据,显示用户的购物车信息,主要实现代码如下: <asp:DataGrid ID="ShopCart" runat="server" AutoGenerateColumns="False" BorderWidth="1px" CellPadding="4" Font-Names="Verdana" ForeColor="#333333" GridLines="Vertical"Width="764px" OnDeleteCommand="ShopCart_DeleteCommand" OnItemCommand="ShopCart_ItemCommand" OnItemDataBound="ShopCart_ItemDataBound"><Columns><asp:BoundColumn DataField="ID" HeaderText="编号"></asp:BoundColumn> <asp:ButtonColumn CommandName="Delete" HeaderText="删除" Text="<div id="de" onclick="javascript:return confirm('执行此项操作,信息将无法恢复,确认删除吗?');">删除</div>"></asp:ButtonColumn><asp:ButtonColumn ButtonType="PushButton" CommandName="update" HeaderText="更新" Text="更新"> </asp:ButtonColumn></Columns><HeaderStyle BackColor="#FFE6EF" Font-Bold="True" ForeColor="Black" /></asp:DataGrid>(2)加入购物车页面UI层后台代码根据登陆的用户名从shopping表中查询记录,在DataGrid的删除事件里根据shoppingID删除购物车信息,主要实现代码如下: protected DataTable SelectShopping() string paramname = Session"UserName".ToString(); string paramID = MyShoppingManager.GetID(paramname).Rows00.ToString(); MyDt = MyShoppingManager.SelectShopping1(paramID); this.ShopCart.DataSource = MyDt; this.ShopCart.DataBind(); return MyDt; protected void ShopCart_DeleteCommand(object source, DataGridCommandEventArgs e) string id = e.Item.Cells0.Text; MyShoppingManager.deleteshopping(id); jisuan(); jisuanjifen(); SelectShopping(); (3)加入购物车页面BU层代码调用Insert Sql语句向购物添加信息,主要实现代码如下: public int IntoBus(ShoppingData MyShoppingData) string sqlQuery = "Insert into Shopping (CusID,FlowerID,MartPrice,FactPrice,Count,Integral,ShopTime,IsBuy)Values('" + MyShoppingData.CusID + "','" + MyShoppingD