基于ASP的企业网站的设计与实现图书电子交易系统1Word文档格式.docx
- 文档编号:17587332
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:42
- 大小:754.53KB
基于ASP的企业网站的设计与实现图书电子交易系统1Word文档格式.docx
《基于ASP的企业网站的设计与实现图书电子交易系统1Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于ASP的企业网站的设计与实现图书电子交易系统1Word文档格式.docx(42页珍藏版)》请在冰豆网上搜索。
阎光特别强调,在当当的顾客中,有20%来自海外。
建立了配送网络的大洋网上书城成为华南中心城市广州的IT热点,已有几十万人注册为会员。
书城目前拥有图书近60多万种,并以每天400本的速度录入新书、充实旧书的内容,书城日销量突破600单,日成交额近4万元。
我们不妨将我国网络图书的发展划分为三个阶段:
2000年到2004年为初步尝试阶段,2005年到2007年为主动探索阶段,2008年以后将是蓬勃发展阶段。
也就是说,目前我国的网络图书正处于积极主动的探索阶段。
如果网络图书能在此时建立完善的网络图书电子交易体系,占领市场,必将在未来3-5年内获得更丰厚的回报。
1.3课题的价值与意义
ASP图书电子交易系统,是为了迎合现在人们的生活而设计的。
随着网络的覆盖面的增广,上网的人也越来越多了,在网上购物是一种潮流,随着现在网上商店大量的出现,人们更喜欢的在网上购物,这样大大节约了出行的时间,而且服务也不比现实的差,网上购物是先订货,然后在一定时间内送货上门或通过邮寄的方式送货,货到再付款。
符合人们的理念。
据资料显示,2004年中国网上购物网上支付总金额达到6.8亿,预计2005年将达到15.7亿,2007年将达到88.8亿元人民币。
据了解,中国每年图书业总价值约1000亿元,在流通中的营业额约700亿元,如果全面推行电子商务,那无疑是一桶黄金。
用现代高科技改造旧有的传统行业是国民经济得以快速发展的有效手段,把基于Internet技术的电子商务模式运用于传统的图书出版发行领域,这既是技术应用和经营方式都比较落后的图书行业自身发展的迫切需要,也是图书业进一步发展的战略增长点,更是电子商务得以有效应用的一个非常适用的阵地。
再加上电子商务的日益趋于成熟,将改变整个图书业的传统业务流程。
使出版业与网络结合,并形成良性的互动关系,网络因出版而充分,出版因网络而广开渠源,可以解决国内出版业与国际出版业之间的不平衡问题,加快我国的出版业向世界先进水平靠拢。
据最新调查结果显示,中国香港已经超越新加坡,成为亚太地区最佳电子商务投资环境所在地。
而中国内地则排名全球第五十四位。
从电子商务的发展过程中,仔细研究分析国内外尤其是本地区图书出版发行行业电子商务发展的现状,结合自身的特点,推动新华书店店的电子商务的应用。
无论新华书店未来电子商务的发展状况如何,它都将是每一个在国内进行图书电子商务的企业机构无法回避的一个业务领域。
随着互联网宽带和技术应用的成熟,以及物流和支付系统的完善,可以预见,电子商务将成为互联网普及应用的主流,必将影响着千家万户的生活和经济行为,并日益成为社会商业活动的重要形式。
从中可以看出,电子商务商机无限,重在创新,善于捕捉市场空白点和新动向,介入越早,获利越丰。
第2章ASP概述
2.1ASP概念与特点
ASP(ActiveServerPages)是微软公司推出的一种用来取代CGI(CommonGatewayInterface)的技术。
简单地讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的、交互式的Web应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息、上传与下载文件等。
ASP内含于IIS(MicrosoftInternetInformationServer)或者PWS(PersonalWebServer)之中。
有了ASP,就不必担心客户端浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。
当程序执行完毕后,服务器便将执行的结果返回客户端浏览器,这样就减轻了客户端浏览器的负担,大大提高了信息交互的速度。
作为在IIS环境下开发Web应用的一种简单、方便的编程工具,ASP具有如下特点:
⑴使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,可快速完成网站应用程序的开发;
⑵容易编写,无需编译,可在服务器端直接执行;
⑶使用普通的文本编辑器,如Windows的记事本,即可进行编辑;
⑷与浏览器无关,只要客户端浏览器能够执行HTML代码,就可浏览利用ASP设计的网页内容。
ASP所使用的脚本语言均在Web服务器端执行,无需客户端的浏览器执行这些脚本语言;
⑸ASP能与任何ActiveXscripting语言相兼容,除了可以使用VBScript或JavaScript脚本语言进行设计外,还可以通过plug-in的方式,使用由第三方提供的其他脚本语言,例如REXX、Perl、Tcl等,脚本引擎是处理脚本程序的COM组件;
⑹ASP的源程序不会被传到客户浏览器,因而可以避免源程序被剽窃,从而提高了程序的安全性;
⑺可使用服务器端的脚本来产生客户端的脚本;
⑻ActiveX服务器组件具有无限的可扩充性,可以使用VisualBasic、Java、VisualC++、COBOL等编程语言来编写所需的ActiveX服务器组件。
2.2ASP的环境配置
本系统中ASP赖以运行的基础是WindowsWebIIS。
下面简单介绍IIS的功能和安装:
IIS是InternetInformationServer(网络信息服务)的简称,简单地书就是在Internet上发布信息的Web服务器。
IIS通过使用超文本传输协议(HTTP)传输信息,并将信息加载到网站上,当然还可以配置IIS提供文件传输协议(FTP)服务,以便于信息的发布和资源的共享。
IIS是在网络上构建和部署电子商务解决方案以及任务关键的应用程序的一种安全平台。
要想让自己的计算机能够作为网络服务器,首先需要安装IIS。
IIS的安装步骤如下:
(以WindowsXP为例)
⑴在“开始”菜单中选择“控制面板”选项;
⑵双击“添加或删除程序”图标;
⑶单击对话框左边的“添加/删除Windows组件”图标,在弹出的“Windows组件向导”对话框中选中“Internet信息服务(IIS)”复选框,如图2-1所示。
单击右下部的“详细信息”按钮,可以查看子选项,确认至少选中了“FontPage2000服务器扩展”、“WorldWideWeb服务器”、“公用文件”和“Internet信息服务单元”复选框;
⑷单击“下一步”按钮,系统将复制、安装和配置组件,直到完成安装。
图2-1安装IIS的Windows组件向导
第3章整体设计思想与规划
一个典型的网上书店系统的系统总体构成如下图所示:
图3-1系统总体构成
3.1业务流数据流分析
本系统分为前台购物流程和后台订单处理流程
图3-2前台购物流程图
图3-3后台购物流程图
系统拥有强大的后台管理功能,支持整个购书过程各个环节的后台管理和后台操作。
主要是订单功能的实现,这个是整个系统的难点之一。
怎样显示同一订单购物信息,通过传递订单号和客户名字,这里是利用了数据库的交叉连接。
图3-4网上书店系统的用户购物流程
3.2Brower/Server结构
B/S的多层结构是在传统的C/S结构基础上产生的。
它将应用程序分为3层,如下:
1用户层:
该层负责处理用户的输入和向用户输出,基于Web的显示页面。
2商业逻辑层:
它是连接上下两层的纽带,封装了用户对数据库的请求。
3数据库层:
该层负责实际数据的存储。
B/S有一个重要优势——封装性,当客户端需要进行某项操作与数据库打交道时,只需要调用一个函数,至于这个函数如何实现它并不关心。
当程序发生变动时,只要这个函数的接口不变,客户端就无须修改程序。
3.3系统设计整体实现
图3-1所示为系统的基本设计思想,数据库采用SQLServer2000,并利用数据访问层来处理数据库与应用程序之间的信息的传递。
图中下层是上层工作的基础,也可以说上层通过接口使用下层提供的服务。
具体实现是从数据库设计开始的。
界面文件(*.aspx)
隐藏文件(*.aspx.cs)
数据访问层(DAL)
存储过程(SP)
数据库(SQL数据库)
图3-1系统整体设计思想
第4章系统详细设计
4.1数据设计
4.1.1数据库设计
数据库包括注册会员表、图书表、图书分类表、评论表、购物车表、订单表和订单详情表。
下面详细介绍:
⒈会员表(Customers表)
Customers表存储会员的注册信息,包括用户名、密码、邮箱等,设计结构如表4-1所示:
表4-1Customers表
名称
数据类型
长度
允许空
作用
CustomerID
int
4
否
客户ID编号,主键,自增
CustomerName
varchar
50
客户姓名
CustomerSex
char
2
是
客户性别
CustomerPassword
12
客户密码
CustomerEmail
carchar
客户邮箱
CustomerAddress
80
客户地址
CustomerTel
客户电话
在Customers表中,根据实际意义,因为用户姓名可能一样,所以设计CustomerID作为主键,它是一个自增类型。
为了便于记忆,在用户登录时,使用CustomerEmail作为用户身份验证的惟一标识。
通过用户的CustomerEmail和CustomerPassword可以确定用户的身份。
CustomerName是可选的,如果用户输入CustomerName则在页面上显示CustomerName的值,否则用CustomerEmail的值填充CustomerName。
在上面,可能会认为一个邮箱可以注册多个用户,事实上也确实可以注册多个用户,这其实并不是数据库设计考虑的问题,而应该在应用程序中实现。
例如在用户注册时,通过判断该邮箱有没有注册过,如果没有,就注册成功,否则提示注册失败。
⒉图书表(Books表)
Books表存放图书信息,包括图书编号、图书名称、图书类表、图书ISBN、图书URL地址、图书价格和内容介绍,设计结构如表4-2所示:
表4-2Books表
BookID
图书的ID编号,主键,自增
CategoryID
种类ID编号,外键
BookISBN
图书的ISBN
BookName
图书名
BookImage
图书的封面
UnitCost
money
8
图书价格
Description
1000
内容介绍
在Books表中,BookID作为表的主键,图书表里的CategoryID是Categories表的外键。
这里之所以将CategoryID另作为一张表是因为在页面里显示图书时,可以以图书类别进行分类显示,便于图书查找和管理。
⒊分类表(Categories表)
分类表主要是把图书分类。
它和Books表共同组成一个父子表。
设计结构如表4-3所示,仅包含分类号和分类名:
表4-3Categories表
种类ID编号,主键
CategoryName
种类名称
⒋购物车表(ShoppingCart表)
购物车表记录了用户每次的购物信息。
在实际应用中,用户一次可能购买不止一本图书,所以利用CardID记录每一个购物车,而用户每一次往购物车上添加图书,就会产生一条记录RecordID,所以一个购物车里可能有多个记录。
实际设计时,使用RecordID作为自增的主键,而并不是将CardID作为主键,所以由CardID区分每一次购买,由RecordID区分每一次都购买了什么图书。
如果用户未注册而进行购买图书也是允许的,系统自动生成一个随机字符串来进行记录,以便用户结帐时,把购物车上的图书转移到正式账号上。
另外,Quantity记录每次购物的数量,在设计数据库时,默认将该值设置为1,以减少用户的输入。
如果购买不止一本,用户可以更改,具体在程序中实现。
DataCreated记录购买日期,通过getdate()函数使用默认值为当天。
设计结构如表4-4所示:
表4-4ShoppingCart表
RecordID
记录ID编号,主键,自增
CartID
nvarchar
购物车编号
Quantity
数量,默认值为1
图书ID编号,外键
DateCreated
datetime
创建日期,默认为当天
⒌订单表(Orders表)
用户结帐时,将自动产生一张订单。
它记录了本次用户的购买情况。
订单OrderDate默认生成日期为当天,ShopDate在最后的代码中只是使用随机函数让它的值在OrderDate产生后的1~3天内。
表4-5所示为订单表的设计:
表4-5Orders表
OrderID
订单ID编号,主键,自增
客户ID编号,外键
OrderDate
订单日期,默认为当天日期
ShopDate
购买日期,默认为当天日期
⒍订单详情表(OrderDetails表)
订单详情表类似“历史记录”,便于用户查看自己以往的购买情况。
它以OrderID和BookID作为主键,由它们共同决定一条记录。
表4-6所示为订单详情表:
表4-6OrderDetails表
订单编号,外键,主键
图书编号,外键,主键
数量
⒎评论表(Reviews表)
评论表记录了用户对图书的评价。
它需要记录用户的CustomerEmail和BookID,表示某个用户对某本图书的评论,使用Rating记录评价登记,评价内容用Comments记录。
表4-7所示为评价表的设计结构:
表4-7Reviews表
ReviewID
评论ID编号,主键,自增
Rsting
评价等级
Comments
3850
评论内容
4.1.2数据关系图
图4-1所示为数据表的基本关系图。
其中CategoryID作为Categories表的主键Books表的CategoryID相连;
Reviews表的BookID和BookID相连;
ShoppingCart表的BookID和Books表的BookID相连;
Orders表的OrderID和CustomerID分别和OrderDetails表的OrderID、Customers表的CustomerID相连。
图4-1数据库关系图
4.2存储过程与数据访问
存储过程为数据访问提供服务。
通过存储过程而不是SQL语句,可以提供系统性能,并增加数据库的安全。
4.2.1存储过程的实现
存储过程共分为5类,具体内容见下面的介绍:
⒈图书类
图书类存储过程如表4-8所示:
表4-8图书类存储过程
存储过程名称
存储过程功能
BookCategoryList
该存储过程返回图书分类列表
BookDetail
该存储过程返回特定图书的详细信息
BooksByCategory
该存储过程返回特定类别的全部图书信息
BookSearch
该存储过程返回查找结果。
在页面搜索时,通过搜索图书名称、图书ISBN和图书的描述中有没有搜索关键字来返回运行结果
BooksMostPopular
该存储过程返回畅销书
代码4-1列出了BooksMostPopular存储过程:
CREATEProcedureBooksMostPopular
AS
SELECTTOP5
OrderDetails.BookID,
SUM(OrderDetails.Quantity)asTotalNum,
Books.BookName
FROMOrderDetails
INNERJOINBooksONOrderDetails.BookID=Books.BookID
GROUPBYOrderDetails.BookID,Books.BookName
ORDERBYTotalNumDESC
该存储过程首先选择OrderDetails.BookID和Books.BookID相匹配的图书,并按照BookID和BookName分组。
通过DESC将图书按照销售量降序排列,利用TOP5返回前5本图书,这样就实现了“畅销书”。
所以这里的畅销书是根据销售量来设定的。
⒉用户类
用户类存储过程如表4-9所示:
表4-9用户类存储过程
CustomerAdd
该存储过程用于增加一个新用户
CustomerAlsoBought
该存储过程用于计算顾客除了购买本书以外,还购买了其他哪些图书,并按照购买其他图书的数量显示最多的前5本图书
CustomerDetail
该存储过程用于显示顾客的详细信息
CustomerLogin
该存储过程用于用户登录,如果成功返回ID号,否则返回-1
⒊订单类
订单类存储过程如表4-10所示:
表4-10订单类存储过程
OrdersAdd
增加订单
OrdersDetail
该存储过程显示订单的详细信息
OrdersList
该存储过程显示顾客的订单历史记录
在处理订单时,使用事务(tran)的概念,如果添加订单成功则提交(Commit)。
⒋评论表
评论表存储过程如表4-11所示:
表4-11评论表存储过程
ReviewsAdd
添加评论
ReviewsList
对特定图书显示其评论列表
⒌购物车类
购物车类存储过程如表4-12所示:
表4-12购物车类存储过程
ShoppingCartAddItem
往购物车上添加图书。
添加时只有数量为正整数时才进行更新
ShoppingCartEmpty
该存储过程用于清空购物车上的图书
ShoppingCartItemCount
该存储过程计算购物车上的图书数量
ShoppingCartList
该存储过程用于显示购物车上的图书列表
ShoppingCartMigrate
如果用户先购买,再注册/登录,该存储过程将当前购物车的图书移到已注册的账号上
ShoppingCartRemoveAbandoned
如果购物车上的内容存在天数大于一天,该存储过程将删除购物车上的图书
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ASP 企业 网站 设计 实现 图书 电子 交易系统