网上商店设计.doc

上传人:精*** 文档编号:873306 上传时间:2024-03-02 格式:DOC 页数:24 大小:212.18KB
下载 相关 举报
网上商店设计.doc_第1页
第1页 / 共24页
网上商店设计.doc_第2页
第2页 / 共24页
网上商店设计.doc_第3页
第3页 / 共24页
网上商店设计.doc_第4页
第4页 / 共24页
网上商店设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、毕业论文设计目 录第一章引 言1第二章 需求分析31. 引 言32系统的功能要求33运行要求34分析系统的数据要求45导出系统的逻辑模型6第三章总体设计81:编写目的82:任务概念83:总体设计8第四章详细设计111会员登录模块112网上购物系统的商品展示模块15l系统描述20l页面流程214 商品查找22第五章 编码与测试231整体的数据库连接代码:242登录模块:243购物模块与管理模块244存在问题26第六章 总 结28第七章 学习总结与参考文献291学习总结292参考文献36摘 要对本论文的总体描述关键字:网上商店第一章 引 言课程设计标题:网上商店开发设计目的:随着计算机技术、通信技

2、术的日益发展,互联网的逐步深入与应用,电子商务网站越来越多的出现在我们的身边,它直接作为一种先进的交易方式,被越来越多的人所接受。网上交易最大程度地方便了用户,你可以通过WWW浏览器实现WEB购物。本系统基本实现网上购物的动作过程,同时提供了用户的注册模块和后台数据库的维护。基本要求:创建和运行动态、交互的Web服务器应用程序,接收客户端请求,并对后端数据库进行存取操作,然后将处理结果返回到客户端浏览器。简而言之,就是现在一般的客户机/服务器(Client/Server)模式。不同的是所操作对象分为后台管理员与前台用户两部分。运行环境:可以在PWS(personal web server)+A

3、SP4.0的环境中编辑运行,当然也可以IIS(Internet Information Service)或者WebSite等其他程序,但要装ASP支持模块。设计思想:一、 前台系统的工作流程:首先当用户登录网站后,系统提供会员与非会员两种机制。非会员进入主页对某些页面会没有权限去查看,但可以通过注册模块注册后享受会员的代遇。会员可直接根据商品的分类来查询商品,也可以通过关键词去查询自己所需要的商品,同时可以直接进入比较吸引人的地方-特价区,然后再去看此类商品的其它详细信息,如本系统所设计的有重量、尺寸等属性。当用户中意所需商品时便会把它放入到购物篮中。购物篮是一个选购商品的列表,同样也可显示商

4、品的数量、属性、价格等等,用户可以方便地增加、更加、删除所购物篮中的商品。当用户选完所需要的商品后,就是决定购买商品,在这里就需要用户确定所购商品,系统提供一张订单供用户填写必要的联系地址和方法,以及其它的配送资料。在此系统提供两种付款方式:一是邮局汇款,二是货到付款。二、后台管理系统流程:后台管理系统主要是进行商品信息的管理、发布和修改,另外还可以浏览所有用户的订单,同时可以管理用户账号系统。系统解决方案与存在问题:1、利用HTML、ASP、ACCESS三种网页实现技术,实现本系统的大部分功能。2、如网上支付,同时会员的优惠措施,运费支付等等,尚未实现。测试方案:先从后台输入数据,以供查询实

5、现的测试需求;再实现前台数据维护,并用查询功能检查前台数据维护功能的错误。 第二章 需求分析1. 引 言需求说明书主要是为了解网上商店开发所要求做的内容以及必须具备的功能。在现代计算机技术、通信技术日益发展,Internet普及,网上交易成了一种必然的趋势,但对于种多用户来说毕竟还是一件比较陌生的事,因此要使用户了解系统是一个重要的关键。通过网络实现商品的信息,采购,样品的展示,还有更多未实现的功能如:网上支付,售后服务等。2系统的功能要求网上商店的开发主要需要完成的任务有:前台系统会员登录模块:四个部分组成,一是新用户的注册,将信息存入数据库的过程,二是会员的登录,三是会员信息的修改,四是会

6、员找回密码。网上购物系统的商品展示模块:三个核心部分:一是商品的展示,二是存放选购产品的购物袋,三是交易数据的储存。用户还可对商品进行查询,直接找到所需的商品。以及用户对个人订单的查询,浏览当前所购的商品。后台系统管理员模块:一是管理员登录,二是商品的管理,三是商品类别的管理,四是所有订单的浏览,同时也可以对商品的查询和单条订单的查询。3运行要求本网站开发基本所需工具有:IIS,VB,ASP,IE,Active Server Page。该系统运行时所处的环境要求在Windows 操作系统、Unix及Linux等开发环境中;在软件方面需要I386,ASP、HTML等的支持,采用Acess数据库系

7、统。4分析系统的数据要求本网站主要的数据表前台主要有如下几个:Department, Shopper, Products, Make_order,( points表尚未用到)后台主要是管理理员信息表:AdminidDepartmentidDepartment自动编号商品ID,自动增加intParentDepartment数字本类别的母类IDchrDepartmentName文本类别名TxtDepartmentDescrip备注类别的描述Products自动编号自动编号商品编号,自动增加intParentDepartment数字本类别的母类IDidProduct文本商品代码,如条形码chrPro

8、ductName文本商品名称txtDescription备注商品描述chrProductImagS文本商品图片的路径intPrice文本商品价格postdate日期/时间商品有效开始时间intSize文本商品的尺寸intWeight数字商品的重量intfeatured数字是否为热卖ShopperidShopper自动编号每个会员唯一的ID,自动编号chrName文本会员名chrAddress文本会员的联系地址chrZipCode文本会员的邮政编码chrHomePhone文本会员的家庭电话号码chrEmail文本会员的电子邮件chrUserName文本会员的真实姓名chrPassword文本会员

9、登录密码chrPersonalQuestion文本会员忘记密码时的查询问题chrPersonalAnswer文本会员对提问的回答intGender文本会员的性别chrMobike文本会员的手机号码Make_order自动编号自动编号每个会员的订单号,自动编号productlist备注购物篮存放商品的IDProductlist2备注购物篮中每个商品的个数product_total数字购物篮中商品种类数order_name文本订单付款人姓名order_gender文本付款人性别order_email文本付款人电子邮件order_addres文本付款人配送地址morning_tel文本白天联系电话m

10、orning_time文本白天联系时间nights_tel文本晚上联系电话nights_time文本晚上联系时间pay_method文本付款方式recv_place文本收取商品的地址postdate日期/时间下订单的时间ip文本获取IP地址Adminid自动编号管理员自动编号admin文本管理员用户名password文本管理员密码*PointsidPoints自动编号自动编号chrName文本会员名intNumPoints数字会员积分dtCreated日期/时间所得积分日期商品分类与商品表之间的关系通过两个表中idDepartmentParent字段进行关联起来。 Department idP

11、arentDepartment Products 在整个数据库系统中没有出现购物篮表,那是因为用户在购物过程中有可能放弃某商品的可能性,那就不急于把它放入数据库,在没下订单之前就把它放在session对象中。当用户下订单后我们可以通过浏览订单查看自己所选购物的商品。会员的积分表在本系统中未实现其动作功能。5导出系统的逻辑模型逻辑模型的构成:数据流图 数据字典 表示数据的源点 表示处理过程 表示数据的存储过程 表示数据流下面是由分类表导出商品表的模型: Products表 Department 显示商品信息 商品信息 选择某种类别 接受 类别信息 下面是订单表导出模型: 放于购物篮 Make_o

12、rder 订单配送资料表 中的Products 某用户的购物篮 订单配送资料 接受 购物篮信息用户信息、商品信息管理模块的导出模型类似。products 后台添加商品 商品列表 某类别的商品 商品信息 储存 商品信息第三章 总体设计1:编写目的概要设计说明书是为说明如何解决网上商店开发系统的初步设计过程,本系统面向的对象是所有在线的网上用户,目的是让用户了解本系统如何更直接、更方便的去浏览,去实现购物时所必须要做的流程,实现网上购物的整个过程。2:任务概念概要设计说明书的目标是为了确定系统的具体的实现方案,确定软件结构及模块的组成和它们的联系。其运行所需的环境是要求Win9x Win2000

13、WinXT等操作系统的支持下,同时要求ASP HTML PWS等软件的支持。3:总体设计1 系统设计确定系统具体的实现方案。2 结构设计确定软件结构;程序由哪些模块组成,以及模块之间的关系。I层次图: 网上购物系统 按关键词显示商品特价商品的显示按类别显示商品表 生成商品信息用户界面生成按类别查询商品信息联 II IPO图:(输入/处理/输出图)输入 处理 输出商品查询界面商品信息检索商品信息输出商品信息选择某个类别E-R图: txtDescriptionidDepartment chrProductName intPriceDepartment have Products haved pro

14、ductlist Make_order product_total order_namechrName idShopper id Shopper chrUserName adminchrPassword admin password第四章 详细设计1会员登录模块主要有如下四个部分组成,一是新用户的注册,将信息存入数据库的过程,二是会员的登录,三是会员信息的修改,四是会员找回密码。会员登录模块的运作过程如下图:login.htm register.asp Y Y Ylogin_check.asp regcheck.asp modifyProfile.asp Y进入网上购物系统 modifyok.

15、asp 已是会员如忘记密码,则执行以下模块 get_pwd.htm get_pwd_step2.asp 找回密码后重新登录 get_pwd_step3.asp 1. 会员注册会员注册主要是用户填写个人信息的过程,判断带“*”号的必须填项是否已填齐全,用户名是否重复,密码位数的有效性,及较验码是否一致,EMAIL的判断等等。如果数据有效则添加一条新记录,存储新会员信息,完成新会员的注册。注册新会员 填写会员资料 N检验资料的有效性 Y存储资料到数据库2. 会员登录当用户完成用户名和密码的输入后,按登录按钮后进入密码验证页面,由function checklogin(shopper,passwor

16、d)函数响应此过程。主要是判断用户名和密码是否为有效字符串.如果判断为真,则代表使用者没有输入正确的用户名或密码,调出错误信息,重新登录。若用户通过验证,则可进入到default.htm网上购物主页面,可浏览所有分类商品。在该函数中,利用Recordset对象执行SQL语句,strSQL=SELECT * FROM Shopper where chrName=&chrName& ,用窗体中传来的使用者的用户名,查询数据库中姓名是否等于用户名的数据。若记录集一打开记录指针便向最后一笔记录之后,即EOF属性为true,代表找不到该用户名的数据,函数的回传值为无此用户名!。若找到该用户名的记录,但对

17、密码却不正确时,则传出密码错误 语句表达如下:if rs(chrPassword)Password then checklogin=密码错误。当调用checklogin函数进行用户名与密码的检查后,若成功登录时,则checklogin传出亲爱的用户您已成功登录购物商城!字符串。经过if语句判断后,如下:if strchecklogin=亲爱的用户您已成功登录购物商城! then session(chrName)=Request(chrName) session(chrPassword)=Request(chrPassword),并将把登录的用户名与密码写入session对象,然后用户就有权限进

18、入网上商店的主窗口,在此用了Response输出语句并使用了一个超级链接, Response.Write shopping here!,完成登录动作。将登录数据写入session对象的目的在于让用户浏览网页时,都能先检查session对象中储存的数据,判断用户是否可以浏览网页,以达到管控的目的。同样也可用Response.Redirectdefault.htm语句直接将通过用户名和密码的用户导向浏览商品的主页面。若登录失败,则checklogin函数将传出错误信息,告诉用户在登录过程中的失败的原因,并提供一个可连接到login.htm网页超级链接,以便重新登录。在default.htm网页中分

19、类显示中使用了登录权限,如果用户未经登录不可浏览此网页,同时把网页导向login.htm页面。如果用户完成登录,则直接可进入页在进行浏览,同时可享受会员的优惠。(在本系统设计过程中,由于时间关系尚未考虑到会员的具体优惠政策。)登录模块与网上购物系统的商品展示模块动作关系: login.htm login_check.asp 未登录导向至login.htm 导向Default.htm 使用者执行过程未经登录直接浏览 检验是否完成登录3. 是会员信息的修改在此首先要进行一个判断语句,用户是否已经登录过,如下:if session(idShopper)= thenResponse.Redirect(

20、login.htm),如果用户还未登录,则跳转到登录页面;如果用户已经登录,则直接进入本页修改资料。将session对象存取的用户名赋值给定义新的一个变量chrName,完成对本用户资料的修改。接下去就是利用Recordset对象执行SQL语句,strSQL=SELECT * FROM Shopper where chrName=&chrName& ,用窗体中传来的使用者的用户名,查询数据库中姓名是否等于用户名的数据。用户的详细资料利用myrecord对象执行上述SQL语句,并取得记录。把各记录的value值设置成如下例所示:value=,完成修改后,也就是把记录集重新存放到数据库中去。4.

21、会员找回密码当会员忘记密码时,可以通过密码查询模块回答几个问题后就可以找回用户的密码。在这里主要流程如下:首先通过输入用户名,取出问题,然后根据问题回答,在此用户还可以输入真实姓名进一步确认是否是本用户的密码。 Login.htm get_pwd.htm 设置变量chrName 从表单获取chrName变量,进行判断 get_pwd_step2.asp 根据用户名, 取得问题,然后用户回答 get_pwd_step3.asp 判断答案是否正确,得到密码利用Recordset对象执行SQL语句:strSQL=SELECT chrName,chrPersonalQuestion from Shop

22、per where chrName=&chrName& ,用窗体中传来的使用者的用户名,查询数据库中姓名是否等于用户名的数据。若记录集一打开记录指针便向最后一笔记录之后,即EOF属性为true,代表找不到该用户名的数据,请返回首页登记新会员。然后就是用户记录集获取问题:也就是说用户必须通过两次数据的提交,接下来就是用户的个人答案的正确与否的判断,具体执行过程同对用户名判断一样,只不是所传的变量换成chrPersonalAnswer而以,同样最后一部根据以上两个步骤得到用户的密码,原理同得到密码提示问题一样。2网上购物系统的商品展示模块主要有三个核心部分:一是商品的展示,二是存放选购产品的购物袋

23、,三是交易数据的储存。1 品的展示整个线上购物系统主画面将被分成三个部分,一是头部文件,二是分类清单区和查询商品,三是商品列表区。在分类选择区中,将显示各种商品的分类,当您点选某个分类时,商品列表区将会显示出该分类的商品。而显示于这两个区的数据均储存于数据库中,当用户浏览网页时,便会将从数据库中取得相关数据,并加以显示。2 选购产品的购物袋当用户在商品列表区中看到欲购买的商品时,只要点选订购框,接下来再按下“订购”按钮,便可放入购物袋中。至于被选取商品的数据,将被存于Session对象中。同时还可以将被挑选的商品置于购物袋外,清空,重新计算商品量的功能。3 交易数据的储存当用户确定好要购买的商

24、品以后,接下来要做的就是订单的送出。这里包含两个部分,一是取得订单的基本数据,二是将订购者基本数据与欲订购商品写入数据库。1购物袋的建立机制网上购物系统的购物袋同在超市的购物篮,购物者可将欲购的商品从展示架上拿下来放入购物袋中,也可能把商品从购物袋中再放回展示架上。所以,这里放进购物篮的商品只不过是暂存数据,这样方便用户储存产品。因此在用户还没确定购买之前,就不急把它们写进数据库里,因为放进购物袋中的商品不一定被购买,这些欲购的商品属于联机的数据,只要储存于Session对象中就可以。购物袋中主要有三种数据,一是选购的商品,二是选购的数量,三是商品种数。在这里将所有欲选购的商品的编号以,串联成

25、一个字符串,并利用Session对象的ProductList变量储存。下图为主画面相关文件运作关系:Default.htm Top.asp orderrst.aspDepartment.asp productlist.asp productdetail.asp 热卖商品展示区 shopAdd1.asp searchrst.asp shopAdd2.asp Productview.asp shopcheck.asp shopAdd.asp shopbuy.asp shopClear.asp shopSaveOrder.asp 4输出商品分类:在Department.asp中,将利用rs对象打开一

26、记录集,然后从数据库中取得Department数据表的数据,可用语句:rs.open“Department”,cnnDB /打开记录集取得数据表中的数据接着,利用Doloop循环取得记录集中的商品分类数据,再利用这些数据建立,可控制商品列表区中显示某分类商品数据的超级链接。从而控制商品列表区显示特定分类商品功能,主要是将欲显示的商品分类的分类编号超级链接给productview.asp页面。该页面将根据接收到的分类编号输出该分类的商品。超级链接的target属性被设定为Product,因此显示productview.asp页面的目标窗口为Product子窗口。5显示商品列表:在productv

27、iew.asp页面中当某些商品被订购以后,订购控件将被设定为无效,从而使用户在浏览过程中能够区分哪些商品已经购买过。在执行productview.asp页面时,必须用到的数据有两种,一是欲浏览的商品分类,另一则是已经订购商品的数据。在这里用session对象取得分类编号intParentDepartment变量。通过SQL语句:sql=select * from Products where intParentDepartment= &session(intParentDepartment)/建立从Products 数据表中取得同一类商品的数据。取得数据后,再利用Doloop循环将这些欲输出商

28、品数据建立为表格的方式。6将商品放入购物袋当在商品列表中选取了欲购买的商品后,按下“订购”按钮,将调用shoppAdd.asp页面把该商品放入购物袋中,再将页面导向productview.asp。这时在商品列表中,可以看到刚被选取的商品,其挑选取栏中的控件变成无效状态。当你选购完商品后,你可以按下“观看已选购的产品及总额”按钮,进入shopcheck.asp页面,查看当前你所购的商品及其详细的商品列表信息。在此页面主要实现的功能有:一是修改购物篮中商品数量,二是退回部分商品,三是退回全部商品,也就是说删除购物篮,四是继续选购商品,五是进入订单确认与配送资料填写页面。修改商品列表主要包括前面讲到

29、的三方面内容,当用户选购了某一商品,它的默认值是1,但用户有可能要购买好几件,在此就可以在shopcheck.asp页面中直接输入所需的商品数量,然后按重新计算就可以。退回部分商品,可以通过选中商品列表框后面的取消复选框,再按“重新计算”就可以。退回全部商品,尚无任何物品在购物袋内:If Len(Request.cookies(ProductList) = 0 Then / 商品列表被清空 Call NothingBuy /调用NothingBuy Response.EndEnd If下面是清空商品列表后所显示页面所调用的函数。您的购物车内尚未有任何物品!7新增订购数据当productview

30、.asp页面中的窗体被送出数据后,调用shopAdd.asp页面,获取当前被选取的商品编号idproduct,然后由复选框控件所传出的字符串,把窗体中新选取的复选框的值传出,对于已被选取的状态栏设定无效,并不会传出值。若记录集一打开记录指针便向最后一笔记录之后,即EOF属性为true,代表找不到任何被选购商品的数据, 调用response对象,写“尚无产品”,如下所示:if rs.eof then response.write“尚无产品”若已有选购商品的记录,设置控件状态如下,同时把商品数据放入购物篮ProductList变量中: do while not rs.eof IsCheck= Is

31、ReadOnly= ProductList = Request.Cookies( ProductList )然后判断购物篮列表,如果商品已被选取,则把复选取框和“订购”按钮设置成无效状态。If InStr( ProductList, Pr_ & rs(自动编号) & ) 0 Then IsCheck=Checked IsReadOnly=disabled End If8放入购物袋过程:将商品列表存于Cookies对象中:ProductList = Request.Cookies(ProductList)将产品列表拆分字符串:Products = Split(ID, ,)再得用 ProductI

32、D数组中的商品编号串联到ProductList中,并以Pr_为为分隔符:For I=0 To UBound(Products) If Len(ProductList) = 0 Then ProductList = & Pr_ & Products(I) & Response.Cookies(Pr_ & Products(I) = 1当商品数量超过1件,商品编号串联到ProductList中,并以,Pr_为为分隔符:For I=0 To UBound(Products)ElseIf InStr( ProductList, Pr_ & Products(I) & ) = 0 Then Produc

33、tList = ProductList & , & Pr_ & Products(I) & Response.Cookies(Pr_ & Products(I) = 1再次将新记录储存于ProductList 变量中:Response.Cookies(ProductList) = ProductList9删除商品过程传入一值为yes的myself参数,指定将执行重新储存购物数据的动作,在执行重新写入动作前,必须先清空ProductList 变量,购物袋中没有被子选取商品数据时,画面将会 If Request(MySelf) = Yes Then ProductList = 先将购物袋清除,准备

34、重新核对if Request.form(idProduct) = then ,说明没有选择“取消” lastproductid=replace(Request.form(lastproductid), ,)说明将lastproductid字符串形式用空格去掉。 ProductID = Replace(Request(lastproductid),Pr_,)说明ProductID值用lastproductid字符串形式以“Pr_”替换成空格。 Else /说明选择了“取消” 将 lastproductid 减去所勾选(取消)购买的物品 productid其中:以下几个变量的格式为:idProdu

35、ct:2, ProductID:2,29, ProductList:Pr_2,Pr_29LastProductid:Pr_2,Pr_29 IdProduct是删除商品的编号,整个删除过程用一个for循环,将idproduct存为数组,具体代码见shopcheck.asp中33-51行中。 处理分割字串过程如下:ProductList = Request.Cookies(ProductList)ProductList = replace(ProductList,)ProductList = replace(ProductList,Pr_,)尚无任何物品在购物袋内 :If Len(ProductL

36、ist) = 0 ThenCall NothingBuy 执行NothingBuy函数。退回所有商品后如要重新选购用户可以通过刷新页面后复选框按钮与“订购”按钮将会重新恢复可选状态。 完成商品数量的更改,定义变量Quatity =CLng( Request( Pr_ & Products(I) ) ),,将商品编号储存于变量Quatity 中,Quatity = Request.Cookies(Pr_ & rs(自动编号)。总金额根据从控件CDbl所获取的单价*Quatity变量。10储存订购数据的数据表储存订购单数据前,必须先说明订单数据的类型。整笔订单分为两个部分,一是订单基本数据,另外一部分是订单明细数据。订单基本数据是每张订单仅有的数据,如订购者的姓名、订购时间等数据,在同一笔订单中这类数据只有一个值。而订单的明细数据则是指订单中所订购产品的数据,在一张订单中用户不可能只购买一件商品,如商品名称、数量、价格等。当用户填完配送资料后就需要用数据表来储存这两类数据,然后串联出一笔完整的订单数据。在make_order数据表中将串联products数据表的字段 idproduct放于 productlist字段中,用户通过下订单本人的用户名可查找整张订单的数据。在shopbuy页面中用户可以确认出自己当前所购的商品,然后填写配送资料后,按下“确定送出”按钮,把

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922