网上购物系统课程设计.docx

上传人:b****6 文档编号:7360797 上传时间:2023-01-23 格式:DOCX 页数:25 大小:291.46KB
下载 相关 举报
网上购物系统课程设计.docx_第1页
第1页 / 共25页
网上购物系统课程设计.docx_第2页
第2页 / 共25页
网上购物系统课程设计.docx_第3页
第3页 / 共25页
网上购物系统课程设计.docx_第4页
第4页 / 共25页
网上购物系统课程设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

网上购物系统课程设计.docx

《网上购物系统课程设计.docx》由会员分享,可在线阅读,更多相关《网上购物系统课程设计.docx(25页珍藏版)》请在冰豆网上搜索。

网上购物系统课程设计.docx

网上购物系统课程设计

网上购物系统

1.课程设计的目的

近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。

于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。

同时电子商务网站发展也面对新的机遇与挑战,在政府的大力倡导和扶持下,电子商务网站作为一种新的商业运作模式,推动着社会流通方式的创新,正深入企业活动和百姓生活,成为促使经济发展的重要动力源。

从大型的电子商务、政务系统,到普通的在线购物和复杂的电子商务,电子商务网站在当今时代占据着重要地位,制作电子商务网站成为一个热点。

网上购物对于消费者来说身处任何地方只要有网络就可以进行消费,不受时间的限制。

可以买到当地没有的商品,可以不用辛苦的货比三家确定自己要买的东西,很方便的获得大量的商品信息。

同时对于商家来说,网上交易可以省去大量的人员和房租等成本,少量的人员即可进行经营,减少了库存、经营规模和场地的限制。

提升了商家在电子商务行业里的核心竞争力,适应时代的潮流。

本文研究了运用了ASP.NET与SQLServer2000等关键技术建设网上购物系统。

着重论述了系统功能与实现、数据流程及存储,包括商品目录、用户注册、网上订货与购物、后台数据库管理等。

最终实现用户通过注册,浏览商品。

2.设计方案论证

2.1需求分析

传统的购物两方面分别是买家和卖家。

首先卖家开设店铺,展示自己的商品,买家需要到卖家开设店铺的具体地点,到达店铺后买家需要浏览自己喜欢和需求的商品,而对卖家来说需要雇佣人力来为买家介绍商品,最终双方会为商品当面交易付款。

这是一个简单的传统购物流程。

对于网上购物来说我门可以把买家和卖家看作是客户和管理员。

首先管理员在一个购物网站申请一个店铺(一般都是免费的),然后在自己的网页上添加、更新自己的商品信息,包括图片、资料介绍等。

此时等待客户浏览商品,当客户找到自己满意的商品时,可联系管理员也就是卖家,双方交易付款。

这样一个完整的网上交易过程就结束了。

系统具体实现的主要有:

从整体操作来说:

后台主要是使用SQLServer2000来连接数据库,通过管理数据库实现对用户(客户和管理员)信息的管理,权限的设置,对商品信息的更新和保证数据信息的安全性。

前台主要是建设用户注册页面、商品信息展示页面,客户反馈页面,购物车页面等等。

从运用对象来说:

后台主要是指管理员操作系统。

能够添加商品,更换商品信息,对客户的注册信息进行管理,对客户的反馈意见给予答复等等。

前台主要是指客户能够注册用户和修改个人信息,能够浏览商品,能够管理购物车,能够留言反馈信息等。

2.2系统管理模块

网上购物系统分为前台模块和后台模块,前台模块主要功能包括会员登录与注册,商品展示、最新商品、订购、销售排行、商品分类、个人信息管理和购物车管理等。

后台模块主要功能包括用户信息管理、全局配置管理、商品信息管理、商品分类管理、退出后台。

网上购物系统平台功能层次结构图如图1所示。

图1功能层次结构图

2.3数据库逻辑结构设计

数据库逻辑结构设计依靠E-R图的关系来确定数据之间的依赖联系。

用户购买商品产生相应的订单信息,管理员审核用户信息确认无误只后,对订单进行处理。

E-R图如图2所示。

图2E-R图

用户信息表:

保存了所有个人用户的用户名、密码等基本用户信息,具体的描述如下表1所示。

表1用户信息表

名称

类型

说明

Email

varchar

注册会员邮箱

MDMail

varchar

邮箱验证码

Password

varchar

密码

CustomerName

varchar

用户名

Address

nvarchar

联系地址

Phone

varchar

联系方式

Zip

varchar

邮政编码

Regtime

datetime

创建时间

IsActive

bit

是否激活

RoleID

bit

权限ID

IsSpeak

bit

是否可用

商品明细表:

商品明细表(products)用来保存商品的详细信息,具体的描述如下表2所示。

表2商品明细表

名称

类型

说明

ProductID

int

商品ID号

ProductName

nvarchar

商品名称

Author

nvarchar

所属名称

IsRecommend

bit

是否推荐

InPrice

decimal

进货价格

StartPrice

decimal

起始价格

SalePrice

decimal

销售价格

Img

nvarchar

图片

Description

ntext

商品描述

RemainCout

int

库存总数

StoreID

int

分类商城ID

TypeID

int

商品类型

Hits

int

点击量

Store

decimal

评论得分

AddTime

datatime

上架时间

商城分类信息表:

商城分类信息表(store)用来保存商城的分类信息。

具体的描述如下表3所示。

 

表3商城分类信息表

名称

类型

说明

BID

int

信息ID号

Name

nvarchar

信息名称

Content

ntext

信息描述

2.4模块详细设计

2.4.1登录模块设计

登录模块由两个功能构成,分别是用户登录和游客注册功能。

对于已经是会员的用户来说,直接点击用户登录按钮输入用户名和密码,经过数据库检测正确后直接跳转到网站首页。

而非会员则点击现在注册按钮,系统跳转到注册界面,并填写个人信息之后系统提示用户转到首页。

用户登录后可以看到自己的登录状态栏,显示自己的一些常用信息。

登录模块的程序流程图如图3所示。

图3登录模块流程图

2.4.2个人信息管理模块

个人信息管理模块包括用户注册填充,订单管理和修改用户密码。

用户可以修改自己的个人信息,方便用户灵活的使用网站进行消费。

用户可以查看、删除自己的订单,避免不必要的开支,提高网站的友好性。

用户可以修改自己的登录密码,确保用户自己信息透漏给他人时,保持自己账户的安全。

修改密码时,用户提交旧的登录密码,之后输入新密码并且再次输入新密码确认,确保两次密码输入一致以免发生手误导致账户不能正常使用,点击确认后系统自动更新,提示用户修改结果。

修改密码模块的流程图如图4所示。

图4修改密码的流程图

3.设计结果与分析

网站商品展示模块是用户进入网站最先看到的界面,设计简洁,实用性强让用户可以最快的获取网站信息,大体分为两部分:

根据商品添加时间显示最新的商品信息和该商品是否是热门商品显示商品信息。

最新商品展示,按照商品添加时间的先后降序排列显示在table标签中的Repeater控件,利用嵌套表格的形式,将数据绑定到其中。

3.1商品分类

用户每次登录都可以看到网站更新的最新商品信息,保持网站的新鲜,追赶用户对新产品的需求。

同时按照商品经用户购买使用过后,是否是热门商品,来展示比较受用户喜欢的商品,给消费者积极的消费提示。

如图5所示。

图5商品分类

主要代码:

publicpartialclassNewProducts:

System.Web.UI.UserControl

{

protectedvoidPage_Load(objectsender,System.EventArgse)

{

NewList.DataSource=BLL.Product.GetNewProductsList();

NewList.DataBind();

}

#regionWeb窗体设计器生成的代码

overrideprotectedvoidOnInit(EventArgse)

{

//

//CODEGEN:

该调用是ASP.NETWeb窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///

///设计器支持所需的方法-不要使用代码编辑器

///修改此方法的内容。

///

privatevoidInitializeComponent()

{

}

#endregion

}

3.2用户登录

对于已经是会员的用户来说,直接点击用户登录按钮输入用户名和密码,只有输入正确才可以直接跳转到网站首页。

登录界面如图6所示。

图6登陆界面

主要代码:

protectedvoidSubmit_Click(objectsender,System.EventArgse)

{

BLL.Useruser=neweshop.BLL.User();

intuserId=user.SignIn(LoginName.Text,Password.Text);

//得到临时的购物车编号

BLL.ShoppingCartcart=newBLL.ShoppingCart();

stringtempCartID=cart.GetShoppingCartId();

if(userId==0)

{

Message.Text="用户名或密码错误!

";

}

else

{

//将未通过验证时该用户的匿名购物信息迁移至该用户的个人记录中

cart.MigrateCart(tempCartID,userId.ToString());

System.Web.Security.FormsAuthentication.RedirectFromLoginPage(userId.ToString(),CheckCookie.Checked);

Response.Redirect("MyAcount.aspx");

}

}

3.3用户注册

而非会员则点击现在注册按钮,系统跳转到注册界面,并填写个人信息之后系统提示用户转到首页。

如图7所示。

图7用户注册

主要代码:

protectedvoidSubmit_Click(objectsender,System.EventArgse)

{

//获得注册信息

stringuserName=LoginName.Text.Trim();

stringpassword=Password.Text.Trim();

stringquestion=Question.Text.Trim();

stringanswer=Answer.Text.Trim();

//得到原来的CartId

BLL.ShoppingCartcart=neweshop.BLL.ShoppingCart();

stringtempCartId=cart.GetShoppingCartId();

//试图添加新用户

BLL.Useruser=neweshop.BLL.User();

intuserId=user.AddNewUser(userName,password,question,answer);

//如果返回值为-1,则表示用户名存在

if(userId==-1)

{

Message.Text="用户名已存在!

";

}

else

{

//设置用户为通过验证

System.Web.Security.FormsAuthentication.SetAuthCookie(userId.ToString(),false);

//迁移购物车记录

cart.MigrateCart(tempCartId,userId.ToString());

//将用户重定向回用户帐户页面

Response.Redirect("MyAcount.aspx");

}

}

3.4主界面

成功登录系统后,进入主界面,包含修改密码、修改个人资料、购物车和我的购物记录。

可以根据需求进行相应的操作。

主界面如图8所示。

图8主界面

主要代码:

namespaceeshop

{

///

///MyAcount的摘要说明。

///

publicpartialclassMyAcount:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,System.EventArgse)

{

//在此处放置用户代码以初始化页面

}

#regionWeb窗体设计器生成的代码

overrideprotectedvoidOnInit(EventArgse)

{

//

//CODEGEN:

该调用是ASP.NETWeb窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///

///设计器支持所需的方法-不要使用代码编辑器修改

///此方法的内容。

///

privatevoidInitializeComponent()

{

}

#endregion

}

}

3.5修改密码

为了保证系统的安全性,用户应该定期修改密码。

如图9所示。

图9修改密码

主要代码:

protectedvoidSubmit_Click(objectsender,System.EventArgse)

{

BLL.Useruser=newBLL.User();

intresult=user.ChangePassword(OldPwd.Text.Trim(),NewPwd.Text.Trim(),int.Parse(User.Identity.Name));

if(result==1)

{

Message.Text="密码修改成功!

";

}

else

{

Message.Text="密码输入与原密码不匹配!

";

}

}

3.6查询商品

在分类列表中,选择要购买的商品类型,点击计算机软件,依次列出符合需求的信息,可以进行购买。

可以节省用户的事件,提高系统的效率。

如图10所示。

图10查询商品

主要代码:

voidShowResult(intpageIndex,intpageSize)

{

//绑定Repeater控件

products.DataSource=BLL.Product.GetProductsByCategory(int.Parse(Request.QueryString["categoryId"]),

pageSize,pageIndex);

products.DataBind();

//调用Product类中的方法获得该类商品的总数

intresultCount=BLL.Product.GetProductCountByCategory(int.Parse(Request.QueryString["categoryId"]));

intcount;

//如果查询结果总数是页大小的整数倍

if(resultCount%PageSize==0)

{

count=resultCount/PageSize;

PageCount.Text=count.ToString();

}

else

{

count=resultCount/PageSize+1;

PageCount.Text=count.ToString();

}

this.PageControl.Items.Clear();

//绑定页码到DropDownList控件

for(inti=0;i

{

ListItemitem=newListItem((i+1).ToString(),i.ToString());

this.PageControl.Items.Add(item);

}

this.PageControl.SelectedIndex=pageIndex;

}

选中需要购买的商品名字,单击“购买”按钮,即可加入购物车。

如图11所示。

图11购买商品

主要代码:

protectedvoidPage_Load(objectsender,System.EventArgse)

{

//页面第一次加载时

if(!

Page.IsPostBack)

{

ShowProductInfo();

}

}

voidShowProductInfo()

{

//获取Get方式传递的ProductId参数的值

intproductId=int.Parse(Request["ProductId"]);

//获取某个商品的详细信息

BLL.ProductDetailspro=BLL.Product.GetProductInfo(productId);

//商品是否存在

if(pro==null)

{

lblSearchResults.Text="没有这个商品";

}

else

{

//显示商品详细信息

lblProductName.Text=pro.productName;

lblPrice.Text=pro.productPrice.ToString();

lblIntro.Text=pro.intro;

lblClickCount.Text=pro.clickCount.ToString();

}

}

#regionWeb窗体设计器生成的代码

overrideprotectedvoidOnInit(EventArgse)

{

//

//CODEGEN:

该调用是ASP.NETWeb窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///

///设计器支持所需的方法-不要使用代码编辑器修改

///此方法的内容。

///

privatevoidInitializeComponent()

{

}

#endregion

}

}

3.7购物车界面

用户登录后可以使用购物车功能,将用户所选的商品添加到购物车中,通过GridView控件实现商品的添加。

用户点击购买商品,通过产品ID字段添加到订单表中,用户可以在购物车中随时查看信息,并且可以在购物车中删除或清空添加的物品。

购物车中的信息通过session保存在缓存中,当用户确定下单之后保存在订单表中。

网站拥有购物车功能,可以简化用户购买流程减少不必要的操作。

购物车界面如图12所示。

图12购物车界面

主要代码:

voidShowShoppingCartList()

{

BLL.ShoppingCartcart=newBLL.ShoppingCart();

//得到用户的购物车ID

StringcartID=cart.GetShoppingCartId();

//如果购物车内没有商品,DataGrid隐藏

if(cart.GetItemCount(cartID)==0)

{

DetailsPanel.Visible=false;

MyError.Text="购物车内没有商品。

";

}

else

{

//绑定购物车信息到DataGrid

MyList.DataSource=cart.GetItems(cartID);

MyList.DataBind();

//显示总金额

lblTotal.Text=String.Format("{0:

c}",cart.GetTotal(cartID));

}

}

加入购物车后,再次确认商品列表,如购买无误,点击“提交”按钮,成功结算商品,进行付款,愉快的购物旅程就结束了。

购物车确认界面如图13所示。

图13购物车提交界面

主要代码:

publicpartialclassCheckOut:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,System.EventArgse)

{

if(!

Page.IsPostBack)

{

//得到cartID

BLL.ShoppingCartcart=newBLL.ShoppingCart();

stringcartID=cart.GetShoppingCartId();

//绑定购物车信息到DataGrid

MyDataGrid.DataSource=cart.GetItems(cartID);

MyDataGrid.DataBind();

//得到购物车总花费

TotalLbl.Text=String.Format("{0:

c}",cart.GetTotal(cartID));

}

}

protectedvoidSubmitBtn_Click(objectsender,System.EventArgse)

{

BLL.ShoppingCartcart=newBLL.ShoppingCart();

stringcartID=cart.GetShoppingCartId();

decimaltotalCost=cart.GetTotal(cartID);

stringuserID=User.Identity.Name;

if(cartID!

=null&&userID!

=null)

{

BL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1