【中原工学院毕业设计】真享学APP课程及笔记的设计与实现

摘 要
真享学APP是一款在线学习平台,它致力于通过提供高品质的教育内容和教育服务,为大众提供方便、实用、高效的在线学习体验,解决人们在学习过程中所面临的困难和问题。主要工作包括:系统调研及需求分析、总体方案设计、数据库设计、欢迎界面模块设计、用户注册、登录模块设计、首页模块设计、课程管理模块设计、课程列表模块设计、课程详情模块设计、课程收藏设计、学习笔记设计以及APP测试完善等。
该软件在实际应用中,除了总体的功能流畅度以外,还确保了数据的真实性和完整性。真享学APP的推出和快速发展,不仅使大众可以从中获得更好的教育资源和服务,同时也代表了互联网时代,学习方式的转变和革新。它为教育领域提供了新的机遇与挑战,借助先进的技术手段,不断提高教育的普及率和质量,实现面向全球的在线教育的梦想。通过真享学APP的学习,用户可以在自己的空闲时间通过移动终端进行学习,充分利用碎片化时间提高知识储备,实现“随时随地”在线学习的目标。它代表了未来教育的趋势和方向,将给社会和人类带来更多的机遇和发展。
关键词:真享学APP;课程;笔记;在线课堂
Abstract
Zhenxiangxue APP is an online learning platform dedicated to providing high-quality educational content and services, providing the public with a convenient, practical, and efficient online learning experience, and solving the difficulties and problems people face in the learning process. In response to the requirements of the system, the technologies used in this article mainly include: Windows 10 as the development platform, SQL as the backend, IntelliJ IDEA 2019.3.1 x64 as the development tool for the front-end, and written in HTML language. The backend is written in Java language, and spring boot is used for writing. The main work includes: system research and demand analysis, overall scheme design, database design, welcome interface module design, user registration, login module design, home page module design, course management module design, course list module design, course details module design, course collection design, learning notes design, and APP test improvement.
In practical applications, this software not only ensures overall functional smoothness, but also ensures the authenticity and integrity of data. The launch and rapid development of the Zhenxiangxue APP not only enable the public to access better educational resources and services, but also represent the transformation and innovation of learning methods in the Internet era. It provides new opportunities and challenges for the education field, utilizing advanced technological means to continuously improve the popularity and quality of education, and achieve the dream of online education for the world. Through the learning of the true learning APP, users can learn through mobile terminals in their free time, make full use of fragmentation time to improve knowledge reserves, and achieve the goal of "anytime, anywhere" online learning. It represents the trend and direction of future education, which will bring more opportunities and development to society and humanity.
目 录
摘要
Abstract
目 录
第1章 系统概述
1.1 开发背景
1.2 研究现状
1.3本论文研究内容
第2章 系统关键技术及工具简介
2.1 Java技术
2.2 SSM框架
2.3 VUE框架
2.4 Mysql数据库简介
2.5 SpringBoot技术
2.6 本章小结
第3章 系统分析
3.1 需求分析
3.2 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.3 系统用例分析
3.4 系统流程分析
3.4.1登录流程......................................................................................................15
3.4.2添加信息流程
3.4.3修改信息流程
3.5本章小结
第4章 系统设计
4.1 系统基本结构设计
4.2 数据库设计
4.2.1 数据库E-R图设计
4.2.2 数据库表设计
第5章 系统实现
5.1 管理员登录
5.2 用户管理
5.3 首页管理
5.4 学习笔记管理
5.5 课程信息管理
5.5.1 课程查询
5.5.2 课程信息修改
5.5.3课程删除
5.6用户登录
5.7我的.......................................................................................................................43
第6章 系统测试............................................................................................................
6.1 系统测试目的
6.2 系统功能测试
6.2.1登陆注册功能测试
6.2.2用户管理功能测试
6.2.3课程管理功能测试
6.2.4学习笔记管理功能测试....................................
总结
致 谢
参考文献
附 录
附录A: 附加图、表
附录B: 主要源程序
附录C: 软件使用说明书
第1章 系统概述
通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提。
1.1 开发背景
随着Internet及移动互联网技术的迅猛发展,人们的生活方式和学习方式也在发生着巨大变化。在线教育作为一种高效、灵活的学习方式,在“互联网+”时代得到了迅速发展。真享学APP凭借其方便、灵活、互动性强等优势,成为越来越多学生、教师及家长的首选学习平台。
1.2 研究现状
目前,在线教育的关键技术及相关研究方向主要包括以下几个方面:
(1)在线教育技术平台设计及开发:包括在线课程设计、视频制作及存储技术、在线直播技术、考试评估技术等。
(2)在线教育内容设计及授课研究:如MOOC课程设置、在线教学资源设计及组织、教学策略研究等。
(3)在线学习行为及评价研究:即如何利用在线学习平台提供的数据进行学习者行为及学业成就评价,为学习者提供更好的学习体验和服务。
(4)移动互联网与在线教育:随着移动互联网技术的普及,如何更好地利用移动互联网技术,优化在线教育平台的效果,是当前研究的热门课题。
总之,随着在线教育的快速发展,真享学APP课程及笔记的开发不仅能丰富在线教育的内容和形式,也有助于提升在线教育技术和服务水平,构建更为完备、高效和安全的在线教育生态体系。
1.3本论文研究内容
该系统采用java技术,结合springboot框架使页面更加完善,后台使用MySQL数据库进行数据存储。本文从真享学APP课程及笔记系统流程分析入手,分析了其功能性需求和非功能性需求,设计了一个由多用户组成的真享学APP课程及笔记系统,接着分析系统的主要功能以及实现的流程及运行结果与测试,最后进行论文的总结。
第2章 关键技术介绍
2.1 Java技术
这个项目主要是利用JAVA开发的。它是一项面向对象的编程语言。JAVA的推出即刻为整个互联网上的交互式应用程序展现出一个新的“世界”。
Java程序在计算机的程序应用过程当中是非常重要的一个应用软件,因为它的性能比较高,而且能够应用在多重领域当中,因此该程序在计算机的软件程序应用当中的范围相对来说是比较广泛的。而从专业的技术角度来说,Java程序的应用的实用性也是非常强的,这是因为它与传统的C语言或C++相比没有太大的基本结构的变化,也就是说它的语法结构是相对单一,而且具有稳定的特性,还有更重要的一点是Java程序语言的基本参考对象就是C语言,所以他的程序编写并不是很复杂,而且还能够起到优化工作效率提升系统设计本身的基础功能的作用,因此他也就受到了非常广泛的程序员们的青睐。
在此次进行系统设计开发研究的过程当中,还发现Java程序语言之所以能够得到市场上更多用户的好评和青睐,其根本原因在于他能够具备各种语言的自身独特优点的展现,也就是说它的兼容性是常强的。因此,我们因此我们可以说在任何一个程序的开发过程当中,Java语言程序的应用是必不可少的,它他在程序员进行改动的时候,哪怕是一个程序字母的改动,都可以形成一种特定的程序,这是Java程序,非常独特的另一个优点。不仅如此,Java源程序的可移植性也是非常大,而且它的安全系数很高,能够通过不同方式进行移植到其他程序当中,而且可以兼容不同程序的系统,在运行的过程当中,其安全系数也是非常强的,能够确保用户在使用网络的过程当中去确保网络的安全,而正是基于这样的可移植性,为程序员节约了很多的系统语言程序的开发设计的时间,这是非常难得的一种自有优势。
平台独立性、语言灵活性、多线程编辑是Java语言程序的综合性优势最强的一种展现,也就是说在使用Java语言程序进行软件编写的过程当中,不需要过多的去处理Java语言程序当中的一些编程格式和编码只需要在形式上去修改,用虚拟机来翻译一些比较重要的中间翻译码,就可以使Java语言程序在虚拟机当中进行正常运行,同时加外语言程序的灵活性是非常高的,程序员重新安装已经破坏的已有程序就重新安装已经破坏的已有程序就可以实现程序的正常运行了,而不需要再重新大费周章的去做一个全新的程序这也是非常节约方式的一个重要的途径之一。还有更重要的一点就是Java语言程序可以采取多线程的形式进行编辑,也就是说根据原有的家会员程序的内容进行同步原语言程序功能的保存,使得语言程序数据内容进行共享,然后发挥多线程的特性来采取不同系统和同语言程序的共同操作,使得互联网技术能够呈现更多样化的系统功能的应用。
2.2 SSM框架
SSM框架是指Spring + SpringMVC + MyBatis框架的整合。它是一种基于MVC模式的Web应用程序开发框架,主要用于快速开发企业级Java Web应用程序。
具体来说,SSM框架的三个主要组成部分如下:
Spring框架:是一个轻量级的容器,提供了依赖注入和面向切面编程的支持,可以帮助开发人员快速构建企业级应用程序。
SpringMVC框架:是Spring框架的一部分,用于开发Web应用程序。它提供了一个基于MVC模式的Web框架,可以帮助开发人员快速构建Web应用程序。
MyBatis框架:是一个开源的ORM框架,可以将Java对象映射到关系数据库中的数据。MyBatis提供了SQL映射器和数据访问框架,可以简化数据访问层的开发。
在SSM框架中,Spring框架提供了IoC容器和AOP功能,SpringMVC框架负责Web层的请求分发和视图渲染,MyBatis框架负责数据访问层的开发。整合三个框架可以使开发人员更加高效地开发Web应用程序,降低开发难度和成本。
2.3 VUE框架
Vue.js是一个流行的JavaScript前端框架,它是一个轻量级的MVVM(Model-View-ViewModel)框架,用于构建交互式用户界面。它使用虚拟DOM(Virtual DOM)来管理应用程序的状态和更新DOM,以提高性能和效率。Vue.js具有以下特点:
轻量级:Vue.js非常轻量级,只有20KB左右的大小,这意味着它可以快速加载,并且非常适合构建单页面应用程序(SPA)。
响应式:Vue.js使用双向绑定和响应式的数据流,使数据的变化能够自动地更新UI。
组件化:Vue.js使用组件化的思想,可以将UI分解成可复用的组件,使代码更加模块化、可维护性更好。
插件化:Vue.js可以与其他库和插件轻松集成,提供了丰富的插件和组件,使得构建Web应用程序更加容易。
文档全面:Vue.js拥有完整的文档和API,开发者可以快速上手并快速构建应用程序。
社区活跃:Vue.js有一个活跃的社区,提供了大量的资源、工具和帮助,开发者可以方便地获取帮助和支持。
Vue.js可以与其他库和框架(如jQuery、React、Angular等)配合使用,但也可以作为独立的库使用。它通常用于构建单页面应用程序(SPA)和复杂的用户界面,具有良好的性能和灵活性。
2.4 Mysql数据库
对于任何一个全新开发的系统应用设计而言,都需要进行数据库的匹配安装,而此次所设计开发的真享学APP课程及笔记系统的数据库就是MySQL,之所以会选择该数据库,主要原因是因为它能够进行关联的数据见表,而且数据库的稳定性非常强;同时还因为该数据库具有相对优越的使用性能,尤其是在开发环境的应用上,能够体现出其极致的优越性和发挥良好安全、灵活性能。除此以外,还因为MySQL数据库在编辑完成之后,可以在任何的系统环境当中进行使用说明它的兼容性是非常强的,同时它支持多线编程,能够节省CPU的暂存空间,同时它的运行速度和安全稳定性是非常强的,更重要的是它是一款免费的数据库应用产品,可以在系统建设和应用阶段省下一些设计成本。
2.5 SpringBoot框架
Spring Boot架构是一个重要的公共管理体系, Spring Boot架构提供了包括域模式和 DAO的 IOC容器。Spring Boot的 IOC库为读者呈现了多种应用实例。Spring Boot的相关性植入可以将管理体系中的各个组成部分紧密地结合起来,并且根据 Spring架构的相关性植入来配置这些部件。Spring Boot的架构采用了大量的界面设计,降低了再建费用,方便而又完整的后期修改。
Spring Boot的交易宣告架构可以被用于交易,而无需将交易政策和程式码相联系,而可以使用概要的方式让商业逻辑元件集中于执行商业逻辑,这样可以降低程式设计师的发展困难。
2.6 本章小结
本节作为开发的准备,简要介绍了系统开发所需的开发环境,然后介绍系统开发所需的技术,从而掌握系统开发的总体框架性。
第3章 系统分析
系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析用户的业务,并根据用户的需求进行定制分析[10]。
3.1 需求分析
需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发人员经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程[11]。
功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了一种基于windows平台实现的真享学APP课程及笔记系统。该系统为用户找到外卖订餐信息提供了更安全、更高效、更便捷的途径。
3.2 可行性分析
可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响、资金筹措情况、盈利能力等,预测项目建成后可能产生的资金、经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性[13]。
3.2.1 技术可行性
本系统是为用户寻找真享学APP课程及笔记系统提供更加安全、高效、便捷的方式,本系统需要运用到Java、MySQL、springboot、SSM框架等技术,这些技术在国内外已经非常成熟[14],在大学期间也有所涉及,相关的知识和工具在网络上也可以查到,再加上老师的指导,在技术上的难题可以得到解决。
3.2.2 经济可行性
该系统的主题是真享学APP课程及笔记系统的设计与实现。开发所需的软件资源是 IntelliJ IDEA。我们可以在它的系统上安装一个免费的版本,这对我们的开发和使用是足够好的。数据库就是MySQL数据库。是开源是免费的,服务器使用Tomcat服务器,浏览器使用日常IE浏览器,andriod 框架是开源的。经过可行性评估,软件资源支出符合经济可行性[15]。硬件方面,配备齐全的笔记本电脑作为工具在经济上是可行的。
3.2.3 操作可行性
随着科技的进步,电脑已经普及到每个家庭,许多招聘工作都转向线上招聘方式。本系统的前台界面设计简洁明了,内容丰富,后台管理方便管理员管理,功能全面,可以通过简单的鼠标、键盘操作进行修改、删除、添加等操作。本系统的结构清晰,各个功能模块清晰可见,只要具备基本的电脑技能,就能够轻松操作和管理本系统,因此具有很高的操作可行性。
3.3 系统用例分析
真享学APP课程及笔记系统综合网络空间开发设计要求。目的是将药盒管理信息将传统管理方式转换为在网上管理,完成药盒管理的方便快捷、安全性高、交易规范做了保障,目标明确。真享学APP课程及笔记系统可以将功能划分为管理员功能和用户功能功能。这两类用户分别有各自的功能权限,并且各自间存在着权限关联。如图3-1所示。

用例描述
1.课程管理
课程管理用例描述能够描述系统中的课程管理功能,课程管理用例描述如表3.1所示

2.用户信息管理
用户信息管理用例描述能够描述系统中的用户信息管理功能,用户信息管理用例描述如表3.2所示。

3.4 系统流程分析
3.4.1 登录流程
每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-2所示:

3.4.2 添加信息流程
管理层人员有添加角色信息功能。添加信息流程如图3-3所示:

3.4.3 修改信息流程
管理层人员有修改信息功能。修改信息流程如图3-4所示:

3.5 本章小结
真享学APP课程及笔记系统从市场、技术、经济、功能等方面分析了系统的功能需求,可以满足用户的真享学APP课程及笔记系统管理需求,帮助用户安全、高效地找到合适的药盒管理信息,因此有必要对其进行课题研究。
第4章 系统设计
系统设计是将被设计对象划分为单个模块进行构建,各个模块相互支持,相互制约,它们的组合是一个完整的系统。通过系统设计,可以最大限度地满足系统的预期目标,明确软件开发的目的。
4.1 系统基本结构设计
本次系统后端采用springboot框架集进行开发,springboot框架是一款企业界主流的软件开发框架,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统总体结构图如图4-1所示。

4.2 数据库设计
数据库结构设计的好坏直接影响到真享学APP课程及笔记系统的效率和实现的效果。本系统的数据库采用MySQL数据库,MySQL是一种开放源代码的关系型数据库管理系统,使用最常见的数据库管理语言SQL进行数据库管理。
4.2.1 数据库E-R图设计
E-R图也可称为实体-联系图,其可以清楚的显示实体与实体之间的关系,是描述概念模型的有效方式,通过各实体间的关系方便数据库结构的设计。以下是本系统主要的实体属性图如下所示。
用户实体图。如图4-2

课程实体图。如图4-3。

配置实体图。如图4-4。

Token实体图。如图4-5。

用户角色实体图。如图4-6

总体er图。如图4-7所示:

4.2.2 数据库表设计
数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:





4.3 本章小结
通过本章针对真享学APP课程及笔记系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。
第5章 系统实现
系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。本章主要是针对该系统的各个功能进行一个介绍,对它每个功能的设计与实现 进行一个说明,功能主要包括管理员登录、用户管理功能、首页功能、课程信息管理功能、学习笔记管理功能、留言反馈功能、系统管理功能等功能
用户登录进入前端APP,可以进行登录,注册,查看首页信息,查看课程信息,学习,收藏课程,维护个人信息查看收藏,学习笔记等功能。
管理员登录后台系统后,可以对首页信息,个人中心,课程信息管理,学习笔记管理,系统管理等功能进行相应的操作。
5.1 管理员登录
管理员登录是防止一些非管理人员的非法人员想要非法进入系统管理页面,想 要得到系统中的数据库信息的操作。管理员首次登录时会调用 UserController 里 面的 register 方法,之后通过里面的 setpassword 来修改密码,当登录时管理员需要在输入界面输入账号和密码,之后点击立即登录按钮,会生成一个随机的 token,之后将这个存入到 redis,之后存储 response 给前端,当输入没问题时,会显示登录成功,如果账号或者密码错了就会显示账号或者密码错误。下图 5-1是管理员登录页面,图 5-2 是管理员登录不成功页面:


管理员登录的核心代码为:
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
5.2 用户管理
为了提高对用户的管理效率,在管理员管理页面功能中有一个用户管理模块,管 理员可以对用户的个人信息进行查看、搜索和修改等,管理员可以对用户个人信息进行增删改查等操作,其中个人信息的查看时调用的yonghuController类里的page方法,用 list方法查询数据库里面保存的数据并通过用户管理中查看所有用户信息界面展示出来。查询时是通过用户的id,通过yonghuController里的selectById对数据库中存在的id进行查询,将查询结果显示出来。用户信息界面如图 5-3 所示。

实现用户信息查询相关代码如下:
public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
return R.ok().put("data", page);
}
public R list( YonghuEntity yonghu){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
return R.ok().put("data", yonghuService.selectListView(ew));
}
public R query(YonghuEntity yonghu){
EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
YonghuView yonghuView = yonghuService.selectView(ew);
return R.ok("查询用户成功").put("data", yonghuView);
}
public R info(@PathVariable("id") Long id){
YonghuEntity yonghu = yonghuService.selectById(id);
return R.ok().put("data", yonghu);
}
对某个用户信息进行修改操作时,是调用的yonghuController类里的update方法,通过id来遍历整个List,找到相应的用户后,通过调用yonghuService 里的 updateByid来修改某个用户信息,同时将结果返回到前端。

实现用户信息修改相关代码如下:
public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
//ValidatorUtils.validateEntity(yonghu);
yonghuService.updateById(yonghu);//全部更新
return R.ok();
}
对某个用户进行删除操作时,是调用的yonghuController类里的 delete方法,通过id来遍历整个List,找到相应的用户后,通过调用yonghuService 里的 removeByIds来删除某个用户,同时将结果返回到前端。
实现用户删除相关代码如下:
public R delete(@RequestBody Long[] ids){
yonghuService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
5.3 首页管理
首页管理是针对管理员管理页面的,管理页面中各个功能的入口和页面的设 计。主要包括用户管理、课程信息管理、学习笔记管理等功能。首页展示如下图 5-5所 示:

5.4学习笔记管理
为了提高对学习笔记的管理效率,在管理员管理页面功能中有一个学习笔记管理模块,管理员可以对学习笔记进行查看、搜索和修改以及删除等,管理员可以对学习笔记进行增删改查等操作,其中学习笔记的查看时调用的xuexibijiController类里的page方法,用 list方法查询数据库里面保存的数据并通过学习笔记管理中查看所有学习笔记信息界面展示出来。查询时是通过的学习笔记id,通过xuexibijiController里的selectById对数据库中存在的id进行查询,将查询结果显示出来。学习笔记管理界面如图 5-6 所示。

相关主要代码:
public R page(@RequestParam Map<String, Object> params,XuexibijiEntity xuexibiji,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
xuexibiji.setYonghuming((String)request.getSession().getAttribute("username"));
}
EntityWrapper<XuexibijiEntity> ew = new EntityWrapper<XuexibijiEntity>();
PageUtils page = xuexibijiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuexibiji), params), params));
return R.ok().put("data", page);
}
public R list( XuexibijiEntity xuexibiji){
EntityWrapper<XuexibijiEntity> ew = new EntityWrapper<XuexibijiEntity>();
ew.allEq(MPUtil.allEQMapPre( xuexibiji, "xuexibiji"));
return R.ok().put("data", xuexibijiService.selectListView(ew));
}
public R info(@PathVariable("id") Long id){
XuexibijiEntity xuexibiji = xuexibijiService.selectById(id);
return R.ok().put("data", xuexibiji);
}
public R query(XuexibijiEntity xuexibiji){
EntityWrapper< XuexibijiEntity> ew = new EntityWrapper< XuexibijiEntity>();
ew.allEq(MPUtil.allEQMapPre( xuexibiji, "xuexibiji"));
XuexibijiView xuexibijiView = xuexibijiService.selectView(ew);
return R.ok("查询学习笔记成功").put("data", xuexibijiView);
}
5.5课程信息管理
课程信息管理模块的功能如下:
课程查询模块设计:完成对课程的查询功能。
课程修改模块设计:完成对课程的完善。
课程删除模块设计:完成对某课程的删除功能。
展示功能如下图所示。
5.5.1课程查询
对视频课程详细信息的查询是调用kechengxinxiController 类里的 list 方法,通过 kechengxinxiService 里的 insert 将列表展示出来,同时将结果返回到页面中。查询课程详细信息列表如图5-7所示:

相关主要代码:
public R list( KechengxinxiEntity kechengxinxi){
EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( kechengxinxi, "kechengxinxi"));
return R.ok().put("data", kechengxinxiService.selectListView(ew));
}
public R save(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request){
kechengxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(kechengxinxi);
kechengxinxiService.insert(kechengxinxi);
return R.ok();
}
5.5.2课程信息修改
当需要对某门课程进行修改时,通过调用 课程信息Controller 类里的 update 类, 通过 kecehngxinxiService 里的 updateById 对数据库中相应内容进行修改,保存成功后将 结果返回到页面中。课程信息修改如下图 5-8 所示:

相关主要代码:
public R update(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request){
//ValidatorUtils.validateEntity(kechengxinxi);
kechengxinxiService.updateById(kechengxinxi);//全部更新
return R.ok();
}
5.5.3课程删除
当需要对课程进行删除时,调用 kechengxinxiController 类 里 的 delete 方 法 , 通 过 ids 遍 历 数 据 库 中 内 容 , 之 后 通 过 kecehngxinxiService 里 的 deleteBatchIds 对相关课程进行删除。删除课程图片如下图 5-9 所示:

5.6用户登录
通过yonghuController中的login方法,通过userService的selectOne方法来找到我们所提交的用户名对应的信息,如果不为空且密码相等,生成一个token携带之后将这个存入到 redis,之后存储 response 给前端,当输入没问题时,会显示登录成功。用户登录如5-10所示:

相关主要代码:
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
5.7我的
查看我的信息:
我们点击我的页面点击齿轮进行查看我的信息时,会调用UserController中的page或者list方法,通过userService的queryPage,selectListView将用户信息展示。我的信息如5-11图所示:

第6章 系统测试
系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码。
6.1 系统测试的目的
系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。
6.2 系统功能测试
在系统的功能性测试中,开发人员需要按照操作要求使真享学APP课程及笔记系统的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查,从而实现系统的功能并进行操作。
6.2.1登录注册功能测试
软件测试的第一步是真享学APP课程及笔记系统的用户注册登录功能模块进行测试,测试用户在初次进入软件系统时,是否可以使用注册后登录的功能,具体测试的步骤如表6-1所示。

6.2.2用户管理功能测试
系统的管理层可在此模块进行以下操作:对用户基础信息的修改;对用户的登录密码进行重置;删除用户;添加用户;根据关键词进行检索。测试操作如表5-2所示:

6.2.3课程管理功能测试
系统的管理层可在此模块进行以下操作:对课程基础信息的修改;删除课程;添加课程;根据关键词进行检索。测试操作如表5-2所示:

6.2.4学习笔记管理功能测试

6.3 本章小结
本章所做的主要工作是对系统进行功能性测试。系统的正确性是系统的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。
总结
该系统使用 SSM 和springboot以及vue为框架,MySQL 为数据库,前端主要使用的是APP相关技术。运用这些技术来设计开发该系统,有利于后期的更新维护。 该系统的管理员端主要实现了登录、系统首页、用户管理、课程信息管理、学习笔记管理、系统管理、留言反馈七个模块。每一个模块在该系统中都发挥着重要的作用。登录模块实现了管理员的登录操作。首页管理实现了对页面中各项功能列表的展示以及退出登录按钮等。用户管理实现了对用户进行删除和新增以及对已注册用户信息进行修改等操作。课程信息管理模块是对课程进行了一个上传,方便用户搜索进行 学习学习笔记管理模块是针对在线学习在学习过程中把重点记录下来。留言反馈它实现了对课程的内容进行反馈。系统管理模块就是对系统进行简单介绍以及发布本系统公告。上述是真享学视频课程学习系统中管理员端所包含的所有模块的一个简单介绍。因为对项目中遇到的一些知识运用不熟练或不了解,导致在系统编码过程中遇到过很多错误,所以系统运行过程中也出现了很多的异常,比如网页无法访问、文字乱码、提交无反映、页面跳转错误等。不过通过老师和同学们的帮助,最终该系统 也是顺利运行了。这些错误让我对自身能力又有了一个清楚的认识,了解到了自身 的不足之处,以后我会更加认真学习专业知识,提升自己的专业素养,努力让自己变得更加优秀。经测试,系统的各项功能均达到了预期的目标,且运行稳定、可靠。
致 谢
不积跬步无以至千里,不积小流无以成江河。在我写论文的这段时间里,我感到巨大的压力。但这种压力促使我以最快的速度投入到系统开发理论的应用中去,通过这次,我学到了很多知识,能够灵活掌握课本所学的理论,在应用的开发中,我的开发水平各方面都有了较大的提升。每一次的改善对我来说都是一种成长,每一次的试验的成功都给我带来巨大的满足感。在这个过程中我积累的经验将对我们以锻练后的学习和生活产生巨大的帮助。
在写到论文致谢这部分的时候,真正感觉到大学四年即将要结束了,四年期间发生的点点滴滴就像是昨天的事情。我与学校的故事始于2019年金秋,还记得刚入学的时候老师说,大学四年,说长不长,说短也不短,但是四年的时光如白驹过隙,希望大家要珍惜美好的青春,多做一些有意义的事情让你的人生变得更加丰富多彩。落笔于此,意味着我的本科求用户涯就要落下帷幕,是终点亦是起点,也是对未来的憧憬和期许。希望未来的某一天再次翻看这篇文章,还能想起此刻满怀热情的自己。
谢谢我的论文指导老师。这篇论文是在老师的指导下完成的。他随和、热情、严谨。在写论文的过程中,老师也给了我宝贵的意见。从选题、选题到期末论文的修改、润色和定稿,老师一直很负责,耐心地给我详细的指导。感谢老师的帮助和鼓励,我的毕业论文完成了。
最后,我要感谢孜孜不倦的老师们对这篇文章的评论和评论。感谢学校所有的老师。在过去的四年里,你们无私的奉献精神和严谨的学术态度使我受益匪浅。感谢你们的努力,我感受到了校园的温暖和博爱。最后,我感谢学校给了我宝贵的学习机会,让我开始新的生活,并向更高的水平迈进。
参考文献
[1]李艳杰.基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现[J].黑龙江科学,2022,13(2):56-57.
[2]张振超,吴杰,陈序蓬.浅谈Java中Mysql数据库的连接与操作[J].信息记录材料, 2020,21(2):144-145.
[3]Belén Ríos-Sánchez,David Costa-da Silva,Natalia Martín-Yuste,Carmen Sánchez-?vila. Deep learning for face recognition on mobile devices[J]. IET Biometrics,2020,9(3).
[4]Ying Xin Liu,Xi Yuan Li. Design and Implementation of a Business Platform System Based on Java[J]. Procedia Computer Science,2020,166.
[5] 林雪.计算机数据库在信息管理中的应用分析[J].信息技术与信息化,2019(12):245-246.
[6] 孟祥雪. 基于andriod 的外聘人员人事管理系统设计与实现[D]. 陕西电子科技大学, 2020:13-17.
[7] Wang J, Qian S, Shuai Ju L I, et al. Design and Development of Campus Part-time Information System Based on Web[J]. Journal of Jiaozuo University, 2020:6-8.
[8] Zhang P. Problems and Countermeasures of the College Students' Off-campus Part-time Jobs[J]. Journal of Kaifeng University, 2021:5-6.
[9] Kullberg A L. Nonstandard Employment Relations: Part-time, Temporary and Contract Work[J]. Annual Review of Sociology, 2020, 26:341-365.
[10] 孙士保, 张瑾, 张鸣. ASP.NET数据库系统设计教程 [M]. 西安电子工业出版社, 2021:45-52.
[11] 王光琼, 任杨, 冉椿林,等. 基于Java Web的物流兼职系统关键技术探析[J].2019, 32(9):3.
[12] 何肖娜. 基于Android和Web的大学生兼职系统设计与实现[J]. 电脑知识与技术:2019, 15(8):4.
[13] 邹红霆. 基于andriod 框架的Web系统研究与应用[J]. 湖南理工学院学报:自然科学版, 2018, 30(1):5.
附 录
附录A: 主要源程序