博主简介:🍅博客专家、Java领域优质创作者、华为云/阿里云等平台优质作者、专注于IT技术领域和学生毕业项目实战,指导学生毕业设计并参与学生毕业答辩指导🍅

技术范围:✌Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、安卓app、大数据、物联网、机器学习等设计与开发、简历模板、学习资料、面试题库、就业指导、技术互助等✌。

业务领域:✌免费功能设计定制、任务书、中期检查PPT、开题报告、系统功能实现、项目定制、论文辅导、撰写和降重、长期答辩辅导答疑、远程会议一对一专业讲解答辩辅导、模拟演练答辩、和代码讲解理解逻辑思路✌。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习


摘 要

信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对应急知识学习等问题,对应急知识学习进行研究分析,然后开发设计出应急知识学习系统以解决问题。

应急知识学习系统主要功能模块包括系统首页、轮播图、通知公告管理、资源管理(知识测考)、交流管理(交流论坛、论坛分类)、系统用户管理(管理员、普通用户)、模块管理(知识分类、应急知识、知识宣传),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对应急知识学习系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现应急知识学习系统和部署运行使用它。

第1章绪论

1.1研究背景

近年来,我国突发事件多发频发,呈现出多灾、并发、重灾连发是的特点。一些特定的不可抗力的突发事件的发生,能在一定程度上对人民群众的生命以及财产安全构成一定的威胁,事件本身就存在着一定的危险性,还有一个很重要的影响因素就是人民群众的抵御能力。在突发事件中人民群众是最大的受害者,在突发事件发生之前,公众是否有所准备,对于结果会迥然不同。所以,提高公众对应急灾害的认识和认知以及他们的自救互救能力是减少损失的重要途径。虽然近年来我国日益重视自救互救能力培训,但公民的掌握程度仍存在着很大的问题,自救互救能力培训还有待加强。

1.2研究意义

应急知识学习系统可以帮助人们学习应急知识,提高自救能力。本系统提供了交流论坛、知识测考、应急知识学习、知识宣传等模块,能够帮助人们快速的了解应急知识,掌握应急知识以及对自己所学的应急知识进行考试测评,还有答题功能;能给人们提供最新的应急相关信息,了解国家应急方针和策略。知识宣传能让人们认识到应急知识学习的重要性,以及在不同灾害情况下该如何自救,如何保证人身安全,以教学视频的方式进行学习,便于学习者的理解。

1.3国内外研究现状

根据查阅的资料显示,我国公民对于应急知识的学习现状最最明显的问题就是,社会针对应急知识的培训和宣传不足,导致公民对于公众安全的意识很薄弱,培训应急知识大多数都是短期的,有目标的进行,不利于提高公民的整体的应急的能力。我国对于应急知识培训也开展了很多工作,但是涉及到的应急知识种类不多,学习培训后,并没有针对性的对培训结果进行分析和统计,这不利于提高所培训的真实效果。当然也有少数的培训项目,虽然设置了对学习效果的评判机制,但是评判的方法并不科学,只是简简单单的以调查问卷的方式进行统计。

反观国外的进展,国外相关应急的研究也已经有了- -定的体系和理论成果,特别是在培训中提出了很多具有可参考价值的、可操作的技术。据统计,美国的急救成功率达百分之74,瑞典最少有超过百分之45的公民参加过有关心肺复苏的培训项目:澳大利亚的公民也有超过百分之50接受和学习过应急培训;日本的中学生接触和学习过应急知识的占比率高达百分之92;新加坡的居民对于核心的急救知识的知晓率达百分之57.2。
综上所述,我国公民的应急知识普及程度还不如国外,我们应该科学的去总结,对培训结果进行分析和归纳,然后针对性的普及应急知识,提高群众的安全意思。

1.4研究方法

首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用java平台来设计开发本系统,Mysql作为设计数据库的工具。即利用java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。

第2章相关技术介绍

2.1开发技术说明

本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的springboot框架进行开发。
前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2MVVM模式介绍

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.3 B/S结构

在系统的开发上采用了B/S结构,在B/S结构中,统一采用浏览器,而不需要去开发任何的用户界面,Web浏览器向处理它的Web服务器发送请求,并一步一步地将处理结果返回给客户端。B/S结构主要采用了各种脚本语言和ActiveX技术,降低了系统的开发难度并简化了系统维护以及使用[4]。

B/S结构有如下特点:B/S结构建立在广域网上,不需要专门为其配置硬件环境,比C/S结构的适应范围更强;由于其基于广域网,所以其对安全的控制能力相对较弱;B/S的多种结构要求构造相对独立的函数,这样才能可以更好地重用;B/S结构组成简单,便于对个别构件进行更换,降低了系统的维护成本B/S信息流向与C/S不同,B/S信息流向可变化。

2.4spring boot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

2.5Mysql数据库

Mysql 经过多次的更新,功能层面已经非常的丰富和完善了,从Mysql4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的Mysql支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。

针对本文中设计的应急知识学习系统在实际的实现过程中,最终选择Mysql数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的Mysql来对应急知识学习系统后台数据进行存储操作。

数据库管理系统的总体结构图如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_毕设

第3章系统分析

3.1可行性分析

技术性方面,采用当前主流的java技术进行系统主体框架的搭建,前台使用jquery,ajax,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。

实用性方面,本次设计的主要任务是在应急知识学习系统内学习应急知识、查看知识宣传等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。

经济性方面,由于本课题中设计的应急知识学习系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个应急知识学习系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。

3.2功能需求分析

应急知识学习系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览应急知识并对选中的应急知识进行查看。后台系统管理员因职责的不同,管理员主要对注册用户,通知公告,应急知识、知识宣传等进行处理。

系统用例图如下所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_课设_02

3.2.1前台用户功能

前台用户可分为未注册用户需求和以注册用户需求。
未注册用户的功能如下:
注册账号:用户填写个人信息,并验证手机号码。
浏览通知公告:用户可以浏览通知公告的信息,并选中某个通知公告查看详情。

已注册用户的功能如下:
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
浏览应急知识:用户可以根据知识类型浏览应急知识的信息,并选中某个应急知识查看详情,并可进行点赞、收藏、评论等操作。
进行知识测评。
查看知识宣传内容,并可进行点赞、收藏、评论、查看视频等操作。
互动交流,用户可在交流论坛发表自己的帖子,也可评论、回复他人的帖子。

3.2.2后台管理员功能

管理员功能如下:
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。

通知公告信息管理:对通知公告信息进行维护,添加、删除、修改信息。
用户管理:可以查看注册用户的信息,并对其进行管理。
知识测评管理:对知识测评信息进行维护,添加、删除、修改信息。
应急知识管理:对应急知识信息进行维护,添加、删除、修改信息。
知识宣传管理:对应急知识宣传信息进行维护,添加、删除、修改信息。
交流论坛管理:增加、删除、修改论坛分类,查看用户发表的帖子,对帖子内容进行维护、管理。

3.3非功能需求分析

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对应急知识学习系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。

3.4安全性需求分析

3.4.1系统的安全性

安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于应急知识学习系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。

3.4.2数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是乱码数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。

第4章系统设计

4.1系统架构设计

本应急知识学习系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_spring boot_03

4.2系统总体设计

应急知识学习系统总体分为前台用户模块和后台管理员模块。

两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

综上所述,系统功能结构图如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_课设_04

4.3系统功能设计

登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。

管理员用户管理模块:用户的添加,修改和删除操作。
知识宣传模块:可分为知识宣传浏览、知识宣传检索、知识宣传维护三个模块,管理员对知识宣传有维护的权限,发布新的知识宣传、更新已有的知识宣传等。
通知公告模块:可分为通知公告浏览、通知公告检索、通知公告维护三个模块,管理员对通知公告有维护的权限,发布新的通知公告、更新已有的通知公告等。
知识测评模块:对知识测评信息进行维护,添加、删除、修改信息。
应急知识模块:对应急知识信息进行维护,添加、删除、修改信息。
交流论坛模块:交流论坛模块促进用户对应急知识进行交流。

第5章系统实现

5.1数据库访问层的实现

从B/S架构的原理可知,应急知识学习系统的各大模块的实现均需要对数据库的数据进行操作,具体包括查询数据、写入数据、更新数据和删除数据,因此,在开发各功能模块前,首先创建一个名称"conn.“的文件,该文件主要用于连接数据,以后对程序需要操作数据时,可能使用语句”<? reqiure_once('conn.php');?>"调用就可以了。

5.2注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_毕设_05


用户注册界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_spring boot_06

5.3 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布新闻信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_vue_07


【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_应急知识_08

5.4管理员功能模块的实现(后台)

管理员进入系统后台后,可在首页查看首页、轮播图、通知公告管理、资源管理(知识测考)、交流管理(交流论坛、论坛分类)、系统用户管理(管理员、普通用户)、模块管理(知识分类、应急知识、知识宣传)等模块,并进行相对应的操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_spring boot_09


轮播图管理,在轮播图管理页面管理员可以对标题、封面图、等信息进行新增、修改、删除、查询等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_应急知识_10


知识测评,在知识测评页面管理员可以对名称、答题时长、总分、状态、创建时间、更新时间等信息进行新增、修改、删除、查询等操作,还可进行详情、题库、答题、评分等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_应急知识_11


知识分类,在兴趣类型页面管理员可以对知识分类、创建封间、更新时间等信息进行新增、修改、删除、查询等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_vue_12


应急知识,在应急知识页面管理员可以对应急知识、知识分类、知识视频、封面图片、创建封间、更新时间等信息进行新增、修改、删除、查询、查看评论等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_毕设_13

5.5用户功能模块的实现(前台)

用户登陆进入系统首页后,可查看首页、交流论坛、知识测考、通知公告、应急知识、知识宣传、我的(我的账户、我的收藏、个人中心)等模块,并进行相对应的操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_vue_14


交流论坛,在交流论坛页面用户可以发表自己的贴子,并可对他人的帖子进行评论、回复等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_课设_15


应急知识,在应急知识页面用户可以查看应急知识内容,并可进行点赞、收藏、评论、查看知识视频等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_毕设_16


知识测评,在调查问卷页面用户可以查看名称、答题时长、总分等信息,并可进行答题、查询等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_毕设_17


知识宣传,在知识宣传页面用户可以查看知识标题、知识分类、知识视频等信息,并可进行点赞、收藏、评论、回复他人评论等操作,如下图所示。

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_spring boot_18

文档截图

【万字文档+PPT+源码】基于springboot+vue的应急知识学习系统-可用于毕设-课程设计-练手学习_vue_19