毕业设计(论文)-网上购书系统的设计与实现(11页).doc
-毕业设计(论文)-网上购书系统的设计与实现-第 9 页山西大学论文 编号:论文题目 网上购书系统的设计与实现 姓 名 院 系 计算机与信息技术学院 专 业 软件工程 学习年限 2007 年 9 月至 2011 年 7 月指导教师 学位级别 学 士 2011年5月28日网上购书系统的设计和实现学生姓名: 指导教师:内容提要 本论文设计并实现了网上购书系统。通过对当前购书现状的分析以及网上购书系统的功能需求分析,该系统包括前台在线购书子系统和后台管理子系统两个独立的子系统,其中在线购书子系统主要包括:图书浏览和搜索、购物车管理、我的订单等模块,管理子系统包括图书管理、订单查询等模块。在开发该系统的过程中用到的工具包括 JSP 、Tomcat 、Oracle、JavaScript、Css、Hibernate等。关键词 网上购书系统,用户,购物车,订单1 引言1.1课题背景随着网络的普及和发展,电子商务(electronic commerce)在当今网络时代扮演着越来越重要的角色,并将有力地推动信息和信息服务业的发展。它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等其他社会层面,是一个与社会大环境息息相关并独具完整结构体系的系统工程。随着通信技术和网络技术的飞速发展,电子商务的发展势在必行,21世纪电子商务将成为主流的商业模式。由于书籍具有数量大、产品的差别性小等特点,因此最适宜网络营销。网上购书系统是随着网络技术的发展而出现的一种新型图书购买渠道。它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书的网上交易。下面我们就以网上购书来比较网络销售较之传统市场营销所具有的特点:第一、从间接经济到直接经济,交易成本降低传统的市场营销模式必须有许多中间环节,图书出版商与消费者之间存在大量的批发商、零售商为中介,这就决定了“间接经济”的特点。网络购书的出现从根本上减少了传统售书的中间环节,缩短了供与求之间的距离,同时也大大减少了各种不必要的消耗,使我们进入“直接经济”时代。网上书店的网上服务也可以提供全新的服务方式。网上购书使得买卖双方的交易成本大大降低,具体表现在:(1)购书者和售书者通过网络进行商务活动,无需中介者参与,减少了交易的有关环节,所以网上书店的书的价格比传统书店低。(2)售书方可以通过互联网进行书籍的介绍,宣传,避免了在传统方式下做广告等大量费用。(3)互联网使买卖双发即使沟通供需信息,使无库存销售成为可能,从而使库存成本降为零。(4)传统的售书平台使地面地铺,新的网上书店的售书平台则使在网吧、家庭或者办公室。第二、让购书者的购买区域从当地扩展到全球由于传统售书模式的限制,购书者往往只能在当地书店选购买书籍,很少有人会为了买一本书特地去别的省市,即便让人代购也烦人烦己,而且各个书店的进货渠道有所不同,使得书店销售的书目品种存在差异,这就会让购买者要多跑几家才可能买到想要的书。互联网能够把全世界的顾客送到地球上开设的任何一家网络书店,消费者只需要在电脑面前就跨市、跨省甚至跨国选购自己想要的书籍,这家网上书店如果有需求,只需要鼠标一点即可进入另外一家网上书店,方便快捷,省钱省力。第三、大小书店公平竞争,交易透明化互联网为所有书店提供了平等的竞争环境。在传统售书行业中,出版商和销售商必须投入巨大资金和人力去建立其营销网络,对于一些中小书店来说,是一个非常庞大的障碍。然后现在,互联网使最小的书店也可以与最大的书店一样平等地出现在全世界的客户面前,像销售渠道之类的障碍在网络经济时代完全瓦解了。买卖双方整个交易过程都在网络上进行。通畅、快捷的信息传输可以保证各种信息之间相互核对,可以防止伪造信息的流通。1.2 系统目标系统的主要设计目的就是利用现代化的电子及网络技术,为企业和客户搭建一个互动平台网上购书系统。作为一个在网上实现图书浏览和购买的系统,它是电子商务中一个比较典型的系统,在降低企业运营成本的同时,还方便了客户购书,达到双赢的目的。一方面,企业减少了地面店铺的租凭费用,减少了宣传货物的广告费用,减少了雇佣员工的费用;另一方面,电子及网络技术使得企业运作更加快捷方便,为企业赢得宝贵的时间和商机。对于客户来说,客户省去了逛书店的时间,同时可以将自己的需求迅速地反馈给企业,使自己的需求可以更好地得到满足。该系统可以使顾客通过访问该网上书店的网址,浏览新书和好书,或查找到所需要的书籍,最后下订单,等待邮寄或送货上门的服务。本系统是在Windows XP环境下开发,其设计思想是建立在MVC模式下的:用JSP做显示,用Servlet做控制,用JavaBean连接Oracle数据库,并用Hibernate实现数据持久化。系统包括两大子系统:前台在线购书子系统,后台管理子系统。通过在线购书子系统,用户可以通过 Web 浏览器登录到此网站。在此网站,用户可以注册登录,搜索要找的书,查看详细信息,购书(将所要购买的图书加入购物车),用户选择后自动生成订单,包含书籍数量与价格。通过后台管理子系统,书店管理人员登录后可对网站进行添加、删除和修改图书,查看和管理订单信息。2 需求分析和设计2.1 系统需求通过调查分析,我认为网上购书系统应该具有以下功能:Ø 前台在线购书子系统功能描述l 浏览查询功能:所有人员都可以浏览查询系统发布的书籍信息。l 用户注册:用户若要购书,就必须注册为该系统的会员,获得登录系统的用户名和密码。l 购物车功能:注册用户能将自己中意的书放到自己的购物车中。l 订单功能:用户能向系统发送订单。Ø 管理子系统管理描述l 书籍管理功能:管理员可以根据图书类别添加、删除和修改书籍。l 订单查看,管理员可以按时间先后查看一年以来图书的销售情况,一目了然。2.2数据流图网上购书系统的数据流图(见图2-1)图 2-1网上购书系统的数据流图2.3 系统开发技术(1) JavaJava是一种面向对象的编程语言,它不但有着强大类库,而且还包含了大量的高效代码和面向对象的特性。同时由于java语言在编程中具有很强的灵活性,为程序员带来更高效的开发方式,它不仅能用于WEB网站服务程序,而且还能开发强大的系统工具,总体来说,它具有以下特性:Java代码在MVC框架提供的受控环境下运行,不允许视图层直接操作数据库,增强了程序的安全性。C/C+中的指针已经不在Java中出现了。Java具有面向对象语言编程的一切特性,如封装,继承,多态等。在Java的类型系统中,每种类型都可以看作是一个对象,但Java只允许单继承,这样避免了类型定义的混乱。(2) SQL SQL是英文Structured Query Language的缩写。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Mysql,Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。(3) Hibernate Hibernate 是对象/关系映射(Object/Relation Mapping)的解决方案,是一个可以自动的根据XML配置文件来完成对象关系映射,并持久化到数据库的开源组件。(4) JavaScriptJavaScript 一种由 Sun Microsystems 所开发的程序脚本语言(它是一种严密的物件导向的语言,适合在网际网络上发展主从架构的应用程序),常常简称JS。(5) CssCss(Cascading Style Sheets) 层叠样式表。是用来控制网页样式,并允许将样式信息与网页内容分离的一种标记性语言。Css是标准的布局语言,用来控制元素的尺寸、颜色、排版。2.4系统开发工具开发平台:Myeclipse 6.5应用服务器:Tomcat 6.0数据库:Oracle辅助工具:Office 2003、Office visio 2007、Google Chrome3 数据库设计3.1实体联系图概念模型是用户和数据库设计人员之间进行交流的工具。该系统的实体有用户(包括管理员)、订单、订单条目、书以及图书分类。图3-1显示了该系统中各实体间的联系及它们在系统中的地位。图3-1 网上购书系统的E-R图3.2数据库表说明数据表的设计主要涉及数据的类型、大小、含义、说明以及约束。其中数据约束主要包括 Oracle 数据库所要求的实体完整性,参照完整性和用户定义的完整性约束。该系统中用到的表为:(1)图书表(编号,名称,作者,出版社,出版年月,价格,书评,类别)(2)用户表(编号,昵称,密码,邮编,地址,电话,电子邮箱)(3)图书种类表(编号,种类名称)(4)订单条目表(编号,共买的数量,所属订单号,所属产品号)(5)订单表(编号,购买者id,订单日期,订单总价)具体数据库表结构见表3-1至表3-5:表3-1 book表(图书表)序号列名数据类型长度主键外键非空描述1idint4是否是编号2nameVarchar2100否否是名称3authorVarchar2100否否否作者4publisherVarchar2 100否否否出版社5publishyearVarchar2100否否否出版月6priceDouble126否否是价格7descsVarchar21000否否否书评8cateidint19否是是类别表3-2 customer表(用户表)序号列名数据类型长度主键外键非空描述1idint19是否是编号2nameVarchar220否否否(已在页面上判断)昵称3passwordVarchar220否否否密码4ZipVarchar220否否否邮编5addressVarchar250否否否地址6telephoneVarchar220否否否电话7emailVarchar230否否否电子邮箱表3-3 bookcate表(图书类别表)序号列名数据类型长度主键外键非空描述1idint19是否是编号2nameVarchar2100否否否 种类名称表3-4 orderline表(订单条目表)序号列名数据类型长度主键外键非空描述1idint19是否是编号2numint19否否是 共买的数量3orderidvarchar19否是否 所属订单号4bookidvarchar19否是否 所属产品号表3-5 orderform表(订单表)序号列名数据类型长度主键外键非空描述1idint19是否是(order)编号2costdouble126否否否订单总价3orderdatedate6否否否订单日期4customeridint19否是否 购买者编号4 应用程序设计4.1设计概述本系统共分为两个子系统:前台在线购书子系统、后台管理子系统。其中前台在线购书子系统主要包括:注册登录、浏览与搜索图书、购物车、我的订单四大模块模。管理子系统包括图书管理、订单查看两大模块。4.2系统功能模块图(见图4-1)图4-1 网上购书系统功能模块图通过上图说明各个功能模块:4.2.1前台在线购书子系统用户在浏览该系统时,可以点击查看该系统中所有的图书,并且可以点击购买,放入购物车中。当用户购买完成后,可以点击提交订单->确认订单,完成购买操作。如果该用户为游客时则不能完成购买操作。这时用户需要先进行登录操作,如果登录失败会有相应的提示信息。如果登录前用户未注册,此时需要先进行注册,注册时还会判断用户提交的信息是否完整。其中,当该用户登陆成功后,如果在其登陆过程中,一直没有关掉浏览器,则先前其购买的购物车还会以条目的形式(对应订单条目表)保留,这样就可以使用户不必再返回去重新购买,用户确认后就会生成订单。而且当用户退出该系统时,在一定的时间段内,还可以参看我的订单。(1)用户登录模块进行用户验证,经系统验证无误才能登录到系统并且购物,这样才能够确保系统的安全。(2)用户注册模块如果要想在该系统中购买图书就得先注册。(3)购物车模块该模块通过模拟现实生活中的购物车,可以将人们浏览该系统后购买的书放入购物车,如果该用户注册并登陆了,则可以往购物车中加入图书。 (4)我的订单模块如果某一用户已购完书并生成订单,在退出系统后的一定时间间隔,可以返回该系统查看他的订单。(5)搜索图书模块用户进入该系统可以通过主页面的搜索功能来找到符合的图书。4.2.2后台管理子系统后台管理子系统是专门用于管理员管理该系统中图书的子系统。通过该子系统管理员可以随时添加、删除和修改图书。 (1)图书管理模块管理员可以对每本图书进行删除或修改,或添加新书。(2)查看图书销售情况管理员可以按时间顺序查看一年内的订单情况并删除过时信息。4.3系统流程图(见图4-2)图4-2 在线购书子系统流程图5应用设计5.1前台在线购书子系统(1)主界面:而且为了更加方便用户进行购书,该系统特别推出了推荐板块,页面中央显示反映当前时事、潮流的或当前比较畅销的图书。在页面顶端管理员或用户可以进行登录或注册。主界面(见图5-1) 图5-1主界面 (2)用户登录模块用户登录主要用于验证用户登录系统时输入的用户名、密码和验证码是否正确,只有合法的用户才可以进入系统,否则将不能进入此系统进行购书。用户登录流程图(见图5-2),用户登录界面(见图5-3)图5-2用户登录流程图图5-3 登录界面图 (3)用户注册模块如果某一没有注册过的游客想在该系统中购书时,系统不会为其生成订单,会直接跳转到登录界面,来提示其请先登录,在登录界面中会有一个“注册”按钮来提示注册。当然用户也可以直接点击主页面右上角中的注册按钮来进行注册。用户注册流程图(见图5-4),注册界面(见图5-5)图5-4用户注册流程图图5-5 注册界面(4) 我的购物车模块用户本次登录中(未关闭浏览器之前)的购物车列表可以一直被查看;如果用户关掉浏览器,下次重新登录后购物车列表为空。(见图5-6)图5-6 我的购物车界面(5)我的订单模块该模块主要是为了方便用户在下次登录该系统时查看上一次购书时的订单,当然用户的订单是有一定时间限制的,在一段时间过后管理员会及时清理已失效的订单。(见图5-7)图5-7 我的订单界面(6)搜索功能模块查询功能应该是每一个网站所需要的功能,以更进一步方便用户进行搜索和购书。本系统搜索流程图(见图5-8),搜索界面(见图5-9)图5-8 精确查询图书流程图图5-9 精确查询图书5.2后台管理子系统 在该子系统中管理员在登录后可以查看、添加各类图书的详细情况,以及更新和删除注册用户和订单。 (1)管理员登录界面(见图5-10)图5-10 管理员登陆界面 (2)图书管理界面 该界面主要是让管理员可以对系统中的图书进行增加、删除和修改。(见图5-11)图5-11 管理员操作的图书管理界面 (3)订单查看界面 该界面主要是让管理员可以对系统中的图书订单进行管理和查看。(见图5-12)图5-12 管理员操作的订单管理及查看界面6总结经过一段时间的开发设计和调试,该系统基本实现了所设计的功能,开发出了一个功能比较完善的网上购书系统。在开发的过程中,查阅了大量的资料,并向老师同学请教,学到了许多课本上学不到的知识,更加深切地体会到了“学无止境”的含义。通过这次开发,我充分感受到了开发过程的艰辛,很多看起来简单的问题实际动手起来却不是那么回事,往往会出现这样或那样的错误,需要自己一步一步地去解决,虽然在出现问题时感觉到很头痛,尤其是在找不出原因时,然而更多的是实现功能后所收获的喜悦。开发过程遇到的问题及解决方法:(1) 编译错误:这种错误出现一般都是代码的语法问题。因为编译而导致程序停止运行。(2) 运行错误:这个错误是发生在你准备运行程序时的,例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。(3) 逻辑错误:逻辑错误是最难发现的,这种错误经常是一种结构错误。这就需要彻头彻尾地检查代码。如何处理错误:发生错误后,我一般都是设置断点,对语句进行一条一条的调试。致 谢在系统的选题、设计与实现过程中,我始终得到了我的导师庞继芳老师的悉心指导、热情的鼓励和支持。没有她严格的要求和细致的指导帮助,就不会有本系统及本文的顺利完成,在此,我要真诚地感谢我的导师庞继芳老师;其次,真诚地感谢同学们和同事们,在开发阶段遇到的很多问题,无从下手,他们帮我指点,让我豁然开朗。谢谢大家!参考文献1Ivor Horton. Java 2 入门经典 JDK5M. 潘晓雷, 于浚泊等译. 北京: 机械工业出版社, 20052刘甲耀, 严桂兰. Core Java应用程序设计教程M. 北京: 电子工业出版社, 20053孙卫琴. 精通Struts: 基于MVC的Java Web设计与开发M. 北京: 电子工业出版社, 20044菜剑, 景楠. Java Web应用开发: J2EE和TomcatM. 第2版. 北京: 清华大学出版社, 20055孙卫琴, 李洪成. Tomcat与Java. Web开发技术详解M. 北京: 电子工业出版社, 20046Marco Pistoia,Nataraj Nagaratnam等. 企业级Java安全性: 构建安全的J2EE应用M. 尹亚, 明喻 卫, 严进宝译. 北京: 清华大学出版社, 20057谢新洲, 郑幼智. 中外网上书店比较研究-以当当网上书店与亚马逊网上书店为个案J. 综述与述评,2005, 28: 203-2198张新明. 销售型B2C网站存在的问题及建议J. 中国管理信息化, 2010, 13: 113-1199 潘超. 从当当与卓越展望我国网上书店前景J. 合作经济与科技, 2009. 4: 106-11010 William Crawford, Jonathan Kaplan. J2EE Design PatternsMOReilly,2003.911 Rod Johnson ,Juergen Hoeller. Expert One-on-One J2EE Development without EJBM. Wiley Publishing, Inc. 2004. 3112 Yuhua Qian, Chuangyin Dang, Jiye Liang. Thinking in Java M. OReilly, 199813 Jayson Falkner, Kevin Jones. Servlets and Java Server PagesM. The J2EE Technology Web Tier. Addison Wesley, 2003Design and Implementation of the On-line Book Shopping SystemStudent Name:Wang Tingting Tutor:Pang JifangAbstrct This paper designs and implements the On-line Book Shopping System, by analyzing the current shopping status and system requirements,the system include foreground On-line Book Shopping subsystem and background management subsystems.Foreground On-line Book Shopping subsystem mainly includes: book browsing and query, shopping cart management, my order models,and management subsystem includes book management, order query two modules. The tools used during the system development include JSP, TOMCAT, Oracle, JavaScript, Css and Hibernate.Key Words: On-line Book Shopping System, User, Shopping Cart, Order