基于Struts框架的网上书店毕业设计说明书文档格式.docx
- 文档编号:16749251
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:33
- 大小:1.75MB
基于Struts框架的网上书店毕业设计说明书文档格式.docx
《基于Struts框架的网上书店毕业设计说明书文档格式.docx》由会员分享,可在线阅读,更多相关《基于Struts框架的网上书店毕业设计说明书文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
Inthisarticleonlinebookstorethroughoutthedevelopmentprocess(Includingrequirementsanalysis,systemdesign,detaileddesign,systemtesting,etc.)arediscussedindetail,andinarchitecturedesignandimplementationofprogramsontheconsiderationgivenandthetheoreticalbasis.Systemtoachievethemainfeaturesinclude:
frontdeskoftheuserregistrationlogbookinformationqueryandbrowsing,shoppingcart,orders,etc.,thebackgroundofthelibrarymanagement,usermanagement,ordermanagement.ThesystemusestheB/Sstructure,threeoperatingmodes,bothforIntranet/Internet.Browserasthefirstlayer,theapplicationinterfaceasasystem;
applicationlogicservicesforthesecondlayer;
datalinkforthethirdlayer,asthesystem'
sdataaccessservices.Thisarchitectureisnoneedtoinstallclientsoftware,easysoftwaredistributionandmaintenanceupgradestoadapttomanyapplicationsdistributedenvironment,theclientoperationandmaintenanceneeds.
Keywords:
Onlinebookstore;
Java;
Struts2;
object-oriented
1系统概述
1.1网上书店的发展
Internet的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动.实际上,电子商务是一些商业行为的电子化,例如网络书城,网上贸易,就网络书城来说,网络书城是目前应用最广,最成功的典范之一,网络书城的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。
1.2网上书店的现状
出版物网上销售不仅是传统销售渠道的发展和补充,也是未来图书销售的发展方向目前我国运作和销售较好的大型网上书店,如当当、卓越和旌旗席殊、中国书网网上书店等,这些网上书店各具优势,其中当当网上书店在价格和品种方面的优势是无人能比;
卓越网上书店创造流行的能力比较强;
旌旗席殊网上书店的优势是网点多,覆盖面广。
在国外,影响较大的网上书店有美国的亚马逊,德国的贝塔斯曼和英国的因特网书店。
其中亚马逊网上书店在1998年拥有450万名顾客,到2002年有将近32亿人网上购书,销售额达到了78亿美元。
1999年英国的20亿英镑图书总销售额中,网上销售占5%。
英国书业界人士分析,未来英国的网上售书将成为图书销售渠道中的主要渠道。
1.3网上书店的优势
(1)网上书店挤压盗版空间
网络书店的兴起无疑给盗版商以有力的打击,因为发达的网络可以直接疏通图书的发行渠道,缩短了网上购书者与出版社的距离,给图书消费者以清新、便宜的享受。
(2)网上书店浓缩了图书的库存空间
传统图书店内的图书摆放面积是有限的,每增加一本书其成本都在以一定比例增加,而网络书店解决了存储空间问题,每增加一本书成本增长几乎为零。
(3)数量、种类多,出版时间跨度大
综合性的网上书店涉及各种各类内容的图书,提供订购的书目信息达上万、几十万条,而图书出版的时间有最新出版的,也有几十年前的,这是传统书店难以做到的。
(4)不受时间、地域限制
网上书店是24小时向全球各地的用户提供网上服务的,用户借助网络可以漫游于世界各地的图书海洋中,随时选书、下订单。
(5)多途径综合检索
网上书店主要提供分类和自定义搜索的方式对图书进行查找。
(6)个性服务
网上书店不只单纯销售图书,还充分发挥网络优势,提供丰富多彩的个性化服务,满足读者特定的需求。
网上书店开设的如新书推荐、畅销书排行、读者评论、作者访谈、专家点评等栏目,既使读者把握全方位的图书信息,又可使其利用网络公告版同图书的作者及其他读者进行在线讨论、交流心得体会,并根据他人的书评来协助选书。
2系统开发技术
2.1MVC模式简介
MVC是Model(模型)——View(视图)——Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。
在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。
模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。
因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。
视图是MVC模式下用户看到的并与之交互的界面。
视图从模型处获得数据,视图的更新由控制器控制。
视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。
MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。
控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。
MVC的处理过程是这样的:
对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。
如下图所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:
图1MVC模式
2.2Struts是实现MVC模式的框架
设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。
设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案。
Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。
模型通常由JavaBean或EJB组件实现,负责处理业务逻辑;
视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;
在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;
Struts包括Web.xml和Struts—config.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts—config.xml是与Struts相关的特殊信息配置的描述文件。
3需求分析
网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。
一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。
3.1可行性分析
开发任何一个基于计算机的系统都会受到时间和资源的限制。
因此在开发软件项目之前,必须根据可利用的时间和资源等条件进行可行性研究。
可行性研究工作的主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否具有开发的可行性。
(1)技术可行性:
本网站严格按照MVC设计模式来开发,采用JSP、Struts2、Spring和Hibernate等一些JAVAWeb相关技术实现。
Java语言是一种优秀的编程语言。
它最大的优点就是与平台无关,在Windows、Linux以及其它平台上,都可以使用相同的代码。
“一次编写,到处运行”的特点,使其在互联网上广泛采用。
JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。
除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
(2)经济可行性:
选择图书做本购物系统的主打商品,因为图书属于折扣大利润丰厚的商品,而且网上书店不需要门面等成本开销,故大大降低其价格。
加之传递方便、耐存储,故网上卖书具有比传统书店更大的成本优势。
有较大的客户群,本网站的商品主要为各类教材,销售对象主要是学生,故存在很大的市场。
3.2系统需求分析
通过对系统的分析及对其他网店的参考,基本确定了“网络书城”的基本功能以及基本性能的基本需求。
3.2.1功能需求
这方面的需求指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能。
(1)图书查询:
当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者名称快速查询所需书目信息的功能。
(2)购物车管理:
当客户选择购买某图书产品时,应该能够将对应图书信息,例如:
价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。
(3)订单处理:
对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。
(4)会员注册:
为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关信息。
3.2.2性能需求
指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的要求。
(1)用户在客户端点击存在服务器中的主页时,系统能快速响应。
(2)在安全性方面,Java程序要满足客户传输信息的基本安全。
3.3数据流程分析
3.3.1顶层数据流图
说明:
未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。
系统顶层数据流图如下图所示。
图2系统顶层数据流图
3.3.2第一层数据流图
前台购书和后台管理。
根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第一层数据流图。
(1)前台购书
用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交订单,等待订单的处理结果。
系统第一层数据流图(前台购书)如下图所示。
图3系统第一层数据流图(前台购书)
(2)后台管理
管理员可以登录到后台,查看相关的订单信息,然后修改订单的信息,主要是审核订单的有效性。
系统第一层数据流图(后台管理)如下图所示:
图4系统第一层数据流图(后台管理)
3.3.3第二层数据流图
用户登录处理。
为保证数据的有效和客户的管理,系统必须登录后才能进行购买图书的相关操作,登录是系统安全和数据有效性验证的第一部分。
系统第二层数据流图(用户登录)如下图所示:
图5系统第二层数据流图(用户登录)
4系统总体设计
4.1系统设计目标
本系统设计的目标是提高软件的质量与生产率,最终实现软件的工业化生产。
质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。
生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。
质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。
如果质量不合格,对供需双方都是坏事情。
从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。
从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。
质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。
4.2系统模块设计
4.2.1系统结构设计
系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。
网上书店不是一个简单的概念,它包含了许多个内容,是由多个页面组成的一个整体的系统。
(1)在操作性方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。
(2)在系统开放性方面,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适用今后其他人的借鉴需求。
(3)在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,具有完善的系统和数据安全的保障体系。
根据MVC的设计思想,可以得出如图所示的系统结构设计图。
图6系统结构设计图
4.2.2系统模块设计
网上书店系统主要是实现以下两个功能:
一是客户在网上查书,选书,购书和产生订单等功能。
二是后台的图书管理功能,包括图书种类的管理和图书的管理。
一个典型的网上书店一般都有需要实现商品信息的动态展示,购物车管理,会员管理(包括会员信息注册)和订单处理等模块。
根据需求分析可以分为五大功能模块,如图所示:
该网站的功能模块如下表所示:
表1网站的功能模块
功能模块
功能概述
图书信息管理
该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。
此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。
购物车管理
用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。
会员管理
实现网上书店客户信息的注册及身份验证。
由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的真实姓名,通信地址和联系方式等信息。
订单管理
实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。
图书管理
该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。
5系统详细设计
5.1系统功能模块设计
本网站系统包括两大部分,前台和后台。
用户只能使用前台的各项功能包括注册、登录、购物、收藏、浏览书籍信息等;
后台只有管理员才能使用,对网站进行综合管理使其动态更新。
下图为系统前台主要业务流程与系统前台主要业务流程:
图7系统前台主要业务流程
图8系统后台主要业务流程
5.1.1用户登录模块
这里介绍用户登录的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性。
下面是登录程序流程图,如下图所示:
图9登录程序流程图
5.1.2用户注册模块
注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。
注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图所示:
图10注册程序流程图
5.1.3管理员功能模块
网站管理员登录到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。
管理员可以添加公告信息等。
5.1.4图书信息管理模块
主要分为两大部分,图书展示和图书查询。
(1)图书展示
数据库准备。
图书展示和图书查询是将网上书店中的图书有序地罗列出来。
该操作涉及到es_bookshop数据库中的es_book数据表。
下面是图书展示设计流程图,如下图所示:
图11图书展示设计流程图
(2)图书查询
图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。
再一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。
同时好的搜索功能将会带来更多的用户青睐。
为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。
查询图书模块的目的是为了帮助用户快速找到想要购买的图书。
由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。
另外在模糊查询时使用了数据库系统的like运算符。
处理逻辑。
处理过程首先建立数据库连接,打开es_book数据表,并按照用户指定的方式和关键字信息将es_book数据表中满足要求的图书信息显示出来。
为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信息时只需输入部分信息即可。
5.1.5购物车管理模块
购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。
本次将以session技术、cookie技术来实现购物车。
(1)优点
占用系统资源少,我们可以把数据库安置在一台电脑中,Web服务器安置在另一电脑中,系统资源充分发挥。
购物车中数据可以得到有效保留,我们可以试想一客户在购物时,突然某其他原因(死机等原因)离开了购物站,他在购物车中数据有效保留下来,他下次登录时购物车中还有上次保留的数据,避免用户再次选购商品的操作(此功能只对登录用户的购物车有效),要是用会话实现购物车,所有用户一旦离开站点,他的购物车中数据全部失效。
(2)实现
数据库及session准备。
购物车是网上书城必需的一项功能。
主要用于记录客户购买的图书编号、书名、出版社、作者、数量、单价等信息,并且应该计算出总价及打折后应付的金额,以便用户随时掌握自己的购买信息。
本系统实现购物车时使session技术和数据库。
对于用户的购买信息主要用session来记录,购买结束后再一起提交到数据库中,另打折信息是由数据库统一管理的,它是和图书入库一起完成的。
这里要注意的是购物车也可以不使用session,而直接把信息写到数据库中,这样做比较简单,但由于每次选购都要将信息写入数据库中,这样将给服务器带来很大的负担。
如果有很多用户同时在购书,就很容易使服务器瘫痪。
所以基于以上考虑,我们采用session对象。
购物车功能定义。
购物车是客户在书店中实施购买活动的辅助工具,购物车性能的优劣在某种程度上也会影响购买者的购买情绪和行为。
因此在设计购物车时不仅要考虑功能的多样性也要考虑购物车的实用性。
本次对购物车的功能如下功能:
1)存放客户选好的图书
2)可以随时改变是否要购买
3)可以随时改变购买的数量
4)可以显示目前购物车中的图书的金额
在购物车信息显示页面中,将显示客户所选的图书信息,在该页面中,客户可以指定选购数据量,也可以将对应商品从购物车中删除。
此外,在该页面中也可以返回数目显示页面继续购物,或者清空整个购物车。
如果用户确定购物车信息后,可以单击【提交订单】,进入订单确认页面,选择送货方式以及付款方式。
下面是购物车程序流程图,如下图所示:
图12购物车程序流程图
5.1.6订单管理模块
(1)cookie信息及数据库准备
生成订单是购书者购书的最后一步了。
为了将图书送到客户手中,必须要求客户输入自己的信息(包括送货信息)本次在处理购书信息时采用cookie保存客户的注册信息,还有一些客户的信息在填写订单时一并完成的。
购书结帐时会涉及到多个数据表的操作,如es_book表、es_order表、es_orderItem表。
(2)处理逻辑
在该页面中,客户可以依据表单提示,选择送货方式和付款方式,确认对应选择后,单击【确认】进入订单确认页面。
客户确认订单对应的信息后,再单击【生成订单】,将生成客户这次购买图书的订单。
如果成功则跳转到订单成功生成页面,一次购物过程基本完成,如单击【返回购物车】则可以继续选购其他图书。
下面是生成订单流程图,如下图所示:
图13生成订单流程图
本模块是系统的核心,主要负责订单的审查,是订单的流程最后一个环节,也是最重要的一个环节。
书店的任何数据都和订单数据有直接或者
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Struts 框架 网上 书店 毕业设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)