网上书店系统的设计实现分析_第1页
网上书店系统的设计实现分析_第2页
网上书店系统的设计实现分析_第3页
网上书店系统的设计实现分析_第4页
网上书店系统的设计实现分析_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.:NANCHANG UNIVERSITY学士学位论文THESIS OF BACHELOR2013 2017年题目网上书店系统的设计与实现学院:软件学院系软件工程专业班级:学生:*:指导教师:职称:副教授起讫日期:*大学学士学位论文原创性申明本人重申明:所呈交的论文是本人在导师的指导下独立进展研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究作出重要奉献的个人和集体,均已在文中以明确方式说明。本人完全意识到本申明的法律后果由本人承当。作者签名:日期:学位论文使用授权书本学位论文作者完全了解学校有关保存、使用学位论文

2、的规定,同意学校保存并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本论文的全部或局部容编入有关数据库进展检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。,在年解密后适用本授权书。本学位论文属于不。请在以上相应方框打作者签名:日期:HYPERLINK l 目录导师签名:日期:附件5-. z.网上书店系统的设计与实现摘要随着互联网的飞速开展,网上购物已经逐渐称为老百姓生活中的一个必备技能,电子商务在互联网高速开展的推动下,这几年开展的非常迅猛。网上书店作为一个互联网电子商务系统,自然也是高速开展。随着市场全球化,世界经济一体化的开展,我们可以

3、足不出户的买到我们想要的书籍,这在20世纪是不可想象的,但现在却真实地出现在我们的生活中。网上书店具有常规电子商务所具有的所有优点:价格低,种类多,形式简单,售后效劳优良。不仅如此,网上书店可以24小时不连续的处于营业状态。这是我们传统实体书店所不具备的最大优点。网上书店具备传统实体书店这些不可超越的优点,所以网上书店已经成为电子商务的先锋。本次的研究课题是要实现一个具有电子商务所有特点的网上书店系统。文中从网上书店的背景到国外的研究现状及开展趋势都做了详细的介绍。描述聊网上书店的可行性和必要性,从软件设计的角度研究了网上书店系统的实现。结合数据库模型图和数据库表描述了数据库的构造。在软件实现

4、上,本文从效劳端和客户库端两个角度分别给出了代码设计、关键功能实现。最后,文中给出了软件实现结果和测试报告。系统环境主要采用的技术是SpringMVC+Spring+Mybatis框架技术,客户端主要是基于浏览器的jsp页面,数据库使用的是MySQL。关键词:网上书店; Mybatis;SpringMVC;Spring;-. z.Design and implementation of online bookstore systemAbstractWith the rapid development of networking, online shopping has gradually ca

5、lled the peoples lives in a necessary skills, e-merce in the rapid development of the Internet, driven by the development of the past few years is very rapid.Online bookstore as an Internet e-merce system, naturally high-speed development. With the globalization of the market and the development of

6、world economic integration, we can buy the books we want at home, which is unthinkable in the twentieth century, but now it is true in our lives. Online bookstores have all the advantages of conventional e-merce: low prices, many types, simple form, e*cellent after-sales service. Not only that, the

7、online bookstore can be 24 hours uninterrupted in the business state. This is our traditional physical bookstore does not have the greatest advantage. Online bookstore with traditional physical bookstore these can not go beyond the advantages, so the online bookstore has bee a pioneer in e-merce.The

8、 research topic is to achieve an e-merce with all the hot online bookstore system. The paper from the background of the online bookstore to the domestic and international research status and development trends have done a detailed introduction. Describe the feasibility and necessity of online bookst

9、ore, and study the realization of online bookstore system from the perspective of software design. The structure of the database is described in conjunction with the database model diagram and the database table. In the realization of the software, this paper from the server and the client side of t

10、he two aspects were given the code design, the key features to achieve. Finally, the software results and test reports are given.System environment is the main technology for SpringMVC framework + Spring + Mybatis, the client is mainly based on the JSP page browser, using a MySQL database.Keyword: O

11、nline bookstore; Mybatis; SpringMVC;Spring;-. z.目录 TOC o 1-3 h z u HYPERLINK l _Toc480294400摘要 第二章操作。购物车信息管理管理员用户可以在购物车信息界面进展购物车信息的查看操作。订单信息管理管理员用户可以在订单信息界面进展订单信息的修改订单状态。2.3、非功能需求、性能需求1、网络网上书店系统以网上购物为核心功能,用户会进展商品查看或者购物等操作。因此会产生大量的数据传输,用户注册时验证短信有一定的输入时间限制,在网络速度一定的条件下,系统要求尽可能高提高网络传输效率,尽可能快完成网络传输请求。2、响

12、应网上书店系统包括智能短信,图书搜索,下单购物等功能,因此,需要较快的响应速度和明确的响应结果。3、数据准确性由于购物车或者订单数据是用户的购物凭证的关键数据,因此要保证数据准确性,在数据传输过程中,应保证数据的一致性和准确性。、用户友好需求1、界面友好网上书店系统用户端的用户群为普通人,为满足用户审美要求、安康要求,提高软件吸引力,延长用户使用时间,在终端界面设计上应该采用时下流行、符合广阔用户审美的UI设计模式。2、操作友好网上书店系统受众为普通人,操作设计应尽可能在保证数据完整性和一致性的前提下简单易行,一目了然。、平安性需求网上书店系统保存了大量的用户手机号、用户密码、用户等重要用户信

13、息,用户还会进展订单支付操作。因此要求在访问数据库前进展数据库访问认证,在数据传输过程中尽量减少敏感信息传输。假设传输敏感信息传输,应在传输前对传输信息加密。2.4、技术需求、代码实现技术SpringSpring是一个整合框架,它能完美地整合许多Java框架,例如Mybatis,Hibernate,Struts等。通过Spring框架提供的IOC容器,我们可以将对象的创立由Java类转到IOC容器,将对象之间的依赖关系交由Spring容器进展控制,降低Java代码程序耦合性。有了Spring框架,开发人员不必再为单例模式类、属性文件解析等这些底层需求编写代码,开发人员可以更专注于业务逻辑的实现

14、。通过Spring框架提供的AOP切面编程功能,方便进展面向切面的编程,许多用传统OOP难以实现的功能可以通过使用AOP轻松应付。在Spring框架中,我们可以从繁杂的事务管理代码中解脱出来,Spring通过声明式事物灵活地进展事务的管理,极提高开发效率。图 2-1 Spring框架模型2、MybatisMyBatis 本是apache的一个开源工程iBatis, 2010年这个工程由apache software foundation 迁移到了google code,并且改名为MyBatis 。是一个基于Java的持久层框架。MyBatis提供的持久层框架包括SQL Maps和Data Ac

15、cess ObjectsDAO。MyBatis 是支持普通 SQL语句查询持久层框架。MyBatis通过使用简单的 *ML文件用于配置和原始映射,将DAO层接口和 Java 的实体类映射成数据库中的记录。图 2-2 Mybatis框架构造3、SpringMVCSpringMVC是拥有成熟MVC架构的基于请求-响应模型的请求驱动类Web效劳框架,其核心架构分为前端控制器、处理器、视图和模型。在配置文件为SpringMVC配置完Dispatcher ServletSpringMVC控制器后,所有的请求都会被该控制器承受,并根据请求信息寻找目标处理器,将请求参数等信息交付处理器。处理器在获取请求信息

16、后,产生命令对象,由业务对象获取该命令对象进展业务处理,并在处理完毕后返回ModelAndView对象。前端控制器在获得返回对象后,向请求客户端返回响应Response。图 2-3 SpringMVC工作流程、数据库技术MySQL是一个关系型数据库系统,是如今最流行的关系型数据库管理系统之一,在 WEB 应用开发方面,MySQL应用软件拥有很多版本,本系统使用的是MySQL5.7版本。MySQL数据库中所使用的 SQL 语言是最常用标准化SQL语言。MySQL 数据库由于其体积小、速度快、等特点,尤其是免费开放源码这一特点,受到众多企业的青睐,一般在中小型的开发都会选择使用MySQL 作为数据

17、库。-. z.第三章系统概要设计3.1、系统架构根据网上书店系统需求,本系统采用B/S模式架构。网上书店系统需要具备高效的UI渲染、数据展示、快速响应、操作友好等性能。需要及时承受用户端各类请求,迅速处理客户端发送的逻辑操作,快速与数据库建立联系,对数据操作,并迅速将查询结果、操作结果、处理结果响应给客户端。结合以上系统需求,工程采用SpringMVC+Mybatis+Spring架构作为系统程序架构。SpringMVC能够分派发送到效劳端的请求到对应功能逻辑的控制层Controller,控制层将获取的参数传递给业务层,让业务层根据具体业务流程处理,处理过程中,业务层调用Mybatis的持久层

18、Dao对象操作数据库,完成数据库的增删改查操作,并将查询结果返回给业务层完成业务处理,业务层处理完成后将处理结果返回给控制层,控制层重新获取到控制权后,将处理后的数据封装为响应报文发送给客户端,完成一次请求操作。3.2、技术架构表 3-1 网上书店系统使用技术用户界面设计JSP数据异步交互Aja*,Gson,jquery表示层框架SpringMVC数据持久层框架Mybatis整合、注解框架Spring数据库MySQL效劳器Tomcat1、Aja*并不是一种新的编程语言,它是一种用于网页数据异步交互的技术,Aja*可以更好更快的在在浏览器与 Web 效劳器之间使用异步数据传输请求,这样就可使网页

19、每次从效劳器请求少量的信息,而不用刷新整个页面。2、Gson是一个Google公司封装的Java类库,用于将Java对象转换为JSON格式数据,是对JSON的另一种封装。3、jQuery是一个快速、简洁的JavaScript框架,jQuery提供了对根本JavaScript构造的增强,比方元素迭代和数组处理等操作,jQuery简化了原本使用JavaScript代码需要处理的方式。4、Tomcat 效劳器是一个开源,免费的Web 应用效劳器,属于小型轻量级应用效劳器,因为Tomcat 性能稳定,而且免费开源,因此深受Java 开发者的喜爱,而且得到了很多软件开发商的认可,已经成为比拟流行的Web

20、应用效劳器。3.3、系统功能构造图 3-1 功能构造图普通用户用户信息修改主要包括:修改密码,昵称,绑定,修改送货地址等。购物车操作主要包括:添加,修改,查看,移除等操作。订单操作主要包括:订单确认,修改,提交,取消,支付,查看,确认收货操作。管理员用户图书信息管理主要包括:图书信息的添加,修改,删除等操作。订单信息管理主要包括:订单信息图书的发货操作。-. z.第四章模块详细设计4.1、用户模块用户模块包括登录,注册,修改个人信息,注销登陆等功能。图 4-1 用户用例图1、用户注册用户可以在注册页面进展注册账号,用户自定义输入账号,密码,手机,输入账号之后,如果输入信息验证通过即可,通过手机

21、发送验证码,再输入验证码,验证码正确即可注册账号。图 4-2 用户用例图2、用户登录用户再登录界面输入账号信息,验证成功之后即可登陆成功。3、用户信息修改用户注册成功之后,可以在用户信息修改界面,根据自己的需要输入自己要修改的信息,验证成功之后即可修改成功。4、退出登录用户如果想要切换账号,即可点击退出登录,去除掉sesson中存储的之前所登录账号信息,回到登录界面重新登录,用户即可切换账号重新登录。4.2、图书模块1、图书信息列表用户不需要登陆即可在图书列表界面可以看到图书商品列表,可以根据图书分类进展分类搜索图书。2、图书搜索用户可能在图书列表界面不一定能看到自己想要的图书商品,可以在搜索

22、输入图书名称进展查询,后台查询到的所有图书信息会在图书列表中显示。3、图书信息用户再图书列表界面点击图书之后即可进入图书信息界面,改界面主要展示图书的介绍等详细信息。4.3、购物车模块图 4-3 购物车用例图1、添加购物车用户在进入图书信息界面之后,如果中意该商品,但又不想现在购置,既可点击添加购物车。用户如果是登录状态,即可添加进购物车,如果是未登录状态,则会提醒用户进展登录操作。登录之后返回图书信息界面,进展购物车添加的操作。2、查看购物车信息用户登录之后可以在购物车界面查看所有的购物车信息,系统会计算出总价显示。3、购物车信息修改用户登录之后可以在购物车界面修改购物车中商品数量,移除购物

23、车等操作。4、购物车结算放在购物车里的所有商品,系统会计算出一个总价显示,用户可以自定义选择需要结算哪些商品,系统会计算用户选中的商品总价,然后生成订单。图 4-4 购物车用例图4.4、订单模块图 4-5 订单用例图1、订单确认用户在进入图书信息界面之后,如果中意该商品,可点击立即购置。用户如果是登录状态,即可进入确认订单页面,如果是未登录状态,则会提醒用户进展登录操作。登录之后返回图书信息界面,进展购置操作。2、添加订单用户进入订单确认界面之后,核对自己的订单信息,如果订单信息中所有的必填项息都验证无误,即可点击提交订单,添加订单信息。订单在三十分钟有效,如果用户再三十分钟之没有进展支付,系

24、统会自动进展取消订单操作。图 4-6 订单用例图3、订单支付用户提交订单之后,即可进展订单支付操作,用户可以选择喜欢的支付方式进展付款。4、订单查看用户登录之后可介入我的订单页面查看自己的所有订单信息,可以指导自己买过那些商品。5、确认收货用户在收到商品之后,可以登录书店,进展确认收货操作,确认收货之后,用户支付订单所付金额会自动转入卖家账户。系统会提示用户收到货之后在进展确认收货操作。6、订单详情用户登录之后可以在订单列表界面点击点单详情查看订单详细信息。4.5、管理员模块图 4-7订单用例图管理员模块是属于后台效劳端的模块,是系统管理员进展相关操作的模块,和普通用户无关。用户管理管理员可以

25、在后台查看普通书店用户处密码外的所有信息,可对用户的状态进展修改操作。管理员用户系统默认提供一个管理员账号,该管理员账号登录之后,可以进展管理员的相关操作。如添加、修改管理员信息,对图书,购物车,订单信息进展管理等操作。图书信息管理管理员用户可以在图书信息界面进展图书信息的添加,修改,删除,查看等操作。购物车信息管理管理员用户可以在购物车信息界面进展购物车信息的查看操作。订单信息管理管理员用户可以在订单信息界面进展订单信息的修改,查看等操作。普通用户在支付之后,管理员可以进展发货操作,即修改订单状态。-. z.第五章数据库设计5.1、数据库逻辑模型图图 5-1 数据库设计cdm模型图图 5-2

26、 数据库设计pdm模型图5.2、数据库表设计1、用户表:t_user表 5-1 用户表属性字段名非空性是否为主键iduid非空,唯一pk用户名Username唯一,非空密码password非空email地址address手机号phone邮政编码postcode昵称nickname创立时间Create_date2、管理员表:t_admin表 5-2 管理员表属性字段名非空性是否为主键账号Aid非空,唯一Pk用户名Aname非空,唯一密码password非空权限power非空性别Se*创立时间Create_date图书表:t_books表 5-3 图书表属性字段名非空性是否为主键idBid非空,唯

27、一Pkisbnisbn非空,唯一书名Bookname非空作者Author非空Publish非空出版日期Publish_date非空类别type非空数量amount非空价格Price非空介绍Ps创立时间Create_date图片1pic_address1图片2pic_address2购物车:t_cart表 5-4 购物车表属性字段名非空性是否为主键id非空,唯一PkBook_idBook_id非空User_idUser_id非空数量Amount添加时间Add_date价钱Cost订单表:t_order表 5-5 订单表属性字段名非空性是否为主键idid非空,唯一pkUser_idUser_id订

28、单时间Order_date订单号Order_code非空,唯一价钱Cost备注Ps状态State6、订单明细表:t_orderInfo表 5-6 订单明细表属性字段名非空性是否为主键idid非空,唯一pkBook_idbook_id非空,唯一Order_idOrder_id创立时间create_date订单号Order_code价钱Cost数量Amount备注Ps状态State-. z.第六章工程实现6.1、工程环境配置1、SpringMVC自动扫描controller类,只需要在controller类钱配置注解controller。图 6-1 SpringMVC扫描controller配置2

29、、SpringMVC自动过滤静态资源,jsp页面有很多静态图片,js,css文件,不配置系统会找不到静态资源。图 6-2 SpringMVC过滤静态资源配置3、SpringMVC配置json格式转化器,系统可以使用aja*技术进展数据异步交互。图 6-3 SpringMVC使用Aja*配置4、Springmvc配置视图转换器,controller返回一份逻辑视图通过视同转化器转换为物理视图返回用户页面。图 6-4 SpringMVC视图转换配置5、网上书店系统需要上传大量图片,需要有文件上传配置图 6-5 SpringMVC文件上传配置6、配置文件引入perties文件,该文件

30、中数据库的连接信息。数据库连接池使用阿里巴巴开发的数据库连接池。图 6-6 Spring-mybatis数据库连接配置7、Spring可以完美整合mybatis,即可以将spring和mybatis的配置文件整合到一起。图 6-7 Spring-mybatis配置文件整合声明式事务管理建立在AOP之上的。其本质是使用面向切面编程,将Java代码中需要进展事物相关逻辑,放入一个切面之中,执行事务逻辑处理。再使用代理模式进展封装,只需在Spring配置文件中做相关的事务规则配置,便可以将事务规则轻松地应用到业务逻辑中。图 6-8 Spring-mybatis配置文件整合9、在web.*ml文件中配

31、置编码过滤器,防止乱码请求时的出现。图 6-9 编码过滤器配置10、系统使用的搜游框架jar包图 6-10 系统所有jar包6.2、工程架构图 6-11 系统架构mon:这个包主要有一些公共的Java类BasrController是一个公共的controller类,他部有获取请求数据,转换Gson格式,生成分页查询页码等方法。MessageUtil是一个智能短信工具类,PictureUtil是一个图片复制的工具类。Controller:这个包是所有controller存在的包,负责和前台用户界面的数据交互处理。dao:dao包是一个接口包,其中的接口没有实现类。entity:这是都有实体类的包

32、,每一个类对应数据库中的一表。mapper:这里是所有数据库语句执行的地方,包中的每一个.*ml文件映射entity包中的一个实体类和dao包中的一个接口。service:这个包中包含了业务逻辑层的接口和业务层的接口实现类,在这里进展主要的业务逻辑操作。6.3、功能实现、验证短信1、所用技术图 6-12 jar包截图mons-logging.jar包是使用spring的必备包,用来记录程序运行时的活动的日志记录。: Client在处理效劳器认证几乎是完全透明的,仅仅只需要开发人员提供登录信息。mons工程中用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64, 及 he

33、*,metaphone, sounde* 等编码演算。代码实现系统随机生成六位数的验证码,验证码和系统自定义的段性容组合,通过前台请求得到的手机号,利用SMS提供的网关密钥将验证短信发送到手机对应的用户中。图 6-13 短信验证代码实现、图片上传1、所用技术使用SingMVC 注解上传文件,需要需要配置几个信息:1).form表单中enctype=multipart/form-data这个是上传文件必须的。2).SpringMVC.*ml中: 关于文件上传的配置不能少。2、代码实现图 6-14 短信验证代码实现6.3、订单支付1、自己托管配置文件图 6-15 支付配置文件2、读取配置文件图 6

34、-16读取配置文件3、资金托管实现图 6-17 资金托管实现-. z.第七章测试7.1、登录注册1、手机号验证,已注册过的手机号不能在注册、图 7-1 手机重复验证2、只有手机号,密码,会员名都符合验证之后才可以点击发送验证码。图 7-2 验证码发送3、手机收到的验证码图 7-3 手机收到的验证码7.2、图书列表1、查询全部图书图 7-4 全部图书列表2、分类查询图书图 7-5 分类查询图书列表3、按输入名称进展模糊查询图 7-6 模糊查询图书列表7.3、图书信息用户在图书列表界面点击图书进入该界面,该界面可以查看图书详情图 7-7 模糊查询图书列表7.4、订单1、订单确认图 7-8 订单确认

35、订单详情页面图 7-9 订单详情支付图 7-10 订单支付7.5、管理员管理图 7-11 管理员管理7.6、测试总结1、系统功能根本完成。2、系统界面不是很美观,但可以实现根本功能。3、管理员界面不能及时提醒管理员有新订单生成,后期会改良。-. z.总结毕业设计,帮助我总结大学四年收获,也帮助我认清自我。同时,还帮助我改变了一些处理事情时懒散的习惯。从最开场时的搜集资料,整理资料,到需求分析,业务流程分析,数据库设计建模。这期间我又重新拾回了很多我已经忘掉的的知识。这是一次难得的时机,不仅让我在学术上有了很大的提升,也在各方面能力以及意志上大大锻炼了我自己。在此次网上书店系统工程设计与实现中,

36、我独立完成了整个系统以及数据库的设计与开发,系统设计过程中,基于面向对象开发思想,应用UML软件设计方法,完成系统功能设计。开发过程中,采用B/S架构实现系统工程开发,其中,系统架构采用时下流行的SpringMVC框架为效劳端Web程序,为整个系统提供逻辑业务处理效劳和主要算法支持,SpringMVC在数据持久层整合Mybatis框架映射数据库,为系统开发提供简单直接的数据处理操作.系统使用Spring框架作为整合框架,Spring的注解功能以及Spring的声明式事务都大大降低了开发难度、另外,在简化了数据查询操作的根底上提供了自定义查询,使程序更加灵活。网上书店系统的前端页面使用了JSP技术,这是一个和HTML相似网页视图。JSP技术是开发Web应用程序的常用视图技术,它拥有Java语言跨平台的特性,以及业务代码别离、组件重用、根底Java Servlet功能和预编译等特征。这使它几乎能Java完美整合。在本次系统的开发中起到了很大的作用。页面的验证操作即效果我还使用了jQuery,jQuery作为一个JavaScript的整合框架帮助我简单方便的实现了很多网页效果。在页面的异步请求中我使用了Aja*技术,这种技术可以每次少量的异步请求数据,而不用刷新页面,降低了开发难度。数据库采用MySQL,数据库开发中使用了Pow

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论