学生学习交流网站后端设计和实现毕业论文
2020-02-19 18:13:48
摘 要
随着现在各大高校的扩招,各大高校的学生是越来越多,很多的学生基本只认得老师,却从未跟老师讨论过任何问题,甚至有的同学在大学期间都没有认清同学,就更不用说与同学讨论学习问题了。为了帮助学生在学习之后能够与其他同学交流自己的疑惑,或者帮助其他同学解决疑惑,现在的高校学生更加喜爱在互联网上进行学习,在网络上去与其他同学交流更加符合当下学生的喜爱。因此,本次研究的是学生学习交流系统的后端设计与实现,当与前端进行合作之后形成一个完整的系统,更加方便高校学生进行学习的交流。
本次研究采用的是 Spring Boot 框架[[1]],它是一个便于入门 Spring 的一个框架,适合做一些微服务[[2]]的后台,所选择的开发工具是 IntelliJ IDEA,数据管理工具选用的是 MySQL。本文从课题的研究的目的以及意义开始,按照软件项目的开发流程,从项目需求到概要设计,将系统所要实现的功能分析清楚,之后的具体实现则是使用各种技术手段将之前的需求转换成相对应的功能,再到系统的测试,模拟用户的使用方式去测试系统,确保系统的正确性、完整性,最终成功地搭建出了学生学习交流系统的后端,实现了用户登录、用户交流、用户评论等功能。
本次研究学生学习交流系统的后端设计与开发,更加地方便同班同学或者是全体同 学的学习和交流,它能够在移动端运行,也能够在 PC 端运行,方便解决了学生不能够随时随地交流问题的困难,后端系统能够记录学生在使用该系统时的数据,利用互联网进行学习交流,具有不同于传统的学习交流的方式的优势,能够帮助更多的同学找到与其他同学交流的方式方法。
关键词:Spring Boot;学生交流;系统后端;互联网
Abstract
With the expansion of major universities, there are more and more students in major universities. Many students basically only recognize teachers, but they have never discussed any problems with their teachers. Some students even did not recognize their classmates during college. Not to mention discussing learning problems with classmates. In order to help students to communicate their doubts with other students after learning, or to help other students solve their doubts, college students nowadays prefer to study on the Internet, and communicate with other students on the Internet is more in line with the current students' love. Therefore, this study is the design and implementation of the back-end of the student learning communication system. When working with the front-end, it forms a complete system, which is more convenient for college students to exchange learning.
This study uses the Spring Boot framework. It is now a framework for getting started with Spring. It is suitable for the background of some micro-services. The selected development tool is IntelliJ IDEA, and the data management tool is MySQL. This paper starts with the purpose and significance of the research of the subject research. According to the development process of the software project, from the project requirements to the summary design, the system needs to realize the analysis clearly. The specific implementation is to use various technical means to convert the previous requirements into Corresponding functions, then to the system test, simulate the user’s use to test the system, to ensure the correctness and integrity of the system, and finally successfully build the back end of the student learning communication system, realize user login, user communication, user reviews and other functions.
In this study, the back-end design and development of the student learning communication system is more convenient for the students and all the students to learn and communicate. It can run on the mobile terminal and also run on the PC, which is convenient for students to be able to solve anytime, anywhere. Difficulties in communication problems, the back-end system can record the data of students when using the system, and use the Internet for learning and communication. Different from the traditional way of learning and communication, help more students find ways and means to communicate with other students.
Key Words:Spring Boot;study and communication;back-end of the system;Internet
目 录
第1章 绪论 1
1.1 系统研究的目的及意义 1
1.2 国内外研究现状 2
1.2.1 国外研究现状 2
1.2.2 国内研究现状 2
1.3 研究内容与技术方案 2
1.3.1 研究内容 2
1.3.2 技术方案 3
1.4 论文基本结构 3
第2章 相关技术以及需求分析 5
2.1 相关技术 5
2.1.1 Spring Boot 5
2.1.2 MVC 模式 6
2.1.3 MySQL 7
2.1.4 MyBatis 8
2.2 需求分析 9
2.2.1 可行性分析 9
2.2.2 系统需求分析 9
2.3 本章小结 10
第3章 概要设计 11
3.1 系统概要设计 11
3.2 系统结构设计 12
3.2.1 前后端分离结构 12
3.2.2 系统包结构 12
3.3 系统功能设计 13
3.4 本章小结 14
第4章 系统的详细设计与实现 15
4.1 系统开发准备 15
4.1.1 主要开发框架 15
4.1.2 系统开发工具 15
4.1.3 数据处理工具 15
4.2 数据库的设计 16
4.2.1 数据库表关系图 16
4.2.2 数据库表的设计 17
4.3 系统详细设计 19
4.3.1 数据返回定义 19
4.3.2 数据库的连接以及操作 20
4.3.3 用户登录功能实现 20
4.3.4 用户提问与回答功能实现 22
4.3.5 在线交流功能实现 22
4.3.6 接口文档设计 23
4.4 本章小结 24
第5章 测试与分析 25
5.1 系统功能性测试 25
5.2 本章小结 26
第6章 总结与展望 27
6.1 总结 27
6.2 展望 28
参考文献 29
致谢 30
绪论
如果现在提及“交流”,相信许多人特别是大学生来说,首先想到的肯定是微信、 QQ、陌陌等等之类的交流软件,能够满足多种多样的社交方式,然而对于特定的社交即针对某些问题或者话题的交流很多的人想到的应是诸如论坛之类的网站。因为现在的移动设备的普及化,多数人的交流方式也发生着变化,从传统的面对面的交流方式到现在的虚拟网络的交流方式,快节奏的生活方式更加的适合利用现代化的技术手段来与其他人进行交流。任何一个人只要拥有终端设备能够连接上互联网就可以在任何地方同其他人进行不同话题的交流,逐渐地,人们的交流方式将会越来越依赖网络,这种交流方式几乎成为现代科技进步的一种表达方式。
系统研究的目的及意义
当前很多的高校大学生都普遍存在着“学生下课就离开,同学老师交流时间过少”的现象,对于很多的高校课程而言,知识及内容的含量非常大,很多的学生在课堂之上很难消化老师所讲授的知识,甚至很大部分的同学都不是太了解老师所说的内容,更别说是合理的运用这些知识了,而如果不能很好的学习消化这些知识和内容,课后又没能够及时与老师、同学交流自己所不能够理解的知识点,很容易使学生失去学习的能力,因为前面的知识不能够很好的理解,出现一系列的连锁反应,导致学生基础不牢固,更加深入的学习将会很难进行下去。很多的学生,特别是学习能力相对较弱学习又不主动不自觉,会放弃课程的学习,采用考试能够通过的机械式学习方法,这样即使能够通过考试,过几天之后就会忘记,甚至时间一长连同课程一起忘记,这样的学习方式就不是学习的初衷了。在网络学习平台上,都有核心学生充当着小组协作中的关键角色,发挥着重要的组织和引导作用[[3]]。
对于众多的当代高校大学生而言,几乎每一天都离不开网络,通过网络,大学生们就可以更加方便而简单地学习到更多的新知识、新内容、新技能来充实自己。而学生学习交流网站正是利用了网络技术,让高校大学生在使用网络之时能够同老师同学进行交流,弥补当下老师、同学在下课之后不能够及时进行交流的现状。由学校提供学生信息,管理员统一注册,学生能够在该交流网站进行相关问题的评论、交流,能够看到不同的同学的不同见解,同时学生还能够对自己不明白的知识提出问题,学生能够对问题进行在线交流,与同班同学或者所有在线的同学进行即时交流。
互联网学习交流,有着不同于传统学习交流的优势,例如,合理的运用多种网络设计元素,大大的提高了其使用价值,信息的长久保存,知识的快速查看,因此,如何有效地组织、管理和运用这些丰富的互联网资源提供给高校学生学习使用,并且能够让他们快速上手这些资源变为学习方式成为了现在的难点。
国内外研究现状
国外研究现状
国外的交流方式主要是 BBS 成员之间的交流与网络通讯,随着互联网的不断发展, BBS 的许多特性被后续出现的许多应用取代,对于特定的学生交流模块更是少之又少,更多的是主要集中在网络社会、虚拟社区等方面。由于国内外的思想不同,国外的大学生更多的是学习很多的新知识,其负担之重远比国内的要可怕的多。课后的阅读以及作业量都需要自己亲历亲为,不像国内足不出户就可以完成许多老师的作业,他们需要大量阅读、检索资料、实地调研、走访问卷、反复思考甚至假设模拟。国外的学生更不像国内的学生,整天手机不离身的,他们需要的是实践认知。因此,他们在开发关于高校学生学习交流方面的网络应用及其稀少。
国内研究现状
目前,随着中国教育与科研建设的不断发展,各大高校都建设好了良好的网络硬件环境。而国内的研究更多的是针对网络学院的远程教学,至于校园内正规的教学,老师自发的建立课程主页的比较多,由学生作为主体的自发的进行学习交流的针对性的应用几乎没有,大家的交流方式是通过 QQ、微信等社交软件来进行的交流,对于学习交流并没有很大的用处,更多的高校大学生则是利用这些软件来进行社交。当然国内还有论坛贴吧等等的网站供学生选择,但是这些内容太多样化,包含了各种各样的内容,因此个人认为不是很适合学生学习交流的地方,他们需要的是专门针对学校学生学习的交流系统。
研究内容与技术方案
研究内容
本项目的研究目标是:开发出方便高校大学生学习交流的系统
本项目研究的主要内容:学校统一注册学生信息,可以游客模式访问首页,好友之间能够进行交流,注册学生能够查找问题,可以对自己不懂的问题进行提问,可以选择课程查看问题,查看解答,设置个人资料等等。在游客身份时仅仅能够查看,无法参与解答、下载资料、提问等等操作。除去常规功能之外还会有管理员的特殊功能以及超级管理员的所有权限,能够操作所有信息的权限。而在本次个人的设计中,主要是负责后端的开发,需要给前端提供相应的接口,在接口上就可以设置接口访问权限,用来决定游客、用户、管理员是否可以访问该接口,在数据的传输以及保存中,需要将一些特殊的数据做特殊的处理,例如:个人密码是通过加密之后去跟数据库里面的加密过后的密码进行验证等。
技术方案
学生学习交流网站拟采用 Java EE 体系结构,采用 MVC 模式的设计思想,使用 Spring,Spring Boot,JQuery,Vue 等框架,数据库采用 MySQL 进行开发。使用 Swagger-UI将接口由页面展示出来,可以在页面直接对接口进行测试访问,使用 WebSocket 的通信方式,在前端调用时可以进行即时通讯。使用 JWT(Java Web Token) 技术实现前后端分离访问接口、权限等方面的控制,将前端实现与后端开发完全分离。
系统采用的是 MVC 模式,参照 Spring MVC 框架的 WEB 项目开发解决方案,将该系统分为 4 层:
- 视图层:展示 web 界面,并将用户的请求以 ajax 请求的形式发送到控制层,主要是前端服务器使用 Node.js Vue 进行开发,使用 Layui 来进行页面 UI 设计。
- 控制层:这一层就是所谓的“接口”,前端可以通过调用这些接口得到想要的数据, 控制层不对数据做任何的处理,只需要知道用户的操作,将操作映射到业务 逻辑层,由业务逻辑层去处理用户的操作。
- 业务逻辑层:主要决定对控制层发来的请求应该做出怎样的处理,这一层主要是进行逻辑运算,就是整个项目的核心层,其决定着应该向数据持久层传入哪些数据,以及将数据持久层的数据拿到之后做怎样的处理,并且决定该返回什么样的 数据给控制层。
- 数据持久层:主要是如何与数据库进行交互的方式,简单来说就是使用SQL语句来操作数据库,其中包括将业务逻辑层传入的数据保存到 MySQL 数据库中,以及如何将数据库中各个表的数据作为持久化对象传给业务逻辑层处理。
论文基本结构
论文共由六个章节组成,主要内容及结构安排如下:
第一章绪论,主要描述的是设计的背景、意义,国内外的研究现状以及主要研究内容和开发中使用的技术方案。读者通过浏览绪论这一章节,可以对本论文有最初步的认知,对设计及成果有一个概括性的了解。
第二章介绍了部分相关技术以及需求分析,主要讲述的是 Spring Boot 框架,MVC模式,MySQL 和MyBatis等这些技术的相关功能以及在开发中的使用情况,其次是学生学习交流系统的可行性分析和系统的需求分析。
第三章讲述了学生学习交流系统的概要设计,分别从系统概要设计、系统结构设计到系统的功能设计,其中附上了一些图片,例如:流程、包调用关系图等,更加直观地了解该系统。
第四章是系统的关键章节,是关于系统的详细设计与实现,里面讲述了很多的内容, 其中包括了系统开发前的准备工作,开发工具、数据处理工具的选择等,之后是数据库的设计,里面有数据库 E-R 图,数据库表的设计,最后的系统的部分详细设计,例如:数据库的连接以及操作,接口文档的设计等等。
第五章讲述的是系统的测试与分析,主要讲述的是系统的功能性测试,并且使用表格的方式展示出来,然后结合表格数据分析了测试结果。
第六章是总结与展望,对毕业设计的前期、中期和后期工作进行了一个简单的总结,并且确定下一步的研究和开发方向,力争更加地完善整个系统的设计与开发。
相关技术以及需求分析
为了使学生学习交流系统的设计开发变得更加简单,拥有良好的可移植性、能够更好的适应版本迭代,当新的需求出现时,后端开发人员只需要修改少量的代码,可以多次使用已经完成开发的各种公共模块,我们采用的是现在比较流行的 Java EE 规范,各个代码模块之间的分工比较明确。下面将对一些需要使用的技术概念以及系统的需求进行简要的分析。
相关技术
为了使读者对于本系统的技术方案有一个简单的认识,本节对系统开发中使用的一些技术进行简要分析和说明。
Spring Boot
Web 的开发经过多年的技术甄选,Spring Boot 逐渐地进入到开发者的视野,其使编码变得更为简单,成为目前很多开发人员进行 Web 开发的必选技术。因为其快速开发的特性,同时也是入门Spring的很好途径,本次开发将会使用Java语言进行开发,使用Spring Boot作为开发的主要框架,这样可以省去很多的配置。
Spring Boot是近些年出现在大众视野的一个全新的框架,通过其特定的配置方式,可以在项目搭建和开发时更加的简单方便。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域 (rapid application development) 成为领导者[[4]]。它具备的一些功能如下:
- 独立的运行 Spring 项目:Spring Boot项目能够打包成jar的形式,而不需要像Spring那样麻烦,运行一个 Spring Boot 项目只需要在安装了Java环境下使用命令 java -jar xx.jar 来运行。
- 内嵌 servlet 容器:Spring Boot框架中提供了Tomcat、jetty和Undertow服务器,在开发中可以直接选择这些服务器开发,不需要在使用war包的形式来部署项目,极大地简化了开发和部署的方式。
- 使用 starter 简化 Maven 配置:Spring Boot使用pom文件来简化依赖加载项,可以直接在Maven仓库中找到自己想要的依赖,例如,当你在IDEA中使用了 spring-boot-starter-web,会自动下载并导入依赖包。
- 自动装配 Spring:Spring Boot会自动查找路径中的jar包和类,为这些类去自动地配置Bean,可以减少手动配置的麻烦。目前,Spring Boot 的自动装配仅仅适合多数的场景,对于一些特殊的场景,Spring Boot无法满足的时候,也可以使用自定义的配置方式来配置自己需要的Bean,如果习惯了Spring那样的配置,也可以使用。
- 准生产的应用监视:Spring Boot 项目在运行的时候,可以使用Http、SSH、Telnet对项目进行监视,这些都是Spring Boot提供的。
MVC 模式
MVC( Model View Controller)是模型 (model) -视图 (view) -控制器 (controller) 的缩写,MVC的思想强制性的将应用程序的输入、处理和输出分离开。它是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,MVC模式被独特的发展起来用于映射传统的输入、处理和 输出功能在一个逻辑的图形化用户界面的结构中[[5]]。图 2.1 展示 MVC 模式工作流程:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: