基于J2EE的图书销售系统的设计与实现终稿.docx
《基于J2EE的图书销售系统的设计与实现终稿.docx》由会员分享,可在线阅读,更多相关《基于J2EE的图书销售系统的设计与实现终稿.docx(35页珍藏版)》请在冰豆网上搜索。
![基于J2EE的图书销售系统的设计与实现终稿.docx](https://file1.bdocx.com/fileroot1/2023-4/27/fdac7826-4d29-4da1-8681-c7a408bf6927/fdac7826-4d29-4da1-8681-c7a408bf69271.gif)
基于J2EE的图书销售系统的设计与实现终稿
JIUJIANGUNIVERSITY
毕业论文
题目基于J2EE的图书销售系统的设计
与实现
英文题目DesignandImplementationofBook
SalesSystemBasedonJ2EE
院系信息科学与技术学院
专业计算机科学与技术
姓名曹春雷
班级学号A******
指导教师郭莉
二O一四年六月
摘要
网上图书销售系统,是一种较为流行、电子商务类的方式,也是电子商务的一个缩影,目前,市场上服务于图书销售的系统,种类繁多。
本系统是采用J2EE开发;通过对系统的研究,得到图书销售系统的需求,使用J2EE架构,开发一个比较完善、逻辑合理的图书销售系统。
本系统采用JAVA开发语言,系统后台数据库采用开源、操作简单的、性能优良的MYSQL数据库,实现一个是基于WEB、采用B/S模式的图书销售之系统。
本系统中主要功能有:
图书的在线展示功能、在线交易的功能、在线搜索的功能、客户在线服务的功能,还有系统管理员的相关功能等。
论文中说明了:
在线买卖图书的方式之优势、以及图书销售的发展趋势,通过对开发设计的网站进行分析、设计且实现的过程,论文中介绍了关于图书销售系统的详细内容。
关键词:
图书销售系统,电子商务,数据库
Abstract
Booksalessystem,Ithinkitisamorepopularwayofe-commerce,e-commerceisamicrocosm,currentlyonbooksalessystem,isreallyendless,thesystemIwasusingj2eedevelopment;throughmysystemthestudynotonlyunderstand:
howtousej2eeframeworktodevelopamorecomplete,logicalandreasonableonlinebooksalessystem,wherebyyoucanalsoextendtheideatodevelopasimilar,otherformsofelectroniccommercesystems.
SystemIamusingJAVAdevelopmentlanguage,back-enddatabasesystemIwasusingopensource,simpleoperation,veryeasytouse,MYSQLdatabase,therealizationofaWEB-based,withtheB/Smode,onlinebooksalessystem.Someofthemainfunctionofthesystemis:
Bookonlinedisplayfunction,thefunctionofonlinetransactions,onlinesearchfunction,onlinecustomerservicefunctions,aswellasrelatedfunctionssuchassystemadministrators.Iexplainedthepaper:
theadvantagesofonlinetradingbookapproach,aswellashisdevelopmentofthetrend,Ianalyzemywebsitedesign,designaswellasrealizationoftheprocess,Ihavedotheintroductionforeveryone.
Keywords:
BookSalesSystem,ElectronicCommerce,Database
1前言
1.1开发背景
图书销售系统是一种Online图书销售之平台。
由于全世界的经济境况全在逐步地一体化的发展还有深入,电脑IT技术还有网络技术的速度发展,但传统的卖书店面:
成本又高、规模又有限、书类有限,所有图书销售,个人认为走到了瓶颈的地段了,传统图书店面变得一点都不景气了;但网上图书销售的系统就不一样了,它有了传统卖书店面没办法比拟的优势,比如说吧:
不受时间、空间的局限、每天24小时的全天营业、还能在全世界的范围内的买卖等;并且此系统也用不着实体店面或者是偌大的销售路径,图书系统能通过在网上直接买卖、付钱、结算,减少了好多没必要的环节和花销,它又有方便快捷、成本很低、书类又多、样式又全的美称,因而就被消费者们喜欢。
就目前而言,在网上买卖书籍,已经是消费者们买卖书籍的重要手段了[1]。
市场上也已经有了很多很多的书籍买卖网站了,就拿我们大家都熟知的亚马逊来说吧,它也算是比较早的了,因为我们传统下来的实体店面,实际上已经有点跟电子化的发展脱轨了,也有点跟不上这个时代的发展了,所以才会有在线或者说是网上书籍买卖的途径出来,在中国、就在我们身边,也有差不多的网站,但是或多或少还是有点问题。
通过网上书籍买卖的话,用户能够在网上直接买下自己想要的书,还可以选择书到再付钱。
付钱的方式有2种选择:
网上支付、货到付款。
书籍的配送方式也有几种选择:
邮寄、快递、送货上门(本地)等,配送的时间也没有设计要求,这个由使用者来定。
总体来看,图书销售系统是能够符合市场上的书籍买卖需求的,接下来就要进入开发的实质了[2]。
1.2开发意义
就目前来说,在线书籍买卖,通过互联网能够实现的商用功能,都已经多样化了,从很基本的,让访问者能够在线查看书籍的功能、再到跟卖家的在线交流功能、在线买卖的功能、在线付钱的功能,还有就是管理员的管理功能等等,这样,所有传统的、实体店面的功能都可以搬到互联网上,来进行有效率的、符合电子化的操作。
与传统店面相比,这类系统有许多的优势[3]:
(1)在当今这个时代中,互联网不但给消费者还有企业,带来了很多的消费选择和买卖市场拓展的机会,而且还带来了非常密切的交流信心的场地,一方面让企业对市场还有消费者有了把握跟了解,另一方面,企业还用互联网最大化了竞争的地盘,企业家们从很常见的广告跟促销的竞争走上了互联网擂台。
(2)互联网店面,更改了企业们在比拼时的成本。
互联网店面拥用投下的成本很低、书类很全,再者说客户群体多方面的优势。
互联网店面更改了变动企业们比拼能力的基础,比如:
在传统店面销售路径中,大店面跟小店面之间的能力差距很大,但互联网店面,就能够把大店面跟小店面之间,因为店面规模值产生的竞争,变得基本上没有了[4]。
(3)由互联网店面的体验表明,如果互联网店面能够给顾客提供书类很全的、优惠诱人还有操作灵活的条件、还有稳靠的安全性跟友好美观的界面,买书籍者们表示:
一般都愿意在互联网上进行书籍买卖。
前景透视:
互联网图书店面必定会成为发展当中缺少不了的一部分,当然互联网图书店面的发展,也要更加的专业化跟高质量化。
那么就是说,图书销售系统要展示的可就不单单是在线查询跟购买这样的功能了,就要做到根据用户的需要跟爱好等全方面的因素,来促进系统的服务[5]。
1.3结构透视
全篇共有6章,如下:
第一章:
前言。
第二章:
可行性研究及开发工具与开发模式。
第三章:
需求分析。
第四章:
系统的总体设计。
第五章:
系统的实现。
第六章:
测试、分析与总结。
2可行性研究及开发工具与开发模式
2.1可行性研究
可行性分析也就是可行性研究,就是在调研的基础之上,对新系统的研究跟开发,能否具有必要性和可能性来进行进一步的深入,新系统想要成功开发完成,就要看从技术、经济跟社会等全方面来进行分析跟研究了,就是要尽最大地可能,来避免失败,要确保这个系统的顺利开发,还要开发成功。
这么说,可行性研究的目的呢,就是说要用最小的付出,在尽一切可能短的时间里,确定所有的问题,是否都能够解决。
2.1.1技术可行性
本系统采用MVC(Model-View-Control)模式设计,MVC设计模式是运用率高,且实用的一种设计模式,它是一个定位在服务器的表达层的模型,它将应用跟操作分开,从而降低各级应用之间的耦合度[6]。
给出图书销售系统中采用的MVC模式设计模型图,JSP负责数据的显示,且把用户数据及相关信息带给SERVLET处理,SERVLET业务逻辑处理并调用JavaBeans数据模型,得到封装好的数据实体,如果数据需要存储,则要调用数据库DAO接口对数据库进行操作。
动态数据显示进程:
先由SERVLET调用数据库DAO接口,从数据库中把数据取出,封装在JavaBeans实体中,经过SERVLET业务逻辑处理程序的处理后交给JSP页面显示,呈现给用户[7]。
JSP与SERVLET之间存在同步和异步数据传输,是保证数据动态显示的必要条件。
如图2-1所示。
经由以上的分析得知,图书系统的设计与开发,在实体模型设计和业务逻辑模型设计上是可行的。
图2-1MVC实现模型图
2.1.2经济可行性
网上图书销售系统的开发过程中使用了JAVA编程语言,数据库是MYSQL数据库[8],众所周知TOMCAT服务器是免费的、跨平台的,所以从开发地角度来看,使用TOMCAT开发的成本极低。
网上图书销售系统的运行过程中,略微统计了一下:
主要费用花销就在于网费和电费,这样看来投入是极少的,而且现在基本每个家庭都要用电,且绝大部分家庭里要用网,所以,这些经费都是在可接受的范围内,顾客们能够随时地登录系统,购买看中的书籍,为企业们和顾客们提供了方便[9]。
根据以上的分析能够得知,系统在经济上是可行的。
2.1.3社会可行性
该系统的社会可行性,那就主要从法律、用户使用这2个方面来研究。
(1)法律因素
系统是根据书籍买卖地实际情况来开发的,都是通过了分析、研究后得到,系统的设计完全是本人在独立地环境下完成的,是没有抄袭情况的一个系统。
(2)用户使用
系统的界面很简单且友好,使用者就很容易上手,可以适合各类用户群。
但对于开发者来说的话,做好前期地需求分析是必不可少的,还要通过不断地修证,直至图书销售系统完成。
但对于要使用这个系统之管理员来说,则需要拥有一定的TOMCAT服务器认识[10],除此以外,投放使用之前,完全不用给人员培训,如此的话就又减低了成本还简化了相关的环节。
分析至此得知,系统能够满足社会可行性。
2.2设计原则
为着系统的设计、实现,更是为了后期维护的方便,还有系统用户使用地便利,所以必须使用一套规则。
系统有如下设计规则:
(1)简单原则:
在设计系统的同时,要尽量让系统的操作容易化,对于一个系统来说,这点至关重要重要。
(2)针对原则:
就是要求系统的设计要针对图书销售的需求,要定向开发设计,因此具备蛮强的针对性。
(3)实用原则:
互联网图书销售系统,完全能够满足书籍交易的需求,因此拥有良好的实用性。
(4)一致原则:
要求页面整体地设计风格,命名规则必须符合一致性,整体页面排版、图色使用风格、变量、类名,其他元素之命名规则必须保持一致。
2.3系统开发工具与开发模式的选择
2.3.1系统开发工具
系统中主要使用了JSP技术,对销售系统进行设计和开发。
JSP技术拥有JAVA语言“一次编写,各处执行”,“安全性好、保密性高”等特点;JSP把逻辑处理、网页显示分开处理,这使得设计可以重复使用,即WEB开发变得快速且容易[11]。
请求访问JSP网页时,要先执行服务器中的程序段,再把执行结果跟JSP文件中的HTML代码一并返回给浏览器[12]。
SERVLET程序可以重新定向到网页,实现了动态数据的功能。
JSP与SERVLET一样,都是执行在服务器端,返回给浏览器的就是一个HTML文本,因此,客户端有浏览器就可以了,就能使用图书销售系统[13]。
使用MYSQL数据库来作为系统后台的数据库,MYSQL拥有强悍的功能,可以在互联网上发布数据。
在MYSQL系统中,使用者可以简单的来用一些向导或则工具来把数据发布在互联网,并且还可以根据个人的需要,修改自已己上传的数据。
MYSQL经历多年的累计,已经成为重要的数据处理数据库,也被各种项目地开发跟设计使用,因此,决定采用MYSQL数据库,来完成销售系统的设计。
2.3.2系统设计模式
B/S结构,也就是浏览器跟服务器的结构,是随着INTERNET技术的兴旺,用户界面完全使用3W浏览器就可实现,一小部分逻辑就放在前端实现,但主要逻辑出理还得在服务器端[14]。
B/S结构,主要是利用了慢慢成熟的3W技术,再结合浏览起的JAVASCRIPT技术,浏览器可以完成,以前需要非常复杂的软件才能实现的功能,一节约了开发成本,二是一种新的系统构造技术。
随着Windows把浏览器植入到了操作系统之中,此结构成为了,当今应用系统首选的体系结构。
B/S结构采用地是星形拓扑结构[15]。
2.4小结
这一章中,主要是从技术、经济、社会的三个方面,对图书销售系统进行了可行性研究,也归纳出了图书销售系统的总体设计规则。
此外,通过这章的研究还确定了适合销售系统、目前比较为流行地开发工具跟开发模式。
3需求分析
3.1功能需求
网上图书销售系统,顾名思义也就是通过互联网进行书籍的销售,图书消费者可以,不用走长远的路程去实体店面购买书籍。
传统图书店面的所有售书步骤,全都可以搬移到互联网上,图书消费者在家里,就都可以买到自己想要书籍。
会员登录了网上图书销售系统之后,可以看到,此系统中所有已有的书籍信息和价格,看到自已喜欢的书籍,会员就可以直接下订单购买,会员收到书籍之后,他们就可以对自己购买了的书籍进行评价了,当然还有对卖家服务的评价;非会员也就是未登录的浏览者,他们在系统上只能浏览图书的相关信息,不能享有下单购买的功能。
管理员用户有较高的权限,对各类的书籍进行管里(增删改查),比如:
修改书籍的价格,打折优惠活动等等;对评论模块进行管里,防止恶意评价,散播涉黄涉暴的言论信息;还有会员模块功能的管理,特色功能:
对与在规定的时间期内,一次都没有登录过系统的会员,要给予进行通告,通告期限内还为登录的给予删除。
功能模块简介:
(1)在登录本系统时,通过验证用户名、密码以及用户的身份,方可进入系统;
(2)会员可以修改个人信息,可以定制免费服务(新图书上架、打折优惠等通知服务);
(3)会员可以在收到图书后,可以登录系统对图书进行评价,也可以提出建议,在服务上有不满意的地方可以提出批评;如果对购买的图书不满意,可以申请退款;
(4)管理员可以修改个人信息,比如当有顾客下订单时,而管理员不在线上,系统会根据个人留下了的联系方式给予合适的通知;
(5)管理员可以对图书进行操作(增删改查),对会员进行操作,对于超过规定时间未登录的进行处置,还可以对顾客的退款申请进行审核,对符合要求的进行退款操作,否则不予退款;管理员还可以对图书的评价进行管理,防止非法言论及恶意评价。
相关业务流程,如图3-1所示。
图3-1业务流程图
3.2数据流图
数据流程:
数据在该系统中之产生、传输、加工、使用、保存的过程。
数据流程分析:
把数据在系统内部的流动独立起来,舍去它原有的机构、载体、处理工具、物质材料等,单单从数据流动过程中,来考查实际业务数据处理。
数据流程与数据流程分析,都是为以后构建数据库系统、功能模块设计过程的打下基础。
数据流程的描述工具是数据流程图,还有附带的数据字典、逻辑出理的图表。
数据流程图是用来叙述系统的逻辑模型的一种工具,它就是以几种符号,综合的反映出了信息在系统中的流动、保存跟传递。
基于业务流程分析的基础,对数据流做了一定的分析,从数据流动过程中,研究实际业务中的数据处理过程。
图书销售系统之数据流图可分为顶层、一层。
顶层数据流图,如图3-2所示。
图3-2顶层数据流图
继续分析第一层的数据流图,如图3-3所示。
图3-3第一层数据流图
3.3用例图
(1)浏览者(非会员用户);
浏览者可以浏览所有的书籍,也可以查看书籍的具体信息、价格等,还可以搜索自己想要购买的书籍,但是不可以下订单,下订单必须登录系统。
浏览者(非会员用户)的权限受到限制,不能购买图书,只能够浏览本系统中所有的图书、搜索图书。
如图3-4所示。
图3-4浏览者用例图
(2)会员;
会员可以登录系统,可以浏览查看所有的书籍,也可以下订单购买书籍,收到货之后可以确认收货,对于购买了的书籍可以评论;会员也可以修改自己的个人信息。
如图3-5所示。
图3-5会员用例图
(3)系统管理员。
系统管理员可以登录系统,对书籍进行添加删除操作,以及对会员的管理。
可以修改登录密码。
如图3-6所示。
图3-6系统管理员用例图
3.4小结
这一章当中,主要是介绍了图书销售系统的需求,通过业务流程图、数据流图,还有人员的用例图,清晰地反应了销售系统的工作流程。
详细的介绍了系统的功能需求和性能需求。
有了系统的明确需求,就更加容易了解图书销售系统。
4系统的总体设计
4.1功能设计
系统设计就是把软件的需求,转换成用系统实现的过程。
通过对本系统的分析跟研究,做出了图书销售系统的总体规划,这可是全方位系统开发的必要基础。
在对图书销售系统进行全方位的分析调查基础上,制定了销售系统的总体规划。
从数据流图开始,到对数据流图做一定分析,得出了层次化地模块结构图。
本系统中具有系统管理员登录、会员登录两个模块。
系统管理员登录就包括:
修改信息、图书管理、会员管理、评论管理,订单管理等;会员登录包括、修改信息、浏览图书、搜索图书和购买图书。
如图4-1所示。
图4-1管理员和会员功能模块图
(1)会员功能模块。
浏览图书:
会员可以浏览所有图书的信息;
购买图书:
查到了自己想要的图书时,会员可以选择购买;
评论图书:
会员收到图书后,可以对购买的图书进行评价;
搜索图书:
在主页上没有的显示的、会员指导书名的,会员可以直接搜索;
申请退款:
当对交易存在异议或则取消交易时,会员可以申请退款;
修改信息:
会员可以修改自己的个人信息。
(2)管理员模块。
图书管理:
管理员可以对所有的图书进行管理,增、删、改、查四大操作;
会员管理:
可以对现有的会员进行管理;
订单管理:
查看所有的订单,查看订单的详细信息;
评论管理:
列出所有的评论,对于非法评论进行删除;
退款管理:
在这里可以看到退款的信息,对于不合理的对款不予接受;
修改信息:
修改管理员的个人信息;
意见管理:
对会员提出的改进意见进行管理。
(3)数据库连接技术。
数据库连接是一种关键的、有限的、而且昂贵的资源,他承载着用户和服务器之间的数据交换的责任,这一点在多用户的网页应用程序中体现的尤为突出。
数据库连接用到的静态代码块技术,静态代码块有着:
只执行一次,永远存在内存中,没当进行连接时,都会执行内存中的静态代码块,在程序中又必须与数据库频繁的操作。
因此静态代码块技术是非常使用的一种技术。
在程序代码设计当中,静态代码块尽量少用,静态代码块从产生到程序进程结束,静态代码块的代码会一直存在电脑内存中。
因此,程序中如果存在大量静态代码块或着是大量的静态代码段,程序运行时,系统会占用大量的内存资源,给系统带来巨大资源耗损。
在程序设计当中,应当优化代码。
如图4-2所示。
图4-2静态代码块调用图
(4)内部操作逻辑:
会员在商品加入购物车时,购物车里会有对应的清单信息,但当会员点击了付款时,应该要产生一条订单记录,而且要把对应的购物车置为空,因为已经下点单付款。
会员购买图书时,把图书加入到购物车,程序后台处理时,对购物车处理进行判断。
如果该会员是第一次点击加入购物车,系统后台要为该会员生成一个购物车实体,并把会员点击加入购物车的图书加入到新建立的购物车实体中。
如果该会员已经存在未付款的购物车,则把会员购买的图书直接加入原有的购物车实体当中,并给出提示。
当会员点击查看购物车时,系统把用户购物车里的购物清单数据,全部封装成model数据模型实体,并交给JSP页面显示[15]。
当会员点击付款时,程序跳转到结账付款页面,列出改会员的所有购物清单,如果会员付款成功,则把该会员对应的购物车置为空。
如果会员没有付款,或者付款不成功,则程序对购物车不做任何处理,向会员提示错误信息。
如图4-3所示。
图4-3会员付款展示图
当管理员在后台对会员下的订单进行发货处理之后,会员再查看自己的订单时,点单的状态应该改变为(已发货),而且不允许会员取消订单。
如图4-4所示。
图4-4管理员操作订单展示图
4.2数据库设计
数据库是一个系统的核心跟基础,数据库设计的好坏,直接影响了整个系统质量。
数据是所有系统设计的基础,换句说,数据库设计那就像是大厦的地基一样,如果数据库设计地不合里、不完善,那么在系统的开发过程之中,有可能在后期的系统维护中、功能变更或者功能扩充时,那就会引起一系列的问题,严重到一个地步时,甚至要重写系统,重做大量的已完成工作。
4.2.1E-R图设计
通过数据分析,得到系统中主要实体属性图。
(1)系统管理员实体属性图,属性:
编号,用户名,密码,联系方式。
如图4-5所示。
图4-5系统管理员实体属性图
(2)会员实体属性图,属性:
会员名,密码,级别,收货人,收货地址,联系方式。
如图4-6所示。
图4-6会员实体属性图
(3)图书实体属性图,属性:
编号,图书名,类别,价格,活动类别。
如图4-7所示。
图4-7图书实体属性图
(4)折扣实体属性图,属性:
编号,活动类别,折扣数,折扣日期。
具体折扣由管理员管理。
如图4-8所示。
图4-8折扣实体属性图
(5)订单实体属性图,属性:
订单号,下单日期,会员名,购物车号,付款方式,付款状态,实付款,收货人,收货地址,联系方式。
当会员把选择的图书加入购物车后,会员点击了付款操作,则后台程序在后台产生一条订单记录,把该会员的所有购物清单信息加入订单记录信息中。
管理员此时可以对该订单进行管理,发货后把订单该为已发货状态。
如图4-9所示。
图4-9订单实体属性图
(6)购物车实体属性图,属性:
编号,会员名,图书名数组,购买数数组。
如图4-10所示。
图4-10购物车实体属性图
(7)评论实体属性图,属性:
会员名,图书名,日期,内容。
如图4-11所示。
图4-11评论实体属性图
E-R图的组成元素一般有:
实体、属性、联系。
实体也就值是系统工作环境中所涉及到的事务,属性那就是对实体特征的叙述。
(1)模型中的实体就是对应实体集或一个表,就不是单个的实体或是表中的一行了。
实体是以矩形框来表示的,实体名称要标注到矩形框的内部。
要以菱形来表示实体之间的联系,菱形框内部写上联系的名称,再用无向边分别把菱形跟有关实体连接起来,最后在无向线旁标上联系之类型;
(2)属性也就是实体的性质。
用椭圆框来表示,与实体之间以直线连接;
(3)然而子系统模块之间,相同的主键之字段间有着相互关联的联系;
(4)在程序中要控制他们的完整性跟一致性。
从数据需求分析中,得到了系统中实体属性图,要遵循第三范式,对实体间存在的依赖关系进行整理,得到系统E-R图。
如图4-12所示。
图4-12系统E-R图
说明:
图中用矩形来表示实体。
关系用菱形表示,无向边讲菱形与实体连接,再在边上标明各联系的类型。
4.2.