系统基于SpringBoot框架,结合JavaEE技术实现网上书店系统平台的构建。本文从系统分析、系统设计、系统实现等方面具体论述了滴答网上书城系统的设计与实现,完全遵照软件工程原理及思想,展示了SpringBoot框架的Web应用搭建过程。该应用前端采用HTML5、CSS、JavaScript,后台利用SpringBoot框架Spring进行整合,实现用户信息管理、管理员图书管理、交易订单管理、商品加购物车等主要功能。
1相关技术介绍
滴答图书商城是利用Java语言在Windows平台下Idea编译器进行开发,同时用了Mysql数据库进行数据管理,实现对数据库中数据操作。通过Java技术实现前后端的数据交互,前台运用HTML5、CSS、JavaScript,后台使用SpringBoot框架进行页面交互,通过Http协议和数据库进行交互,前端发起操作请求,后端对于请求进行数据操作。软件整体运用了常规的MVC设计模式进行设计开发,程序的可维护性提高,代码易扩展性得到良好的延伸。
1.1 HTML5+CSS+JavaScript
(1)HTML是网页内容的载体。内容可以包含文本、图片、视频等,都可以作为web作者放在页面上希望用户浏览的信息。HTML5提供了许多的新特性,比如:HTML5还在浏览器中内嵌了一个轻量级的本地SQL数据库以加速搜索、缓存以及索引问题[1]。
(2)CSS样式是外观控制,可以进行样式的更换。例如更改字体大小样式、更换颜色背景、增加图像、添加边框等。所有改变内容外表的都可以叫做显示。
(3)JavaScript用来实现网页上的特殊效果。可以理解为,JavaScript可以实现某些部分内容的动画效果或者交互效果。
1.2 SpringBoot
Spring是一直以来比较成熟稳定的一个框架,但是Spring框架有大量繁琐的配置工作。SpringBoot是由Pivotal团队提供的全新框架,目的是用来简化新Spring应用的初始搭建和开发过程,SpringBoot对于Java的快速开发是有帮助的,它简化了开发过程、配置过程、部署过程和监控过程[2]。
人们可以采用更轻量级和更快捷的开发方式去工作,让开发者的更多的实现功能上花费时间,而不是去做更多的配置工作。
采用SpringBoot开发功能的好处:
(1)可以对所有配置信息进行有效监控,当前该应用中所涉及的线程bean、环境、健康等相关信息均可采用管理端点监控的方式来实现,将所偶有的数据传递给开发者[3]。
(2)每个系统也可以独立部署,如果系统发生变化,则无需编译和部署整个应用程序。
1.2数据库Mysql
结构化查询语言(StructuredQueryLanguage)简称SQL,是一种程序设计和数据库查询语言,用来存放和取出数据,同时可以查询、更新和管理关系型数据库系统。数据库本质上是一个文件系统,可以以特定格式存储数据,用户可以添加、修改、删除和查询数据库中的数据。
常见的数据库有以下几种,这里咱们采用Mysql数据库来进行开发。
(1)MYSQL:数据库作为一款开源的关系型数据库系统,具备体积小、效率高、简单易用等特点[5]。
(2)Oracle:大型的数据库,收费,Oracle公司的产品。由于我们的系统只是简单的数据,没必要用大型的。
(3)DB2:IBM公司的收费的数据库。银行系统中应用较多。
(4)SQLServer:MicroSoft公司中型的收费的数据库。C#、.net等语言常使用。
1.3开发平台及运行环境
IntelliJ IDEA 2017:一款编程开发的IDE环境,其最大的特色是丰富的插件拓展和友好的用户界面[6]。
2系统需求分析
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程[7]。
这个阶段我们主要根据用户提出的要求,对其进行分析和整理,以生成完整、明确的说明文件,确定需要执行的操作。此外,软件的可行性、功能要求等也是软件需求分析的目标。
2.1市场及用户的需求分析
随着移动互联网技术的飞速发展[8],线下行业面临压力,许多人人将目光投向了电子商务,网上书城以更方便快捷简单省时省力的特点,迅速取代了传统销售方式,足不出户,我们下单的商品就送到了自己手中。优质的服务,简洁高效的界面,使我们开发这个系统的出发点和坚持点。对于客户,商城要做到无障碍使用,且界面美观,安全无忧[9]。
2.2软件可行性分析
系统开发过程中使用的是MVC开发模式,三层架构模式,通过把页面层,业务层和数据访问层分开,逻辑关系更加清晰。使用的是已经广泛应用的成熟框架,开发者对spring有使用经验,在学习阶段学过web项目的搭建并且成功运行,对于项目的相关配置和运行流程有一定的了解,现阶段的技术完全可以达到开发系统的水平。在校途中也学习了SqlServer,对于sql语句比较熟悉,Mysql数据库界面简单便于使用,系统总体设计表不是特别多,用Mysql能够完全容纳数据量。
滴答图书商城系统开发的是一个类似电商网站的平台,前台主要是浏览网站,后台管理,借鉴了一些系统平台的大致框架,在进行基本开发时做出了一定的修改,所以实现这个项目的搭建问题不是很大,在滴答图书商城系统所涉及的核心技术可参考,框架技术完善的前提下,可以进行自主开发。
2.3功能需求分析
作为一个系统,需要有许多的功能来进行支撑,该系统为普通用户和管理员设置了不同的操作界面,以便于对系统信息的管理[10]。主要是为了解决用户和商家操作的复杂性,在用户的浏览页面中可以浏览图书商品,在个人中心管理自己的个人信息,可以对图书进行加购,对订单进行管理。
(1)登录功能
系统将商城的主体分为了三类,分别是用户、商家、管理员,针对不同的人员,操作不同的页面,所以登录时去到的地址不同。在前端页面通过系统获取到用户输入的信息之后,通过Http将数据传递到系统后端,为了保证系统中用户的数据安全,系统对用户密码进行了MD5加密,后端数据库中存放的也是经过MD5加密的密码。在用户登录时,取出数据库中加密的密码,对比输入后加密的密码是否一致,只有通过比对的密码正确才能跳转到要去的用户界面的首页,否则显示密码错误,重新回到登录页面,此时信息清空用户重新填写。
(2)角色功能管理
当前图书商城系统中,用户主要是浏览选择自己喜欢的商品,加购物车结算商品,对所有的订单进行查看管理等
商家主要是负责自己商店图书的上架下架,图书的新增删除信息修改,买家的订单管理,商品的售后处理。
管理员可以对用户和商家的信息进行管理,可以对聊天区进行管理。
2.4系统用例描述
为了方便了解系统的运行流程,我们使用了系统用例模型来展示系统所能提供的部分服务。
(1)管理员用户模块描述,如表1所示:
表1管理员用户管理模块用例
用例名称管理员用户管理模块用例
角色管理员
参加人员admin
前提条件该账号在系统中已存在,并且拥有修改设置权限。
简要说明管理员主要是对要操作这个系统的设置进行管理,以及对商家和用户人员的管理。
基本事件流(1)管理员进入系统设置
(2)进入功能导航/用户信息管理/用户、商家管理
(3)对用户进行管理操作
(2)商城商家商品管理模块描述,如表2所示:
表2商城商家模块用例
用例名称商城会员用户管理模块用例
角色商家
参加人员爱阅读
前提条件该账号在系统中已存在,是商城商家。
简要说明爱阅读用户进入商家后台管理页面,功能导航可以选择商品管理,对商品进行管理,对用户订单进行查看和操作。
基本事件流(1)商家登录商城进入商家后台管理页面
(2)进入商品管理操作,对商品进行添加、修改、删除等操作
(3)查看用户购买商品订单,订单状态修改
(4)售后管理
(3)商城用户加购下单模块描述,如表3所示:
表3商城用户模块用例
用例名称商城会员用户管理模块用例
角色会员用户
参加人员张三
前提条件该账号在系统中已存在,是商城正式会员。
简要说明会员进入登录前台页面,在前台页面浏览图书,喜欢的加入购物车结算、支付,支付后可以进行查看自己的订单等操作。
基本事件流(1)浏览首页商品
(2)添加到购物车
(3)购物车中去查看结算
(4)支付订单,订单下单操作完成。
(4)商城用户退货模块描述,如表4所示:
表4商城用户模块用例
用例名称商城会员用户管理模块用例
角色会员用户
参加人员张三,爱阅读
前提条件该账号在系统中已存在,是商城正式会员。已经下单
简要说明会员进入登录前台页面,点击个人中心,在我的订单中的历史订单中,查找自己已经收货的物品,可以进行订单详情查看,退换货操作。
基本事件流(1)登录前台,找到个人中心。
(2)在个人中心中找到自己下单已经收货的订单。
(3)申请退货,进入待退货状态。
(4)商家同意退货,买家状态完成退货。
3系统设计
3.1系统功能模块设计
滴答图书商城系统分为商家后台管理系统模块、管理员后台模块和商城用户系统模块三大部分,各个模块的功能结构图如下图1所示:
图1滴答图书商城系统功能结构图
商城用户系统模块,该模块主要是商城用户能够浏览前台的图书商品信息,可以对自己喜欢的图书进行加购,可以查询图书,查询订单等等,具体如下:
(1)用户购物车,用户加购后的商品在这里,可以对购物车里的物品直接结算付款,付款后即刻生成订单。可以在个人中心的历史订单中查看所生成的订单,用户可以对自己订单状态进行修改,比如对已到的商品进行收货,收货之后的订单可以进行退换货,但是需要要商家同意。
(2)用户个人信息修改,用户可以在个人中心中修改自己的相关数据,比如用户名密码等。
(3)用户聊天区,用户可以发布帖子也可以在别人的帖子留言,交流读书心得。
商城商家后台管理模块,该模块主要是商城店家能够对图书商品信息进行管理,可以对卖出的图书进行售后管理等等,具体如下:
(1)商家商品管理。商家可以在商品管理这对商品进行添加,修改,删除,对添加的商品进行上架和下架。
(2)售后管理中可以对买家购买的图书进行发货和退换货处理,不符合规格的可以拒绝退换。
(3)商家公司信息管理,可以对自己本公司填写错误的信息进行改正。
商城管理员后台管理模块,该模块主要是商城平台管理员能够对商城会员用户信息进行查看编辑,可以对商城商家信息查看并进行管理编辑,可以对聊天区进行管理等等,具体如下:
(1)对违反规定的商城用户和商家信息进行改正和删除(封号处理)。
(2)对聊天区进行规范管理,违背规定的帖子和留言可以进行删除。
4数据库设计
4.1概念模型设计

通过需求分析将获得的用户需求抽象成信息结构,就是概念模型。这里我们用E-R图来设计概念模型。
4.2 E-R图设计
在进行概念设计时,首先我们要建立局部模型,也就是确定实体。考虑相互之间的关系,确定属性并画出所有的局部E-R图,将其优化为全局E-R大图。
我们先来拆分各个模块,画各局部的E-R图。
(1)图书的信息E-R图,如下图2所示:
图2图书的信息E-R图
(2)订单表的E-R图,如下图图3所示:
图3订单表E-R图
(3)订单生成后详情的E-R图,如下图4所示:
图4订单详情E-R图
(4)会员用户信息的E-R图,如下图图5所示:
图5用户信息表
(5)商城商家信息的E-R图如下图图6所示:
图6商家信息E-R图
(6)用户留言模块的E-R图如下图7所示:
图7用户留言E-R图
根据系统的需求分析中的功能可以大概设计具体全局E-R图,详情如图8所示:
图8滴答图书商城系统E-R图
5系统实现
通过系统需求分析和系统设计两大部分,我们已经确定了滴答图书商城系统的设计架构。在编程设计与实现部分将对系统进行完整的实现,将为系统的每一部分重要设计进行概述说明,系统的会拥有大部分的基本功能,之后需要从后台管理系统和前台浏览系统两个部分分别说明。
5.1后台管理系统
后台管理系统是对数据操作的主要系统,分别管理了用户,商品,管理员,商家等基本功能。
5.1.1登录注册
一个系统的登录界面是至关重要的,是用户最直观最先体验到的,用户的第一印象会直接影响用户是否觉得这个系统好用,完整的登录流程对系统的程序有着极大的安全性的提高。后台管理系统的登录界面如图9所示。
图9用户登录注册界面
设置用户系统的登录界面为http://localhost:8080/pages/login.jsp,是系统中重要的跳转页面,只有通过该界面,已注册用户才能跳转到个人的主页,没有注册的用户可以注册然后登录.
重要实现代码如下图10所示,其他管理员与商家登录代码类似,在此不做赘述。
图10用户登录页面后台代码截图
对于没有注册的用户,我们设定是不能登录的。用户可以进行自行注册,注册时的信息我们除了对密码进行了MD5加密,电话邮箱和地址等信息我们也做了base64加密,最大程度的保证了用户的信息的安全性。功能代码实现如下图11所示,
图11用户注册代码实现截图
5.1.2商家管理模块实现
对于商品来说,商家可以进行的操作有手动添加商品,删除商品,修改商品,添加了的图书的上架下架,商品库存的简单修改等操作,点击添加或修改图书信息的时候,会进入到添加修改页面,根据我们数据库中设定的图书的属性,把它相应的信息填写完整之后,点击保存可以新增一条或修改一条图书信息。由于要提交文件图片,所以后台采用form表单进行数据提交,商家页面显示如图12所示:
图12商家管理页面
添加修改图书信息页面如图13所示:
图13添加图书信息
商品添加具体后台代码实现如下图14所示:
图14添加商品后台代码实现截图
商家订单售后管理,用户购买商品生成订单,商家可以对订单进行发货,对用户不满意的提出退换货处理,也可以拒绝用户的退换货要求,如下图图15所示:
图15商家订单管理
商家可以对自己公司信息进行修改,包括以下商家的名称,公司名称,认证的类型等,如下图16所示:
图16商家公司信息管理
5.1.3管理员模块实现
对商家和用户进行管理,主要有商家和用户的信息管理,账号管理(删除封号),对留言进行查看发言监督,可以删帖,删留言。商家信息页面如图17所示(用户页面相同不做展示):
图17商家信息管理
商家信息显示后台实现代码截图如图18所示
图18商家信息管理实现代码截图
管理员对聊天留言的管理界面如图19所示:
图19留言管理
删除留言评论主要功能后台代码如下图20所示:
图20删除留言及评论代码实现截图
5.2前台会员用户模块
5.2.1获取全部商品
对于登录了的用户,我们进入到商品页面,可以获取全部的商品,用户可以对图书信息进行浏览或选择,选择就是加入购物车,然后在图书信息列表,用户是不能对图书信息进行操作的,用户可以根据自己的要求去搜索自己想要的图书,比如说按类别,按条件查询等等。可以更加有目的性,更直观的方便快捷的找到用户自己想要的图书和减少时间的花费,没有则显示搜索结果为空,如图21所示:
图21用户首页界面
主页功能实现获取所有商品及商品条件查询代码如下图22所示:
图22获取所有商品及商品条件查询代码截图
5.2.2图书加购支付
点击图书可以查看图书的详细参数,查看图书详细界面可以进行加购等操作,在加入购物车时,用户可以选择数量,应该判断数量是否没有库存,如图23所示。
图23图书加购成功提示
在图书加入购物车以后,可以在我的购物车里查看,并且可以对数量进行一个修改,或者是对购物车里的图书进行删除,删除以后信息不在。后台加购主要代码如下图:
图24图书加购功能实现代码截图
5.2.3订单及详情模块
用户在选中想要自己想要购买的商品以后,转入到一个订单结算页面,准备去生成一个订单,在我们生成的订单中,可以有不止一个商品,可以是一个订单列表,进行下单时会根据时间日期等信息生成一个订单的号编号,这个编号比较唯一,然后这些信息会传递保存在数据库订单表中,其中包括商品信息,用户id,购物车编号,数量,收货人的相关信息等。如图25所示:
图25用户订单页面
下单完成以后会在个人中心,生成一个历史订单,历史订单可以查看订单详情,包含订单的状态,显示你所买的商品、价格和日期,订单是否取消等。如图26所示:
图26用户订单详情界面
5.2.4退换货模块
用户订单生成后可以在个人中心的历史订单查看,如果用户对于自己的这个订单不满意,可以取消订单,也可以在售后选择进行退换货,但是退换货需要管理员同意之后才可以进行。如图27所示:
图27用户退换货界面
订单退换货功能后台代码如下图28所示:
图28用户申请退货代码截图
5.2.5修改个人信息
如果用户发现当时注册时有某些信息填写错误,可以在个人中心进行信息的修改。如图29所示:
图29修改用户个人信息
用户可以在留言区发帖讨论,写自己的读书感受或者推书,留言他人帖子,也可以查看其他用户的评论,管理员可以对评论进行一个管理,如有发现一些特别不好的言辞的话,可以进行帖子或留言删除,个人也可以对自己的留言管理。
6系统测试
6.1测试说明
测试是完成项目的最后一项任务,也是帮助我们检测系统是否能够正常运行,功能是否完善,利用测试的结果来寻找系统的内在威胁,让系统更加的完美。
6.2测试环境配置
表5测试环境
测试服务器Tomcat 8.0
环境Windows 10
数据库Mysql 5.7
开发语言Java
后端开发框架Springboot
前端开发页面HTML5、CSS、JS
开发工具Idea、Chrome
测试工具Postman
测试用例分析:
测试用户:商城正式用员登录
测试描述:用户通过后台管理系统进行登录到用户页面
测试过程:当账号密码填写错误时点击登录,通过前端页面的js代码来检测输入框的内容。提示密码错误,重新输入。如图24所示:
图24用户登录测试
登录测试结果如表六所示:
表6前台用户登录测试
编号测试点测试过程实际结果
1不进行填写账号密码置空账号密码密码错误、重新输入
2正确填写账号密码输入账户进行登录进入首页界面
3只填写账号输入账号密码错误、重新输入
4错误的账号和密码输入账户进行登录密码错误、重新输入