当前位置: 首页 > news >正文

基于Spring Boot的云上水果超市的设计与实现

摘 要

伴随着我国社会的发展,人民生活质量日益提高。于是对云上水果超市进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套云上水果超市,帮助商家进行商品信息、水果资讯等繁琐又重复的工作,提高工作效率的同时,也减轻了管理者的压力。
本论文的主要内容包括:
第一,研究分析当下主流的web技术,结合超市日常管理方式,进行云上水果超市的数据库设计,设计云上水果超市功能,并对每个模块进行说明。
第二,陈列说明该系统实现所采用的架构、系统搭建采用的服务器、系统开发环境和使用的工具,以及系统后台采用的数据库。
最后,对系统进行全面测试,主要包括功能测试、查询性能测试、安全性能测试。
分析系统存在的不足以及将来改进的方向。
关键词:云上水果超市;B/S架构;SpringBoot框架;

Abstract
With the development of our society, the quality of life of the people is improving day by day. Therefore, it is very necessary to standardize and strictly implement the fruit supermarket on the cloud, so many information management systems came into being. At this time, it seems that human resources alone cannot cope with these matters. Therefore, this paper will design a set of cloud fruit supermarket to help merchants carry out tedious and repetitive work such as commodity information and fruit information, improve work efficiency, and also reduce the pressure of managers.
The main contents of this paper include:
First, research and analyze the current mainstream web technology, combine the daily management mode of supermarkets, design the database of the fruit supermarket on the cloud, design the function of the fruit supermarket on the cloud, and explain each module.
Secondly, it shows the architecture used to realize the system, the server used to build the system, the system development environment and the tools used, and the database used in the background of the system.
Finally, the system is tested comprehensively, including function test, query performance test and security performance test.
Analyze the shortcomings of the system and the direction of future improvement.
Key words: fruit supermarket on the cloud; B/S architecture; SpringBoot framework;

目 录

摘 要 Ⅰ
Abstract Ⅱ
1 绪 论 1
1.1研究背景 1
1.2 研究意义 2
1.3 研究现状 2
1.4本文组织结构 3
2 技术介绍 4
2.1 SpringBoot框架 4
2.2 Java语言 5
2.3 Mysql的特点 6
2.4 B/S架构 6
2.5本章小结 6
3需求分析 7
3.1可行性分析 7
3.1.1经济可行性 7
3.1.2技术可行性 8
3.1.3运营可行性 8
3.1.4法律可行性 8
3.2系统需求分析 8
3.2.1 性能需求 9
3.2.2 安全性需求 9
3.2.3 功能需求 10
3.3本章小结 10
4系统设计 11
4.1系统结构设计 11
4.2系统功能模块设计 11
4.3 数据库设计 12
4.3.1 概念模型设计 12
4.3.2 数据库表结构 12
4.4本章小结 14
5 系统实现 15
5.1系统开发环境以及运行环境 15
5.1.1 系统开发环境 15
5.1.2 系统运行环境 15
5.2云上水果超市的主要功能模块实现 15
5.2.1前台系统功能模块 15
5.2.2后台管理员功能模块 16
5.2.3后台员工信息功能模块 16
5.2.4后台用户功能模块 16
5.2.5本章小结 18
6系统测试 19
6.1 系统测试目的 19
6.2 系统测试环境 19
6.3系统测试用例 19
6.4本章小结 20
结 论 21
参考文献 22
致 谢 23

1 绪 论

1.1研究背景
信息技术的集成化和信息网络化的不断发展,人类开始步入信息化时代,信息技术作为一种资源成为超市战略不可分割的一部分,在当今社会,人们的生活节奏逐渐加快,人们对经济的要求逐渐降低,越来越多的人开始追求简单、快捷的方式。以现在计算机的技术的应用,使计算机成为人们使用现代发达技术的桥梁[1]。计算机可以有效的解决信息,十分方便的获取信息,从而提高工作的效率。
1.2 研究意义
现如今科技的卓越发展,时代环境的大变革。人们生活变得越来越多元化,这种多元化很大程度上由互联网科技发展引起,日新月异的互联网让我们实现了众多的不可能。利用网络进行信息管理改革已经成为了人们追捧的一种趋势[2]。“云上水果超市”是运用java语言,SpringBoot框架,以Mysql数据库为基础而来发出来的。为保证我国经济的持续性发展,必须要让互联网信息时代在我国日益壮大,蓬勃发展,一个好的云上水果超市,方便用户通过注册登录系统购买商品,修改个人信息等,员工信息发布商品信息、商品购买、订单信息等,管理员对信息进行维护与管理,还能帮助管理者从琐碎冗杂的日常管理事务中解放出来,更专心投入在其它事务上,因而能更好的履行它自身的社会责任,这个云上水果超市也就间接地为美好社会的创建出了一份力[3]。所以云上水果超市的设计和实现是必要的也是很有意义的。
1.3研究现状
如今,因为无线网相关技术的快速,尤其是在网上进行资源的上传下载、搜索查询等技术,以及信息处理和语言开发技术的进步,同时编程语言、建模技术的不断发展,促使诸多的平台系统架构由C/S(客户端/服务器)更多的转变为采用B/S(浏览器/服务器)的架构,从而让程序平台网络端的系统架构迎来了一个新的阶段。
并且,在对国外云上水果超市发展现状的了解中,发现国外云上水果超市一大多是一种门户的建设,除日常的办公业务外,与物流和资金流关系紧密的许多业务也都被设计为功能模块加入系统中[4]。在这一点上,我国完全没有落后,通过采用集成了这些功能的系统,帮助超市各项业务的工作效率都得到了极大提高,从而持续地为超市带来更多经济收益。
1.4本文组织结构
本论文将详细阐述云上水果超市的开发背景、应用可行性以及系统实现所具有的现实意义,在对云上水果超市进行详细的需求分析后,会根据需求分析的结果再结合实际情况为系统的实现选取合适的技术和架构,之后在上述分析论述的基础上进行系统设计,最后完成系统实现和测试。
本文共分为七章,分别是:
第一章绪论,在这一章中对云上水果超市的研究背景和意义进行介绍,同时浅述了信息管理系统的发展,明确了云上水果超市的实现的目的和方向[5]。
第二章技术介绍,在本章中列举介绍了系统实现采用到的所有技术,包括一些主流的框架技术。
第三章需求分析,这一章对云上水果超市的需求进行了全面详细的分析,从系统实现的应用可行性、技术可行性,再到系统的功能、性能、安全性需求都做了说明分析,最后描述了系统的业务流程对需求分析进行补充。
第四章系统设计,这一章中包含了系统实现选取的架构模式,以及组成系统的各个功能模块。
第五章系统实现,本章是在经过前面几章的分析后,将云上水果超市开发实现,章节内容包括系统开发环境、运行环境和具体的功能模块实现。
第六章系统测试,模拟系统的实际应用环境,对编写完成的程序进行测试。在本章中列举了测试用例和测试结果。
第七章总结,对云上水果超市的整个设计和实现过程进行总结[6]。

2 技术介绍

在这一章中,主要是罗列出实现系统将采用的java语言并对其做简单介绍。本论文中的云上水果超市使用当下主流的SpringBoot作为后台开发框架,系统的底层数据库选用了关系型数据库MySQL。
2.1 SpringBoot框架
该框架拥有自己独特的配置方式,网站开发人员不需要再进行大量重复的样板 式的配置工作,开箱即用,不会生成额外代码量,不需要进行XML文件的配置。
2.2 Java语言
Java是一种在Web应用开发中得到广泛使用的脚本语言,经常被用来对用户的相关行为做出反应。它还具有面向对象的设计能力,使设计开发过程更加直观和模块化,并在HTML基础上进行交互Web页面的开发。这种脚本语言的问世,使用户与页面之间的实时、动态交互成为现实,丰富了页面的内容,增强了页面的活力。另外,Java技术也被广泛地运用于该系统,比如对用户输入的数据进行检测,以保证其有效性。Java技术可以在不依赖Web服务程序的基础上在本地客户机上运行。从而有效地解决了因网络速度所带来的迟缓问题,使用户能够更加顺畅、快捷地进行访问。一些功能,比如用户的数据输入,可以通过JavaScript这样的客户语言来完成。该系统采用Java客户机进行用户身份认证,确保了系统的安全性和可靠性。

2.3 Mysql的特点
Mysql 可以处理拥有上千万条记录的大型数据,支持常见的SQL语句规范,可移植性高,安装简单小巧,良好的运行效率,有丰富信息的网络支持,相对其他大型数据库而言,调试、管理,优化简单;使用客户端工具操作效率高,安全性高,使用WEB方式简单方便,不受限制。
2.4 B/S架构
Web程序设计技术是一项用于网页制造方面的专业技术,主要实现了网页的动态交互功能,通过此项技术语言(如PHP、CGI、ASP等)所设计的相关网页可以对用户所发出的及时操作以及需求进展相应的相应,从而到达实现即时动态交互的目的。
B/S构造(Browser/Server,浏览器/效劳器模式),其是一种分布式的计算机网络系统,用户通过浏览器向上一级的网站程序传递相关的参数和请求,然后效劳器上的程序再将这些请求和参数进展处理,最后将结果通过反响回用户浏览器反映出来。

2.5本章小结
在本章中,详细介绍了本论文中实现的云上水果超市所采用的技术,包括后台开发中所使用的SpringBoot框架,对上述技术的研究和应用,可以为程序后续的顺利开发提供帮助,在简化程序开发的同时提高开发效率和质量[7]。

3需求分析

在这一章中将对本论文要实现的云上水果超市进行详尽的可行性分析、需求分析等,本章内容主要涵盖了对系统预期应用环境的分析,对系统功能和安全性需求的分析,最后还有对系统的功能需求的分析[8]。这一章的内容将为之后的系统设计和实现提供可靠依据,是系统完整可靠实现的重要保障。

3.1可行性分析
3.1.1经济可行性
系统采用的是开发环境Eclipse进行设计以及编写,并且根据所学的java语言来实现相应的功能的开发,综合就是一个比较基础的系统开发设计,所以所用到的有开源的开发环境所构成。而且可以利用现有的设备,不用进行另外的硬件设备购买[9]。
用户通过使用云上水果超市,很大程度减小了人员成本,极大提高了管理的效率。目前的由人员管理的方式存在很多不足,首先是人工成本大,并且工作效率比较低,然后是存在着很多现金流失的问题[10]。
经济可行性是主要计算项目的开发成本,还有项目成功后可能带来的有效收益。很多的项目只有开发成本能控制在企业有可能接受的范围内的情况下,这样的项目才会被批准开发。然而本次系统的开发在上述所有的问题的情况下,是可以完成相关的系统设计。
3.1.2技术可行性
技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,在B/S在这种设计模式下能够真正的实现数据层和表示层的分离,以及前台页面是否可以做到美观实用,是否吸引眼球。网站是否足够稳定,后台管理页面是否足够方便管理,数据库的构建是否可以符合系统要求,是否需要搭建集群等等[11]。
3.1.3运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用于小孩,成人和老人。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。JAVA 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说Java的可移植性很强,那么系统的价值越高,可行性也就越强[12]。
3.1.4法律可行性
该云上水果超市是面向大众开源化和不收取任何费用的。它的主要目的是帮助人们解决高重复手工问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制[13]。

3.2系统需求分析
3.2.1 性能需求
云上水果超市设计的目的在于帮助超市的管理者能够更加高效轻松地进行日常的管理工作,所以作为一个工具,该系统应该被设计得易于上手使用,整个系统界面需要简洁明了、清晰易懂,而且一定要为用户提供必要的提示信息,比如在登录时用户密码或者用户名输入错误时要给予提示。总之一定要从使用者的角度出发,去设计用户操作界面[14]。
3.2.2 安全性需求
首先要保证服务器不受攻击,数据库不能曝露在互联中。对使用系统的不同用户赋予相应的权限,用户只能进行自己权限允许范围内的操作。数据库中进行多用户管理,对用户的敏感信息如身份证信息,只有最高权限的数据库管理员用户可查询,其他用户无权限查看。
3.2.3功能需求
本云上水果超市是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了用户、员工信息和管理员这三者的需求。操作简单易懂,合理分析各个模块的功能,尽可能优化界面,让用户、员工信息和管理员能使用环境更好的系统。
对比要实现的功能来分析出用户的需求,可以让用户在线对其进行查看商品信息、水果资讯等信息,这不仅满足了用户的需求,还大大的节省了时间。员工信息只能自己权限内操作功能,因此,管理员对信息进行添加、修改、删除、查看,可以提高管理员的工作效率。
(1)管理员用例图如图3-1所示;
在这里插入图片描述

                           图3-1 管理员用例图

(2) 用户用例图如图3-2所示:
在这里插入图片描述

                                图3-2 用户用例图

(3) 员工信息用例图如图3-3所示:
在这里插入图片描述

                                图3-3 员工信息用例图

3.3本章小结
在本章中对本论文要实现的云上水果超市要实现的需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。

4系统设计

通过前三章的分析说明,本论文中云上水果超市已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
4.1系统结构设计
随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的云上水果超市也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层,并且在表现层采用MVC设计模型。
采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前台也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。
同时,该系统采用的三层B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。
以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。
这些功能可以充分满足云上水果超市的需求。此系统功能较为全面如下图系统功能结构如图4-1所示。

在这里插入图片描述

图4-1功能结构图

4.2系统功能模块设计
云上水果超市的使用者主要有三类用户,一类是管理员,他拥有整个系统的最高权限,然后是用户和员工信息,他具有管理员给予级别的权限,都只能对自己的个人信息进行操作。系统根据这三类用户,划分出了三大功能模块。
4.3 数据库设计
4.3.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体线以及关联构成的图,E-R图可以明确地叙述系统中涵盖的实体线相互关系。
用户信息实体图如图4-2所示:
在这里插入图片描述

图4-2用户信息实体图

商品信息实体图如图4-3所示:
在这里插入图片描述

图4-3商品信息实体图

员工信息实体图如图4-4所示:
在这里插入图片描述

图4-4员工信息实体图

4.3.2 数据库表结构
本论文中的云上水果超市采用MySQL数据库,系统中的所有对象以及对象的所有属性都将在下列表格中展现。
表4-1:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-2:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-3:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3

表4-4: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-5:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3

表4-6:商品类型
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinleixing varchar 200 商品类型

表4-7:商品进货
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
jinhuobianhao varchar 200 进货编号
shangpinmingcheng varchar 200 商品名称
shangpinxiangqing longtext 4294967295 商品详情
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
chandi varchar 200 产地
caizhairiqi date 采摘日期
guige varchar 200 规格
caigoudanjia float 采购单价
caihuoshuliang int 采货数量
zongjiage float 总价格
jinhuoshijian datetime 进货时间
caigougonghao varchar 200 采购工号
caigouxingming varchar 200 采购姓名

表4-8:商品购买
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
xiadanbianhao varchar 200 下单编号
shangpinmingcheng varchar 200 商品名称
shangpinxiangqing longtext 4294967295 商品详情
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
chandi varchar 200 产地
caizhairiqi date 采摘日期
guige varchar 200 规格
danjia float 单价
shuliang int 数量
zongjiage float 总价格
xiadanshijian datetime 下单时间
yonghuzhanghao varchar 200 用户账号
yonghuxingming varchar 200 用户姓名
ispay varchar 200 是否支付 未支付

表4-9:水果资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容

表4-10:员工信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuangonggonghao varchar 200 员工工号
mima varchar 200 密码
yuangongxingming varchar 200 员工姓名
touxiang longtext 4294967295 头像
xingbie varchar 200 性别
yuangongdianhua varchar 200 员工电话
shenfenzhenghao varchar 200 身份证号
chushengriqi date 出生日期
lianxidizhi varchar 200 联系地址
gongzi int 工资
ruzhiriqi date 入职日期
dengjiriqi date 登记日期
beizhu longtext 4294967295 备注

表4-11:订单信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
xiadanbianhao varchar 200 下单编号
shangpinmingcheng varchar 200 商品名称
shangpinxiangqing varchar 200 商品详情
shangpinleixing varchar 200 商品类型
chandi varchar 200 产地
guige varchar 200 规格
danjia varchar 200 单价
shuliang varchar 200 数量
zongjiage varchar 200 总价格
xiadanshijian varchar 200 下单时间
dengjishijian datetime 登记时间
yonghuzhanghao varchar 200 用户账号
yonghuxingming varchar 200 用户姓名
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名

表4-12:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
xingbie varchar 200 性别
touxiang longtext 4294967295 头像
yonghudianhua varchar 200 用户电话
shenfenzhenghao varchar 200 身份证号

表4-13:损耗记录
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
dengjibianhao varchar 200 登记编号
jinhuobianhao varchar 200 进货编号
shangpinmingcheng varchar 200 商品名称
shangpinxiangqing longtext 4294967295 商品详情
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
chandi varchar 200 产地
caizhairiqi varchar 200 采摘日期
guige varchar 200 规格
danjia float 单价
sunhaoyuanyin longtext 4294967295 损耗原因
sunhaoshuliang int 损耗数量
sunhaozongjia float 损耗总价
dengjishijian datetime 登记时间
caigougonghao varchar 200 采购工号
caigouxingming varchar 200 采购姓名

表4-14:商品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shangpinxiangqing longtext 4294967295 商品详情
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
danjia float 单价
guige varchar 200 规格
chandi varchar 200 产地
caizhairiqi date 采摘日期
fabushijian datetime 发布时间
clicktime datetime 最近点击时间

4.4本章小结
本章主要是对云上水果超市进行设计,详细的说明了该系统实现所采用的架构、系统中所有的功能模块,并以表格的形式展现了系统持久层中的所有实体和实体的所有属性。明确的功能说明和详尽的数据陈列,方便将系统业务和数据联系起来,为后面的程序开发提供方便。

5 系统实现

在上一章中,本论文中的云上水果超市进行了全面的系统设计。接下来第五章对本云上水果超市的实现过程进行说明,包括对该云上水果超市所需的开发环境、运行环境的说明以及对上一章中提到的各种内容的实现。
5.1系统开发环境以及运行环境
5.1.1 系统开发环境
表5-1 开发环境
开发使用的操作系统 Windows10
开发使用的编程语言 JAVA
开发框架选择 SpringBoot
选取的数据库 MySQL
开发采用的Eclipse IntelliJ Eclipse

5.1.2 系统运行环境
本云上水果超市的运行环境如表5-2所示。

表5-2 客户端运行环境
运行使用操作系统 Windows10
客户端软件 Chrome浏览器

5.2云上水果超市的主要功能模块实现
5.2.1前台系统功能模块
网站首页页面主要包括首页、商品信息、水果资讯、后台管理等内容,并根据需要进行详细操作;如图5-1所示:
在这里插入图片描述

图5-1网站首页界面图

注册时将进行密码校验,若密码不一致将不能注册,以此来防止用户输入错误密码,影响体验,下面截图是用户注册成功页面,如图5-2所示。
在这里插入图片描述

图5-2用户注册界面图

用户将在此界面进行身份验证和登录,该页面将在前台提交数据给后台之前对表单中的用户名和密码进行格式校验,比如输入的验证信息不能为空,并给予相应的提示信息,下面截图是用户登录成功页面,如图5-3所示。
在这里插入图片描述

图5-3用户登录界面图

用户点击商品信息,在商品信息页面的搜索栏输入商品编号、商品名称,进行查询,也可以查看商品编号、商品名称、商品类型、图片、单价、规格、产地、采摘日期、发布时间等内容,还可以点击购买、收藏或者评论等操作;如图5-4所示。
在这里插入图片描述

图5-4商品信息界面图

用户点击水果资讯:在水果资讯页面的搜索栏输入标题,进行查询,还可以查看标题、简介、发布时间、水果资讯等内容,如图5-5所示。
在这里插入图片描述

图5-5水果资讯界面图

用户点击个人中心,在个人中心页面可以修改个人信息、密码修改,如图5-6所示。

在这里插入图片描述

图5-6个人中心界面图

5.2.2后台管理员功能模块
管理员进行登录,进入系统前在登录页面根据要求填写用户名和密码、角色等信息,点击登录操作,如图5-7所示。
在这里插入图片描述

图5-7管理员登录界面图

管理员登录系统后,可以对系统首页、个人中心、用户管理、员工信息管理、商品类型管理、商品信息管理、商品购买管理、订单信息管理、商品进货管理、损耗记录管理、系统管理等进行相应的操作管理,如图5-8所示。
在这里插入图片描述

图5-8管理员功能界图面

管理员点击用户管理,在用户管理页面输入用户账号、用户姓名、性别、头像、用户电话、身份证号等信息,然后进行查询、新增或删除用户信息等操作,如图5-9所示。
在这里插入图片描述

图5-9用户管理界面图

管理员点击员工信息管理,在员工信息管理页面输入员工工号、员工姓名、头像、性别、员工电话、身份证号、出生日期、联系地址、工资、入职日期、登记日期等信息,然后进行查询、新增或删除员工信息信息等操作,如图5-10所示。
在这里插入图片描述

图5-10员工信息管理界面图

管理员点击商品信息管理,在商品信息管理页面输入商品编号、商品名称、商品类型、图片、单价、规格、产地、采摘日期、发布时间等信息,然后进行查询或删除商品信息等操作,如图5-11所示。
在这里插入图片描述

图5-11商品信息管理界面图

管理员点击商品购买管理,在商品购买管理页面对下单编号、商品名称、商品类型、图片、产地、采摘日期、规格、单价、数量、总价格、下单时间、用户账号、用户姓名、是否支付等信息,然后进行查询或删除商品购买等操作,如图5-12所示。
在这里插入图片描述

图5-12商品购买管理界面图

管理员点击订单信息管理,在订单信息管理页面对下单编号、商品名称、商品详情、商品类型、产地、规格、单价、数量、总价格、下单时间、登记时间、用户账号、用户姓名、员工工号、员工姓名等信息,然后进行查询或删除订单信息等操作,如图5-13所示。
在这里插入图片描述

图5-13订单信息管理界面图

管理员点击损耗记录管理,在损耗记录管理页面对登记编号、进货编号、商品名称、商品类型、图片、产地、采摘日期、规格、单价、损耗数量、损耗总价、登记时间、采购工号、采购姓名等信息,然后进行查询或删除损耗记录等操作,如图5-14所示。
在这里插入图片描述

图5-14损耗记录管理界面图

5.2.3后台员工信息功能模块
在系统上员工信息点击登录按钮,在登录界面填写信息完成后,单击登录操作,如图5-15所示:
在这里插入图片描述

图5-15员工信息登录界面

员工信息登录系统后可以对系统首页、个人中心、商品信息管理、商品购买管理、订单信息管理、商品进货管理、损耗记录管理等功能进行操作。如图5-16所示:
在这里插入图片描述

图5-16员工信息功能主界面

5.2.4后台用户功能模块
用户点击后台管理,然后页面跳转到系统后可以对系统首页、个人中心、商品购买管理、订单信息管理等功能进行操作。如图5-17所示:
在这里插入图片描述

图5-17用户功能主界面

5.2.5本章小结
在本章中对系统的开发和应用环境进行说明,这些内容为下一章测试时的环境搭建提供依据。本章还通过文字说明和截图的方式对系统应用的界面做了简要介绍。

6系统测试

系统测试是针对整个产品系统进行的测试,通过测试验证整个系统是否正确满足了前面需求分析篇章中的所有需求,测试系统的性能和功能是否与预想的一致,进而提高系统的稳定性和可靠性[15]。同时,通过合理的测试可以发现系统中存在的问题,以防止系统在正式投入使用后出现故障,影响系统使用者工作的顺利进行。系统测试的的主要方法有白盒测试和黑盒测试,本章节将采用黑盒测试法,从系统的功能和性能两方面入手进行测试。
6.1 系统测试目的
在一个可靠的软件系统开发过程中,系统测试是其中重要的一环,有时在一套大型的软件系统中一个小故障就可能带来严重后果。虽然不存在完全没有问题的软件,但是可以通过全面系统的测试尽可能的发现漏洞,并在系统投入使用前修复漏洞,尽可能减小在实际使用中系统发生故障的概率[16]。

6.2 系统测试环境
为了使测试结果更加可靠,需要模拟实际的系统应用场景来搭建测试环境。下表列出了系统测试环境的组成部分。
表6-1系统测试环境组成
硬件或软件 型号以及版本
操作系统 Windows10
数据库 MySQL
浏览器 Chrome
测试网络 4G热点
6.3系统测试用例
1.页面跳转测试
目的测试是测试系统的不同功能页面间能否正常准确跳转,测试结果如下表。
表6-2首页跳转表
编号 操作 预期结果 测试结果
1 点击用户管理 跳转相应用户管理界面 成功跳转管理界面
2 点击登录 跳转至初始界面 成功跳转初始界面
3 点击注册 跳转到注册界面 成功跳转注册界面

2.用户登录功能测试
测试登录注册功能的正确性以及用户错误登录时的系统反馈,测试结果如下表所示。
表6-3 注册登陆页面测试表
编号 操作 预期结果 测试结果
1 点击注册,输入新的用户名密码 注册成功 注册成功
2 使用注册成功的用户名进行登录 登陆成功 登录成功
3 使用错误用户名登录 显示账号或密码错误 提示“账号或密码错误”
4 用户名为空进行登录 显示用户名不能为空 提示“用户名不能为空”

6.4本章小结
本章旨在进一步的完善系统,为此进行了系统测试,通过测试验证了系统运行的正确性和可靠性,根据测试结果也进一步完善了云上水果超市的功能。

结 论

本文对云上水果超市的实现进行了分析设计,并给予分析设计的内容实现了云上水果超市。在论文开端,通过对现实背景的分析论述,证明了云上水果超市的应用可行性和现实意义。之后我们对系统实现所采用的技术进行研究说明,然后结合超市日常管理工作的实际情况,提出了系统实现要满足的需求,并详细叙述了这些需求的具体内容以及将要应用系统的不同使用者的业务流程,这些是云上水果超市能够正确实现功能的基本前提和依据,后续的设计与实现都将围绕需求中的内容展开。接着开始进行系统设计,首先进行系统架构设计,采用了当下主流的B/S结构,方便了系统的开发,降低了系统功能扩充的维护成本。然后,对数据库进行设计,将所有数据表列出。最后,我们将云上水果超市实现,并进行测试。
在整个系统的设计与实现过程中,除了应用在学校中学到的知识外还学习了新的技术,使我在整合已有知识的同时,拓宽了自己的知识面,增加了自己的技能点。这个过程必然不是一帆风顺的,其中有许多同学和老师的帮助,所以这次毕业设计是十分愉快的一次经历。

参考文献

[1]张敏. 昆明市康驰云上水果超市的设计与实现[D].电子科技大学,2019.
[2]崔文明. 海东宜达学校业务管理系统的设计与实现[D].北京工业大学,2020.
[3]刘辉兰. 基于B/S的云上水果超市的研究与实现[D].广西大学,2019.
[4]栾雪莲. 学校培训管理系统设计与实现[D].黑龙江大学,2020.
[5]张乃勇. 云上水果超市的设计与实现[D].电子科技大学,2021.
[6]赵庆东. 本溪卧龙云上水果超市的设计与实现[D].电子科技大学,2020.
[7]web应用开发中的SpringBoot框架设计[J]. 贺雪梅. 电子世界. 2019(01).
[8]Spring Boot框架在模型层的应用及原理[J]. 温立辉. 福建电脑. 2020(05).
[9]大型网站分布式架构的研究和应用[J]. 张玛丽. 山西电子技术. 2021(02).
[10]我国中小企业信息化的思考与探索[J]. 胡磊. 企业经济. 2019(11).
[11]史济民,顾春华,李昌武,苑荣.软件工程——原理、方法与应用.北京:高等 教育出版社,2019.
[12]黄光奇。Web数据库互连技术开发指南.北京:国防工业出版社,2020.
[13]Cook, Guy. Principles & Practice in Applied Linguistics. Oxford: Oxford University Press. 2019.
[14]Stern, H.H. Issues and Options in Language Teaching. Oxford: Oxford University Press. 2019.
[15] Research and application of Web System Based on SpringBoot framework [J] Zou Hongting Journal of Hunan Institute of Technology (NATURAL SCIENCE EDITION) 2019(01).

致 谢

毕业设计是我在大学校园中的最后一项内容了,毕业设计结束的那天也意味着我的大学生活的结束,所以在做毕业设计的时候我的内心十分复杂,因为大学生活对我来说是十分幸福的一段时光。在大学我遇到了很好的老师和同学,他们身上有很多吸引我值得我学习的特质,在和他们的相处中我也在不断完善自己,所以只是和他们相遇相识就已经让我很开心很感谢了。包括在完成毕业论文的过程中,老师也十分耐心的给予同学们耐心的指导,在我们不自信和受挫的时候也一直鼓励我们、相信我们,在毕业论文的写作遇到瓶颈的时候,还有很好的同学彼此沟通,又或者是一起去打球,往往使我感到放松并且产生新的思路。毕业后的分离总是难免的,但老师同学们带给我的成长是无法磨灭的,所以真心地感恩遇到过的这些优秀的人,我相信他们未来的生活必将精彩,我也由衷的祝福他们,我将继续努力,希望有一天能再见到他们,我能成为更优秀的自己,开心的和他们打招呼,在一起怀念大学的美好时光。

相关文章:

基于Spring Boot的云上水果超市的设计与实现

摘 要 伴随着我国社会的发展,人民生活质量日益提高。于是对云上水果超市进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套云上水果超市,帮助商家进行…...

游戏引擎中的动画基础

一、动画技术简介 视觉残留理论 - 影像在我们的视网膜上残留1/24s。 游戏中动画面临的挑战: 交互:游戏中的玩家动画需要和场景中的物体进行交互。实时:最慢需要在1/30秒内算完所有的场景渲染和动画数据。(可以用动画压缩解决&am…...

springboot3快速入门案例2024最新版

前边 springboot3 系统要求 技术&工具版本(or later)maven3.6.3 or later 3.6.3 或更高版本Tomcat10.0Servlet9.0JDK17 SpringBoot的主要目标是: 为所有 Spring 开发提供更快速、可广泛访问的入门体验。开箱即用,设置合理的…...

软考 系统架构设计师系列知识点之系统性能(1)

所属章节: 第2章. 计算机系统基础知识 第9节. 系统性能 系统性能是一个系统提供给用户的所有性能指标的集合。它既包括硬件性能(如处理器主频、存储器容量、通信带宽等)和软件性能(如上下文切换、延迟、执行时间等)&a…...

Trent-FPGA硬件设计课程

本课程涵盖FPGA硬件设计的基础概念和实践应用。学生将学习Verilog语言编程、数字电路设计原理、FPGA架构和开发工具的使用。通过项目实践,掌握FPGA设计流程和调试技巧,为硬件加速和嵌入式系统开发打下坚实基础。 课程大小:4.3G 课程下载&am…...

【大模型学习记录】db-gpt源码安装问题汇总

1、首次源码安装时安装的其实dbgpt到conda环境中,会将路径一起安装。 如果有其他的路径使用同样的conda环境会报错,一直读取的就是原先的路径的内容。需要自己新创建一个conda env 2、界面中配置知识库问答时,报错 # 1、报的错如下&#x…...

QB PHP 多语言配置

1: 下载QBfast .exe 的文件 2: 安装的时候 ,一定点击 仅为我 安装 而不是 所有人 3: 如果提示 更新就 更新 , 安装如2 4: 如果遇到 新增 或者编辑已经 配置的项目时 不起作用 : 右…...

Kubernetes实战(三十一)-使用开源CEPH作为后端StorageClass

1 引言 K8S在1.13版本开始支持使用Ceph作为StorageClass。其中云原生存储Rook和开源Ceph应用都非常广泛。本文主要介绍K8S如何对接开源Ceph使用RBD卷。 K8S对接Ceph的技术栈如下图所示。K8S主要通过容器存储接口CSI和Ceph进行交互。 Ceph官方文档:Block Devices a…...

【Python爬虫】详解BeautifulSoup()及其方法

文章目录 🍔准备工作🌹BeautifulSoup()⭐代码实现✨打印标签里面的内容✨快速拿到一个标签里的属性✨打印整个文档🎆获取特定标签的特定内容 🌹查找标签🎈在文档查找标签 find_all🎈正则表达式搜索 &#x…...

C语言经典算法-8

文章目录 其他经典例题跳转链接41.基数排序法42.循序搜寻法(使用卫兵)43.二分搜寻法(搜寻原则的代表)44.插补搜寻法45.费氏搜寻法 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠…...

Panasonic松下PLC如何数据采集?如何实现快速接入IIOT云平台?

在工业自动化领域,数据采集与远程控制是提升生产效率、优化资源配置的关键环节。对于使用Panasonic松下PLC的用户来说,如何实现高效、稳定的数据采集,并快速接入IIOT云平台,是摆在他们面前的重要课题。HiWoo Box工业物联网关以其强…...

高性能 MySQL 第四版(GPT 重译)(四)

第十一章:扩展 MySQL 在个人项目中运行 MySQL,甚至在年轻公司中运行 MySQL,与在市��已经建立并且“呈现指数增长”业务中运行 MySQL 大不相同。在高速业务环境中,流量可能每年增长数倍,环境变得…...

整型数组按个位值排序 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素&#xf…...

【React】Diff算法

1. React15 Diff算法(递归进行) 一句话概括:新虚拟DOM和旧虚拟DOM对比,找出差异,根据差异更新真实DOM Diff过程描述: 1. 树比较(DOM) 同层节点之间相互比较,不会跨层级比较。(当发现…...

【物联网】Modbus 协议及应用

Modbus 协议简介 QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集,这里就我们的实际项目经验分享Modbus协议 简介 Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太…...

Docker容器引擎

1、Docker是什么。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的"虚拟机"。Docker的logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可以看作宿主机,而集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应…...

2.28线程

注意被抢占时是返回原队列,优先级不变。越往下优先级越小。往下没有优先级时,在最低的优先级队列里循环 到达了不一定会被服务,会进入就绪态进行等待 。核心等式就是周转时间运行时间等待时间,带权就是周转/运行, 随着…...

TCP/IP ⽹络模型

TCP/IP ⽹络模型 对于同⼀台设备上的进程间通信,有很多种⽅式,⽐如有管道、消息队列、共享内存、信号等⽅式,⽽对于不同设备上的进程间通信,就需要⽹络通信,⽽设备是多样性的,所以要兼容多种多样的设备&am…...

云原生:重塑未来应用的基石

随着数字化时代的不断深入,云原生已经成为了IT领域的热门话题。它代表着一种全新的软件开发和部署范式,旨在充分利用云计算的优势,并为企业带来更大的灵活性、可靠性和效率。今天我们就来聊一聊这个热门的话题:云原生~ &#x1f4…...

蓝桥杯day4刷题日记

P8605 [蓝桥杯 2013 国 AC] 网络寻路 思路来源于https://www.luogu.com.cn/article/iat8irsf #include <iostream> using namespace std; int n,m; int q[10010]; int v[100010],u[100010]; long long res;int main() {cin>>n>>m;for(int i0;i<m;i){cin…...

[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)

目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中&#xff0c;现在有很多通过电机去做相机的聚焦调节&#xff0c;对比手工调节&#xff0c;自动调节效果更好&#xff0c;而且其也能满足设备自动的需求&#xff0c;尤…...

常州IGM机器人RTE497的日常维修保养方法

一、IGM机器人RTE497日常检查 每日工作前&#xff0c;进行以下检查&#xff1a; 外观检查&#xff1a;确认IGM机器人RTE497本体无明显损伤&#xff0c;各部件连接稳固。 电缆检查&#xff1a;检查所有电缆、气管等是否完好&#xff0c;无磨损、无挤压。 润滑检查&#xff1a;确…...

如何利用机器学习和Python编写预测模型来预测设备故障

预测设备故障是机器学习和数据科学的一个常见问题&#xff0c;通常可以通过以下几个步骤来解决&#xff1a; 1. 数据收集 首先&#xff0c;需要收集与设备运行相关的数据&#xff0c;包括&#xff1a; 设备的历史数据环境数据&#xff08;如温度、湿度等&#xff09;使用时间…...

mysql部署(2)主从复制

在前面的基础上&#xff0c;现有26、41两个mysql8的实例&#xff0c;下面以26为主41为从搭建主从复制&#xff1a; 机器主从端口号root密码主从复制账号密码xxx.xx.xxx.26主3306Mysql#26user1/user1#26xxx.xx.xxx.41从3306Mysql#41 一、master主库配置 1、修改mysql配置文件…...

FX-数组的使用

1一维数组 1.1一维数组的创建和初始化 1.1.1数组的创建 //代码1 int arr1[10]; char arr2[10]; float arr3[1]; double arr4[20]; //代码2 //用宏定义的方式 #define X 3 int arr5[X]; //代码3 //错误使用 int count 10; int arr6[count];//数组时候可以正常创建&#xff1…...

springboot283图书商城管理系统

图书商城管理系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本图书商城管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理…...

FFmpeg-- c++实现:音频流aac和视频流h264封装

文章目录 流程api核心代码muxer.hmuxer.cpp aac 和 h264 封装为视频流&#xff0c;封装为c的Muxter类 流程 分配视频文件上下文 int Init(const char *url); 创建流&#xff0c;赋值给视频的音频流和视频流 int AddStream(AVCodecContext *codec_ctx); 写视频流的head int Se…...

单片机烧录方式,JTAG,ISP,SWD,

常见的词汇 参考 ISP&#xff1a;In System Programing&#xff0c;在系统编程 IAP&#xff1a;In Application Programing&#xff0c;在应用编程 ICP&#xff1a;In Circuit Programing&#xff0c;在电路编程 ICSP全称是In Circuit Serial Programming JTAG(Joint Test Act…...

【项目管理后台】Vue3+Ts+Sass实战框架搭建一

项目管理后台 建立项目最好是卸载Vetur 新建.env.d.ts文件安装Eslint安装校验忽略文件添加运行脚本 安装prettier新建.prettierrc.json添加规则新建.prettierignore忽略文件 安装配置stylelint新建.stylelintrc.cjs 添加后的运行脚本配置husky配置commitlint配置husky 强制使用…...

基于python 变配电室运行状态评估与预警系统flask-django-nodejs-php

变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段&#xff0c;如有一日遭遇突发情况&#xff0c;将危及电气设备安全稳定运行,易造成设备损坏和电力供应中断[2]。 目前&#xff0c;我国变配电室常采用无人管理的室内站设计方案&#xff0c;长期以来变配电室运维工…...

个人如何做微信下单小程序/网站seo服务商

IDC评述网&#xff08;idcps.com&#xff09;01月27日报道&#xff1a;据WebHosting.info数据&#xff0c;截至2014年1月20日&#xff0c;我国.COM域名总量增至6,338,022个&#xff0c;仅此美国&#xff0c;位居全球第二名&#xff0c;1月第三周净增14,180个。而美国&#xff0…...

智林东莞网站建设公司/站长工具seo查询5g5g

原因&#xff1a; 持久带内存溢出。 方法&#xff1a;在启动的catalina.sh 里加上这个配置&#xff0c;增加持久带的大小. JAVA_OPTS"XX:PermSize64M-XX:MaxPermSize128m“ ps . jstat -gc pid 1000 命令可以查看jvm参数以及状态. 转载于:https://www.cnblogs.com/goblin…...

网站不可以做哪些东西/网络优化公司有哪些

几天前&#xff0c;架构师米洛发布了害死你的职场细节第一章&#xff0c;今天是第二部分。今天的这几项米洛认为非常常见&#xff0c;而且老板对此种行为不满程度加100&#xff0c;如果你的加薪升职之路受阻&#xff0c;赶紧看看是不是因为下面的原因。不知道对结果负责举个例子…...

cuntlove wordpress/seo最新

1.首先使用的是LCSC下载的封装&#xff0c;以电容0201封装为例。下载下来格式如下&#xff1a; 2.中间需要使用PADS转一下格式&#xff0c;转成asc格式的。AD的不知道可不可以直接转&#xff0c;我也是之前在某个教程中学的&#xff0c;可能操作复杂了点&#xff0c;如果有更简…...

gridlocked wordpress/免费浏览网站推广

大佬&#xff0c;牛&#xff01;&#xff01;&#xff01; 题目&#xff1a;给你一个字符串s1&#xff0c;然后看看有没有s1打乱顺序以后&#xff0c;出现在s2中的可能。我的思路&#xff1a;就是这里千万别想用字符串取比较&#xff0c;方向就错了&#xff0c;其实就是找s2中…...

建设银行网站打不开别的网站可以/昆明网站开发推广公司

多线程——计时器 设计知识点&#xff1a;  1)进程和线程的概念; 2)Java中的线程&#xff0c;在Java中创建线程的方式; 3)Android中的线程&#xff0c;包括&#xff1a;Message、Handler、Looper和HandlerThread等概念。 进程&#xff1a; 一般可以在同一时间内执行多个程序的…...