B2C电子商城设计与开发.doc

上传人:星星 文档编号:1051460 上传时间:2024-04-01 格式:DOC 页数:28 大小:1.68MB
下载 相关 举报
B2C电子商城设计与开发.doc_第1页
第1页 / 共28页
B2C电子商城设计与开发.doc_第2页
第2页 / 共28页
B2C电子商城设计与开发.doc_第3页
第3页 / 共28页
B2C电子商城设计与开发.doc_第4页
第4页 / 共28页
B2C电子商城设计与开发.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、南 阳 理 工 学 院计 算 机 与 信 息 工 程 学 院专业综合大实验(二)总结报告题目: B2C电子商城设计与开发 姓 名: 学 号: 专 业:计算机科学与技术(升)指导教师: 起止日期: 12.12.1013.01.06 南 阳 理 工 学 院计 算 机 与 信 息 工 程 学 院专业综合大实验(二)任务书实践题目B2C电子商城设计与开发学生姓名班级学号指导教师职称实践地点实践日期2012年12月10日起至2013年1月6日选题的目的:在国家大力推进信息化建设的宏观背景下,城市网络基础设施及应用水平均已得到了较大的完善和提升。愈来愈多的商贸服务企业意识到了用现代信息技术改造传统经营方式

2、,用电子商务手段提升管理和服务水平的重要性。电子商城是一个电子商务平台,突破了传统商务的障碍,打破了时空限制,改变了贸易形态,大大加速了整个社会的商品流通,有助于降低企业成本,提高企业竞争力,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。技术要求:1、系统要求利用VC#.NET开发工具,结合SQL Server数据库,采用C/S架构;2、系统的主要功能有:(1)后台管理包括:商品管理、商品评论管理、商品类别管理、订单管理、会员管理、公告管理;(2)前台功能包括:查询商品、评论商品、购物车管理、下发订单、查询订单、个人地址薄管理、会员注册登录

3、、个人信息修改。进度安排:2012年12月10日2012年12月23日 系统分析与设计2012年12月24日2013年01月02日 系统编码调试2013年01月03日2013年01月06日 撰写报告,答辩验收 主要参考资料:1 施燕妹.C#语言程序设计教程M. 北京:中国水利水电出版社, 2004.2 郑小平.Visual C#.NET开发实践M.北京:人民邮电出版社, 2001.3 施威铭.SQL Server2000中文版设计实务M. 北京:人民邮电出版社, 2001.4 张龙祥.UML与系统分析设计(第二版) M. 北京:人民邮电出版社, 2007.教师签名: 年 月 日目 录1 引言1

4、2 需求分析12.1 数据流图12.2 数据字典23 系统设计43.1 系统架构设计43.2 系统功能模块划分43.3 系统数据库设计54 系统实现74.1 前台功能74.1.1 会员注册登录74.1.2 商品展示94.1.3 商品搜索104.1.4 商品评论114.1.5 网站公告124.1.6 个人信息更改124.1.7 地址簿管理134.1.8 订单明细查询144.1.9 购物车管理164.2 后台功能174.2.1 用户登录与后台管理174.2.2 商品管理184.2.3 商品类别管理194.2.4 商品评论管理194.2.5 网站公告管理204.2.6 订单管理214.2.7 会员档

5、案管理214.2.8 管理员密码修改225 总结236 参考文献231 引言在国家大力推进信息化建设的宏观背景下,城市网络基础设施及应用水平均已得到了较大的完善和提升。愈来愈多的商贸服务企业意识到了用现代信息技术改造传统经营方式,用电子商务手段提升管理和服务水平的重要性。已有许多企业在着手计划或已进行自身的电子商务建设,这就有了对商贸服务业电子商务应用平台的迫切需求。网上购物是一个电子商务平台。对于消费者来说,可以在家“逛商店”,订货不受时间的限制;获得较大量的商品信息,可以买到当地没有的商品;网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫; 从订货、买货到货物上门无需亲临现场,既

6、省时又省力;由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。对于商家来说,网上购物是宣传企业形象的一种强有力的手段,是一种廉价高效的方式。其优势在于发布信息及时、准确,图文并茂,及时刷新。任何新登商品和促销、广告信息都可以在第一时间呈现在消费者面前。消费者与商家之间可以实现及时互动,商家可以了解到市场的最新需求。对于整个市场经济来说,这种新型的购物模式可在更大的范围内、更多的层面上以更高的效率实现资源配置。2 需求分析本系统总体目标是为了实现产品的在线购物。通过系统实现网上购物的多项功能,其中主要是管理员对商品的管理实现和用户的购物的实现。用户在

7、线浏览所有商品,按需求搜索相关商品,以及注册为会员后对商品选购的操作,购物结束后生成订单。管理员则可对商品的添加,对商品的归类,对用户购物订单进行处理,以及管理员对网站进行维护操作。2.1 数据流图数据流图(DFD-Data Flow Diagram)是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,就是采用图形方式来表示系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。1、系统顶层数据流图(如图2-1所示)。图2-1 顶层数据流图2、会员子系统数据流图(如图2-2所示)。 图2-2 会员子系统数据流图 图2-3 管理员子系统数据流图3、管理员子系统

8、数据流图(如图2-3所示)。2.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。本系统所涉及到的数据存储表如表2-1至表2-9所示。表2-1 数据存储之会员信息表名字会员信息表描述记录用户在购物网站的注册信息组成会员编号,邮箱地址,会员密码,会员真实姓名表2-2 数据存储之管理员信息表名字管理员信息表描述记录购物网站后台管理员的信息组成管理员编号,

9、管理员名,管理员密码表2-3 数据存储之商品信息表名字商品信息表描述记录购物网站的所有商品信息组成商品编号,商品名,商品类别编号,商品描述,商品市场价,商品会员价,商品售出量,商品图片,商品浏览量,商品发布时间表2-4 数据存储之商品类别信息表名字商品类别信息表描述记录购物网站的所有商品的二级类别信息组成商品类别编号,商品类别名,父类别编号表2-5 数据存储之商品评论信息表名字商品评论信息表描述记录购物网站会员对商品的评论信息组成评论编号,商品编号,评论人,评论级别,评论内容,评论时间表2-6 数据存储之订单信息表名字订单信息表描述记录购物网站会员所下发的订单信息组成编号,邮箱地址,地址编号,

10、订单总价,订单时间,订单状态,邮寄类型,订单号表2-7 数据存储之地址簿信息表名字地址簿信息表描述记录购物网站会员的商品邮寄地址信息组成地址编号,邮箱地址,收货人,邮寄地址,邮政编码,联系方式表2-8 数据存储之网站公告信息表名字网站公告信息表描述记录购物网站的公告信息组成公告编号,公告标题,公告内容,公告来源,公告浏览次数,公告发布时间表2-9 数据存储之购物车信息表名字购物车信息表描述记录购物网站顾客所购买的商品信息组成通过SqlProvider将购物车保存在微软提供的aspnetdb数据库的Profile表3 系统设计3.1 系统架构设计本系统采用三层架构设计,将整个业务应用划分为表示层

11、、业务逻辑层、数据访问层三层。数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。表示层UI:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。三层架构是将系统按其作用分成三部分,每部分解决自己负责的流程。三层架构的功用之处,在于驾驭大型web程序的结构,使之便于管理和扩展。3.2 系统功能模块划分系统功能模块图如图3-1所示。图3-1 系统功能模块图3.3 系统数据库设计本系统采用SQL Server

12、2005建立和维护数据库,系统中共有两个数据库:商城数据库(B2C)和微软实例数据库(aspnetdb)。它们的任务分别为:存储商品信息、商品类型信息、商品评论信息、订单信息、订单详情信息、订单状态信息、会员信息、地址薄信息、管理员信息、公告信息;存储购物车信息。电子商城数据库包含以下10个表:商品表(Commodity)、商品类型表(CommodityType)、商品评论表(CommodityComment)、会员表(Users)、地址薄表(Address)、订单表(Orders)、订单详情表(OrderDetail)、订单状态表(OrderState)、管理员表(Admin)、公告表(Ne

13、ws)。(1)会员表(Users)用于记录会员的基本信息,包括会员编号、邮箱地址、会员密码、真实姓名。其中会员编号为主键。会员表结构如图3-2所示。图3-2 会员表(2)地址薄表(Address)用于记录会员所购买商品的配送地址信息,包括地址编号、邮箱地址、收货人、邮寄地址、邮政编码、联系方式。其中地址编号为主键。地址薄表结构如图3-3所示。图3-3 地址薄表(3)管理员表(Admin)用于记录后台管理员的基本信息,包括管理员编号、管理员名、管理员密码。其中管理员编号为主键。管理员表结构如图3-4所示。图3-4 管理员表(4)公告表(News)用于记录网站的公告信息,包括公告编号、公告标题、公

14、告内容、公告来源、公告浏览量、公告发布时间。其中公告编号为主键。公告表结构如图3-5所示。图3-5 公告表(5)商品表(Commodity)用于记录购物网站的商品信息,包括商品编号、商品名、商品类型编号、商品描述、商品市场价、商品会员价、商品售出量、商品图片、商品浏览量、商品发布时间。其中商品编号为主键。商品表结构如图3-6所示。图3-6 商品表(6)商品类型表(CommodityType)用于记录商品的类别信息,包括商品类型编号、商品类型名、父类型编号。其中商品类型编号为主键。商品类型表结构如图3-7所示。图3-7 商品类型表(7)商品评论表(CommodityComment)用于会员对商品

15、的评论信息,包括商品评论编号、商品编号、评论人、评论级别、评论内容、评论时间。其中商品评论编号为主键。商品评论表结构如图3-8所示。图3-8 商品评论表(8)订单状态表(OrderState)用于记录订单的状态信息、包括订单状态编号、订单状态名。其中订单状态编号为主键。订单状态表结构如图3-9所示。图3-9 订单状态表(9)订单表(Orders)用于记录会员在购物网站所下发订单信息,包括订单编号、订单人、地址编号、订单总价、订单时间、订单状态、邮寄类型、订单号。其中订单编号为主键。订单表结构如图3-10所示。图3-10 订单表(10)订单详情表(OrderDetail) 用于记录每个订单的详细

16、购物信息,包括订单详情编号、订单号、商品编号、商品购买量。其中订单详情编号为主键。订单详情表结构如图3-11所示。图3-11 订单详情表4 系统实现4.1 前台功能4.1.1 会员注册登录会员注册页面如图4-1所示。如果输入信息有误则会提示错误信息,需要重新输入。图4-1 会员注册页面主要代码如下: protected void ok_Click(object sender, EventArgs e) BLL.Users_BLL users_BLL = new BLL.Users_BLL(); users_BLL.EmailAddress = userEmail.Text; users_BLL

17、.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 会员登录页面主要代码如下: protected void ImageLogin_Click(object sender, Imag

18、eClickEventArgs e) BLL.Users_BLL users_BLL = new BLL.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 商品展示商

19、品展示页面如图4-3所示。图4-3 商品展示页面主要代码实现如下: private void Bind() BLL.CommodityType_BLL commodityType_BLL = new BLL.CommodityType_BLL(); RepeaterFather.DataSource = commodityType_BLL.selectLevelOneType(); RepeaterFather.DataBind(); protected void RepeaterFather_ItemDataBound(object sender, RepeaterItemEventArgs

20、 e) DataRowView dr = (DataRowView)e.Item.DataItem; int id = Convert.ToInt32(drcommodityTypeId); Repeater repeaterSon = (Repeater)e.Item.FindControl(RepeaterSon); BLL.CommodityType_BLL commodityType_BLL = new BLL.CommodityType_BLL(); commodityType_BLL.CommodityTypeFatherId = id; repeaterSon.DataSourc

21、e = commodityType_BLL.selectTypeByFatherId(); repeaterSon.DataBind(); DataList dataListFather = (DataList)e.Item.FindControl(DataListFather); BLL.Commodity_BLL commodity_BLL = new BLL.Commodity_BLL(); commodity_BLL.CommodityTypeId = id; dataListFather.DataSource = commodity_BLL.selectCommodityByFath

22、er(); dataListFather.DataBind(); 4.1.3 商品搜索在如图4-4所示的商品搜索页面中选择商品类型并输入关键字,点击“找商品”按钮搜索商品。图4-4 商品搜索页面搜索结果页面如图4-5所示。图4-5 商品搜索结果页面主要代码如下:protected void search_Click(object sender, EventArgs e) if (txtKey.Text.Trim() = ) Response.Write(alert(关键字不能为空!); else Response.Redirect(/web/SearchResult.aspx?commodit

23、yTypeId=+ddlSon .SelectedValue + & key=+txtKey .Text .Trim(); private void Bind() int id = Convert.ToInt32(Request.QueryStringcommodityTypeId); string key = Request.QueryStringkey; BLL.Commodity_BLL commodity_BLL = new BLL.Commodity_BLL(); commodity_BLL.CommodityTypeId = id; commodity_BLL.Key = key;

24、 DataSet ds = commodity_BLL.searchCommodity (); pds.DataSource = ds.Tables0.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.DataSou

25、rceCount.ToString(); currentPage.Text = (pds.CurrentPageIndex + 1).ToString(); totalPage.Text = pds.PageCount.ToString(); 4.1.4 商品评论会员登录后才能发表评论。商品评论页面如图4-6所示。图4-6 商品评论页面如果为匿名用户则提示如图4-7所示的提示信息。图4-7 提示信息主要代码如下: protected void ok_Click(object sender, EventArgs e) if(Profile .IsAnonymous ) Response.Writ

26、e(alert(登录后才能对商品论!); return; int commodityId = int.Parse(Request.QueryStringcommodityId); string emailAddress = Profile.UserName;string commentContent = (FormViewData.FindControl(txtContent) as TextBox).Text; DateTime commentTime = DateTime.Now; BLL.CommodityComment_BLL commodityComment_BLL = new BL

27、L.CommodityComment_BLL(); commodityComment_BLL.CommodityId = commodityId; commodityComment_BLL.EmailAddress = emailAddress; commodityComment_BLL.CommentLevel = commentLevel; commodityComment_BLL.CommentContent = commentContent; commodityComment_BLL.CommentTime = commentTime; commodityComment_BLL.ins

28、ertComment(); Response .Redirect (CommodityComment.aspx?commodityId= + commodityId); 4.1.5 网站公告网站公告信息页面如图4-8所示。图4-8 网站公告信息主要代码如下: private void Bind() BLL .News_BLL news_BLL=new BLL.News_BLL (); Repeater1.DataSource = news_BLL.selectNews(); Repeater1.DataBind(); 4.1.6 个人信息更改个人信息更改页面如图4-9所示。图4-9 个人信息更

29、改页面主要代码如下: protected void ok_Click(object sender, EventArgs e) if (ds.Tables0.Rows0userPwd.ToString()=OldPwd .Text ) BLL.Users_BLL users_BLL = new BLL.Users_BLL(); users_BLL.EmailAddress = Profile.UserName; users_BLL.UserName = Username.Text; users_BLL.UserPwd = NewPwd.Text; users_BLL.updateUserInfo

30、(); else Response.Write(alert(原密码输入错误!); 4.1.7 地址簿管理地址薄管理页面如图4-10所示。图4-10 地址薄管理页面主要代码如下:private void Bind() BLL.Address_BLL address_BLL = new BLL.Address_BLL(); address_BLL.EmailAddress = Profile.UserName; DataSet ds = address_BLL.selectAddressByEmailAddress(); if (ds.Tables0.Rows.Count 1) GridViewA

31、ddress.Visible = false; return; GridViewAddress.DataSource = ds; GridViewAddress.DataBind(); protected void addAddress_Click(object sender, EventArgs e) BLL.Address_BLL address_BLL = new BLL.Address_BLL(); address_BLL.EmailAddress = Profile.UserName; address_BLL.GetCommodityPerson = getCommodityPers

32、on.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所示。

33、图4-11 会员的订单列表查看订单详情如图4-12所示。图4-12 订单详情信息主要代码如下: private void Bind() BLL.Orders_BLL orders_BLL = new BLL.Orders_BLL(); orders_BLL.EmailAddress = Profile.UserName; DataSet ds=orders_BLL.selectOrderByEmail(); pds.DataSource =ds.Tables 0.DefaultView ; pds.AllowPaging=true ; pds.PageSize=10; GridView1.Da

34、taSource = 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(); totalPage.Text = pds.PageCount.ToString(); private void Bind() string or

35、derNum = Request.QueryStringorderNum; BLL.Orders_BLL orders_BLL = new BLL.Orders_BLL(); orders_BLL.OrderNum = orderNum; DataSet dsOrder = orders_BLL.selectOrder(); lblOrderNum.Text = orderNum; lblOrderTime.Text = dsOrder.Tables0.Rows0orderTime.ToString(); lblPostType.Text = dsOrder.Tables0.Rows0post

36、Type.ToString();lblTotalPrice.Text=decimal.Parse(dsOrder.Tables0.Rows0totalPrice.ToString(), System.Globalization.NumberStyles.Currency).ToString(c);int addressId = int.Parse(dsOrder.Tables0.Rows0addressId.ToString();BLL.Address_BLL address_BLL = new BLL.Address_BLL();address_BLL.AddressId = address

37、Id;DataSet dsAddress = address_BLL.selectAddressById();lblGetCommodityPerson.Text = dsAddress.Tables0.Rows0getCommodityPerson.ToString(); lblPostAddress.Text =dsAddress.Tables0.Rows0postAddress.ToString(); lblPostCode.Text = dsAddress.Tables0.Rows0postAddress.ToString(); lblPhoneNum.Text = dsAddress

38、.Tables0.Rows0phoneNum.ToString(); BLL.OrderDetail_BLL orderDetail_BLL = new BLL.OrderDetail_BLL(); orderDetail_BLL.OrderNum = orderNum; DataSet dsOrderDetail = orderDetail_BLL.selectOrderDetail();GridView1.DataSource = dsOrderDetail; GridView1.DataBind();4.1.9 购物车管理商品购买页面如图4-13所示。图4-13 商品购买页面点击订购,放入购物车,购物车页面如图4-14所示。图4-14 购物车页面配置文件作如下配置: add name=ShoppingCar

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922