网络商店销售管理系统毕业设计论文.doc

上传人:仙人指路1688 文档编号:3991456 上传时间:2023-03-30 格式:DOC 页数:69 大小:1.08MB
返回 下载 相关 举报
网络商店销售管理系统毕业设计论文.doc_第1页
第1页 / 共69页
网络商店销售管理系统毕业设计论文.doc_第2页
第2页 / 共69页
网络商店销售管理系统毕业设计论文.doc_第3页
第3页 / 共69页
网络商店销售管理系统毕业设计论文.doc_第4页
第4页 / 共69页
网络商店销售管理系统毕业设计论文.doc_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《网络商店销售管理系统毕业设计论文.doc》由会员分享,可在线阅读,更多相关《网络商店销售管理系统毕业设计论文.doc(69页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)网络商店销售管理系统的设计与实现论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:网络商店销售管理系统的设计与实现摘 要随着软件技术的不断进步和发展,信息化的管理方式越来越广泛的应用于各个领域,对于任何网站系统的管理来说开发一套现代化的成员管理软件是十分必要的。通过这样的软件系统,可以做到成员的规范管理和快速查询,从而减少管理方面的工作量。有效的管理所有成员的信息就是成员管理系统完成的功能。销售管理系统是使用MS.NET平台中的ASP.NET开发基于B/S体系结构的Web应用程序,在Microsoft Visual Studio .NET 环境下,使

2、用 C# 编程语言并结合Microsoft SQL Server 2000 数据库开发出一套网络版的销售管理系统。该系统由前端输入和后端管理组成。前端实现了用户注册,用户登录,购物车,定单查询,商品浏览(包括热门商品和新到商品),商品搜索等。后台实现了用户信息管理,管理员信息管理,商品信息管理,销售管理。通过这个系统,可以大大的提高网络管理者的工作效率和工作精度。关键词:网络商店;销售管理系统;模块;控件;C#.NETThe Design and Realization of the Network Shops Selling Management SystemAbstractAlong wi

3、th the unceasing progress and development of the software technology, the management information system is more and more widely applied to each domain, it is extremely essential to develop a members management software for a website. Through such a system, we can reduce the management workload by me

4、mbers standard management and fast inquiry. The effective management of all members information is a function which the member management system management system completes. The selling management system is developed based on B/S system structure, using ASP.NET of MS.NET as the platform. Its a web a

5、pplication procedure in Microsoft Visual under the Studio NET environment, using the C# programming language and unifying Microsoft SQL Server 2,000 databases. This system is composed of the onstage for input and the backstage for management. Functions such as registration, log on, the user land, sh

6、opping vehicle, ordering form inquiry, commodity browsing (including popular commodity and newly arrived commodity), and commodity searching and so on, are realized on the onstage. The functions such as the users information management, the managers information management, the commodity information

7、management and the selling management are realized on backstage. Through this system, we may greatly enhance the network superintendents work efficiency and the work precision.Key words: Network shop; Sale management system; Module; Controls; C#.NET目 录论文总页数:25页1引言11.1开发背景11.2系统功能11.3系统软硬件配置要求21.4相关软

8、件及技术介绍22项目模块及框图22.1 系统功能模快设计22.2 网络销售管理流程图32.3网络销售管理系统模块组织图43 项目方案需求43.1 项目特色43.2 方案选择53.2.1 数据库需求分析53.2.2数据库逻辑结构设计53.2.3业务模式74模块设计、分析、开发84.1主页面设计84.1.1页面头部控件设计84.1.2 商品分类导航控件的设计94.2 商品信息模块页面104.3 用户信息管理模块设计114.3.1登录页面设计114.3.2 注册页面的设计124.4购物车功能的设计与实现134.5 购物车的结算设计与实现154.6查询销售情况页面的设计165.结果测试,性能分析195

9、.1 测试主页面195.2测试登录页面195.3测试购物车215.4测试查询销售情况225.5测试查询、修改用户信息页面22结 论23参考文献23致 谢25声 明26 1 引言1.1开发背景随着网络技术的飞速发展,网络经济与人们的生活越来越紧密的联系在一起,随着信息技术的发展,网上购物与网上销售也在逐渐发展和普及。消费者与销售商都迫切需要一种简便与高速高效的购物与销售方式,在线商店管理系统的出现正好满足人们的这种需要,通过网络的简便与高效可以使消费者节省时间,价格公开合理。而使销售者更合理的调节商品的数量以免造成商品的积压,也同时使生产者真正随着市场经济的需求而调节产品的种类和数量。随着网络的

10、不断的普及,网页技术的不断发展,人们对网页的要求也不再是文字,图片的简单堆砌或是单调枯燥的内容,而是实时性,交互性和丰富性,使用动态网页技术的网页越来越受欢迎。应用ASP.NET技术的灵活性可以方便的访问数据库,ASP.NET把数据库搬上了WEB页面,使人们可以通过互联网使用大型的包含数据库功能的系统。系统正是使用ASP.NET技术的动态网页与SQL Server2000数据库结合打造的一个网上商店管理系统,一般用户通过网络访问该系统,提供用户注册功能,商品查询功能;系统用户(已注册用户)可以修改注册信息,购买商品等;管理员可以修改、删除、添加、模糊查询用户信息、配送商、供应商信息,对顾客的定

11、单安排配送商(即进行销售)以及向供应商定货和处理供应商发送来的货物(即进货和库存管理)。本系统充分发挥了ASP.NET技术显示于客户端,运行于服务器端的特点,保护用户资料的安全性。经过分析,本文作者使用的是Microsoft公司的visual 开发工具,利用其提供的面向对象的开发工具,尤其是数据窗口这一能方便而简洁操作数据库的智能化对象,首先在短时间内建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到完成系统。1.2系统功能整个网络销售管理系统的包括用户,超级管理员和一般管理员三种角色,系统为不同的角色提供不同的入口。两个管理员是一种隶属关系,一般管理员要受超级管理员的限制

12、。用户和管理员具有不同的操作权限,用户可以注册新用户,修改自己的密码、个人资料。查看/搜索自己的喜欢的商品的信息;超级管理员具有添加新管理员、删除管理员、修改密码,添加、删除商品类别;添加、修改、删除商品信息;查询用户信息、修改用户的账户金额,还有查询销售情况。一般管理员具有除添加管理员、删除管理员之外的其他权限。1.3系统软硬件配置要求在运行本系统前,请先检查一下软硬件配置是否符合以下要求:硬件环境:服务器端/客户端:处理器:Intel Pentium4内存: 128M硬盘空间:20G 安装 NET运行环境软件环境:操作系统:Windows 2000网络协议:TCP/IP浏览器:Intern

13、et Explore 6.0显示器:VGA或更高分辨率的1.4相关软件及技术介绍141 ASP.NET技术ASP.NET 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET构架是可以用Microsoft(R)公司最新的产品 Visual Studio开发环境进行开发ASP.NET是基于通用语言的编译运行的程序,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。142 SQL ServerSQL Server 是一个具备完全 Web 支持的数据库产品,提供

14、了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。143 Visual S 2003它是Microsoft推出.NET应用程序开发工具。它易学易用的特性得到很多的好评。Microsoft又推出新版的.NET应用程序开发工具 Visual Studio.NET 2005,加入更多的好用功能,是.net的好开发工具。2项目模块及框图2.1 系统功能模快设计系统主体采用B/ S(Browser/ Server ,浏览器/ 服务器) 结构,即采用目前分布式系统流行的3 层软件结构,即在传统的客户和服务器之间

15、加入应用服务器(Application server) ,3 层即是表现层(浏览器) 、业务逻辑层(Web 服务器) 、数据层(数据服务器) ,系统简图如图21所示。数据服务器与Web 服务器是完全分开的,分开之后的3 层软件结构功能明确:客户层只提供应用程序的用户界面,负责与用户交互;业务逻辑层是应用系统的关键,它负责处理所有用户请求,进行具体的运算和决定程序的流程,并把处理结果返回给表现层;服务器层仍然提供的是数据库支持、维护和更新应用程序的数据。2.2 网络销售管理流程图浏览商品添加商品详细信息添加到购物车登 录结 账注册新用户是否注册是否登录账户金额购物金额生成定单,提示购买成功出错了

16、!请联系管理员添加账户存款否否否 录是 录是录是是图1 网络销售管理系统数据流程2.3网络销售管理系统模块组织图网络销售管理系统前 台用户信息管理商品信息购物车定单图2A系统模块组织图网络销售管理系统后 台销售管理用户信息管理管理员信息商品信息管理图2B系统模块组织图3 项目方案需求3.1 项目特色项目采用Visual Studio .net2003 与SQL Server 2000进行开发。Visual Studio .net2003是微软最新推出的强大的可视化集成开发环境. VS.NET是ASP. NET中的一员,它继承了VB6.0通俗易懂的语法和可视化的应用程序界面设计,同时加入完全面向

17、对象的设计思想,使应用程序的设计更加方便、快捷。另外,ADO.NET的引入使得访问数据库更加容易。项目在启动时需要进行登录验证,由于用户的信息保存在服务器的数据库中,所以在本地应当连接数据库服务器的信息 把所得到的信息进行验证(服务器的名称,登录数据库的用户名、密码等),用户通过验证后在给予用户相应的权限,在进入系统进行操作。3.2 方案选择3.2.1 数据库需求分析网络商店销售管理系统数据库系统,针对它要实现的业务功能,数据库中应该具有以下的模块: 用户信息:包括用户的编号、用户名、密码、帐户金额、姓名等内容。商品信息:包括商品编号、商品名称、商品价格、描述以及所属类别等。管理员信息:与用户

18、信息相类似,包括管理员编号、登录名、密码、角色类别等。管理员日志:包括日志编号、发生事件以及时间。购物车:用来存储用户购物的信息,如商品的编号、数量等定单:一笔完整的定单记录应该包括它所相关的商品集合以及各个商品的数量等信息3.2.2数据库逻辑结构设计系统共涉及9张表,分别是:用户信息表Userinfo、商品信息表Productinfo、商品类别字典表Category、购物车表Shoppingcate、定单表Orders、定单信息表Orderitems、管理员信息表Admin、管理员角色字典表Adminrole和管理员日志表Adminaction。主要设计思想: 尽管在需求分析中,商品类别仅仅

19、是商品的一个属性,但是数据库设计中一般将其分离出去创建单独的表。这就是面向对象的思想,这种做法有利于系统的扩展,同样的思想也体现在了Admin和Adminrole表的设计中。还有就是由于定单可能包括多种商品。而且数量不一。所以也用两个表来共同体现定单的这个实体。9张表如下:表1:用户基本信息表Userinfo编号字段名称数据类型说明1Useridint用户ID(主键)2UsernameNvarchar(50)用户登录名3UserpwdNvarchar(50)用户密码4QustionNvarchar(50)密码提示问题5AnswerNvarchar(50)提示问题答案6AcountDecimal

20、账户金额7UserrealnameNvarchar(50)用户真实姓名8SexNvarchar(50)性别9AddressNvarchar(50)地址10EmailNvarchar(50)电子邮件11ZipcodeNvarchar(50)邮编表2:商品信息表Productifo编号字段名称数据类型说明1Productidint商品编号(主键)2ProductnameNvarchar(50)商品名称3ProductpriceDecimal价格4IntroNvarchar(50)商品介绍5Categoryidint所属分类编号6Clickcountint点击数量表3:商品分类表Category编号

21、字段名称数据类型说明1Categoryidint商品分类ID(主键)2CategorynameNvarchar(50)分类名称表4:购物车表Shopping编号字段名称数据类型说明1Recordidint记录ID(主键)2CartidNvarchar(50)购物车ID3Productidint所购商品编号4CreatedateDatetime购物时间5Quantityint购买数量表5:定单表Orders编号字段名称数据类型说明1Orderidint定单号(主键)2Useridint所属用户ID3OrderdateDatetime成交时间表6:定单详细信息表Orderitems编号字段名称数据

22、类型说明1Orderidint定单号(主键)2Productidint商品ID(主键)3Quantityint该商品的购买数量4UnitcostDecimal该商品的单价表7:管理员信息表Admin编号字段名称数据类型说明1Adminidint管理员id(主键)2LiginnameNvarchar(50)管理员登录名3LoginpwdNvarchar(50)管理员密码4Rolreidint管理员角色ID表8:管理员角色表Adminrole编号字段名称数据类型说明1Roleidint角色ID(主键)2RolenameNvarchar(50)角色名称 表9:管理员日志表Adminaction编号字

23、段名称数据类型说明1Actionidint日志ID(主键)2ActionNvarchar(50)角色名称3ActiondateDatetime日志时间4Adminidint所属管理员编号3.2.3业务模式系统分为两大功能模块:前台和后台管理员。前台包括商品信息模块、用户信息管理模块。后台有管理员信息、商品信息用户信息、销售管理等模块。后台数据库管理系统采用SQL 2000。查询系统:采用浏览器-Web应用服务器-数据库服务器三层结构,供用户、各管理员在网上查询信息,编程技术主要运用C#.net管理系统:采用B/S结构,供管理员对用户和商品的各种信息进行输入、查询和更新和删改的操作,实现工具主要

24、是ASP.NET。应用程序通过ODBC与SQL2000相连。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过eb Server 同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证

25、(如证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。服务器负责有效地管理系统的资源,其任务集中于: a 数据库安全性的要求。b 数据库访问并发性的控制。 c 数据库前端的客户应用程序的全局数据完整性规则。d 数据库的备份与恢复。 4模块设计、分析、开发4.1主页面设计主页面是直接展示给用户的部分。在这一模块中,主要包括以下自定义控件和页面的实现:页面头部控件(HeadMenu.ascx):主要包括登录链接和搜索框商品分类导航控件(CategoryList.ascx):显示所有商品的列表,作为页面的左侧导航目录。4.1.1页面头部控件设计页面头部控件是为了方便用户快速导航到某个

26、页面的,在HeaderMenu.ascx的设计中,具有技巧性的地方是如何展示给登录用户和匿名用户不同的导航条,为了区别登录用户和匿名用户,在HeaderMenu.ascx中将匿名用户所拥有的链接放在一个Span容器中,并将Span设为“Runat=Server”,这样就方便在代码中对去是否可见进行控制。同样,将登录用户需要的链接也放在另一个Span中。另外,“搜索”也是一个超级链接,但它并非链接到某个Url。而是执行一条JavaScript语句“javascript:searh.submit()”,即把页面提交。如下图所示:图3登录用户导航条 图 4匿名用户导航条控件代码的实现在HeaderM

27、enu的代码中,主要是判断用户的情况并控制Span容器的可见性。在HeaderMenu.ascx.cs中定义了下面的方法:void showButton()/是否是匿名用户if (Request.IsAuthenticated != true) /登录用户区域不可见areaLoggedIn.Visible = false;/匿名用户区域可见areaLoggedOut.Visible = true; else areaLoggedIn.Visible = true;areaLoggedOut.Visible = false; 这样在窗体加载即执行Pvage_Load()是调用上面的方法就可以实现

28、效果了:Private void Page_Load(object sender,System.EventArgs e) showButton();4.1.2 商品分类导航控件的设计 该控件显示所有商品的分类,单击目录中某个商品类别是将显示相应类别的商品列表页面。在CategoryList.ascx中主要用到了DataList控件,它用来绑定数据源。控件代码的实现private void Page_Load(object sender, System.EventArgs e)/ 设置目录的选定项string selectionID = Request.Paramsselection;if (

29、selectionID != null)MyList.SelectedIndex = Int32.Parse(selectionID);/将数据源绑定至DataList控件MyList.DataSource = BLL.Product.GetCategoryList();MyList.DataBind();可以看到,MyList的绑定数据源是方法GetCategoryList()的返回值,这个方法在BLL层中的Product类中,他调用数据库的存储过程GetCatergoryList。4.2 商品信息模块页面分类显示商品显示某种类型的所有商品。ProductList.aspx页面的布局和首页基

30、本相似,不同的是,在页面的中心位置放置了一个Reperter控件来绑定数据源,Repeater控件中用一个表格的第一行作为它的HeaderTemplate,而ItemTempmlate项中绑定了数据源的相应字段。“购物”也是通过超级链接来实现页面的传递。主要代码如下: /页的大小private static int PageSize = 5;private void Page_Load(object sender, System.EventArgs e)if (!Page.IsPostBack)/显示第一页的记录ShowResult(0, PageSize);void ShowResult(i

31、nt pageIndex, int pageSize)/绑定Repeater控件products.DataSource = BLL.Product.GetProductsByCategory(int.Parse(Request.QueryStringcategoryId(pageSize, pageIndex);products.DataBind();/调用Product类中的方法获得该类商品的总数int resultCount = BLL.Product.GetProductCountByCategory(int.Parse(Request.QueryStringcategoryId);in

32、t count;/如果查询结果总数是页大小的整数倍if (resultCount%PageSize = 0)count = resultCount/PageSize;PageCount.Text = count.ToString();elsecount = resultCount/PageSize+1;PageCount.Text = count.ToString();page.Items.Clear();/绑定页码到DropDownList控件for(int i=0; icount; i+)ListItem item = new ListItem(i+1).ToString(), i.ToS

33、tring();page.Items.Add(item);page.SelectedIndex = pageIndex;4.3 用户信息管理模块设计4.3.1登录页面设计图5 用户登录界面在这个系统中采用Froms验证方式,当自定义的验证程序确认用户身份时,可以让Froms验证系统发出Cookie,Cookie中除了包含验证票据之外,还可以通过程序写入被验证用户的标识信息,比如用户编号,然后使用该Cookie访问个人的信息。Forms验证方式还可以保证有权限要求的页面无法被匿名用户访问。例如,密码修改页面(ChangePwd.aspx)不能被匿名用户访问,要达到上诉目标,需要在配置文件Web。

34、Config里面创建一个项。代码如下: 需要注意的是,标记中,name的值为验证系统所发出的Cookie的名称,loginUrl表示匿名用户被重定向到的页面的地址。如何防止ChangPwd不被匿名用户直接访问呢,也需要创建下面的项: 同样,用户可以注销验证信息,注销页面(SignOut.aspx)代码如下: private void Page_Load(object sender, System.EventArgs e)/注销验证信息System.Web.Security.FormsAuthentication.SignOut();/清空SessionSession.Clear();/返回首页

35、Response.Redirect(default.aspx);4.3.2 注册页面的设计 注册新用户时候,仅需输入最基本的信息,个人详细资料在注册之后再进行修改,Register.aspx的界面主要是接收一些用户输入的文本框,以及相应的验证控件、“注册”按钮和显示提示信息的Lable控件。图6 注册页面代码的实现:通过存储过程AddNewUser实现注册的功能:CREATE PROCEDURE AddNewUser( username nvarchar(50), password nvarchar(50), question nvarchar(50), answer nvarchar(50)

36、, result int output)AS /*是否存在相同的用户名*/ if not exists (SELECT * FROM USERINFO WHERE USERNAME=USERNAME ) BEGIN/*插入新的用户记录*/INSERT INTO USERINFO (USERNAME, USERPWD, QUESTION, ANSWER) VALUES (USERNAME, PASSWORD, question, answer)/*将Result赋值为新添加用户的UserId*/SELECT result = SCOPE_IDENTITY() END ELSE BEGINSET

37、RESULT = -1 END 该存储过程带有输出参数,如果有相同的用户存在,输出参数为-1,否则,输出的参数的值为该用户的UserID。在User类中定义方法AddNewUser()调用AddNewUser存储过程,4.4购物车功能的设计与实现在前面的流程图中,我们可以看到这个购物流程是不允许匿名用户拥有购物车的,匿名用户注册并登录之后,才能使用购物车。登录用户的购物车编号CartID为用户编号。CartID生成过程中用到了Cookie,Cookie是用来保存个人信息的对象,它存在于客户端。针对购物车的功能,设计了ShoppingCart类,其中定义了GetShoppingCartID(),

38、代码如下:public String GetShoppingCartID() HttpContext Context = HttpContext.Current;/ 如果该用户已经通过验证后登录了系统, 那么以该用户的UserID作为购物车ID if (Context.User.Identity.Name != ) Response.Redirect(/esop/SignIn.aspx); if (Context.Request.CookiesShoppingCartID != null) return Context.Request.CookiesShoppingCartID.Value;

39、在数据库中定义了存储过程ShoppingCartAddItem,实现向购物车添加商品的功能,代码如下:CREATE Procedure ShoppingCartAddItem( CartID nvarchar(50), ProductID int, Quantity int)AsDECLARE CountItems intSELECT CountItems = Count(ProductID)FROM ShoppingCartWHERE ProductID = ProductID AND CartID = CartIDIF CountItems 0 /* 该购物车中已有该商品的记录,更新数量

40、*/ UPDATE ShoppingCart SET Quantity = (Quantity + ShoppingCart.Quantity) WHERE ProductID = ProductID AND CartID = CartIDELSE /* 该购物车中没有这个商品的记录,插入新记录 */ INSERT INTO ShoppingCart ( CartID, Quantity, ProductID ) VALUES ( CartID, Quantity, ProductID )GO4.5 购物车的结算设计与实现图 7 商品结算界面如果用户的预存款金额不足够支付本次购物,则会出现“存

41、款不足”的提示如果能够支付,则生成新的订单,实现预存款支付订单的存储过程代码如下:CREATE PROCEDURE PayOrderuserId int,totalcost decimal,result int output ASDECLARE tmp decimal/*tmp为当前用户预存款金额*/SELECT tmp = acount FROM UserInfoWHERE userID = userId/*如果预存款不足*/IF tmp totalcostBEGIN/*置标志为-1*/SET result = -1END/*预存款足够支付,扣除相应的金额*/ELSEBEGINUPDATE

42、UserInfo SET acount = acount -totalcost WHERE userId= userId/*置标志为1*/SET result = 1ENDGO4.6查询销售情况页面的设计 模块的查询支持按月查询、日查询。查询的结果是每种商品的相关的定单数、售出数量和销售收入。页面主要包括3个DropDownList,分别用来选择年、月、日,两个按钮分别进行按月查询和按日查询,以及显示查询的结果的DataGrid。页面第一次加载时,显示日期为当前日期,并绑定到当前的销售情况。图8销售情况图代码的实现查询销售情况的存储过程定义为GetSails,有3个输入参数,分别为year(年)、month(月)、day(日)。当day为0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号