springboot基于Java的网上购物系统的设计与实现

摘  要

网上购物系统是一种基于互联网的电子商务平台,这种系统为商家提供了一个虚拟的市场空间,使他们能够展示并销售产品给全球的潜在客户。网上购物系统通常包括一个用户友好的界面,使顾客可以轻松地搜索、比较和选择商品。网上购物系统彻底改变了传统的零售模式,为商家和用户提供了便利、高效和安全的交易环境,是当今数字时代不可或缺的商业工具。随着技术的不断进步和消费者需求的日益多样化,这些系统也在不断创新和发展,以提供更加丰富和个性化的购物体验。

系统阐述的是使用基于Java的网上购物系统,对于Java、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了springboot框架和MySql数据库技术搭建系统的整体架构。利用这些技术结合实际需求开发了具有用户、商品类型、商品信息、留言反馈、优惠劵、系统管理、订单管理、个人中心等必要功能的网上购物系统,最后对系统进行相应的测试,测试系统有无存在问题以及测试用户权限来优化系统,最后系统达到预期目标。

关键字:网上购物;Java;springboot;MySql数据库

Abstract

An online shopping system is an Internet-based e-commerce platform that provides a virtual market space for merchants to display and sell their products to potential customers around the world. Online shopping systems usually include a user-friendly interface that makes it easy for customers to search, compare and select items. Online shopping system has completely changed the traditional retail model, providing merchants and users with a convenient, efficient and safe transaction environment, and is an indispensable business tool in today’s digital era. As technology continues to advance and consumer needs become increasingly diverse, these systems are constantly innovating and evolving to provide a richer and more personalized shopping experience.

The system describes the use of Java based online shopping system, Java, B/S structure, MySql for more in-depth learning and application. It mainly shows the development process in terms of system design, description, implementation, analysis and testing. springboot framework and MySql database technology are used to build the overall architecture of the system. The use of these technologies combined with the actual needs of the development of users, commodity types, commodity information, message feedback, coupons, system management, order management, personal center and other necessary functions of the online shopping system, and finally the system to carry out the corresponding test, test whether there are problems in the system and test user rights to optimize the system, and finally the system to achieve the desired goal.

Key words: online shopping; Java; springboot; MySql database

目    录

摘  要

Abstract

1  概    述

1.1研究背景

1.2国内外研究现状

1.3研究内容

2  关键技术介绍

2.1 Java介绍

2.2 MySql数据库

2.3 Tomcat简介

2.4 B/S架构

2.5 Spring boot框架

2.6 VUE框架

2.7 推荐算法介绍

3  系统分析

3.1可行性分析

3.1.1经济可行性

3.1.2技术可行性

3.1.3运行可行性

3.2系统功能分析

3.3流程设计

3.3.1程序流程图设计

3.3.2添加信息流程图设计

3.3.3删除信息流程图设计

4  系统的设计

4.1系统总功能模块设计

4.2系统数据库设计

4.3数据表设计

5  系统的实现

5.1系统功能实现

5.2后台管理员模块实现

6系统测试

6.1软件测试原则

6.2软件测试过程

6.3测试用例

6.4本章小结

 

 

参考文献

1  概    述

1.1研究背景

随着互联网技术的飞速发展和普及,人们的购物习惯经历了革命性的变化,从传统的实体店购物逐渐转向了在线购物。这种趋势不仅改变了消费者获取商品的方式,同时也为商家提供了新的销售渠道和市场拓展的机会。网上购物系统的开发背景正是基于这样的市场需求和技术发展的双重推动下形成的。在21世纪初,随着电子商务的兴起,像亚马逊和eBay这样的先驱企业证明了在线销售的可行性,并展示了通过互联网进行交易的巨大潜力。这激发了全球范围内更多商家对于建立自己的在线商店的兴趣,从而推动了网上购物系统开发的热潮。

移动互联网的兴起进一步促进了网上购物系统的发展。智能手机和平板电脑的普及使得消费者可以随时随地浏览和购买商品,这要求网上购物系统必须具备良好的移动兼容性和优化的用户界面。大数据分析和云计算技术的应用也开始融入到系统开发中,使得商家能够更好地了解消费者行为,优化库存管理,并提供更加精准的市场推广策略。网上购物系统的开发背景是一个涉及技术进步、消费者行为变迁和市场竞争力增强的综合体。随着技术的不断创新和市场的日益成熟,未来的网上购物系统必将呈现出更多的智能化、个性化和高效化的特征,以满足不断变化的市场需求。

1.2国内外研究现状

网上购物系统作为电子商务领域的核心组成部分,在全球范围内受到了学术界和工业界的广泛关注。在国际市场上,研究主要集中在提高系统的用户体验、交易安全性、可扩展性以及数据分析能力等方面。许多国际知名的电商平台,如亚马逊、eBay和阿里巴巴,都在不断推动技术创新,通过引入人工智能、机器学习和大数据技术来优化搜索引擎、个性化推荐系统和用户界面设计。为了提升交易安全性,国际研究者也在探讨如何利用区块链等新兴技术来防止欺诈和保护消费者隐私。

在国内方面,随着中国电子商务的迅猛发展,网上购物系统的研究也呈现出蓬勃的发展态势。中国的研究人员和商业公司正致力于解决系统性能瓶颈、移动端适配、社交电商融合等问题。特别是在移动支付和社交电商领域,中国企业如支付宝、微信支付和拼多多等已经走在了世界前列,为全球电子商务提供了新的商业模式和解决方案。国内的研究还侧重于结合中国特有的市场需求和消费习惯,探索更加本地化的服务模式,如直播带货、限时秒杀等新型营销策略。

国内外的研究都开始关注网上购物系统对社会、经济和环境影响的长远研究。这包括电商物流的绿色化、包装减少化、碳排放降低以及循环经济在电商平台中的应用等议题。研究人员正在尝试从多学科的角度出发,结合经济学、社会学、环境科学等领域的知识,全面评估和指导网上购物系统的可持续发展。网上购物系统的研究现状显示出全球化和本土化并存的特点,不同市场根据各自的需求和挑战进行针对性的研究和创新。随着技术的不断进步和市场的日益成熟,未来网上购物系统的研究将继续深入,以满足更加多样化和复杂化的消费需求。

1.3研究内容

在系统开发过程中我们选择了Java作为后端开发语言,并引入了基于用户相似度的协同过滤算法,用于提供个性化的推荐功能。采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。前端开发部分,我们使用了HTML、CSS、JavaScript、uni这一流行的前端框架,使得界面设计和用户交互变得更加直观和便捷。在开发工具方面,我们选用了Eclipse和Navicat。Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,拥有友好的用户界面和强大的SQL处理能力,从而大大提高了我们的开发效率。系统共分为管理员和用户两个角色,主要包括用户、商品类型、商品信息、留言反馈、优惠劵、系统管理、订单管理、个人中心等功能。

2  关键技术介绍

网上购物系统设计过程中采用Java开发语言,B/S结构,采取springboot框架,并以MySql为数据库进行开发。结合以上技术,对本系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。

2.1 Java介绍

Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,SSM(java server pages),和XML技术[1]。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行[5]。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进[6]。

2.2 MySql数据库

MySql数据库具有轻便、稳定等特点,在系统的工程中对相关的数据操作,很好的保障数据的稳定,极大程度上减低了系统开发的时间。

MySql数据库支持多线程工作,能充分利用系统的资源,更具有效率且数据库连接也有对于的不同模式接口;MySql存储小、运行稳定并且对使用的要求不高。

利用MySql建立系统数据库,利于对系统的数据处理早期的整合,可以更好的发展后数据的扩展实际操作。

Mysql数据库的特点如下:

(1)Mysql是相比于Oracle更轻量、更简洁便于使用,在服务部署方面相对复杂度低,更利于毕设系统的开发。

(2)支持多种操作系统包括AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell‘s Netware、OpenBSD系统、OS/2卷、Solaris、Windows等。

(3)查询速度快。算法优化了查询语句,可靠地提高了搜索速度。

(4)Mysql可以使用Sql语言进行调用,学习成本较低。

(5)Mysql可支持互联网站数据共享也支持数据安全设置,防止数据泄露。

(6)高度非过程化。在访问数据库时,没有必要一步一步向计算机发送指令去完成任务,只需要用MySQL语句描述并且命令就可以了,数据库会自动完成全部工作。

2.3 Tomcat简介

Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技术的开源实现。因为可以通过HTTP提供HTML页面等静态内容的请求访问,所以是一个WEB服务器。

2.4 B/S架构

Browser/Server简称(B/S),即:浏览器/服务器架构模式;属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,在服务器上汇集了系统功能的最核心部分。

B/S架构模式,在服务器接收到浏览器发出请求后将进行对应的回应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web上下载程序时遇到某些和数据库相关的指令,可以将这些指令转接到数据库服务器来进行解释和执行。B/S架构工作流程图如2-1所示:

springboot基于Java的网上购物系统的设计与实现

图2-1 B/S架构工作流程图

2.5 Spring boot框架

Spring Boot的开发团队来自美国的Pivotal公司,是2013年研发的免费、轻量级、开源的系统框架[5]。它集合、默认了许多框架的使用方法,是基于原有的框架的功能的又一次进化,所以从这个角度看,它就又是一个旧的框架。

Spring boot有以下几个特点:低嵌入式设计,代码污染性低;不是只局限于Spring,开发者可以随意的选择Spring框架的任意几个部分;使程序的测试变得更加简单与方便;没有独立的Web服务器需要,所以不再需要启动Tomcat,Glass Fish。Spring boot启动流程图如图2-2所示:

springboot基于Java的网上购物系统的设计与实现

图2-2 Spring boot启动流程图

2.6 VUE框架

Vue.js是一款轻量级的JavaScript框架,用于构建用户界面。它采用了MVVM(Model-View-ViewModel)的架构模式,使得开发者可以更加高效地开发复杂的单页面应用程序。Vue.js具有简单易学、灵活高效的特点,并且提供了丰富的插件和工具支持,使得开发者可以快速构建出功能强大、交互友好的Web应用。Vue.js的核心特性包括响应式数据绑定、组件化开发、虚拟DOM等。响应式数据绑定使得数据的变动可以自动同步到视图上,大大减少了手动操作DOM的代码量;组件化开发可以将复杂的UI拆分成多个小组件,提高代码的可维护性和复用性;虚拟DOM则可以提高页面渲染的性能,减少不必要的重绘和回流。除了核心特性外,Vue.js还提供了许多实用的插件和工具,如Vue Router用于构建单页面应用的路由系统、Vuex用于状态管理、Vue CLI用于快速搭建项目等等。这些插件和工具可以帮助开发者更加高效地完成开发工作。

2.7 推荐算法介绍

推荐算法是一类算法,它根据用户的历史行为、偏好和需求,利用数据分析技术为用户推荐他们可能感兴趣的商品或服务。常见的推荐算法包括基于内容的推荐、协同过滤推荐以及混合推荐等。基于内容的推荐通过分析用户过去喜欢的物品特征来推荐类似的物品;协同过滤推荐则分为用户基和物品基两种,前者通过找到相似用户来推荐物品,后者则是通过找到相似物品来进行推荐;混合推荐结合了多种方法,以提高推荐的准确度和覆盖度。随着人工智能技术的发展,深度学习也被应用于推荐系统中,使得推荐更加精准和个性化。

3  系统分析

3.1可行性分析

为了系统的完整,必须要有可行性分析的,系统的可行性关系到生存问题,分析其意义可否利用本系统来弥补网上购物模式中的不足之处等,通过本系统来减少工作量,使管理者的工作和管理效率更高。对此体现出更多的意义和价值,系统完成后,进行具体的实际分析看是否能够达到期望的要求,确定之后再开始系统的搭建开发工作。对于网上购物系统开发的搭建中,对相关技术、实际情况和操作等一系列方面进行可行性分析;

3.1.1经济可行性

本系统所用软件均为微软软件,开发周期短,因而可节约大量时间与资源,达到降低成本之功效。并且具有很好的安全性、可靠性以及可扩展性。同时发展该平台需要的智能计算机配置很低,即使网吧中被淘汰掉的配置不高的计算机也能满足需要,因此具有充分的可行性。

3.1.2技术可行性

本系统开发的程序需具有网络功能,从而可以不受地点限制。由于采用了B/S模式,降低了成本,提高了效率。本平台以java, MYSQL数据库为设计工具,能够方便的学习与应用。所以将java与MYSQL集成而研制的智能系统具有可行性和有效性。

3.1.3运行可行性

运行可行性也可以说是系统可用性的体现,网上购物系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文讲述的是网上购物系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中。

3.2系统功能分析

网上购物系统主要有管理员和用户两个功能模块。以下将对这两个功能的作用进行详细的剖析。

管理员模块:管理员是系统中的核心用户,管理员登录后,可以对系统进行管理。主要功能有用户、商品类型、商品信息、留言反馈、优惠劵、系统管理、订单管理、个人中心等功能。管理员用例如图3-1所示。

springboot基于Java的网上购物系统的设计与实现

图3-1 管理员用例图

用户:用户进入系统可以对商品信息、购物活动、留言反馈、购物车、在线客服、个人中心(修改密码、我的订单、我的地址、我的收藏、我的优惠劵)等功能进行操作,用户用例如图3-2所示。

springboot基于Java的网上购物系统的设计与实现

图3-2用户用例图

3.3流程设计

3.3.1程序流程图设计

在本系统,非本系统的用户要想对网上购物系统进行操作就要注册本系统,登录时需要填写相应的资料,如有使用者,则会显示使用者名称已经存在,请再次键入使用者名称的提示框,若使用者不存在,则填写密码、确认密码等资料,并由系统判定密码与确认密码相符,确认无误后,填写使用者所填写的资料,即可进行登录。该系统的工作流程见图3-3.

springboot基于Java的网上购物系统的设计与实现

图3-3程序流程图

3.3.2添加信息流程图设计

在添加信息的时候,会判断是哪类用户,并根据用户类型判断执行是否合法,合法者可以进行添加,不合法者则不能进行此操作。管理员登录账号后可以对内容进行添加,拥有着最高的权限,其他用户权限次于管理员。添加信息流程图如图3-4所示:

springboot基于Java的网上购物系统的设计与实现

图3-4系统添加流程图

3.3.3删除信息流程图设计

删除数据时与添加数据功能类似,删除数据具体流程如图3-5所示:

springboot基于Java的网上购物系统的设计与实现

图3-5系统删除流程图

4  系统的设计

4.1系统总功能模块设计

网上购物系统分两大部分,即管理员管理和用户管理。系统按照用户的实际需求开发而来,贴近生活。管理员总体负责整体系统的运行维护,统筹协调。

整体功能展示如图4-1所示。

springboot基于Java的网上购物系统的设计与实现

图4-1 系统整体功能图

4.2系统数据库设计

从设计到制作研发一个系统,需要用到的技术很多,对于开发程序语言、数据库和框架布局都有严格的要求。该系统数据存放使用MySql的数据库,该数据库轻便快速,日常使使用系统十分稳定,更容易维护运行。

在一个资料模式中,一个被称作“实例”的实体,与真实的“事件”或者“物体”相匹配,可以与其它物体区分开来。例如,公司中的每个员工,家里中的每个家具。在系统中将对 “商品信息评论、留言反馈、我的优惠劵、优惠劵、购物车、购物活动”等几个主要的实体属性进行布局,如图4-2所示:

springboot基于Java的网上购物系统的设计与实现

图4-2系统局部E-R图

4.3数据表设计

系统创建数据库和表之间关联,期间花费了不少时间,尽力把表格完善,更好的呈现出来,让表更加明了,更加清晰。系统在MySql的可视化软件Navicat premium创建的数据表,简洁明了的设计让数据库的创建操作更加快捷,数据表的详细情况如下表所示。

表4-1:地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

address

varchar

200

地址

name

varchar

200

收货人

phone

varchar

200

电话

isdefault

varchar

200

是否默认地址[是/否]

表4-2:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

shangpinxinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

longtext

4294967295

商品图片

buynumber

int

购买数量

price

double

价格

0

total

double

总价格

0

discountprice

double

折扣价格

0

discounttotal

double

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

logistics

longtext

4294967295

物流

remark

varchar

200

备注

goodtype

varchar

200

商品类型

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

role

varchar

200

用户角色

couponnumber

varchar

200

券编号

discountamount

double

优惠额

0

orderno

varchar

200

统一订单编号

表4-3:购物活动分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

表4-4:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-5:购物活动

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

4294967295

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表4-6:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-7:我的优惠券

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

couponid

bigint

优惠券id

name

varchar

200

名称

couponnumber

varchar

200

券编号

fullamount

double

满额

0

discountamount

double

优惠额

0

startime

datetime

生效时间

endtime

datetime

过期时间

type

varchar

200

优惠券类型

remark

varchar

200

备注

status

varchar

200

状态

表4-8:留言反馈

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

留言人id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

content

longtext

4294967295

留言内容

cpicture

longtext

4294967295

留言图片

reply

longtext

4294967295

回复内容

rpicture

longtext

4294967295

回复图片

表4-9:商品信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

score

double

评分

reply

longtext

4294967295

回复内容

表4-10:优惠券

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

name

varchar

200

名称

type

varchar

200

券类型

fullamount

double

满额

0

discountamount

double

优惠额

0

startime

datetime

生效时间

endtime

datetime

过期时间

remark

varchar

200

备注

表4-11:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

表4-12:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4-13:在线客服

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

adminid

bigint

管理员id

ask

longtext

4294967295

提问

reply

longtext

4294967295

回复

isreply

int

是否回复

表4-14:购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tablename

varchar

200

商品表名

shangpinxinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

longtext

4294967295

图片

buynumber

int

购买数量

price

double

单价

discountprice

double

会员价

goodtype

varchar

200

商品类型

表4-15:商品类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinleixing

varchar

200

商品类型

表4-16:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

mima

varchar

200

密码

nicheng

varchar

200

昵称

xingbie

varchar

200

性别

shouji

varchar

200

手机

touxiang

longtext

4294967295

头像

money

double

余额

0

vip

varchar

200

是否会员

表4-17:商品信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinmingcheng

varchar

200

商品名称

tupian

longtext

4294967295

图片

shangpinleixing

varchar

200

商品类型

shengchanchangjia

varchar

200

生产厂家

pinpai

varchar

200

品牌

shangpinxiangqing

longtext

4294967295

商品详情

shangpinguige

varchar

200

商品规格

onelimittimes

int

单限

alllimittimes

int

库存

clicktime

datetime

最近点击时间

discussnum

int

评论数

0

price

double

价格

vipprice

double

会员价

-1

storeupnum

int

收藏数

0

以上就是网上购物系统中重点使用的关键数据库表格,表格全部展示过于杂乱,选取重点表格展示。

5  系统的实现

5.1系统功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:

springboot基于Java的网上购物系统的设计与实现

图5-1 系统首页界面

在注册流程中,用户在Vue前端填写必要信息(如账号、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:

springboot基于Java的网上购物系统的设计与实现

图5-2系统注册页面

商品信息:在商品信息页面输入商品名称和价格进行查询,可以查看到商品信息详情信息,并根据需要对商品信息详情信息进行添加到购物车、立即购买、优惠劵、收藏或评论操作;商品信息详情页面如图5-3所示:

springboot基于Java的网上购物系统的设计与实现

图5-3商品信息详情页面

个人中心:在个人中心页面可以更新个人详情信息,还可以对修改密码、我的订单、我的地址、我的收藏、我的优惠劵进行操作;如图5-4所示:

springboot基于Java的网上购物系统的设计与实现

图5-4个人中心界面

5.2后台管理员模块实现

在登录流程中,用户首先在vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。后台登录界面如图5-5所示:

springboot基于Java的网上购物系统的设计与实现

图5-5后台登录界面

管理员进入主页面,主要功能包括对用户、商品类型、商品信息、留言反馈、优惠劵、系统管理、订单管理、个人中心等进行操作。管理员主界面如图5-6所示:

springboot基于Java的网上购物系统的设计与实现

图5-6管理员主界面

用户功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写用户表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。用户界面如图5-7所示:

springboot基于Java的网上购物系统的设计与实现

图5-7用户界面

商品信息功能在视图层(view层)进行交互,比如点击“搜索、商品库存、新增或删除”按钮或填写商品信息表单。这些商品信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除商品信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便商品信息功能可以看到最新的信息或相应的操作反馈。商品信息界面如图5-8所示:

springboot基于Java的网上购物系统的设计与实现

图5-8商品信息界面

留言反馈功能在视图层(view层)进行交互,比如点击“搜索或删除”按钮或填写留言反馈表单。这些留言反馈表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、回复或删除留言反馈,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便留言反馈功能可以看到最新的信息或相应的操作反馈。留言反馈界面如图5-9所示:

springboot基于Java的网上购物系统的设计与实现

图5-9留言反馈界面

优惠劵功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写优惠劵表单。这些优惠劵表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除优惠劵,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便优惠劵功能可以看到最新的信息或相应的操作反馈。优惠劵界面如图5-10所示:

springboot基于Java的网上购物系统的设计与实现

图5-10优惠劵界面

管理员点击系统管理。在购物活动页面输入标题进行搜索、新增或删除购物活动列表,并根据需要对购物活动详情信息进行查看、修改或删除操作,还可以对轮播图管理、购物活动分类和在线客服进行详情操作。系统管理界面如图5-11所示:

springboot基于Java的网上购物系统的设计与实现

图5-11系统管理界面

6系统测试

系统的测试是必须的,需要知道的是这个阶段不是单独的,而是在全部的时间进行。这么做可以及时发现问题,还能找到产生矛盾的地方,并且可以尝试修改,这样就能完善系统。对于被测试的系统,都可以找到一些问题,而且还可以找到对应的位置在哪。其目的是对于整体的测试,发现需求中存在的矛盾,就可以做出修改了。测试的过程是对应于整体,有对软件的测试,发现需求的符合度,接下来,就是对数据的检测,以及对硬件的检测。

在软件测试规划中,必须了解测试流程,包括功能概述,测试周期,测试方法,测试范围,测试配置,测试技巧,测试交流,风险分析等。对于一些开发的人员,是可以知道测试方法,找到测试过程的一些的问题,然后可以应对这些问题。

6.1软件测试原则

系统的项目开始启动,系统测试也就是正式开始。软件的是有很多特殊性质,其一些测试也是整体的时间,不是一个单独的过程,因为有可能在所以时间段里,可以有不同的问题。从需求分析、系统设计的过程中,就可以进行系统的测试,制定相应的测试内容和设计文档,并且在整个开发过程中,都要进行系统的审核和确认[13],只有这样,才能更快的发现错误,从而提升系统的质量。为了更早地进行检测,让测试人员可以早知道测试难度,还有进行工作的准备,提前了解关于问题的风险,便于能够提高测试的效率,而且还能保证开发质量,还能够避免风险存在于测试里的,可以有更加完善的方案。

在测试过程中有一些问题,还有一些不足能被发现,这样测试可以使软件中有比较少的问题。有些人觉得只要能够通过软件测试的系统,就不会再存在任何问题,便可以比较放心的使用。这种把软件测试夸大的思想是违反原则的。总的来说即使软件测试能够发现任何问题,也不足以证明软件当中就没有任何的问题,系统就是完全正确的。软件测试必须很快地到软件开发过程中,这样就可以很快的地发现软件缺陷,并且越快发现软件问题,软件的修复成本就会越小。可以让测试人员加入需求的开发过程,以确保需求的可以测试的性质、正确性等,便可以更加有效地节省开发带来的成本。在有关于测试的环节当中也会尽早的找到问题,要是开发人员在某个模块发现了问题,那么在这模块中或许会存在不止一个问题。现在软件都比较复杂,而且测试也有难度,几乎不能有测试可以是完全。

测试是在一定的顺序,每个不同的阶段能够由出现的问题,可以了解到它的风险,这样也可以加强测试,从而可以保证软件使用时的质量。测试是需要比较早开始的,一方面就是保证软件的质量,有效的降低风险以及成本。测试的人员一般在分析需求时候就已经开始测试准备了,使得系统的不足在需求或者设计阶段就可以被发现出,就这点来说发现越早,能够修复的成本就越小。测试的设计可以确定测试的有效性以及效率问题,测试的工具只是提升了测试的效率,而非测试本身。在设计一个测试案例时,是还能改善可靠性,可以用更有效的方法。

6.2软件测试过程

软件测试中每当用户提出新的功能需求时,测试人员需要与开发人员一起做测试,这样测试人员就会对本次测试有个比较清晰的认识,具体要完成什么,都有什么功能等。而且当集成测试在完成后,开发的模块就会被联接在一起,从而形成一个完整的程序。每个各模块间的接口存在的许多缺陷都被消除,就可以进入了确认测试的阶段。确认测试是按照软件的需求规格,对软件进行评估是确保它否满足需求规格,然后决定最后的软件是否正常。

在测试规范后,就可以进行测试用例的编写,主要根据功能模块而展开,例如界面包括哪些操作,其中的操作是否可以正常进行,然后根据相关功能来设计,可以根据不同的情况来设计,对于一些测试过程中出现的问题等,以便查找测试任务的相关情况。

(1)单元测试

这种测试是一种用代码的编写,然后完成的测试方法,在整个检测流程中,是一个非常关键的步骤。在一项有关的程序中,可以进行测试的代码,这种的步骤和实现功能的运行过程是一样的,更加能够突出实现的时候,有关于一些数据的正确还有难易的问题。而且单元测试都由开发人员自己来实现。通常都是开发人员有义务编写相关的功能模块代码,由于对于这些问题的出现,会比别人更加的清楚。有目的单元测试,就是能够出现相应地方代码的执行行为与我们预期的具有一样的效果。一般是由开发人员查看相关代码来查找出问题,而且同样是不同的开发人员相互查看对方的代码,这样才能发现更多的问题。在使用工具扫描程序时,可以根据程序的一些错误的特征,是能够发现而且记录代码中的错误原因。还有就是可以使用工具能够自动生成测试用例,而且也能执行相关程序的测试,这种方式也是由于发现一些行为上的特征,并且报告错误的原因,这种测试的方法只能够发现一些明显的错误的问题,对一些不明显的错误就不能测试出原因所在,就比如一直简单的加法函数,其中的错误是相对比较简单的,但是以上的测试方法仍不能发现,是由于这种测试工具不可能自动的理解代码的功能。

(2)系统测试

所谓系统测试,就是把被确定的软件系统,包括电脑的硬件和网络,都是一个整体,它可以完成整个系统的检测和验证[14],系统试验是对整个软件系统进行的一次试验,其目的在于检测该系统能否达到要求,发现一些和需求规定不一样或者有歧义的地方,从而能够提出更加有效的方案。这里要有出现的任何问题,为了能够找到出现问题的位置,就是需要有调试的过程,然后进一步的改正。

这种测试也能够发现和规定不一样的时候,或者是出现的一些矛盾。都是需要提前有关于规定的需求做出比较,做出能够在实际的应用里,可以运行的一些对应的测试过程的用例。

(3)集成测试

集成测试是在单元测试后面开始的,将确定测试单元之间可以相互协调的运行。由于在很大的情况中,需要的系统不是有单独的几个或者一个人来完成,所以在前面的测试过程是,通过负责独立部分的开发者,同时也要负责这里的功能测试。但是如果要是把所以的测试部分都整合在一起,就可以发生一些问题。所以这里的测试是能够说明,不同的负责者的模块可以完全的正常执行,通常在执行集成测试之前,是必须先执行单元测试。

集成测试通过将逻辑上相关的两个或许多的功能模块连接起来执行增量的测试,接着又加入更多功能模块,以及对其功能进行的测试,一直到完成所有功能模块的集然后成功测试为止。集成测试又可以是自上而下方法[15],一般从测试最顶层的功能模块开始,接着一步步地降到最低的功能模块,其中测试是按照软件的具体控制流程从上到下的进行。还可以是自底向上的集成测试,可以很快的发现底层功能模块的问题,能够提高测试的效率。如果要是了解整个的框架,就必须是对应的功能测试在可以检测完的条件。

测试过程中的集成是相对容易的,而且用到的方法也是不太难,根据对应的方法,做出测试用例的需要也比较少,但是由于无法避免的功能模块间接口的问题,所以能够一次运行成功的可能性比较小。而且要是一次集成的功能模块数量比较多,在集成测试后有可能还出现大量的错误,这样系统的错误定位以及相关的修改就会存在比较大的问题,即便能够完成集成测试,但是有可能会留下很多的错误进入系统测试。

6.3测试用例

部分系统测试用例如表6-1所示。

表 6-1 测试用例表

测试功能、流程

预期结果

实际结果

结论

测试管理登录。管理员在登陆页面输入对应信息可以进入主页面

登陆成功,

之后跳转页面

登陆成功,

成功跳转页面

测试成功

6.4本章小结

一开始系统的测试是可以不用考虑整个的程序,只是考虑它的某个正常的部分,而且也可以不用看到其正常的运行的功能,暂时先不用了解具体的结构是什么样。只是用软件就能确定的测试,能够判断出测试的精确程度。这个软件的测试,其实是用一个软件的内部构造来进行的。同时经过一些分析来测试的。同时也是由代码进行的软件测试,开发者可以通过检查代码或利用开发工具,来判定系统的质量。

在正常的情况下,需要软件的安装程序必须能够比较好的与现存在系统是可以兼容的,而且还能有相关的提示信息,可以让用户查看,接着正常安装然后实现相应的功能。所以在这里就体现了测试的重要性,要是没有一些正确的测试过程就会导致软件安装上的错误,然后软件就不能正确的运行,所以在这里安装的测试就是比较重要的环节。其中安装的测试的目的就是检验系统能否可以成功的安装,同时也保证系统安装完成了可以正常运行。

在软件开发之后,会对软件做出测试。通过对软件的检测,能够发现软件的实际用法,主要是用户为主的,然后系统的开发人员以及质量保证的测试人员也应加入的测试。主要考虑的问题是各个功能是不是规范的,还有一些用户的会有的问题。不仅仅是一个方面的质量问题,而是需要进行全方位是功能验证,最后要确定软件是否符合要求,所以验收的测试是一项比较严格的测试项目,需要根据事先制订的一些相关的计划,进行对于软件配置的审查、功能的测试、性能的测试等,最后才能确保软件的正常使用。

结 论

系统阐述的是一个网上购物系统的设计与开发,在此系统的开发过程中应用到Java、MySql技术和面向接口编程。在系统的开发中应用B/S结构设计开发实现,让系统之间逻辑分层清晰明确使得系统更加的合理可靠,更加坚固的保证了项目的开发健壮性和准确性,更好的服务应用于网上购物。

这个系统的开发使我能够结合我以前的知识集成和改进它们。毕设就是检验我们对所学内容运用程度的时刻,对所学内容运用情况进行巩固与提高。本系统检验了自己的IT知识,同时也检验了自己运用相关知识去解决实际问题,使自己得到了一个锻炼与提升编程技能的机会。在设计上我遇到了很多困难,主要原因是我所拥有的知识不是很扎实,所以只靠几本书里的知识是远远不够的!自己经过实践取得了一些实践经验。知识不在于理解,必须学会运用,并且使之反映到实际生活中去,才是学知识的根本目的。面对困难,我学着怎样去处理,怎样去发现并分析有关的资料。此次实践使我在实际应用中有所提高,同时极大地增强了大脑的工作能力,使我在探索中获得快乐,在成功中获得幸福,是我莫大的财富。后期也将继续对系统做出进一步的优化升级。

(1) 完善操作逻辑,让系统功能更加合理。

(2) 补充完善小功能的应用,使系统更加完整实用。

(3) 精简美化系统界面,提高系统观赏度。

  致 谢

网上购物系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。同时,学校这次期间对我的帮助真的非常的大,身边的老师与同学都十分的热情,我有很多不懂的问题都是身边的老师与同学指导我的,可以说我的成长和进步是离不开学校的老师与同学,在这段期间我的成绩技术也是比以往进步的更加迅速。这四年的校园生活让我受益匪浅,终身难忘。

首先要感谢我的指导老师。她是一位发自内心希望我们这些学生成为优秀的人的老师。我还记得他在课间时间挨个问我们毕业后的想法,推荐我们课外书籍清单,鼓励我们学习课外知识的场景。他又很有责任感,在指导我们完成毕业设计和论文的同时,还给我们讲一些需要注意的事项,真正做到了教书育人。我每一回都因为实际操作中遇到苦难而向老师发消息求助时,老师总是秒回信息,事无巨细地解释清楚,而且同步发到同学群中,对于别的同学来说也是很大的帮助。或许对于一位老师来讲,学生有所成是他们的期望。那我希望这篇论文不是我的最后一篇论文。

其次感谢我的室友。虽然前几年的生活磕磕绊绊,小矛盾不断,但是最近一年我们都平静了下来。也很庆幸,我们在这段焦虑有压力的日子里几乎没有摩擦,而是相互鼓励,谢谢你们。

还有与我密不可分的亲人。即使他们当我因为压力而发脾气时,他们也只是告诉我:“要冷静”。在很多我认为自己撑不过去的时候,是他们的安慰与默默支持让我觉得自己可以。我希望我今后可以继续努力,去成为他们心中的那个我。

所以我会格外的珍惜这次不可多得的历练,在今后的工作生活的,我会继续努力,保持学习,保证自己思想的每日提升,学校带给我的东西很多很多,这些东西是我今后继续前行的养分,真的非常感谢,能够遇到这么多的人。

最后,我向母校老师们再次表示衷心的感谢和美好的祝福,感谢你们的辛勤栽培,祝老师们幸福健康!

参考文献

[1] 李兴华. JavaWeb开发实战经典基础篇(第1版)[M].北京:清华大学出版社,2019.8

[2] 程志艳, 张亮. JSP实用简明教程[M].北京:清华大学出版社,2019.12

[3] 陈刚. Eclipse从入门到精通[M].北京:清华大学出版社,2019.6

[4] 李勇平.JSP应用开发详解[M].电子工业出版社,2019.10

[5] 郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社,2019.2

[6] 张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社.  2020

[7] 李安渝. Web Services技术与实现[M]. 北京:国防工业出版社,2020

[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2020.6:1-205

[9] 曹广鑫 编著.JSP数据库项目开发宝典[M].北京:电子工业出版社,2020

[10] 王剑,邓武.基于Web服务面向服务的动态电子商务应用框架研究[J].科学技术与工程,2018,2(3):65-90

[11] 周旌恒.JSP应用开发详解(第三版)[M].北京:电子工业出版社,2020

[12] Shanliang Xue;Qing Yan Wei;Guang Ming Jiao;Dun Wen Zuo. Research Code Management System Based on J2EE[J]. Key Engineering Material.2019,Vol.431-432(188-191)

[13] Yan Ming Li;Li Feng Wan. Design On Framework Structure of College English Learning Management System Based on Struts2[J].Advanced Materials Research.2019,Vol.846-847(1558-1561)

[14]Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA:  Prentice Hall, 2020

[15] Joshua Bloch. Effective Java[M]. Piscataway, N.J:  IEEE Press, 2019

[16] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First International Conference on E-Science and GridComputing,2019:58-70,90

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...