网上购物设计说明书.docx
《网上购物设计说明书.docx》由会员分享,可在线阅读,更多相关《网上购物设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。
网上购物设计说明书
(项目开发实践)
设计说明书
起止日期:
2010年9月6日至2010年11月12日
系别
信息工程系
学生学号
08341322
学生姓名
任鹏
班级
软件08c2
指导教师(签字)
课程负责人(签字)
汤晓燕
2010年10月21日
目录
一、项目开发实践的目的与要求3
二、系统分析3
1.项目背景和需求分析3
2.开发及运行环境3
三、系统设计4
1.功能模块设计4
2.数据库设计5
3.界面设计7
4.详细设计8
四、设计中遇到的问题、解决方法、收获、自我评价和改进意见15
五、参考文献16
网上购物
一、项目开发实践的目的与要求
《项目开发实践》是计算机软件和计算机应用专业的一个综合性实践环节,通常安排在大学课程较后一段时间进行。
它是围绕多门专业课程,综合运用所学各专业知识,结合实际应用项目而进行的一次综合分析、设计和实践能力的训练。
《项目开发实践》的课程目的是使学生能够针对具体软件项目,按照软件规范进行软件开发。
培养学生面向对象程序设计能力、图形用户界面设计能力、项目管理能力、合作意识和团队精神;培养学生对软件开发过程文档的编写能力;从而全面提高学生独立分析、解决实际项目的能力。
要求了解企业管理信息系统开发的全过程,理解信息系统相关的概念,掌握管理信息系统的开发方法。
主要包括:
系统调研方法;业务分析、数据分析、系统逻辑模型设计方法;数据库设计、功能设计、物理模型设计方法;系统的实现等方法。
完成一个中小型系统的设计与开发。
二、系统分析
1.项目背景和需求分析
背景:
在竞争激烈的今天,只有做到实事求是的创新,才能成功。
和传统商业一样,从目前国内信息化建设的情况来看,网上购物已经成为一种时尚,开发网上购物网站对推进产品信息化改革有着重要的意义。
需求分析:
对于本课题——网上购物来说,简单地被划分为“前台”和“后台”两大模块。
前台细分为网站导航功能,商品查询功能,网站的最新公告,商品的评论和用户意见的反馈以及用户添加商品到收藏夹和购物车等功能。
后台功能包括:
商品管理功能,商品分类功能,用户管理功能,留言管理功能,商品统计报表功能,登录管理功能。
2.开发及运行环境
开发平台:
sql2000+vs2005
开发语言:
asp.Net语言,c#语言
数据库类型:
sql2000
运行平台:
sql2000+vs2005
分辨率:
大于等于1024*768
配置使用步骤:
1.添加数据库到sql2000。
2.打开程序根据自己的身份登陆系统进行查询购买等操作。
三、系统设计
1.功能模块设计
只要登录到网站后,就可以在线浏览展示商品,最新商品展示在线购买商品从后台数据库动态显示商品图片与产品名。
单击产品名或图片就看到产品的详细介绍。
要添加购买与收藏功能。
2.1.在线下订单:
只有注册用户才能利用该系统下订单。
注册后并且处于激活状态才可以购物下订单。
非注册用户和处于非激活状态的用户,只能浏览商品的基本情况。
用户登录后,就可以使用系统提供的各种功能。
单击产品对应的购买按钮后,要显示购物车界面,在该界面中要实现购买产品数量统计、总价格统计及每种产品的购买时间。
在购物车中,可以实现继续购买、产品数量的修改、删除购买物品、到收银台付款功能。
在信息填写与提交中,要实现“返回上一步”修改功能,实现所以信息统计界面。
实现产生订购单号功能。
后台管理服务包含管理员修改功能,商品管理功能,会员管理功能以及留言管理功能。
系统功能模块结构图见图(3-1)。
图(3-1)
2.数据库设计
字段名称
数据类型
字段大小
是否为空
描述
ProductID
int
4
否
商品编号
Name
varchar
30
是
商品名称
CategoryID
Int
20
是
类别编号
Desn
Text
8
是
简介
Sell
Varchar
4
是
厂家
CreateDate
datetime
8
是
生产日期
SellInDate
datetime
8
是
出售日期
Unit
varchar
20
是
单位
Quantity
Int
50
是
数量
InPrice
Money
50
是
进价
OutPrice
Money
50
是
售价
PictureID
Int
20
是
图片
Remark
Text
100
是
评价
表2-1商品信息表(Product)
字段名称
数据类型
字段大小
是否为空
描述
CategoryID
int
4
否
商品类别编号
Desn
varchar
30
是
商品详情
ParentID
Int
20
是
负节点编号
OrderBy
Int
8
是
订单编号
Remark
Text
30
是
评价
表2-2商品类别信息表(Category)
字段名称
数据类型
字段大小
是否为空
描述
CommentID
int
4
否
评论编号
Desn
varchar
30
是
商品详情
Body
Text
20
是
内容
[Date]
datetime
8
是
日期
UserID
Text
10
是
用户编号
ProductID
int
10
是
商品编号
表2-3客户评论表(Comment)
字段名称
数据类型
字段大小
是否为空
描述
UserID
int
4
否
用户编号
UserName
varchar
30
是
用户名
RealName
Text
20
是
真实姓名
Password
datetime
8
是
密码
Address
Text
10
是
地址
Phone
int
10
是
电话
Mobile
Int
10
是
手机
Email
varchar
20
是
电子邮件
CreateDate
datetime
10
是
生产日期
Status
bit
20
是
状态编号
RoleID
int
10
是
角色编号
Remark
text
20
是
反馈
表2-4用户表(Users)
字段名称
数据类型
字段大小
是否为空
描述
RoleID
int
4
否
用户编号
RoleName
varchar
50
是
用户名
表2-5角色表(Role)
字段名称
数据类型
字段大小
是否为空
描述
PictureID
int
4
否
图片编号
Desn
varchar
200
是
类别号
Type
Varchar
100
是
类型
Data
Img
10
是
连接地址
表2-6图片表(Pictures)
字段名称
数据类型
字段大小
是否为空
描述
OrderFormID
int
4
否
订单编号
UserID
varchar
200
是
用户编号
TotalNumber
Varchar
100
是
合计数量
TotalMoney
Money
10
是
合计价格
OrderDate
datatime
20
是
订单日期
State
Int
10
是
状态号
表2-7订单表(OrderForm)
3.界面设计
图3-1
图3-1为,系统实现的添加商品的页面属于后台管理,通过此页面可以实现商品的修改添加,以及察看评论的操作。
图3-2
图3-2为用户的购物车,被用户选中的商品,将出现在购物车内,等待用户确认商品数量或者取消购买操作。
图3-3
图3-3为用户的定单,可以根据用户提交的定单进行发货,定单内容包括用户名,联系地址,联系电话等。
图3-4
图3-4为用户个人信息维护,用户可以根据自己的身份,用户名,密码,进入此页面,可以修改个人信息。
4.详细设计
商品定单管理:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassAdmin_Product_ViewOrder:
System.Web.UI.Page
{
protectedintnOrderID=-1;
protectedvoidPage_Load(objectsender,EventArgse)
{
Session["UserID"]=1;
///获取参数的值
if(Request.Params["OrderID"]!
=null)
{
if(Int32.TryParse(Request.Params["OrderID"].ToString(),outnOrderID)==false)
{
return;
}
}
///绑定控件的数据
if(!
Page.IsPostBack)
{
BindItemData(nOrderID);
BindUserData(Int32.Parse(Session["UserID"].ToString()));
}
}
privatevoidBindItemData(intnOrderID)
{
///定义获取数据的类
OrderItemitem=newOrderItem();
SqlDataReaderdr=item.GetOrderItemByForm(nOrderID);
///设定控件的数据源
ProductView.DataSource=dr;
///绑定控件的数据
ProductView.DataBind();
///关闭数据读取器和数据库的连接
dr.Close();
}
privatevoidBindUserData(intnUserID)
{///获取数据
Useruser=newUser();
SqlDataReaderrecr=user.GetSingleUser(nUserID);
///读取数据
if(recr.Read())
{
///显示数据
UserName.Text=recr["UserName"].ToString();
RealName.Text=recr["RealName"].ToString();
Address.Text=recr["Address"].ToString();
Email.Text=recr["Email"].ToString();
Phone.Text=recr["Phone"].ToString();
Mobile.Text=recr["Mobile"].ToString();
Remark.Text=recr["Remark"].ToString();
}
recr.Close();///关闭数据源
}
protectedvoidProductView_RowCommand(objectsender,GridViewCommandEventArgse)
{
if(e.CommandName=="delete")
{
///删除数据
OrderItemitem=newOrderItem();
item.DeleteOrderItem(Int32.Parse(e.CommandArgument.ToString()));
///重新绑定控件的数据
BindItemData(nOrderID);
Response.Write("");
}
}
protectedvoidProductView_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
///
}
protectedvoidProductView_RowDataBound(objectsender,GridViewRowEventArgse)
{
///找到删除按钮
ImageButtondeleteBtn=(ImageButton)e.Row.FindControl("DeleteBtn");
if(deleteBtn!
=null)
{///添加删除确认对话框
deleteBtn.Attributes.Add("onclick","returnconfirm('你确定要删除所选择的数据项吗?
');");
}
}
protectedvoidReturnBtn_Click(objectsender,EventArgse)
{
///返回管理页面
Response.Redirect("~/Admin/Product/OrderManage.aspx");
}
}
图3-5
商品管理:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassAdmin_Product_ProductManage:
System.Web.UI.Page
{
privateintnCategoryID=-1;
protectedvoidPage_Load(objectsender,EventArgse)
{///获取参数的值
if(Request.Params["CategoryID"]!
=null)
{
if(Int32.TryParse(Request.Params["CategoryID"].ToString(),outnCategoryID)==false)
{
return;
}
}
///绑定控件的数据
if(!
Page.IsPostBack)
{
BindProductData(nCategoryID);
}
}
privatevoidBindProductData(intnCategoryID)
{
///定义获取数据的类
Productproduct=newProduct();
SqlDataReaderdr=product.GetProductByCategory(nCategoryID);
///设定控件的数据源
ProductView.DataSource=dr;
///绑定控件的数据
ProductView.DataBind();
///关闭数据读取器和数据库的连接
dr.Close();
}
protectedvoidProductView_RowCommand(objectsender,GridViewCommandEventArgse)
{
if(e.CommandName=="delete")
{
///删除数据
Productproduct=newProduct();
product.DeleteProduct(Int32.Parse(e.CommandArgument.ToString()));
///重新绑定控件的数据
BindProductData(nCategoryID);
Response.Write("");
}
}
protectedvoidProductView_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
///
}
protectedvoidProductView_RowDataBound(objectsender,GridViewRowEventArgse)
{
///找到删除按钮
ImageButtondeleteBtn=(ImageButton)e.Row.FindControl("DeleteBtn");
if(deleteBtn!
=null)
{///添加删除确认对话框
deleteBtn.Attributes.Add("onclick","returnconfirm('你确定要删除所选择的数据项吗?
');");
}
}
protectedvoidSureBtn_Click(objectsender,EventArgse)
{
///跳转到添加页面
Response.Redirect("~/Admin/Product/AddProduct.aspx?
CategoryID="+nCategoryID.ToString());
}
图3-6
留言管理:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassAdmin_Information_NewsInfo:
System.Web.UI.Page
{
privateintnNewsID=-1;
protectedvoidPage_Load(objectsender,EventArgse)
{///获取参数的值
if(Request.Params["NewsID"]!
=null)
{
if(Int32.TryParse(Request.Params["NewsID"].ToString(),outnNewsID)==false)
{
return;
}
}
if(!
Page.IsPostBack)
{
BindNewsData(nNewsID);
}
}
privatevoidBindNewsData(intnNewsID)
{
Newsnews=newNews();
SqlDataReaderrecc=news.GetSingleNews(nNewsID);
if(recc.Read())
{
Desn.Text=recc["Desn"].ToString();
Body.Text=recc["Body"].ToString();
}
recc.Close();
}
protectedvoidSureBtn_Click(objectsender,EventArgse)
{
Response.Write("");
}
}
图3-7
用户注册:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassDesktop_Register:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidSureBtn_Click(objectsender,EventArgse)
{
Useruser=newUser();
///存储用户信息
UserInfouserInfo=newUserInfo();
userInfo.UserName=UserName.Text;
userInfo.RealName=RealName.Text;
userInfo.Password=Password.Text;
userInfo.Address=Address.Text;
userInfo.Phone=Phone.Text;
userInfo.E