aspnet课程设计报告.docx
- 文档编号:4525239
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:28
- 大小:1.01MB
aspnet课程设计报告.docx
《aspnet课程设计报告.docx》由会员分享,可在线阅读,更多相关《aspnet课程设计报告.docx(28页珍藏版)》请在冰豆网上搜索。
aspnet课程设计报告
计算机与信息工程学院
ASP.NET课程设计
题目:
网上购物系统
姓名:
×××
学号:
××××
专业:
计算机科学与技术
指导教师:
×××
起止日期:
2016.12.10—2017.01.10
1引言
在国家大力推进信息化建设的宏观背景下,城市网络基础设施及应用水平均已得到了较大的完善和提升。
愈来愈多的商贸服务企业意识到了用现代信息技术改造传统经营方式,用电子商务手段提升管理和服务水平的重要性。
已有许多企业在着手计划或已进行自身的电子商务建设,这就有了对商贸服务业电子商务应用平台的迫切需求。
网上购物是一个电子商务平台。
对于消费者来说,可以在家“逛商店”,订货不受时间的限制;获得较大量的商品信息,可以买到当地没有的商品;网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫;从订货、买货到货物上门无需亲临现场,既省时又省力;由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。
对于商家来说,网上购物是宣传企业形象的一种强有力的手段,是一种廉价高效的方式。
其优势在于发布信息及时、准确,图文并茂,及时刷新。
任何新登商品和促销、广告信息都可以在第一时间呈现在消费者面前。
消费者与商家之间可以实现及时互动,商家可以了解到市场的最新需求。
对于整个市场经济来说,这种新型的购物模式可在更大的范围内、更多的层面上以更高的效率实现资源配置。
2需求分析
本系统总体目标是为了实现产品的在线购物。
通过系统实现网上购物的多项功能,其中主要是管理员对商品的管理实现和用户的购物的实现。
用户在线浏览所有商品,按需求搜索相关商品,以及注册为会员后对商品选购的操作,购物结束后生成订单。
管理员则可对商品的添加,对商品的归类,对用户购物订单进行处理,以及管理员对网站进行维护操作。
2.1数据流图
数据流图(DFD----DataFlowDiagram)是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,就是采用图形方式来表示系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
1、系统顶层数据流图(如图2-1所示)。
图2-1顶层数据流图
2、会员子系统数据流图(如图2-2所示)。
图2-2会员子系统数据流图图2-3管理员子系统数据流图
3、管理员子系统数据流图(如图2-3所示)。
2.2数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。
一般说来,数据字典应该由下列四类元素构成:
数据元素,数据流,数据存储和数据处理。
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
本系统所涉及到的数据存储表如表2-1至表2-9所示。
表2-1数据存储之会员信息表
名字
会员信息表
描述
记录用户在购物网站的注册信息
组成
会员编号,邮箱地址,会员密码,会员真实姓名
表2-2数据存储之管理员信息表
名字
管理员信息表
描述
记录购物网站后台管理员的信息
组成
管理员编号,管理员名,管理员密码
表2-3数据存储之商品信息表
名字
商品信息表
描述
记录购物网站的所有商品信息
组成
商品编号,商品名,商品类别编号,商品描述,商品市场价,商品会员价,商品售出量,商品图片,商品浏览量,商品发布时间
表2-4数据存储之商品类别信息表
名字
商品类别信息表
描述
记录购物网站的所有商品的二级类别信息
组成
商品类别编号,商品类别名,父类别编号
表2-5数据存储之商品评论信息表
名字
商品评论信息表
描述
记录购物网站会员对商品的评论信息
组成
评论编号,商品编号,评论人,评论级别,评论内容,评论时间
表2-6数据存储之订单信息表
名字
订单信息表
描述
记录购物网站会员所下发的订单信息
组成
编号,邮箱地址,地址编号,订单总价,订单时间,订单状态,邮寄类型,订单号
表2-7数据存储之地址簿信息表
名字
地址簿信息表
描述
记录购物网站会员的商品邮寄地址信息
组成
地址编号,邮箱地址,收货人,邮寄地址,邮政编码,联系方式
表2-8数据存储之网站公告信息表
名字
网站公告信息表
描述
记录购物网站的公告信息
组成
公告编号,公告标题,公告内容,公告来源,公告浏览次数,公告发布时间
表2-9数据存储之购物车信息表
名字
购物车信息表
描述
记录购物网站顾客所购买的商品信息
组成
通过SqlProvider将购物车保存在微软提供的aspnetdb数据库的Profile表
3系统设计
3.1系统架构设计
本系统采用三层架构设计,将整个业务应用划分为表示层、业务逻辑层、数据访问层三层。
数据访问层DAL:
用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。
业务逻辑层BLL:
业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。
表示层UI:
主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。
三层架构是将系统按其作用分成三部分,每部分解决自己负责的流程。
三层架构的功用之处,在于驾驭大型web程序的结构,使之便于管理和扩展。
3.2系统功能模块划分
系统功能模块图如图3-1所示。
图3-1系统功能模块图
3.3系统数据库设计
本系统采用SQLServer2005建立和维护数据库,系统中共有两个数据库:
商城数据库(B2C)和微软实例数据库(aspnetdb)。
它们的任务分别为:
存储商品信息、商品类型信息、商品评论信息、订单信息、订单详情信息、订单状态信息、会员信息、地址薄信息、管理员信息、公告信息;存储购物车信息。
电子商城数据库包含以下10个表:
商品表(Commodity)、商品类型表(CommodityType)、商品评论表(CommodityComment)、会员表(Users)、地址薄表(Address)、订单表(Orders)、订单详情表(OrderDetail)、订单状态表(OrderState)、管理员表(Admin)、公告表(News)。
(1)会员表(Users)用于记录会员的基本信息,包括会员编号、邮箱地址、会员密码、真实姓名。
其中会员编号为主键。
会员表结构如图3-2所示。
图3-2会员表
(2)地址薄表(Address)用于记录会员所购买商品的配送地址信息,包括地址编号、邮箱地址、收货人、邮寄地址、邮政编码、联系方式。
其中地址编号为主键。
地址薄表结构如图3-3所示。
图3-3地址薄表
(3)管理员表(Admin)用于记录后台管理员的基本信息,包括管理员编号、管理员名、管理员密码。
其中管理员编号为主键。
管理员表结构如图3-4所示。
图3-4管理员表
(4)公告表(News)用于记录网站的公告信息,包括公告编号、公告标题、公告内容、公告来源、公告浏览量、公告发布时间。
其中公告编号为主键。
公告表结构如图3-5所示。
图3-5公告表
(5)商品表(Commodity)用于记录购物网站的商品信息,包括商品编号、商品名、商品类型编号、商品描述、商品市场价、商品会员价、商品售出量、商品图片、商品浏览量、商品发布时间。
其中商品编号为主键。
商品表结构如图3-6所示。
图3-6商品表
(6)商品类型表(CommodityType)用于记录商品的类别信息,包括商品类型编号、商品类型名、父类型编号。
其中商品类型编号为主键。
商品类型表结构如图3-7所示。
图3-7商品类型表
(7)商品评论表(CommodityComment)用于会员对商品的评论信息,包括商品评论编号、商品编号、评论人、评论级别、评论内容、评论时间。
其中商品评论编号为主键。
商品评论表结构如图3-8所示。
图3-8商品评论表
(8)订单状态表(OrderState)用于记录订单的状态信息、包括订单状态编号、订单状态名。
其中订单状态编号为主键。
订单状态表结构如图3-9所示。
图3-9订单状态表
(9)订单表(Orders)用于记录会员在购物网站所下发订单信息,包括订单编号、订单人、地址编号、订单总价、订单时间、订单状态、邮寄类型、订单号。
其中订单编号为主键。
订单表结构如图3-10所示。
图3-10订单表
(10)订单详情表(OrderDetail)用于记录每个订单的详细购物信息,包括订单详情编号、订单号、商品编号、商品购买量。
其中订单详情编号为主键。
订单详情表结构如图3-11所示。
图3-11订单详情表
4系统实现
4.1前台功能
4.1.1会员注册登录
会员注册页面如图4-1所示。
如果输入信息有误则会提示错误信息,需要重新输入。
图4-1会员注册页面
主要代码如下:
protectedvoidok_Click(objectsender,EventArgse)
{
BLL.Users_BLLusers_BLL=newBLL.Users_BLL();
users_BLL.EmailAddress=userEmail.Text;
users_BLL.UserPwd=userPwd.Text;
users_BLL.UserName=realName.Text;
users_BLL.registerUserInfo();
FormsAuthentication.SetAuthCookie(users_BLL.EmailAddress,false);
Response.Redirect("UserOrder.aspx");
}
会员登录页面如图4-2所示。
如果输入信息有误则会提示错误信息,需要重新输入。
图4-2会员登录页面
主要代码如下:
protectedvoidImageLogin_Click(objectsender,ImageClickEventArgse)
{
BLL.Users_BLLusers_BLL=newBLL.Users_BLL();
users_BLL.EmailAddress=txtEmail.Text;
users_BLL.UserPwd=txtPwd.Text;
if(users_BLL.isLoginSucess().Tables[0].Rows.Count==1)
{
FormsAuthentication.SetAuthCookie(txtEmail.Text,false);
Response.Redirect("UserOrder.aspx");
}
}
4.1.2商品展示
商品展示页面如图4-3所示。
图4-3商品展示页面
主要代码实现如下:
privatevoidBind()
{
BLL.CommodityType_BLLcommodityType_BLL=newBLL.CommodityType_BLL();
RepeaterFather.DataSource=commodityType_BLL.selectLevelOneType();
RepeaterFather.DataBind();
}
protectedvoidRepeaterFather_ItemDataBound(objectsender,RepeaterItemEventArgse)
{
DataRowViewdr=(DataRowView)e.Item.DataItem;
intid=Convert.ToInt32(dr["commodityTypeId"]);
RepeaterrepeaterSon=(Repeater)e.Item.FindControl("RepeaterSon");
BLL.CommodityType_BLLcommodityType_BLL=newBLL.CommodityType_BLL();
commodityType_BLL.CommodityTypeFatherId=id;
repeaterSon.DataSource=commodityType_BLL.selectTypeByFatherId();
repeaterSon.DataBind();
DataListdataListFather=(DataList)e.Item.FindControl("DataListFather");
BLL.Commodity_BLLcommodity_BLL=newBLL.Commodity_BLL();
commodity_BLL.CommodityTypeId=id;
dataListFather.DataSource=commodity_BLL.selectCommodityByFather();
dataListFather.DataBind();
}
4.1.3商品搜索
在如图4-4所示的商品搜索页面中选择商品类型并输入关键字,点击“找商品”按钮搜索商品。
图4-4商品搜索页面
搜索结果页面如图4-5所示。
图4-5商品搜索结果页面
主要代码如下:
protectedvoidsearch_Click(objectsender,EventArgse)
{
if(txtKey.Text.Trim()=="")
{
Response.Write("");
}
else
{
Response.Redirect("~/web/SearchResult.aspx?
commodityTypeId="+ddlSon.SelectedValue+"&key="+txtKey.Text.Trim());
}
}
privatevoidBind()
{
intid=Convert.ToInt32(Request.QueryString["commodityTypeId"]);
stringkey=Request.QueryString["key"];
BLL.Commodity_BLLcommodity_BLL=newBLL.Commodity_BLL();
commodity_BLL.CommodityTypeId=id;
commodity_BLL.Key=key;
DataSetds=commodity_BLL.searchCommodity();
pds.DataSource=ds.Tables[0].DefaultView;
pds.AllowPaging=true;
pds.PageSize=15;
DataList1.DataSource=pds;
DataList1.DataBind();
if(pds.DataSourceCount==0)
{
noCommodity.Visible=true;
myDiv.Visible=false;
return;
}
recordCount.Text=pds.DataSourceCount.ToString();
currentPage.Text=(pds.CurrentPageIndex+1).ToString();
totalPage.Text=pds.PageCount.ToString();
}
4.1.4商品评论
会员登录后才能发表评论。
商品评论页面如图4-6所示。
图4-6商品评论页面
如果为匿名用户则提示如图4-7所示的提示信息。
图4-7提示信息
主要代码如下:
protectedvoidok_Click(objectsender,EventArgse)
{
if(Profile.IsAnonymous)
{
Response.Write("");
return;
}
intcommodityId=int.Parse(Request.QueryString["commodityId"]);
stringemailAddress=Profile.UserName;
stringcommentContent=(FormViewData.FindControl("txtContent")asTextBox).Text;
DateTimecommentTime=DateTime.Now;
BLL.CommodityComment_BLLcommodityComment_BLL=newBLL.CommodityComment_BLL();
commodityComment_BLL.CommodityId=commodityId;
commodityComment_BLL.EmailAddress=emailAddress;
commodityComment_BLL.CommentLevel=commentLevel;
commodityComment_BLL.CommentContent=commentContent;
commodityComment_BLL.CommentTime=commentTime;
commodityComment_BLL.insertComment();
Response.Redirect("CommodityComment.aspx?
commodityId="+commodityId);
}
4.1.5网站公告
网站公告信息页面如图4-8所示。
图4-8网站公告信息
主要代码如下:
privatevoidBind()
{
BLL.News_BLLnews_BLL=newBLL.News_BLL();
Repeater1.DataSource=news_BLL.selectNews();
Repeater1.DataBind();
}
4.1.6个人信息更改
个人信息更改页面如图4-9所示。
图4-9个人信息更改页面
主要代码如下:
protectedvoidok_Click(objectsender,EventArgse)
{
if(ds.Tables[0].Rows[0]["userPwd"].ToString()==OldPwd.Text)
{
BLL.Users_BLLusers_BLL=newBLL.Users_BLL();
users_BLL.EmailAddress=Profile.UserName;
users_BLL.UserName=Username.Text;
users_BLL.UserPwd=NewPwd.Text;
users_BLL.updateUserInfo();
}
else
{
Response.Write("");
}
}
4.1.7地址簿管理
地址薄管理页面如图4-10所示。
图4-10地址薄管理页面
主要代码如下:
privatevoidBind()
{
BLL.Address_BLLaddress_BLL=newBLL.Address_BLL();
address_BLL.EmailAddress=Profile.UserName;
DataSetds=address_BLL.selectAddressByEmailAddress();
if(ds.Tables[0].Rows.Count<1)
{
GridViewAddress.Visible=false;
return;
}
GridViewAddress.DataSource=ds;
GridViewAddress.DataBind();
}
protectedvoidaddAddress_Click(objectsender,EventArgse)
{
BLL.Address_BLLaddress_BLL=newBLL.Address_BLL();
address_BLL.EmailAddress=Profile.UserName;
address_BLL.GetCommodityPerson=getCommodityPerson.Text;
address_BLL.PostAddress=address.Text;
address_BLL.PostCode=postCode.Text;
address_BLL.PhoneNum=phoneNum.Text;
address_BLL.addAddress();
getCommodityPerson.Text="";
address.Text="";
postCode.Text="";
phoneNum.Text="";
GridViewAddress.Visible=true;
Bind();
}
4.1.8订单明细查询
会员的订单列表如图4-11所示。
图4-11会员的订单列表
查看订单详情如图4-12所示。
图4-12订单详情信息
主要代码如下:
privatevoidBind()
{
BLL.Orders_BLLorders_BLL=newBLL.Orders_BLL();
orders_BLL.EmailAddress=Profile.UserName;
DataSetds=orders_BLL.selectOrderByEmail();
pds.DataSource=ds.Tables[0].DefaultView;
pds.AllowPaging=true;
pds.PageSize=10;
GridView1.DataSource=pds;
GridView1.DataBind();
if(pds.DataSourceCount==0)
{
noOrder.Visible=true;
myDiv.Visible=false;
return;
}
recordCount.Text=pds.DataSourceCount.ToString();
currentPage.Text=(pds.CurrentPageIndex+1).ToString();
totalPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- aspnet 课程设计 报告