网上商店设计与实现毕业论文.docx
《网上商店设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《网上商店设计与实现毕业论文.docx(58页珍藏版)》请在冰豆网上搜索。
网上商店设计与实现毕业论文
网上商店设计与实现毕业论文
第一章前言
B2C(BusinesstoCustomer,B2C)即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、在网上支付。
由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率。
随着网上商店的快速增长,网上商店的设计和实现技术也迅速发展,出现了多种较成熟的实现技术。
由于ASP.NET技术具有多方面的优点,因此在网上商店的实现中被广泛采用,同时ASP.NET技术还处在不断的发展之中,这正是论文选题的主要依据和动机。
此次毕业设计第一阶段的主要工作是,学习有关电子商务和电子商务建设的基本知识,了解电子商务建设的相关技术,并在此基础上选择了使用ASP.NET作为开发语言来实现一个电子商务——网上宠物商店,并学习ASP.NET及SQLServer数据库,C#编程语言等方面的知识。
这是课题研究的基础性容。
第二阶段是在指导教师的指导下,进行网上书店的需求分析、系统设计及功能模块划分,然后建立数据库,并编写调试各个功能模块的代码,最后进行组装测试。
通过教师的悉心指导和自己的努力,完成了毕业设计的各项任务,成功建立了网上宠物商店,基本实现了各项功能。
第二章 概述
2.1 网上购物系统的发展
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。
于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上订购系统作为B2B,B2C(BusinesstoCustomer,即企业对消费者),C2C(CustomertoCustomer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。
本文旨在讨论如何建设B2C的网上购物系统。
网上购物是一种具有交互功能的商业信息系统。
它向用户提供静态和动态两类信息资源。
所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。
网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。
这种全新的交易方式实现了公司间文档与资金的无纸化交换。
2.2网上购物的现状
在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。
调查表明:
美国的家庭已越来越习惯于在家中从网上购物。
在我国,网上购物从无到有也不过短短几年时间。
我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。
在中国,网络用户规模急剧增大,最新的统计显示,中国网民数量已经突破一亿,仅次于美国,居世界第二。
应当注意的是,中国现在20岁左右的青年人,大部分是伴随着网络成长起来的,他们对网络的依赖和忠诚度较之其他年龄层次的人更胜一筹,不久他们将成为实力最强的消费者,也为网络广告的增长带来了前所未有的商机。
而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是四千多万人,并且这一数字还在以17%左右的速度增
长,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。
2.3电子商务实现技术
从系统的体系结构上看,电子商务一般采用三层的浏览器/服务器(Browser/Server,B/S)结构,整个电子商务主要由浏览器、Web服务器和数据库服务器三个部分组成。
2.3.1Web服务器端开发技术
Web服务器端开发技术中,最关键的是访问数据库的动态网页技术,包括CGI、ASP、PHP和JSP等,所做的宠物商店主要是ASP技术,所以我们重点关心ASP的开发。
ASP全名为ActiveServerPages,是一个Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。
ASP采用脚本语言VBScript(JavaScript)作为自己的开发语言。
ASP技术具有以下特点:
Ø使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速完成的应用程序。
Ø无需编译,容易编写,可在服务器端直接执行。
Ø使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
Ø与浏览器无关(BrowserIndependence),客护端只要使用可执行HTML代码的浏览器,即可浏览ActiveServerPages所设计的网页容。
ActiveServerPages所使用的脚本语言均在Web服务器端执行这些脚本语言。
Ø可使用服务器端的脚本来产生客户端的脚本。
ØActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。
可以使用VisualBasic,Java,VisualC++,COBOL等程序设计语言来编写你所需要的ActiveXServerComponent.
2.3.2网络数据库技术
1.网络数据库技术与B/S模式
(1)网络数据库
网络数据库,就是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储与数据库中的大量信息及时发布出去,实现用户与数据库的实时动态交互。
网络数据库系统的组成元素包括客户端、服务器端以及连接客户端与服务器端的网络。
网络数据库技术目前在局域网及Internet上应用广泛,例如许多企业的各种信息管理系统,基于校园网的各种教育系统和管理系统,基于Internet的各种简单留言簿、论坛及复杂的远程教育和电子商务,这些系统几乎都采用了网络数据库技术来实现。
(2)采用网络数据库的B/S模式
随着Internet的发展,以Web技术为基础的B/S模式应用越来越广泛,许多基于网络数据库的应用系统都采用这种模式。
B/S由浏览器、Web服务器和数据库服务器三个部分组成。
在这种模式下,客户端使用一个通用的浏览器,用户所有的操作都是通过浏览器进行的。
B/S结构的核心是Web服务器,它负责接收远程或本地的HTTP查询请求,然后根据查询条件从数据库服务器中获取相关数据,再将结果翻译成HTML和各种页面描述语言,返回给提出查询要求的浏览器。
同时,浏览器也可将要求更改、删除、更新数据记录的请求发给Web服务器,由Web服务器完成与数据库的连接并完成操作。
典型的B/S模式结构如图1.1所示。
2.常用网络数据库管理系统
常用网络数据库管理系统有SQLServer、Oracle、IBMDB2、MySQL、Sybase及Access等,本是使用的是SQLServer所以我们重点谈下SQLServer.
SQLServer是由Microsoft开发的一个功能强大的关系型数据库管理系统。
它能够处理大量的数据和管理众多的并发用户,保证数据的完整性,并提供许多高级管理和数据分布能力。
SQLServer与WindowsNT系列的操作系统完美兼容。
SQLServer7.0易于安装、部署和使用,可运行在台式机、笔记本上,也可运行在多处理器计算机上,提供了数据仓库功能,支持远程管理,并提供了丰富的数据库编程能力。
3.ADO技术介绍
在企业管理中,数据的管理和分析常常是现代管理的核心。
因此,开发企业管理的时,访问、管理和分析数据总是程序的关键环节。
微软公司提供的通用接口,多年来已经经历了几次大的改进:
ODBC---OLEDB---ADO---ADO.NET。
ADO(ActiveX Data Objects,动态数据对象)技术是微软公司推出的数据库连接技术,运用该技术可以对各种数据库(如SQL Server、Access、Oracle及Sybase等)的、查询、存取等操作。
ADO对象给开发人员提供一种快捷、简单、高效的数据库访问方法,ADO可以包含在脚本中来产生对数据库的连接,并从数据库表中读取数据,形成实际要使用的对象集合。
而且,对于数据资源,提供了应用程序一级的界面。
不过,ADO并不与数据资源直接通信,而是通过称为OLE DB的中间界面,对于数据资源(Microsoft SQL Server),OLE DB提供了系统一级的界面,他们的关系如图1-3-3ADO、OLEDB和ODBC的关系。
ADO是一组优化的访问数据库的对象集,为Web数据库开发者提供完整的数据库解决方案。
ADO可以与ASP紧密结合,运行在服务器端,从而制作出功能完善的数据库网页。
ADO除了支持各种数据库平台外,它还支持VB、VC和Script等多种程序设计语言。
在利用ADO技术进行数据库网页制作的第一步就是要建立服务器端的数据库,即后台数据库,一般可选择SQL Server或者Access作为后台数据库。
本次的毕业设计是以SQL Server作为后台数据库。
图1-3-3ADO、OLEDB和ODBC的关系
4.ADO.NET技术
ASP.NET使用的ADO.NET数据模型。
该模型从ADO发展而来,但它不是只对ADO的改进,而是采用了一种全新的技术。
主要表现在以下几个方面:
(1)ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。
(2)ADO.NET包含对XML标准的完全支持,这对于跨平台交换数据具有十分重要的意义。
(3)ADO.NET既能在于数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。
特别是后者,非常适合于网络的需要。
因为在网络环境下,保持与数据源连接,不符合的要求,不仅效率低,付出的代价高,而且常常引发由于多个用户同时访问是带来的冲突。
因此ADO.NET系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。
ADO.NET访问数据采用层次结构,其逻辑关系如图1-3-4所示。
图1-3-4ADO.NET的层次结构
第三章网上商店
网上商店一般由前台系统和后台管理系统组成。
前台系统即客户系统,简称“前台”,是面向顾客的网页界面,它是顾客直接访问和进行购买活动的地方。
前台系统一般包括会员服务、电子商品货架、购物推车、支付和订单查询等四大部分功能。
前台系统还应包括一些其他辅助功能,如商场新闻、列表等,但这些功能不是网上商店所特有的。
后台管理系统常称为“后台”,是所有者利用计算机对电子商务各种功能进行管理、控制的系统。
由于Web服务器、数据库服务器多数情况下不在“本地”,所以后台管理系统通常执行的是远程控制管理。
网上商店流程:
网上商店的流程贯穿着这样四个流程:
前台流程、会员操作流程、后台管理流程、完整的购物流程。
1.前台流程
图2-1描述了网上商店的前台流程。
2.会员操作流程
前台流程中有关会员操作的流程也是比较复杂的,图2-2所示是详细的会员操作流程
图2-2详细的会员操作流程
没有在商店进行注册的顾客,首先要进行“注册”,以成为商店的会员。
顾客注册成功后就可以使用注册信息和口令以会员身份登录进入商店了。
已经注册的会员则可以直接登录,会员将商品放入购物推车和查询订单的操作。
3.后台管理流程
图2-3描述了后台管理流程。
后台管理主要包括:
Ø商店信息管理:
维护商店的基本信息,例如商店名称,管理员口令等;
Ø商店明细管理:
维护商品特征信息的明细结构;
Ø商品/目录信息管理:
维护商品电子货架分类目录结构和商品信息;
Ø会员管理:
维护会员信息;
Ø订单管理:
管理订单处理流程;
Ø留言板管理:
管理留言板信息删除不良信息;
后台的各个流程之间的关系相对独立,所以后台管理流程相对简单,不同流程对应的功能模块之间也基本独立,是一种平行关系。
图2-3后台管理流程
4.完整的购物流程
如果合并顾客的前台购物流程和系统的后台订单处理流程,就会得到完整的购物流程,如图2.4所示。
这个购物流程贯穿系统设计之中,是连接前、后台的核心流程。
顾客在前台浏览和查询商品,然后将商品放入购物推车,通过支付功能模块对购物推车中的商品下订单,并实际支付(在线实时支付和汇款等)。
网上商店后台系统收到付款后根据订单发货,最后顾客收到商品并确认(回执或签字等),这就完成了整个购物流程。
第四章 网上购物系统的设计及实现
4.1 系统设计
图3-1c/s模式
4.2系统功能模块划分
本系统主要实现在线电子商店的前台功能,可分为会员服务、商品查询、商品分类、购物车、用户订单和论坛等主要的功能模块。
如图3-2所示。
图3-2
本系统在线电子商店的后台功能包括会员管理、商品管理、查看投票系统、留言版管理、订单管理。
如图3-2-1所示。
图3-2-1
4.3数据库设计
数据库的概念结构设计完毕后,就可以将上面的概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
对于本系统,需要建立含有3个数据库。
login数据库,shoppingBus数据库,vote数据库。
一.login数据库
1、表login
用来记录注册用户的个人资料,结构如表3-1-1所示:
字段名称
数据类型
说明
userName
varchar
会员用来登录的名称
userPwd
varchar
会员用来登录的密码
uaserEmail
varchar
会员的
表3-1-1login表的逻辑结构
图3-1-2
2、表GLYlogin
用来记录管理员的个人资料,结构如表3-2-1所示
字段名称
数据类型
说明
UserName
varchar
管理员来登录的名称
UserPwd
varchar
管理员来登录的密码
UaserEmail
varchar
管理员的
图3-2-1GLYlogin的逻辑表
图3-2-2的逻辑表
二.shoppingBus数据库
1.petType表
用来记录宠物的种类,结构如表3-3-1所示:
字段名称
数据类型
说明
PetTypeID
varchar
宠物种类的编号
petTypeName
varchar
宠物种类的名字
图3-3-1petType的逻辑表
图3-3-2
2.pet表
用来记录宠物的名字,价格,照片,简介,结构如表3-4-1所示:
字段名称
数据类型
说明
petID
varchar
宠物的编号
petName
varchar
宠物的名字
PetTypeID
varchar
宠物种类的编号
petPrice
decimal
宠物的价格
petPhoto
varchar
宠物的图片
petRemark
varchar
宠物的简介
图3-4-1pet的逻辑表
图3-4-2
3.busBaoCun表
用来记录用户的订单信息,结构如表3-5-1所示:
字段名称
数据类型
说明
petId
varchar
宠物的编号
petAmount
varchar
用户购买宠物的数量
userNamel
varchar
购买宠物的用户名
图3-5-1busBaoCun的逻辑表
图3-5-2
创建shoppingBus数据库的SQL语句:
createdatabaseshoppingBus
go
useshoppingBus
go
--宠物类别
createtablepetType
(
petTypeIDvarchar(10)primarykey,--类别编号
petTypeNamevarchar(50)notnullunique
)
go
--插入测试数据(宠物类别)
insertintopetTypevalues('pt1001','鸟类')
insertintopetTypevalues('pt1002','狗')
insertintopetTypevalues('pt1003','猫')
go
--宠物表
createtablepet
(
petIDvarchar(20)primarykey,--宠物编号
petNamevarchar(100)notnull,--宠物名字
petTypeIDvarchar(10)foreignkeyreferencespetType(petTypeID),
petPricemoney,
petPhotovarchar(30),
petRemarkvarchar(1000)
)
go
--插入测试数据(宠物表)
insertintopetvalues('pet1001','波斯猫1','pt1003',100,'0001.gif','好猫,很好的猫!
')
insertintopetvalues('pet1002','波斯猫2','pt1003',,'0002.gif','好猫,很好的猫!
')
insertintopetvalues('pet1003','波斯猫3','pt1003',400,'0003.gif','好猫,很好的猫!
')
insertintopetvalues('pet1004','波斯猫4','pt1003',100,'0004.gif','好猫,很好的猫!
')
go
三.vote数据库
1.voteMaster表
用来记录投票的问题和总数,结构如表3-6-1所示:
字段名称
数据类型
说明
voteID
int
Vote编号
voteTitle
Varchar
投票问题的标题
voteSum
Int
投票数汇总
图3-6-1voteMaster的逻辑表
图3-6-2
2.voteDetails表
用来记录投票的选项的容和每项的票数,结构如表3-7-1所示:
字段名称
数据类型
说明
voteID
int
Vote编号
voteDetailID
varchar
选项编号
voteItem
varchar
选项的容
voteNum
int
每个选项的票数
图3-7-1voteDetails的逻辑表
图3-7-2
3.guestbook表
用来记录会员的留言记录,结构如表3-8-1所示:
字段名称
数据类型
说明
bool_id
Int
Vote编号
Username
varchar
选项编号
Post_time
Datetiem
选项的容
Content
varchar
每个选项的票数
图3-8-1guestbook的逻辑表
图3-8-2
第五章网上宠物商店的实现
本系统采用的技术方案为ASP.NET+ADO.NET+SQL-Server,即使用ASP.NET作为Web服务器端开发语言,采用ADO.NET作为Web服务器和ASP.NET的引擎,采用SQL-Server作为后台网络数据库管理系统。
5.1用户注册页面
如果你不是会员必须登陆到宠物商店的注册界面进行注册成为我们的会员后才能访问。
在进入注册前你必须认真阅读的相关约束条件如图4-1所示。
图4-1
阅读注册界面的要求后,当选择“同意”按钮后(默认)单击“下一步”后面板1(图4-1)将被隐藏,面板2(图4-2)将被显示。
如果选择“不同意”按钮后将返回登陆页面。
protectedvoidButton1_Click1(objectsender,EventArgse)
{
if(this.rBtnAgree.Checked)
{
this.Panel1.Visible=false;
this.Panel2.Visible=true;
}
else
{
if(this.rBtnNotAgree.Checked==true)
{
Response.Redirect("login.aspx");
}
在图4-1中选择“同意”选项(默认)后点击下一步按钮将进入到注册界面如图4-2所示。
在注册页面中用到了数据验证控件。
验证工作最好放在客户端进行,可以减少服务器的负担,提高处理效率。
将“用户名”、“密码”、“确认密码”、“”4个输入框设置为必需输入验证(RequireFieldValidator)控件,如果输入为空时提示相应的错误信息。
为“确认密码”输入框设置比较验证(CompareValidator)控件用来和上次输入的密码进行比较,看两者是否一致。
为“”输入框设置模式验证框(RegularExpressionValidator)检查输入是否符合Email的格式要求。
最后设置一个汇总(ValidationSummary)控件,用来汇总验证的结果。
图4-2
protectedvoidbtnQR_Click(objectsender,EventArgse)
{if(Page.IsValid)
//当各项值都通过验证
{//与SQL数据库进行
SqlConnectioncon=newSqlConnection("server=.;database=login;uid=sa;pwd=;");
con.Open();
SqlCommandcmd=newSqlCommand("select*fromloginwhereuserName='"+txtUserName.Text+"'",con);
//用reader对象来查询用户名是否已经存在
SqlDataReaderreader;
reader=cmd.ExecuteReader();}
代码中的“if(reader.Read())”语句用于核对注册的用户名在login数据库中的login表中已经存在,如果存在将提示"用户应经存在,请重新注册!
",反正注册成功。
if(reader.Read())
{
//若存在
Label1.Text="用户应经存在,请重新注册!
";
reader.Close();
txtUserName.Text="";
txtPassword.Text="";
txtPassword1.Text="";
Emails.Text="";
}
else
{//用户不存在,则将该用户信息增加到数据库
reader.Close();
stringStrSQL;
StrSQL="INSERTINTOloginVALUES('"+txtUserName.Text+"','"+txtPassword.Text+"','"+Emails.Text+"')";
SqlCommandcmd1=newSqlCommand(StrSQL,con);
//插入语句
cmd1.ExecuteNonQuery();
Label1.Text="注册成功";
}
con.Close();
}
5.2会员与管理员登陆界面:
我们声明了字符串变量username和password,再使用Te