




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华 北 科 技 学 院课程设计说明书班级: 信管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个基本表,分别存放相应子功能的数据信息,其中用户表、图书表,以及管理员表和订单表都是关键表格,用于存放基础的数据信息。因此这几张表和其他表间的关系是1N的关系。因为整个系统涉及的实体和属性较多,限于篇幅,这里不能也没有必要一一列举。下图为本系统关键实体的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.部分主要功能代码书籍分类导航面板的构建Dim tNewNode As New TreeNode创建根节点Dim cmd2 As New OleDbCommand(select * from Book_Type_Table, conn)conn.Open()Dim dr As OleDbDataReader = cmd2.ExecuteReader()While (dr.Read()If (dr.Item(type_fid) = 0) ThentNewNode = New TreeNode(dr.Item(type_name).ToString(), dr.Item(type_id).ToString()tNewNode.SelectAction = TreeNodeSelectAction.NoneTreeView1.Nodes.Add(tNewNode)If (dr.Item(type_havechild) = True) ThenDim cmd3 As New OleDbCommand(select * from Book_Type_Table, conn)Dim dr2 As OleDbDataReader = cmd3.ExecuteReader()While (dr2.Read()Dim tnewchild As New TreeNodeIf (dr.Item(type_id).ToString() = dr2.Item(type_fid).ToString() Thentnewchild = New TreeNode(dr2.Item(type_name).ToString(), dr2.Item(type_id).ToString()tnewchild.SelectAction = TreeNodeSelectAction.SelectExpandtNewNode.ChildNodes.Add(tnewchild)End IfEnd While用代码控制Datalist控件,从而实现分页显示数据功能。Public con As New OleDbConnection(provider=Microsoft.jet.oledb.4.0;data source=c:/inetpub/wwwroot/bookshop/App_Data/BookWebShop.mdb)Public RecordCount, PageCount As IntegerPublic PageSize As Integer = 6Public CurrentPage As Integer = 0Public intcount As IntegerPublic Sub Page_Load(ByVal s As Object, ByVal e As EventArgs)ViewState(pageindex) = 0CurrentPage = 0计算总共有多少记录RecordCount = totalCount()lblrecordcount.Text = 共有 & RecordCount.ToString & 条记录计算总共有多少页If (RecordCount Mod PageSize) 0) ThenPageCount = Convert.ToInt32(RecordCount / PageSize) + 1ElsePageCount = RecordCount / PageSizeEnd Iflblpagecount.Text = 共有 & PageCount.ToString() & 页ViewState(pagecount) = PageCountCall listbind()End IfEnd SubPublic Function totalCount()Dim intcount As IntegerDim conn As New OleDbConnection(provider=Microsoft.jet.oledb.4.0;data source=c:/inetpub/wwwroot/bookshop/App_Data/BookWebShop.mdb)Dim cmd As New OleDbCommand(select * from book_table where book_isSpecialPrice=true, conn)conn.Open()Dim adp As New OleDbDataAdapter(cmd)Dim ds As New DataSet()adp.Fill(ds, booktable)intcount = ds.Tables(booktable).Rows.CountReturn intcountEnd FunctionPublic Function createsource() As ObjectDim StartIndex As Integer设定导入的起终地址StartIndex = CurrentPage * PageSizeDim strsql As String = select * from book_table where book_isSpecialPrice=truecon.Open()Dim ds = New DataSet()Dim adp = New OleDbDataAdapter(strsql, con)adp.Fill(ds, StartIndex, PageSize, book_table)Return ds.tables(book_table).defaultviewEnd FunctionPublic Sub listbind()DataList1.DataSource = createsource()DataList1.DataBind()prevbtn.Enabled = Truenextbtn.Enabled = TrueIf (CurrentPage = PageCount - 1) Thennextbtn.Enabled = FalseElseIf (CurrentPage = 0) Thenprevbtn.Enabled = FalseEnd Iflblcurrentpage.Text = 当前是第 & (CurrentPage + 1).ToString() & 页End SubPublic Sub page_onclick(ByVal s As Object, ByVal e As CommandEventArgs)CurrentPage = Convert.ToInt32(ViewState(pageindex)PageCount = Convert.ToInt32(ViewState(pagecount)Dim cmd As String = e.CommandNameSelect Case cmdCase nextIf (CurrentPage 0) ThenCurrentPage = CurrentPage - 1End IfCase ElseCurrentPage = 0End SelectViewState(pageindex) = CurrentPageCall listbind()End Sub五、总结及体会本次课程设计,我所选择的题目是网上书店系统。而我所设计的网上书店系统,我把它起名为“华夏网上书店”。在课程设计初期,我主要是对网上书店系统进行调研,当然主要是了解一些现今运行的比较成功的电子商务网站如卓越网,淘宝网,阿里巴巴网等。通过对其网站的了解,以及通过实际在线购买商品了解了具体的网上购物流程。并通过自己的购物心里以及身边同学的购物需求分析出网上购物系统的主要需求信息。通过了解各大电子商务网站,也使我清晰了网上购物系统的大致包括哪些模块,从而对整个系统的整体模块设计做到心里有数,并列出主要的功能模块,主要包括前台管理和后台管理两大主要功能模块,而各自模块又包括了多个子模块。完成了网上购物系统的用户需求分析以及确定主要功能模块后,则开始着手设计和实现整个网站。首先说,对于设计一个网站来说,工程量还是蛮大的。而为了减少重复代码的频繁输入的时间,在设计其他界面之前,我首先建立了一个模板页,在模板页当中可以用代码实现大部分的公共功能,而后通过调用模板页而简化一些工作。在模板页当中,主要实现了导航条功能和书籍分类导航面板的构建以及用户登录模块而未设置部分则由ContentPlaceHolder控件作为容器,当新建aspx页面时把选中此模板作为目模板,而后主要是在ContentPlaceHolder控件中进行设计页面。其实,在模板页当中最难实现的功能是书籍分类导航面板的构建,对于这方面的知识,课本上没有,则通过自学和参考并根据自己的设计系统实际情况,主要通过循环遍历图书类型表中的数据而通过树节点显示数据项,最终实现了这一功能模块的实现。其次是各功能模块的具体实现,涉及到与后台数据库数据链接的地方,则主要是通过对Datalist数据控件操作实现相关功能而没有用DataGrid控件和Repeater控件,主要考虑到网上书店系统界面显示不仅仅显示数据还要显示图书图片等信息,还要考虑到广大网络用户对于界面美观的需求。而DataGrid控件只能以表格的形式显示数据,而Datalist数据控件则可以以更自由的方式显示数据,虽然Repeater控件会严格按照自定义的格式显示数据,但是却不能支持更新和删除记录,只支持查询记录功能。Datalist控件可以在一行显示若干条记录,而Repeater控件一行只能显示1条记录。当然,与DataGrid控件相比,DataList控件不支持分页和排序功能。通过对这三种控件的比较,各有优缺点。但是最终还是选择了DataList控件,通过其绑定数据库中,利用它更新和删除记录。对于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 龙舟赛参赛人员合同6篇
- 有关技术开发(合作)合同2篇
- 加工水泥杆合同范本
- 转让协议转租合同范本
- 铺面联营协议合同范本
- 管道清洗报价合同范本
- 场地机器租赁合同范本2篇
- 微商操盘合同范本
- 债权抵押转让合同范本
- 对口学校租赁合同范本
- 统编版四年级上册第四单元快乐读书吧 《中国古代神话故事》 课件
- GRE强化填空36套精练与精析
- 物流管理就业能力展示
- 宿管老师培训课件
- 四年级英语 4AM3U2 Around my home同课异构
- 超限货物运输安全
- 2024年江苏省对口单招英语试卷及答案
- 循环经济的环保意义
- 国家临床版3.0手术操作编码(ICD-9-CM3)
- 小学一年级上册体育全册教案
- 2024年高考法语核心词汇全突破
评论
0/150
提交评论