网上购物系统课程设计报告书Word格式文档下载.docx
《网上购物系统课程设计报告书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网上购物系统课程设计报告书Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
网上购物系统平台功能层次结构图如图1所示。
图1功能层次结构图
2.3数据库逻辑结构设计
数据库逻辑结构设计依靠E-R图的关系来确定数据之间的依赖联系。
用户购买商品产生相应的订单信息,管理员审核用户信息确认无误只后,对订单进行处理。
E-R图如图2所示。
图2E-R图
用户信息表:
保存了所有个人用户的用户名、密码等基本用户信息,具体的描述如下表1所示。
表1用户信息表
名称
类型
说明
Email
varchar
注册会员
MDMail
验证码
Password
密码
CustomerName
用户名
Address
nvarchar
联系地址
Phone
联系方式
Zip
邮政编码
Regtime
datetime
创建时间
IsActive
bit
是否激活
RoleID
权限ID
IsSpeak
是否可用
商品明细表:
商品明细表(products)用来保存商品的详细信息,具体的描述如下表2所示。
表2商品明细表
ProductID
int
商品ID号
ProductName
商品名称
Author
所属名称
IsRecommend
是否推荐
InPrice
decimal
进货价格
StartPrice
起始价格
SalePrice
销售价格
Img
图片
Description
ntext
商品描述
RemainCout
库存总数
StoreID
分类商城ID
TypeID
商品类型
Hits
点击量
Store
评论得分
AddTime
datatime
上架时间
商城分类信息表:
商城分类信息表(store)用来保存商城的分类信息。
具体的描述如下表3所示。
表3商城分类信息表
BID
信息ID号
Name
信息名称
Content
信息描述
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);
///<
summary>
///设计器支持所需的方法-不要使用代码编辑器
///修改此方法的容。
/summary>
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用户注册
主要代码:
//获得注册信息
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();
//试图添加新用户
intuserId=user.AddNewUser(userName,password,question,answer);
//如果返回值为-1,则表示用户名存在
if(userId==-1)
用户名已存在!
//设置用户为通过验证
System.Web.Security.FormsAuthentication.SetAuthCookie(userId.ToString(),false);
//迁移购物车记录
cart.MigrateCart(tempCartId,userId.ToString());
//将用户重定向回用户页面
3.4主界面
成功登录系统后,进入主界面,包含修改密码、修改个人资料、购物车和我的购物记录。
可以根据需求进行相应的操作。
主界面如图8所示。
图8主界面
namespaceeshop
{
///<
///MyAcount的摘要说明。
publicpartialclassMyAcount:
System.Web.UI.Page
//在此处放置用户代码以初始化页面
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的容。
{
}
3.5修改密码
为了保证系统的安全性,用户应该定期修改密码。
如图9所示。
图9修改密码
BLL.Useruser=newBLL.User();
intresult=user.ChangePassword(OldPwd.Text.Trim(),NewPwd.Text.Trim(),int.Parse(User.Identity.Name));
if(result==1)
密码修改成功!
密码输入与原密码不匹配!
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["
]));
intcount;
//如果查询结果总数是页大小的整数倍
if(resultCount%PageSize==0)
count=resultCount/PageSize;
PageCount.Text=count.ToString();
count=resultCount/PageSize+1;
this.PageControl.Items.Clear();
//绑定页码到DropDownList控件
for(inti=0;
i<
count;
i++)
ListItemitem=newListItem((i+1).ToString(),i.ToString());
this.PageControl.Items.Add(item);
this.PageControl.SelectedIndex=pageIndex;
选中需要购买的商品名字,单击“购买”按钮,即可加入购物车。
如图11所示。
图11购买商品
//页面第一次加载时
if(!
Page.IsPostBack)
ShowProductInfo();
voidShowProductInfo()
//获取Get方式传递的ProductId参数的值
intproductId=int.Parse(Request["
ProductId"
]);
//获取某个商品的详细信息
BLL.ProductDetailspro=BLL.Product.GetProductInfo(productId);
//商品是否存在
if(pro==null)
lblSearchResults.Text="
没有这个商品"
//显示商品详细信息
lblProductName.Text=pro.productName;
lblPrice.Text=pro.productPrice.ToString();
lblIntro.Text=pro.intro;
lblClickCount.Text=pro.clickCount.ToString();
3.7购物车界面
用户登录后可以使用购物车功能,将用户所选的商品添加到购物车中,通过GridView控件实现商品的添加。
用户点击购买商品,通过产品ID字段添加到订单表中,用户可以在购物车中随时查看信息,并且可以在购物车中删除或清空添加的物品。
购物车中的信息通过session保存在缓存中,当用户确定下单之后保存在订单表中。
拥有购物车功能,可以简化用户购买流程减少不必要的操作。
购物车界面如图12所示。
图12购物车界面
voidShowShoppingCartList()
//得到用户的购物车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:
//得到cartID
BLL.ShoppingCartcart=newBLL.ShoppingCart();
stringcartID=cart.GetShoppingCartId();
//绑定购物车信息到DataGrid
MyDataGrid.DataSource=cart.GetItems(cartID);
MyDataGrid.DataBind();
//得到购物车总花费
TotalLbl.Text=String.Format("
protectedvoidSubmitBtn_Click(objectsender,System.EventArgse)
stringcartID=cart.GetShoppingCartId();
decimaltotalCost=cart.GetTotal(cartID);
stringuserID=User.Identity.Name;
if(cartID!
=null&
&
userID!
=null)
BLL.Ordersorder=newBLL.Orders();