文档库 最新最全的文档下载
当前位置:文档库 › 毕业论文_asp,sqlserver书店设计与实现

毕业论文_asp,sqlserver书店设计与实现

第一章系统开发模式、工具及环境

1.1系统的开发模式

在数据库应用领域,Web技术为网络数据库应用系统提供了一种全新的应用模式。本系统采用浏览器/服务器模式(B/S模式,BROWER/SERVER MODEL)来设计,这是一种WEB技术和数据库技术相结合形成的技术,采用三层结构如下:

在B/S模式结构中,客户机驻留的用户界面层软件为浏览器,用户通过浏览器的表单等向web服务器发送HTTP协议方式的请求。【3】

数据库服务器依然存放数据库服务层软件,执行WEB服务器送来的SQL数据请求,进行对数据库的读、写、删、改及查询等操作,操作完成后,将数据返回给WEB服务器。

WEB服务器在收到数据结果返回后,将其转换为HTML或各类SCRIPT格式,形成HTML信息返回给浏览器,并结束一次操作事务。客户机上只需安装浏览器,不需要安装数据库应用系统,因此B/S模式结构称为零客户端结构。【1】

1.2系统开发工具介绍

1.2.1Dreamweave mx2004 简介

目前最流行的网页制作软件是macromedia 公司的Dreamweave mx,通过它能制作出漂亮的网页,他提供了代码、设计等多种界面供用户选择,方便的界面是编辑网页代码和做出漂亮页面的绝佳好帮手,本系统采用了此软件对页面做美工修饰!

1.2.2Microsoft SQL SERVER简介

SQL SERVER数据库是一种基于客户机/服务器的关系型数据库管理系统,其中包括关系型引擎、存储引擎、管理和工具、复制、分析服务、全文查找、与WINDOWS2000集成化等特点,从而能够作为大型再线事务处理、数据仓库和电子商务网站系统的数据平台。【2】SQL Server 2000提供了以Web 标准为基础的扩展数据库编程功能。丰富的XML 和Internet标准支持允许您使用内置的存储过程以XML 格式轻松存储和检索数据。还可以使用XML 更新程序容易地插入、更新和删除数据

1.2.3Active server page(ASP) 简介

ASP是Active Server Pages的简称,它是一种在微软公司的WEB服务器IIS(Internet Infomation Server)上开发交互网页的新技术。微软公司最初在IIS3.0版上使用它以取代CGI。随着Windows NT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet 和Intranet应用的最佳选择。所有的A S P代码都在服务器端执行而不用担心浏览器的兼容性问题,与一般的程序不同,ASP无须进行编译,其程序的控制部分是用VBSCRIPT、JA V ASCRIPT等脚本语言来编写的。ASP技术可以把HTML的简单性、脚本程序编写方法以及ACTIVE服务器组件等结合在一起,用以创建动态的功能强大的网站。【3】

1.3系统开发环境简介

1.3.1系统软件要求

(1) 服务器端

●操作系统:Windows NT Server 4.0或 Windows 2000 server

●网络协议:TCP/IP

●服务器:Internet Information Server 5.0

●数据库:Microsoft sql server 2000

●浏览器:Internet Explore 5.0

(2) 用户端

●操作系统:Windows 98/ME/2000/XP

●网络协议:TCP/IP

●浏览器:Internet Explore 5.0、Netscape或者其他浏览器

1.3.2系统硬件要求

(1) 服务器端

服务器端的最低配置是由建立站点所需的软件来决定,在最低配置的情况下,服务器性能往往不尽如人意,现在的硬件性能已经相当出色,而且价格也比较便宜,因此我们通常给服务器配置高性能硬件

本网上书店系统的配置如下:

●处理器:Intel Pentium 1.6GHZ或更高

●内存:256MB

●硬盘空间:80 GB

●光驱:CD—ROM 52 X

●显卡:SVGA显示适配器

(2) 用户端

因为客户主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面要求:

●处理器:Intel Pentium 166 MX或更高

●内存:32 MB

●硬件空间:1 GB

●光驱:CD—ROM 52X

●显卡:SVGA显示适配器

第二章系统分析及概要设计

2.1 网上书店系统概述

2.1.1 网上书店简介

网上书店系统是一个具有交互功能的商业信息系统,它在网络上建立一个虚拟的购书商店,使购书过程变的轻松、方便、快捷,很适合现代人快节奏的生活;同时又能有效的控制"书店"运营的成本,开辟了一个新的销售渠道。

2.1.2 目标系统要求

要求设计和建立一个在线图书销售网站系统。功能要求:图书选购(可按分类方式查找图书,或通过关键字查询);购物车功能;查看图书详细情况;用户注册、登录,修改用户个人信息,查看定单信息;商店图书管理:添加、修改、删除、查看;用户信息管理:添加、修改、删除、查看;定单信息管理:查看定单,更新定单付款,出货状态。

2.1.3 系统流程分析

系统分管理员和用户,管理员通过管理员认证界面登录管理员后台对商店的一切进行管理如公告、商品、定单、投诉、帐号等的管理;普通用户可通过用户认证界面进行注册-登录-浏览图书-放入购物车-收银台确认-付款等的一系列购书流程

2.2 系统模块划分

网上书店系统分为前台管理和后台管理。前台管理包括浏览图书、查询图书、订购图书、购物车、用户信息维护等功能。后台管理包括公告管理、图书管理、定单管理、投诉管理和用户管理等模块。

后台管理具体描述如下:

1.公告管理

●添加公告,包括公告标题和公告内容等;

●修改公告,管理员可以对写错了的公告进行及时的修改和更新

●删除公告。

2.商品管理

●添加图书类别;

●修改图书类别;

●删除图书类别;

●添加图书信息,包括图书类别、名称、编号、出版社等信息;

●图书图片的上传、修改和删除;

●修改图书信息;

●删除图书信息;

●查看图书信息。

3.定单管理

●处理定单;

●办理发货;

●办理结帐;

●删除定单。

4.投诉管理

●录入投诉的解决方法;

●删除已解决的投诉;

●查看投诉用户。

5.顾客用户管理功能

●注册顾客用户,包括用户名、密码等信息;

●修改顾客用户信息;

●删除顾客用户信息。

6.系统用户管理功能

●添加系统用户,包括用户名、密码等信息;

●修改系统用户信息;

●删除系统用户信息。

2.3 网上书店系统框架流程

2.3.1 网站客户端框架流程

本网上书店系统按流程有前台顾客购书流程和后台定单处理流程。前台客户购书流程如下

2.3.2网站管理端框架流程

多数系统的工作流程都是从用户登录模块开始的,之后对用户的身份进行认证,确认用户是

否是有效的注册用户以决定对用户的操作权限,从而决定用户的工作界面,本系统后台的定单处理流程如下

第三章系统详细设计

3.1 数据库的创建

本网站后台采用了Microsoft SQL SERVER 2000为数据库服务器,建立了系统所需的7张表:公告信息表Board、图书类别表GoodsType、图书信息表Goods、购物车表Basket、客户投诉表Complain、用户表Users和管理员表Admin。

在数据库中建表的代码如下:USE Shop

GO

CREATE TABLE Board (

Id int IDENTITY (1, 1),

Title varchar (50),

Content varchar (1000),

PostTime datetime,

Poster varchar (20)

)GO

建好后效果如下

在数据库中建表的代码如下:USE Shop

GO

CREATE TABLE Basket (

Id Int IDENTITY (1, 1),

UserId Varchar (20),

GoodsId Int,

OrderTime Datetime,

OrderCount Int DEFAULT 0,

SalePrice Float DEFAULT 0, UserChecked Char (10) DEFAULT 0, OrderNumber Varchar (50),

PostTime Datetime,

AdminChecked Char (10) DEFAULT 0

)

GO

建好后效果如下

图书类别表GoodsType如下用来保存图书的类别信息;

在数据库中建表的代码如下:

USE Shop

GO

CREATE TABLE GoodsType (

Id int IDENTITY (1, 1),

Type varchar (50)

)

GO

建好后效果如下

在数据库中建表的代码如下:

USE Shop

GO

CREATE TABLE Goods (

Id Int IDENTITY (1, 1), Typeid Int,

Name Varchar (50),

Sn_Number Varchar (50), Producer V archar (50), Package Varchar (50), SalePrice Float DEFAULT 0, StorePrice Float DEFAULT 0, Content Varchar (1000),

PostTime Datetime,

ReadCount Int DEFAULT 0,

BuyCount Int DEFAULT 0,

ImageFile Varchar (50)

)

GO

建好后效果如下

客户投诉表Complain如下用来保存用户对网站的意见建议等的信息

USE Shop

GO

CREATE TABLE Complain (

Id Int IDENTITY (1, 1),

Posttime Datetime,

UserId Varchar (20),

OrderNumber Varchar (50),

Content Varchar (1000),

Result Varchar (1000),

Flag Bit DEFAULT 0

)

GO

建好后效果如下

在数据库中建表的代码如下:

USE Shop

GO

CREATE TABLE Users (

UserId Varchar (20) PRIMARY KEY, Pwd Varchar (20),

UserName Varchar (50),

Sex Bit,

Address Varchar (1000),

Email Varchar (50),

Telephone Varchar (100),

Mobile Varchar (50)

)

GO

建好后效果如下

USE Shop

GO

CREATE TABLE Admin (

AdminId Varchar (20) PRIMARY KEY,

PassWd Varchar (20),

Name Varchar (50)

)

GO

INSERT INTO Admin VALUES('Admin','111111','Admin') GO

建好后效果如下

3.2 系统功能流图

本系统主要有6个完整的功能,其网上购书系统功能模块示意图如下:

用户管理功能模块的设计如下图所示:

3.2 网上书店客户端功能描述与实现

3.2.1 系统主界面与登录程序设计

作为用户第一眼就看到的主界面就好象是一件衣服一样,首先要美观大方才能吸引顾客的眼球,为此用Dreamweave mx设计了网上书店漂亮的主页面,它能显示网上书店给定信息,包括系统公告、用户登录、订单查询、图书查询、最新图书、热卖图书和图书分类等信息,让顾客一目了然。

3.2.2 图书查询和购买模块

当顾客进入网上书店的时候总想能快速的查找到他所需要的图书,节约时间。这样图书查询模块的设计就十分有必要了,在查询到所要的图书然后方便快速地购买这无疑是网上书店的最大魅力之一啦!

这个大模块包括以下功能:

●查看图书列表

●查询图书信息

●查看图书信息

●购买图书

●查看购物车

●收银台结帐

●查看我的定单

在主界面中,显示了图书分类的超级连接,单击超级链接,将打开Search.asp页面,即转到查询页面,查询包括了图书按照类别查询和按照条件精确地在数据库中查找用户所需的图书;分类查询其中一类图书的页面如下:

Search.asp可以处理两种情况的查询。一种是按图书分类显示图书列表,另一种情况是在指定分类中查询满足条件的图书。根据用户提供的参数生成查询条件whereTO。如果参数tyid不为空,则显示类型编号为tyid的所有图书;否则在参数tid中保存了图书类型编号,参数gname中保存了要查询商品的名称。在此应用了模糊查询的方法,所以在WHERE子句中使用LIKE关键字进行匹配。主要代码如下:

<%

'取得查询条件

Dim itype, gname, whereTo, tpid

Set rs = Server.CreateObject("ADODB.RECORDSET")

tpid = Request.QueryString("tpid")

'根据不同情况生成WHERE子句whereTo

If tpid<>"" Then

'显示指定分类的所有图书信息,tpid代表分类编号

whereTo = "Where TypeId=" & Cint(tpid)

itype = iflag

Else

'在指定分类中,查询指定图书

itype = Request.QueryString("tid")

gname = Request.QueryString("gname")

If isNull(gname) Or Len(gname)=0 Then

whereTo = "Where TypeId=" & Cint(itype)

Else

whereTo = "Where TypeId=" & Cint(itype) & " And Name Like '%" & gname & "%'"

End If

End If

%>

在注册顾客看中了其中的图书并准备购买时,他可以向超市购物一样把图书先放到购物篮中,购物车这一模块就是为此设计的。在显示的商品中,点击要购买的图书“订购”,在通过认证后,提交页面到shop\basketsave.asp?flag=1,把订购图书放入自己的购物车。其页面的功能是根据参数flag的值处理购物车或收银台中的记录。处理情况如下:

flag=1时,将选择的图书放入购物车,包括用户、图书、数量和时间等信息;

flag=2时,将删除购物车或收银台中指定的图书;

flag=3时,将购物车中指定的图书放入收银台;

flag=4时,表示用户在收银台确认购买图书。

其关键代码如下:

<%

Dim userid

userid = Session("user_id")

Dim pageid,sTitle,colnum

colnum = 6

sTitle = ""

'读取参数pageid

pageid = Request.QueryString("pageid")

'pageid=0:购物车;pageid=1:收银台;pageid=2:订单信息

If isnull(pageid) Then

Response.End

ElseIf pageid=0 Then

sTitle = "购物车"

colnum = 7

ElseIf pageid=1 Then

sTitle = "收银台"

colnum = 7

ElseIf pageid=2 Then

sTitle = "订单"

colnum = 6

End If

%>

<%

'根据参数pageid设置SELECT语句,读取指定记录到记录集rs中

sql = "SELECT b.*, https://www.wendangku.net/doc/3b4957122.html, FROM Basket b, Goods g WHERE https://www.wendangku.net/doc/3b4957122.html,erId='" & userid & "' And https://www.wendangku.net/doc/3b4957122.html,erChecked=" & pageid

sql = sql & "And g.Id = b.GoodsId ORDER BY b.AdminChecked, b.Id DESC"

rs.Open sql, Conn, 3, 3

If rs.EOF Then

%>

暂且没有订购的图书 <%

End If

Dim total

total = 0

Do While Not rs.EOF

'计算总价格

total = total + Cint(rs("OrderCount")) * Cint(rs("SalePrice"))

%>

在主页面中用户登入后的购物车实现效果如下:

3.2.3 客户投诉模块

当一个网上书店能够良好的经营下去,采纳和吸取顾客的意见是必不可少的,只有了解用户的难处和需求才是一个电子商务网站成功的关键!正是如此书店设计了一个客户投诉模块,如果客户对书店有什么建议和意见,可以提出投诉,其模块包括下面的两个功能那就是1)填写客户投诉和)2查看自己的投诉记录

用户在点击“添加投诉”的链接后就打开如下页面填写投诉

用户也可以在我的投诉页面中查看自己的投诉内容

3.2.4 用户管理页面设计

在网上书店中只有俩种类型的用户,那就是系统用户和顾客。系统用户就是书店的管理人员,这只能由Admin用户才有权限创建;注册顾客就是书店的浏览客户,任何访问者都可以注册成为用户。在前台没有注册的浏览者可以通过点击网站主页上的“用户注册”链接,添加注册信息。本系统为此设计了7个小模块来分别处理以下功能:adminadd.asp 用来实现添加系统;adminedit.asp用来实现修改系统的用户信息;adminsave.asp 用来实现保存系统的用户信息;admindelt用来删除系统用户;chgpwd.asp用来设置系统用户密码;adminresetpwd.asp用来保存系统用户密码;loginexit.asp用来退出登录。用户注册页面的模块设计的部分代码如下:

设计出如下页面

注册后的用户可以保存注册用户信息、修改注册用户信息、修改注册用户密码、和保存注册用户密码。

另外本网站的公告内容查看,图书详细查看等的模块设计都是考虑到了实用方便的电子商务设计原则。

3.3 网上书店管理端功能描述与实现

3.3.1 管理员认证模块

要想进入网上书店的后台就必须是管理员,普通的用户是不能进入的,所以管理员认证模块IsAdmin.asp的设计就能够很好的解决这个问题,在进入管理员的管理页面时IsAdimin.asp模块就判断当前用户是否是管理员,如果不是则跳转到Login.asp,要求用户登录;如果是,则不执行其他任何操作直接进入管理员的管理页面。Login.asp的详细设计代码如下:

<%

'从Session变量中读取用户信息

AdminId = Trim(Session("admin_id"))

Passwd = Trim(Session("admin_pwd"))

'用户名是否为空

If AdminId <> "" Then

sql = "Select * From Admin Where AdminId='" & AdminId & "' And Passwd='" & Passwd & "'"

'是否存在此用户名

Set rs = Conn.Execute(sql)

If rs.EOF Then

Response.Redirect "Login.asp"

End If

Else

Response.Redirect "Login.asp"

End If

%>

进入后,admin管理员还可以对注册用户和管理员用户进行管理。

3.3.2 后台管理主界面设计

在通过前台的链接经过认证进入后台管理的主界面这只是一个用Dreamweave mx设计的界面的页面,其动态的功能靠具体的页面来实现。

3.3.3 公告管理

在后台的主界面中通过公告管理的链接可进入公告管理页面BoardList.asp,它的设计实现以下功能

●添加新的公告记录

●修改公告记录

●删除公告记录

显示公告的主要设计代码如下

<%

'设置SQL语句,查询表Board中的公告信息,读取到rs对象中

Dim rs

Set rs = Server.CreateObject("ADODB.RecordSet")

sql = "Select * From Board Order By PostTime Desc"

Dim n '用来保存记录数量

rs.Open sql,Conn,1,1

'如果rs为空,则显示提示信息

If rs.EOF Then

Response.Write "目前还没有公告。"

Else

%>

<%

'设置每页记录数量为15

rs.PageSize = 15

'设置并读取页码参数page

iPage = CLng(Request("page"))

If iPage <=0 Then

iPage = 1

End If

If iPage > rs.PageCount Then

iPage = rs.PageCount

End If

RowCount = rs.PageSize

'依次显示公告信息

Do While Not rs.EOF And RowCount > 0

n = n + 1

%>

<%

rs.MoveNext()

'控制每页显示记录的数量

RowCount = RowCount - 1

Loop

%>

<%

'显示页码链接

If rs.PageCount>1 then

Response.Write "

"

For i=1 to rs.PageCount

Response.Write "

"

Next

Response.Write "

分页:"

Response.Write "[" & i & "]

"

End If

End If

%>

管理员在进入后在此执行添加、修改、删除,在单击“添加公告”将调用boardwin()函数,

在新窗口中打开boardadd.asp,添加公告信息,页面如下:

在提交公告后系统将执行boardsave.asp保存数据,参数action表示当前的动作,action=add设置为添加记录。用户可以对公告进行修改这一功能是靠boardedit.asp来实现的,其代码如下:

<%

'从数据库中取得此公告信息

Dim id,rs,sql

'读取参数id

id = Request.QueryString("id")

'根据参数id设置sql语句,读取指定的公告信息

sql = "SELECT * FROM Board WHERE id = " & id

'执行SQL语句,将公告信息读取到rs记录集中草药

Set rs = Server.CreateObject("ADODB.RecordSet")

rs.Open sql,conn,1,1

'如果记录集为空,则显示没有此公告

If rs.EOF Then

Response.Write "没有此公告"

'结束网页输出

Response.End

Else

'替换公告内容中的特殊字符

content=Replace(rs("content"),"
",chr(13))

content=Replace(content," "," ")

'下面内容是在表格中显示公告内容

%>

相关文档