毕业设计The Design Implement of Online Shop
学 院: 北京交通大学 专 业: 计算机与技术 班 级: 13级 姓 名: 曹孟欣 指导教师: 赵阿群
2015 年 5 月 10 日摘 要
本文主要介绍了此次毕业设计的开发背景及如何分析、设计和实现的。现在绝大多数的人们购买化妆品都是通过去实体店,在那里查看自己需要的化妆品并进行购买。经过几年实践,我国电子商务发展迅猛,并且越来越走向务实,在线购物已经蓬勃发展起来。随着经济不断发展,我国使用化妆品的人群在不断增加,化妆品销售网站的构建是非常必要和可行的,在我国已得到初步应用并有很广泛的市场需求前景。
在论文中首先介绍了电子商务及化妆品网上销售的相关知识,并根据以上知识,使用ASP动态网页制作技术,结合Access 2003数据库,设计实现一个化妆品销售动态网站。文中主要包括系统分析、可行性研究、平台论证、需求分析、网站的总体设计、详细设计、数据库设计等,并通过流程图和文字加以解释说明。
关键词:电子商务;化妆品销售;ASP
目 录
1. 绪论 1
1.1 选题背景 1
1.2 选题意义 1
1.3 资料来源 2
1.4 系统特点 2
1.5 本文结构 2
2. 系统分析 3
2.1 初步调查 3
2.2 可行性分析 3
2.3 详细调查 4
3. 系统设计 8
3.1 系统设计目标 8
3.2 系统功能结构图 9
3.3 数据库设计 11
3.4 编码设计 18
4. 系统实施 38
4.1 开发工具选择 38
4.2 软硬件环境设计 38
4.3 系统测试 39
5. 系统使用与维护说明书 40
5.1 系统安装与配置说明 40
5.2 系统使用说明书 42
5.3 系统维护说明书 46
6. 设计开发总结 47
6.1 设计中使用的关键技术 47
6.2 毕业设计体会 48
参考文献 50
谢 辞 51
化妆品网站的设计与实现
绪论
选题背景
随着 Internet 的普及和电子商务的兴起,网上化妆品销售是 Internet 电子商务在化妆品销售行业发展的必然结果 ,这种新型的化妆品销售形式,与传统利用实体店进行销售的方式相比拥有许多优势:一是降低了销售成本;二是利用网络作为交易平台,改变传统的交易方式,使得交易活动不受空间和时间的限制;三是信息的传递更迅速灵活,新车信息上传后,客户可以立即看到,交易马上可以从网上进行,从而大大提高了交易的效率。而对于普通购买者来说,难以在短时间内找到自己心仪的化妆品,无法及时购买到也成为购买者的难题。因此如何采用先进的信息化手段解决这些诸多问题也成为趋势及必然。
正是由于这种必然趋势 ,网上化妆品销售才能得以迅速地发展。网上化妆品销售系统的主要功能是利用网站作为交易平台,将化妆品的一些基本信息以网站的形式发布到 Internet 中,客户可以通过 Internet 登录化妆品销售网站来查看化妆品信息并提交订单订购化妆品,实现在线交易。因此,开发这样一个网上化妆品销售平台就成为很有必要的事情。化妆品销售网站开发后不仅可以大量减少人力、物力,降低了成本,而且突破了时间和空间的限制,使得化妆品交易活动可以在任何时间、任何地点进行,从而大大提高了效率。
现在越来越多的人喜欢上网购物,虽然网上购买化妆品还比较少见,但是随着近几年电子商务的迅猛发展,网上化妆品城慢慢蓬勃发展起来。在我国网上选购化妆品已经得到初步应用并且具有很广泛的市场需求前景。
网上化妆品销售可以实现人们远程逛逛化妆品城和购买化妆品的愿望。本系统的主要功能是可以更好的帮助实体店经营管理化妆品销售,了解顾客需求。从而可以达到扩大市场和增加知名度的作用。
选题意义
在各行各业竞争日益激烈的今天,加强工作管理,提高工作效率和工作质量是每一个企业必须面临并且必须解决的重大课题。化妆品销售业在面对进货、销售、存货问题时,以前手工作坊式的管理已远不能够满足现今日益扩大的化妆品销售市场,企业只有采取信息化管理方式,才能够保证企业的最大赢利及可持续发展。
化妆品销售系统不仅可以大量减少人力、物力,降低了成本,而且突破了时间和空间的限制,使得化妆品交易活动可以在任何时间、任何地点进行,实现24小时营业,不需要营业员,网上化妆品城可以被设置成一个自动售货机;可以利用多媒体促销,各种文字,图象和动画,声音,让受众全方位感受广告诉求;依靠客户数据库能够提供全新的个人化服务等等。其营业成本比传统意义上的实体店低得多:不需支付昂贵的店铺租金,花费浩大的装修;不需要将大笔的流动资金作为货物而沉泣在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周转;同时,网上化妆品销售更容易开拓全球市场,从而大大提高了效率。对推动化妆品销售业的发展有着一定的实际意义。
资料来源
本文在深入分析电子商务的特点的基础上,对化妆品销售行业进行了深入调研,利用互联网海量资源,抽象分析了化妆品销售的共性特点,结合用户需求,提炼出系统的功能需求。化妆品销售相关的业务资料来自于互联网和各大化妆品巨头的官方网站;编程技术资料来源于日常学习及学校化妆品馆借阅的书籍。
系统特点
本系统设计具有紧密结合化妆品销售行业的业务、设计界面简洁大方、便于使用等优点,此外,本系统使用ASP+ACCESS开发,非常便于部署,成本较低,并且具有完全的自主知识产权。
本文结构
本文通过基于Web的技术对一个小型化妆品网站进行设计和开发。
第一章:绪论(本章阐述了系统的开发背景、研究意义,分析了化妆品销售网站设计的特点和资料来源)
第二章:系统分析(分析了此系统的可行性,需求及数据需求)
第三章:系统设计(根据系统需求,设计了系统的数据库结构,并对系统功能模块机型划分和细化)
第四章:系统实施(说明系统开发工具、软硬件环境,结合代码和图片,对实现的功能加以解释说明,并需要对程序各个页面进行测试工作,看看是否达到要求)
第五章:系统使用与维护说明书(介绍系统安装与配置说明,以及系统使用说明和系统维护说明)
第六章:设计开发总结(介绍了设计中使用的关键技术、以及本次设计的心得体会)。
系统分析
初步调查
目前网站设计所选用的模式有B/S(Browser/Server)、C/S(Client/Sever)、B/B(Browser/Browser)、C/C(Client/Client)这四种常用的架构,针对不同的需求有目的地选取系统架构也是必须的,本化妆品在线销售管理网站的功能需求所采用的是B/S架构。
B/S结构的优点是可以在任何地方进行操作而不用安装任何专门的软件。充分利用浏览端和服务器端硬件环境的优势,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言和动态网页编程技术,用通用浏览器实现本需复杂专用软件才能实现的强大功能,节约了开发成本,是一种全新的软件系统构造技术。
可行性分析
技术可行性
技术可行性分析是指:根据现有的技术条件,是否能达到所提出的要求;所需要的物理资源是否具备,能否得到。
本系统属于一个普通的MIS系统。在其组织关系上不存在很高的复杂性、烦琐性及不确定性,而且从整个系统的技术构成上来看,他还是属于一个简单的数据库应用类的系统。其基本操作是对数据库进行添加、删除、查找、编辑等。所就单纯的数据库应用来看,暂不存在太大的技术。并且在系统的开发过程中,利用Access作为该系统的数据库,使用ASP作为系统开发的工具[4]。
软件方面:本系统采用ASP、Dreamer weaver开发出友好的人机界面,便于用户理解、操作。数据库管理能够处理大量数据,同时保持数据的完整性、安全性、一致性。因此开发平台已成熟可行。
硬件方面:科技飞速发展的今天,硬件更新速度飞快,容量也越来越大,可靠性越来越高,价格普遍降低。因此硬件平台也能够满足本系统所需。
因此本系统的设计与开发在技术上和硬件设备上的条件都得到满足,技术上是可行的。
经济可行性
经济可行性分析主要涉及系统开发成本和收益的对比。从开发成本上考虑,本系统开发所使用的ASP技术,是基于WEB的B/S结构开发,系统的运行所需服务器可由专业的网络公司提供,这样,企业可以不用购买与系统实施相关的软、硬件设备,只需支付提供服务的专业网络公司一定的使用费即可,成本很低。
计算机网络飞速发展的根本原因在于计算机的应用促进了社会经济的发展,并且给社会带来了相当大的经济效益回报。通过网站管理化妆品销售信息在速度和效率上都会有极大的提高,同时巩固客户与商家的稳定互动关系,给商家都带来了巨大的收益。
操作可行性
原始的信息收集方式费时费力,网络普及化的今天,各个年龄阶层的人群对于网络都有一定程度的接触和了解。
因此化妆品在线销售的普及也变得异常快捷。动动鼠标就能获得物品和服务,这就使得人们更加乐于接受这种消费方式。
详细调查
软件开发中的角色是指按照一定体系划分用户类型,它能够代表用户的特征,是统一描述众多用户个体的集合。不同的角色对应程序的需求目标不同,只有明确了角色,软件开发人员才能在纷乱复杂的要求中理出脉络,分析出完整的应用程序模型。
作为一个网上化妆品销售系统,可以有三个基本的角色:
(1)网站管理员
(2)网站会员
(3)网站的普通浏览者
业务流程分析
由于不同角色需求目标不同,因此每一个角色在系统中具有的功能也不同。下面是化妆品销售网站系统中三个角色具有的功能。
网站管理员应具有的功能
(1)对化妆品类别的管理:
添加化妆品类别
修改化妆品类别
删除化妆品类别
(2)对化妆品的管理
添加化妆品
修改化妆品
删除化妆品
(3)对化妆品订单的管理: 审核化妆品订单
2.网站会员应具有的功能
会员注册
会员登录
浏览化妆品销售网站的化妆品
查询化妆品销售网站的化妆品
使用购物车购买化妆品,并生成相应的订单。
3.普通浏览者应具有的功能
(1)浏览化妆品销售网站的化妆品
(2)查询化妆品销售网站的化妆品
化妆品销售网站从用户的角度考虑,用户可以搜索指定的化妆品,用户也可以照化妆品类别浏览化妆品,用户注册身份并登陆到化妆品销售网站后可以购买指定的化妆品。化妆品销售网站从网站管理员的角度考虑,需要对化妆品类别的信息和化妆品信息做出处理,以使管理员的管理更加方便,用户的浏览和查询更加高速快捷。此外还应该对用户的订单进行有效的管理[2]。
数据流程分析
该化妆品销售网站中,主要有“顾客”、“化妆品”、“管理员”等数据元素,它们之间通过订单有机联系在一起,如下图2-1所示:
图2-1 数据流程分析
数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。
1、数据流
数据存储名称:顾客信息
数据来源:顾客信息表
数据去向:顾客登陆模块
数据组成:顾客信息=ID+用户名+密码+注册时间+…
描述:存储了顾客的基本信息 数据存储名称:化妆品信息
数据来源:化妆品信息表
数据去向:化妆品浏览、化妆品管理模块
数据组成:化妆品信息=化妆品ID+名称+品牌+型号+最高时速+油耗+价格+…
描述:存储了化妆品的基本信息 数据存储名称:订单信息
数据来源:订单信息表
数据去向:提交订单模块
数据组成:订单信息=顾客ID+化妆品ID+购买数量+价格+购买时间+…
描述:存储了信息 2、数据项
管理员数据项:
数据项:用户名
数据类型:文本类型
长度限制:20 数据项:密码
数据类型:文本类型
长度限制:20 顾客数据项
数据项:用户名
数据类型:文本类型
长度限制:50 数据项:密码
数据类型:文本类型
长度限制:50 数据项:Email
数据类型:文本类型
数据长度:50 数据项:身份证号
数据类型:文本类型
数据长度:18
化妆品数据项
数据项:名称
数据类型:文本类型
长度限制:100 数据项:型号
数据类型:文本类型
长度限制:50 数据项:最高时速
数据类型:数字类型
数据长度:4 数据项:综合油耗
数据类型:浮点数类型
数据长度:8 数据项:品牌
数据类型:文本类型
数据长度:50 数据项:价格
数据类型:数字类型
数据长度:4 数据项:详细信息
数据类型:文本类型
数据长度:1000 数据项:车型级别
数据类型:文本类型
数据长度:50 系统设计
系统设计目标
化妆品销售系统其模型是典型的网上购物实践中最为普遍的电子商务企业对客户 (B2C) 模式,主要包括会员注册、帐户管理、购物车、搜索、结帐等基本功能。此外,本系统也将实现在线化妆品销售系统的后端管理,包括化妆品的添加、帐单的处理等功能。本系统完全基于ASP技术,在系统的设计与开发过程中严格遵守软件工程的规范,运用软件设计模式,从而减少系统模块间的偶合,力求做到系统的稳定性、可重用性和可扩充性[1]。
化妆品销售系统主要的功能如下:
(1)客户界面部分:
①选购化妆品(可通过关键字进行查询)
②可以查看热门化妆品和新品化妆品等
③购物车功能
④查看化妆品详细情况
⑤用户注册
⑥用户登陆
⑦查看用户的订单信息
⑧修改用户个人信息
⑨化妆品评论
(2)管理员界面部分:
①添加新化妆品:可以分别上传化妆品的小图片和大图片
②现有化妆品管理:修改,删除,查看
③订单管理:查看订单清单,删除订单
④化妆品评论管理:通过审核,删除评论
⑤化妆品分类:增加,修改和删除
⑥用户管理:查看,修改,删除
⑦管理员管理:添加管理员,可以分别给后台工作人员设置权限。也可以进行删除修改后台工作人员的信息。
系统功能结构图
根据对系统需求的分析,可以把系统划分:用户功能模块、管理员功能模块、购买信息模块、化妆品信息模块。根据系统功能分析,可以画出系统的功能模块图,这里从用户界面、管理员界面分别对功能模块加以描述。
主界面显示了很多信息,如推荐化妆品,最新化妆品,化妆品搜索,化妆品分类等。本系统全部采用了后台和前台代码分离技术。前端实现功能如3-1所示:
图3-1功能模块图
图3-功能模块图
图3-3 管理员实体图
化妆品大分类示意图包括大分类号、大分类名、等级、分类顺序如图3-4所示:
图3-4大分类图
图3-5图
图3-6 评论图
图3-7 子分类实体图
数据库物理结构设计
根据数据库概念模型设计,使用Microsoft Access 2003数据库软件,创建一个数据库,名称为db.mdb。该化妆品销售网站数据库包含八个表,分别为:admin、category、delivery、orders、 product 、review 、sorts 、user,详细结构设计如下。
管理员信息表存放了编号,管理登陆名,密码,权限,其中编号是主键。如表3-1所示:
表3-1管理员信息表admin
字段名 说明 字段类型 备注 id 编号 Int 主键,自动递增 admin 管理登陆名 Varchar(50) 不允许为空 password 密码 Varchar(50) 不允许为空 rank 权限 Int 不允许为空 商品大分类信息表包括大分类号,大分类名,等级,分类顺序,其中categoryid是主键,如表3-2所示:
表-2化妆品大分类信息表category
说明 字段类型 备注 categoryid 大分类号 Int 主键,自动递增 category 大分类名 Vachar[50] 不允许为空 first 等级 smallint 不允许为空 categoryorder 分类顺序 Varchar[50] 不允许为空 交付信息表包括交付编号,交付项目,交付费用,交付方法,交付顺序,其中交付编号是主键。如表3-3所示:
表3-3交付信息表delivery
字段名 说明 字段类型 备注 deliveryid 交付编号 Int 主键,自动递增 subject 交付项目 Varchar(50) 不允许为空 fee 交付费用 real 不允许为空 method 交付方法 Int 不允许为空 deliveryidorder 交付顺序 Int 不允许为空 订单信息表包括订购编号,用户名,订单日期,编号,产品数量,订单号,状态,收货人,地址,邮箱,评论,付款方式,收货方式,用户性别,付款,订货人,用户邮箱,用户电话,用户编号,其中订单编号是主键,商品编号和用户编号是外键,如表3-4所示:
表-4订单信息表orders
说明 字段类型 备注 actionid 订购编号 Int 主键,自动递增 username 用户名 Vachar(50) 不允许为空 actiondate 订单日期 Datetime 不允许为空 id 编号 Int 外键 productnum 产品数量 Int 不允许为空 goods 订单号 Varchar(50) 不允许为空 state 状态 Int 不允许为空 recepit 收货人 Varchar(50) 不允许为空 address 地址 Varchar(100) 不允许为空 postcode 邮箱 Int 不允许为空 comments 评论 Varchar(MAX) 不允许为空 paymetord 付款方式 Int 不允许为空 deliverymethord 收货方式 Int 不允许为空 sex 用户性别 Int 不允许为空 paid 付款 Real 不允许为空 realname 订货人 Varchar(50) 不允许为空 useremail 用户邮箱 Varchar(50) 不允许为空 usertel 用户电话 Varchar(50) 不允许为空 userid 用户编号 Int 外键 化妆品信息表包括编号,化妆品名称,品牌,型号,出厂日期,积分,详细说明,售后政策,权限,市场价、会员价、是否推荐,购买数,浏览数,折扣,小分类编号,大分类编号,商品图片,添加日期,权限数量,会员价格,制造商,厂商,经销商,最高时速,综合油耗等。其中id是主键,小分类编号,大分类编号是外键。如表3-5所示:
表-5 商品信息表product
说明 字段类型 备注 id 编号 Int 主键,自动递增 name 化妆品名称 Varchar(255) 不允许为空 brand 品牌 Varchar(255) 不允许为空 introduce 型号 Varchar(255) 不允许为空 productdate 出厂日期 Varchar(255) 不允许为空 score 积分 Real 不允许为空 detail 详细说明 Varchar(MAX) 不允许为空 content 售后政策 Varchar(MAX) 不允许为空 rank 用户评级分数 Varchar(255) 不允许为空 price1 市场价 float 不允许为空 price2 会员价 float 不允许为空 recommend 是否推荐 Int 不允许为空 solded 购买数 Int 不允许为空 viewnum 浏览数 Int 不允许为空 discount 折扣 Real 不允许为空 sortsid 小分类编号 Int 外键 categoryid 大分类编号 Int 外键 pic 图片地址 Varchar(255) 不允许为空 adddate 添加日期 Datetime 不允许为空 ranknum 权限数量 Varchar(255) 不允许为空 vipprice 会员价格 Varchar(255) 不允许为空 manufacturer 厂商 Varchar(255) 不允许为空 seller 经销商 Varchar(255) 不允许为空 speed 最高时速 Int 不允许为空 level 级别 Varchar(255) 不允许为空 oilcost 油耗 Int 不允许为空 desc 简介 Varchar(255) 不允许为空 顾客评论表包含评论编号,编号,评论人姓名,评论时间,评论内容,审核。其中评论编号是主键,编号是外键。如表3-6所示:
表3-6评论表review
字段名 说明 字段类型 备注 reviewid 评论编号 Int 主键,自动递增 id 编号 Int 外键 title 评论人姓名 Varchar(50) 不允许为空 reviewdtm 评论时间 Datetime 不允许为空 reviewcontent 评论内容 text 不允许为空 audit 审核 Int 不允许为空 小分类表包含小分类编号,小分类名,小分类顺序,分类,等级,其中小分类编号是主键,大分类编号是外键。如表3-7所示:
表3-7小分类表 sorts
字段名 说明 字段类型 备注 sortsid 小分类编号 Int 主键,自动递增 sorts 小分类名 Varchar(50) 不允许为空 sortsorder 小分类顺序 Int 不允许为空 categoryid 大分类编号 Int 外键 first 等级 Int 不允许为空 用户表包含用户编号,用户名,用户邮箱,用户密码,手机,qq号码,注册时间,问题,回答,登陆次数,上次登陆,收货人姓名,城市,地址,邮箱,电话,交付方式,付款方式,性别,会员,系统广播,其中用户编号是主键。如表3-8所示:
表3-8用户表user
字段名 说明 字段类型 备注 userid 用户编号 Int 主键,自动递增 username 用户名 Varchar(255) 不允许为空 usermail 用户邮箱 Varchar(255) 不允许为空 password 用户密码 Varchar(255) 不允许为空 identify 鉴定 Float 不允许为空 mobile 手机 Varchar(255) 不允许为空 userqq QQ号码 Varchar(255) 不允许为空 adddate 注册时间 Datetime 不允许为空 question 问题 Varchar(255) 不允许为空 answer 回答 Varchar(255) 不允许为空 loginnum 登陆次数 Int 不允许为空 lastvst 上次登陆 Datetime 不允许为空 recepit 收货人姓名 Varchar(255) 不允许为空 city 城市 Varchar(255) 不允许为空 address 地址 Varchar(255) 不允许为空 postcode 邮箱 Varchar(255) 不允许为空 usertel 电话 Varchar(255) 不允许为空 deliverymethord 交付方式 Int 不允许为空 paymethord 付款方式 Int 不允许为空 sex 姓别 Varchar(255) 不允许为空 vip 会员 Bit 不允许为空 book 系统广播 Varchar(255) 不允许为空 score 积分 Int 不允许为空 编码设计
数据库连接设计
本设计使用OLEDB方式链接数据库,相比最早以前的ODBC链接数据库,OLEDB速度更加快捷,功能更加强大[4]。
创建数据库链接主要分两步进行:一是创建数据库链接文件conn.asp,二是在需要与数据库链接的页面包含该文件(!--#include file=inc/conn.asp--)。下面进行详细介绍。
本网站数据库配置文件为conn.asp,下面两条代码在所有对数据库的操作中都是必不可少的。由于这段代码几乎在后面的每个对数据库操作页面都要使用,所以将其保存一个单独的文件夹中,文件名为conn.asp,在所有与数据库连接的页面中只要包含该文件,就可以连接和打开数据库。其代码如下所示:
%
dim conn,connstr,db,rs
db=db/db.mdb
Set conn = Server.CreateObject(ADODB.Connection)
connstr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Server.MapPath(db)
conn.Open connstr
%
系统主页设计
用户主界面显示了整个网站的整体构建,实现的功能都基本都可以在上面显示。包括用户注册,用户登录,化妆品搜索,化妆品分类,购物车,管理员登录等一系列功能。如图3-8所示。
图3-8 化妆品销售网站首页
推荐商品的代码如下所示:
%
rs.open select top 4 * from product where recommend=1 order by adddate desc,conn,1,1
if rs.eof and rs.bof then
response.write 对不起,暂时还没有商品!
end if
i=0
do while not rs.eof
%
a href=book_views.asp?id=%=trim(rs(id))%
img src=manage/%=trim(rs(pic))% width=180 height=180 border=0
/a
%
rs.movenext
loop
rs.close
set rs=nothing
%
这段代码是推荐商品的一个功能模块,他会推荐前4个商品(top 4),如果数据库搜索为空就显示没有商品。如果存在数据,就按降序输出商品(desc)。
用户注册设计
用户注册界面是最常见的一个系统界面,基本每个系统都会用到,输入自己的个人用户信息进行注册,本系统中还有其它界面与这个界面相似,比如用户订单信息的填写,在此不一一展示了。下面是用户注册界面。如图3-9展示:
图3-9 用户注册界面
用户注册对应的ASP文件为reg.asp,其主要代码如下所示:
%
if NOT isempty(request(RegSubmit)) then
if session(regtimes)=1 then
call MsgBox(对不起,您刚注册过用户!,Back,None)
response.end
end if
set rs=server.CreateObject(adodb.recordset)
rs.open select username,useremail from [user] where username=trim(request(username)) or useremail=trim(request(useremail)),conn,1,1
if not rs.eof and not rs.bof then
call MsgBox(您输入的用户名或Email地址已存在,请返回重新输入!,Back,None)
end if
rs.close
rs.open select * from [user],conn,1,3
rs.addnew
rs(username)=trim(request(username))
rs(password)=md5(trim(request(password)))
rs(useremail)=trim(request(useremail))
rs(quesion)=trim(request(quesion))
rs(answer)=md5(trim(request(answer)))
rs(realname)=trim(request(realname))
rs(identify)=trim(request(identify))
rs(mobile)=trim(request(mobile))
rs(userqq)=trim(request(userqq))
rs(adddate)=now()
rs(lastvst)=now()
rs(loginnum)=0
rs(postcode)=0
rs(score)=0
rs(paymethord)=0
rs(deliverymethord)=0
rs.update
rs.close
set rs=nothing
response.Cookies(cookieName)(username)=trim(request(username))
response.Cookies(cookieName).expires=date+1
session(regtimes)=1
session.Timeout=1
call MsgBox(注册成功!请到用户管理中心填详细资料!,GoUrl,member.asp)
end if
%
化妆品搜索设计
搜索界面可以按照化妆品的名称,品牌,厂商,价格范围或者分类里面来查找化妆品。能让用户方便快捷的找到适合自己的车辆,大量节约了时间。非常便捷。搜索商品界面如3-10所示。
图3-10 化妆品搜索界面
搜索对应的ASP文件为search.asp,其主要代码如下所示:
%
set rs=server.CreateObject(adodb.recordset)
rs.open select * from category,conn,1,1
do while not rs.eof
%
option value=%=rs(categoryid)% %=rs(category)%/option
%
rs.movenext
loop
rs.close
set rs=nothing
%
/select/TD
/TR
TR
input type=hidden name=OrderField value=productdate
input type=hidden name=Order value=DESC
/TR
TR align=center
TD height=40 colSpan=2INPUT type=submit value=开始搜索 name=Submit2 onClick=return search()/TD
/TR
购物车设计
化妆品销售网站最复杂的工作就是处理用户订车的订单。处理化妆品订单分别为用户生成订单及网站管理员查询和审核订单两部分。
(1)用户生成订单的流程
每个登录的用户都有自己的购物车。在浏览商品时。可以将想要购买的化妆品放入购物车。只有放入购物车后,用户才可以生成购物车中的订单。生成的订单不仅包括化妆品本身的信息,还包括了顾客的信息,如订购人的真实姓名和订购人的收货地址。这些信息是用户注册时需要填写的信息。
(2)网站管理员查询订单和审核订单的流程
首先由网站管理员浏览用户提交的订单,然后审核订单,并根据审核情况提交结果。
购物车界面如图3-11所示:
图3-11 购物车界面
搜索对应的ASP文件为car.asp,其主要代码如下所示:
%
dim id,username,action
action=request.QueryString(action)
username=trim(request.cookies(cookieName)(username))
id=request.QueryString(id)
set rs=server.CreateObject(adodb.recordset)
select case action
case del
conn.execute delete from orders where actionid=request.QueryString(actionid)
response.redirect car.asp
case add
rs.open select id,username from orders where username=username and id=id and state=6,conn,1,1
if not rs.eof and not rs.bof then
call MsgBox(对不起,此商品已存在于您的购物车中,不可以重复添加!,Close,None)
response.end
rs.close
else
rs.close
rs.open select id,username,state,paid from orders,conn,1,3
rs.addnew
……
rs.update
rs.close
set rs=nothing
call MsgBox(商品成功添加到你的购物篮!,Close,None)
response.end
end if
end select
rs.open select orders.actionid,orders.id,,product.price1,product.price2,product.discount from product inner join orders on product.id=orders.id where orders.username=request.cookies(cookieName)(username) and orders.state=6,conn,1,1
%
订单设计
商品添加到购物车之后,可以提交生成订单,如下图3-12、图3-13所示。
图3-12 提交订单界面
图3-13 我的订单界面
搜索对应的ASP文件为checkout.asp,其主要代码如下所示:
%
Dim rsvip,strvip
set rsvip=server.CreateObject(adodb.recordset)
rsvip.open select vip from [user] where username=request.cookies(cookieName)(username) ,conn,1,1
strvip = rsvip(vip)
rsvip.close
set rsvip=nothing
dim shijian,goods
dim userid,id,rs2,rs3,score
id=request(id)
userid=request(userid)
shijian=now()
goods=year(shijian)month(shijian)day(shijian)hour(shijian)minute(shijian)second(shijian)
set rs2=server.CreateObject(adodb.recordset)
rs2.open select id,name,price1,price2,vipprice,discount,score from product where id in (id) order by id ,conn,1,1
goods=year(shijian)month(shijian)day(shijian)hour(shijian)minute(shijian)second(shijian)
do while not rs2.eof
set rs=server.CreateObject(adodb.recordset)
rs.open select * from orders,conn,1,3
rs.addnew
score=score+rs2(score)
rs(username)=trim(request.cookies(cookieName)(username))
rs(id)=rs2(id)
rs(actiondate)=shijian
rs(productnum)=CInt(Request(shoprs2(id)))
rs(state)=1
rs(goods)=goods
rs(postcode)=int(request(postcode))
rs(recepit)=trim(request(recepit))
rs(address)=trim(request(address))
rs(paymethord)=int(request(paymethord))
rs(deliverymethord)=int(request(deliverymethord))
rs(sex)=int(request(sex))
rs(comments)=HTMLEncode2(trim(request(comments)))
if strvip = true then
rs(paid)=rs2(vipprice)*CInt(Request(shoprs2(id)))
else
rs(paid)=rs2(price2)*CInt(Request(shoprs2(id)))
end if
rs(realname)=trim(request(realname))
rs(useremail)=trim(request(useremail))
rs(usertel)=trim(request(usertel))
rs(userid)=userid
rs.update
rs.close
conn.execute delete from orders where username=request.cookies(cookieName)(username) and id in (id) and state=6
rs2.movenext
loop
rs2.close
rs2.open select score from [user] where userid=userid,conn,1,3
rs2(score)=rs2(score)+int(score)
rs2.Update
rs2.close
set rs2=nothing
set rs=server.CreateObject(adodb.recordset)
rs.open select product.id,,product.price1,vipprice,product.price2,orders.sex,orders.realname,orders.recepit,orders.goods,orders.postcode,ments,orders.paymethord,orders.deliverymethord,orders.paid,ductnum from product inner join orders on product.id=orders.id where orders.username=request.cookies(cookieName)(username) and state=1 and goods=goods ,conn,1,1
%
管理员界面设计
管理员登录后方可进行系统的管理,管理员进行对用户、化妆品、评论、订单、分类等信息进行增删改查,通过一个总页面来连接到其它的页面上去,实现对管理员的管理。如3-14展示。
图3-14 管理员后台主界面
主页面框架代码如下:
!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN
html xmlns=/1999/xhtml
head
title网站后台管理/title
meta http-equiv=Content-Type content=text/html;charset=gbk /
link rel=stylesheet href=images/admincp.css type=text/css media=all /
/head
body scroll=no
table cellpadding=0 cellspacing=0 width=100% height=100%
tr
td colspan=2 height=69iframe src=header.html name=header width=100% height=69 scrolling=no frameborder=0/iframe/td
/tr
tr
td valign=top width=160iframe src=menu.asp name=menu target=main width=160 height=100% scrolling=no frameborder=0/iframe/td
td valign=topiframe src=wel.asp name=main width=100% height=100% frameborder=0 scrolling=yes style=overflow:visible;/iframe/td
/tr
/table
/body
/html
商品管理设计
管理员登录后可以添加新化妆品商品、可以查看已有的化妆品商品,并可以对已有商品进行修改或删除,商品管理界面如下图3-15所示。
图3-15 化妆品管理界面
单击左侧添加新化妆品链接,可以添加新商品,输入化妆品的各类基本信息之后,单击提交按钮即可向数据库中商品表里插入新化妆品信息,运行界面如下图3-16所示:
图3-16 添加化妆品界面
化妆品添加主要代码如下:
%
添加化妆品
If NOT IsEmpty (request(AddProSubmit)) then
dim productdate,discount
discount=round(request(price2)/request(price1),2)
if request(productdateyear) then
productdate=trim(request(productdateyear))年trim(request(productdatemonth))月
else
productdate=
end if
set rs=server.CreateObject(adodb.recordset)
rs.Open select * from product,conn,1,3
rs.AddNew
rs(productdate)=productdate
rs(discount)=discount
rs(name)=trim(request(name))
rs(level)=request(level)
if request(speed) then
rs(speed)=int(request(speed))
else
rs(speed)=200
end if
if request(oilcost) then
rs(oilcost)=int(request(oilcost))
else
rs(oilcost)=0
end if
rs(brand)=trim(request(brand))
rs(manufacturer)=trim(request(manufacturer))
rs(introduce)=trim(request(introduce))
rs(price1)=trim(request(price1))
rs(price2)=trim(request(price2))
rs(vipprice)=trim(request(vipprice))
rs(pic)=trim(request(file1))
rs(categoryid)=int(request(categoryid))
rs(sortsid)=int(request(sortsid))
rs(score)=request(score)
rs(seller)=trim(request(seller))
rs(solded)=0
rs(viewnum)=0
rs(adddate)=now()
rs(rank)=0
rs(ranknum)=0
if request(detail) then
rs(detail)=htmlencode2(request(detail))
end if
if request(content) then
rs(content)=htmlencode2(request(content))
end if
if request(detail) then
rs(desc)=htmlencode2(strvalue(request(detail) ,100))
end if
是否推荐产品
if request(recommend)=1 then
rs(recommend)=1
else
rs(recommend)=0
end if
rs.Update
rs.Close
set rs=nothing
call MsgBox(添加成功!,GoUrl,add_shu.asp)
response.End
end if
%
订单管理设计
管理员可以处理系统中顾客提交的订单,可以修改订单状态,顾客在其个人中心也可以查看到订单的实时状态,包括是否发货等信息。运行界面如下3-17、图3-18所示:
图3-17 订单管理界面
图3-18 订单处理界面
订单处理主要代码如下:
action=request.QueryString(action)
select case action
case save
if request(state) then
conn.execute update orders set state=request(state) where goods=goods
end if
call MsgBox(订单状态修改成功,GoUrl,porder.asp)
response.Write goods
case del
conn.execute delete from orders where goods=goods
call MsgBox(订单删除成功!,GoUrl,porder.asp)
end select
评论管理设计
管理员登录后可以查看顾客评论,可以审核评论,只有审核通过才会在前台页面中显示出来,评论管理运行效果如下图3-19所示。
图3-19 评论管理界面
评论审核的主要代码如下:
%
action=request.QueryString(action)
select case action
case del
if request(audit).count=0 then
call MsgBox(您没有选择要删除的评论?,None,None)
else
if session(rank)1 then
call Msgbox(你的权限不够!,Back,None)
response.End
end if
conn.execute (delete from review where reviewid in (request(audit)))
call MsgBox(批量删除成功!,None,None)
end if
case audit
if request(audit).count=0 then
call MsgBox(您没有选择要审核的评论?,None,None)
else
if session(rank)1 then
call Msgbox(你的权限不够!,Back,None)
response.End
end if
conn.execute update review set audit=1 where reviewid in (request(audit))
call MsgBox(批量审核成功!,None,None)
end if
case delzhou
if session(rank)1 then
call Msgbox(你的权限不够!,Back,None) response.End
end if
dim theday
theday=date-7
conn.execute (delete from review where reviewdtm#theday# and audit=0)
call MsgBox(一周前未审核评论删除成功!,None,None)
case delall
if session(rank)1 then
call Msgbox(你的权限不够!,Back,None) response.End
end if
conn.execute (delete from review where audit=0)
call MsgBox(所有未审核评论删除成功!,None,None)
end select
%
系统实施
开发工具选择
本系统使用Dreamweaver 8.0开发,Adobe Dreamweaver是个原本由Macromedia公司所开发的著名网站开发工具。它使用所见即所得的接口,亦有HTML编辑的功能。它现在有Mac和Windows系统的版本。随Macromedia被Adobe收购后,Adobe也开始计划开发Linux版本的Dreamweaver了。 Dreamweaver自MX版本开始,使用了Opera的排版引擎 Presto 作为网页预览。
Dreamweaver是唯一提供Roundtrip HTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想象。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver 支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得 Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP, Apache,BroadVision,Cold Fusion,iCAT,Tango与自行发展的应用软体。当您正使用Dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。梦幻样版和XML Dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出XML内容。 全方位的呈现利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上[6]。
软硬件环境设计
本系统开发基于Windows 7,使用Dreamweaver开发工具,后台数据库采用了Access 2003,软硬件环境如下所示:
软件环境:
操作系统:Windows 7 家庭版
开发工具:Dreamweaver 8.0
数据库:Microsoft Access 2003
Web服务器:Internet Information Server 6.0
硬件环境:
CPU:Intel Core(TM) i3 CPU M 370 @ 2.40 GHz
内存:4GB
硬盘:320GB
系统测试
为了保证系统能够正常运行,我们需要对系统进行测试和改进工作,使得系统变得更加完善。
在开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占开发总工作量的40%以上。因此,我们必须重视测试工作。
一个网站基本完工后,需要通过下面三步测试[7]。
1、 制作者测试,包括美工测试页面、程序员测试功能。在做完后第一时间内有制作者本人进行测试。
(1) 页面包括首页、二级页面、三级页面的页面在各种常用分辨率下有无错位;图片上有没有错别字;各连接是否是死连接;各栏目图片与内容是否对应等。
(2) 功能达到客户要求;数据库连接正确;各个动态生成连接正确;传递参数格式、内容正确;试填测试内容没有报错;页面显示正确。
2、全面测试根据交工标准和客户要求,由专人进行全面测试,也是包括页面和程序两方面,而且要结合起来测,保证填充足够的内容后不会导致页面变形。另外要检查是否有错别字,文字内容是否有常识错误。
3、 发布测试 网站发布到主服务器之后的测试,主要是防止环境不同导致的错误。
打开浏览器,在“地址”栏中输入http://localhost/index.asp,打开该系统的主界面,下面通过一个系统测试案例(登录测试)来进行说明,其他功能测试都是类似的界面上测试不再赘述。如图4-1所示:
图4.1密码错误时系统提示
从登录界面出发,对系统进行测试,基本实现了任务大纲上提出的要求,系统运行正常。
系统使用与维护说明书
系统安装与配置说明
本系统使用ASP技术和Access数据库开发,系统在IIS 服务器下正常运行,安装配置也比较简单,系统安装配置方法如下:
安装IIS 7.0,直接在Windows 7的“程序和功能”中,选择“打开或关闭Windows功能”,如下图5-1所示:
图5-1 安装IIS
选中“Internet信息服务”,单击确定,如下图5-2,即可完成IIS安装;
图5-2 安装IIS
将本化妆品销售网站代码文件,复制到IIS的默认目录“wwwroot”中;
启动IIS,打开浏览器,输入地址:http://localhost/,出现如下界面,表示系统安装配置成功。
图5-3 系统安装配置成功
系统使用说明书
系统运行成功后,操作非常简单,简要说明如下:
前台顾客使用说明
浏览化妆品
打开网站主页,单击化妆品图片即可查看化妆品详情,还可以单击主页面左下方的化妆品分类,分类查看自己感兴趣的化妆品信息。如下图5-4所示:
图5-4 化妆品浏览
注册用户
单击主页面“注册”按钮,即可进入注册界面,输入注册相关信息即可,如下图5-5所示:
图5-5 用户注册
购买化妆品
用户注册完成后,在登录界面进行登录,登入系统后,方可购买化妆品。单击化妆品图片,进行化妆品浏览,若有意向购买该车,则可以单击购物车图标,将当前浏览的化妆品加入购物车中,限于篇幅,此处不再给出界面截图。
提交订单
化妆品加入购物车之后,单击提交订单,输入订单相关信息,如收货人、收货地址等,即可成功下订单,限于篇幅,此处不再给出界面截图。
评论化妆品
用户登录后,单击化妆品图片,即可对浏览的化妆品发布评论信息,评论信息发表后,管理员审核后方可显示在前台页面上。
修改密码
顾客登录后,可以修改自己登陆密码,修改密码需要输入旧密码,防止其他用户篡改正常用户的密码,如下图5-6所示:
图5-6 修改密码界面
后台管理员使用说明
在网站主界面下方,有个“管理员登录”超链接,单击进入管理员登录界面,输入管理员用户名admin 密码admin即可登入系统。
在管理员界面上,可以添加化妆品分类、添加新化妆品、管理现有化妆品信息。这些操作均在界面上一目了然,无需赘述。如下图5-7所示:
图5-7 管理员添加化妆品界面
管理员主界面左侧是功能列表,单击即可进入相应的功能操作界面,界面设计友好,提示信息丰富,按照界面提示即可正常使用。
系统维护说明书
一个软件系统安装运行后,必须注意收集用户的反馈信息,并吸收其中合理化的意见和建议,对网站软件进行改进。本系统全部为ASP编写,编辑工具为Dreamweaver,且ASP属于解释性编程语言,因此十分易于维护。
系统运行后,应该定期备份数据库信息,本系统后台使用Access数据库,备份时,只需将数据库文件(位于manage\db\文件夹下)复制一份即可。
IIS服务器运行较长时间后,可能会出现性能下降等情况,此刻为提高网站性能,可以将IIS服务器重启,方法是:打开Windows控制面板中的Internet Information Server管理工具,单击重新启动即可。
本系统日后升级维护非常方便,对于更新的文件可以直接实现“热升级”,直接将修改后的ASP文件替换服务器上相应文件即可。
设计开发总结
设计中使用的关键技术
本系统的开发,关键技术为ASP动态网页编程技术和数据库访问技术,ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是。asp,现在常用于各种动态网站中[4]。
ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试
(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。
(7) 方便连接ACCESS与SQL数据库.
(8)开发需要有丰富的经验,否则会留出漏洞,让骇客(cracker)利用进行注入攻击。
数据库是数据管理的最新技术,是计算机科学的重要分支。数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。所谓数据库是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。为了有效的管理数据库,常常需要一些数据库管理系统(DBMS)为用户提供对数据库操作的各种命令、工具及方法,包括数据库的建立和记录的输入、修改、检索、显示、删除和统计等[8]。
Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务[3]。
Access的特点
(1)存储方式单一
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
(2)面向对象
Access是一个面向对象的开发工具,利用
文档评论(0)