网上书店系统课程设计报告.docx
- 文档编号:8830107
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:19
- 大小:2.32MB
网上书店系统课程设计报告.docx
《网上书店系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《网上书店系统课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
网上书店系统课程设计报告
华北科技学院
课程设计说明书
班级:
信管B052姓名:
仝凤伟
设计题目:
网上书店系统
设计时间:
2009-1-5至2009-1-16
指导教师:
万雪芬
评语:
__________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
评阅成绩:
______评阅教师:
_______
一、系统设计目的
随着Internet的发展,当今电子商务已经被广大的互联网用户所接受,网上书店系统作为其中的一部分也有了迅速的发展,越来越受到广大互联网用户的欢迎,同时,也出现了一些问题,比如:
如何更方便的查找书籍,如何更快捷的买到书籍等。
为了解决以上问题,特设计次网上书店系统为广大互联网用户服务。
本网上书店系统是由用户使用的选购商品、生成订单、订单状态查询的程序和后台管理员使用的商品管理、订单管理系统等组成的。
二、系统功能需求分析
本网上书店系统华夏网上书店主要由前台操作和后台管理两部分构成。
1、书店前台
前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不太懂电脑操作的客户,也能轻松的享受电子商务给他们带来的便利。
1)、前台主要功能包括
注册/登录(支持个人用户)、我的购物车、书店介绍、图书查询、图书分类浏览、图书展示、打折专区、热门推荐,最新图书、服务中心、友情链接功能等等。
2)、部分功能模块的分析
(1)、注册,主要是新用户注册;登录包括用户登录以及管理员登录。
(2)、我的购物车
每个注册的用户,都可以选购商品放入购物车,决定是否购买,如果暂时先不购买,也可以把商品移入收藏夹,待以后再买时移入购物车。
(3)、书店介绍
介绍了本华夏书店系统的开发目的以及电子商务功能。
(4)、图书查询
主要包括按ISBN号查询、全部书籍查询、特价书籍查询、最新书籍查询、按作者查询、模糊查询。
(5)、公告的实时发布
公司新闻让客户对充分了解公司的动向,决策,行业新闻则可用来发布本行业或相关行业的动态,让客户及时了解行业变化,掌握最新的行业法律法规。
所有的公告信息,反映的是公司的实时消息。
(6)、购书的详细过程
会员注册-->选择图书-->放入收藏夹-->放入购物车下订单
或者是:
会员注册-->选择图书-->放入购物车—>下订单
本系统客户订购的流程如下
(4)、多种检索方式
传统书店最困惑的就是购书时的盲目性,找一本书,需花费大量的时间和精力,网上书店这方面的困惑已经得到了彻底的解决,数据库的高效检索,让客户找书不再烦恼。
本系统运用了先进的检索方式,包括模糊查询,按出版社、按ISBN号,按作者,按书名等多种查询方法,同时查询方法简单易懂。
(5)、图书展示区
网站前台图书显视栏目分为以下几种方式:
新书上架,图书特价和图书详细分类
(6)、读者评论
这一部分,主要是读者对书籍的一些评价。
2.书店后台
本系统后台管理在考虑书店管理操作简便的同时,提供了强大的书店管理模式。
它包括管理员角色的设置,用户管理,图书分类管理,图书管理,订单管理,图书评论管理,公告管理等。
三.系统总体设计
1.总体设计功能模块
按结构化程序设计思想,分析得出如下系统功能模块图:
(1).前台管理功能模块设计
(2).后台管理功能模块设计
2.各个功能模块功能
前台管理功能模块(拥有权限者:
管理人员和用户)
功能模块名称
主要功能
图书查询模块
通过检索用户可以进行方便地查找到自己想要查看的书籍。
图书展示模块
用户可以查看所有图书信息
打折专区模块
用户可以查看特价商品信息
我的购物车模块
用户可以把选购的商品放入购物车内,如果暂时不购买,可以移入收藏夹收藏起来,待以后购买。
书店介绍模块
主要是对本书店的简单介绍,目的是让用户了解我们。
售后服务中心模块
主要是帮助用户了解一些购物流程送货方式以及支付方式等。
注册模块
主要是供新用户注册
后台管理模块(拥有权限者:
管理人员)
图书管理模块
可对图书信息进行添加、修改和删除等操作。
图书类型管理模块
可对图书类型信息进行添加、修改和删除等操作。
公告管理模块
完成添加、修改和删除公告功能。
用户管理模块
只能对用户信息删除,而不可以修改用户个人信息。
管理员管理模块
完成添加、修改和删除公告管理员功能。
评论管理
可以删除用户对某一书籍的评论,但是不能修改和添加用户评论信息。
订单管理模块
可以查看和修改用户的订单状态,当确定订单处理后,订单表的订单状态信息就会被修改,同时与此订单相关的订单详细表的用户的收到货物(最晚时间)的时间将会自动被修改。
与此同时,此订单所涉及到的图书的库存数量相应减1.通过对关联表的操作实现最终功能。
三、数据库设计
1、数据库需求分析
1)针对网上书店系统,主要按对象分别对用户和管理员的购物流程以及操作所涉及到的相关数据进行详细的调研和分析,总结出如下的需求信息:
图书按类管理,所以需要有一图书类型信息表。
图书必须属于一个图书类型。
如果一个图书类型存在商品,或存在下级图书类型,则该类型不可删除。
需要记录图书基本信息,所以需要一个图书基本信息表。
当然还要有一个图书信息表。
根据权限的不同,需要有一个用户表和一个管理员表。
另外还需要一个购物车表和一个收藏夹表,一个公告表和一个订单表以及一个详细订单表。
2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项和数据结构:
(数据结构较多,只选择下面部分数据结构设计)
①.管理员表包括的数据项有:
管理员编号、管理员姓名、管理员密码、管理员真实姓名等。
②.用户表信息包括的数据项有:
用户编号、用户名、密码、真实姓名、性别、电话、EMAIL、地址、邮编等。
③.图书类型表包括的数据项有:
图书类型编号、图书类型名称、父编号、是否有子类型、添加时间等。
④.图书表包括的数据项有:
图书编号、图书名称、图书类型、作者、原价和特价等。
⑤.图书详细表包括的数据项有:
图书详细表编号、图书编号、出版社、页数、ISBN、版本、语言、简介、出版时间等。
⑥.公告表包括的数据项主要有:
公告编号、公告标题、公告内容、添加时间、添加公告的管理员、公告的浏览量等。
⑦.评论表包括的主要数据项有:
评论ID号、所评论的图书ID号、所评论的图书名称、评论内容、评论日期、评论的用户名等。
⑧.收藏夹表包括的主要数据项有:
编号、用户名、图书编号、图书名称、图书原价、图书特价等。
⑨.购物车表包括的主要数据项有:
编号、用户名、图书编号、图书名称、图书原价、图书特价等。
⑩.订单表包括的主要数据项有:
订单号、订单用户名、订单产生日期、订单确认情况、订单确认时间、确认订单管理员的ID、订单的发送情况等。
⑩.订单详细表包括的主要数据项有:
订单详细表号、该项所对应的订单号、订单用户名、图示编号、图书名称、图书原价、图书特价、订单的收货人姓名、订单的收货人地址、订单的收货人邮编、用户的支付方式以及送货方式等。
2.根据以上需求分析,一个基本的网上书店系统至少包括10个基本表,分别存放相应子功能的数据信息,其中用户表、图书表,以及管理员表和订单表都是关键表格,用于存放基础的数据信息。
因此这几张表和其他表间的关系是1∶N的关系。
因为整个系统涉及的实体和属性较多,限于篇幅,这里不能也没有必要一一列举。
下图为本系统关键实体的E-R图(即实体—关系图)。
四、功能实现
1.界面设计
图1.主界面导航
通过导航条,用户可以随意跳转到自己想了解的一些图书信息以及购物流程信息等。
图2.新书推荐功能界面显示
用户可以点击“详细信息”了解相关书籍的具体信息,点击”更多促销书籍“则可以看到更多的正在促销的书籍。
如图3
图3.所有促销书籍。
通过具体代码对Datalist控件的控制,实现Datalist控件的分页显示功能。
如下图,可以通过“上一页”和”下一页“滚动显示所有的促销中的书籍信息。
图4.图书详细信息界面分解图
①
②通过四个Datalist控件调用数据库数据显示图书的详细信息
③用户可以对某一书籍发表评论,并即时发布评论信息。
图5.我的购物车和收藏夹界面
用户选购商品后,会自动添加到我的购物车中,当用户暂时不买,待以后再买时,可以先将所选购的商品移入“我的收藏夹“,当以后再登录网站想购买时,可以把商品再移入购物车,而后购买,产生订单。
图6.公告信息显示
本界面动态显示公司所公布的信息包括行业新闻,公司内部新闻以及广大网络用户密切关注的一些公告信息。
①
②详细公告信息界面
图7.订单界面
订单界面会自动通过Datalist控件调出用户的个人信息,如果用户需要修改个人家庭住址以及收货人姓名和联系方式等,可以点击“修改“直接修改配送地址信息,无论用户购买的是特价商品还是不打折商品,此界面显示的价格是最终交易价格。
即当其是特价商品时显示的最终价格为其特价价格,当其为不打折商品时则最终价格为原价价格。
用户还要根据个人情况选择配货方式以及支付方式,在确认无误时,则可以点击”订单确认“,交易成功。
一般来说,用户在交易后十五天左右会收到所订购的商品。
图8.图书查询界面
用户可以在此界面查看全部图书信息、特价图书信息、最新上架图书信息、可以按照图书名称查询、按作者查询、书名模糊查询
图9.后台管理主界面
具有权限的管理员可以对图书管理、图书类型管理、公告管理、用户管理、管理员管理、评论管理、订单管理。
主要功能的实现主要包括对信息的添加、修改、删除和查询等。
而各功能的实现则主要通过数据控件Datalist实现的。
图10.图书管理界面
本界面主要包括三各模块,图书浏览,新书上架和修改信息。
通过三个按钮对层的显示控制实现不同功能的显示。
而层内主要是对Datalist的操作,通过调用数据库以及编写相关代码实现了最终功能。
图11.评论管理界面
管理员只能删除一些用户所发表的评论内容,但是不能修改其发表的内容。
图12.订单管理界面
对于订单的管理,具有权限的管理员通过对用户填写的信息得核查,觉得没有问题后,确认订单,并确认发货。
本订单管理功能的实现,主要通过对DatalistJ控件的使用,并在Datalist控件中嵌套了一个Datalist控件来显示与订单相对应的详细订单信息和用户个人信息。
当点击”确定订单“后,与此订单相关联的订单表的一些状态信息以及于此订单相关联的详细订单表中的相应信息和与此订单相关联的图书表中的库存量信息都会有相应的改变。
2.部分主要功能代码
'书籍分类导航面板的构建
DimtNewNodeAsNewTreeNode'创建根节点
Dimcmd2AsNewOleDbCommand("select*fromBook_Type_Table",conn)
conn.Open()
DimdrAsOleDbDataReader=cmd2.ExecuteReader()
While(dr.Read())
If(dr.Item("type_fid")=0)Then
tNewNode=NewTreeNode(dr.Item("type_name").ToString(),dr.Item("type_id").ToString())
tNewNode.SelectAction=TreeNodeSelectAction.None
TreeView1.Nodes.Add(tNewNode)
If(dr.Item("type_havechild")=True)Then
Dimcmd3AsNewOleDbCommand("select*fromBook_Type_Table",conn)
Dimdr2AsOleDbDataReader=cmd3.ExecuteReader()
While(dr2.Read())
DimtnewchildAsNewTreeNode
If((dr.Item("type_id").ToString())=dr2.Item("type_fid").ToString())Then
tnewchild=NewTreeNode(dr2.Item("type_name").ToString(),dr2.Item("type_id").ToString())
tnewchild.SelectAction=TreeNodeSelectAction.SelectExpand
tNewNode.ChildNodes.Add(tnewchild)
EndIf
EndWhile
'用代码控制Datalist控件,从而实现分页显示数据功能。
PublicconAsNewOleDbConnection("provider=Microsoft.jet.oledb.4.0;datasource=c:
/inetpub/wwwroot/bookshop/App_Data/BookWebShop.mdb")
PublicRecordCount,PageCountAsInteger
PublicPageSizeAsInteger=6
PublicCurrentPageAsInteger=0
PublicintcountAsInteger
PublicSubPage_Load(ByValsAsObject,ByValeAsEventArgs)
ViewState("pageindex")=0
CurrentPage=0
'计算总共有多少记录
RecordCount=totalCount()
lblrecordcount.Text="共有"&RecordCount.ToString&"条记录"
'计算总共有多少页
If((RecordCountModPageSize)>0)Then
PageCount=Convert.ToInt32(RecordCount/PageSize)+1
Else
PageCount=RecordCount/PageSize
EndIf
lblpagecount.Text="共有"&PageCount.ToString()&"页"
ViewState("pagecount")=PageCount
Calllistbind()
EndIf
EndSub
PublicFunctiontotalCount()
DimintcountAsInteger
DimconnAsNewOleDbConnection("provider=Microsoft.jet.oledb.4.0;datasource=c:
/inetpub/wwwroot/bookshop/App_Data/BookWebShop.mdb")
DimcmdAsNewOleDbCommand("select*frombook_tablewherebook_isSpecialPrice=true",conn)
conn.Open()
DimadpAsNewOleDbDataAdapter(cmd)
DimdsAsNewDataSet()
adp.Fill(ds,"booktable")
intcount=ds.Tables("booktable").Rows.Count
Returnintcount
EndFunction
PublicFunctioncreatesource()AsObject
DimStartIndexAsInteger
'设定导入的起终地址
StartIndex=CurrentPage*PageSize
DimstrsqlAsString="select*frombook_tablewherebook_isSpecialPrice=true"
con.Open()
Dimds=NewDataSet()
Dimadp=NewOleDbDataAdapter(strsql,con)
adp.Fill(ds,StartIndex,PageSize,"book_table")
Returnds.tables("book_table").defaultview
EndFunction
PublicSublistbind()
DataList1.DataSource=createsource()
DataList1.DataBind()
prevbtn.Enabled=True
nextbtn.Enabled=True
If(CurrentPage=PageCount-1)Then
nextbtn.Enabled=False
ElseIf(CurrentPage=0)Then
prevbtn.Enabled=False
EndIf
lblcurrentpage.Text="当前是第"&(CurrentPage+1).ToString()&"页"
EndSub
PublicSubpage_onclick(ByValsAsObject,ByValeAsCommandEventArgs)
CurrentPage=Convert.ToInt32(ViewState("pageindex"))
PageCount=Convert.ToInt32(ViewState("pagecount"))
DimcmdAsString=e.CommandName
SelectCasecmd
Case"next"
If(CurrentPage CurrentPage=CurrentPage+1 EndIf Case"pre" If(CurrentPage>0)Then CurrentPage=CurrentPage-1 EndIf CaseElse CurrentPage=0 EndSelect ViewState("pageindex")=CurrentPage Calllistbind() EndSub 五、总结及体会 本次课程设计,我所选择的题目是网上书店系统。 而我所设计的网上书店系统,我把它起名为“华夏网上书店”。 在课程设计初期,我主要是对网上书店系统进行调研,当然主要是了解一些现今运行的比较成功的电子商务网站如卓越网,淘宝网,阿里巴巴网等。 通过对其网站的了解,以及通过实际在线购买商品了解了具体的网上购物流程。 并通过自己的购物心里以及身边同学的购物需求分析出网上购物系统的主要需求信息。 通过了解各大电子商务网站,也使我清晰了网上购物系统的大致包括哪些模块,从而对整个系统的整体模块设计做到心里有数,并列出主要的功能模块,主要包括前台管理和后台管理两大主要功能模块,而各自模块又包括了多个子模块。 完成了网上购物系统的用户需求分析以及确定主要功能模块后,则开始着手设计和实现整个网站。 首先说,对于设计一个网站来说,工程量还是蛮大的。 而为了减少重复代码的频繁输入的时间,在设计其他界面之前,我首先建立了一个模板页,在模板页当中可以用代码实现大部分的公共功能,而后通过调用模板页而简化一些工作。 在模板页当中,主要实现了导航条功能和书籍分类导航面板的构建以及用户登录模块而未设置部分则由ContentPlaceHolder控件作为容器,当新建aspx页面时把选中此模板作为目模板,而后主要是在ContentPlaceHolder控件中进行设计页面。 其实,在模板页当中最难实现的功能是书籍分类导航面板的构建,对于这方面的知识,课本上没有,则通过自学和参考并根据自己的设计系统实际情况,主要通过循环遍历图书类型表中的数据而通过树节点显示数据项,最终实现了这一功能模块的实现。 其次是各功能模块的具体实现,涉及到与后台数据库数据链接的地方,则主要是通过对Datalist数据控件操作实现相关功能而没有用DataGrid控件和Repeater控件,主要考虑到网上书店系统界面显示不仅仅显示数据还要显示图书图片等信息,还要考虑到广大网络用户对于界面美观的需求。 而DataGrid控件只能以表格的形式显示数据,而Datalist数据控件则可以以更自由的方式显示数据,虽然Repeater控件会严格按照自定义的格式显示数据,但是却不能支持更新和删除记录,只支持查询记录功能。 Datalist控件可以在一行显示若干条记录,而Repeater控件一行只能显示1条记录。 当然,与DataGrid控件相比,DataList控件不支持分页和排序功能。 通过对这三种控件的比较,各有优缺点。 但是最终还是选择了DataList控件,通过其绑定数据库中,利用它更新和删除记录。 对于其缺点不能够支持分页显示,我主要是用代码实现对其实现分页显示功能的。 主要在显示所有图书信息和所有特价信息等功能界面使用到了。 对于图书详细信息显示界面,主要是通过DataList表绑定数据库,并显示数据。 而对于用户评论这部分,是当用户评论后,即刷新页面实时显示评论信息。 前台界面主要针对对象是针对广大网络用户的,界面力求清晰简洁。 用户的主要购物流程是注册—>登录—>选书—>放入购物车—>下订单.在整个购物流程当中,用户都可以自由的选择是继续下去还是退出。 后台管理则主要由具有管理权限的管理员管理,主要包括: 图书管理,图书类型管理,公告管理,用户管理,管理员管理,评论管理和订单管理。 对于每个模块的设计大致实现了对数据信息的添加,修改和删除等功能。 当然,在后台管理部分,主要是订单管理比较难实现,当管理员确定订单后,需要更新相关联的数据库,在此系统当中主要要级联更新订单表的状态数据信息以及订单详细表的部分数据信息和此用户所购买的所有图书的库存数据信息等。 通过级联更新各表,而实现最终的交易。 在代码的具体实现中,主要用到了ASP.NET中内置的内部对象主要包括Page、Request对象、Cookie对象、Session对象、Application对象、Server对象等,实现各个页面数据的传送以及对用户信息的保存。 充分地利用了.NET所提供的HTML服务器控件和Web服务器控件所包含的控件,通过对其各个控件的属性的设置以及编写代码实现一些控件的事件过程,最终完成了本次课程设计。 通过本次课程设计,我不仅仅进一步巩固了所学过的ASP.NET程序设计的相关知识,更让我学到了书本上和课堂上所没有学到的知识。 在本次课程设计当中,也遇到了很多棘手的问题,有的时候甚至一天才解决一个问题,没有解决时觉得那么难,而一旦解决后才恍然大悟,有的时候发现仅仅是因为自己的马虎,或者是对知识点的掌握不够深入,或者是没有学过等等。 虽然遇到了很
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 系统 课程设计 报告