网上体育用品商店的设计与实现
摘 要: 本文主要探讨了基于B/S运行构架和Windows 2000 Server+ASP+Access 2000设计模式下,采用Dreamweaver MX 2004可视化、交互性网页开发工具进行网上体育用品商店的开发和后台数据库设计的基本方法和步骤[1],着重论述了会员注册与管理、商品浏览、购物车、管理员操作等功能模块的设计与实现过程。系统界面友好,性能稳定,效果良好,集信息数据添加、维护、管理等功能于一体。
关键词: 信息资源; ASP; 数据库组建; 体育用品信息; 购物车
1 引言
商业活动可以说由来已久,世界上自从有了人类,就从未间断过商业活动。但在发达的商品交换中,传统商业采用的是柜台式的一手交钱一手交货的交易方式,售货员是消费者与商品之间的桥梁,售货员的态度和服务效率直接影响商品的销售。于是计算机管理系统的应用,使发达国家的商业进入了一个新的发展阶段,使物流、资金得到了进一步的完善,为商品信息的处理、传递提供了可靠的保证,促进了商品的销售,形成了一套成功、完整的经营管理体系。Internet的发展与应用使商家看到了它的商业价值及潜在的市场,纷纷在网上建立了网上购物系统,来推销自己的产品,各种各样的网上购物商店应运而生[2]。
美国一项权威调查显示,大约只有十数种商品适合网上销售,比如书、音像制品、化妆品、体育用品等。据业内人士透露,从中国电子商务发展的现状来看,在线品牌商店将领导市场,企业要在同行业中生存下去,重要的条件之一就是创建具有鲜明特色的网上商店。与此同时中国人民的保健意识在不断的提高,人们越来越意识到有钱买不来健康,治病不如无病。现代生活由于运动不足导致肥胖、高血压、高血脂、心肌梗塞、糖尿病、动脉硬化、脑中风等各种富贵病。健康是人类现代生活的主题之一,越来越沉重的社会压力,越来越快的生活节奏,使每个人都感到疲惫,使得慢性疾病的发生迅速增加。随着生活水平的日益提高和改善,保健意识也随之迅速普及,保健要求越来越强烈。而美的概念也已经发生了变化,健康的美才是真正的美。现在人们比以往更关心自身的健康、健美、长寿和精神享受。因此,健身运动蔚然成风。但苦于工作繁忙、空气污染等诸多因素的限制,往往使许多美好的愿望难以实现。运动器材可使大家免除不必要的烦恼,随时在家中、在办公室、运动场地进行健身运动。
为此我们顺应电子商务发展的潮流以及现代生活中人们消费的需求,构建网上体育用品商店。本网站在开发过程中运用ASP进行系统开发,Dreamweaver MX 2004为网页开发工具,Access 2000创建系统数据库。在开发过程中存在购物车的实现以及数据库的连接等技术难题,我们将克服并最终实现这些功能。
通过本网站的开发,我们将为众多的体育爱好者以及广大的追求健康的消费者提供需要的、新的、快捷的、方便的购物方式和服务。解决广大消费者外出购物时间越来越少,交通的拥挤和日趋增大的店面致使的时间和精力的浪费,琳琅满目的商品也使消费者眼花缭乱等一些繁琐的问题。
2 系统分析
2.1系统设计目标
(1) 应满足广大消费者网上购买体育用品的基本需要,并达到操作过程中的直观、方便、实用等要求;
(2)具备网站及数据库的维护功能,及时根据用户需求进行网络更新,数据的添加、维护、修改等操作;
(3)尽量考虑到在建设一个网站时,不同应用程序之间存在的各种可能的联系,以及可能存在的错误的陷阱,确保用户私人数据的安全性。
2.2系统功能分析
在网上体育用品商店的设计中,明确该系统在实现后应具有以下四个功能模块:
(1)商品浏览模块
实现商店所有商品的分类上架,供用户浏览选择。将需要在网络上销售的商品加以归总和分类,建立一个基本的网站商品分类体系。然后在网站上按照分类体系分别设置商品陈列架,用户可以通过浏览不同的陈列架找到所需要的体育用品, 用户也可以通过查看结果而获得商品的详细情况,如货号、品牌、价格和相应的图片等。同时用户也可以浏览数据库中存储的全部商品,以便进行多种商品的浏览和选择性的购买;
(2)会员注册与管理模块
本模块中包括新会员的注册、会员身份的验证、会员信息的修改、会员身份注销和预订制商品。在这种用户注册会员制管理方式下,网站的注册会员可以在每次进入本站时,通过验证身份而获得在线购物和其他的一些权利,如果用户发现自己的注册信息有错误,也可以在线修改。在本网站的这种管理模式下非会员用户只能在网站上浏览,但是不能在线购物(即下定单)。而预订制商品是指会员需要而本店没有的商品,会员可以通过缺货登记页面预订自己所需要的商品,本店会尽力满足用户的需求;
(3)购物车模块
该网站的重点就在购物车模块的实现上,在该模块中需要完成用户将选择的商品加入购物车的功能,决定购买后可以结账的功能,结账后生成购物定单的功能,以及提示购物积分和提醒及时付款等功能。在购物车中用户可以对自己选择的商品取消购买,也可以对每件选择的商品决定购买的复件数。当会员在查看购物车页面看到了自己的购物积分时,同时提醒您,您的购物定单已经生成。所谓购物积分是指对用户资料进行采集,记录用户每次购物的信息,达到一定分值会有相应的优惠。定单生成后会提醒用户在有效的日期内进行付款,否则将取消已生成的定单;
(4)管理员操作模块
管理员操作模块,就是管理员将商品输入数据库并对其进行维护的功能模块。在此模块中首先有一个管理员登录页面,只有在管理员登录以后才可以进行输入操作,非管理人员在没有用户名和密码的前提下是不能登录的。登录以后管理员根据数据库中商品信息表中所包含的字段将用户预订的商品以及该店要上架的新的商品信息输入表中。
2.3系统设计流程图
在本系统功能分析的基础上,得到如图2.1所示的系统设计流程图:
体育用品商店
商品浏览模块 商品购物模块 用户管理模块 管理员模块
整体浏览商品 分类浏览商品 注册 定货 添加商品
结果输出 放入购物车 身份验证 资料修改
查看结果详情 查看购物车
预订制商品
决定购买
定单生成
图2.1系统设计流程图
2.4各功能模块间的关系
各模块内部具有错综复杂的关系,其中最主要的就是购物生成定单与用户身份验证之间的关系。下面列出我们分析得出的关于这些模块内及模块之间的联系。
(1)会员登录通过以后才能进行资料修改。在修改资料之前必须判断当前用户是否已经登录。
(2)会员登录以后才可以进行商品的预订。在预订商品之前必须判断当前用户是否已经登录。
(3)用户浏览商品,选购商品,将商品放入购物车。如果该用户决定要购买这些商品,即要生成定单,就必须判断当前用户是否已经登录。
(4)用户身份验证通过后将要生成定单。如果用户需要在定单生成之前进行资料修改,则需要转入用户个人资料修改页面,该程序位于会员管理模块中。
(5)用户通过检索功能(即商品分类)找到所需要的商品,满意后放入购物车,即由商品浏览模块转入购物车模块。
(6)而对于管理员操作模块,和其它的几个模块之间没有多大的联系。它只是用来管理数据库中商品数量及品种是否齐全,是否可以满足用户的需求,然后进行及时的添加和维护。
这些联系反映了网站设计的基本思路和程序编制的基本流程。从上述对功能模块的分析中可以看出身份验证在整个购物的过程中发挥着相当重要的作用。
2.5开发工具和运行环境的选择
(1)软件平台选择
目前实现信息资源共享的方法不少,本系统选择微软公司推出的ASP应用程序开发技术。ASP是目前较简便的服务器端脚本执行环境,它集HTML、ODBC数据库访问和其它许多新技术于一身,提供多个内置对象可以直接调用,具有开发简单、功能强大、扩充性好等优点,几乎支持所有脚本语言,如VBScript、JavaScript和Perl等[3]。同时ASP作为一个服务器端的脚本环境,可以产生并执行动态、交互式、高效率的站点服务器应用程序。ASP可以胜任基于Microsoft Web服务器的各种动态数据发布。
系统软件设计选择的开发工具有:
网页开发工具为Dreamweaver MX 2004。原本可以利用各类网页制作工具来进行综合网页开发,但是Dreamweaver MX 2004它是一个可视化的、动态的网页设计和网站开发管理工具,支持最新的Web技术和ASP、JSP、PHP等数据库编程。而本网站本身为一动态的设计,同时还考虑到诸如FrontPage等老牌开发工具中存在的一些弊端,故选择了Dreamweaver MX 2004来作为本网站的开发工具。
服务端操作系统为Microsoft Windows 2000 Server
Web服务器使用Microsoft Internet Information Server5.0;数据库服务器使用Microsoft Access 2000。
客户端操作系统为Microsoft Windows 2000;浏览器为Microsoft IE4.0以上。
(2)后台数据库的设计
运用ASP进行系统开发, Microsoft ADO是实现Web网页与数据库的集成和连接的一个很好的解决方案。ADO是ASP中内置的ActiveX服务器组件,可以支持多种数据库类型,如FoxPro、Paradox、SQL Server、Oracle、Access等。由于Access具有运行速度较快、兼容性好、提供口令支持,集信息创建、发布和共享于一体,较适合于中小型网站。故我们采用Access 2000软件创建系统数据库。
3 设计过程
3.1数据库的需求分析
根据系统功能设计的要求以及功能模块的划分,对于本网上体育用品商店的数据库,可以列出以下数据项和数据结构:
会员信息表(users):CUSTID、USERID、USERPW、NAME、IDNUMBER、SEX、AGE、ADDRESS、ZIPCODE、PHONE、EMAIL、POINTS等。
定单信息表(orders):ORDERID、ORDERDATE、CUSTOMERID、DETAILS、ITEMTOTAL、TOTALORDER、PAYSTATUS等。
商品信息表(product):PRODUCTID、ITEM、KIND、NAME、DESCRIPTTION、PRICE、NAMETAG、PHOTO等。
预订制商品表(preorders):USERID、PRONAME、NAMETAG、DESCRIP、PRETIME等。
3.2根据数据库的需求分析建数据表
下面列出的数据库中的表:
表3.1会员信息表
字段名 |
数据类型 |
字段长 |
字段说明 |
CUSTID |
文本 |
50 |
|
USERID |
文本 |
50 |
|
USERPW |
文本 |
50 |
|
NAME |
文本 |
255 |
|
IDNUMBER |
文本 |
20 |
|
SEX |
文本 |
50 |
|
AGE |
文本 |
10 |
|
ADDRESS |
文本 |
255 |
|
ZIPCODE |
文本 |
10 |
|
PHONE |
文本 |
50 |
|
|
文本 |
255 |
|
POINTS |
数字 |
长整型 |
|
表3.2定单信息表
字段名 |
数据类型 |
字段长 |
字段说明 |
ORDERID |
文本 |
50 |
|
ORDERDATE |
文本 |
50 |
|
CUSTOMERID |
文本 |
50 |
|
DETAILS |
备注 |
— |
|
ITEMTOTAL |
文本 |
50 |
|
TOTALORDER |
货币 |
— |
|
PAYSTATUS |
是/否 |
— |
|
表3.3商品信息表
字段名 |
数据类型 |
字段长 |
字段说明 |
PRODUCTID |
文本 |
50 |
|
ITEM |
文本 |
50 |
|
KIND |
文本 |
50 |
|
NAME |
文本 |
50 |
|
DESCRIPTTION |
文本 |
200 |
|
PRICE |
数字 |
双精度型 |
|
NAMETAG |
文本 |
50 |
|
PHOTO |
文本 |
50 |
|
表3.4预订制商品表
字段名 |
数据类型 |
字段长 |
字段说明 |
USERID |
文本 |
50 |
|
PRONAME |
文本 |
50 |
|
NAMETAG |
文本 |
50 |
|
DESCRIP |
备注 |
— |
|
PRETIME |
时间/日期 |
|
|
3.3前端网络页面的开发与设计
(1)首页(index1.asp)
本网站的首页只是对网站中的情况作了一个比较简单的说明。网站的所有内容在点击了“进入网站”链接按纽以后即可见。
(2)商品分类页面(index.asp)
网站的主题为购物,那么在该页我们应当给用户这样的印象,因而设计的网上商店的分类页面即是商店商品的分类浏览界面。用户可以通过页面左边的导航栏浏览不同类别的商品,数据库中存储的该类商品即显示到右边的窗口中。商品基本大类分为服装类、鞋帽类、器材类、球类等。具体划分小类如下:
(1) 服装:休闲系列、运动服装及其它服装;
(2) 鞋帽:篮球鞋、排球鞋、足球鞋、旅游鞋、帽子;
(3) 器材类:健身器材、篮球器材、羽毛球器材、乒乓球器材及其它;
(4) 球类:足球、篮球、排球、台球及羽毛球。
其次,在本页提供用户进行其他操作的入口(功能导航栏),如允许用户进入到注册、登录、修改个人资料、商品浏览和查看购物车等功能页面。
根据这样的要求,我们将网站的页面分为三个栏。上栏提供各模块导航;左下栏提供商品各类导航,右下栏用做主显示窗口。而在其它的页面也将使用这种布局,只是在其它页面的左下栏提供的是一些体育新闻,右下栏用做显示商品、提供登录界面、注册新会员、进行资料修改、预订商品等。大致页面分栏效果及分类显示如图3.1所示:
图3.1页面分栏及分类显示效果
(3)注册页面(enroll.asp)
新会员注册时需要提供一系列的信息,对于一个电子商务网站来说,这些信息的可靠性直接与网站的效益挂钩。因此,必须对用户填写的各种信息进行一定的合法性检验,避免过多的无效注册访问服务器,浪费服务器的资源。用户在这个页面输入自己的用户名和口令(包括确认口令),以及其它的一些要求必须填写的资料。当然,如果注册成功,则给出注册成功的信息,成为本店的会员,可以马上进行购物 ,享有会员的一切权利;如果注册不成功,系统则会提示用户,注册不成功的原因,同时可以重新注册。注册页面效果如图3.2所示:
图3.2注册页面效果图
(4)登录页面/老会员登录页面(login.asp/ oldlogin.asp)
系统登录页面采用了一个表系统,会员信息表。在系统登录页面里需要引入USERID和USERPW字段进行用户身份的鉴别。如果用户身份通过鉴别的话,系统登录页面还要记录用户的详细信息,留待以后的系统页面使用,比如说在修改个人资料或者是购物结账时都会用到。还有就是注销的功能,如果要注销必须先登录,在没有登录就要进行注销时,系统会通知用户还没有登录,同时转到登录页面。
登录页面和老会员登录页面本身没有多大的区别,只是老会员登录页面是在用户没有登录而要购物结账的时候弹出的要求登录的页面;而登录页面是随时都可以打开的页面。
(5)缺货登记页面(预订制商品页面)(prefill.asp)
此页的功能是,如果用户在网站上没有找到其所需要的商品,用户可以向网站预订商品。网站可以根据用户预订的商品信息,了解商店缺货情况,及时充实商品数量和类型。因这涉及到数据库的管理问题,所以只允许本站注册会员才享有此预订商品的权利,非会员的用户只能是在进行了注册并且注册成功以后才可以使用该功能。该页效果如图所示3.3:
图3.3缺货登记页面效果
(6)个人资料修改页面(updata.asp)
该页面是专为会员设置的页面,当用户认为自己的个人资料有哪一部分需要修改时,可以进入此页面进行修改。修改个人资料的程序分两步进行,首先判断session的状态是否为“已经登录”。如果没有登录,则提示用户还没有登录,进入登录页面;否则将该用户的资料以表单的形式显示,供用户修改。资料修改结束以后,点击继续购物页面将进入商品分类显示页面,会员可以继续浏览或购物。
(7)商品浏览页面(show.asp)
在商品浏览页面,网站设计以每页10条记录的形式显示数据库中存储的所有商品的信息。显示的商品在类别上没有任何的规律性,它是以商品编号的英文字母降序排列的。
(8)服务中心页面(server.asp)
该页面中为用户详细的述说了本店的服务宗旨、服务承诺以及售前、售中、售后提供的一系列的服务。该页面在用户的定单生成时还可能用到。因为在定单生成页面,为了让用户能清楚而放心的进行付款,网站将该页与定单生成页进行了链接。
(9)查看购物车页面(viewcart.asp)
查看购物车中的商品即检查存储用户选择商品信息Cookies中是否存有数据,如果该Cookies字典为空,则表明当前用户的购物车中没有商品;否则表明当前用户的购物车里有商品,需要把商品信息显示给用户[4]。该页面最后还提供了3个选项,即继续购物、清空购物车、现在结账。继续购物,则关闭购物车,回到网站的商品分类页面,以便可以继续浏览购物;清空购物车,将所有已加入购物车的商品信息清空;现在结账,则用若干个session变量记录用户需要购买的每种商品的个数,以及检查是否有决定不购买的商品。如果购物车中有商品,且已决定购买,而没有登录则转到身份验证页面,否则显示购物成功。购物定单生成后,显示用户的购物积分,同时提醒用户以什么样的方式进行付款。
(10)管理员登录页面(mangementor.asp)
为了确保系统数据库中数据的安全性,设置了该页面。并且只有管理员才可以使用自己拥有的管理员账号以及密码进入该页面,然后进行数据库中商品信息的添加。
(11)管理员添加商品页面(goods.asp)
该页面为管理员操作页面,在此页面上以表单的形式将商品所拥有的所有信息项都显示出来,管理员在添加商品时需要一一填写。在页面的右侧一分栏中还列出了管理员需知项目,在该页面管理员也可以进入商品浏览页面,以便对添加的商品进行检验。
3.4内部逻辑结构图
在本网站的开发设计过程中所有涉及到的程序及其模块之间形成一个密切的逻辑图如图3.4所示。从这个逻辑图上可以看到这些程序所具备内部联系,以及表现在这种内部联系上的程序设计思路。
首页index1.asp
会员管理与注册模块 商品浏览模块 购物车模块 管理员操作模块
注册enroll.asp 陈列 show.asp 加入pushcart.asp 登录mangementor.asp
custadd.asp
分类index.asp 查看viewcart.asp 添加goods.asp
登录oldlogin.asp
findhistory.asp 清空removecart.asp
注销destroy.asp 结帐forinvoece.asp
oldlogin.asp
logincheck.asp
修改update.asp makeinvoice.asp
infoupdate.asp
预订prefill.asp
preorder.asp
图3.4内部逻辑结构图
4 系统的实现
该系统模拟了一个网上电子商务网站的制作流程,结合了一般大型程序的设计原理。只是还不能像一个真正的电子商务网站那样可以进行实际应用,毕竟它还存在一些漏洞[5]。所以该系统只是一个模拟网上电子商务网站制作的网上体育用品商店。
虽然说是一个模拟的网站,但是麻雀虽小五脏俱全,一个网上电子商务网站应该具有的功能,在该网站都得以一一实现。
4.1实现购物车模块
购物车在网上体育用品商店这样的网上购物体系中是必不可少的,所以在本网站的实现过程中将其列为了重点的克服对象,最终我们实现了购物车的功能。
在本网站的购物车这个功能模块中不但可以把商品加入购物车而且还可以在查看购物车页面看到会员自己将那些商品加入了购物车中,同时还可以在该页决定是否购买已经选择的商品或者是决定要购买的数量。在下面的查看购物车页面显示的清空购物车功能,将把用户放入购物车中的所有商品都清空,清空结果将在一个弹出式窗口中显示,同时提醒用户关闭弹出窗口,而界面已经返回了商品分类页面。
下面将显示把一些商品加入购物车(图4.1)和商品加入购物车后查看购物车(图4.2)页面的运行结果。不论是在加入购物车页面还是在查看购物车页面,点击继续购物都将返回网站的首页面。
图4.1商品加入购物车效果图
图4.2查看购物车效果图