网上购物系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图1 功能层次结构图
2.3数据库逻辑结构设计
数据库逻辑结构设计依靠E-R图的关系来确定数据之间的依赖联系。用户购买商品产生相应的订单信息,管理员审核用户信息确认无误只后,对订单进行处理。E-R图如图2所示。
图2 E-R图
用户信息表:保存了所有个人用户的用户名、密码等基本用户信息,具体的描述如下表1所示。
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 商品分类
主要代码:
public partial class NewProducts : erControl {
protected void Page_Load(object sender, System.EventArgs e)
{
NewList.DataSource = BLL.Product.GetNewProductsList();
NewList.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
///
private void InitializeComponent()
{
}
#endregion
}
3.2用户登录
对于已经是会员的用户来说,直接点击用户登录按钮输入用户名和密码,只有输入正确才可以直接跳转到网站首页。登录界面如图6所示。
图6 登陆界面
主要代码:
protected void Submit_Click(object sender, System.EventArgs e)
{
er user = new er();
int userId = user.SignIn(LoginName.Text,Password.Text);
//得到临时的购物车编号
BLL.ShoppingCart cart = new BLL.ShoppingCart();
string tempCartID = 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 用户注册
主要代码:
protected void Submit_Click(object sender, System.EventArgs e)
{
//获得注册信息
string userName = LoginName.Text.Trim();
string password = Password.Text.Trim();
string question = Question.Text.Trim();
string answer = Answer.Text.Trim();
//得到原来的CartId
BLL.ShoppingCart cart = new eshop.BLL.ShoppingCart();
string tempCartId = cart.GetShoppingCartId();
//试图添加新用户
er user = new er();
int userId = user.AddNewUser(userName, password, question, answer);
//如果返回值为-1,则表示用户名存在
if (userId == -1)
{
Message.Text = "用户名已存在!";
}
else