网上花店网页设计
摘要
随着因特网技术的迅速发展,各种各样的网站已经深入到日常生活的各个角落,越来越多的公司都建立了自己的网站,电子商务大行其道,个人网站也如雨后春笋般的发展起来。因特网的发展状况可以用日新月异来形容,通过电子商务来完善对商品的采购就给人们的生活带来了很多方便。它节省了物流消耗和一般商务对时间和地点的依赖。在这种形式之下,购买鲜花的人越来越多,也越来越广,全国各地都有购买者。这么大的一个市场,只是利用实物店铺是远远不够的,虽只能满足本地消费者的需求,但却不能面向远处的消费者需求。为了迎合市场的需求,为了开拓市场提高自身在同行中的竞争能力,开发一个网上鲜花销售系统也是很有必要的。
本网上花店系统,主要实现的功能是:实现用户在线注册功能、登录功能、查询功能、购物车功能、定单等。在后台能实现管理员的登录、管理员对商品的分类发布、商品的管理、用户信息的管理、订单管理、管理员管理等。真正实现从商品的发布到商品的购买一系列的网上销售鲜花的功能。
本系统基于Internet的互联网网络,以B/S形式实现的。本系统是采用ASP技术,以ACCESS作为数据库,使用Dream wear MX 作开发平台,利用网络来实现网上销售鲜花的功能性网站。具有最大的优点是,界面优美,可视性强,设计成本投入性小,利润见效快,系统安全性好,系统维护与管理方便快捷,目标明确,可操作性强等特点。
网上鲜花销售管理系统主要以实现在线销售鲜花为主。全部的设计这以此为核心来展开。从商品发布,到商品的销售;从用户的注册,到商品的购买等等都是围绕销售而展开的,以达到网上鲜花销售的方便与快捷。
关键词:网上鲜花销售,订单,在线注册,购物车
中北大学2009届毕业设计说明书
Web design of flowers shop online
Abstract
The modern age is the knowledge time, also is the competitive time, the survival of the fittest. In order to strengthen own knowledge and the technical level, we on unceasing buy the flower \"the charge”, enriches oneself state-of-art. Under this kind of form, more and more people purchase flowers, also is more and more broad, each place all has the buyer. As a big market, only is the use in kind shop is by far insufficient, although only can meet the local reader’s need, but actually cannot face the distant place the reader demand. In order to cater to the market the demand, in order to develop the market to enhance oneself in colleague's competitive ability, develops an on-line flowers sales system also has the necessity very much.
This on-line flowerstore system, the main realization function is: Realization user on-line registration function; Registers the function; Inquiry function; Shopping vehicle function; Order form and so on. Can realize manager's registering in the backstage; Manager to commodity classified issue; Commodity management; User information management; Order form management; Manager management and so on. True realization from commodity issue to commodity purchase a series of on-line sales flowers function.
This system based on Internet network, by B/S form realization. This system uses the ASP technology, to ACCESS takes the database, uses Dream wear MX to do develop the platform, and realizes the on-line sales flowers function website using the network. Has the biggest merit is, contact surface exquisite, invisibility strong, design cost investment small, profit effective quick, system security good, system maintenance and management convenience quick, the goal is clear about, but operational is strong and so
中北大学2009届毕业设计说明书
on the characteristic.
The on-line flowers sale management system management system mainly realizes the on-line sales flowers primarily. Complete design this launches take this as the core. Issued from the commodity, to commodity sale; From user's registration, and so on all is revolves to the commodity purchase, achieves the on-line flowers sale which the sale launches the convenience and quickly.
Keywords:On-line flowers sale, Order form, On-line registration, Shopping cart
中北大学2009届毕业设计说明书
目 录
1 绪论 ........................................................ 1 1.1 网上花店系统的设计背景 .................................... 2 1.2 网上花店系统开发工具简介 .................................. 2 1.2.1 ASP程序设计语言特点介绍 ................................ 3 1.2.2 Access数据库及其特点简介 ............................... 3 1.2.3 Dreamweaver开发工具及其特点介绍 ........................ 4 2 需求分析与总体设计 .......................................... 6 2.1 需求分析的基本任务 ........................................ 6 2.2 网上花店系统需求分析 ...................................... 6 2.2.1 系统业务流程分析 ........................................ 6 2.2.2 数据流程分析 ............................................. 8 2.2.3 数据字典 ................................................ 9 2.3 系统总体设计 .............................................. 12 2.4 网上花店系统的总体结构设计 ................................ 13 2.5 系统开发工具 .............................................. 15 3 系统网络数据库的建立 ....................................... 16 3.1 系统数据源的设置 ......................................... 16 3.2 表、关系模型和数据库的概述 ............................... 17 3.3 范式与建立表格的规范化 ................................... 18 3.4 系统数据库的详细建立 ..................................... 19 3.4.1 用户信息数据表(RegUser) .............................. 19 3.4.2 管理员信息表(Manage_User) ........................... 19 3.4.3 商品大类表(Class_1) .................................. 20 3.4.4 商品小类表(Class_2) .................................. 20 3.4.5 商品表(Product) ...................................... 20 3.4.6 购物车表(Shop List) .................................. 21 3.4.7 订单表(Order List) ................................... 21 4 主要功能详细设计 ........................................... 22
第 I 页 共II页
中北大学2009届毕业设计说明书
4.1 客户端主要功能的实现 ..................................... 22 4.1.1 主页面设计 ............................................. 22 4.1.2 购物车功能的实现 ........................................ 22 4.1.3 会员注册功能的实现 ...................................... 26 4.1.4 商品查询功能的实现 ..................................... 29 4.1.5 订单查询功能的实现 ..................................... 30 4.2 后台管理主要功能实现 ..................................... 31 4.2.1 商品添加功能的实现 ..................................... 32 4.2.2 商品审查功能的实现 ..................................... 39 4.2.3 订单审查功能的实现 ..................................... 42 4.2.4 会员审查功能的实现 ..................................... 44 4.2.5 管理员添加功能的实现 ................................... 45 4.2.6 管理员审查功能的实现 ................................... 46 5 系统的配置安装与测试 ....................................... 48 5.1 后台服务器和数据库配置 ................................... 48 5.1.1 后台服务器配置 ......................................... 48 5.1.2 创建ASP应用程序 ....................................... 48 5.1.3 后台数据库的配置 ....................................... 49 5.2 系统的测试 ............................................... 50 5.2.1 软件测试的目标 ......................................... 51 5.2.2 系统的具体测试 ......................................... 51 结论 .......................................................... 52 参考文献 ...................................................... 53 致谢 .......................................................... 54
第 II 页 共II页
中北大学2009届毕业设计说明书
1 绪论
在Web的空间里,几十万乃至几百万的站点相互进行着激烈的竞争,都想获取用户的主意。因此,简单的、静态的页面对用户是不会有太大的吸引力。动态的、有条理的数据加上交互性强的界面,才是用户乐意访问的。当然数据的自动更新也是非常重要的。在短短的时间里,Web面孔已发生很大的变化。现在能在Web页面内创建应用程序、访问数据库,使其无论在感觉、动作以及用途上都与Windows应用程序非常类似。现在商家们所需要的不仅只是一个单纯的宣传媒体,而是一个交互性很强的应用平台。利用它,商家们可以与潜在的客户、目前的客户、员工以及我们之间的任何一个人沟通,并实施一些在线的服务的商业活动(例如:网上购物、网上订单)。
随着因特网技术的迅速发展,各种各样的网站已经深入到日常生活的各个角落,越来越多的公司都建立了自己的网站,电子商务大行其道,个人网站也如雨后春笋般的发展起来。因特网的发展状况可以用日新月异来形容,通过电子商务来完善对商品的采购就给人们的生活带来了很多方便。它节省了物流消耗和一般商务对时间和地点的依赖。如今主流的网络编程技术很多,在比较下简单易学,比较常用的就是asp技术,而其关键就是网络数据库技术的配合,服务器技术的进步,都对整个电子商贸的发展奠定了基础。其实说的简单一点,电子商务就是以web网络技术与数据库技术为支撑的,其中web数据库技术是电子商务的核心技术,用户通过web访问数据库,可以实现网络环境下的大量信息共享,联系各个异构数据库,使得数据库之间能够通过主动式的超文本链接,实现相互连接,使得交叉使用的时局可以被很容易的检索到。同时,随着电子商务的普及,带动了网络经济的发展,在internet上发布业务和商品数据,已经成了大势所趋,可以这么说,web开发和数据库的结合才能真正发挥internet的优势。而电子商务是很切近生活,它有了自身的针对性,服务对象是特定的。
作为一种商务活动过程,电子商务将带来一场史无前例的革命。其对社会经济的影响会远远超过商务的本身,除了上述影响外,他还将对就业、法律制度以及文化教育等产业产生巨大的影响。电子商务将把人类带入信息社会。
第1页 共54页
中北大学2009届毕业设计说明书
1.1 网上花店系统的设计背景
在Web的空间里,几十万乃至几百万的站点相互进行着激烈的竞争,都想获取用户的主意。因此,简单的、静态的页面对用户是不会有太大的吸引力。动态的、有条理的数据加上交互性强的界面,才是用户乐意访问的。当然数据的自动更新也是非常重要的。在短短的时间里,Web面孔已发生很大的变化。现在能在Web页面内创建应用程序、访问数据库,使其无论在感觉、动作以及用途上都与Windows应用程序非常类似。现在商家们所需要的不仅只是一个单纯的宣传媒体,而是一个交互性很强的应用平台。利用它,商家们可以与潜在的客户、目前的客户、员工以及我们之间的任何一个人沟通,并实施一些在线的服务的商业活动(例如:网上购物、网上订单)。
为了占领Internet这块诱人的市场,各个公司和厂家都拿出自己的解决方案。IBM推出了Visual Age for Java和Net. Data.前者是一个集成开发环境,用于调试Java小程序、JavaBeans或应用程序;而后者是专门为非编程人员设计,它可以按用户的要求生成动态Web页面,他们都可以用开发工具PowerBuilder6.0的版本中加入Web特性,使用户可以在浏览其中直接访问“Data Window”等其著名的控件,并且可以使用它开发Web应用。所有的商家都想在这里占领一席之地。 1.2 网上花店系统开发工具简介
网上花店系统中,管理员功能系统是整个网上花店系统的管理中心,其主要作用就是,管理鲜花买入和卖出,管理会员基本信息,推荐鲜花等,完成整个系统后台的操作。
会员功能系统是整个网上花店系统的使用中心,其主要作用就是,鲜花分类浏览、推荐鲜花展台、鲜花消息信息展台、销售排行榜、鲜花查询、订单查询、鲜花购物车等,在很大程度上方便了用户使用和购买。开发人员在经过实际的市场调研和分析后,结合当今网上流行的销售系统,特此开发此网上花店系统。
开发工具的选择对于一个系统来说也是很重要的一个部分。本系统前台采用了Dream weave、FrontPage和Photoshop,利用Dream weave和FrontPage各自的便利性开发前台网页,利用Photoshop处理图片增加整个网站的美观性。系统后台采用了Access,通过Access来建立数据库,并且为了加快数据查询,在Access中建立了系统所需要的查询这样在很大程度上提高了网络系统的快速查询和列表。
第2页 共54页
中北大学2009届毕业设计说明书
1.2.1 ASP程序设计语言特点介绍
ASP(Active Server Page)实际上是标准的HTML文件拓展了一些附加特征,ASP标准的HTML文件一样包含HTML对象并且在一个浏览器上解释并显示。ASP本身就是来源于相当数量的标准服务器端的ActiveX元素,这些组建用于完成诸如根据浏览器能力进行不同显示以及在浏览器内包含计数器或其他统计项的工作。ASP可以和诸如SQL Sever、Microsoft Access这样的数据进行挂接。利用一些特别的对象集合,Active Data Object(ADO),就可以在ASP中使用SQL语言。
VBScript是ASP的主要脚本语言,也是本系统所采用的主要脚本语言。独有的特色如下:
使用VBScript,JavaScript等简单易学的脚本语言结合HTML代码,即可快速的完成网站的应用程序。无须编译,容易编写,可在服务器端直接执行。
ASP能与任何ActiveX语言相容,除了可使用VBScript,JavaScript等语言设计外,通过plug-in的方式,还可以使用第三方所提供的其他脚本语言。
ASP的源程序不会被传到客户浏览器,从而避免了缩写的源程序被他人剽窃,提高了程序的安全性。
具有无限可扩充性,可以使用Visual Basic, Java, Visual C++和COBOL等编程语言来编写所需要的服务器控件。
微软公司开发的ASP的过人之处是,它的运行速度比CGI快,而且它为使用HTML,脚本和ActiveX服务器组件构件Web应用程序提供了一个框架。可以通过将脚本嵌入HTML页来创建ASP文档。当用户请求得到一个ASP时,服务器便执行嵌入在页内的脚本,而且将脚本的输出作为HTML的组成部分也包括在内,从而任何浏览器都可以浏览这个页。ASP能够实现 CGI的所有功能,并且ASP比CGI有更快的执行速度。ASP能通过DLL组件,将它的功能无限扩展,这是目前任何一种其他网络语言所无法拥有的。
1.2.2 Access数据库及其特点简介
在Access数据库中,任何有一个有名称的事物都可以成为一个对象。通常,一个Access数据库包括表、查询、窗体、报表、宏、模块和几种对象以供用户收集、储存和操作不同的信息。每一个对象都不是对立的,而只是作为Access数据库的一部分存在,数据库则是这些对象的集合。下面对数据库操作的一些概念进行
第3页 共54页
中北大学2009届毕业设计说明书
介绍。
(1)表,表是数据库中储存数据的最基本的对象,常称为“基表”,是构成数据库的一个重要组成部分。Access中的表示二维表,每个表都有键(关键字可以为一个字段或多个字段)。以使表中的纪录唯一(记录不能重复,它与实体一一对应)。在Access 2002中,一个标有设计视图和数据表视图两种视图方式。
(2)查询,查询是Access数据库的主要组件之一,而查询功能也是Access数据库软件中最强的一项功能。Access用户可利用查询工具,通过指定特殊字段、定义字段的顺序、建立计算表达式并输入条件以及定义每个字段的筛选条件等来选择想要得查询的纪录,对存储在Access表中的有关信息进行提问。还可以使用查询作为窗体、报表和记录源。
(3)窗体,窗体是Access中用户和应用程序之间的主要界面,用户对数据库的如何操作都可以通过窗体来完成。通过创建数据输入窗体可以向表中输入数据:创建切换面板,用来打开其他窗体或报表;创建自定义对话框,控制数据的输出、现实或执行某项操作,窗体中大部分信息来自基表或查询。
(4)报表,报表是以打印的表格表现用户数据的一种有效的方式。在Access中,有关报表的打印工作都是通过报表对象实现的,他负责报表的设计,实现报表的打印。用户可以在报表设计视图窗口中控制每个对象的大小和现实方式,对报表对象的各项内容进行设计和修改,按照用户所需的方式完成打印工作。 1.2.3 Dreamweaver开发工具及其特点介绍
Dreamweaver是建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。 从对基于 CSS 的设计提供领先的支持到手动编码功能,Dreamweaver 在一个集成和高效的环境中为专业人员提供了所需的工具。开发人员可以将其选择的服务器技术与 Dreamweaver 配合使用,建立将用户连接到数据库、Web 服务和旧式系统的强大 Internet 应用程序。Dreamweaver允许开发人员设计Web站点和为Internet应用程序编写代码。Dreamweaver MX组合了著名的可视排版工具Dreamweaver、快速Web应用程序开发工具Dreamweaver UltraDev的功能和Home Site的扩展代码编辑支持,形成了一个简单易用且功能强大的开发环境。
第4页 共54页
中北大学2009届毕业设计说明书
Dreamweaver MX为当前的Web技术和标准提供完备而开放的解决方案,包括辅助功能和Web服务。其主要特点是:
(1)方便的网站管理;
Dreamweaver MX结合了其知名的可视化布局工具、Dreamweaver UltraDev的
快速web应用程序开发功能以及Macromedia HomeSite的广泛代码编辑支持,因此它既是创建专业网站的最佳途径,也是构建强大Internet应用程序的最简便的方法。
(2)无可比拟的控制能力;
实现对代码和设计的全面控制。利用Dreamweave的可视化布局工具以及
HomeSite的代码编辑工具,您可以自己希望的方式建立所需的站点。
(3)梦幻样版和XML;
使用macromedia的可视化开发环境(如右图所示),你只需通过简单的拖拉技术(Drag&Drop),将\"Objects\"窗口中的对象拖到\"Documentwindow\"中即可,例如:Web开发人员想在网页中加入一个Table,只需将\"Table\"从\"object\"窗体中拖放到舞台中,Dreamweaver将自动生成一个表格,然后通过\"Properties\"(属性)窗体来进行格式的修改和调整。
基于XML的设计注解能连接到任何一个Html页面,使对重要文档信息的传递变得更加简便。
(4)网站全方位的呈现;
您开发团队的每一个成员 — 设计人员、开发人员和编程人员—第一次能在一个集成的环境中创建和管理网站及Internet应用程序。
(5)便捷安全的数。
与\"Word\"相似,具有强大的文本编辑能力,你可以在\"Layer\"、\"Table\"、\"Frame\"或直接在\"Document window\"窗体中输入文字,通过快捷的右键,选择例如\"Font\"(字体)类的选项进行编辑,也可以利用\"Text\"菜单进行更为细致的排版编辑。文件锁定这是一种专为合作开发环境设置的档案机制。可以通过标记和取出机制设置只读或可编写属性来进行文档的保护。通过这种方法可以防止不必要的数据丢失,增强了安全性。
第5页 共54页
中北大学2009届毕业设计说明书
2 需求分析与总体设计
2.1 需求分析的基本任务
需求分析的基本任务是准确回答“系统必须做什么?”这个问题,也就是确定为了满足用户的需要系统必须做什么。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。需求分析阶段必须仔细分析系统的业务流程,对业务流程进行抽象,得到系统的数据流分析。数据流图是从数据流动和加工的角度描述了系统要处理的数据和对数据的处理,所以数据流图代表了系统的逻辑模型。数据流图只是抽象地描述了系统的概貌,还要用其它工具进行更详细的描述。数据字典、IPO图和ER图是详细描述系统中的数据元素、数据流、数据存储、处理和数据概念模型的好工具。通过业务流程图、数据流图、数据字典、IPO图、ER图等图形工具,可以准确、规范地描述系统的需求。 2.2 网上花店系统需求分析
在网上花店系统中主要涉及到花库、会员、管理员、订单等几个模块,其中,花库模块的任务主要是列出所有库存的各种属性,按照销售量和投票情况排序,按照花名模糊查询,以及用户选定鲜花后给出详细属性。
当然我们不能凭空想象一个系统,而是通过考察现有的系统,再提出方案来。现有的系统是信息的重要来源。显然如果目前有一个系统正在被人使用,那么这个系统必定能完成某些有用的工作,因此新的目标系统也必能完成它的基本功能;另一方面,如果现有系统是完美无缺的,用户自然不会提出开发新系统的要求。但现在鲜花销售主要是通过人手工来完成的,这样不仅降低了工作效率,存在大量的重复劳动,而且容易出现人为的错误,这样的管理明显不能与高效率、快节奏的生产模式相适应,所以开发此系统是非常可行的想法。
网上花店系统主要是进行鲜花销售的计算机软件,从目前的鲜花销售流程中,我们可以发现一些比较明显的流程作业和管理需求。同时也为我们的系统分析提供了较好的依据。鲜花的查找和快捷的付费是网上花店系统的主要部分,这两个管理部分的完成是整个系统业务完成的基础。其他的各项服务都是在此基础上完成的。 2.2.1 系统业务流程分析
业务流程图是一种比较规范、被广泛使用分析工具,它可以比较直观、准确描
第6页 共54页
中北大学2009届毕业设计说明书
述系统业务流程。业务流程图不是对系统原有业务流程的快照,应该是对原有系统的业务流程进行重新思考、设计、再造的结果。根据上面需求分析中得到的资料和工作流程的分析,可以绘制出表示系统管理工作的整个业务过程的业务流程图,能更清晰的认识所要开发的系统的工作流程。下面给出本系统的相关业务流程图。
(1) 鲜花销售流程
鲜花销售流程如图2.1所示:
图2.1 鲜花销售流程图
鲜花销售流程是根据实际生活中,用户通过网络购花的过程所进行的一个描述。当用户打开网页后,必须通过主页面提供的会员登录链接,进入会员登录页面;然后用户通过登录系统,以系统会员的身份才能购买鲜花,如果用户未登录系统,只能浏览鲜花和查询鲜花,而不能购买鲜花。当用户选定自己喜欢的鲜花后,可以通过系统提供的功能把鲜花放入购物车,接着去购买鲜花,当用户购买完所有的鲜花后,通过系统提供的链接到收银台结账,这时系统将会自动判断用户在系统中所存的金额,如果金额不足,则系统页面自动返回到用户面板并提示用户系统金额不足,不能购买鲜花等信息,如果金额充足则用户购买成功——整个购买流程结束。
(2)用户注册流程
用户注册流程如图2.2所示:
第7页 共54页
中北大学2009届毕业设计说明书
图2.2 用户注册流程图
用户为了购买鲜花,必须成为系统会员。整个注册流程如图2-2所示,用户可以通过主页面提供的链接,进入到会员注册页,当用户填入自己的信息并提交后,系统将对用户所注册用户名进行检查,如果发现重复,系统页面将自动清除相应信息并提示用户名被注册过了;为了防止用户输入密码时可能出现的错误,系统将检查用户两次输入的密码信息,如果发现信息不符,也将提示用户错误并让用户重新注册;为了购买活动的合法和安全,系统会提示用户输入家庭住址、固定电话和真实姓名等关键信息,如果用户不填写,系统会提醒用户错误,并再次清除信息,当所有信息完整的填写完毕后,经过系统检查正确,这时系统会把用户的信息添加到数据库中。 2.2.2 数据流程分析
业务流程分析描述的是用户业务处理过程。为了更进一步了解用户对待开发的软件系统的功能要求,通常从数据流动和处理的角度对业务流程进行抽象,得到系统的数据流图。数据流图是结构化系统分析的主要工具,它能图形化的显示出系统中数据的使用,表达数据在系统内部的逻辑流向以及系统的逻辑功能和数据的逻辑变换。
如图2.3就是根据前面所得到的业务流程图和收集的资料,以及对网上花店系统的整个流程进行分析设计后,所得出的鲜花销售系统数据流图。
第8页 共54页
中北大学2009届毕业设计说明书
用户 展台花目,查询结果 花库
购花单 购物车 消费情况 会员资料 图2.3 鲜花销售数据流图
2.2.3 数据字典
数据流图是结构化分析中不可缺少的有力工具,它描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,他还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。因此,仅仅一套数据流图并不能构成系统说明花,只有对图中出现的每一个成分都给出详细定义以之后,才能全面地描述一个系统。
数据流图中所有名字的定义及描述就构成了一本字典,它包括数据流、数据存储、外部项目和处理过程的详细条目。数据流、数据存储等数据型条目构成数据字典,而数据流图的有关“处理”用IPO进行描述。IPO图通常也作为数据字典的一部分,只是与数据描述的方式不同而已。
数据字典把数据流图上所有数据都加以定义,并按特定格式予以纪录,以备随时查询和修改。因此,数据字典是数据流图的辅助资料,对数据流图起注解作用。数据流图、数据字典、IPO图表构成了对系统需求的完整描述。
数据字典中把数据的最小单位定义为数据项,而若干数据项可以组成一个数据结构。数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
1 数据项
根据鲜花销售数据流所用到的数据项,系统在数据库中分别建立了鲜花信息表,用户信息表,管理员信息表,购物车表以及用户的购买情况表。由于购买鲜花
第9页 共54页
中北大学2009届毕业设计说明书
是整个鲜花销售流中最重要的业务过程,所以这里列出了鲜花信息表中的数据项,并对每个数据项做了详细的说明。
(1) 鲜花名称
简述:无
数据类型:字符型。 长度:30个字符长度。
(2) 鲜花分类
简述:鲜花的分类,如:小说。 数据类型:字符型。 长度:10个字符长度。
(3) 鲜花的编号
简述:每部鲜花的唯一编号,如:010019。 值域:自动生成。 数据类型:字符型。 长度:10个字符长度。
(4) 数量
简述:每部花的剩余库存,如:1500。 数据类型:字符型。 长度:10个字符长度。
(5) 单价
简述:鲜花的价格,如:155元。 数据类型:字符型。 长度:10个字符长度。
(6) 折扣
简述:购买鲜花优惠的程度,如:3.5。 数据类型:字符型。 长度:10个字符长度。
(7) 鲜花销量
简述:鲜花已经销售的数量。
第10页 共54页
中北大学2009届毕业设计说明书
数据类型:数字。 长度:10位。
(8)供应商
简述:供应商,如:太原鲜花基地。 数据类型:字符型。 长度:10个字符长度。
(11)购花时间
简述:用户购买的时间 类型:时间日期 长度:7个字符长度。
2 数据流(数据流的来源、去向、组成、流通量、高峰时的流通量) (1)购花列表
简述:用户购花时在购物车中显示的花目列表 数据流来源:flower库
数据组成:鲜花名称+鲜花分类+单价+折扣 数据流去向:收银台账单 流通量:不定量 (2)收银台账单
简述:确定要购买的花目列表。 数据流来源:购物车库
数据组成:鲜花名称+单价+折扣 数据流去向:用户消费记录 流通量:不定量 (3)用户消费记录 简述:每个用户消费的记录 数据流来源:收银台账单
数据组成:鲜花名称+单价+折扣+购花日期 数据流去向:结束 流通量:不定量
第11页 共54页
中北大学2009届毕业设计说明书
3 处理过程
处理过程在数据流图中的名称、编号,对处理过程的简单描述,该处理过程的输入数据流、输出数据流,及其来源与去向,其主要功能的简单描述:
(1) 花库的录入
简述:每部花的各种情况输入flower库 输入:除了ID号之外所有的数据项 处理:按格式录入到flower库中 输出:花目存储 (2) 购花列表的录入
简述:选定花目的加入购花列表 输入:鲜花名称、鲜花分类、单价、折扣 处理:按格式录入到购物车表格中 输出:购物车存储 (3) 收银台账单的录入
简述:将最终选定的花目录如收银台库 输入:鲜花名称、单价、折扣等 处理:按格式录入到收银台表单中 输出:收银台存储 (4) 消费记录的录入
简述:在收银台确认购买成功以后录入消费记录存储。 输入:鲜花名称、单价、折扣、购买日期等。 处理:按格式输入购花情况表单。 输出:购花情况存储。
2.3 系统总体设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题,用比较抽象的概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并确定系统的每个程序的结构。首先需要进行系统设计,从数据流图出发设想完成系统功能的若干种合理的方案,分析员应该仔细分析
第12页 共54页
中北大学2009届毕业设计说明书
比较这些方案,并且和用户共同选定一个最佳方案。然后进行软件结构设计,确定软件有哪些模块组成以及这些模块之间的动态调用关系。层次图和结构图是描绘软件结构的常用工具。
在系统的设计中,要注意分清计算机处理和手工处理的界限。信息系统是人机系统,系统目标的实现取决于这两者的得结合,系统设计中要避免一味地追求计算机处理,见许多只能由人工完成的工作交由计算机做,从而造成设计的复杂和不够科学;也要避免本该由计算机完成的工作交由人去处理,从而使新系统的功能、性能以及用户的目标得不到实现。 2.4 网上花店系统的总体结构设计
一般采用模块化原理来进行软件结构的设计,这样可以使整个系统设计简易,结构清晰,可读性、可维护行增强,提高系统的可靠性,同时,也有利于信息系统开发工作的组织管理。所谓的模块是指这样的一组程序语句(或描述),它包括输入与输出、逻辑功能描述、内部环境及其运行环境。通常程序中的一个模块完成一个适当的子功能。应该把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的每个子功能,最下层的模块完成最具体的功能。在进行软件结构设计时应该遵循的主要原理是模块独立原理,也就是说,软件应该由一组完成相对独立的子功能的模块组成,这些模块彼此之间的接口关系应该尽量简单。
设计软件结构的过程中要注重软件设计的原理和方法: (1)模块独立
模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合,内聚衡量一个模块内部各个元素彼此结合的紧密程度;耦合衡量不同模块彼此间互相依赖(连接)的紧密程度。我们要力争做到高内聚、低耦合 。
(2)信息隐蔽和局部化
使得一个模块内包括的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。
模块间的关系如图2.4所示:
第13页 共54页
中北大学2009届毕业设计说明书
模块1 接口 模块2
模块3 接口 模块5 模块4 图2.4 模块关系图
模块间通过接口来访问,模块间可以不互相访问,也可以有在很多方面相互访问。
网上花店系统的系统结构如图2.5所示。
商品查询 查看商品 购买商品 请先登录,若未注册请注册成为会员
用户进入 以会员身份登录 订单查询 购买商品 商品添加 商品审查 处理订单 发货查询 会员审查 管理员添加 管理员审查
管理员退出 以管理员身份登录 会员注册 图2.5 网上花店系统结构图
第14页 共54页
中北大学2009届毕业设计说明书
2.5 系统开发工具
开发环境:Windows XP Professional IIS 5.0(Internet Information Server 5.0)
Internet Explorer 6.0
脚本语言:JavaScript、VBScript 数据库工具:Microsoft Access 2000 网页设计:Macromedia Dreameaver MX
第15页 共54页
中北大学2009届毕业设计说明书
3 系统网络数据库的建立
3.1 系统数据源的设置
使用ADO去编写紧凑简明的脚本以便连接到ODBC 兼容的数据库和 OLE DB 兼容的数据源。具体的操作步骤可以归纳为以下几步:
(1)创建数据库源名(DSN)
ADODB通过ODBC工作,因此要在ODBC中设置DSN(数据源名)。打开Windows的\"控制面板\",双击\"ODBC\"的图标,然后选择\"文件 DSN \"的属性页,单击<添加>,选择数据库驱动程序,然后单击\"下一步\",按照屏幕的指示键入数据源文件的名称,然后单击“下一步\",再单击\"完成\"创建数据源。
(2)创建数据库链接
链接用以保持一些关于正在访问的数据的动态信息,以及链接者信息。利用ADODB的成员函数Open和先前设定的DSN与数据库连接,其语法如下: SetConnect=Server.CreateObject(\"ADODB.Connection\")//创建了链接对象Connect。 Connect.Open(\"DSN=dsnname;UID=userID;PWD=password\") //打开链接。dsnname为数据源名;userID为用户名;password为用户口令。
(3)创建数据对象 ADO中的数据对象通常保存的是查询结果。Record Set 是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下:
Set Record Set =Connect. Execute(sqlStr) ,创建并打开了对象Record Set,sqlStr是一个串,代表一条标准的SQL语句。例如:
SqlStr=\"SELECT*FROM b1\" Set Record Set =Connect. Execute(sqlStr) 这条语句执行后,对象Record Set中就保存了b1中的所有记录。
(4)操作数据库,可利用Execute方便地执行数据的插入、修改、删除等操作。
如执行插入操作: SqlStr=\"Insert Into b1Values (1, 2)\" Connect. Execute (sqlStr)
(5)关闭数据对象和链接 在使用了ADO对象之后,一定要关闭数据对象和链接。在ASP中通过调用方法close实现关闭。 关闭创建的数据对象:Record Set .close Set Record Set=Nothing 关闭创建的链接对象:Connect. Close Set
第16页 共54页
中北大学2009届毕业设计说明书
Connect=Nothing
完整的程序片段:
Set Connect=Server.CreateObject(\"ADODB.Connection\")//产生组件实例 Connect.Open(\"DSN=dsnname;UID=userID;PWD=password\")//连接数据库 SQL=select*fromtablename SetRS=Connect.Execute(SQL)//执行查询 Do While Not RS.EOF//显示结果
<%=RS(fieldname)%> <%Rs.MoveNext Loop %>
上述是用ASP访问数据库的全过程,由于应用面向对象思想,所有操作都比较简单,用户需要注意的仅是对数据结构的了解、当前所操作的对象及对象的属性等等,只要对这些有了清晰的认识,再加上ASP强大功能,在网络上使用数据库,实现用户与页面间交换信息,就再也不是什么难事了。 3.2 表、关系模型和数据库的概述
一个数据库的信息通常组织和存储在表的形式中,各个表具有行和列。这样由行和列组成对象的项目称为数据项(又称为字段),所有数据项组成一个记录,若干个同类记录构成表文件。若干个同类记录构成表文件。若干个表以及它们的关系等用来管理数据,也叫做数据库文件。
数据库加上相应的操作和管理数据库的软件,即为一个数据库管理系统(dbms),它能合理地组织和存储大量数据,并支持对于数据库表中数据的各种操作,如:更新、排序、索引、查询、列表、打印等。数据库系统是实现有组织地、动态地存储大量的相关数据,方便用户访问的计算机软件、硬件资源组成的系统,它由数据库管理系统、数据库以及支撑数据库管理系统的软、硬件构成。
数据库离不开数据模型。数据模型是对现实世界客观事物及其联系的描述,它反映数据项之间和记录之间的联系,在数据库技术中使用模型的概念描述数据库的结构与语义。常用的三种数据模型:层次模型、网状模型和关系模型。此外,还有面向对象模型等。
关系模型把数据之间的关系看成是一个二维表关系,因为二维表关系建立在集合代数关系理论基础上的,所以,把这种建立模型基础上的数据库称为关系数据库。
数据库与文件系统不同,其数据独立于程序而存在 ,并可以提供给不同的用户共享使用,其基本思想是对所有的数据实行统一的、集中的、独立于程序的管理。
第17页 共54页
中北大学2009届毕业设计说明书
关系数据库管理系统很好地实现了这一基本思想。 3.3 范式与建立表格的规范化
在关系模型中,一个数据库模式是关系模式的集合。在建立花店数据库时,要按照关系模式的集合作为数据库模式,关系模式的优劣,可以用模式的范式(normal forms,简记为NF)。
第一范式(1NF)
如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(1NF)的模式,r是规范化关系。例如教师模式R(NAME,ADDRESS,PHONE),如果一个教师家中装了两部电话,那么关系中至少要出现两个元组,以便存储两个号码。1NF的模式是关系数据库最基本的要求,远不是理想模式。
第二范式(2NF)
FD函数依赖(functional dependency)定义:设有关系模式R(U),X和Y是属性集U的子集,FD是开为X→Y的一个命题,只要r是R的关系,对r中的任意两个元组都有“X值相等蕴涵Y值相等”,那么FD X→Y在关系模式中成立。“X→Y”读作“X函数决定Y”或“Y函数依赖于X”。X→Y反映了属性集X和Y之间的联系,对于每一个X值,只有唯一的Y值与之对应。
我们把关系模式R的属性分为两类:一类是键的属性,称为主属性;另一类是不属于任何键的属性,称为非主属性。我们把FD分成完全FD和局部FD两类。如果X→Y成立,对X的任何真子集x都有x→Y不成立,则称X→Y是完全FD,否则称X→Y是局部FD。如果关系模式R是1NF,且每一个非主属性完全函数依赖于候选键,那么称R是2NF模式。
第三范式(3NF):
如果X→Y和Y→A成立,并且有Y→X不成立,A不属于Y,那么称X→A是传递FD(A传递依赖于X)。如果关系模式R是1NF,且每一个非主属性都不传递依赖于候选键,那么称R是3NF模式。在3NF模式中排除了非主属性对于键的传递依赖。
3NF的模式必定是2NF的模式。局部依赖和传递依赖是产生冗余和异常的两个重要原因。由于3NF模式中不存在非主属性对候选键的局部依赖和传递依赖,因此消除了很大一部分存储异常,具有较好的性能。而对于非3NF的1NF、2NF甚至非1NF的关系模式,由于它们性能上的弱点,一般不宜作为数据库模式,通常需要将它们
第18页 共54页
中北大学2009届毕业设计说明书
变换成3NF或更高级的范式(即关系的规范化处理)。
BC范式(Boyce-Codd NF,简称BCNF):
如果关系模式R是1NF,且每个属性都不传递依赖于的R的候选键,那么称R是BCNF模式。此时排除了任何属性对于键的传递依赖。
在设计数据库关系模式时,应作权衡,尽可能使数据库模式保持最优的特性,一般尽可能设计成BCNF模式集,如果设计成BCNF模式集的同时达不到保持FD的目标,那只能降低要求,设计成3NF模式集,而同时又达到无损害联接和保持FD的目标。抓住以上规则后,就能使用Microsoft Access设计出性能良好的数据库了。 3.4 系统数据库的详细建立
建立数据库表(SuperMarket_Data.mdb) 3.4.1 用户信息数据表(RegUser)
本表主要是将用户的相关信息录入表中.用户在注册时要填写相关的个人信息如:用户名,密码,密码提示,联系地址,邮编等等相关信息。用户名用的是文本类为关键字,如表3.1所示。
表3.1 用户信息数据表
字段名 UserID Name PassWD WtPass DaPass Sex Email Phone Address Zip RegTime 数据类型 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 日期/时间 字段大小 20 30 30 30 30 10 30 30 50 20 默认值Now() 字段说明 会员帐号 会员姓名 用户密码 密码提示问题 密码提示答案 性别 电子信箱 联系电话 联系地址 邮编 注册时间 3.4.2 管理员信息表(Manage_User) 管理员信息表,记录管理的用户名与密码,两个均为文本型,字段为长整形,如表3.2所示。
表3.2 管理员信息表
字段名 Id UserName PassWord 数据类型 自动编号 文本 文本 字段大小 长整型 20 20 字段说明 管理员编号 管理员帐号 管理员密码 第19页 共54页
中北大学2009届毕业设计说明书
3.4.3 商品大类表(Class_1)
本表是商品分类的大类表。管理员在给商品进行分类时,可根据商品的实际花类分类。例如,计算机类花籍,绘画类花籍,理财类花籍等等。这样有利于鲜花的管理。本表的主要是录入商品分类的名称与发布时间,分别为文本型与时间类型,如表3.3所示。
表3.3 商品大类表
字段名 ID Class_1_Name Class_1_RegTime 数据类型 长整型 文本 日期/时间 字段大小 自动 30 默认值Now() 字段说明 大类编号 大类名称 添加时间 3.4.4 商品小类表(Class_2) 这个表是对商品大类表之下的一个细分,将商品的分类进一步的细化。例如:计算机类花籍细分为软件编程类花籍、CAD绘图类花籍等等。这样的分类,能够使用户更加明确自己所要购买鲜花,也便于管理员的管理,如表3.4所示。
表3.4 商品小类表
字段名 ID Class_2_Name Class_1_Name Class_2_RegTim 数据类型 长整型 文本 文本 日期/时间 字段大小 自动 30 30 默认值Now() 字段说明 小类编号 小类名称 所属大类名称 添加时间 3.4.5 商品表(Product) 在前两个表中进行细化分类之后,最后就是要进行商品的具体名称,价格,说明,图片等等的录入了。主要是记录商品的具体详细的说明,以便购买都知道这本鲜花的具体的情况,如表3.5所示。
表3.5 商品表
字段名 Product_Id Product_Name Class_1 Class_2 Product_Intro Product_Show 数据类型 长整型 文本 文本 文本 文本 文本 字段大小 10 30 30 30 50 50 字段说明 商品编号 商品名称 所属大类 所属小类 商品说明 商品简介 第20页 共54页
中北大学2009届毕业设计说明书
P_NewPrice P_OldPrice P_Pic P_Full_Pic RegTime Look_Count 货币 货币 文本 文本 日期/时间 长整型 自动 自动 50 50 默认值Now() 自动 会员价格 市场价格 商品微缩图 商品全景图 商品录入时间 商品浏览次数 3.4.6 购物车表(Shop List) 购物车是用来存放顾客购买的商品。当然在网上购物的购物车也是用来存放购买的商品,用户可以查看购买商品的名称,价格等等。最后形成表订,如表3.6所示。
表3.6 购物车表
字段名 Product_Id Form_Id Product_Name Number P_NewPrice RegTime 数据类型 长整型 长整型 文本 文本 货币 日期/时间 字段大小 10 自动 30 255 自动 默认值Now() 字段说明 商品编号 所属订单号 商品名称 购物数量 会员价格 购物时间 3.4.7 订单表(Order List) 订单表,是对顾客提交的订单的具体情况进行记录。有用户名,购物时间,联系时间,商品名,价格,付款时间等等相关内容的记录,如表3.7所示。
表3.7 订单表
字段名 Form_ID User_ID Name Zip Phone Emai Address Pays RegTime Flag Remark 数据类型 长整型 文本 文本 文本 文本 文本 文本 文本 日期/时间 文本 文本 字段大小 自动 20 20 20 30 30 50 20 默认值Now() 20 255 字段说明 订单号 会员帐户名 会员姓名 邮编 联系电话 电子信箱 联系地址 付款方式 订货时间 标记 备注 说明:所建立的数据库文件(SuperMarket_Data.mdb)保存在文件夹market_database下,为防止别人随意篡改数据库,故将其后缀名改为.asp来调用。
第21页 共54页
中北大学2009届毕业设计说明书
4 主要功能详细设计
4.1 客户端主要功能的实现 4.1.1 主页面设计
这个网络花店运行的首页如图4.1所示,其中左栏是顶部有进入会员注册和查看购物车的入口,左边是最新加入的4本花,中栏上面是所有鲜花的分类,包括各个大类和小类,中栏下面是通过商品的访问量排列出的热点商品,右栏上面是注册会员的登陆入口,右栏中部是进行商品查询的入口,右栏下面是进行定单查询的入口。
图4.1 系统主页面
4.1.2 购物车功能的实现
在设计购物车中,首先要考虑到的是购物车中商品信息的存储,而且在整个的商品购买中没有改变,这里就要用到ASP中的内置Session组件,它是访问者从的到达某个特定主页到离开为止的那段时间,服务器端给他分配一个用来储存信息的全局变量的集合,这些变量可以自动生成,也可以是程序人员在服务器端脚本程序中定义的。
Session可以用来存储访问者的特定信息,创建访问者信息容器。我们使用它
第22页 共54页
中北大学2009届毕业设计说明书
作为虚拟购物车,无论什么时候用户在我网站中选择了一种商品,那么这种商品就会进入购物车,当用户准备离开时,就可以立即进行以上所有选择的商品的订购。这些购物信息可以保存在 Session中。用户在Web应用程序中访问同一页面时,Session变量始终存在,当用户在应用程序的页之间跳转时,存储在Session对象中的变量也不会清除。
在建立购物车中,其实是对全局变量的操作。在这里我定义了一个全局变量:Product List = Session(\"ProductList\"),将购物信息保存到此全局变量中。另外还定义了一个全局变量Products,通过函数Put To Shop Bag()将Product List的值赋给Products,使用函数Split()将读取到的字符串进行分割,以得到购物信息。购物车界面如下图4.2所示,其工作流程如图4.3所示,在数量项目文本框中输入购买数目并点确认更改可以更改数目;点继续购物会关闭这个提示窗口,点定单取消会清空购物车,点去收银台可以对这次的购物生成定单。
图4.2 购物车界面
第23页 共54页
中北大学2009届毕业设计说明书
顾客要更新某种花购买数量? 否 继续购物? 否 取消本定单? 否 生成定单? 否 是 更新该商品编号的购买数量同时保存到session变量中 是 关闭购物车窗口 是 清空购物车 是 确认顾客相关信息
图4.3 购物车功能流程
购物信息:
Products = Split(Request(\"cpbm\"), \。 /*建立购物车的详细代码*/
ProductList = Session(\"ProductList\") Products = Split(Request(\"cpbm\"), \For i=0 To UBound(Products)
PutToShopBag Products(i), ProductList Next
Session(\"ProductList\") = ProductList /*函数PutToShopBag()代码*/ <%
Sub PutToShopBag( cpbm, ProductList ) If Len(ProductList) = 0 Then ProductList = \"'\" & cpbm & \"'\"
第24页 共54页
中北大学2009届毕业设计说明书
ElseIf InStr( ProductList, cpbm ) <= 0 Then ProductList = ProductList & \ End If End Sub %>
将商品添加到购物车:
function openbag(id) {
window.open(\"check.asp?cpbm=\"+id,\"\width=600,left=190,top=0,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no\");}
更新某个商品的数量:
Sum = 0
While Not rs.EOF
Quatity = CInt( Request( \"Q_\" & rs(\"Product_Id\")) ) If Quatity <= 0 Then
Quatity = CInt( Session(rs(\"Product_Id\")) ) If Quatity <= 0 Then Quatity = 1 end if End If
Session(rs(\"Product_Id\")) = Quatity
Sum = Sum + ccur(rs(\"P_NewPrice\")) * Quatity 判断函数:
function fucCheckNUM(NUM) {
var i,j,strTemp; strTemp=\"0123456789\"; if ( NUM.length== 0)
return 0
for (i=0;i 中北大学2009届毕业设计说明书 { } //说明是数字 return 1; } 4.1.3 会员注册功能的实现 任何一个电子商务网站,实现会员注册是一个基本的功能,只有实现了注册的用户才可以购买这个网站中的商品,未注册用户只能浏览本网站的所有商品。会员注册流程如图4.4所示,首先是检查该顾客在图4.5中所申请的用户名是否以被人申请了,若已被人申请了该用户名,则系统将提示给用户“该用户名已存在”的信息,否则进入第二步填写用户的详细资料如图4.6所示,然后调用客户端的javascript判断用户输入信息的正确性,如果不正确也会给出相应的提示,如果都正确了就会将该用户的信息保存到数据库中。 j=strTemp.indexOf(NUM.charAt(i)); if (j==-1) { //说明有字符不是数字 } return 0; 该用户名已经注册? 否 进入用户资料完整填写界面 是 提示该用户已注册 用js严整输入正确? 是 将用户资料保存到数据库 是 提示相应错误信息 图4.4 用户注册流程图 第26页 共54页 中北大学2009届毕业设计说明书 图4.5 会员注册页面 图4.6 会员注册详细资料页面 使用对数据库的操作: 第27页 共54页 中北大学2009届毕业设计说明书 set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from RegUser where UserId='\" & request.form(\"uid\") & \"'\" rs.open sqltext,conn,1,1 检查用户名是否已经注册过: if rs.recordcount >= 1 then if rs(\"userid\")=request.form(\"uid\") then Response.Redirect \"messagebox.asp?msg=此用户名已经注册过, 请选用其他用户名: response.end rs.close end if end if 对数据库进行添加的操作: rs.addnew rs(\"UserId\")=request.form(\"uid\") rs(\"PassWD\")=request.form(\"pwd\") rs(\"WtPass\")=request.form(\"question\") rs(\"DaPass\")=request.form(\"answer\") rs(\"Name\")=request.form(\"Name\") rs(\"Sex\")=request.form(\"Sex\") rs(\"Email\")=request.form(\"Email\") rs(\"Phone\")=request.form(\"usephone\") rs(\"Address\")=request.form(\"haddr\") rs(\"Zip\")=request.form(\"postcode\") rs.update %> <% set rs_detail=server.createobject(\"adodb.recordset\") sqltext2=\"select * from RegUser where UserId='\" & request.form(\"uid\") & \"'\" 第28页 共54页 中北大学2009届毕业设计说明书 rs_detail.open sqltext2,conn,1,1 4.1.4 商品查询功能的实现 在图4.1系统首页或详细商品信息的页面中,都有进行商品查询的入口。作为一个电子商务网站,商品查询是不可缺少的功能,它能使顾客很快地找到自己喜欢的商品,在商品查询中,顾客可以选择商品的分类,也可以添入与自己有兴趣的相关字眼进行查询。商品查询的后台实现在ProductSearch.asp中实现,其流程图如图4.7所示,它会根据用户设置的不同条件构造不的查询sql语句并将查询的结果进行分页显示。 得到查询商品类别 根据用户设置条件设置不同的查询sql语句 得到查询结果并进行分页显示 图4.7 商品查询流程 商品大类方式的查询: While Not rs_class_1.EOF set rs_class_2=server.createobject(\"adodb.recordset\") sqltext3=\"select * from Class_2 where Class_1_Name='\" & rs_class_1(\"Class_1_Name\") & \"'\" rs_class_2.open sqltext3,conn,1,1 在文本输入框中输入了商品名称: ProductSearch.asp: ProductClass_2=request(\"ProductClass_2\") set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Product\" if request(\"Product_Name\")<>\"\" then sqltext=sqltext &\" where Product_Name like '%\"& request(\"Product_Name\") 第29页 共54页 中北大学2009届毕业设计说明书 &\"%' \" else sqltext=sqltext &\" where Product_Name like '%\"& \"\" &\"%' \" end if if request(\"Product_Class\")<>\"\" then sqltext=sqltext &\" and Class_1 like '%\"& request(\"Product_Class\") &\"%' \" end if rs.open sqltext,conn,1,1 4.1.5 订单查询功能的实现 对于顾客在网站上的每一次购物,系统都会生成一个对应的定单号,该定单号保存了购买商品用户的详细信息以及物流信息,而且在购买商品表中也会通过此定单号保存该次购买过程中的所有商品和数量等信息。所以,有了此功能,在网站上购买了商品的顾客可以随时登陆系统通过自己的定单号查询所买的商品是否已经发货,以及再次查看自己已经买的所有商品信息。本模块的功能在后台OrderListFind.asp文件实现的,其流程图如图4.8所示, 第30页 共54页 中北大学2009届毕业设计说明书 否 用户登陆了吗? 是 否 转到登陆页 数据库中有该定单信息? 是 提示定单号有误 该定单用户是当前用户? 是 显示该订单的详细信息 否 提示不能查看别人订单信息 图4.8查看订单流程 订单查询: Form_ID = Request.form(\"Form_Id\") IF Session(\"LoginSuccess\")=\"\" Then Else set Rs3 = Server.CreateObject(\"ADODB.recordset\") sql3=\"select * from OrderList where Form_Id=\"&Form_Id&\"\" rs3.open sql3,conn,1,1 IF rs3.RecordCount >=1 then IF Session(\"LoginSuccess\")=rs3(\"User_Id\") Then response.redirect \"FindOrderLogin.asp\" 4.2 后台管理主要功能实现 后台管理的功能主要包括:商品的添加、商品的审查、订单的处理、发货的查询、会员的审查以及管理员的添加和审查。 第31页 共54页 中北大学2009届毕业设计说明书 4.2.1 商品添加功能的实现 因为每个商品都有自己的归类,这样有便于顾客对商品信息进行检索,所以商品的添加功能是通过三个步骤来实现的:商品大类添加、商品小类的添加、商品信息的添加。大类添加功能的流程图如图4.9所示,大类添加界面如图4.10所示,小类添加功能流程如图4.11所示,小类添加界面如图4.12所示,商品添加功能流程如图4.13所示,商品添加界面如图4.14所示。 输入的大类已经存在? 是 提示大类存在错误 否 将大类信息加如数据库 图4.9 商品大类添加流程 图4.10 商品大类添加界面 第32页 共54页 中北大学2009届毕业设计说明书 选择商品大类信息 输入的小类已经存在? 是 提示小类存在错误 否 将小类信息加如数据库 图4.11 商品小类添加流程 图4.12 商品小类添加界面 选择商品小类 选择商品小类 该商品已经存在? 否 将该商品加如数据库 是 提示该商品已经存在 图4.13 商品添加流程 第33页 共54页 中北大学2009届毕业设计说明书 图4.14 商品添加界面 大类添加: function FORM1_onsubmit() { { alert(\"您必须输入商品大类名称!\"); document.FORM1.class_name.focus(); return false; } sqltext=\"select * from Class_1 where Class_1_name='\" & if(document.FORM1.class_name.value.length<1) request.form(\"class_name\") & \"'\" rs.open sqltext,conn,1,1 查找数据库,检查商品大类是否已经存在: if rs.recordcount >= 1 then if rs(\"Class_1_name\")=request.form(\"class_name\") then Response.Redirect \"messagebox.asp?msg=此商品大类已经存在,请选用其 第34页 共54页 中北大学2009届毕业设计说明书 它名称!\" response.end rs.close end if end if set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Class_1\" rs.open sqltext,conn,3,3 添加一个商品大类到数据库: rs.addnew rs(\"Class_1_name\")=request.form(\"class_name\") rs.update <% set rs_detail=server.createobject(\"adodb.recordset\") sqltext2=\"select * from Class_1 where Class_1_name='\" & request.form(\"class_name\") & \"'\" rs_detail.open sqltext2,conn,1,1 %> 小类添加: function FORM1_onsubmit() { { alert(\"您必须输入商品小类名称!\"); document.FORM1.class_2_name.focus(); return false; } set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Class_2 where Class_2_name='\" & if(document.FORM1.class_2_name.value.length<1) 第35页 共54页 中北大学2009届毕业设计说明书 request.form(\"class_2_name\") & \"' and Class_1_name='\" & request.form(\"class_1_name\") & \"'\" rs.open sqltext,conn,1,1 查找数据库,检查商品小类是否已经存在: if rs.recordcount >= 1 then if rs(\"Class_2_name\")=request.form(\"class_2_name\") then Response.Redirect \"messagebox.asp?msg=此商品小类已经存在,请选用其它名称!\" response.end rs.close end if end if set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Class_2\" rs.open sqltext,conn,3,3 添加一个商品小类到数据库: rs.addnew rs(\"Class_2_name\")=request.form(\"class_2_name\") rs(\"Class_1_name\")=request.form(\"class_1_name\") rs.update set rs_detail=server.createobject(\"adodb.recordset\") sqltext2=\"select * from Class_2 & \"' where and Class_2_name='\" Class_1_name='\" & & request.form(\"class_2_name\") request.form(\"class_1_name\") & \"'\" rs_detail.open sqltext2,conn,1,1 商品的添加: //所属大类 <% set rs=server.createobject(\"adodb.recordset\") 第36页 共54页 中北大学2009届毕业设计说明书 sqltext2=\"select * from Class_1 \" rs.open sqltext2,conn,1,1 %> //所属小类 <% set rs=server.createobject(\"adodb.recordset\") sqltext2=\"select * from Class_2 where request.form(\"class_1_name\") & \"'\" rs.open sqltext2,conn,1,1 %> //函数名:fucCheckNUM //功能介绍:检查是否为数字 //参数说明:要检查的数字 //返回值:1为是数字,0为不是数字 function fucCheckNUM(NUM) { var i,j,strTemp; strTemp=\"0123456789.\"; if ( NUM.length== 0) return 0 for (i=0;i } } Class_1_name='\" & 第37页 共54页 中北大学2009届毕业设计说明书 } //说明是数字 return 1; set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Product where Product_name='\"& request.form(\"p_name\") & \"'\" rs.open sqltext,conn,1,1 '查找数据库,检查商品是否已经存在 if rs.recordcount >= 1 then if rs(\"Product_name\")=request.form(\"p_name\") then Response.Redirect \"messagebox.asp?msg=此商品已经存在,请添加其他商品!\" response.end rs.close end if end if set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Product\" rs.open sqltext,conn,3,3 '添加一个商品到数据库 rs.addnew rs(\"Class_2\")=request.form(\"class_2_name\") rs(\"Class_1\")=request.form(\"class_1_name\") rs(\"Product_name\")=request.form(\"p_name\") rs(\"Product_intro\")=request.form(\"p_intro\") rs(\"Product_show\")=request.form(\"p_show\") rs(\"P_newprice\")=request.form(\"newprice\") rs(\"P_oldprice\")=request.form(\"oldprice\") rs(\"P_pic\")=request.form(\"p_pic\") 第38页 共54页 中北大学2009届毕业设计说明书 rs(\"P_Full_pic\")=request.form(\"p_full_pic\") rs.update set rs_detail=server.createobject(\"adodb.recordset\") sqltext2=\"select * from Product where Product_name='\"& request.form(\"p_name\") & \"'\" rs_detail.open sqltext2,conn,1,1 4.2.2 商品审查功能的实现 商品审查功能包括对商品信息的编辑和删除功能,其运行界面如图4.15所示,通过点击相应的连接可以执行相应的功能。 图4.15 商品审查页面 (1)商品编辑 编辑操作是调用Product_Modify.asp页面对商品信息进行编辑修改,然后调用Product_Modify_Ok.asp页面将修改后的信息添加到商品表(Product)中,其运行界面如图4.16所示。 第39页 共54页 中北大学2009届毕业设计说明书 图4.16 商品编辑界面 (2)商品删除 管理员可以调用此功能对相应的花籍进行删除,通过传入商品编号调用页面Del_Product.asp来实现。 商品的审查: <% set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Product\" rs.open sqltext,conn,1,1 dim MaxPerPage MaxPerPage=20 '假如没有数据时 If rs.eof and rs.bof then call showpages response.write \" 还没任何商品资料 第40页 共54页 中北大学2009届毕业设计说明书 商品编辑: set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Product where Product_no=\" & request.form(\"product_no\") rs.open sqltext,conn,3,3 '更新商品到数据库 rs(\"Class_2\")=request.form(\"class_2_name\") rs(\"Class_1\")=request.form(\"class_1_name\") rs(\"Product_name\")=request.form(\"p_name\") rs(\"Product_intro\")=request.form(\"p_intro\") rs(\"Product_show\")=request.form(\"p_show\") rs(\"P_newprice\")=request.form(\"newprice\") rs(\"P_oldprice\")=request.form(\"oldprice\") rs(\"P_pic\")=request.form(\"p_pic\") rs(\"P_full_pic\")=request.form(\"p_full_pic\") rs.update rs.close conn.close response.redirect \"product_check.asp\" 商品删除: <% dim SQL, Rs, contentID,CurrentPage CurrentPage = request(\"Page\") contentID=request(\"ID\") set rs=server.createobject(\"adodb.recordset\") sqltext=\"delete from Product where Product_No=\"& contentID rs.open sqltext,conn,3,3 set rs=nothing response.redirect \"product_check.asp?page=\"&CurrentPage 第41页 共54页 中北大学2009届毕业设计说明书 %> 4.2.3 订单审查功能的实现 订单审查包括查看所有订单的物流状态,某个订单的详细资料,删除某个订单的功能,如图4.17所示。 图4.17 订单审查页面 点其中的详细资料连接可以查看某个订单的详细资料如图4.18所示: 图4.18 订货商品细目页面 如果定单没有被处理,可以点其中的订单处理按扭进行处理修改订单的物流状态。 处理订单: set rs=server.createobject(\"adodb.recordset\") sqltext=\"select Flag from OrderList where Form_Id=\" & request(\"Form_Id\") 第42页 共54页 中北大学2009届毕业设计说明书 rs.open sqltext,conn,1,1 if rs(\"Flag\")=\"已经发货\" then rs.close Response.Redirect \"ordermessagebox.asp?msg=此订货单您已经做过了发货 处理!\" Else set rs=server.createobject(\"adodb.recordset\") sqltext=\"update OrderList set Flag='\"&djfc&\"' where Form_Id=\" & request(\"Form_Id\") rs.open sqltext,conn,3,3 response.redirect \"ordermessagebox.asp?msg=订货单处理处理完毕,请按客户详细地址发货!\" end if 删除订单: 通过它来调用删除页面(Del_Orderlist.asp): <% dim SQL, Rs, contentID,CurrentPage CurrentPage = request(\"Page\") contentID=request(\"ID\") set rs=server.createobject(\"adodb.recordset\") sqltext=\"delete from OrderList where Form_Id=\"& contentID rs.open sqltext,conn,3,3 set rs=nothing 第43页 共54页 中北大学2009届毕业设计说明书 set rs=server.createobject(\"adodb.recordset\") sqltext=\"delete from ShopList where Form_Id=\"& contentID rs.open sqltext,conn,3,3 set rs=nothing response.redirect \"orderlist_check.asp?page=\"&CurrentPage %> 4.2.4 会员审查功能的实现 会员审查包括会员资料的查看和会员资料的删除,会员审查的页面如图4.19所示,会员资料查看是通过会员id查询数据库,会员删除也是通过会员id 执行删除的sql语句,实现都比较简单,就不画流程图了。 图4.19 会员审查页面 会员资料的查看: id=request(\"id\") page=request(\"page\") set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from RegUser where Id=\" & id rs.open sqltext,conn,1,1 会员的删除: im SQL, Rs, contentID,CurrentPage CurrentPage = request(\"Page\") contentID=request(\"ID\") set rs=server.createobject(\"adodb.recordset\") sqltext=\"delete from RegUser where Id=\"& contentID rs.open sqltext,conn,3,3 set rs=nothing response.redirect \"user_check.asp?page=\"&CurrentPage 4.2.5 管理员添加功能的实现 管理员可以实现添加新的管理员功能,添加新的管理员界面如图,只需要输入新的管理员帐号名,输两次新管理员的密码,进行添加就ok了,实现比较简单,其运行界面如图4.21所示。 图4.20 管理员添加页面 管理员添加: set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Manage_User where UserName='\" & request.form(\"uid\") & \"' and PassWord='\" & request.form(\"pwd1\") & \"'\" rs.open sqltext,conn,1,1 '查找数据库,检查此管理员是否已经存在 if rs.recordcount >= 1 then if rs(\"UserName\")=request.form(\"uid\") then Response.Redirect \"messagebox.asp?msg=此管理员帐号已经存在,请选用 第45页 共54页 中北大学2009届毕业设计说明书 其它名称!\" response.end rs.close end if end if set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Manage_User\" rs.open sqltext,conn,3,3 '添加一个管理员帐号到数据库 rs.addnew rs(\"UserName\")=request.form(\"uid\") rs(\"PassWord\")=request.form(\"pwd1\") rs.update Response.Redirect \"manager_list.asp 4.2.6 管理员审查功能的实现 管理员审查页面如图4.21所示,其中包括修改密码和删除管理员功能,点击相应的连接就行,这里不多说。 图4.20 管理员审查页面 管理员修改密码: set rs=server.createobject(\"adodb.recordset\") sqltext=\"select * from Manage_User where Id=\" & request.querystring(\"uid\") rs.open sqltext,conn,3,3 '更新管理员密码到数据库 第46页 共54页 中北大学2009届毕业设计说明书 rs(\"UserName\")=request.form(\"uid\") rs(\"PassWord\")=request.form(\"pwd1\") rs.update rs.close conn.close response.redirect \"manager_list.asp\" 管理员删除: (Del_Manager.asp): dim SQL, Rs, contentID,CurrentPage CurrentPage = request(\"Page\") contentID=request(\"ID\") set rs=server.createobject(\"adodb.recordset\") sqltext=\"delete from Manage_User where Id=\"& contentID rs.open sqltext,conn,3,3 set rs=nothing response.redirect \"manager_list.asp\" 第47页 共54页 中北大学2009届毕业设计说明书 5 系统的配置安装与测试 5.1 后台服务器和数据库配置 5.1.1 后台服务器配置 本系统使用了Microsoft的IIS 5.0作为系统服务器。如果使用的是Window2000以上版本的操作系统,那么添加IIS 5.0服务器非常简单,只需要打开“控制面板”里面的“添加/删除程序”选项,然后选择“添加/删除Window组件”,最后选中弹出对话框的“Internet信息服务(IIS)选项”,如图5.1所示,按照系统提示进行安装即可。 图5.1 添加IIS服务器 因为在网上花店系统的各个系统模块里都使用了ASP的session(会话)对象和application(应用程序)对象。这样,就必须创建一个ASP应用程序来处理用户登录次数信息。一个ASP应用程序必须使用一个公用的目录结构,该目录包括了网站使用的所有页面。页面的具体位置并不重要,但要让这些页面都存于一个公用的目录结构里。 5.1.2 创建ASP应用程序 打开IIS服务器,进入Web根目录。单击鼠标右键,选择“属性”命令,弹出如图5.2所示的属性对话框。 第48页 共54页 中北大学2009届毕业设计说明书 图5.2 添加ASP程序服务 在应用程序里,创建一个ASP应用程序,但真正具有该应用程序执行功能的是一个称作Global.asa的特殊文件。 5.1.3 后台数据库的配置 本网上花店系统对于数据库的操作有两种,一种是采用ADO,一种采用ODBC连接系统数据源的方式,而采用系统数据源的方式必须对数据源进行配置。 安装程序之后,在ODBC中选择“系统DSN” (Data Source Name),点添加,激活创建新数据源,选择驱动器的类型为“Microsoft Access Driver(“*.mdb”)”项,表示使用的是Access驱动程序。点击完成,系统将用Access驱动程序来安装数据源。将数据源命名为“flower” 。相应图见如图5.3、如图5.4所示。 第49页 共54页 中北大学2009届毕业设计说明书 图5.3 创建新数据源 图5.4 ODBC数据源管理 5.2 系统的测试 一个软件从开发到投入使用,必需经过测试这一关,测试是相当重要的一个环节,软件测试的目标是为了发现软件中的错误,通过测试发现错误之后还必须诊断 第50页 共54页 中北大学2009届毕业设计说明书 并改正错误,这就是测试的目的。 5.2.1 软件测试的目标 1、测试是为了发现程序中的错误而执行程序的过程。 2、好的测试方案是极可能发现迄今为止尚未发现的错误。 3、成功的测试是发现了至今为止尚未发现的错误的测试。 5.2.2 系统的具体测试 (1)用户的注册与登录测试:从点登录界面的注册,到用户填入个人相关的资料信息,到注册完毕,最后到登录.然后在系统界面出现:“欢迎XXX来到网上鲜花销售系统”这表明,注册登录成功。 (2)购物车购物功能测试:用户点击购物车或商品图标进行购物,购物车会弹出一个对话框,商品的价格,名称及相购物的操作都能正常的显示,并应用。点击去收银台付款,这些都能正常的操作与显示。直至最后出现购物订单号,这说明购物成功。 (3)商品搜索及订单查询功能的测试:输入商品名,对应好商品的类别进行搜索,能够正常的显示出相关的商品的信息。在订单查询框中输入订单号,点击确认,能够显示一个购物订单,显示相关的顾客,商品名,购物时间等等信息。 (4)系统的后台管理功能测试:管理员登录到后台,可以进行对商品的添加、商品的分类,商品的审查,订单的管理,用户的管理、管理员管理等等。这些在后台的管理员中,调试都能正常运行。 从以上的功能模块的正常安全的测试中可以看出,本网上花店销售系统是能够正常的运行,达到了预先的设计目标。 第51页 共54页 中北大学2009届毕业设计说明书 结论 在历时将近三个月的时间里,我的毕业设计是从学习新的知识(ASP语言和HTML语言),到建立网上鲜花销售系统的网站。我遇到了若干的问题和解决了不少的问题,现在还有未知安全性和可靠性的未能发现和解决。 从建立自己的虚拟服务器,到网站服务,我对电子商务认识的无到有,有了具体详细的认识。在我们所建立的网上鲜花销售系统只是一个网上的购物的基本原理,里面要涉及到的方方面面的问题我们未曾遇到或现有的条件限制而未能实现。电子商务并不是我们想象的写程序那么简单,它包括了编写程序、数据库设计、网页制作、图象处理、版面设计、数据采集、文本编辑、服务器管理等等,要搞好一个好的,完善的网站需要一个详细的、合理的、可行性的规划设计。 在用ASP开发的时候,在程序的调试上出现了很大的问题,要使用浏览器来浏览才能找出错误所在,这一定程度上延长了开发周期。在开始的时候往往要为了找一个小错误花上大半天的时间。经过多写程序,现在一定程度上已经能快效的找出错误,并熟练的操作数据库语言。 随着Web技术的进一步发展和Internet的逐渐大众化,基于Internet的电子商务系统无疑比传统商务具有更加广阔的应用前景。而如何提高电子商务系统中的数据访问效率、交易平台的安全性及事务处理的能力仍是当前人们所关注的热点问题。这些问题有待于我们大家作更深入的探讨,相信在不久的将来电子商务将表现出越来越大的作用。 第52页 共54页 中北大学2009届毕业设计说明书 参 考 文 献 [1]周兴华,王敬栋.ASP+Access数据库开发与实例.北京:清华大学出版社,2006 8 1 [2]陈绿春.网页设计三剑客(MX版).北京:清华大学出版社,2003 07 [3]彭万波.ASP开发基础与范例.北京:电子工业出版社,2004 06 [4]邓文渊.ASP与网络数据库技术.北京:中国铁道出版社,2003 05 [5]李存斌.ASP高级编程及其项目应用开发.北京:中国水利水电出版社,2004 03 [6]Stephen Walther.ASP.NET Unleashed, Second Edition.北京:中国电力出 版社,2004 05 [7]列洪海.网络数据库开发实战.北京:中国铁道出版社,2000 12 [8]Ian Sommearville.软件工程.北京:机械工业出版社,2002 09 [9]Sazanne Robertson,James Robertson.掌握需求过程.北京:人民邮电出版社, 2003 04 [10]Roger.s.Pressman.软件工程.北京:电子工业出版社,2002 08 [11]裴春花, 金丽华.Dreamweaver MX 2004从入门到精通编译.北京:中国青年 出版社,2003 06 [12]刘瑞华,欧训民,郭建利.Dreamweaver MX 2004中文版标准教程.北京:科学 出版社,2004 05 [13]夏海廷,郑明强,张晓东.Dreamweaver Utrdev 4 动态网页设计标准培训教 程.北京:中国电力出版社出版,2001 09 [14]孙印志,杨滔,吕花琴.动态网站的设计实例精解.北京:电子工业出版社,2005 07 [15]张后扬,邵丽萍.动态网页制作ASP.北京:电子工业出版社,2003 05 [16]Kris Jamsa,Ken Cope.因特网编程.北京:电子工业出版社,1999 03 [17]Laura Lemay.[美]HTML WEB发布自学教程.北京:北京大学出版社,1997 05 第53页 共54页 中北大学2009届毕业设计说明书 致 谢 在论文的结束之时,回顾一下此次设计的过程,不免有许多的感慨。由于此次设计主要是在校内进行的,但在设计的过程中得到了专业开发人员、调研人员和测试人员的大量的帮助,从而能顺利的完成该设计。在这个过程中令我受益匪浅,特在此表示衷心的感谢! 同时还要尤其感谢我的指导老师陈志军老师的悉心指导,为我的设计提供科学的指导和分析,同时也为我提供第一手的研究资料,使我在设计的过程中能够迅速解决难题,在此表示衷心的感谢! 本次毕业设计,还有一些同学在系统设计方面也给了我许多精心的建议。也正是由于他们的帮助,使我能够迅速解决难题,从而使毕业设计得以紧张的而顺利、有序的进行。 在此,谨向所有帮助和关心我的老师、同学表示诚挚的谢意。 第54页 共54页 因篇幅问题不能全部显示,请点此查看更多更全内容