网上购物系统课程设计_第1页
网上购物系统课程设计_第2页
网上购物系统课程设计_第3页
网上购物系统课程设计_第4页
网上购物系统课程设计_第5页
已阅读5页,还剩14页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网上购物系统

1.课程设计的目的

近年来,随着Internet的迅速崛起,互联网己日益成为收集提供信息的最正确渠道并逐

步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商

店,向消费者展示出一种新颖的购物理念。同时电子商务网站开展也面对新的机遇与挑战,

在政府的大力倡导和扶持下,电子商务网站作为一种新的商业运作模式,推动着社会流通

方式的创新,正深入企、业活动和百姓生活,成为促使经济开展的重要动力源。从大型的电

子商务、政务系统,到普通的在线购物和友杂的电子商务,电子商务网站在当今时代占据

着重要地位,制作电子商务网站成为一个热点。网上购物对于消费者来说身处任何地方只

要有网络就可以进行消费,不受时间的限制。可以买到当地没有的商品,可以不用辛苦的

货比三家确定自己要买的东西,很方便的获得大量的商品信息。同时对于商家来说,网上

交易可以省去大量的人员和房租等本钱,少量的人员即可进行经营,减少了库存、经营规

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

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

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

台数据库管理等。最终实现用户通过注册,浏览商品。

2.设计方案论证

2.1需求分析

传统的购物两方面分别是买家和卖家。首先卖家开设店铺,展示自己的商品,买家需

要到卖家开设店铺的具体地点,到达店铺后买家需要浏览自己喜欢和需求的商品,而对卖

家来说需要雇佣人力来为买家介绍商品,最终双方会为商品当面交易付款。这是一个简单

的传统购物流程。

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

物网站申请一个店铺(一般都是免费的),然后在自己的网页上添加、更新自己的商品信息,

包括图片、资料介绍等。此时等待客户浏览商品,当客户找到自己满意的商品时,叮联系

管理员也就是卖家,双方交易付款。这样一个完整的网上交易过程就结束了。

系统具体实现的主要有:

从整体操作来说:后台主要是使用SQLServer2000来连接数据库,通过管理数据库

实现对用户(客户和管理员)信息的管理,权限的设置,对商品信息的更新和保证数据信

息的平安性。前台主要是建设用户注册页面、商品信息展示页面,客户反应页面,购物车

页面等等。

从运用对象来说:后台主要是指管理员操作系统。能够添加商品,更换商品信息,对

客户的注册信息进行管理,对客户的反应意见给予答复等等。前台主要是指客户能够注册

用户和修改个人信息,能够浏览商品,能够管理购物车,能够留言反应信息等。

22系统管理模块

网上购物系统分为前台模块和后台模块,前台模块主要功能包括会员登录与注册,商

品展示、最新商品、订购、销售排行、商品分类、个人信息管理和购物车管理等。后台模

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

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

图1功能层次结构图

23数据库逻辑结构设计

数据库逻辑结构设计依靠E-R图的关系来确定数据之间的依赖联系。用户购置商品产

生相应的订单信息,管理员审核用户信息确认无误只后,对订单进行处理。E-R图如图2

所示。

图2E・R图

四户信息表:保存了所有个人用户的用户名、密码等根本用户信息,具体的描述如下表

1所示。

表1用户信息表

名称类型说明

Emailvarchar注册会员邮箱

MDMailvarchar邮箱验证码

Passwordvarchar密码

CustomerNamevarchar用户名

Addressnvarchar

Phonevarchar联系方式

Zipvarchar邮政编码

Regtimedatetime创立时间

IsActivcbit是否激活

RolelDbit权限ID

IsSpeakbit是否可用

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

所示。

表2商品明细表

名称类型说明

ProductIDint商品ID号

ProductNameiivarchar商品名称

Authornvarchar所属名称

IsRccommcndbit是否推荐

InPricedecimal进货价格

StartPricedecimal起始价格

SalePricedecimal销售价格

Imgnvarchar图片

Descriptionntext商品描述

RemainCoutint库存总数

StorelDint分类商城ID

TypclDint商品类型

Hitsint点击量

Storedecimal评论得分

AddTimedatatime上架时间

商城分类信息表:商城分类信息表(store)用来保存商城的分类信息。具体的描述如

下表3所示。

表3商城分类信息表

名称类型说明

BIDint信息ID号

Namenvarchar信息名称

Contentniext信息描述

2.4模块详细设计

2.4.1登录模块设计

登录模块由两个功能构成,分别是用户登录和游客注册功能。对于己经是会员的用户

来说,直接点击用户登录按钮输入用户名和密码,经过数据库检测正确后直接跳转到网站

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

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

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

图3登录模块流程图

2.4.2个人信息管理模块

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

的个人信息,方便用户灵活的使用网站进行消费。用户可以查看、删除自己的订单,防止

不必要的开支,提高网站的友好性。用户可以修改自己的登录密码,确保用户自己信息透

漏给他人时,保持自己账户的平安。修改密码时,用户提交旧的登录密码,之后输入新密

码并且再次输入新密码确认,确保两次密码输入一致以免发生手误导致账户不能正常使用,

点击确认后系统自动更新,提示用户修改结果。修改密码模块的流程图如图4所示。

图4修改密码的流程图

3.设计结果与分析

网站商品展示模块是用户进入网站最先看到的界面,设计简洁,实用性强让用户可以

最快的获取网站信息,大体分为两局部:根据商品添加时间显示最新的商品信息和该商品

是否是热门商品显示商品信息。最新商品展示,按照商品添加时间的先后降序排列显示在

tabic标签中的Repeater控件,利用嵌套表格的形式,将数据绑定到其中。

3.1商品分类

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

产品的需求。同时按照商品经用户购置使用过后,是否是热门商品,来展示比拟受用户喜

欢的商品,给消费者积极的消费提示。如图5所示。

音响冢电

数码设备品上架

计算机基础

运动户>卜

自行车

男女幡

0ffice2000

日用家居OfficeXP

我/通讯潮苹果ibook(M9426CHA)

计算机软件八亿时空M7500D

夏新V3

珠宝首诵/手表

海尔风度H321

工西BenQJoybook6000N(C08)

乐罟/旻猎邮微星AVERATEC6200

触谣

汽车/席托/自行车

办公用品

触

急

医药用品

电脑

交通工具

图5商品分类

主要代码:

protectedvoidPage_Load(objectsender,System.EventArgse)

{

NewList.DataSource=BLL.Product.GetNewProductsListO;

NcwList.DataBind();

I

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

overrideprotectedvoidOnInit(EventArgse)

|

//

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

//

InitializeComponcntO;

base.Onlnit(e);

}

///<summary>

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

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

///々summary〉

privatevoidInitializeComponent()

{

I

#endregion

)

32用户登录

对于已经是会员的用户来说,直接点击用户登录按钮输入用户名和密码,只有输入正

确才可以直接跳转到网站首页。登录界面如图6所示。

用户登录

登录名:红姗

密码:||

回记住我

登录

忘记密码注册新用户

图6登陆界面

主要代码:

protectedvoidSubmit_Click(objectsender,System.EventArgse)

(

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

intuserid=user.SignIn(LoginName.Text,Pass\vord.Text);

〃得到临时的购物车编号

BLL.ShoppingCartcart=newBLL.ShoppingCart();

stringtempCartID=cart.GetShoppingCartId();

if(userid==0)

{

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

)

else

{

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

cart.MigraleCart(tempCartID.userld.ToStringO);

System.Web.Security.FornisAuthentication.RedirectFiomLoginPage(userId.ToString(),

ChcckCookic.Chcckcd);

Response.Redirect("MyAcount.aspx");

)

3.3用户注册

而非会员那么点击现在注册按钮,系统跳转到注册界面,并填写个人信息之后系统提

示用户转到首页。如图7所示。

用户注册

用户名:|江姗

密码:|一

确认密码,|

密码提示问题"我的生日

提示问题答案:(19940314

确认一遍:119940314

一注册

图7用户注册

主要代码:

protectedvoidSubinii_Click(objecisender,System.EveniArgse)

(

〃获得注册信息

stringuserName=LoginName.Text.Trini();

stringpasswonJ=Password.Text.Trim();

siringquestion=Question.Text.Trim();

stringanswer=Answer.Text.Tiim();

〃得到原来的Cartld

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

stringtempCartld=cart.GetShoppingCartId();

〃试图添加新用户

BLL.Uscruser=neweshop.BLL.Uscr();

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

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

if(userid==-I)

{

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

)

else

{

〃设置用户为通过验证

System.Web.Securily.FormsAuthenticalion.SelAuthCookie(userId.ToString(),false);

〃迁移购物车记录

cart.MigrateCart(tempCartld,userld.ToStringO);

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

Rcsponse.Rcdircct("MyAcount.aspx");

3.4主界面

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

录。可以根据需求进行相应的操作。主界面如图8所示。

儆丽

触个人湖

脚物车

图8主界面

主要代码:

namespaceeshop

(

///<summary>

///MyAcount的摘要说明。

///</summary>

(

protectedvoidPage_Load(objectsender,System.Ev^ntArgse)

(

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

)

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

overrideprotectedvoidOnIni((EventArgse)

{

//

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

//

InitializeComponentO;

basc.Onlnit(e);

///<summary>

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

///此方法的内容。

///〈/summary〉

privatevoidInitializcComponcnt()

#endregion

3.5修改密码

为了保证系统的平安性,用户应该定期修改密码。如图9所示。___________

修改密码

请输入旧密码:

请输入新密码:

确认新书码:I______________

提交

图9修改密码

主要代码:

protectedvoidSubmit_Click(objectsender,System.EventArgse)

{

BLL.Useruser=newBLL.User();

intresult=user.ChangePassword(OldPwd.Text.Trim(),NewPwd.Text.Trim(),

ini.Parse(User.Identiiy.Name));

if(result==1)

(

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

I

else

(

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

I

)

3.6查询商品

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

可以进行购置。可以节省用户的事件,提高系统的效率。如图10所示。

―查询结果

商品编号商品名称简单描述购买

160ffice2003Microsoft公司Cffice系列软件的最新版本。0

17FedoraCore3RedHat公司于2CU4年推出的Linux新版本。0

20WindowsXPProfessionalMicrosoft公司Windows系列操作系统0

23金山独霸金山公司杀毒软件0

350ffice20002000年Microsoft公司推出的Office版本O

共计1页

图10查询商品

主要代码:

voidShowResull(intpageindex,intpageSize)

〃绑定Repeater控件

products.DataSourcc=

BLL.Product.GetProductsByCa(egory(int.Parse(Reques(.QueryString["categor)4d"]),

pageSize,pagelndcx);

products.DataBindO;

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

intresultCount=

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

intcount;

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

if(resul(Coun(%PageSize==0)

{

count=resultCount/PageSize;

PageCount.Text=count.ToStringO;

I

else

(

count=resukCouni/PageSize+1;

PageCount.Text=count.ToStringO;

)

this.PagcControl.Itcms.ClcarO;

〃绑定页码到DropDownLisl控件

fbr(inti=0;i<count;i++)

(

Listitemitem=newListltem((i+1).ToString(),i.ToStringO);

this.PageControl.Items.Add(item);

)

this.PagcControl.SelectedIndex=pagelndcx;

1

选中需要购置的商品名字,单击“购置”按钮,即可参加购物车。如图11所示。

计算机基础

价格:25

简介:关于计算机的初级知识!

浏览次数:3

••

图11购置商品

主要代码:

protectedvoidPage_Load(objectsender,System.EventArgse)

〃页面第一次加载时

if(IPage.IsPostBack)

ShowProductInfo();

I

voidShowProducthfo()

{

〃获取Get方式传递的Productld参数的值

intproductld=int.Parsc(Rcqucst["ProductId"l);

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

fo(productld);

〃商品是否存在

if(pro==null*

{

IblSearchResults.Tcxt="没有这个商品”;

)

else

(

〃显示商品详细信息

IblProductName.Text=ductNarne;

IblPrice.Text=ductPrice.ToStringO;

Ibllntro.Text=pro.intro;

IblClickCount.Text=pro.clickCount.ToStringO;

I

1

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

overrideprotectedvoidOnInit(EventArgse)

(

//

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

//

InitializeComponent();

base.Onlnit(e);

}

///<summary>

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

///此方法的内容。

///々summary〉

privatevoidInitializeComponent()

(

I

#endregion

)

3.7购物车界面

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

控件实现商品的添加。用户点击购置商品,通过产品ID字段添加到订单表中,用户可以在

购物车中随时查看信息,并且可以在购物车中删除或清空添加的物品。购物车中的信息通

过session保存在缓存中,当用户确定下单之后保存在订单表中。网站拥有购物车功能,可

以简化用户购置流程减少不必要的操作。购物车界面如图12所示。

商品!聘小计册晞

16Qffice2003¥3,800.00O¥3,800.00□

38计算机基砒¥25.0010¥25.00□

总计:¥3,825.00

更新购物车卜」结算

图12购物车界面

主要代码:

voidShowShoppingCartList()

{

BLL.ShoppingCartcart=newBLL.ShoppingCart();

//得到用户的购物车ID

StringcartID=cart.GetShoppingCartldO;

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

if(cart.GctltcmCount(cartlD)==0)

(

DetailsPaneLVisible=false;

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

)

else

(

//绑定购物车信息到DataGrid

MyList.DataSource=cart.Getltems(cartlD):

MyList.DataBind();

〃显示总金额

IblTotal.Text=String.Format("{0:c}",cart.GetTotal(cartlD));

I

I

参加购物车后,再次确认商品列表,如购置无误,点击“提交”按钮,成功结算商品,

进行付款,愉快的购物旅程就结束了。购物车确认界面如图13所示。

请确认您提交的购物记录是否正确

商乐聘商品的tots•金.ra小计

16Office2003¥3,800.001¥3,800.00

总计:¥3,800.00

提交।

图13购物车提交界面

主要代码:

protectedvoidPage_Load(objectsender,System.EventArgse)

(

if(SPage.IsPostBack)

{

//得到cartID

BLL.ShoppingCartcart=newBLL.ShoppingCart();

stringcartID=cart.GetShoppingCarlId();

〃绑定购物车信息到DataGrid

MyDataGrid.DataSourcc=cart.Gctltcms(cartlD);

MyDataGrid.Da(aBind();

〃得到购物车总花费

TotalLbl.Texl=String.Format("{0:c}",carl.GetTotal(cartlD));

I

)

protectedvoidSubmitBtn_Click(objcctsender,System.EventArgsc)

(

BLL.ShoppingCartcart=newBLL.ShoppingCart();

stringcartID=cart.GetShoppingCartId();

decimaltotalCost=cart.GctTotal(caillD);

stringuserID=User.Identity.Name;

if(cartID!=null&&userID!=null)

{

BLL.Ordersorder=newBLL.0rders();

if(order.PayOrder(userID,totalCost)==1)

intordcrID=order.PlaccOrdcr(user!D,cartID);

Mcssage.Tcxt="您的订单号为"+orderID;

SubmitBtn.Visible=false;

else

(

ShowErrorMsgBox();

voidShowErrorMsgBox()

(

Response.Write("<scriptlanguage=javascript>");

Response.Wri【e("window.aler【(Y’您的预存款缺乏

Response.Write("<script>");

4.设计体会

通过这段时间的系统开发和文档撰写过程,通过查阅、研究大量的相关文献,分析相

关领域的特色网站并结合实际,使我对电子商务网站方面的理论知识,包括对它的定义,

内涵,特点,功能,技术等方面的研究都有了更深的了解。并亲自利用所学知识建立了一

个网上购物网站。

虽然由于时间有限和本人能力有限,这个系统还不够完善,还有许多地方有待改良。

但这短短一周的课程设计,对我来说是对asp.net学科的一次全面检查。通过理论学习,

在课程设计中得到实际上的应用,它使我懂得了如何去开发一个系统或者一个软件,它也

便我懂得了软件的结构,在设计过程中使我对ASP.NET技术、SQLServer2000数据库以

及WEB网站开发有了更深入的理解,对即将步入社会的我积累了经验。

通过本次设计开发,让我对于编程有了更深入的体会。认识到自己在技术上的缺乏,

需要学习更多的设计方法和编程技术。在以后的开发过程中,要更加细致的分析用户的需

求和系统实现的方法,认真思考业务处理过程与用户需求之间的平衡。在分析和思考工程

实现方法的过程中,学到了更加实用的知识,让我知道在以后的学习和工作中有了明确的

指导方向。

5.参考文献

[1]刘金岭.冯万利.数据库系统及应用教程M.清华大学出版社.2013.6

⑵微软公司.ASP.NET标准教程[M].中国劳动社会保障出版社,2011.12

⑶王辉.黄红超.ASP.NET实用教程[M].清华大学出版社.2014.2

[4]金旭亮.ASP.NET程序设计教程[M].北京;电子工业出版社.2015.3

⑶丛书.ASP.NET与网站开发实践教程[M].北京:清华大学出版社.2014.3

⑹龙马.ASP.NET+SQLServer蛆建网站实例精讲[M].北京:人民邮电出版社.2012.6

⑺徐国智.汪孝宜.SQLSERVER数据库开发实例精粹[M].北京:电子工业出版社.2010.1

因薛万欣.电子商务网站建设[M].北京:机械工业出版社.2010.8

[9]张启明.ASP.NET+SQLSERVER网络应用系统开发与实例[M].北京:人民邮电出版社.2011.2

[10]陈建伟.ASP.NET网站开发教程(第二版)[M].北京:清华大学出版社.2010.1

附录:

usingSystem;

usingSystem.Collections;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Wcb;

usingSystem.Web.SessionSlate;

usingSystem.Web.UI;

usingSysiem.Web.UI.WebComrols;

usingSystem.Web.UI.HtmlControls;

namespaceeshop

|

///<summary>

///Register的摘要说明。

///〈/summary〉

(

protectedvoidPage_Load(objcctsender,System.EventArgsc)

(

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

)

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

overrideprotectedvoidOnInit(EventArgse)

{

//

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

//

InitializeComponent();

base.Onlnit(e);

1

///<summary>

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

///此方法的内容。

/〃〈/summary〉

privatevoidInitializeComponent()

#endregion

protectedvoidSubmit_Click(objcctsender,Systcm.EvcntArgse)

{

〃获得注册信息

stringuserName=LoginNanie.Text.Trim();

stringpassword=Password.Text.Trini();

stringquestion=Question.Text.Trim();

stringanswer=Answer.Text.Trim();

〃得到原来的Cartld

BLL.ShoppingCartcarl=neweshop.BLL.ShoppingCar(();

stringtempCartld=cart.GetShoppingCartId();

〃试图添加新用户

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

intuserid=user.AddNcwLJscr(userNamc,password,question,answer);

〃如果返回值为-1,那么表示用户名存在

if(userid==-1)

(

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

)

else

{

〃设置用户为通过验证

System.Web.Sccurity.FormsAuthcntication.SctAuthCookic(uscrId.ToStrin2(),false);

〃迁移购物车记录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论