《基于ASP的网上购物系统毕业设计.doc》由会员分享,可在线阅读,更多相关《基于ASP的网上购物系统毕业设计.doc(61页珍藏版)》请在三一办公上搜索。
1、基于ASP的网上购物系统摘 要本网上购物系统是根据现有的网上购物系统现状而设计开发的电子商务平台。本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。 本系统主要为用户提供了用户登录管理,新用户注册,商品页面显示功能,商品模糊搜索功能,商品选购功能,购物定单,能提供用户留言功能,商品的更新功能,对注册用户的管理功能,对留言的管理功能购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,新闻信息管理,广告链接管理等功能。在设计方面
2、,本系统采ASP技术进行动态页面的设计,运用HTML语言、VBScript技术、ADO、ASP与后台数据库链接等关键技术建设网上购物系统,实现网上购物系统功能。关键词:动态服务网页,购物,ASP,AccessAbstractThe online shopping system is based on the current status of online shopping system and the design and development of e-commerce platform. This paper first introduces the online shopping s
3、ystem, the status and development background, and then discusses the system design objectives, system requirements and design program, more detailed discussion of the systems detailed design and implementation. Finally, this article on-line shopping system and proposed a system of detection is also
4、necessary to improve the problem. This system is mainly to provide users with a user log management, new user registration page display merchandise, merchandise fuzzy search capabilities, purchase merchandise features, shopping orders, to provide users guestbook feature, the update feature merchandi
5、se for registered users of the management functions of the management functions Guestbook Cart management, merchandise search, modify user information and other functions, provides administrators with merchandise management, customer information management, information management news, advertising l
6、ink management functions. In terms of design, the system ASP mining technology for dynamic page design, the use of HTML language, VBScript technology, ADO, ASP and database links Backgrounds key technologies such as the construction of online shopping systems, online shopping system implementation.
7、Keywords: Dynamic Service web page, shopping,ASP,Access目 录引 言1第一章 绪论2第二章 系统技术及运行环境42.1 ASP技术简介42.2 Access2003技术简介42.3利用ADO访问数据库52.4 SQL语句简介72.4.1 SQL 语句简介72.4.2 SQL语句的优点72.5 IIS简介72.5.1 IIS的安装72.5.2 IIS虚拟目录的创建82.6 运行环境8第三章 系统的功能和流程分析103.1功能设计103.2总体结构设计103.3数据库存设计113.4各模块间的关系123.4.1两大模块间的关系图123.4.2管
8、理模块存在的关系123.4.3用户模块间存在的关系133.5系统运作流程图13第四章 系统功能的具体实现154.1数据库设计说明154.2系统数据库逻辑结构设计154.3模块描述184.4后台管理模块194.4.1管理模块首页Admin.asp:194.4.2检测用户名页面pd.asp:204.4.3商品发布页面fb.asp:214.4.4用户管理user.asp224.4.5 留言管理页面 liuyangl.asp264.5主界面模块的设计284.5.1 conn.asp代码:294.5.2主页Index.asp:304.5.3 物品页面 hello_kitty.asp394.5.4 购物车
9、display.asp424.5.5留言板 liuyan.asp47第五章 系统测试及难点分析515.1测试级别的定义515.2系统功能、性能测试的步骤515.3数据库测试525.4系统移植性、兼容性测试说明535.5测试结果及其总结535.6部份测试用例53总 结55致 谢56参考文献57引 言随着互联网技术的迅速发展,网络已逐渐深入人心,更是成为继报刊、电视、广播等传统媒体之后而兴起的一新传媒介质。网络宣传已成为众多宣传手段的重中之重,各种各样的网站也就应运而生:为宣传企业而制作的公司网站、可进行网上购物的电子商务网站、能及时了解到天下事的新闻网站、方便学习的教育网站,还有学校、团体、个人
10、等等各大各小的网站,充斥着我们的视野,满足着我们的需要。网站的规划与建设,已悄然被许多人摆到了首要的迫在眉睫的位置上。当今的社会,如果仍然依靠传统的方式宣传自己的形象和文化、采购自己所需的原材料和配套部件、推销自己企业的产品,则显得十分落后而且难以适应激烈的市场竞争。因此,人们纷纷建立自己的网站,借助于互联网快速的信息传递加速自身的发展。一个网站的规划与建设,自然而然也就成了众多类型的网站规划与建设的典范;网站的规划与建设这一研究课题,也自然而然地成为当今乃至今后一段长时间内。这次毕业设计主要研究的就是网上购物系统在网络上的实现。购物网站的规划与建设这一课题,是应用前景非常广阔的!它的解决方案
11、不仅仅可以针对购物的网站,同样可以应用于多种多样的网站建设。21世纪是信息化的社会,互联网实现了世界范围的网络间的互联和信息共享,并已全面介入人类生产生活的方方面面,带动着人类社会的飞速发展。产品的推销、形象的树立、文化的宣传,都靠着网站给着人们的头脑里的第一印象。网站做的好,产品自然受人们关注、受人们青睐;如果网站做的不好,产品的效益自然就会受到影响。网站的规划与建设将是一个长久且受人关注的课题,人们将沿着这条研究网站建设的路越走越精彩第一章 绪论1.1选题背景Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。据估计,目前Internet上
12、已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有
13、吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持
14、。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Microsoft Access数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规则采掘系统和利用IIS+ASP技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用
15、户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。本文主要完成Web服务器端的用户登录管理、新用户注册、商品页面显示功能、商品模糊搜索功能、商品选购功能、购物定单、能提供用户留言功能、商品的更新功能、对注册用户的管理功能、对留言的管理功能实现与完善以及整个实验网站的组织建立和测试工作。第二章 系统技术及运行环境2.1 ASP技术简介Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编
16、写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP程序的优点:ASP使用VBScript脚本语言直接源于VB语言,秉承了VB简单易学的特点,掌管起来非常容易。无须编译,容易编写,可在服务器端直接执行。与浏览器无关,客户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP能与任何ActiveX scripting语言相容。除了可使用VBScript或JavaScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言。A
17、SP技术的处理速度相当快,并且其安全性也很高,ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。ASP的对象和组件:ASP有7个固有对象这7个固有对象分别是Request,Response,Server,Application,Session,ASPError和ObjectContext。2.2 Access2003技术简介Access2003 就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索。数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条记录(Record),而每条记录是由
18、多个字段(Field)所组成,不同的字段存放这不同的数据。所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(Database Management System DBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,
19、可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。2.3利用ADO访问数据库ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:一、创建数据源名DSN
20、(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构
21、没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。二、创建数据库链接(Connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:set Conn=Server.createObject(“ADOBD.CONNECTION”)这条语句创建了链接对象Conn,接下来:connstr=Provider=Microsoft.Jet.OLEDB.4.0;Data.Source=&Server.MapPath(&db&)conn.Open connstr这条语句打开链接,用到了DSN,本例为“
22、connstr”。以上两个步骤缺一不可,链接对象的创建与打开是两回事,打开了可以使用。三、创建数据对象(Record Set)ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:Set Record Set=Conn.Execute(sqtStr)这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:rs=“SELECT * FROM shop_books”Set Record Set=mConn
23、.Execute(rs)这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。四、操作数据库我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:rs=“INSERT INTO tab1 VALUES(1,2)”mConn.Execute(rs)执行插入操作 五、关闭数据对象和链接对象 在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。Record Set.closeSet Record Set=Nothing关闭创建的数据对象mConn.closeSet mConn=N
24、othing关闭创建的链接对象2.4 SQL语句简介2.4.1 SQL 语句简介SQL全称是结构化查询语言(Structured Query Language),SQL包含4个部分:(1)数据查询语言DQL-Data Query Language SELECT(2)据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE (3)数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP(4)数据控制语言DQL-Data Control Language COMMIT WORK, ROL
25、LBACK WORK2.4.2 SQL语句的优点 (1)非过程化语言 (2)统一的语言SQL为许多任务提供了命令,包括:查询数据,数据更新,在表中插入记录,在表中修改记录,在表中删除记录,建立,修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性。(3)是所有关系数据库的公共语言所有用SQL编写的程序是可以移植的,并且容易学习使用,但是所有SQL语句都必须由数据库服务器独立地执行。2.5 IIS简介2.5.1 IIS的安装WINDOWS 2000 SERVER提供的WEB服务器组件IIS的安装方法,在开始设置控制面板添加/删除程序命,在添加/删除程序中选择添加/删除WIND
26、OW组件按钮,就会弹出如图2-1所示的WINDOWS组件向导对话框.在其中选择INTERNET信息服务IIS,随后根据系统提示一步一步的操作即完成IIS的安装。图2-1 IIS安装2.5.2 IIS虚拟目录的创建在启动Internet后,在默认WEB站点单击鼠标右键如图(2-2),在快捷菜单中选择新建虚拟目录命令,输入虚拟目录的名字,然后按照系统提示操作, 即可完成虚拟目录的创建。图2-2 创建虚拟目录2.6 运行环境为了保证成绩管理系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求
27、如下:软件环境:客户端: Windows95/98/2000/XP,Internet Explorer(IE)等。服务器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0及其以上版本,IE等;或者Windows98,Personal Web Server(PWS),IE等。数据库:采用Access,运行于服务器端。硬件环境:服务器 CPU:PIII 500以上 ,内存:512M以上。客户机 CPU:P200MMX以上,内存:32M以上。第三章 系统的功能和流程分析3.1功能设计为了达到用户要求的最终成品,所以,在此设计中根
28、据需求分析说明,在此对系统的主要功能包括有以下产述:1、用户登录管理:在用户登录时对其进行验证是否是授权用户。2、新用户注册:在有新用户注册时用户输入的信息进行检测是否存在错误。3、商品页面显示功能:在页面中对商品的显示要具有类别显示的功能特性4、商品模糊搜索功能:如ABC 可输入A、AB、ABC、BC、B、C、AC 进行查找。5、商品选购功能:即在用户登录后可以对商品可以进行选择性的购买,并放入购物车的,而且在购物车中对一些不必要的商品进行取消购买选择。6、购物定单,显示购买价格、购买用户详细信息、购买留言提交等。7、能提供用户留言功能:即用户在浏览网站后可能对网站有一些建设性的意见,因此需
29、用要对其提供此功能。在后台管理方面,要有:1、商品的更新功能:即管理员可以随时更新商品(即管理员可以新添加商品和删除一些过时商品)。2、对注册用户的管理功能:即管理员可以对注册用户的信息作一些基本上的管理功能。3、对留言的管理功能:即对用户留言进行相应的管理(如删除操作等)另外还要要求具有:1、对系统中出现的一些小错误能够不影响系统的运行。2、要确保与银行通信的安全性,以确定网上交易的一个安全性。3.2总体结构设计根据以上具体的系统功能要求,系统的组成结构大致图示如下:用户管理商品更新留言管理浏览页面购物车留言板Hello_Kittyusahanadisneymeodycookleingg苛芘
30、兢管理admin首页index系统图3-1 系统的组成结构大致图其中系统模块的详细层次结构设计图如下:系统浏览功能购物功能管理功能浏览网站选购查看结帐发布留言用户图3-2 系统模块的详细层次结构设计图3.3数据库设计由于在本系统中,数据库操作是整个工作过程的核心,因此在此把对数据库设计提前,是为了更好的理解后面的内容。从上面的总体设计可以知道,在这个数据库中,为了考虑表的优越性,因此需要拥有的表文件主要有:用户表文件、商品表文件、留言表文件;另外,为了达到用户能购买商品的功能,因此还需要一个功能类似于购物车功能的表文件。其中,用户表用来存储用户信息,商品表用来储存商品信息,留言表用来存储用户留
31、言情况。3.4各模块间的关系由于整个系统由管理模块和用户模块组成,所以整个系统由两大关系模块组成,这两在模块间又存在着相依相存的关系。整个系统中的模块关系分别如下:3.4.1两大模块间的关系图管理模块用户模块用户浏览模块用户购物模块用户留言模块商品更新用户管理留言管理图3-3 两大模块间的关系图3.4.2管理模块存在的关系管理模块中的模块主要关系是:管理员登录模块与各个管理模块之间的关系,以及各个模块和数据库之间的关系。1)登录模块与其子模块之间的关系图管理模块管理员登录商品更新用户管理留言管理图3-4登录模块与其子模块之间的关系图2)子模块与数据库之间的关系图请求读取数据库数据库返回数据返回
32、请求数据请求数据子模块请求处理数据库表图3-5子模块与数据库之间的关系图3.4.3用户模块间存在的关系1)登陆模块和其它子模块之间的关系图用户模块管理员登录商品浏览商品先购购物车查看用户发言图3-6登陆模块和其它子模块之间的关系图2)各浏览模块与购物车之间的关系图各浏览模块处理模块购物车图3-7各浏览模块与购物车之间的关系图3)各浏览模块与数据库之间的关系图返回数据请求数据访问数据库数据库返回数据各浏览模块处理模块数据库表图3-8各浏览模块与数据库之间的关系图4)留言模块与数据库之间的关系用户留言验证用户留言数据库留言成功数据库图3-9留言模块与数据库之间的关系3.5系统运作流程图本系统的动作
33、情况关系如下图:是否否是否是是否是否是否是是否是是否否否是否管理界面是否登录系 统管理员?查看物品结束浏览是是否结账结束是否登录返回开始继续?是否返回跳转界面继续操作否是否登录选购商品浏览商品用户界面选择操作执行操作结账图3-10 系统的动作情况关系第四章 系统功能的具体实现4.1数据库设计说明经过系统功能分析和需求分析,考虑到以后功能上的扩张,设计如下面所示的数据项和数据结构。A、商品信息:包括商品分类、商品名称、编号、价格等。B、用户信息:包括用户名、密码、电子邮件、手机号码、QQ、真实姓名、密码提示问题及答案、详细地址等。C、 购物信息:包括购物用户、购物商品、购物总价、购物时间等。D
34、、留言信息:包括留言人姓名、留言内容、留言时间。用户-商品关系图用户商品购买用户名详细地址密 码电 话商品分类商品名商品单价购买日期购物总价商品单价商品编号图4-1用户-商品关系图4.2系统数据库逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。(本系统所使用的是Microsoft的Access 2003为关系型DBMS)下面运用关系数据库规范化理论,使E-R图向关系模型的转换。数据库中的主要表结构如下:用户信息表(User)图4-2用户信息表用户表USER用户帐号用户密码详细地址真实姓名电子邮件提示问题QQ号码提
35、示答案图4-3 “用户”实体的属性图商品信息表(wp)图4-4商品信息表商品表WP商品编号商品名称商品分类商品价格商品地址发布时间图4-5 “商品”实体的属性图购物表(p)图4-6 购物表购买表P购物用户购买商品购物时间商品价格购买总价商品编号图4-7“购物”实体的属性图留言表(liuyan)图4-8留言表留言表liuyan留言编号留言标题留言人 留言内容留言时间图4-9“留言”实体的属性4.3模块描述整个系统由多个模块组成,因此各个模块的设计显得十分繁杂,因此,我们化大为小,分别对单个功能进行设计,最后运用重组技术再将这些具有单个功能的部份组合起来,使之成为一个个模块,最后再将这些模块组织成
36、系统。在上述过程中,出现了有许多相同的又重新编写的情况,这就增加了不必要的人力与物力的开支,于是为了防止这种情况的出现,我们利用了代码的可重用性原则,对一些常用代码进行处理,使之成为一个单独的文件,在使用时,调用这个文件就可以了。选购查看结帐发布留言用户浏览网站浏览功能购物功能管理功能系统图4-10系统框架图整个项目的功能在“整体设计”中已经做出了相当准确的描述,下面我们将着重说明各个模块的功能、性能、输入输出项目以及所使用的算法等内容。首先为了充分的了解项目的结构,先看一下在概要设计中设计出的项目的总体框架图和模块结构层次图。系统管理admin首页index用户管理商品发布留言管理购物车留言
37、板Hello_Kittyusahanadisneymeodycookleingg苛芘兢浏览页面图4-11 系统层次结构图根据图4-10可以得知整个项目需要达到的所有功能效果和相关的性能保障;由图4-11则可以知道项目要取得预期效果需要使用的众多模块,以及各个模块之间的关系。从图4-11,可以知道整个系统的主要模块(这里的主要模块主要是指用户可以感觉得到的页面),下一节将分别介绍这些模块(或页面的性能和使用的算法)。4.4后台管理模块4.4.1管理模块首页Admin.asp:地址栏内输入admin或者admin/admin.asp ,进入主页面图4-12 后台管理登陆页面function a()
38、document.yy.submit()当确定后调用pd.asp页面4.4.2检测用户名页面pd.asp:% user=request.form(user)pass=request.form(pass)if user=admin and pass=admin thenresponse.Redirect(ht.asp)elseif user= and pass= thenResponse.write & VbCRlf Response.write alert(系统提示n用户名或密码不能为空!); & VbCrlfResponse.write history.go(-1); & vbCrlf Re
39、sponse.write & VbCRLF Response.end elseResponse.write & VbCRlf Response.write alert(系统提示n用户名或密码错误!); & VbCrlfResponse.write history.go(-1); & vbCrlf Response.write & VbCRLF Response.end end ifend if%账号:admin以及密码: admin输入正确进入ht.asp图4-13 后台管理分类页面4.4.3商品发布页面fb.asp:图4-14 商品发布页面连接数据库代码发布成功后显示cg.asp图4-15
40、商品发布成功页面并在主页最新产品以及该物品分类页面显示图4-16 商品发布后显示页面4.4.4用户管理user.asp0i=i-1 % 帐号: 密码:真实姓名: 联系电话:电子邮箱: 家庭住址:邮政编码: 密码问题: 密码回答: 联系OIQQ:注册时间:function ss(f)window.location.href=user_del.asp?aa=+f.a2.id;input name=a2 type=button id= value=删除 onClick=javascript:ss(this.form) / function ee(f)window.location.href=user_xg.asp?bb=+f.b2.id; %for i=1 to rs.pagecountif i=page_no thenresponse.write i &  elseresponse.writeresponse.write i &