数据关系
数据完整性
图5-1
5.5 技术开发方案
我们根据应用系统的有关规范标准和具体业务需求,结合软件开发技术发展状况,选择了以下相应系统软件或工具软件,以确定科学、合理的开发方案。
具体如下表所述:
类别 软件名称 软件用途
数据库 SQL Server 2000 后台数据库
Web服务 IIS 后台服务器
开发工具 VS.NET2005(ASP.NET,C#) 后台编码,页面设计
5.6 系统技术平台
(1) 硬件:
WEB服务器1台、客户机若干台、网卡、集线器等。
(2) 软件:
WEB服务器为Windows2000及以上版本,安装有IIS。
客户机安装Internet Explorer或Netscape Communicator。
相关软件,如:IE、SQL Server 2000、VS.NET等等。
6 网站设计
本系统的结构包括数据存储层、商务服务器组件及应用服务层。在应用服务层中主要采用ASP.NET技术来构建动态网页来支持整个面向服务对象的应用。
整个电子商务系统的网站设计是整个消费客户和商务客户进行交互的页面,服务对象通过访问网站来获得所需要的信息,该网站的设计提供以下功能:
(1)各种功能的连接。包括注册,登录,购物和查看以及结帐
(2)内容简洁明了
(3)各种商品的分类提示、商品的详细信息以及购物车信息的查询
(4)各种以往订单纪录的查询、统计和显示
6.1 网站前台首页设计
在Go购电子商城的首页中,用户不但可以在第1时间内掌握商城推出的特价商品、上架新品、最新新闻公告信息等,还可以查看热销商品展示、搜索指定商品、商品分类查询等。Go购电子商城前台首页的运行结果如图6.1.1所示。
图6-1 网站前台首页的运行结果
下面以列表形式给出前台页面各部分的说明信息,如表1所示。网站面页主要由七个WEB用户控件(Header.ascx,SiteInfo.ascx,Bulletin.ascx,Commend.ascx,ProductsTopDateTimed,
ProductsSaleTop.ascx,Footer.ascx.)组成。
表5-1 前台首页页面说明
区域 名称 说明 相关用户WEB控件
1 网站导航 主要展示网站的站内导航条 Header.ascx
2 商品搜索 主要用于按商品的大分类模糊查询商品信息 Header.ascx
3 商城新闻 主要用于显示网站最新新闻公告信息 Bulletin.ascx
4 特价商品 用于显示最新推荐的特价商品的信息 Commend.ascx
5 商品分类 按类别展示商品信息 Header.ascx
6 热销展示 显示商城中销售量最好的10种商品 ProductsClicksSaleTop.ascx
7 新品展示 用于显示最新上架的10种商品信息 ProductsTopDateTimed.ascx
8 版权信息 显示网站版权信息及其它站点服务信息等 Footer.ascx., SiteInfo.ascx,
6.2 商品展示模块设计
6.2.1 商品展示设计
商品展示模块共有两个入口,一个是网站导航条中的【特价商品】、【热销商品】、【热门商品】导航按钮,另一个是网站前台的居中位置,分栏列出了商城中特价商品中最新的特价商品信息,单击首页热门商品展区中的“More…”超链接可以进入到特价商品页面,在该页面中将列出商城中的全部特价商品。主要包括商品图片、名称、原价、现价等信息。同时设置了【 】按钮和图片链接,分别用于将商品信息添加至购物车和查看商品详细信息。特价商品模块在网站首页的设计效果如图6.2.1所示。
图6-2 特价商品模块在网站首页的设计效果
(1)查询数据表中的特价商品。特价商品信息同商品基本信息同时保存在商品信息表中,以字段Discount标识,通过对商品表的Discount字段进行排序。在网站首页中查询特价商品的存储过程spProductsTop代码如下:
/****** Object: Stored Procedure dbo.spProductsTop ******/
CREATE PROCEDURE dbo.spProductsTop
(
@TOP VARCHAR(25), -- TOP 子句
@ORDERBY VARCHAR(50), -- ORDER BY 子句
@CategoryID VARCHAR(25) -- 是否显示指定目录下的记录
)
AS
SET NOCOUNT ON
DECLARE @sSQL VARCHAR(500)
SELECT @sSQL = 'SELECT TOP ' + @TOP
SELECT @sSQL = @sSQL + ' O.*, S.Name AS CategoryName, '
SELECT @sSQL = @sSQL + ' P.Name AS Vendor'
SELECT @sSQL = @sSQL + ' FROM dbo.Products O INNER JOIN'
SELECT @sSQL = @sSQL + ' dbo.Categories S ON O.CategoryID = S.ID INNER JOIN'
SELECT @sSQL = @sSQL + ' dbo.Customers P ON O.VendorID = P.ID'
IF CAST(@CategoryID AS INT) >= 0
BEGIN
SELECT @sSQL = @sSQL + ' WHERE O.CategoryID = ' + @CategoryID
END
IF @ORDERBY <> 'DateTimed'
SELECT @sSQL = @sSQL + ' ORDER BY O.' + @ORDERBY + ' DESC, O.DateTimed DESC'
ELSE SELECT @sSQL = @sSQL + ' ORDER BY O.' + @ORDERBY + ' DESC'
--PRINT @sSQL
EXEC(@sSQL) SET NOCOUNT OFF
GO
(2)查询数据表中的热门商品。热门商品信息同商品基本信息同时保存在商品信息表中,以字段Clicks标识,通过对商品表的Clicks(点击次数)字段进行排序。在网站首页中查询特价商品的存储过程spProductsTop代码如上。
图6.2.1.2 特价商品模块在网站首页的设计效果
(3)用户单击网站导航条中的“热销商品”超链接,将进入到热销商品页面。
查询数据表中的热销商品。热销商品信息同商品基本信息同时保存在商品信息表中,按统计后的销售数量降序排列,最后再使用SQL语句中的top关键字取出销售量最高的前10种商品。通过对商品表的Sales(销量)字段进行排序。如图所示
图6.2.1.3 热销商品页面展示结果
6.2.2 商品概览设计
在网站首页中的右侧的【所有最新商品】按钮,列出了商城中上架新品中的最新上市的商品信息,单击新品上架展区中的“More…”超链接可以进入到新产品页面,在该页面中将列出商城中的全部上架新品。主要包括商品图片、名称、现价等信息。同时设置了【 】按钮和图片链接,分别用于将商品信息添加至购物车和查看商品详细信息。设计效果如图6所示。还有【所有热门商品】、【所有热销商品】概览设计如下:
图6.2.2.1 商品概览模块在网站首页中的设计效果
6.3 商品查询模块设计
6.3.1 商品分类查询
为了方便用户查询所需商品信息,在网站中设置了商品分类显示模块。在网站商品首页的以列表菜单的形式列出了商品各分类名字信息,用户单击类别名称可以显示出该类的所有商品信息,在分类商品显示页面中,单击商品名称可以查看相应商品的详细信息。如果用户已经登录,还可以直接将商品信息添加至购物车中。商品分类模块的页面设计效果如图7所示。
图6.3.1.1 商品分类模块的页面设计效果
关键代码如下:
if (Request.Params["CategoryID"] != null)
{
sStr = Request.Params["CategoryID"];
if (Int32.Parse(sStr) >= 0)
{
int iID = int.Parse(sStr);
string sSQL = "SELECT O.*, S.Name AS CategoryName, P.Name AS Vendor FROM dbo.Products O INNER JOIN dbo.Categories S ON O.CategoryID = S.ID INNER JOIN dbo.Customers P ON O.VendorID = P.ID WHERE O.CategoryID = " + iID + " ORDER BY O.ModelName, O.ModelNumber";
pub.Fill(sSQL);
this.DisPage1.Open(pub.DataSet1);
pub.sTitle = pub.sTitle + " -- 商品浏览-- 所有" + Request.Params["CategoryName"].ToString() + " 的商品";
}
else
{
pub.sTitle = pub.sTitle + " -- 商品浏览-- 指定查询条件无效";
DisPage1.Visible = false;
}
lbMsg.Text = pub.sTitle;
}
else
Response.Redirect("ErrorPage.aspx?sStr=非法页面访问", true);
6.3.2 商品快速查询
商品快速查询主要是通过用户在文本框内,然后调用一个存储过程spProductsSearch
代码如下:
/****** Object: Stored Procedure dbo.spProductsSearch ******/
CREATE PROCEDURE dbo.spProductsSearch
(
@Search VARCHAR(255),
@SearchType BIT
)
AS
IF @SearchType = 0
BEGIN
SELECT O.*, S.Name AS CategoryName,
P.Name AS Vendor
FROM dbo.Products O INNER JOIN
dbo.Categories S ON O.CategoryID = S.ID INNER JOIN
dbo.Customers P ON O.VendorID = P.ID
WHERE
O.ModelNumber LIKE '%' + @Search + '%'
OR
O.ModelName LIKE '%' + @Search + '%'
OR
O.Description LIKE '%' + @Search + '%'
ORDER BY
O.ModelName,
O.ModelNumber
END
ELSE
BEGIN
SELECT O.*, S.Name AS CategoryName,
P.Name AS Vendor
FROM dbo.Products O INNER JOIN
dbo.Categories S ON O.CategoryID = S.ID INNER JOIN
dbo.Customers P ON O.VendorID = P.ID
WHERE
O.CategoryID = CAST(@Search AS INT)
ORDER BY
O.ModelName, O.ModelNumber
END GO
6.4 会员管理模块设计
在前台的会员管理模块中主要包括会员注册、会员登录、会员资料修改3部分。由于会员资料修改同会员注册的实现方法类似,只是调用的SQL语句不同,所以此处只给出会员注册和会员登录进行介绍。
6.4.1.会员注册
会员注册的入口位于网站首页的左侧。用户单击【注册】按钮即可进入到会员注册页面,该页面的设计效果如图8所示。
图6.4.1.1 会员注册页面设计效果
会员注册页面主要由表单元素组成,比较简单。
将会员注册信息保存到数据表中,根据用户输入的会员信息,再通过调用系的存储过程spInsertRegUser将会员信息保存到会员信息表中。在保存会员信息时,还需要判断会员名是否存在,必须保证会员名称的惟一性。保存会员信息的完整代码如下:
/****** Object: Stored Procedure dbo. spInsertRegUser ******/
CREATE PROCEDURE DBO.spInsertRegUser
(
@UserName varchar(255),
@Pssword varchar(100),
@Email varchar(100),
@Company varchar(255),
网上购物电子商务系统(三)由毕业论文网(www.huoyuandh.com)会员上传。