基于JavaWeb的图书销售系统的设计与实现..doc
- 文档编号:30815433
- 上传时间:2024-01-30
- 格式:DOC
- 页数:63
- 大小:3.78MB
基于JavaWeb的图书销售系统的设计与实现..doc
《基于JavaWeb的图书销售系统的设计与实现..doc》由会员分享,可在线阅读,更多相关《基于JavaWeb的图书销售系统的设计与实现..doc(63页珍藏版)》请在冰豆网上搜索。
目录
摘要 II
Abstract III
第一章绪论 1
1.1研究背景 1
1.2研究现状 1
1.3研究目的与内容 4
1.4设计目标及论文结构 4
第二章系统分析 6
2.1业务需求 6
2.2需求分析 8
2.3可行性分析 9
2.4本章小结 9
第三章系统总体设计 10
3.1架构设计 10
3.2功能模块设计 10
3.3数据库设计 11
3.4接口设计 14
3.5安全性设计 14
3.6本章小结 14
第四章系统详细设计 15
4.1对象设计 15
4.2交互设计 16
4.3功能模块设计 18
4.4本章小结 25
第五章系统实现 26
5.1功能实现 26
5.2本章小结 36
第六章系统测试与结果 37
6.1测试计划 37
6.2测试与结果分析 37
6.3本章小结 43
第七章总结和展望 44
7.1总结 44
7.2展望 44
参考文献 45
附录 46
致谢 57
II
摘要
基于JavaWeb的图书销售系统的设计与实现
摘要
传统书店的空间有限,能够存放的图书有限,而网上图书销售系统解决了空间不足的问题并且能够跨地域购买图书,不受限制。
而且以网络作为传播图书的平台,成本较低但效果却十分有效。
电子商务的稳定发展为图书销售系统奠定了基础,系统通过采用JavaWeb作为开发平台,后端采用Servlet辅以前端采用的JSP技术,再以MySQL作为后台数据库完成系统的设计与实现。
本系统主要为用户提供会员注册,用户个人信息修改,图书搜索,分类查看图书,热卖推荐,购物车管理以及支付等功能,为管理员提供了图书管理,订单管理以及下载历史榜单等功能。
主要的开发流程为:
对系统进行分析,并对系统的整体架构以及功能模块进行设计,然后据此进行详细的设计并实现,最后进行系统测试来确保系统的可行性。
关键词:
JavaWeb;MySQL;图书销售系统;电子商务
27
Abstract
DesignandImplementationofBookSalesSystemBasedonJavaWeb
Abstract
Traditionalbookstoreshavelimitedspaceandcanstorelimitedbooks,whileonlinebooksalessystemsaddresstheproblemofinsufficientspaceandtheabilitytopurchasebooksacrossgeographieswithoutrestrictions.Moreover,theuseoftheInternetasaplatformfordisseminatingbookshasalowcostbutisveryeffective.
Thestabledevelopmentofe-commercehaslaidthefoundationforthebooksalessystem.ThesystemadoptsJavaWebasthedevelopmentplatform,theback-endadoptsServletandtheJSPtechnologyadoptedbythefront-end,andthenusesMySQLasthebackgrounddatabasetocompletethedesignandimplementationofthesystem.
Thestabledevelopmentofe-commercehaslaidthefoundationforthebooksalessystem.ThesystemadoptsJavaWebasthedevelopmentplatform,theback-endadoptsServletandtheJSPtechnologyadoptedbythefront-end,andthenusesMySQLasthebackgrounddatabasetocompletethedesignandimplementationofthesystem.
KeyWords:
JavaWeb;MySQL;BookSalesSystem;E-commerce
第一章绪论
第一章绪论
1.1研究背景
电子商务伴随着IT技术的成熟而日益发展迅速,并且在成为网络经济重心的路上稳健发展。
在其发展过程中让人们逐步意识到在线购物的无地域限制且安全方便的优势,从此,各类用品争相以电子商务的形式进入大众的眼帘。
其中,图书是人们生活中必不可少的一部分,将书店放到电商平台有很多好处。
首先,作为热爱学习读书的人群来说,很多人为了买书去书店挑选,虽然书店都有分类,但是依旧耗时较多并且价格较为昂贵,但在电商平台能够节省很多寻找的时间并且价格不固定,经常会有促销活动。
其次,有些书因为刚上架,火爆的销量会导致书店暂时缺货,这个时候会使得一些兴致勃勃来买书的人们白跑一趟,并且由于补货时间不定,无法及时知道何时能够买到该书,但在电商平台不会出现这种情况。
因此,开发一个基于JavaWeb的图书销售系统以供人们买书,使生活更为方便快捷[1-3]。
当然,电子商务的存在也不是万能没有缺陷的;拍摄出来的东西和实物一定是有所不同的,并且在快递运输途中,可能会因为包装不够稳固导致图书的损坏。
对于图书销售系统来说,图文不符尚可避免,但是书籍易损坏是个需要在发展的过程中极力避免的,在不段发展过程中稳中求进。
1.2研究现状
随着互联网的快速发展,电子商务(下文简称“电商”)已经逐渐成为了潮流,不仅因为它实现了足不出户就能买到心仪图书,而且能够省去货比三家的时间。
纵观国内外成功的电商案例,外有亚马逊,内有淘宝京东等,都让新兴产业意识到电商的可发展性以及可能性。
书籍一直伴随着人类社会发展并且必不可少,因此把书籍作为电商网站的发展对象,不可限量。
1.2.1国内研究现状
国内的图书销售系统大致有这几类:
①以传统线下的新华书店为依托组件的图书销售系统,书目种类等都与线下保持一致;②一些出版社建立的图书销售系统;③一些企业拓展业务开发创办的销售系统,例如当当网等。
在图书销售系统发展的初期,遇到了各种问题,主要是配送和支付方面的问题,早年的电子商务并不如现在智能方便,而且更多人不愿意去相信网上银行,于是出现了新的方式去支撑图书销售系统的发展,选择采用了货到付款的方式,不仅可以到货检查图书质量,如果有破损可以选择拒收,让商家重新发货,而且也打消了消费者对交易安全性方面的顾虑。
然后随着发展的逐步稳定,又有着亚马逊的成功案例,人们开始认同图书销售系统,并且在网上支付的发展日益安全的情况下,更加便利了消费者。
从数据的角度分析,国内的许多学者都认为网络的便利逐步改变了人们购书的习惯,早先在2007年一些学者就表示网络销售目前已占据整个图书市场的5%且在五年之内很有可能上涨至20%到30%。
据了解,2013年上半年当当和京东闹出了图书价格战,且通过这一价格战给当当网和京东做足了营销效果,当当网、亚马逊和京东的书籍销量占非教科书市场销量的95%,可以说是成功扩展了网络销售业务;更甚,2018年亚马逊的年销售额已经达到了2329亿美元。
亚马逊当然网上销售系统的崛起无疑对传统书店来说面临了瓶颈以及生存挑战,不过虽然网上图书销售系统十分方便快捷,但是也依旧存在很多喜爱自己去书店挑选的读者,因此可以将传统书店和网上图书销售系统结合经营。
1.2.2国外研究现状
世界上第一家网上图书销售系统是美国于1991年成立的,1994年亚马逊在西雅图正式成立并在第二年的7月,美国线下最大的连锁书店——巴诺书店也正式成立了网上图书销售系统,与此同时,美国一些其他有名的书店也纷纷创办网上图书销售系统,截止2018年7月19日,《财富》世界500强排行榜,亚马逊位列18位,同年的12月18日,世界品牌实验室编制《2018世界品牌500强》揭晓,亚马逊排名第一位。
亚马逊如今已经成为众所周知并且是全球最大的网上图书销售系统。
它的成功发展不仅带动了美国的电子商务发展,让更多传统书店有信心开设这样一个网上图书销售系统,而且推动了世界各国,尤其是欧美经济发达国家建立图书销售系统。
例如英国的因特网书店、字母街书店;德国的由贝塔斯曼出版的图书销售系统等等,都成功创办并创下了庞大的销售额。
1.2.3技术调研
Java技术是1995年5月由Sun正式发表的,它是一门面向对象的语言,从每年最热门的编程语言排行榜可以看出,Java的排名可谓是起起伏伏但是最终发展成为全球第一大通用开发平台,绝大部分的计算机行业公司都采用Java作为编程语言,并且也被越来越多的国际技术标准化组织所认同。
而JavaWeb技术是在1999年由Sun公司推出的[4-5],随着它的迅速推出,在开发应用这方面添上了浓墨重彩的一笔。
JavaWeb的开发主要采用的是Servlet和JSP相结合的方法[6-8]。
首先,Servlet有两种理解方式,一般情况下,人们通常更倾向于将Servlet理解为是任何实现了这个Servlet接口的类。
作为JavaWeb另一个核心技术JSP,究其根本,它就是一个简化的Servlet设计。
JSP的编码规范类似传统的HTML,但是它又可以在HTML中写Java代码,并且能够获取到从服务器传来的数据。
不论是Servlet还是JSP都有其特色方法去实现甚至是完善系统,因此开发过程中需要运用到以下这些技术:
(1)分页
图书销售系统中罗列了数以万计古今中外的图书,在挑选购买图书的过程中,如果遇到中途不想挑选但又想下次接着挑选的情况下,将这些图书罗列在一页显然无法满足这样的需求,JavaWeb中有这样一个特色方法——分页,它帮助系统将繁多的图书分成每一页都有固定数量,改善了用户体验并且设计更为美观[9]。
(2)文件上传
绝大部分人都使用过图书销售系统,吸引买家购买的一大要素就是图文并茂,冗长的文字简介也许能让人们更好得了解这本书籍,对于有明确目标购买书籍的人来说,这不为是个增强买家购买欲望的好方法,但是对于那些没有明确目标的买家来说,图片显得尤为重要。
人人都喜欢欣赏美好的事物,美观的图片是一定会吸引买家的,而吸引就表明离购买只是一步之遥,因此图书销售系统不可或缺的一个功能就是文件上传,通过上传图片文件,让系统界面更为生动[10]。
(3)JSTL
JSP是由静态HTML和一些Java代码构成的,在JSP传递数据的过程中,过多的Java代码使得代码设计极为冗余,人们在开发的过程中可以发现这些语言在不断升级,之所以这样的原因,就是为了让未来的开发能够带来更为优雅的编程体验,JSTL解决了在JSP页面代码冗余的问题[11],并能够在各种Java集成开发环境中轻松搭建web项目,一定意义上简化了开发。
而且它通过为程序和服务器提供一致的接口来极大程度上提高了代码的可移植性。
1.2.4工具调研
(1)Eclipse
Eclipse是开放源码和基于Java的可伸缩开发平台。
,虽然陆续也推出了一些优秀的可供Java开发的平台,但是Eclipse的使用率在近几年还是遥遥领先,在开发的过程中难免会遇到报错,在Eclipse的console平台上可以看到错误异常,并且提供了针对性的错误异常处理方法[12],方便开发者快速找到出错点,并且根据处理方法能够对症下药。
Eclipse还有许多快捷键,例如快速导包,提示信息以及一键生成构造函数等快捷键,省时省力也不容易出错。
(2)VisualStudioCode
前端设计界面的工具有很多,类似HBuilder、Dreamweaver等等,VisualStudioCode是2015年4月30日由微软公司开发的,集成了所有代码编辑器所具有的特性,并且去其糟粕取其精华,还拥有对Git的开箱即用的支持。
它具有语法高亮,括号匹配以及代码片段收集的功能,并且运行效率极高,不会卡顿,这是其他软件所欠缺的,尤其作为一个学习编程时间较短且开发经验较少的学生来说,一个能够快速上手使用并且高效的软件尤为重要。
前端开发JSP过程中会运用到JQuery框架去美化网站[13],省去了不少自我构思的时间,缩短开发的时间。
(3)MySQL
MySQL是一个关系型数据库管理系统,在web开发的过程中,需要后台和数据库进行交互[14],因此数据库软件必不可少。
MySQL将数据保存在不同的表中而非全部放在一个大仓库中,这样就提高了灵活性,尤其MySQL是个开源软件,所以很适合学生开发中小型网站。
学习MySQL的成本较低,基本的CRUD容易学会。
而开发图书销售系统中,为了方便用户快速查询到目标图书,模糊查询功能必不可少,并且实现这一功能需要运用到SQL语句[15],因此MySQL的使用必不可少,且和Eclipse开发过程中相辅相成。
1.3研究目的与内容
电子商务的便利在随着发展的过程中凸显出来,许多企业纷纷效仿建立网上图书销售系统,但是大多呈现效果并不尽如人意,这也是国内面临的问题:
如何在有着亚马逊这样一个优秀先例的前提下,去提供一个更为人性化,服务更好的图书销售系统。
因此本设计在拓宽电子商务的开发空间方面非常重要。
主要表现体现在:
1经营不受时间和地域的限制,降低了成本
网上图书销售系统相较于传统书店来说大大降低了成本,传统书店存在店面位置选择是否能够带来足够的人流量问题以及租下店面的各种开销;而网上销售系统不受地域限制,且没有多余的开销,是一种全新且优秀的销售途径。
2方便购买
目前的网上图书销售系统都是通过B2C的方式出售书本。
读者可以更方便且花费更短时间去寻找自己感兴趣的图书;传统书店的弊端在于寻找图书花费时间长且不一定存在货源,可能需要读者去一家家书店寻找,这样不仅浪费时间也耗费了读者的精力,有时还无法满足自己的需求,通过网上图书销售系统,只需要一部联网的手机或一台联网的电脑,就可以快速寻找到自己想要的图书。
因此,为了能够扩大市场的同时又降低成本且方便读者寻找购买的图书销售系统成为了众多传统书店的选择。
一个功能完善且用户界面友好,再加上性能良好的网上图书销售系统成为了主流并具有重大意义。
为了创建出实用便利的图书销售系统,本人对本系统创建所需要运用到的技术进行了深入的研究和实践,主要研究前端的HTML+CSS设计与实现,后端JavaWeb相关理论技术研究,数据库设计和系统整体架构设计,以及系统功能测试等方面。
1.4设计目标及论文结构
1.4.1设计目标
本系统设计目标是一个基于JavaWeb的图书销售系统,主要采取Servlet+JSP技术,完成在线购物的功能,该系统主要功能有登录注册,邮箱激活,模糊查询,购物车,后台管理等功能。
同时通过该系统的开发,掌握JavaWeb,掌握Eclipse、MySQL、VisualStudioCode等系统开发相关工具,提高编程能力和查阅文献的能力。
具体设计的功能模块如下所示:
(1)用户模块
系统用户主要分为游客,会员和管理员三种,登录后享有不同的权限和操作。
(2)身份验证模块
包含有登录验证,注册验证,验证码验证,邮箱激活,修改密码等功能。
(3)查询模块
图书分类,模糊匹配查询,精确查询以及多条件查询,帮助用户快速找到目标图书。
(4)图书模块
游客可以分类查看图书信息并且分页显示图书,会员能够在查看图书信息的同时进行加购,管理员对图书进行上架,修改以及下架等操作。
(5)购物车模块
会员可以对加入购物车的图书数量进行增减;填写用户的姓名、地址以及联系方式;查看订单编号以及支付情况;对未支付订单进行安全支付;管理员查看订单信息以及支付状态。
(6)榜单推荐模块
根据一周内的有效销量,为用户提供热卖推荐;爬取豆瓣网图书TOP25并展示在本系统页面;管理员可下载历史销售记录以及精确查找榜单记录。
1.4.2设计论文结构
第一章,绪论。
主要是关于课题的研究背景、研究现状、研究目的与内容、以及系统设计的目标等,主要是向读者介绍一下通过分析该课题的研究意义,然后完成该课题所要达到的目标。
第二章,系统分析。
主要是对系统的业务分析、需求分析和可行性分析。
通过参考一些书籍对网上图书销售系统的业务需求以及已经成功的系统的概况总结从而完成本系统的分析。
第三章,系统总体设计。
主要是对设计系统的整体架构以及功能模块、数据库设计、接口设计和安全性设计。
通过架构图、
第四章,系统详细设计。
主要是分析归纳出主要对象画出类图进行对象设计,明确类之间的交互作用进行交互设计以及功能模块设计。
第五章,系统实现。
主要是在开发过程中对系统采用了配置以及具体的功能实现(关键代码和截图)。
第六章,系统测试。
主要是描述测试计划和测试结果的分析。
第七章,结束语。
主要是对本系统的一个总结和展望。
第二章系统分析
第二章系统分析
上一章绪论主要描述了课题的研究背景、研究现状以及研究的目的和内容,这一章节主要是在开发前对系统进行合理的分析,规避可能出现的一些错误,从而简化后续开发过程中不必要的问题。
2.1业务需求
图书销售系统主要是用来实现用户在网上找书、买书以及生成订单等功能,一个常规的图书销售系统一般都需要实现用户登录注册、用户信息的修改、图书信息的查看、购物车图书的管理、还有订单处理等前台功能模块;而管理员拥有对图书进行管理,订单管理,下载历史榜单等后台功能模块。
1前台功能模块
前台功能如下,用例图如图2.1所示。
(1)新用户注册。
为游客提供注册功能,填写正确格式的注册信息并提交后,提示注册成功然后进行邮箱激活,激活成功后跳转到登陆界面进行登陆。
(2)用户登录。
已注册过的用户进行登录,登录过后可以执行修改个人信息,管理购物车,查看订单,支付订单等操作。
(3)查看图书信息。
用户可以选择想要查看的图书,查看到具体的介绍和价格等信息。
(4)图书搜索。
用户可以根据关键字进行模糊查询想要的图书,如果不输入任何关键字则能够查看到所有图书的信息。
(5)图书分类。
用户可以依据自己喜欢的类别的图书进入该类别的图数列表进行查看。
(6)图书推荐。
推荐用户在一周内销量最高的图书以及豆瓣评分排名TOP25的图书。
(7)购物车管理。
用户可以将自己心仪的图书加入购物车并选择购买或继续加购,最终都可以在购物车中购买并支付。
(8)订单支付。
用户可以进入订单页面进行查看个人订单并进行支付。
(9)订单删除。
用户可以进入个人订单页面进行删除没有支付过的订单。
(10)个人信息管理。
用户可以进入个人信息界面查看个人信息并进行修改。
图2.1前台功能用例图
2后台功能模块
后台功能如下,用例图如图2.2所示。
(1)后台登录。
为管理员提供登录功能。
(2)管理图书。
管理员能够查看图书的具体信息,上架图书,下架图书以及修改图书信息等。
(3)模糊查询图书。
管理员能够通过图书的名字或价格区间或分类等进行模糊查询图书。
(4)管理订单。
管理员可以查看所有用户订单的详情,以及删除订单的操作。
(5)下载历史榜单。
管理员通过选择时间段来下载该时间段各类书籍的销量,并按照销量优先进行排序。
图2.2后台功能用例图
2.2需求分析
需求分析是开发系统过程中必不可少的一部分,因为只有明白他人的需求,才能知晓系统开发的正确方向而省去一些不必要的错误和麻烦,可以说,需求分析为开发一个优秀得系统奠定了良好的基础。
2.2.1功能需求分析
一个完整的系统由各个不同的功能模块组合而成,通过上节的业务分析能够分析得到系统具体有哪些功能,对这些功能模块的进一步分析才能更好完成系统的开发。
本系统的主要功能模块包括:
1用户模块
系统用户主要有:
游客,会员和管理员这三种,登录后享有不同的权限和操作。
2身份验证模块
包含有登录验证,注册验证,验证码验证,邮箱激活,修改密码等功能。
3查询模块
图书分类,模糊匹配查询,精确查询以及多条件查询,帮助用户快速找到目标图书。
4图书模块
游客可以查看图书信息,但是不能将图书加入购物车,只有注册或登录会员账号才能够进行加购,管理员对图书进行搜索,上架,修改以及下架等操作。
5购物车模块
会员可以对加入购物车的图书数量进行增减;填写用户的姓名、地址(可实时定位)以及联系方式;查看订单编号以及支付情况;对未支付订单进行安全支付;管理员查看订单信息以及支付状态可以进行订单删除。
6推荐模块
根据一周内的有效销量,为用户提供热卖推荐;爬取了豆瓣网图书TOP25并显示推荐在系统页面;管理员可下载历史销售记录以及精确查找榜单记录。
2.2.2非功能需求
如果说功能因素构成了一个系统的主体,那么非功能因素则决定了一个系统是否能够投入使用,通过对系统的性能分析,安全性分析以及开发环境分析,从而打造真正完善的系统。
(1)性能分析
本系统的开发支持Windows操作系统以及iOS系统,满足市场上大部分用户的电脑系统,在运行的过程中,响应速度较快,不会出现程序未响应的情况。
(2)安全性分析
通过采用验证码和邮箱激活的方式来确保系统的安全性。
(3)开发环境分析
本系统是基于JavaWeb进行开发的,并且采用MVC作为设计模式,MySQL作为数据库进行交互。
主要采用的是Servlet和JSP相结合的方法。
2.3可行性分析
上节内容讲述了开发系统的需求分析,在分析完需求以后就该考虑所设计的系统是否能够完成开发,对本人所学的技术,经济以及操作方面进行分析,从而判断系统开发的可行性。
2.3.1技术可行性
本系统采用的是JSP、Servlet、MySQL进行开发后台,VisualStudioCode进行前台页面设计,采用C3P0连接池和后台数据库进行连接。
在项目搭建方面采用MVC框架模式,此开发模式技术目前已经相当成熟,所以在技术方面不存在任何问题。
2.3.2经济可行性
本系统属于个人开发,非商业软件,所以不需要任何人员费用、软件费用、测试费用以及运行维护费用。
2.3.3操作可行性
本系统对计算机硬件要求不高,目前绝大多数计算机都可以对本系统进行运行调试,而且运行本系统不会对原来的计算机设置等做很多改变,只需要配置环境变量即可使用,易学易用,因此具有操作可行性。
2.4本章小结
本章通过对系统的业务、需求以及可行性进行多方面的分析,得出适当的开发系统的需求,并且在分析的过程中一点点整理出能够改善系统的容错性以及用户界面友好的问题的应对措施。
由于考虑到自身的知识水平、能够阅读文献并实施的能力以及经济状况,采用的都是免费开源且方便上手操作的技术,不足之处都会在在之后的系统设计过程中不断尝试并找到应对方案。
第三章系统总体设计
第三章系统总体设计
系统总
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JavaWeb 图书 销售 系统 设计 实现