ASP.NET网上书店管理系统的设计与实现 精品.doc_第1页
ASP.NET网上书店管理系统的设计与实现 精品.doc_第2页
ASP.NET网上书店管理系统的设计与实现 精品.doc_第3页
ASP.NET网上书店管理系统的设计与实现 精品.doc_第4页
ASP.NET网上书店管理系统的设计与实现 精品.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 引言1.1 选题背景20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本文研究了一种基于数据关联规则网上书店系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。网上书店在我国刚起步,但发展很快。随着我国互联网的更加普及和网上书店的更趋成熟,会有越来越大的消费群体,市场潜力会得到充分发挥。网上书店正是依靠Internet这个载体才得以发展和不断的成熟起来,并对产品的销售和物品的购买展示出了一种崭新的理念。1.2 目的和意义网上书店管理系统主要是处理网上购书和库存的系统,提供具有图书分类检索和搜索,购物车管理,在线订单,书籍推荐,热卖排行,顾客评论等功能和强大的后台管理功能,提供高效、安全、智能化的数据管理,从而提高整个网上书店各项功能管理水平。通过网上书店管理系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,有效地提高网上购书的效率。1.3 发展现状“科学技术是第一生产力”,为了有效的提高生产效率、许多商家开始引进科学化管理,于是书店行业出现了网上书店系统。而目前人们一直还延续着传统的方式买书,这种方式存在着许多缺点,如:效率低、需要大量的人力物力,另外进货不全,难以完全满足所有顾客的需求。 随着人们日益增长的购书需求,图书数量急剧增加,有关购书的各种信息也成倍增长。这就要求有一个好的信息支持平台。面对庞大的信息量,有必要开发网上书店管理系统来提高管理工作的效率。今天我们使用计算机对购书信息进行管理,具有传统书店管理所无法比拟的优点。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,有效地提高网上购书的效率。2 方案论证2.1 B/S结构模式2.1.1 B/S结构介绍(Browser/Server结构)结构,即浏览器和服务器结构。它是随着Internet技术的兴起,对的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。B/S结构的管理软件和C/S结构软件其实各有各的的优势。而从国外的发展趋势来看。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件可能在将来的几年内占据管理软件领域的主导地位。1.B/S、C/S结构软件技术上的比较其实,无论是B/S还是C/S,他们都不新鲜。C/S(Client Server,客户端/服务器)技术从上世纪90年代初出现至今已经得到了非常广泛的应用,其结构经历了二层C/S、三层C/S的升级。B/S(Browser Server,浏览器/服务器)技术则是伴随着Internet的普及而来的。应该说,B/S和C/S这两种设计模式各有各的有点,都是当前非常重要的计算架构。在适用Internet、维护工作量等方面,B/S比C/S要节省许多工作量;但在运行速度、数据安全、人机交互等应用方面,B/S远不及C/S。事实上,从上面的分析可以看出,B/S与C/S具有不同的优势与特点,应该根据具体的应用选择一个合理的开发模式。例如,对于以浏览为主、录入简单的应用程序,B/S技术有很大的优势,现在网络上普片实用的都是浏览器模式,这是对B/S模式应用的明证;而对于交互复杂的ERP等企业级应用,B/S则没有C/S的处理能力强,从全球范围看,许多的ERP产品大多采用二层或三层C/S架构,B/S的ERP产品并不多见是否有可能将B/S与C/S的优势融合呢?在这几年的发展中将B/S与C/S的优势完美地结合起来,就是说系统能以B/S的方式发布运行,同时又具有C/S方式的极强的可操作性。而针对本系统设计可知,本系统主要以用户登录浏览器后,进行简单的浏览,查看页面就可以实现功能。所以结合系统开发实际,选择使用B/S开发模式。2.B/S模式的优点和缺点B/S结构的优点1、具有分布性特点,可以随时随地进行查询、浏览等业务处理。2、业务扩展简单方便,通过增加网页即可增加服务器功能。3、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。4、开发简单,共享性强B/S模式的缺点1、个性化特点明显降低,无法实现具有个性化的功能要求。2、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。3、页面动态刷新,响应速度明显降低。4、功能弱化,难以实现传统模式下的特殊功能要求。2.1.2 B/S模式设计的系统结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.2 基于B/S模式系统的实现技术2.2.1 开发技术与实现 目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。这里主要用到ASP.NET,以下是对ASP.NET开发语言的介绍ASP.net 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于+开发的程序,能够完整的移植向ASP.net。简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web 服务器应用程序,如交互式的动态网页,包括使用 表单收集和处理信息,上传与下载等等。更重要的是,ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。使用ASP还有个好处,就在于ASP可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。2.2.2 NET环境介绍本系统主要用到了visual studio开发工具中的.NET技术。.NET是Microsoft面向XML Web服务的平台,通过 .NET 框架的公共语言运行库,.NET 平台使各种 XML Web services 能够交互操作,而不管其源语言的不同。开发人员可以生成可重用的 XML Web services,而不是生成单个应用程序。VS.NET建立并集成Web Services和应用程序的快速开发工具,使开发网站更方便,只需要简单的通过手动添加组件就可以轻松的完成网站的架设。结合本系统主要是开发基础页面的特点,所以选择.NET开发环境。2.3 运行环境和开发工具的选择2.3.1 开发环境Windows Server 20XX系统运行平台,IIS6.0WEB服务器和脚本解释器,IE7.0浏览器,Microsoft Visual Studio20XX, DirecX9.0系统插件和SQL Server20XX企业版。2.3.2 开发工具1.vistual studio 的选择Visual Studio的Visual Studio产品和.NET框架将全方位的大幅提高应用软件开发的各个方面。在全世界成千上万的客户的信息反馈的推动下,这个产品将会提高开发者的生产效率,提高内建的支持团队开发的能力。语言创新的特性、.NET框架的改进、企业开发的扩展支持,将会被Visual Studio集成开发环境全部表现出来。而且,Visual Studio更深层次的整合和支持 SQL Server。像Windows Server20XX整合了.NET框架一样,SQL Server Yukon也在数据库引擎中整合了公共语言运行时(CLR)的功能,将数据库和工具的结合提高到新水平。Visual Studio不仅让开发者能用Visual Basic和C#编写存储过程,而且进一步减少了开发数据中心应用软件所需的编码和劳动。在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+.NET构成三层式Web结构的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+.NET技术来集成Web数据库信息 如图3-1 所示程序和计算逻辑前端浏览器ActiveX Server元件ActiveX Server元件后端数据库数据库服务器Microsoft IIS + .NET浏览器图1 数据服务视图总之,用 vistual studio开发的.NET类网站,相对比用Dreamweaver等小型开发工具,有很大的优势,而且网站的动态交互能力更强,和数据库 SQL Server的连接更紧密,是最适合用来开发网站的集成工具。2.数据库SQL Server的选择SQL Server具有单进程与多线索的体系结构,即SQL Server只有一个服务器进程,所有的客户都连接在这个进程上。但是,该进程又细分为多个并发的线索,他们共享数据缓冲区和CPU时间,能及时捕捉各用户进程发出的存取数据的请求,然后,按一定的调度算法处理这些请求,比操作系统直接对这些请求进行调度高效的多。SQL Server的事务处理量大,响应速度快,并能为数百或更多用户维持这种高性能。SQL Server在核心层实现了数据完整性控制,包括建表时申明完整性和用触发器机制定义与应用有关的完整性。支持分布式查询与更新。最主要的它可以无缝的实现与ASP动态网站的连接。SQL对大中小型数据库系统应用都和合适,安全性较高,而且所使用的数据控制语句也非常的简单,应用所有的数据时,仅需要使用9个关键词,所以学习和使用都是极其的方便。可以选择 MS SQL Server 20XX,主要优点有:1、相对MySQL Oracle Sybase DB2,SQL Server性价比最好;2、和.net集成比较好,很合适用于Windows应用的后台数据库;3、MS SQL Server 20XX安全性得到了很大增强;4、管理和开发入手都比较3. 过程论述3.1 需求分析3.1.1前台功能1、新客户注册:普通用户必须先注册,才能进行图书的查询、浏览、定购、信息反馈等操作。用户需要注册,并且要得到系统管理的审批和确认,主要功能是对用户个人基本信息的管理。2、书籍分类搜索:用户可根据对书籍的分类浏览和输入关键字进行本站包含书籍的查找浏览。3、新书籍上架:把本站最近入库的书籍显示出来方便客户知道本站书籍的更新。4、实现购物车功能模块:实时显示用户当前所购书目,可以增加或删除5、订单查询功能:客户确认购买号即生成一个唯一的订单号,客户依此号码可以查询所购书目到书情况。6、前台页面管理:注册会员对自己资料的修改,账户的管理和书籍收藏夹的管理,以及对于自己登陆界面风格的管理。3.1.2后台管理实现功能1、管理员注册:网站管理人员注册,实现对系统后台的管理,对系统所有信息的控制。还需要对系统进行维护,同时还对普通用户和商家的基本信息进行管理。2、订单添加/删除/修改管理功能:对于用户提交的订单进行审核,并实现对订单的添加/删除/修改管理。3、书籍信息管理:这主要分为出版社管理,类别设置和分类管理。其中,出版社管理可以增加或修改删除相关信息,请确保此处信息的真实性;类别设置可对书目类别进行相应的操作(增加,删除,修改);分类管理可以对相关图书进行分类操作(注:此操作可以在图书入库的时候进行选择)3.2 网上书店的总体设计3.2.1购物主要处理流程根据需求分析,本系统主要实现两大管理模块:前台的图书管理和后台的管理。前台的图书管理主要用于通过Internet向普通浏览者提供图书的一些基本信息,而后台主要是实现用户的管理以及对图书信息的管理。系统的功能特点如下:1、页面模块化:系统界面的设计使用模块进行处理,如把页面的头、尾页面内容,数据库的连接等做成单独的文件,在其它页面设计中需要时可以把其他页面的相应的内容包括进去了,这样有利于页面风格比较统一以及提高开发系统的效率。2、图书信息模板的应用:本系统的图书信息代码的生成是基于模块的,更换图书信息内容时只要将图书新的一些必要的信息录入,然后自动修改图书信息的模板。3、功能较完善,管理方便:功能方面包括图书产品的展示、用户注册及登录、图书的在线查询、定购等各个方面,完整地实现了网上书店的管理要求,同时由于应用了模板,对系统的管理维护非常方便。因此得用户登陆网站后购物的主要处理流程如下:登录界面老用户登录新用户注册填写个人信息注册成功密码验证选购商品是否结算N放入购物车NYY商品结算浏览检索商品选购商品是否登录浏览检索商品服务商处理订单收到货款服务商发货服务商销毁订单NNNYYY图2 客户购物流程3.2.2数据库设计由需求分析和数据处理流程,画出网络书店的E-R图如下图所示:系统主要涉及到两类用户即为网络书店的用户及管理,还有图书的基本信息等。图3 E-R图当得出E-R后,就开始了对数据库设计,由数据字典可设计出系统的整个数据库的数据访问层是一组封装了对数据库进行各种操作(连接数据库、查询记录、删除记录、添加记录、关闭连接等)的类。根据数据库的设计, 确定数据库的模式结构。在服务器上创建一个名为book的数据库。包括以下表:商店图书表My_Book,商店图书类别表My_BookClass, 商店管理员表 My_BookAdminuser, 购书用户表My_Users, 购物车订单号表 My_Indent, 购物车订单货物列表 My_IndentList,。下面将具体介绍数据库中表的结构。1.商店图书表My_Book商店图书表,主要用来存放图书信息,表名为My_Book,主键为Id。这里存放的是图书的具体信息,包括书名,作者,出版社,目录,书价,书编号等信息图书信息。表1 商店图书表字段名字段类型长度NULL说 明备注IdInt2否ID序列号BookNameVarchar20否书名BookClassInt否图书类别AuthorVarchar25作者PublishVarchar150出版社BookNoVarchar30书号ContentVarchar4000内容介绍PrinceFloat书价AmountInt总数量Leav_numberInt剩余数量RegTimeDatetime否登记时间2.图书类别表My_BookClass图书类别表,这个表项对图书进行了分类,按编号分类别,表名为My_BookClass,主键为Id,设置图书类别表的存放数据信息。表2 图书类别表字段名字段类型长度NULL说 明备注IdInt4否ID序列号ClassNameVarchar30否图书类别名3.商店管理员表 My_BookAdministrator商店管理员表,用来存放商店管理员的用户名和密码等,表名为My_BookAdminuser,主键为AdminUser,本表是用来存储管理员的密码表3 商店管理员表字段名字段类型长度NULL说 明备注AdminUserVarchar20否管理员用户名AdminPassVarchar50否管理员密码4.购书用户表My_Users购书用户表,用来存放购书用户的信息,表名为My_Users,主键为Id,具体存放的数据信息,主要保存用户的详细信息表4 购书用户表字段名字段类型长度NULL说 明备注IdInt4否ID序列号UserNameVarchar20否购物用户名PassWordVarchar50否用户密码NamesVarchar20用户联系用姓名SexVarchar2用户性别AddressVarchar150用户联系地址PhoneVarchar25用户联系电话PostVarchar8用户联系邮编EmailVarchar50用户电子邮件RegTimeDatetime8用户注册时间RegIpAddressVarchar20用户注册时IP地址5.购物车订单表My_Indent购物车订单表,存放购物车订单的信息,表名为My_Indent,主键为Id,购物车订单表的数据定义,用来存储每个订单的详细信息。表5 购物车订单表字段名字段类型长度NULL说 明备注IdInt4否ID序列号IndentNoVarchar20否订单编号UserIdInt4否用户序列号SubmitTimeDatetime8否提交订单时间ConsignmentTimeVarchar20交货时间TotalPriceFloat8总金额contentVarchar400用户备注IPAddressVarchar20下单时IPIsPayoffInt4用户是否已付款IsSalesInt4是否已发货6.购物车订单货物列表My_IndentList购物车订单货物列表,存放购物车订单货物的信息,表名为My_IndentList,主键为Id,主要用来存放每个购物车订单货物的详细信息。表6 购物车订单货物列表字段名字段类型长度NULL说 明备注IdInt4否ID序列号IndentNoInt4否订单号表序列号BookNoInt4否图书表序列号AmountInt4订货数量3.2.3系统模块图系统模块图描绘了系统的物理结构,它反映了系统各部件之间的调用关系。本系统的功能模块图如图3所示。整个系统构建分为前台管理后后台管理两个中心,对于书店的客户,首先需要进行注册,登陆后才能管理个人信息,还需要选购商品,最后还必须下订单结算。对于书店的管理员,负责整个书店系统的后台管理,分为管理员管理、图书管理、订单管理和拥护信息管理四个模块,用户信息管理主要是管理用户的信息和修改删除用户等,而图书管理主要是添加图书,修改图书的信息及删除图书等,订单管理是管理合格订单,方便系统管理员发货等。图4 系统模块图4详细设计4.1首页编辑及运行如图4:这是网站的首页,是网站的主体信息中心。主体分为TOP,LEFT,MAIN,和BOTTOM四个部分,其中MAIN是整个页面的中心。在MAIN区,放置了一本主编推荐的图书,有一张书面的图片和旁白图书的详细介绍及图书的销售价格和折扣等信息。再下面就是其他的书籍图片,方便用户选择图书,而不需要页面的跳转。所有的图片都有链接,可以方便的实现链接订购。图片介绍下面还有书的折扣,价钱的信息等,MAIN区起的主要作用是和数据库交互,实现图书的订阅,浏览等。如果顾客想购买此物品,就点击“购买”按钮,然后进入购物流程,转到“我的购物车”板块。MAIN区的下面部分显示了本月推荐的几本新书,和MAIN区域上面部分的图书采用相同的显示方式。然后就是本周的图书推荐,这只是单本图书,所以信息显示很详细,和主编推荐的图书采用相同的显示效果,只是添加了媒体评论这个交流的平台区域。LEFT部分主要是一个导航,将所有的图书分类导航,使客户可以方便的选择自己需要的图书分类,也很容易才查看到书店的所有图书,所以是一个实用性很强的导航区域。BOTTOM区显示的是公司的信息,及版权的分需求功能。当用户选择时BOTTOM区就会根据用户的选择自动跳转到相应的页面。图5 首页运行图首页详细设计的核心代码如下:Default.aspx 用来显示主页   Effective C# 中文版改善C#程序的50种方法 本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了改善C#和.NET程序的方法。本书通过将每个条款构建在之前的条款之上,并合理地利用之前的条款,来让读者最大限度地学习书中的内容,为其在不同情况下使用最佳构造提供指导。本书适合各层次的C#程序员阅读,同时可以推荐给高校教师(尤其是软件学院教授C#/.NET课程的老师),作为C#双语教学的参考书、.   定价:49元 折扣价:38元 折扣:75折     框架设计(第2版) ¥68 ¥58 Essential ASP.NET 2.0中文版 ¥39 ¥28 ASP.NET程序员成长攻略 ¥65 ¥50 Java EE 和.NET互操作性 ¥49 ¥35 4.2用户注册页面如图5是新用户注册页面。新用户只有注册了才能完成对图书的订购,管理自己的购物车,查看已经订阅的图书图书。点确定后,转入首页,填入的信息写进数据库,实现交互。图6用户注册页面注册页面详细设计代码如下:DBHelper.cs注册页面namespace MyBookShop.DAL public static class DBHelper private static SqlConnection connection; public static SqlConnection Connection get string connectionString = ConfigurationManager.ConnectionStringsMyBookShop.ConnectionString; if (connection = null) connection = new SqlConnection(connectionString); connection.Open(); else if (connection.State = System.Data.ConnectionState.Closed) connection.Open(); else if (connection.State = System.Data.ConnectionState.Broken) connection.Close(); connection.Open(); return connection; public static int Executemand(string safeSql) Sqlmand cmd = new Sqlmand(safeSql, Connection); int result = cmd.ExecuteNonQuery(); return result; public static int Executemand(string sql, params SqlParameter values) Sqlmand cmd = new Sqlmand(sql, Connection); cmd.Parameters.AddRange(values); return cmd.ExecuteNonQuery(); public static int GetScalar(string safeSql) Sqlmand cmd = new Sqlmand(safeSql, Connection); int result = Convert.ToInt32(cmd.ExecuteScalar(); return result; public static int GetScalar(string sql, params SqlParameter values) Sqlmand cmd = new Sqlmand(sql, Connection); cmd.Parameters.AddRange(values); int result = Convert.ToInt32(cmd.ExecuteScalar()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论