资源描述
网上购物系统目录1 项目概况11.1 问题的提出11.2 目前网上购物的现状11.3 选择网上购物的原因11.4 网上购物的安全性21.5 设计思想42 需求分析62.1 系统分析62.2 系统性能要求62.3 运行要求62.4 将来可能提出的要求63 系统分析与总体设计73.1 系统的体系和结构73.2 系统的功能描述73.3 数据流图104 开发工具与开发平台114.1 系统开发平台114.2 前台开发工具相关技术简介114.3后台开发工具135 界面设计245.1 通用模块介绍245.2 系统主界面与登录程序设计255.3 设计商品查询与购买模块275.4 设计客户投诉模块295.5 管理主界面315.6 公告信息管理模块设计325.7 商品管理模块设计325.8 订单管理模块设计355.9 投诉管理模块设计366 经验总结37致谢38参考文献391 项目概况1.1 问题的提出WWW从诞生到至今,以惊人的速度影响着人们的生活,互联网的革命导致电子商务应运而生。电子商务是通过电子方式进行的商务活动。它通过电子方式处理和传递数据,包括文本、声音和图像;它涉及许多方面的活动,包括货物电子贸易和服务、在线数据传递、电子资金划拨、电子证券交易、电子货运单证、商业拍卖、合作设计和工程、在线资料、公共产品获得等。纵观中国电子商务近三年的发展,我们可以看到电子商务有三个发展动向:信息服务逐步向在线交易发展;互联网站逐步向信息交换发展;局部应用逐步向综合服务发展。电子商务正在从简单的网上信息浏览、搜索、推播的信息服务方式朝实时在线的交易、支付的服务方式发展。在线交易是电子商务的根本需求,交易能直接创造价值,产生收入;为了更好地进行网上交易,我们有必要对整个网上购物流程进行认真的设计.网上购物系统就是通过Web在线购买商品的系统,本文主要研究基于ASP 的网上购物系统设计技术。1.2 目前网上购物的现状随着世界经济的全球化,顾客需求的多样化,企业将面临着前所未有的激烈竞争和挑战。为了在竞争中取胜,企业必须以更加灵活有效的方式进行生产和服务,进一步应用信息技术和先进有效的组织管理方法。电子商务正是顺应这一发展趋势的一门崭新技术。简单地说,电子商务就是指利用Internet网络进行的商务交易。在一个电子商务系统中,网上购物模块通过WEB服务器发布商品信息,供客户浏览、采购商品,提交定单等)占据很重要的位置。其一是因为界面的友好性,购物的方便性是吸引顾客的一个重要因素; 其二是因为该模块是放在Internet上的,如果设计不当商品很容易被非法入侵,造成巨大损失。所以安全性也是很重要的技术环节。电子商务已经成为了新经济的代名词。在未来的商务活动中,“要么电子商务,要么无商可务”已经在商业界形成了共识。国内很多综合性网站都有网上商城,如www.S www.S 而比较专业比较著名的国内购物商城有 我国的网络商城还在不断摸索和发展阶段。在国外,网上购物已经成为人们生活中不可缺少的一部分了比较著名综合性网站有 . 1.3 选择网上购物的原因以下是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状。(主要引用其中的分析图表) 图1-1用户进行网络购物的原因从上面的图1-1中可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。网上购物跨越了时空的限制,给商业流通领域带来了非同寻常的变革。 网上购物的真正受益者是消费者。网上购物的感觉好极了,你什么都不用烦,敲几个键确认一下,很快就会送货上门,小到一付眼镜,大到一台洗衣机。另外还有两个好处,一是开阔了视野,可以货比三家。逛商店只能一个一个地逛,你即使拿出一天的时间也只能跑自己附近的几个店。而在互联网上情况就大不一样了,你调出一类商品,就可以浏览成百上千个网上商店的商品。二是价格便宜,因为网上商店把商家与消费者直接沟通起来,省了中间环节,也省去了商场和销售人员的费用。1.4 网上购物的安全性体会一把互联网的魅力,寻觅购物的快乐与“心跳”的感觉;这也许就是喜爱网上购物的人们所追寻的“过把瘾就好”的一份真实体验。日前一项最新的调查发现,随着数字化程度的提高,对网上购物持接受态度的人群比例正在明显上升。网上购物目前发展状况究竟如何?有关部门在北京、上海、广州等中心城市进行了调查。网上购物信用最重要虽然网络发展还处于初始阶段,电子商务目前还算是一个新事物。但调查结果显示,仍然有超过半数(50.1)的“上网族”对网上购物持接受态度。一位商界成功人士说:“我年轻时是用时间换金钱,现在我是在用金钱换时间。我喜欢网上购物的原因,就是因为它节省时间。”许多人坦言,网上购物最吸引他们的原因,其实并不是价格上的优势,而节省时间、操作方便和送货上门才是他们选择网上购物的主要原因。 不愿使用网上购物的人们表示,网络交易的安全性是他们接受网上购物的最大顾虑。而支付手段的落后,也是网上交易受限的另一个因素。调查还发现,一部分不愿使用网上购物的网民将“习惯到实际的商店购买”作为其不接受网上购物的原因。研究人员认为,与其他原因不同的是,“习惯到实际的商店购买”更多反映的是传统购买模式对消费者的影响,是一种旧的模式在新模式出现时的必然抗争,因此它并非网上购物的缺陷而是一个接受障碍。值得注意的是新的模式最终能否取代旧模式或是在多大程度上能代替旧模式并没有必然的规律可循,但网上购物这种模式的确立则必然要以物流、资金流、信息流及信用制度等诸多条件的建立和完善为前提。网络购物的主要障碍。研究人员将网络购物的主要障碍归结为以下几点:1)信用制度不健全,消费者信用观念淡薄。 网络交易的虚拟性强,交易双方互不见面是网络购物与传统购物方式之间存在的一个很大的不同点。要想使网上交易正常运行,这就要求要有一个良好的社会信用环境,信用消费观念也要能够被人们接受、认可并深入人心。西方国家的网上购物发展势头比较好,一个重要的原因是西方的市场秩序比较好,信用制度比较健全,信用消费观念已被人们普遍接受。但如果是另外一种情况,市场充斥假冒伪劣产品,商品交易市场秩序较为混乱,同样导致人们信用消费的意识非常薄弱,人们在亲临现场、亲眼目睹的传统购物方式购买的产品还会出现产品质量问题,他又怎么能相信不知道离自己有多远的网上商店呢? 2)送管理系统不完备。 交货延迟,甚至在交款后没有收到所需的商品或服务是目前网上购物配送管理系统存在的,而且是让消费者深感不安的问题。相关调查数据表明,有大约五分之一(22.01)的内地网民表示,曾经有过在网络上订货并且付款,但却未收到货品的经历。业内人士指出,国内尚缺乏系统化、专业化、全国性的货物配送企业,配送销售组织没有形成一套高效、完备的配送管理系统,这毫无疑问地影响了人们的购物热情。 3)质量得不到保证。 众所周知,质量是消费者购买商品和服务时所关注的核心因素,而目前不少消费者实际得到的商品不是在网上看中的商品,产品品质也经常出现问题,这无疑使得网络人群对网上购物的可靠性、安全性产生怀疑。保证产品品质,最大限度地维护所销售商品的质量,使客户可以放心购买网络上销售的每一件商品和每一项服务,增强网民对网络产品和服务品质的信心,是电子商务公司提高信誉,获得发展的重要前提。什么样的产品有前景在接受网上购物的网民中,有31.3的人曾经有过网上交易的成功经历,从目前受访者对网上购物的主要需求来看,可以分成以下几大类产品:书刊、音像制品类(包括CD、软件等); 票务及其他预定类(车船机票、演出票、酒店等); 电器、电脑、通讯产品类;日常用品类(包括食品、化妆品、服装等);金融服务类(包括理财、交割等);网上教育类。从受访者最近一次在网上购物的分布来看,以书刊、音像制品类和电器、电脑、通讯产品类最多,其他类则较少。进一步研究产品特征发现,以下产品是非常具有市场前景的网上产品:订飞机票火车票;订房间;汇款;家用电器;保险;交水、电、煤气费;网上教育。由于受访者在网上购物的种类多集中于书刊、音像制品、软件、手机、电话卡等,因此消费金额也较低。这次调查中进行的用户需求与网站供给对比显示,目前需求最强烈而网站供给又很欠缺的因素集中于满足用户多方面需求、服务含量高(教育、金融)、需要多次互动和沟通(金融、预订)等。仅仅凭借与超市一样的产品(书刊、日用品)来支持的网上购物恐怕最终难以为继。融入更多的服务成分、融入更多的互动、融入更多的沟通方式的网上购物才是用户直正需要的,也才是网上购物区别于传统购物模式独辟新径的方向所在。针对上述调查结果,一位专家指出,网络技术对当代社会所起的推动作用有目共睹,而基于这种技术之上的网上购物,也势必在很大程度上改变人们的生活方式,虽然这还有赖于以服务与产品的质量为依托,但以顾客需求为导向的网上购物,是一个不容置疑的消费趋势。1.5 设计思想在线购物系统充分利用了Brower/Server结构的特点,实现了将购物系统移植到Internet的功能,该系统的优势在于极大的方便了用户,减少了因区域限制而无法购物的现象。目前比较流行的两种网络开发模式分别是Client/Server模式与Browser/Server模式。Client/Server模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。而Brower/Server模式通过Internte进行通信,可以不受地域的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,速度较慢。从目前的开发技术来看,Browser端作为信息收集源,特别是大量的数据录入工作还不能完全取代Client 端的用户界面。在这方面,Client 端各种开发工具的功能更加强大也更加灵活,而Browser 端却由于其功能结构的限定过于“瘦小”。对于本在线购物系统,其功能目标是实现将现有的到超市购物方式向基于Internet的足不出户网上购物转变,所以它必须实现整个购物流程的进行,实现对系统的帐户不同管理,以及商品选购、付款这些环节的处理。由于系统数据收集的实时性要求并不高,因此采用Browser/Server 结构来进行设计是合理可行的。下图是本系统的网络应用原理示意图。图1-2: 系统网络应用原理示意图2 需求分析2.1 系统分析一个好的网上购物系统,不仅包括前台的美观同时后台的优化也是很重要的,本系统主要有四大模块构成,分别为:第一,客户浏览模块;第二,应用服务模块;第三,后台数据库模块;第四,也是比较重要的一个模块,后台系统管理客户端模块。在前台的诸多模块中分别包含着注册、登陆、注销等处理功能,同时在这三个模块中均包含着查询功能。在后台的模块中,只有管理员有权限登陆,管理员可以添加商品、客户的信息,可以编辑商品的详细信息等等一系列功能。2.2 系统性能要求 由于本站只是给一小型网上购物使用,所以对访问量不大的情况下是完全可以的,一旦设计到点击量很大时则需要重整代码,使得安全性、可维护行、可操作性变的更完善,目前来说系统的安全性相对来说已经比较安全。2.3 运行要求本信息管理系统用ASP结合SQL SERVER2000 Dreamweaver4.0实现,这些软件技术都已经很成熟,而且技术含量很高,使用起来很方便,因此整个系统的开发中显得很简单,由于这些软件的技术含量很高,所以也给安全性带来很大的保证,目前高性能的网络组件大量涌现,它们速度快,用量大,可靠性高,价格底,完全可以满足本系统的需要。2.4 将来可能提出的要求 此系统的开发投入网上使用后,生活节奏很快的人群不用在下班后跑超市跑商场,购物的整体效率有了很大的提高,为购物者节省了许多时间,真正实现足不出户在家购物的E时代生活方式。 3 系统分析与总体设计3.1 系统的体系和结构Browser/Server的多层结构的应用正是在对C/S结构的总结基础上产生的,并且已经已经已经扩展到了B/S应用开发领域。即将应用划分为3层(可以有更多层,但3层最为常见):用户界面层,商业逻辑层,数据库层。用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(Visual Basic,VisualC+,ASP等)开发,在本系统的开发中我用VBScritpt脚本语言实现ASP界面。商业逻辑层上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索活更新数据库,并把结果返回给客户端,这一层通常以动态链接的形式存在并注册到服务器的注册表(Registry)中,他与客户端通信的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发数据库层负责实际的数据存储和检索。3.2 系统的功能描述根据系统功能的要求,网上购物系统总体分为前台管理和后台管理。前台管理包括浏览商品,查询商品,订购商品,购物车,用户信息维护等功能。后台管理包括公告管理,商品管理,订单管理,投诉管理和用户管理等模块。前台的具体描述如下:1 浏览商品l 商品详细资料l 商品编号 2查询商品l 商品类别l 商品关键字l 订单查询3订购商品4购物车5用户信息维护l 用户注册l 用户登陆l 用户资料修改后台管理具体描述如下:1 公告管理l 添加公告,包括公告标题和公告内容等;l 修改公告l 删除公告2 商品管理l 添加商品类别l 修改商品类别l 删除商品类别l 添加商品信息,包括商品类别,名称,编号,所属公司等信息;l 商品图片的上传,修改和删除;l 修改商品信息l 删除商品信息l 查看商品信息3 订单管理l 处理订单;l 办理发货;l 办理结帐;l 删除订单。4 投诉管理l 录入投诉的解决方法;l 删除已解决的投诉;l 查看投诉拥护。5 顾客拥护管理功能l 注册顾客用户,包括用户名,密码等信息;l 修改顾客用户信息;l 删除顾客用户信息。6 系统用户管理功能l 添加系统用户,包括用户名,密码等信息;l 修改系统用户信息;l 删除系统用户信息。从功能描述的内容可以看到,可以实现6个完整的功能。根据这些功能,设计出系统的功能模块。图3-1给出了前台管理和后台管理之间的关系。网上购物系统前台管理浏览公告浏览商品查询商品购买商品后台管理公告管理商品管理订单管理投诉管理系统管理用户注册 图3-1: 网上购物系统功能模块示意图在本系统中,用户管理模块的功能比较简单。在系统初始化时,有一个默认的“系统管理员”用户Admin,由我手动添加到数据库中。Admin用户可以创建其他的管理员信息;普通用户则可以修改自己注册信息和密码。用户管理功能模块的关系如图3-2所示。系统用户信息管理修改自身的密码创建,修改和删除管理员信息删除用户信息修改自身的密码创建,修改自身的信息 图3-2 用户管理功能模块关系图系统流程分析本系统分以下两个流程:前台客户购物流程如图3-3所示。提交订货单图3-3 前台客户购物流程后台订单处理流程如图3.4所示。订单处理用户订单订单发货订单结帐订单删除 图3-4 后台订单处理流程3.3 数据流图注册结果用户新用户1注册2进入系统功能选择用户用户图3-5用户登录数据流图4 开发工具与开发平台41 系统开发平台电脑配置:CPU: P4 2.6 内存:DDR 512M 硬盘:80G操作系统:Microsoft Windows XP professional 中文版开发环境:ASP数据库:SQL SERVER 200042 前台开发工具相关技术简介4.2.1 ASP数据库编程语言本在线购物系统由ASP程序完成,下面介绍一下ASP。ASP是Active Server Page的简称,是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web页和基于Web页的功能强大的应用程序。ASP应用程序很容易开发和维护,可用它来创建动态Web页或生成功能强大的Web应用程序。ASP是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的 就是动态生成的网页。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。ASP 内含于 IIS 3.0 和 4.0 之中 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。有了 ASP 你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。与一般的程序不同, .asp 程序无须编译, ASP 程序的控制部份,是使用 VBScript 、 JScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBsrcipt 和 JScript ,而 VBscript 则被作为系统默认的脚本语言。ASP页是包括HTML标记、文本和脚本命令的文件。ASP可调用ActiveX组件来执行任务,例如连接到数据库或进行商务计算。通过ASP,可为Web页添加交互内容或用HTML页构成整个Web应用程序,这些应用程序使用HTML页作为客户的界面。ASP拥有非常大的可扩充性。ASP是用附加特性扩展了的标准的HTML文件。ASP包含可被Web浏览器显示并结实的HTNL标签。通常放入HTML文件的Java小程序、闪烁文本、用户端脚本、用户端ActiveX控件都可以放入Active Server Page中。不过,ASP具有的3个重要特性使它变得很独特:一、ASP可包含服务器端脚本。将服务器端脚本包含在ASP中就可以用动态内容创建网业。二、ASP提供了几种内置对象。在Active Server Page 中使用内置对象可以是脚本功能更强,在其他方面,这些对象可使你从浏览器中检索发送信息。例如,可以用Request对象取得用户发送到HTML 表单上的信息,并在一个脚本中响应这些信息。三、用附加组件,可以扩展Active Server Page。Active Server Page可以同几个标准的服务器ActiveX组件捆绑在一起,这些组件的使用可以方便地处理数据库,发送Email或访问文件系统。 在Internet风行的早期,Web网业知识静态的图文组合,浏览者课业在网业上阅读信息,但无法做进一步的查询、发表意见或进行电子商务、再线交谈、问卷调查、预约顶票、访客留言簿、讨论区、电子贺卡、E-mail自动回复、数据库管理等工作,所以很多人提出了动态网业的方案,所谓“动态网业”指的是浏览器端和服务器段可以互动,也就是服务器端可以实时处理浏览器的请求(rquest),然后将处理结果响应给浏览器,而ASP(Active Server Page)便是微软用来建立动态网业的解决方案。ASP程序只能在Web服务器端执行,当浏览器向服务器要求运行ASP程序时,服务器会读取该程序,然后执行该程序并将结果转换为HTML文件,再将HTML文件传送给浏览器,待浏览器收到HTML文件之后,便会执行结果显示在浏览器上。为了证明浏览器所收到的是HTML文件,而非ASP程序,凡是用符号括起来的语句均为ASP程序,且程序的扩展名为.asp。ASP程序功能必须在Web服务器环境下才能运行,所以运行ASP程序是需将计算机虚拟为Web服务器。1、 在windows98/95里使用PWS4.0将计算机虚拟为Web服务器2、 在windows2000/XP里使用IIS5.0将计算机虚拟为Web服务器4.2.2 ASP的发展前景目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网( sina )、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。 首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有二个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电务商务中。 ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windows的COM/DC0M获得 ActiveX规模支持,通过DC0M和Transcation Server获得结构支持:JSP可以通过SUN Java 的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。4.2.3 ASP的开发工具ASP文件是简单的文本文件,它可以是任何一个文本编辑器(如记事本或word)上进行开发,那么该如何选择ASP的开发工具呢?对于一个程序员来说,选择一个理想的开发工具是项目得以顺利完成的前提,选择得当,就会提高开发速度,达到事半功倍的效果。Visual InterDev是目前创建ASP的最佳开发工具,用户可以在Visual InterDev开发环境中创建、编辑和管理ASP, Visual InterDev把一套数据库连接工具、向导和时间设计控制连接在一起,以增强功能并减少开发时间。4.2.4 ASP的运行环境ASP是一种运行于服务器端的脚本环境,也就是说所开发的ASP应用程序,一定要在服务器上才能运行。那么,如何才能让所拥有的机器变成一台能够运行ASP程序的服务器呢,如果使用的是Windows NT Sever操作系统,只要把IIS3.0安装在NT服务器上即可,或者使用的操作系统是NT Workstation、Windows95、98中的一种,只要把PWS安装到机器上也可以。因为安装了IIS或PWS之后,所使用的机器就是一个ASP的运行平台了。运行 ASP 所需的环境: Microsoft Internet Information Server version 3.0/4.0 on Windows NT ServerMicrosoft Peer Web Services Version 3.0 on Windows NT Workstation Microsoft Personal Web Server on Windows 95/984.3后台开发工具4.3.1 数据库在毕业设计中,我们选用了Windows XP的开发平台,选用了SQL Sever 2000来开发后台数据库,VB开发的数据库中一般都使用Access数据库作为后台数据库。在小型桌面数据库中,Access数据库以其友好的人机界面、简单易用的操作界面获得了广泛的应用,但随着远程数据量的增大、信息安全性及存取速度的要求提高,SQL Server2000 显示出明显的优势,成为目前使用人数最多的远程数据库,在稳定性、速度、安全性等方面明显优越于Access数据库。所以本系统我选用SQL Server2000作为数据库开发工具。SQL Server是一种功能强大的基于SQL的客户/服务器数据库。基于SQL表示它采用了ANSI(美国国家标准协会)的结构化查询语言(SQL)。客户/服务器表示它设计成在中央位置(服务器)上存放数据,并实时将数据发给其它位置(客户机)。SQL Server实际上是许多不同组件的集合,包括SQL Server本身、SQL Server Agent(SQL服务器代理)、SQL Mail(SQL邮件系统)和Distributed Transaction Coordinator(分布式事务协调器,DTC)。此外,缺省SQL Server安装还建立几个数据库,称为系统数据库。SQL Server 这个服务是核心数据库引擎,是唯一实际修改数据的SQL Server部件,它确定首先为哪个数据请求提供服务,并在多个用户争用时分配资源。 SQL Server还能监视客户所采取的动作,保护重要数据。其中包括: 执行存储过程和触发器中定义的业务规则 防止两个用户同时更新同一数据 保证不同地址存放的数据间具有逻辑的一致性SQL Server AgentSQL Server Agent(SQL服务器代理)提供SQL Server的调度服务,可以执行作业,作业包括在指定时间要完成的多个步骤,还可以在发生错误时向操作员发出警告。SQL Mail 这个部件用扩展存储过程与支持MAPI的电子邮件系统通信,可以从特定服务器专用的帐号读取、删除和发送电子邮件。Distributed Transaction Coordinator(分布式事务协调器)随着网络的迅速发展,分布式大型数据库越来越普及,越来越多的系统把数据库部件安装在多个服务器上,这种分布式事务通过Distributed Transaction Coordinator(通常称为MS DTC)来处理。MS DTC通过两个阶段实现系统处理分布式事务,第一个阶段,它请求所有有关服务器为执行事务中与自身相关的部分做准备。如果每个服务器都能这样,则第二个阶段就是让所有有关服务器各自完成自己的工作。如果某个服务器无法完成这个事务,则让所有服务器忽略这个事务,这个事务将被退回。系统数据库安装SQL Server软件时,它会自动建立四个系统数据库,分别是Master、Model、Tempdb和Msdb。Master数据库这个数据库记录SQL Server的最基本操作中使用的信息,包含用户帐号和系统配置信息及其它信息,告诉SQL Server到哪里找其它用户生成的数据库。Model数据库 这是唯一有可能经常要修改的系统数据库,建立新数据库时,SQL Server首先复制Model数据库,如果服务器上的所有数据库都要有某些对象,则可以将其加进Model数据库中,这样它就能和新数据库一起自动建立。Tempdb数据库这里存放所有临时工作表格和临时存储过程,它在每次激活SQL Server会自动重建。Msdb数据库 SQL Server Agent用Msdb数据库存储处理作业和警告所需的信息。用户不能直接修改Msdb数据库,而要通过用户接口生成,修改和删除SQL Server Agent对象。SQL Server2000的新内容 与以前的版本相比,SQL Server2000强调数据库的可扩展性和可靠性,同时支持更新的Windows版本,更易于使用,支持行锁定、OLAP支持、多个服务器的单控制台管理,并且能管理超过一百万TB的巨大数据量。其主要的新内容有:1 查询功能的新内容: 数据库最简单的用途是存放数据和根据需要取出数据,即要有快捷而健全的数据库查询引擎。SQL Server查询的改进包括OLE DB支持、异构分布式查询支持、执行并行查询、改进的索引使用和更好的查询分析用户接口。2 数据存储中的新内容: 多个触发器支持、更大的表格、Unicode支持和行锁定。3 复制的新内容: SQL Server的一个重要功能是复制,能够使数据库的两个或几个备份实现同步,使一个备份中的改变能反映在其它备份中。支持合并复制、Internet复制、新向导和更好的异构复制支持。管理中的新内容: 易于管理,表现在动态自主管理、设备的消除、通过Microsoft管理控制台进行多站点管理、更多的作业选项等SQL Server2000构架Microsoft SQL Server2000是由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。Microsoft SQL Server2000主要由以下几个组件组成:关系数据库组件、数据库构架、管理构架、复制构架、数据仓库和联机分析处理分析和应用程序开发构架。下图介绍了Microsoft SQL Server2000主要组件之间的关系:关系数据库引擎企业版Analysis ServicesEnglish Query数据转化服务 多维数据集 OLTP数据库关系数据库引擎企业版远程OLE DB数据源复制 OLAP数据用于Windows CE的SQL Server关系数据库引擎个人版或桌面引擎移动式断连用户或桌面数据库 本地数据库 本地数据库 图4-1:SQL Server主要组件关系图使用SQL Server2000的最新增强功能开发数据库解决方案。建立在SQL Server7.0可扩展基础上的SQL Server 2000 代表着下一代Microsoft.NET Enterprise Server(企业服务器)数据库的发展趋势。SQL Server 2000是为创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系型数据库管理与分析系统。4.3.2数据库的结构设计与实现4.3.2.1 数据库概念结构设计(ER图)数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时应该首先充分了解用户各方面的需求,包括现有的以及将来可能增加的需求。用户信息实体N ameUserNameSexE-mailPasswordMobilephoeTelphoeAddress 图4-2 用户信息E-R图商品信息实体类别编号名称价格 图4-3 商品信息E-R图订购单实体信息商品编号名称价格订单号购买数量 图4-4 订购单实体E-R图4.3.2.2 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。为后面的具体设计打下基础。设计如下面所示的数据项和数据结构:1)公告信息:公告编号,公告题目,公告内容,提交时间,提交人。2)商品类别:分类编号,分类名称。3)商品信息:商品编号,商品类别,商品名称,商品序列号,生产厂家,包装类型,销售价格,进货价格,商品简介,阅读次数,销售数量,图片文件。4)购物车:商品编号,用户名,订购时间,订购数量,销售价格,用户确认,订单号,提交时间,管理员确认。5)客户投诉:投诉编号,投诉时间,用户名,订单号,投诉内容,处理结果,处理标志。6)用户信息:用户名,用户密码,用户姓名,性别,地址,电子邮件地址,固定电话,移动电话。7)管理员信息:用户名,密码。4.3.2.3 数据库的实现现有需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。在设计数据库表格结构之前,首先要创建一个数据库,在这个系统里我定义为Shop,创建数据库的脚本如下:- 创建数据库 CREATE DATABASE ShopGO本系统定义的数据库中包括以下7张表:公告信息表Board,商品类别表GoodsType,商品信息表Goods,购物车表Basket,客户投诉表Complain,用户表Users和管理员表Admin。l 公告信息表Board公告信息表Board用来保存网站公告信息,结构如表1所示。表4-1: 公告信息表编号字段名称数据结构说明1IdInt公告编号2TitleVarchar(50)公告题目3ContentVarchar(100)公告内容4PostTimeDatetime提交时间5PosterVarchar(20)提交人l 商品类别表GoodsType商品类别表GoodsType用来保存商品类别的信息,结构如表2所示。表4-2: 商品类别表编号字段名称数据结构说明1Idint分类编号2TypeVarchar50分类名称l 商品信息表Goods商品信息表Goods用来保存商品的基本信息,结构如表3所示。表4-3: 商品信息表编号字段名称数据结构说明1.Idint商品编号2.Typeint商品类别3.NameVarchar(50)商品名称4.SN_NumbeiVarchar(50)商品序列号5.ProducerVarchar(50)生产厂家6.PackageVarchar(50)包装类型7.SalePriceFloat销售价格8.StorePriceFloat进货价格9.ContentVarchar(100)商品简介10.ReadCountInt阅读次数11.BuyCountInt销售数量12.ImageFileVarchar(50)图片文件l 购物车表Basket购物车表Basket用来保存用户订购的商品信息,结构如表4所示。表4-4: 购物车表编号字段名称数据结构说明1Idint编号2UserIdVarchar(20)用户名3GoodsIdInt商品编号4OrderTimeDatetime订购时间5OrderCountInt订购数量6SalePriceFloat销售价格7UserCheckedChar用户确认8OrderNumberVarchar(50)订单号9PostTimedatetime提交时间10AdminCheckedchar管理员确认l 客户投诉表Complain客户投诉表Complain用来保存客户对订单的投诉信息,结构如表5所示。表4-5: 客户投诉表编号字段名称数据结构说明1Idint投诉编号2PostTimedatetime投诉时间3UserIdVarchar(20)用户名4OrderNumberVarchar(50)订单号5ContentVarchar(1000)投诉内容6ResultVarchar(1000)处理结果7FlagBit处理标志l 用户表Users用户表Users用来保存注册用户的基本信息,结构如表6所示。表4-6: 用户表编号字段名称数据结构说明1UserIdVarchar(20)用户名2PwdVarchar(20)用户密码3UserNameVarchar(50)用户姓名4SexBit性别5AddressVarchar(1000)地址6EmailVarchar(50)电子邮件地址7TelephoneVarchar(100)固定电话8MobileVarchar(50)移动电话l 管理员表Admin管理员表Admin用来保存系统管理员的基本信息,结构如表7所示。表4-7: 管理员表编号字段名称数据结构说明1AdminIdVarchar(20)用户名2PassWdVarchar(20) 密码3NameVarchar(50)用户姓名经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在SQL Server 2000 数据库系统中实现该逻辑结构。这是利用SQL Server 2000 数据库系统中的SQL查询分析器实现的。可以用下面给出的SQL语句来创建这些表。1创建表Board创建表Board的代码如下:USE ShopGOCREATE TABLE Board ( Id int IDENTITY (1, 1), Title varchar (50), Content varchar (1000), PostTime datetime, Poster varchar (20)GO2创建表GoodsType创建表GoodsType的代码如下:USE ShopGOCREATE TABLE GoodsType ( Id int IDENTITY (1, 1), Type varchar (50)GO3创建表Goods创建表Goods的代码如下:USE ShopGOCREATE TABLE Goods ( Id Int IDENTITY (1, 1), Typeid Int, Name Varchar (50), Sn_Number Varchar (50), Producer Varchar (50), Package Varchar (50), SalePrice Float DEFAULT 0, StorePrice Float DEFAULT 0, Content Varchar (1000), PostTime Datetime, ReadCount Int DEFAULT 0, BuyCount Int DEFAULT 0, ImageFile Varchar (50)GO4创建表Basket创建表Basket的代码如下:USE ShopGOCREATE TABLE Basket ( Id Int IDENTITY (1, 1), UserId Varchar (20), GoodsId Int, OrderTime Datetime, OrderCount Int DEFAULT 0, SalePrice Float DEFAULT 0, UserChecked Char (10) DEFAULT 0, OrderNumber Varchar (50), PostTime Datetime, AdminChecked Char (10) DEFAULT 0)GO5创建表Complain创建表Complain的代码如下:USE ShopGOCREATE TABLE Complain ( Id Int IDENTITY (1, 1), Posttime Datetime, UserId Varchar (20), OrderNumber Varchar (50), Content Varchar (1000), Result Varchar (1000), Flag Bit DEFAULT 0)GO6创建表Users创建表Users的代码如下:USE ShopGOCREATE TABLE Users ( UserId Varchar (20) PRIMARY KEY, Pwd Varchar (20), UserName Varchar (50), Sex Bit, Address Varchar (1000), Email Varchar (50), Telephone Varchar (100), Mobile Varchar (50)GO7创建表Admin创建表Admin的代码如下:USE ShopGOCREATE TABLE Admin ( AdminId Varchar (20) PRIMARY KEY, PassWd Varchar (20), Name Varchar (50)GOINSERT INTO Admin VALUES(Admin,111111,Admin)GO5 界面设计5.1 通用模块介绍在其他文件中使用#include语句包含这些模块,使用其中定义的功能。1)ConnDB.aspConnDB.asp的功能是实现数据库的连接,因为在很多网页中都有连接数据库的操作,所以把他保存在文件ConnDB.asp中,这样可以避免重复编程。ConnDB.asp代码如下:在文件中应用此文件作为头文件就可以访问数据库,代码如下:2)IsAdmin.asp因为只有Admin用户才有权限使用,所以在进入网页前需要判断用户是否是Admin。IsAdmin.asp的功能是判断当前用户是否是管理用户(既保存在表admin中的用户),如果不是,则跳转到Login.asp,要求用户登录:如果是,则不执行任何操作,直接进入包含它的网页。IsAdmin.asp的代码如下:% 从Session变量中读取用户信息 AdminId = Trim(Session(admin_id) Passwd = Trim(Session(admin_pwd) 用户名是否为空 If AdminId Then sql = Select * From Admin Where AdminId= & AdminId & And Passwd= & Passwd & 是否存在此用户名 Set rs = Conn.Execute(sql) If rs.EOF Then Response.Redirect Login.asp End If Else Response.Redirect Login.asp End If%3)IsUser.asp注册用户在确认订单、查看购物车、提交投诉等情况下,需要通过身份验证。IsUser.asp可以实现此功能,代码如下:% 从Session变量中读取注册用户信息,并连接到数据库验证 UserId = Trim(Session(user_id) Pwd = Trim(Session(user_pwd) 如果用户名为空,则显示提示信息 If UserId = Then Response.Write(不是注册用户,不能进入) Response.End Else 连接数据库,进行身份验证 sql=SELECT * FROM Users WHERE UserId= & UserId & AND Pwd= & Pw
展开阅读全文