基于springboot的家庭装修报价系统设计与实现

目 录

摘 要 I
Abstract II
引 言 1
1 相关技术 3
1.1 SpringBoot框架 3
1.2 ECharts 3
1.3 Vue框架 3
1.4 Bootstrap框架 3
1.5 JQuery技术 4
1.6 Ajax技术 4
1.7 本章小结 4
2 系统分析 5
2.1 需求分析 5
2.2 非功能需求 7
2.3 本章小结 8
3 系统设计 9
3.1 系统总体设计 9
3.1.1 系统体系结构 9
3.1.2 系统目录结构 9
3.1.3 系统功能结构 9
3.2 系统详细设计 10
3.2.1 系统功能设计 10
3.2.2数据库设计 11
3.3 本章小结 14
4 系统实现 15
4.1 开发环境 15
4.2 开发规范 15
4.3 数据库实现 15
4.4 项目搭建 16
4.5 功能实现 16
4.6 本章小结 20
5 系统测试 21
5.1 测试计划 21
5.2 用例测试 21
5.3 压力测试 22
5.4 本章小结 22
结 论 23
致 谢 24
参考文献 25

摘 要

在2020年,5G元年、区块链、社交电商、分享经济、物联网等关键词成为最受中国网民关注的科技领域热词。而在家居方面,“极简装修”、“价格透明”也同样是行业中出现的高频词汇,极致性价比成为了新的消费诉求。在家庭装修报价系统中将杜绝出现模糊不清的消费项目、增项漏项等“失误”,让消费者感受到物有所值。本系统为了免去了客户去实地考察公司的麻烦,可以通过网站了解公司的实力,以及各项工程价格,对自己的需求进行查看。将来互联网家庭装修报价系统会逐渐取代传统的到店对比的方式,实现不论何时何地都可以选看方案,价格和材料等。
本文主要介绍了家庭装修报价系统的研发背景、重点解决问题。本文主要运用了Spring Boot框架技术作为家庭装修报价系统的后端框架,采用Redis数据库处理缓存。本系统包括用户模块,设计师模块,材料模块等模块。
本系统前端使用Bootstrap模板,前后数据传输采用Vue框架,前后端分离。系统自适应能力较强。通过编码实现、系统测试,系统的各个模块功能都可以实现,可以满足正常使用。

关键词:Springboot; 家庭装修;Rides

Abstract

In 2020, keywords such as the first year of 5G, blockchain, social e-commerce, sharing economy, and the Internet of Things have become the hot words in the field of science and technology that are most concerned by Chinese netizens. In terms of home furnishing, “minimal decoration” and “price transparency” are also high-frequency words that appear in the industry, and the ultimate cost performance has become a new consumer demand.In the home decoration quotation system, “mistakes” such as ambiguous consumption items, added items, and missing items will be eliminated, so that consumers feel value for money. In order to avoid the trouble of customers visiting the company on the spot, the system can understand the strength of the company and the price of various projects through the website, and check their own needs.In the future, the Internet home decoration quotation system will gradually replace the traditional way of comparing stores, so that you can choose solutions, prices and materials whenever and wherever you want.
This article mainly introduces the research and development background of the home decoration quotation system and focuses on solving problems. This article mainly uses the Spring Boot framework technology as the back-end framework of the home decoration quotation system, and uses the Redis database to process the cache. The system includes user modules, designer modules, material modules and other modules.
The front end of this system uses Bootstrap template, front and back data transmission adopts Vue framework, and front and back ends are separated. The system has strong adaptability. Through coding implementation and system testing, the functions of each module of the system can be realized, which can meet normal use.

Keywords: Springboot; Family decoration; Rides

引 言

Internet遍布全球,信息传播速度非常快,已经成为人们获取信息的主要通道。在这样的时代背景下,开发了家庭装修管理系统。在家庭装修报价系统中将杜绝出现模糊不清的消费项目、增项漏项等“失误”,让消费者感受到物有所值。本系统为了免去了客户去实地考察公司的麻烦,可以通过网站了解公司的实力,以及各项工程价格,对自己的需求进行查看。将来互联网家庭装修报价系统会逐渐取代传统的到店对比的方式,实现不论何时何地都可以选看方案,价格和材料等。
本系统主要解决在家庭装修的过程中,用户和设计师不能直接沟通导致装修出现差异等问题,用户可以将自己的需求发布到系统中,将可以提供的材料录入到系统内,设计师根据用户提供的信息可以对其进行设计,设计师也可以发布自己的设计图纸,将材料信息录入系统中,用户可以看到设计师的作品,并联系设计师进行制作。
系统主要运用了Spring Boot框架技术作为家庭装修报价系统的后端框架,服务器使用Tomcat,系统缓存使用非关系型数据库Redis数据库,用来存储登陆用户的基本信息,系统前端采用Html5+CSS+Vue.js进行绘制和数据渲染,使用Jquery作为备用脚本框架,因为部分功能无法支持Vue.js,而且也会与BootStrap模板产生冲突。采用前后分离的方式构建系统,达到更加灵活部署的目的,使得后续开发更加便捷,采用监听器处理前后分离带来的跨域问题。数据库使用的MySQL,作为系统的数据存储。
第1章,介绍项目中使用的相关技术,说明基于SpringBoot的家庭装修报价系统后台的核心架构Spring Boot框架技术等,使用ECharts技术分析学生数据信息,了解用户活跃度。
第2章,对基于SpringBoot的家庭装修报价系统服务端系统进行系统分析,分析基于SpringBoot的家庭装修报价系统的功能需求、用例分析和非功能需求,总体系统分为四大模块。
第3章,介绍基于SpringBoot的家庭装修报价系统的系统设计。按照功能模块划分,本文结构安排如下。在数据库设计中,展示了项目中使用到的主要数据表;功能设计中展示设计功能用例图。
第4章,介绍基于SpringBoot的家庭装修报价系统的系统实现部分,该部分分为开发环境、开发规范、数据库实现以及核心功能实现四大部分。其中数据库实现中,展示项目所用到的全部数据表。在核心功能实现部分详细介绍项目的用户录入样例功能、设计师录入个数材料功能、用户修改装修样子功能在内的核心功能。
第5章,完成系统测试部分,系统测试分为单元测试和压力测试。单元测试结束后,写明测试结果。压力测试中,向系统发送数量较多的请求,查看系统响应时间、吞吐量,编写测试结果报告。
结论,说明系统总体的完成情况,总结系统所需要解决的一些问题、系统的应用价值,对系统进行整体评价,说明系统的优点、缺点,对下一步工作进行构想。

1 相关技术

1.1 SpringBoot框架
Spring Boot 是在2013年推向市场的开发框架,主要的用途是用来将Spring框架的开发、配置、调试、部署工作进行简化[1]。在创建Spring项目时,必须要设定指定的XML文件。Spring 3和Spring 4的推出使得开发者的认知比设置更为重要。XML正在逐渐改变不同的注释[2]。Spring 4项无法创建XML文件。要创建一个大项目,需要很多软件包[3]。即使使用Maven配置也需要很多代码。现在一个网站平台快速发展,Spring的开发模式越来越麻烦,在这个环境中Spring Boot和Spring 4一起出现[4]。
1.2 ECharts
ECharts技术是一款开源的工具,具有数据可视化的功能,它比较依赖于轻量级的画布[5],用户使用ECharts可以在电脑和移动端设备上进行设计,设计个性化界面,使图表看起来更加直观生动形象,使用多种类型展示数据的变化趋势,方便用户查看使用[6]。ECharts所提供的图表的种类很多,兼容性也比较好,它可以为用户提供饼图、折线图、柱状图、地图等各种各样关系图形表[7],更加直观、生动的展示出各组数据之间的关系变化,用户可根据系统需求设计出不同的图表关系[8]。
通过导入所需图表的JS文件,文件中调取所需展示的某组数据,即可展示出这些数据之间的关系以及他们的变化趋势[9]。ECharts技术不仅仅在视觉上增加了用户体验度,在后台的管理上也有效的减少了工作时间。使数据更加直观,方便查看[10]。
1.3 Vue框架
Vue 是用于构建用户界面的框架,通过整合第三方iview库,基于脚手架框架开发 Web 前端页面[11]。可提供强大的伸缩能力[12]。Vue是用户界面的框架,进步代表的意义是最小化,所有的框架只能以自己的特点向用户提出一定的要求,这些要求都是号召的,强烈的[13]。要求强是影响企业发展的使用方式,简单地说,对于大家不知道的Vue的模块或函数是不能使用的,可以换成熟悉的技术,与其他框架相比,基本上没有生硬的要求[14]。
1.4 Bootstrap框架
Bootstrap是以Java脚本等技术为基础的开发结构,由美国推特的设计师马克•奥特和杰特Thortan开发[15],使网络开发更加快速,Bootstrap提供了美观的前端代码编写规范。这些规范是由动态CSS语言less编写的,该框架一上市,就成为最流行的开放源项目[16],NASA的MSNBC突发新闻使用了这个程序。据了解,Wex5前端开放源框架是基于Bootstrap源代码进行性能优化的[17]。
1.5 JQuery技术
JQuery库创造出更少的代码,并提供更多的工作[18]。JQuery将常见的JavaScript函数编码组合起来,JavaScript的设计模式,便于处理的HTML,易于分离结构和行为,JQuery具有独特的连锁语法[19],它有着极其简单明了的多重功能界面[20]。 JQuery,它可以操作页面的对象,并且对页面的外观进行修改,并为页面添加更多的效果和浏览器兼容[21]。
1.6 Ajax技术
Ajax是为了创建交互式网络程序的网络开发技术。Ajax函数控制整体或个体应用,Ajax库包含一系列的JavaScript代码[22]。Ajax技术根本上是由JavaScript组合而成的。Ajax是一种网络开发环境。可以在这里建立客户端库和使用客户端库[23]。Ajax的特点是在未提交数据的情况下,可以重新修改某些页面。
1.7 本章小结
本章主要介绍了家庭装修报价系统项目所应用到的Spring Boot框架、DIV+CSS层叠样式等相关技术,以及对MySQL数据库的使用、Tomcat服务器等相关内容介绍,项目中使用了ECharts数据可视化对数据进行处理。介绍了这些技术在家庭装修报价系统的实现中能够起到的重要作用。进行深入学习。

2 系统分析

2.1 需求分析
本系统在经过需求获取之后,通过获取的需求且对现有系统常规功能的分析,确定基于Spring Boot的家庭装修报价系统包括:用户模块,设计师模块,材料模块。
基于Spring Boot的家庭装修报价系统的用户模块包括用户录入装修样子,用户修改装修样子,用户删除装修样子,用户查看设计师样子,用户查看样子线状材料数,用户录入线状材料,用户删除线状材料功能,如图2.1所示。
在这里插入图片描述

图2.1用户模块用例图
用户录入装修样子。用户填写账号密码等登陆信息,点击登陆,进入主页,点击菜单栏中的录入装修样子,进入录入装修样子界面,输入样子信息,点击录入,即可完成用户录入装修样子功能。
用户修改装修样子。用户填写账号密码等登陆信息,点击登陆,进入主页,点击菜单栏中的查看装修样子,点击修改,进入修改装修样子界面,输入要修改的信息,点击修改,即可完成用户修改装修样子功能。
用户删除装修样子。用户填写账号密码等登陆信息,点击登陆,进入主页,点击菜单栏中的查看装修样子,点击删除,系统会提示删除成功,系统会刷新查看装修样子页面,即可完成删除装修样子功能。
用户查看设计师样子。用户填写账号密码等登陆信息,点击登陆,进入主页,点击菜单栏中的查看设计师样子,进入查看设计师样子界面,系统会获取所有设计师的样子信息,并且显示到页面上。
设计师模块主要功能是设计师录入装修样子,设计师修改装修样子,设计师删除装修样子,设计师查看用户样子,设计师查看样子线状材料数,设计师录入线状材料,设计师删除线状材料功能,如图2.2所示。
在这里插入图片描述

图2.2设计师模块用例图
设计师录入装修样子。设计师输入账号密码,点击登陆进入设计师主页,点击菜单栏中的录入装修样子,进入录入装修样子界面,输入样子信息,点击录入,即可完成设计师录入装修样子功能。
设计师修改装修样子。设计师输入账号密码,点击登陆进入设计师主页,点击菜单栏中的查看装修样子,点击修改,进入修改装修样子界面,输入要修改的信息,点击修改,即可完成设计师修改装修样子功能。
设计师删除装修样子。设计师输入账号密码,点击登陆进入设计师主页,点击菜单栏中的查看装修样子,点击删除,系统会提示删除成功,系统会刷新查看装修样子页面,即可完成删除装修样子功能。
设计师查看设计师样子。设计师输入账号密码进入主页,点击菜单栏中的查看用户样子,进入查看用户样子界面,系统会获取所有用户的样子信息,并且显示到页面上。
材料模块主要功能是设计师录入线状材料,设计师录入面状材料,设计师录入液状材料,设计师录入个数材料,管理员修改线状材料,管理员修改面状材料,管理员修改液状材料,如图2.3所示。
在这里插入图片描述

图2.3材料模块用例图
设计师录入线状材料。设计师输入账号密码点击登陆进入设计师主页,点击菜单栏中的查看装修样子,进入查看装修样子界面,点击录入线状材料,输入线状材料信息,点击录入。
设计师录入面状材料。设计师输入账号密码点击登陆进入设计师主页,点击菜单栏中的查看装修样子,进入查看装修样子界面,点击录入面状材料,输入面状材料信息,点击录入。
设计师录入液状材料。设计师输入账号密码点击登陆进入设计师主页,点击菜单栏中的查看装修样子,进入查看装修样子界面,点击录入液状材料,输入液状材料信息,点击录入。
2.2 非功能需求
根据调查现在很多产品已经不单单只在意产品的实用性、可靠性了,界面的美观性、操作简易也成为了一个好产品必不可少的一部分。界面美观大方可以使用户体验更好,不产生审美疲劳,为了达到这一目的,在设计这个项目时,设定了严谨的页面设计规划。
本项目使用Html5、Vue.js以及Ajax等技术来实现前端界面的设计,使用Spring Boot框架相关技术完成后端功能设计。页面服务器响应更快,由于它根据不同浏览器展示相同界面效果,提高页面的灵活性、美观性,使用户操作整个平台时有良好的使用效果。
2.3 本章小结
本章介绍的是家庭装修报价系统的需求分析,主要包含了项目的功能需求、用例分析以及非功能需求。经过这一阶段的项目分析,对整个项目平台需求有了进一步规划,明确接下来工作思路。可用于今后指导该项目的设计、开发、测试工作。

3 系统设计

3.1 系统总体设计
本章是对基于SpringBoot的家庭装修报价系统的用例划分、功能模块、数据结构、接口、异常处理、扩展性等进行了设计,使该系统更加符合用户的需求,同时为测试人员提供参考。
3.1.1 系统体系结构
B/S结构保留了C/S结构的优势,同时也使得复杂的程序更容易实现。B/S是软件架构设计中最常见、最重要的结构[24]。前端使用CSS+DIV层叠样式,界面美观、简单大方。操作员可以对项目中的功能点进行操作,将请求发送给应用层服务器,在应用层服务器上经过SSM框架管理的Controller类来接收并处理,将处理结果传递给Service进行业务逻辑分析,Service处理结果传递给Mapper进行SQL操作[25]。XML文件中实现了Mapper中的接口及配置了相关SQL操作语句,将收到的SQL操作发送给数据库服务器。最后数据层数据库服务器处理会产生一个操作结果,此结果会传递到Spring Boot框架管理的应用层中Mapper,然后通过Mapper层将处理得到的结果逐层返回给Service,Service进行业务逻辑分析后将数据返回Controller,随即应用层处理完毕,将返回结果处理后传递回客户端的浏览器并显示给用户,用户随即可以进行相应的具体操作。
3.1.2 系统目录结构
系统的配置文件(application.properties)放在src/main/resources /;
系统公共文件(ApplicationServer.java)放在com.lfc;
系统实体(entity) 放在com. lfc.bean;
系统业务层(Service) 放在com, lfc.service;
系统控制器(Controller) 放在com. lfc.controller;
系统工具(tool) 放在com. lfc。
3.1.3 系统功能结构
本系统的功能分为三大模块:用户模块、设计师模块、材料模块。系统提供功能如下: 用户模块包括用户录入装修样子,用户修改装修样子,用户删除装修样子,用户查看设计师样子,用户查看样子线状材料数,用户录入线状材料,用户删除线状材料功能,设计师录入装修样子,设计师修改装修样子,设计师删除装修样子,设计师查看用户样子,设计师查看样子线状材料数,设计师录入线状材料,设计师删除线状材料,设计师录入线状材料,设计师录入面状材料,设计师录入液状材料,设计师录入个数材料,管理员修改线状材料,管理员修改面状材料,管理员修改液状材料,具体的功能结构图如图3.1所示。
在这里插入图片描述

图3.1系统功能结构图
3.2 系统详细设计
3.2.1 系统功能设计
设计师录入面状材料。设计师输入账号密码点击登陆进入设计师主页,点击菜单栏中的查看装修样子,进入查看装修样子界面,点击录入面状材料,输入面状材料信息,点击录入,系统会提示录入成功。如图3.2所示。
在这里插入图片描述

图3.2设计师录入面状材料功能时序图
设计师录入装修样子。设计师输入账号密码,点击登陆进入设计师主页,点击菜单栏中的录入装修样子,进入录入装修样子界面,输入样子信息,点击录入,即可完成设计师录入装修样子功能。如图3.3所示。
在这里插入图片描述

图3.3设计师录入装修样子功能时序图
3.2.2数据库设计
根据需求分析以及装修报价系统项目的需求,对项目数据库进行了设计,可得到一个映射信息数据需求概念的E-R图模型,设计绘制出的实体类关系图如图3.4所示。
在这里插入图片描述

图3.4 家庭装修报价系统实体关系图
根据上面描述的需求分析和系统设计,以及分析整个系统的业务流程。本系统共20个实体,10个一对一关系,12个一对多关系,需要设计20个表,如表3.1所示。

表3.1 数据库表列表
编号 表名 说明
1 admin 管理员表
2 designer 设计师表
3 designerex 设计师样子表
4 designerexface 设计师线面材料样子表
5 designerexfluid 设计师线液材料样子表
6 designerexline 设计师线状材料样子表
7 designerexnum 设计师个数材料样子表
8 designerexphoto 设计师样子图片表
9 face 面状材料表
10 fluid 液状材料表
11 line 线状材料表
12 loginlog 登陆日志表
13 num 个数材料表
14 usr 用户表
15 usrex 用户样子表
16 usrexface 用户线面材料样子表
17 usrexfluid 用户线液材料样子表
18 usrexline 用户线状材料样子表
19 usrexnum 用户个数材料样子表
20 usrexphoto 用户样子图片表

管理员表(admin)主要储存系统当中的管理员信息,例如管理员账号,管理员密码等,本表以管理员id作为主键,使每条记录具有唯一性。具体字段如表3.2所示。
表3.2 管理员表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
nick varchar(45) NOT NULL 账号
password varchar(200) NOT NULL 密码
设计师表(designer)主要储存系统当中设计师信息,例如设计师账号,设计师密码,手机号,姓名等,本表以设计师id作为主键,使每条记录具有唯一性。具体字段如表3.3所示。
表3.3 设计师表
列名 数据类型 约束条件 其他说明
id int KEY 主键
nick varchar(200) NOT NULL 账号
password varchar(200) NOT NULL 密码
name varchar(200) NOT NULL 姓名
mobile varchar(200) NOT NULL 手机号
设计师样子表(designerex)主要储存系统当中的设计师样子信息,例如设计师Id,名称,金额,面积等。本表以设计师样子id作为主键,使每条记录具有唯一性。具体字段如表3.4所示。
表3.4 设计师样子表
列名 数据类型 约束条件 其他说明
id int KEY 主键
designerId int NOT NULL 设计师id
name varchar(200) NOT NULL 名称
money int NOT NULL 金额
area int NOT NULL 面积
设计师面状材料样子表(designerexface)主要储存系统当中的设计师样子面状材料信息,例如金额,数量等。本表以设计师面状id作为主键,使每条记录具有唯一性。具体字段如表3.5所示。
表3.5设计师面状材料样子表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
designerexId int NOT NULL 设计师样子id
dataId int NOT NULL 材料id
count int NOT NULL 数量
money int NOT NULL 金额
设计师液状材料样子表(designerexfluid)主要储存系统当中的设计师样子液状材料信息,例如设计师样子Id,材料id,数量,金额等。本表以设计师液状材料样子id作为主键,使每条记录具有唯一性。具体字段如表3.6所示。
表3.6设计师液状材料样子表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
designerexId int NOT NULL 设计师样子id
dataId int NOT NULL 材料id
设计师线状材料样子表(designerexline)主要储存系统当中的设计师样子线状材料信息,例如设计师样子Id,材料id,数量,金额等。本表以设计师线状材料样子id作为主键,使每条记录具有唯一性。具体字段如表3.6所示。
表3.7设计师线状材料样子表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
designerexId int NOT NULL 设计师样子id
dataId int NOT NULL 材料id
count int NOT NULL 数量
money int NOT NULL 金额
设计师个数材料样子表(designerexnum)主要储存系统当中的设计师样子个数材料信息,例如设计师样子Id,材料id,数量,金额等。本表以设计师个数材料id作为主键,使每条记录具有唯一性。具体字段如表3.6所示。
表3.8设计师个数材料样子表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
designerexId int NOT NULL 设计师样子id
dataId int NOT NULL 材料id
count int NOT NULL 数量
money int NOT NULL 金额
设计师样子图片表(designerexphoto)主要储存系统当中的设计师样子图片信息,例如设计师样子Id,图片地址等。本表以设计师样子图片id作为主键,使每条记录具有唯一性。具体字段如表3.9所示。
表3.9设计师样子图片表
列名 数据类型 约束条件 其他说明
id int KEY 主键
designerexId int NOT NULL 设计师id
url varchar(45) NOT NULL 图片地址
3.3 本章小结
本章主要介绍了家庭装修报价系统服务端设计。通过本章介绍了家庭装修报价系统服务端项目的整体架构,使用功能结构图更加清楚明了的展示出了项目的功能需求,以及系统处理方式,详细介绍了数据表结构。

4 系统实现

4.1 开发环境
本系统的开发系统是Windows 7操作系统。用IDEA作为开发工具,Tomcat8.5为服务器来进行开发,数据库使用11.6版本的数据库来存储数据,电脑性能为Intel® i5处理器。
4.2 开发规范
本系统是根据java的命名标准来命名的,名字、类型名、界面名、包括方法名称等在内的名字由小写组成。可以看到包名的内容。在分类或界面,方法名以小写开始。标准的命名和注释。可以提高编码的可读性,开发人员可以找到相应的方法。
4.3 数据库实现
根据实体关系,设计出20张表,如图4.1所示。
在这里插入图片描述

图4.1系统数据库界面
4.4 项目搭建
本系统使用Maven搭建SpringBoot项目工程,其中启动文件LiuStart.java置于com.lfc下,Controller、Dao、Service等各层接口置于com.lfc.*下, application.properties中配置各类基本信息,如图4.2所示。
在这里插入图片描述

图4.2项目工程图
4.5 功能实现
用户录入样例功能,用户根据系统提示,进入主页,点击菜单栏中的录入样例,进入录入样例页面,输入样例信息,点击录入,系统会提示录入成功,界面如图4.3所示。
在这里插入图片描述

图4.3用户录入样例功能展示图
/**
* 录入样例
* @param
* @return
*/
public R inputEx(@RequestParam Map<String,Object> map){
R r = new R();
Map<String,Object> record = new HashMap<String, Object>();
map.put(“usrId”,redisUtil.get(“id”));

    record.put("msg",usrService.inputEx(map));
    return r.ok(record);
}
insert into usrex ( usrId, name, area ) values ( #{usrId}, #{name}, #{area} ) 用户修改装修样子。用户根据系统提示,进入主页,点击菜单栏中的查看装修样子,点击修改,进入修改装修样子界面,输入要修改的信息,点击修改,即可完成用户修改装修样子功能,界面如图4.4所示。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/65aef9e835ce4bedab22c1799beffdc2.png)

图4.4用户修改装修样子功能展示图
/**
* 修改样例
* @param
* @return
*/
public R editEx(@RequestParam Map<String,Object> map){
R r = new R();
Map<String,Object> record = new HashMap<String, Object>();
map.put(“usrId”,redisUtil.get(“id”));
map.put(“exId”,redisUtil.get(“exId”));
record.put(“msg”,usrService.editEx(map));
return r.ok(record);
}

update usrex set name = #{name},area = #{area} where id = #{exId}

设计师录入个数材料。用户根据系统提示,进入主页,点击菜单栏中的查看装修样子,进入查看装修样子界面,点击录入个数材料,输入个数材料信息,点击录入,系统会提示录入成功,界面如图4.5所示。
在这里插入图片描述

图4.5设计师录入个数材料功能展示图
/**
* 录入个数材料
* @param
* @return
/
public R inputNum(@RequestParam Map<String,Object> map){
R r = new R();
Map<String,Object> record = new HashMap<String, Object>();
map.put(“usrId”,redisUtil.get(“id”));
map.put(“exId”,redisUtil.get(“exId”));
record.put(“msg”,usrService.inputNum(map));
return r.ok(record);
}
/
*
* 录入个数材料
* @param
* @return
*/
@Transactional
public String inputNum(Map<String,Object> map)
{
List nums = usrMapper.queryNum(map);
if(nums.size() > 0) {
int money = Integer.parseInt(map.get(“count”).toString()) * nums.get(0).getMoney();
map.put(“money”,money);
map.put(“dataId”,nums.get(0).getId());
usrMapper.inputNum(map);
Usrex usrex = usrMapper.queryExById(map);
if (usrex.getMoney() != null){
money = money + usrex.getMoney();
}else {
money = money;
}
usrMapper.updateLine(map);
return “成功”;
} else {
return “材料不存在”;
}

}

4.6 本章小结
本章介绍家庭装修报价系统服务端实现系统部分,介绍项目的核心功能,并且进行截图,介绍了项目的开发环境,前端使用Html5+Vue.js,数据库使用MySQL数据库。并且详细介绍了系统的核心功能。

5 系统测试

系统测试是项目开发过程中一个重要的阶段。对软件进行实地化的场景化测试,目的是能够及时发现软件中的漏洞,使得系统更加完善。在整个基于Spring Boot的家庭装修报价系统开发的过程中,会遇到错综复杂的问题,在开发的生存周期中的每个阶段都有可能出现不可避免的编码错误,有制度的测试可以规避以后错误的发生,为了减少错误的存在,优化系统功能,本章进行必要的测试。
5.1 测试计划
为了保证基于Spring Boot的家庭装修报价系统的用户体验和使用质量,尽量找出该系统存在的错误并及时加以改正,可以保证系统能尽快的投入到实际应用当中。在编写项目的过程当中,按照标准严谨的测试方法,进行测试用例,针对项目各个模块都进行测试。
5.2 用例测试
测试是为了提高软件的开发质量,同时也是为了提高项目的稳定性、实用性,给用户带来更好的用户体验,就要在生产环节将项目的漏洞修复和完善好。本系统也不免不了会有各种各样的漏洞,故也需要进行测试,本系统的主要模块分为:用户模块、设计师模块、材料模块。本系统针对各模块功能中的主要操作进行了用例测试。测试结果如图表5.1所示。
表5.1系统用例测试结果表
用例编号 用例分类 用例目的 预期结果 测试结果
Case1 用户模块 用户录入样子 正确显示 结果相同
Case2 用户模块 用户修改样子 正确显示 结果相同
Case3 用户模块 用户删除样子 正确显示 结果相同
Case4 设计师模块 设计师录入样子 正确显示 结果相同
Case5 设计师模块 设计师修改样子 正确显示 结果相同
Case6 设计师模块 设计师删除样子 正确显示 结果相同
Case7 材料模块 管理员录入线状材料 正确显示 结果相同
Case8 材料模块 管理员录入面状材料 正确显示 结果相同
Case9 材料模块 管理员录入液状材料 正确显示 结果相同
Case10 材料模块 管理员录入个数材料 正确显示 结果相同
5.3 压力测试
在这里插入图片描述

图5.1测试信息汇总图
对10个接口每个测试200次,测试完成后,共发送2000次HTTP请求,平均响应时间40,最快响应速度31,最慢反应速度338,异常发生率0%,数据吞吐量24.3sec。
5.4 本章小结
本章主要对家庭装修报价系统服务端项目进行测试操作,对系统的各个模块的功能都进行了测试。并且对家庭装修报价系统进行了压力测试,最后得到项目的测试结果,以保证整个系统的更稳定的运行。

结 论

信息化已经成为了当今时代发展的大趋势,信息资源被高度共享。为此,本文针对装修行业信息化的需求设计并实现了基于Spring boot家庭装修报价系统,本文首先分析了基于Spring boot家庭装修报价系统的开发背景及意义,然后分析了构建基于Spring boot家庭装修报价系统所需要解决的一些问题,最后对基于Spring boot家庭装修报价的设计及实现方法进行了详细的说明和探讨。本文所开发的基于Spring boot家庭装修报价系统已经具备基本的功能。
本系统在开发的过程中考虑了系统的再次开发,以及随时可变的需求等要求,本系统的代码采用单例模式编写,具有可伸缩性,安全性高等特点,系统的后台框架Spring boot框架保证了系统具有效率高、耦合性低的特点,实际的效果说明了本系统可以适应产品的需求。
本系统的设计与实现可以有效的融合到装修管理中,可以增强装修管理的有效性。由于项目时间紧,任务重,本文系统还存在一定的不足。这是将来需要进一步完善的工作。

致 谢

在经历了长达三年的学习还有许多人的帮助下,我的论文终于完成了!这证明了我的四年大学生活即将告一段落!回头想一想这三年,我真的有太多的感慨了,我的家人,我的老师,我的同学,他们都无条件的支持我,鼓励我,我真的非常感谢他们在我最需要帮助的时候陪伴着我!
我真心的感谢我的指导老师陈思老师和董超老师,他们很耐心的指导我,在论文的写作过程中,指导老师给予了我很多有益的改善性意见同时在我写作的论文中投入了很多的精力,在这里我要对您说一声谢谢您!同时我也要感谢我的同学,感谢你们的不离不弃,在写论文的过程中互相帮助,互相打气,让我坚定了信心完成论文!
最后我要谢谢审评论文的老师们,你们不言辛苦的审评我的论文!你们的支持是我完成论文的主要动力!谢谢你们!

标题参考文献

[1]陈雄华.精通Spring4.x——企业应用开发实战[M].北京:电子工业出版社.2017:20-28
[2]龙中华.SpringBoot实战派[M].北京:电子工业出版社.2020:50-70
[3]汪云飞.JavaEE开发的颠覆者:SpringBoot实战[M].北京:电子工业出版社.2016:122-138
[4]天津滨海迅腾科技集团有限公司.Java Web应用程序开发[M].天津:南开大学出版社.2017:273-281
[5]理想宅.装修预算一本通[M].北京:人民邮电出版社.2019:20-40
[6]孙宇.基于SpringBoot微框架的建筑项目管理系统[D].哈尔滨:哈尔滨工业大学,2018:12-20
[7]张峰.应用SpringBoot改变web应用开发模式[J].科技创新与应用.2017,23(1):20-25
[8]熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2019,15(36):76-77
[9]朱运乔.基于SpringBoot+SSM框架的Web应用系统搭建与实现[J].电脑编程技巧与维护,2019(10):23-25
[10]叶方超,张思扬,李传锴.基于SpringBoot的旧物回收商城的设计与实现[J].智能计算机与应用,2019,9(05):84-86
[11]李朔.浅析全装修商品住宅的室内人性化设计[J].居舍,2019(16):34
[12]刘义忠,张伟.基于SSM框架的后台管理系统设计与实现[J].软件导刊,2019,18(02):68-71
[13]赖愈鹏.试谈室内装修设计及其未来发展趋势[J].地产,2019(23):28
[14]Nathan Wilson,Karen Wynter,Clare Anderson et al.More than depression:a multi-dimensional assessment of postpartum distress symptoms before and after a residential early parenting program[J].BMC Psychiatry,2019,19(1):46-50
[15]Shufan Liu. Design and Implementation of Communication Base Station Survey System based on Springboot[C]. Hongkong New Century Cultural Publishing House,2018:34-36
[16]王思洁.基于SSM框架的零食在线销售系统的设计与实现[J].南方农机,2020,51(09):223
[17]杨鹏飞,郭鸿湧,赵继军.基于SSM框架的社区环境数据可视化系统[J].电脑知识与技术,2020,16(12):99-101
[18]刘瑾.基于SSM的网络购物平台的开发[J].电脑知识与技术,2020,16(11):281-282
[19]彭勇,陈俞强.基于SSM的实验室管理系统的研究与设计[J].微型电脑应用,2020,36(03):81-83
[20]张入文,张鑫.基于SSM架构的新型约课系统的设计与开发[J].电脑知识与技术,2020,16(07):73-74+87
[21]方翼飞.基于SSM模型的三亚市产业结构优化研究[J].现代商贸工业,2020,41(08):1-2
[22]赵永杰,马宝龙,包国强.基于SSM书香驿站平台的设计与实现[J].农家参谋,2020(06):188
[23]龚兰兰,凌兴宏.基于敏捷开发的SSM Web应用开发实践[J].实验技术与管理,2020,37(02):160-163+167
[24]Seyyed Ali Noorhosseini,Afshin Soltani,Hossein Ajamnoroozi. Retraction notice to “Simulating peanut ( Arachis hypogaea L.) growth and yield with the use of the simple simulation model (SSM)” [Comput. Electron. Agric. 145 (2018) 63–75][J]. Computers and Electronics in Agriculture,2020,173
[25]M. Susan Hallbeck,Katherine E. Law,Bethany R. Lowndes,Anna R. Linden,Melissa Morrow,Renaldo C. Blocker,Stephen M. Cain,Amy C. Degnim,Tina J. Hieken,James W. Jakub,Jennifer M. Racz,David R. Farley,Heidi Nelson,Judy C. Boughey. Workload Differentiates Breast Surgical Procedures: NSM Associated with Higher Workload Demand than SSM[J]. Annals of Surgical Oncology,2020,27(2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/443064.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python学习日记之学习turtle库(上 篇)

一、初步认识turtle库 turtle 库是 Python 语言中一个很流行的绘制图像的函数库&#xff0c;想象一个小乌龟&#xff0c;在一个横 轴为 x、纵轴为 y 的坐标系原点&#xff0c;(0,0)位置开始&#xff0c;它根据一组函数指令的控制&#xff0c;在这个平面 坐标系中移动&#xff0…

ubuntu 运行opencv_sample遇到的问题

首先我遇到的问题就是摄像头连接不上 勾选最后一个 然后是 usb接口问题 点击虚拟机设置 我的是改为 3 就可以啦

TensorRT是什么,有什么作用,如何使用

TensorRT 是由 NVIDIA 提供的一个高性能深度学习推理&#xff08;inference&#xff09;引擎。它专为生产环境中的部署而设计&#xff0c;用于提高在 NVIDIA GPU 上运行的深度学习模型的推理速度和效率。以下是关于 TensorRT 的详细介绍&#xff1a; TensorRT 是 NVIDIA 推出的…

Facebook广告必坑指南

不明确的目标&#xff1a; 在开始广告活动之前&#xff0c;确保你清楚自己的广告目标。是想提高品牌知名度、促进销售、还是增加网站流量&#xff1f;明确的目标有助于指导广告内容和策略。 忽视目标受众定位&#xff1a; 确定你的目标受众是关键的。使用Facebook广告管理工具…

【JavaEE进阶】 @Transactional详解

文章目录 &#x1f343;前言&#x1f332;rollbackFor&#xff08;异常回滚属性&#xff09;&#x1f384;事务隔离级别&#x1f6a9;MySQL事务隔离级别&#x1f6a9;Spring事务隔离级别 &#x1f38b;Spring事务传播机制&#x1f6a9;什么是事务传播机制&#x1f6a9;事务有哪…

防御保护----IPSEC VPPN实验

实验拓扑&#xff1a; 实验背景&#xff1a;FW1和FW2是双机热备的状态。 实验要求&#xff1a;在FW和FW3之间建立一条IPSEC通道&#xff0c;保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 IPSEC VPPN实验配置&#xff08;由于是双机热备状态&#xff0c;所以FW1和FW2只需要…

ARM中汇编语言的学习(加法、乘法、除法、左移、右移、按位与等多种命令操作实例以及ARM的 N、Z、C、V 标志位的解释)

汇编概述 汇编需要学习的大致框架如下&#xff1a; 汇编中的符号 1.指令&#xff1b;能够北嘁肷梢惶?2bit机器码&#xff0c;并且能够被cpui识别和执行 2.伪指令&#xff1a;本身不是指令&#xff0c;编译器可以将其替换成若干条指令 3.伪操作&#xff1a;不会生成指令…

一分钟了解遥感中卫星、传感器、波段及数据之间的关系

感是利用卫星、飞机或其他载具上的传感器对地球表面进行观测和测量的科学技术。以下是一些常见的遥感相关术语: 卫星(Satellite):在遥感中,卫星是指绕地球轨道运行的人造卫星,其主要任务是携带各种传感器从空间中对地球表面进行观测。 传感器(Sensor):传感器是安装在卫…

语音模块学习——LSYT201B模组(实际操作篇)

目录 一、定制词条 二、直接用串口通信 三、使用单片机通信 理论篇在这&#xff0c;依旧是深圳雷龙发展的语音模块。 http://t.csdnimg.cn/2SzJL 一、定制词条 因为我想后面加到我的毕设上加个语音模块&#xff0c;所以定制的词条都是和芯测相关的。 动作词条播报串口输…

2.4_2 死锁的处理策略——预防死锁

2.4_2 死锁的处理策略——预防死锁 &#xff08;一&#xff09;破坏互斥条件 互斥条件&#xff1a;只有对必须互斥使用的资源的争抢才会导致死锁。 如果把只能互斥使用的资源改造为允许共享使用&#xff0c;则系统不会进入死锁状态。比如&#xff1a;SPOOLing技术。操作系统可以…

惬意上手MySQL

大家好&#xff0c;我又来写博客了&#xff0c;今天给大家介绍一下MySQL,如果你只想让MySQL作为自己的辅助开发工具&#xff0c;那这一篇文章就够了&#xff0c;如果想作为一门语言来学习&#xff0c;那你可以看此文章了解一些基础。 MySQL介绍 数据库可分为关系型数据库和非关…

Elasticsearch 通过索引阻塞实现数据保护深入解析

Elasticsearch 是一种强大的搜索和分析引擎&#xff0c;被广泛用于各种应用中&#xff0c;以其强大的全文搜索能力而著称。 不过&#xff0c;在日常管理 Elasticsearch 时&#xff0c;我们经常需要对索引进行保护&#xff0c;以防止数据被意外修改或删除&#xff0c;特别是在进…

java IO 02 IO接口,字节流和字符流,节点流和处理流

01.定义 02.IO中的输入和输出的划分 03.流的分类 IO流的所有类中&#xff0c;最先分野的是字节流和字符流。 字节流包括&#xff1a;输入流和输出流 InputStream public abstract class InputStream implements Closeable { }OutputStream public abstract class OutputSt…

专业140+总分430+西南交通大学924信号与系统考研经验电子信息与通信工程,真题,大纲,参考书

今年报考西南交通大学&#xff0c;考研分数专业课924信号与系统140&#xff0c;总分430&#xff0c;各门分数都还是比较均衡&#xff0c;经过一年的复习&#xff0c;有得有失&#xff0c;总结一下自己的复习经历&#xff0c;希望给大家有点帮助&#xff0c;在复习中做的更好&am…

初始安装RabbitMQ

文章目录 1. RabbitMQ 概念2. RabbitMQ 四大核心概念3. RabbitMQ 核心部分4. RabbitMQ 名词解释5. RabbitMQ 安装 1. RabbitMQ 概念 RabbitMQ 是一个消息中间件&#xff1a;它接受并转发消息。 可以把它当做一个快递站点&#xff0c;当你要发送一个包裹时&#xff0c;你把你的…

IntelliJ IDEA自定义关闭当前文件的快捷方式

前言 idea中关闭当前标签页的默认快捷键是CtrlF4,这个组合键在键盘上操作起来很是不方便&#xff0c;我们可以在设置中自定义自己习惯的快捷方式。 自定义步骤 要在 IntelliJ IDEA 中将关闭当前文件的快捷方式设置为 Alt Q&#xff0c;请按照以下步骤操作&#xff1a;打开 …

计算机软件文档编制规范GB_T 8567-2006

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 计算机软件文档编制规范概述 计算机软件文档编制规范&#xff08;Specification for computer software documentation&#xff09; 由TC28&#xff08;全国信息技术标准化技…

【Node.js从基础到高级运用】二、搭建开发环境

Node.js入门&#xff1a;搭建开发环境 在上一篇文章中&#xff0c;我们介绍了Node.js的基础概念。现在&#xff0c;我们将进入一个更实际的阶段——搭建Node.js的开发环境。这是每个Node.js开发者旅程中的第一步。接下来&#xff0c;我们将详细讨论如何安装Node.js和npm&#…

ChatGPT Plus 支付出现「您的银行卡被拒绝/your card has been declined」怎么办?

ChatGPT Plus 支付出现「您的银行卡被拒绝/your card has been declined」怎么办&#xff1f; 在订阅 ChatGPT Plus 或者 OpenAI API 时&#xff0c;有时候会出现已下报错 &#xff1a; Your card has been declined. 您的银行卡被拒绝 出现这种错误&#xff0c;有以下几个解…

蓝桥杯练习系统(算法训练)ALGO-982 最小距离

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 最小距离 问题描述 数轴上有n个数字&#xff0c;求最近的两个数&#xff0c;即min(abs(x-y)) 输入格式 第一行包含一个整数n。   …
最新文章