1电子购物网站毕业设计.docx
《1电子购物网站毕业设计.docx》由会员分享,可在线阅读,更多相关《1电子购物网站毕业设计.docx(42页珍藏版)》请在冰点文库上搜索。
1电子购物网站毕业设计
毕业论文
1绪论
1.1开发背景及意义
电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。
目前,国际上对电子商务尚无统一的定义。
一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境下,通过服务器的运用,实现消费者的网上购物、企业间商业交易的一种新型交易运营模式。
即电子商务=Web(服务器)+IT(信息技术)+企业业务。
电子商务的类型:
从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务 (B2B)、企业与消费者之间的电子商务(B2C)、企业与政府之间的电子商务 (B2G)、政府与消费者之间的电子商务(G2C)、企业内部的电子商务。
电子商务的本质特点:
电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。
电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。
要实现全过程的电子商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。
1.2国内外电子商务现状
以下是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状。
(主要引用其中的分析图表)
图1-1选择网上购物的原因
图1-1用户网购原因
从上面的图可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。
图1-2用户选择商品配送的方式
图1-2用户选择商品配送的方式
从上面的图中可以看出人们总希望直接可以拿到物品,而不需要耽搁自己的时间,如果是送货上门,也可以当面检查所购的物品,这也表现出人们对厂商信誉的担忧。
图1-3用户认为目前网上交易存在的最大问题
图1-3用户认为目前网上交易存在的最大问题
从上面的图中可以看出目前两个最严重的问题是安全性和产品服务。
1.3本文研究的内容
本文详细介绍了基于PHP的网上购物系统的系统结构设计、实现方法和操作流程,并介绍了系统各个模块的主要功能和数据库设计及功能。
该系统采用B/S结构,采用PHP技术进行动态窗体页面的设计。
后台数据库选用MySQL数据库。
系统设计并实现了会员注册及登录模块,会员基本信息模块,会员购物模块,产品搜索模块,管理员商品管理模块,用户管理模块,订单管理模块等一系列功能模块。
最后,对网上购物系统进行了系统测试,各个模块功能运行良好。
1.4开发可行性分析
1.4.1管理上的可行性
把企业业务延伸到Internet上,建立电子商务网站,对运营商业企业来说,是企业对外展示信息,从事商务活动的窗口和界面。
因此,高中层管理人员不会对此有很大的抵触情绪,主管领导也能够相应的支持。
1.4.2技术上的可行性
根据系统目标需求分析得结果来看,不需要通过购买专业软件,仅采用
phpStudyAdmin为开发环境,Apachec为服务器,选择PHP语言就可以解决相关的问题,从而保证系统功能的实现。
1.4.3经济上的可行性
商业企业在运营过程中,经常会遇到产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。
而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的经济活动变得更灵活、更主动。
1.4.4执行可行性
本系统采用IE浏览界面,是大家熟悉的,对于用户只需要具有一般的计算机知识的人员都可以轻松上手。
而且整个系统采用最友好的交互界面,简洁明了,不需要对数据库非常了解。
因此,该系统的操作是可行的。
2系统需求分析
2.1目标和任务
网上购物基于B/S模式,通过对一些典型电子商务网站的考察、分析,并结合企业要求,开发一套拥有前后台的信息化管理系统,需满足以下要求:
●统一友好的操作界面,保证系统的易用性;
●商品分类详尽,可按不同类别查看商品信息;
●为客户提供通过一个购物车模型就能够购买多个商品项的机制;
●提供简单的安全模型,让客户必须先进行登录,才允许购买购物车的内容;
●设计网站后台操作平台,管理网站的各项基本数据。
●对不同的管理者设置不同的权限;
系统的主要任务有:
a,处理对象:
主要涉及的数据有:
商品、顾客(会员)、顾客组、管理员(用户)、管理员组、订单、邮寄方式等。
b,处理功能要求:
本系统完成商品、顾客(会员)、管理员(用户)、订单等之间的功能联系,形成一个有效的循环系统。
具体包括以下几点:
1,顾客注册为会员;2,管理员发布商品;3,订单管理;4,顾客组管理;5,管理员权限的管理等。
2.2系统功能分析
2.2.1功能性需求概述
在线购物系统是商家和购买者直接接触的桥梁,商家通过管理在线购物系统,向购买者发布、展示产品,而购买者也通过网站和商家交流、订购产品,从而达到现实交易的目的。
在这个交易过程前,商家需要将产品信息录入,并且在前台显示出来,这其实就是一个信息发布系统,顾客在看到产品后,可能会有许多的问题,也就是需要针对产品留言,然后企业做出相应的回答,这个留言也属于信息发布的一部分。
在交易过程中,顾客一般是不允许匿名购买的,顾客需要留下现实的个人信息才能收到现实中的产品,相信作为顾客,也很愿意方便线下联系。
接着是在线模拟交易过程,顾客完成所有的选取后,就可以付账了,这里需要和支付网关连接。
付账之后就是企业方通过后台的程序发现有新交易并进行线下处理。
在交易完成后,企业方需要对近期销售情况进行统计,如会员资料的查询、修订等。
通过对电子交易流程的划分,在线购物系统的系统功能主要由3部分组成:
信息发布系统、会员管理系统和电子交易系统。
电子商务的本质更趋向于电子交易,也就是前台和客户打交道的页面。
通过细化系统功能,很明显电子交易部分是重点,电子交易页面需要完成哪些功能呢?
逛在线购物系统和逛超市相似,进入超市时,顾客习惯拿购物筐或者购物车,再开始逛。
逛超市时会不断查看想买的东西,直到确定买的那个产品的位置,在确定的过程中,会不断将其他物品放到购物车中,然后再将不适合的东西拿出,一直到结账。
在选取物品时会发现,超市总是把相关的产品放在一个位置,以方便消费者,同时消费者也会拿出两个相同类型的东西进行比较。
通过对超市购物的分析,了解了应该如何去模拟一个现实的交易过程。
首先,需要一个产品的展示,方便顾客查询,还要有产品比较的数据,更有助于消费者比较,选择自己满意的产品;然后,要有一个购物车,方便顾客查看自己选中的产品,也可以把需要购买的产品放入购物车或者从购物车中拿出不需要的产品;最后是结账,和超市结账有很大区别,电子商务不允许匿名买卖。
付账和收到产品之间有一个相对较长的时间,而且企业和顾客也不是面对面的,企业需要收集有效的信息,才能把产品送到顾客手中,所以结账时要确定用户是否登录,以收集用户的资料。
通过以上分析可知,本系统分成两个模块:
前台浏览模块和后台管理模块。
前台浏览模块可再分为两个模块:
产品浏览模块和购物模块,涉及产品首页浏览、推荐产品浏览、产品列表,以及查看产品详细内容、查看评论等功能。
购物模块主要充当购物车作用,包括选取产品、对比产品、会员注册、登录及网上支付等功能。
后台管理模块可分为3个模块:
会员管理模块、产品管理模块和订单管理模块。
后台管理模块主要涉及产品分类目录管理,以及产品内容的管理。
会员管理模块主要是查看和修改,包括管理会员的基本资料以及购买的产品等详细信息。
订单管理模块主要涉及对顾客订购的产品管理,按照订单的状态大致分为待处理的订单和已经处理的订单。
本系统的结构图如图2-1所示:
用户管理模块
图2-1系统结构图
2.2.2系统流程分析
在后台管理模块中,管理员需要先添加产品栏目分类,再进入产品列表页面,选择指定的产品栏目进行产品添加操作。
在会员提交订单之后,管理员可以通过订单管理模块查看订单,并根据实际情况更改订单状态,管理员也可以通过会员管理模块查看会员信息。
前台界面则是会员选取需要购买的商品,并提交订单。
后台管理的流程图如图2-2所示。
会员查看
图2-2后台管理流程图
2.2.3系统目录结构
系统目录结构的规划非常重要,这样可以更加方便管理程序,体现出清晰的思路。
通过对系统结构的分析,可以按照功能模块来划分系统目录结构。
如图2-3所示:
图2-3目录结构
由图可以看出,系统文件保存在dzsw目录中,其下有13个子目录:
admin目录主要保存后台管理的程序:
data主要保存一些log信息,方便以后的查看:
htmlarea目录保存文本编辑代码:
includes目录保存公共模块中的代码,如MySQL连接之类的封装类等;install目录保存安装程序,方便把系统移植到其他的机器上,也方便初始化网站;js目录包括程序中需要使用的JavaScript程序;languages目录主要是为了界面的多国语言需要设计的,根据不同语言的需要调用不同的文件;modules目录保存连接支付网关的程序;myaccount目录保存关于本站的一些信息;styles目录保存网站的样式文件;templates目录保存模板文件;upload目录保存所有的上传文件,这个文件夹需要特别关照,在发布网站后,这个目录中的任何东西都是不能执行的,否则将产生隐患。
2.3数据库分析
2.3.1数据库需求分析
数据库需求分析是所有数据库系统设计的最重要一步,在这个步骤里需要对系统的所有数据存储进行分析和整理,以便得出具有稳定性和扩展性的存储结构,这也是数据建模的过程。
通过分析,不难得出主要有4个重要的实体对象,即产品分类存储表、产品内容存储表、订单存储表及会员存储表。
这4个表是在线购物系统的核心,所有的产品必须归属于某个类别,而这些产品分类的类别是不固定的,所以就需要一个分类存储表来存储产品的分类栏目。
2.3.2数据库概念结构设计
根据以上对数据库的分析,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
下面是在线购物系统的E-R模型图
顾客表
顾客编码I
顾客名称Va100
Identifier_1
邮递方式
订单表
顾客组设置表
邮递方式编码I
邮递名称va100
邮递费用va100
订单编码I
顾客idI
产品idI
支付方式I
组编码I
组名称va100
打折优惠I
Identifier_1
Identifier_1
Identifier_1
评论
产品列表
产品编码I.
产品名称va100
评论编码I
评论内容va100
Identifier_1
Identifier_1
图2-4E-R图
2.4系统开发环境
2.4.1硬件平台
系统所需的硬件平台:
PⅡ以上的CPU,512M以上内存,硬盘80G以上,windowsxp操作系统。
2.4.2服务器平台
WWW服务器:
Apache。
数据库软件:
MYSQL。
2.4.3开发工具
开发工具使用:
phpStudyAdmin
2.4.4技术构架
系统采用B/S技术架构
2.6数据字典
2.6.1数据元素
名字:
会员名称
描述:
顾客用来登陆网站的唯一标识
数据类型:
字符
长度:
96
名字:
产品ID
描述:
用来表示产品的唯一标识
数据类型:
整型
长度:
10
名字:
订单ID
描述:
用来表示顾客订单的唯一标识
数据类型:
整型
长度:
8
名字:
管理员ID
描述:
用来表示管理员的唯一标识
数据类型:
整型
长度:
4
名字:
邮寄方式ID
描述:
用来表示邮递的唯一标识
数据类型:
整型
长度:
8
名字:
顾客组ID
描述:
用来表示打折顾客组的唯一标识
数据类型:
整型
长度:
6
2.6.2数据存储
名字:
顾客信息
描述:
注册为会员的个人信息
组成:
自动编号ID,用户名(Email),密码,组名,消费金额,注册日期。
名字:
顾客组信息
描述:
存储顾客的打折优惠
组成:
自动编号,名称,折扣。
名字:
产品信息
描述:
发布的产品的信息描述
组成:
自动编号ID,产品名称,产品单位,产品价格,产品描述。
名字:
订单信息
描述:
会员发出订单的信息
组成:
自动编号ID,用户联系方式,订单内容,邮寄方式。
名字:
管理员信息
描述:
系统管理的信息
组成:
管理员ID,管理员名称,管理员类别,管理员密码。
名字:
邮寄方式信息
描述:
送货方式信息
组成:
方式编号ID,名称,费用。
3系统概要设计
3.1系统结构设计
系统结构设计是结构化系统分析与结构化程序设计之间的接口。
结构化系统设计运用了一套标准的设计准则工具,采用模块化方法进行新系统层次关系和模块分解设计,结构化系统设计的核心是模块分解设计,其基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图和数据字典,借助于一套标准的设计准则和图表工具,通过“自上而下”的逐层分解,把系统划分为多个大小适当、功能明确、具有一定独立性、并易于实现的模块,从而把复杂系统设计转化为多个简单模块的设计。
3.1.1系统体系结构
目前,Web项目较为流行的开发模式是三层逻辑体系结构,本系统的开发按照WindowsDNA(WindowsDistributedInternetApplication,分布式互联网应用结构),采用基于XML的三层B/S体系结构。
WindowsDNA提供了一种开发三层结构Web应用程序的通用方法是一个电子商务开发的良好环境。
MVC的设计思想简介,MVC的设计思想将平台划分为表现层、业务层、数据访问层、数据库层。
表现层(PresentationTier)对应于MVC的V(View),负责系统的表示逻辑,主要是每个.php页面。
业务层(BusinessTier)体现系统的业务逻辑。
业务层起到了BusinessDelegate的作用,屏蔽了表示层,有利于重用业务模型。
数据访问/集成层(DataAccess/IntegrationTier)负责进行数据访问及系统间交互操作。
数据访问组件负责与关系型数据库打交道,进行具体的增删改查(CRUD)操作。
系统集成代理/适配器组件负责与软件产品和外部系统打交道,交换数据和消息。
数据访问/集成层组件意识不到业务层的具体逻辑,通过约定的接口让业务层来调用。
MVC三层逻辑体系结构如图3-1所示。
MYSQL
数据访问层
(DAL)
业务逻辑层
(BLL)
PHP
WebForm
图3-1三层逻辑体系结构
3.1.2系统总体功能结构
根据系统分析的结果数据流程图所描述的系统的逻辑模型,把数据流程图上各个处理模块进一步分解,确定系统的层次结构关系,把逻辑模型变为物理模型。
在管理信息系统的设计过程中,系统划分的一般原则如下:
1)、子系统要具有独立性。
即应把相对独立的事务处理过程作为一个子系统。
这样的子系统具有较高的内聚性,与其它的藕合较弱,便于软件开发、使用及日后系统维护。
2)、子系统的划分结果应使数据冗余度较小。
应避免部分数据在多个子系统中出现,尤其是修改,以保证系统的安全性、可靠性和数据的一致性。
3)、子系统的划分应能满足目前和日后管理上的需要,功能应齐全,操作要方便且为今后发展留有接口。
4)、子系统的划分应以该单位的管理职能为依据。
应尽量避免过分依赖于组织机构,以防止机构变更后为系统带来不必要的麻烦。
从公司的组织结构上出发,把整个管理信息系统划分成多个子系统。
每个子系统的功能相对独立,但是子系统之间有必要的数据联系。
对电子购物商城系统的数据流图采用变换中心法和事务中心法进行分析,对其逐步进行功能分解,直到分解成为含义明确、功能单一的单元功能模块,从而得到系统的功能模块结构图,即系统的功能图。
如图3-2,反映了电子购物商城的系统功能模块的划分。
图3-2电子购物系统功能模块结构图
1、前台模块详细功能描述
其中,用户信息管理以及订单和购物车是禁止匿名用户访问的内容。
(1)商品信息模块:
商品浏览(首页显示部分普通商品列表)、特价商品浏览(首页显示特价商品列表)、商品分类浏览、商品详细信息。
(2)购物车模块:
添加商品到购物车、购物车信息修改、结账。
(3)用户信息管理模块:
注册新用户、登录、用户修改密码、用户个人资料管理。
(4)订单模块:
查询个人订单列表、查询某笔订单的详细信息、取消订单。
2、后台模块详细功能描述
(1)管理员信息管理:
管理员登录、添加新管理员、删除管理员、修改密码。
(2)商品信息管理:
添加新商品、修改商品信息、删除商品。
(3)订单管理:
管理订单是否确认、是否付款、是否发货、是否归档,并且对相应信息进行查询。
3.1.3系统总体物理结构
电子购物各个部门在不同的地点办公,网络拓扑结构以交换机为基础,各部门通过主交换机连接到公司主服务器,电子购物有不同办公地点。
根据这个特点,系统利用微机局域网作为系统的基本物理结构。
为了提高系统的可靠性和可扩展性,网络采用以网络集线器为基础,以双绞线为传输介质的星型结构。
在每个业务发生点以及每个管理员分别配制微型计算机作为系统结点工作站,系统功能的实现,子系统间的数据共享与交互通过网络服务器完成。
电子购物的系统网络拓扑图如图3.3所示。
图3.3电子购物商城系统网络拓扑图
系统具体物理配置如下:
利用公司已经架设好的企业局域网,主服务器采用:
服务器、交换机、网络集线器,传输介质采用10M屏蔽双绞线为介质的星型网络拓扑结构,服务器作为系统功能实现和数据共享中心,应具有较好的性能和可靠性。
在此基础上再配上一台提供web服务的服务器和一台MYSQL数据库服务器即可实现对本系统的全部物理支持。
系统具体硬件配置如下:
1)、WWW服务器:
INTERP42.4512MDDRROM80GB硬盘。
2)、数据库服务器:
INTERP42.4512MDDRROM80GB硬盘。
3)、客户机:
目前流行的PC兼容机。
4)、网络连接设备:
路由器、交换机、打印机、扫描仪等。
系统具体软件配置如下:
1)、操作系统:
Microsoft公司Windown2000Server,网络协议采用TCP/IP协议,
客户机 WINDOWS2000/XP。
2)、WWW服务器:
Apache.
3)、数据库软件:
MYSQL。
3.2数据库结构设计
3.2.1数据库概念结构设计
根据需求分析中的结果,数据库的关系模型设计如下:
会员(顾客ID,顾客名称,顾客组,消费金额,注册日期,联系方式)
产品(产品编号,产品名称,售价,数量,图片,备注)
管理员(管理员编号,密码,管理员组)
订单(编号,顾客名称,内容,备注)
顾客组(ID,类别,名称,折扣)
管理员组(ID,类别,名称,权限)
邮寄方式(ID,名称,费用计算)
3.2.2数据库逻辑设计
经过需求分析,概念结构设计,了解了系统的存储结构需求后,可以得出8个表结构,即顾客组设置表、顾客表、产品评论表、产品列表、订单表和邮递方式表、管理员表、管理员组表。
顾客组设置表是为了存储顾客的打折优惠,这里记录的事组的打折信息。
表结构如表3-1所示
表3-1顾客组设置表(usergroups)结构
序号
字段
描述
类型和长度
主键
可空
默认值
1
Groupid
自动编号
Smallint(6)
是
否
无
2
Classes
类型
Varchar(30)
否
否
无
3
Grouptitle
组名称
Varchar(30)
否
否
无
4
groupdiscount
折扣
float
否
否
0
顾客信息表主要是记录顾客的详细信息,其中groupid是指定顾客组的编号,用户的名称采用Email,记录用户的登录时间可以方便的查看最后的登录时间,这样有助于对客户的跟踪服务。
表结构如表3-2所示
表3-2顾客信息表(customers)结构
序号
字段
描述
类型和长度
主键
可空
默认值
1
Customers_id
自动编号
Smallint(6)
是
否
无
2
Email
用户名称
Varchar(30)
否
否
无
3
Grouid
组名称
Int(10)
否
否
无
4
Regdate
注册时间
Int(10)
否
否
0
5
Lastvisit
最后登录时间
Int(10)
否
否
0
6
Money
消费总金额
Decimal(15.2)
否
否
0
7
QQ
QQ联系方式
Varchar(30)
否
否
无
8
msn
msn联系方式
Varchar(30)
否
否
无
产品评论表主要是针对产品的评论信息,其中products_id就是产品的编号,date_add就是记录产品的添加时间,viewed是表示这条评论被浏览的次数。
表结构如表3-3所示
表3-3产品分类表(classes)结构
序号
字段
描述
类型和长度
主键
可空
默认值
1
rid
自动编号
Mediumint(8)
是
否
无
2
Email
用户名称
Varchar(30)
否
否
无
3
Products_id
产品id
Int(10)
否
否
无
4
review
评论内容
text
否
否
0
5
Date_added
添加时间
Int(10)
否
否
0
6
viewed
被浏览次数
Mediumint(8)
否
否
0
产品的信息列表记录的是产品的基础信息,包括产品的价格、重量、名称、所属分类、详细描述等字段。
表结构如表3-4所示
表3-4产品表(products)结构
序号
字段
描述
类型和长度
主键
可空
默认值
1
Products_id
自动编号
Mediumint(8)
是
否
无
2
Classes_id
分类编号
Mediumint(8)
否
否
无
3
name
产品名称
Varchar(64)
否
否
无
4
model
产品单位
Varchar(64)
否
否
无
5
image
产品展示图片链接
Varchar(64)
否
否
无
6
price
产品价格
Decimal(15.2)
否
否
0
7
weight
产品重量
Decimal(5.2)
否