springboot基于微信小程序的在线学习系统

摘 要

在线学习系统是一种现代化的、便捷的学习系统,旨在利用移动互联网的普及和便捷性,为学习者提供随时随地的学习机会。利用微信的庞大用户群体和强大的社交功能,使学习变得更加社交化和互动化。在线学习系统是一个结合了当前流行技术和教育需求的综合性系统,不仅提高了教育资源的利用率,也为用户提供了一种新颖的学习方式。

该系统以springboot架构技术为基础,采用Java语言和mysql数据库进行开发设计,通过对在线学习流程的分析,分析了其功能性和非功能性需求,设计了基于微信小程序的在线学习系统,该系统包括管理员、家长、教师和学生四部分。同时还能为用户提供一个方便实用的在线学习系统,使得用户能够及时地找到合适自己的在线学习信息。这样,用户就可以安全高效地找到在线学习信息。

关键词:微信小程序;在线学习;springboot;mysql数据库;

Abstract

Online learning system is a modern and convenient learning system designed to take advantage of the popularity and convenience of mobile Internet to provide learners with learning opportunities anytime and anywhere. Take advantage of wechat's large user base and powerful social functions to make learning more social and interactive. Online learning system is a comprehensive system combining the current popular technology and educational needs, which not only improves the utilization rate of educational resources, but also provides users with a novel way of learning.

Based on springboot architecture technology, this system is developed and designed using Java language and mysql database. Through the analysis of online learning process, its functional and non-functional requirements are analyzed, and an online learning system based on wechat mini program is designed, which includes four parts: administrators, parents, teachers and students. At the same time, it can also provide users with a convenient and practical online learning system, so that users can find the appropriate online learning information in time. In this way, users can find online learning information safely and efficiently.

Key words: wechat mini program; Online learning; springboot; mysql database;

目录

1章 概 述

1.1开发背景及研究意义

1.2国内外研究现状和发展趋势

1.3本文主要研究的内容

2章 关键技术介绍

2.1开发环境

2.2Java技术

2.3微信开发者工具

2.4MySQL数据库

2.5springboot框架

2.6B/S架构

2.7 vue

2.8本章小结

3章 系统分析

3.1系统概述

3.2系统用例分析

3.3系统流程分析

3.4本章小结

4章 系统设计

4.1系统基本结构设计

4.2系统数据库分析

4.3数据库概念模型设计

4.4数据库表设计

4.5本章小结

5章 系统实现及主要代码

5.1小程序端实现

5.1.1登录界面的实现

5.1.2小程序首页功能的实现

5.1.3我的功能

5.2后台模块的实现

5.2.1管理员功能

5.2.2教师功能

5.3本章小结

6章 系统测试

6.1系统测试的目的

6.2系统功能测试

6.2.1登录注册功能测试

6.2.2用户管理功能测试

6.3本章小结

结 论

参考文献

致 谢

第1章 概 述

通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提。

1.1开发背景及研究意义

在线学习系统的开发背景及研究意义深植于当今社会信息技术飞速发展的大环境中,尤其是互联网技术与移动计算的普及,为教育领域带来了翻天覆地的变化[1]。随着宽带互联网接入的便利性和移动设备的普及,传统的面对面教学模式已经无法满足人们日益增长的多样化学习需求。这种趋势催生了在线学习系统的研究与开发,其目的是打造一个灵活的学习环境,让学习者能够不受时间和地点的限制进行自主学习。

在线学习系统对社会来说,系统的发展有助于实现终身学习的目标,促进知识更新和技能提升,对提高整体社会的人力资本和竞争力具有重要的战略意义。研究和开发高效、易用的在线学习系统不仅是技术进步的产物,更是教育模式创新的重要方向,对于推动教育公平和提高教育质量具有深远的影响。

1.2国内外研究现状和发展趋势

在国外,许多发达国家已经将在线教育作为国家教育战略的一部分,通过政策扶持和资金投入推动了在线教育资源的丰富和技术的创新。美国、英国等国家的慕课平台如Coursera、edX等提供了来自世界顶尖大学的课程,吸引了全球数百万学习者参与在线学习。这些平台不仅提供了丰富的课程资源,还引入了人工智能、大数据分析等先进技术,实现了个性化学习路径推荐、智能评估和实时反馈等功能[2]。

在国内,随着“互联网+”行动计划的实施和国家对终身教育体系的推动,中国的在线教育市场也迅速增长。国内高校和教育机构纷纷建立自己的在线学习平台,如中国大学MOOC、网易云课堂等,致力于提供优质的在线教育服务。国内研究者也在探索结合中国教育特点的在线教学模式和学习分析方法,以适应本土化的教育需求。

无论是国内还是国外,在线学习系统的研究和应用都在朝着更加个性化、智能化、互动化的方向发展。未来,随着5G、物联网等新技术的应用,在线学习系统有望实现更高水平的沉浸式学习体验和更精细化的教学管理,为全球教育的发展贡献更大的力量[4]。

1.3本文主要研究的内容

该系统采用java技术,结合springboot框架使页面更加完善,后台使用MySQL数据库进行数据存储。系统主要分为四大模块:即管理员模块、家长模块、教师模块和学生模块。本文从在线学习流程分析入手,分析了其功能性需求和非功能性需求,设计了一个由管理员、家长、教师和学生四部分组成的在线学习系统。用户可在小程序端浏览课程信息、问卷调查、学习论坛、我的;注册登录后在我的页面可以对课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等进行详细操作;管理员可通过后台管理界面管理用户信息和系统管理。

2章 关键技术介绍

在开发系统过程中采用微信开发者工具,Java语言和MySQL数据库存储数据。系统以B/S为基础,实现管理一体化、规范化,为用户提供一个高效快捷的交流系统[5]。利用springboot架构进行编程,具有良好的稳定性与安全性,并且操作简单,易于维护。下面介绍一下关键技术。

2.1开发环境

本系统使用MyEclipse开发工具。系统使用服务器为Tomcat服务器。系统数据库设计使用MySQL。

2.2Java技术

java是一种面向对象的面向对象编程语言,它不仅吸收了C++语言的优点,而且摒弃了C++不可理解的多继承和指针的概念,所以Java语言功能强大,使用方便。JavaScript作为一种动态网页制作技术,jQuery提供了丰富而强大的脚本语言库支持。二者结合使用可以有效提高开发效率和质量。Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。

Java是简单性的、面向对象、分布式、健壮性、安全性、系统独立、可移植性的、多线程、动态性的。它的应用使软件开发过程更加灵活,提高了软件质量,增强了软件可重用性。在当今网络技术迅速发展的情况下,Java已成为目前最流行的编程语言之一。Java是一种开源语言。Java可以编写桌面应用程序、Web应用程序、分布式系统、嵌入式系统应用程序等。

2.3微信开发者工具

在传统web浏览器中,在加载htm15页面时先加载视图层的html和css,后加载逻辑层的java script,然后返回数据并在浏览器中展示页面。而微信开发者工具的系统层是基于Native System的,视图层和逻辑层会同时被加载。微信小程序的这种逻辑方式大大的优化了页面响应速度,减少了页面加载的等待时间,提高了用户体验。微信开发者工具可以实现同步本地文件,开发调试,编译预览,上传,发布等一整套流程。

2.4MySQL数据库

现在的Web动态网站都是基于数据库的,一直以来,MySQL数据与java技术的组合都备受开发者们的亲赖,MySQL目前属于Oracle甲骨文公司,MySQL称之为关系型数据库。

(1)MySQL是相比与oracle更轻量、更简介便于使用,在服务部署方面相对复杂度低,更利于毕设系统的开发。

(2)MySQL对多数个人用户来说是免费的。

(3)MySQL支持sql语言,学习成本较低[7]。

(4)MySQL可支持互联网数据共享也支持数据安全设置,防止数据泄露。

(5)MySQL运行到各种版本的操作系统中无论是服务器上还是开发用的笔记本上。

2.5springboot框架

Spring Boot是由Pivotal团队提供的轻量级框架,其“开箱即用”及“约定优于配置”的策略可以使开发者全身心的投入到业务逻辑代码的编写中,极大地提高了软件开发项目的效率。相比于Spring框架而言,Spring Boot框架更加能够节省程序员配置XML的时间,Spring Boot项目允许开发者使用它的所有模块和开发功能,此外, Spring Boot内置了服务器,简化了开发者启用服务器的整体流程,Spring Boot还可以自动适配不同类型的数据库以满足用户快速连接后台数据库管理的需求,这极大地方便了用户快速搭建应用程序的实现过程。 2014年4月,Spring Boot 1.0.0发布,截止到2022年2月,发布的Spring Boot版本为Spring Boot 3.0.0-M1。在系统的设计与开发中,为了能够快速搭建软件后台服务的开发环境,从技术实现的难度以及系统开发的成本两个方面考虑,Spring Boot框架能够使开发者更关注系统功能的业务逻辑代码实现,可采用Spring Boot框架搭建系统为前端电子商城App提供数据服务。因此,本案例项目后台开发选择Spring Boot框架。

2.6B/S架构

B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。

B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:

(1)跨系统性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间[12]。

(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。

2.7 vue

Vue.js是一款用于构建用户界面的渐进式JavaScript框架。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。

在前端技术飞速发展的今天,Vue.js已经成为了最受欢迎的前端框架之一。它简单易学、灵活高效、性能优良等特点吸引了众多开发者的关注和使用。

2.8本章小结

本节作为开发的准备,简要介绍了系统开发所需的开发环境,然后介绍系统开发所需的技术,从而掌握系统开发的总体框架性。

3章 系统分析

系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析用户的业务,并根据用户的需求进行定制分析。

3.1系统概述

该系统由个人管理员、家长、教师和学生四部分组成。其中:学生和家长注册登录后,在我的页面可以对课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等进行详细操作;管理员则是根据不同需求设置了不同功能,可以通过后台管理接口管理用户信息。

3.2系统用例分析

在设计系统的过程中,用例图是系统设计过程中必不可少的模型,用例图可以更为细致的,结合系统中人员的有关分配,能够从细节上描绘出系统中有关功能所完成的具体事件,确切的反映出某个操作以及它们相互之间的内部联系。

其中参与者就是和系统能够发生交互的外在实体,一般可以指系统的某个用户。一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。

系统用例图如下所示:

(1)管理员可以对家长、学生、教师、课程类型、课程信息、课程购买、课程资料、作业信息、作业提交、作业批阅、问卷调查、问卷回答、学习报告、在线测试管理、试题管理、试题库管理、学习论坛、系统管理、考试管理、个人资料等进行基本的信息管理。其用例分析如图3-1所示。

图3-1管理员用例图

 (2) 教师功能包括课程信息、课程购买、课程资料、作业信息、作业提交、作业批阅、问卷调查、问卷回答、学习报告、在线测试管理、试题管理、试题库管理、考试管理、个人资料等进行操作,其用例分析如图3-2所示。

图3-2教师用例图

(3) 家长功能包括课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等进行操作,家长用例分析如图3-3所示。

图3-3家长用例图

(4) 学生功能包括课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等进行操作,学生用例分析如图3-4所示。

图3-4学生用例图

3.3系统流程分析

流程图就是用它已经特定的图形符号以及相应的线条,用来展现出系统在执行中的整个的过程。由于这种图形能够很方便的描绘系统的一系列流程,所以它的所有的图形符号是比较关键的,基本都是一个图形符号就能表示某个过程的一个单独的步骤。流程图不只是提供出比较完整、全面的执行过程,而且在整个团队的协作设计过程中,还可以发现其中有可能存在的缺陷以及不足,便于在后续的过程中能够及时的纠正和完善系统。

通过流程图可以对系统的需求和相关过程进行分析,能够详细的细分到每个部分的设计。对于设计者来说在开发过程中能够使用流程图作为基础,可以快速提高自身的逻辑思想,并且还能在后续的操作中能够有章可循,在系统的设计中最重要的就是程序的设计,然后才是程序的具体编写,流程图便是在设计过程中重要的工具,以下就是部分流程图设计。

注册模块流程图如图3-5所示。

图3-5注册模块流程图

我的流程如图3-6所示:

图3-6个人中心管理流程

系统操作流程如图3-7所示:

图3-7系统操作流程图

3.4本章小结

基于微信小程序的在线学习系统从市场、技术、经济、功能等方面分析了系统的功能需求,可以满足用户的在线学习需求,帮助用户安全、高效地找到合适的在线学习信息,因此有必要对其进行课题研究。

4章 系统设计

系统设计是将被设计对象划分为单个模块进行构建,各个模块相互支持,相互制约,它们的组合是一个完整的系统。通过系统设计,可以最大限度地满足系统的预期目标,明确软件开发的目的。

4.1系统基本结构设计

本次系统采用springboot框架集进行开发,springboot框架是一款企业界主流的软件开发框架,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统总体结构图如图4-1所示。

图4-1 系统总体结构图

4.2系统数据库分析

在系统设计之初,首先要以客户需求、客户的业务领域和客户的工作情况为出发点来设计系统,要充分了到以上三点,在满足客户一切需求的基础上进行系统设计,继而实现数据库的设计。

经过分析和总结,首先定义客户群体;接下来明确客户群体要用该系统做什么工作。

在明确了客户群体以及工作内容后,本系统可以设计系统数据库,按照传统数据库设计方式,分为三步走:概念模型→逻辑模型→物理模型。

系统需要建立的主要数据表。

系统主要包括的功能:家长、学生、教师、课程类型、课程信息、课程购买、课程资料、作业信息、作业提交、作业批阅、问卷调查、问卷回答、学习报告、在线测试管理、试题管理、试题库管理、学习论坛、系统管理、考试管理、个人资料等。

4.3数据库概念模型设计

概念模型是通过E-R图来实现的,根据以上数据表和功能可以知道系统有哪些实体,实体之间的关系是怎样的。

数据库的概念模型即系统的E-R实体—关系模型。根据对具体的功能需求进行分析,从而得到E-R实体-关系模型,本系统将“收藏、通知公告、在线测试、家长、教师、学习论坛”等作为实体,它们的局部E-R图,如图4-2所示: 

图4-2局部E-R图

4.4数据库表设计

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

表4-1用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-2token表

字段名称

类型

长度

字段说明

主键

默认值

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-3收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4-4通知公告分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

表4-5考试记录表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

username

varchar

200

用户名

paperid

bigint

在线测试id(外键)

papername

varchar

200

在线测试名称

questionid

bigint

试题id(外键)

questionname

varchar

200

试题名称

options

longtext

4294967295

选项,json字符串

score

bigint

分值

0

answer

varchar

200

正确答案

analysis

longtext

4294967295

答案解析

ismark

bigint

是否批卷

0

type

bigint

试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题

0

myscore

bigint

试题得分

0

myanswer

varchar

200

考生答案

jiaoshigonghao

varchar

200

教师工号

表4-6试题库表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

questionname

varchar

200

试题名称

options

longtext

4294967295

选项,json字符串

score

bigint

分值

0

answer

varchar

200

正确答案

analysis

longtext

4294967295

答案解析

type

bigint

试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题

0

sequence

bigint

试题排序,值越大排越前面

100

jiaoshigonghao

varchar

200

教师工号

表4-7试题表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

paperid

bigint

所属在线测试id(外键)

papername

varchar

200

在线测试名称

questionname

varchar

200

试题名称

options

longtext

4294967295

选项,json字符串

score

bigint

分值

0

answer

varchar

200

正确答案

analysis

longtext

4294967295

答案解析

type

bigint

试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)4:主观题

0

sequence

bigint

试题排序,值越大排越前面

100

jiaoshigonghao

varchar

200

教师工号

表4-8通知公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

4294967295

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表4-9在线测试表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

name

varchar

200

在线测试名称

time

int

考试时长(分钟)

status

int

在线测试状态

0

jiaoshigonghao

varchar

200

教师工号

表4-10通知公告评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-11配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

表4-12课程类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengleixing

varchar

200

课程类型

表4-13课程购买

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

fengmian

longtext

4294967295

封面

kechengleixing

varchar

200

课程类型

kechengjiage

double

课程价格

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

goumaishijian

datetime

购买时间

xuehao

varchar

200

学号

xueshengxingming

varchar

200

学生姓名

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

crossuserid

bigint

跨表用户id

crossrefid

bigint

跨表主键id

ispay

varchar

200

是否支付

未支付

userid

bigint

用户id

表4-14家长

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiazhangzhanghao

varchar

200

家长账号

mima

varchar

200

密码

jiazhangxingming

varchar

200

家长姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

表4-15教师

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiaoshigonghao

varchar

200

教师工号

mima

varchar

200

密码

touxiang

longtext

4294967295

头像

jiaoshixingming

varchar

200

教师姓名

xingbie

varchar

200

性别

lianxidianhua

varchar

200

联系电话

表4-16学习论坛

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

帖子标题

content

longtext

4294967295

帖子内容

parentid

bigint

父节点id

userid

bigint

用户id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

isdone

varchar

200

状态

istop

int

是否置顶

0

toptime

datetime

置顶时间

表4-17作业信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

fengmian

longtext

4294967295

封面

zuoyeneirong

longtext

4294967295

作业内容

xiangguanfujian

longtext

4294967295

相关附件

zuoyezhuangtai

varchar

200

作业状态

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

fabushijian

datetime

发布时间

xuehao

varchar

200

学号

xueshengxingming

varchar

200

学生姓名

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

userid

bigint

用户id

表4-18作业提交

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

fengmian

longtext

4294967295

封面

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

tijiaozuoye

longtext

4294967295

提交作业

tijiaoriqi

datetime

提交日期

piyuezhuangtai

varchar

200

批阅状态

xuehao

varchar

200

学号

xueshengxingming

varchar

200

学生姓名

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

userid

bigint

用户id

表4-19作业批阅

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

fengmian

longtext

4294967295

封面

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

xuehao

varchar

200

学号

xueshengxingming

varchar

200

学生姓名

zuoyechengji

double

作业成绩

zuoyepingyu

longtext

4294967295

作业评语

piyueshijian

datetime

批阅时间

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

userid

bigint

用户id

表4-20学习报告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

kechengleixing

varchar

200

课程类型

fengmian

longtext

4294967295

封面

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

xuexishizhang

varchar

200

学习时长

dakariqi

date

打卡日期

xuehao

varchar

200

学号

xueshengxingming

varchar

200

学生姓名

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

userid

bigint

用户id

表4-21学生

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

xuehao

varchar

200

学号

mima

varchar

200

密码

xueshengxingming

varchar

200

学生姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

表4-22课程资料

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

fengmian

longtext

4294967295

封面

kechengleixing

varchar

200

课程类型

kechengshipin

longtext

4294967295

课程视频

kechengziliao

longtext

4294967295

课程资料

fabushijian

datetime

发布时间

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

xuehao

varchar

200

学号

xueshengxingming

varchar

200

学生姓名

jiazhangzhanghao

varchar

200

家长账号

jiazhangxingming

varchar

200

家长姓名

userid

bigint

用户id

表4-23问卷回答

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

wenjuanbiaoti

varchar

200

问卷标题

wenjuanhuida

varchar

200

问卷回答

diaochashijian

datetime

调查时间

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

crossuserid

bigint

跨表用户id

crossrefid

bigint

跨表主键id

表4-24课程信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kechengmingcheng

varchar

200

课程名称

fengmian

longtext

4294967295

封面

kechengleixing

varchar

200

课程类型

kechengjiage

double

课程价格

kechengjianjie

longtext

4294967295

课程简介

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

storeupnum

int

收藏数

0

表4-25问卷调查

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

wenjuanbiaoti

varchar

200

问卷标题

tupian

longtext

4294967295

图片

wenjuanneirong

longtext

4294967295

问卷内容

daanyi

varchar

200

答案一

daaner

varchar

200

答案二

daansan

varchar

200

答案三

daansi

varchar

200

答案四

fabushijian

datetime

发布时间

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

4.5本章小结

通过本章针对在线学习系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。

5章 系统实现及主要代码

系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。

5.1小程序端实现

5.1.1登录界面的实现

在注册流程中,用户在UNI前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。注册界面如图5-1所示。

图5-1 注册界面

在登录流程中,用户首先在UNI前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录界面如图5-2所示。

图5-2 登录界面

5.1.2小程序首页功能的实现

小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、课程信息、问卷调查、学习论坛、我的等。小程序首页界面如图5-3所示。

图5-3 小程序首页界面图

通知公告:在通知公告页面的输入栏中输入标题进行查询,可以查看到通知公告详细信息;并根据需要进行赞、评论或收藏操作;通知公告详情如图5-4所示。

图5-4通知公告详情界面图

5.1.3我的功能

家长登录成功后,点击“我的”进入我的页面,在我的页面可以对课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等进行详细操作。家长功能界面如图5-5所示。

图5-5家长功能界面图

学生登录成功后,点击“我的”进入我的页面,在我的页面可以对课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等进行详细操作。学生功能界面详情如图5-6所示。

图5-6学生功能界面图

5.2后台模块的实现

在登录流程中,用户首先在UNI前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-7所示。

图5-7登录界面图

5.2.1管理员功能

管理员登录进入小程序可以查看到家长、学生、教师、课程类型、课程信息、课程购买、课程资料、作业信息、作业提交、作业批阅、问卷调查、问卷回答、学习报告、在线测试管理、试题管理、试题库管理、学习论坛、系统管理、考试管理、个人资料等功能进行详细操作,如图5-8所示。

图5-8管理员主界面

家长功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写家长信息表单。这些家长信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除家长信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便家长功能可以看到最新的信息或相应的操作反馈。如图5-9所示。

图5-9家长界面图

学生功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写学生信息表单。这些学生信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除学生信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便学生功能可以看到最新的信息或相应的操作反馈。如图5-10所示。

图5-10学生界面图

教师功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写教师信息表单。这些教师信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除教师信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便教师功能可以看到最新的信息或相应的操作反馈。如图5-11所示。

图5-11教师界面图

课程类型功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写课程类型信息表单。这些课程类型信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除课程类型信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便课程类型功能可以看到最新的信息或相应的操作反馈。如图5-12所示。

图5-12课程类型界面图

问卷调查功能在视图层(view层)进行交互,比如点击“搜索或删除”按钮或填写问卷调查信息表单。这些问卷调查信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除问卷调查信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便问卷调查功能可以看到最新的信息或相应的操作反馈。如图5-13所示。

图5-13问卷调查界面图

5.2.2教师功能

管理员登录进入小程序可以查看到课程信息、课程购买、课程资料、作业信息、作业提交、作业批阅、问卷调查、问卷回答、学习报告、在线测试管理、试题管理、试题库管理、考试管理、个人资料等功能进行详细操作,如图5-14所示。

图5-14教师功能主界面

5.3本章小结

第五章主要内容是系统实现,首先实现了本系统中最重要的前台功能,其次分别实现了管理员、家长、教师和学生的管理,完成了系统全部功能设计。

6章 系统测试

系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码。

6.1系统测试的目的

系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。

6.2系统功能测试

在系统的功能性测试中,开发人员需要按照操作要求使在线学习系统软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查等。

6.2.1登录注册功能测试

软件测试的第一步是在线学习系统的用户注册登录功能模块进行测试,测试用户在初次进入软件系统时,是否可以使用注册后登录的功能,具体测试的步骤如表6-1所示。

表6-1 登录注册管理功能测试数据表

编号

测试的功能

步骤

预期结果

实际结果

1

用户注册

正确填写注册信息,然后点击注册按钮

可以完成用户注册

注册成功

2

用户登录

正确输入账号、密码,然后点击登录按钮

可以完成用户登录

用户登录成功

6.2.2用户管理功能测试

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

表6-2 用户管理测试过程及结果

测试项

测试用例

测试特性

用例描述

系统反应

测试结果

用户管理操作

用户名:abo

密码:123456

功能测试

添加一个新用户,基础信息与已有用户完全一致

添加失败,提示“该用户已存在”

通过

用户管理操作

用户名:abo 

密码:999999

功能测试

添加一个新用户,基础信息与已存在用户均有所不同

添加成功

通过

用户管理操作

用户名:abo

密码:123456

功能测试

修改系统中用户名

修改成功

通过

用户管理操作

用户名:abo

密码:123456

功能测试

删除系统中用户

删除成功

通过

用户管理操作

用户名:abo

密码:123456

功能测试

按关键词搜索用户信息

查找成功

通过

用户管理操作

用户名:abo

密码:88888888

功能测试

重置用户密码

密码修改成功

通过

6.3本章小结

本章所做的主要工作是对系统进行功能性测试。网站管理系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。

结 论

在设计在线学习系统的过程中采用springboot架构技术,采用了Java技术来呈现给用户,后台数据采用MySQL数据库来进行存储。

此系统为在线学习系统,为了达成预期效果该系统拥有管理员、家长、教师和学生四种角色。对于家长和学生可以实现对课程购买、课程资料、作业信息、作业提交、作业批阅、学习报告、我的收藏、浏览历史、考试记录、错题本、在线测试列表、我要发帖、我的发帖等功能进行操作。管理员则可以通过后台管理功能对整个系统的信息进行管理。

基于微信小程序的在线学习系统基本上自己在大学生活中学习的大部分知识都融入了进去,但是还不够,在许多方面还没有考虑全面,相信自己在进入工作中会更加努力,做出更加完美的系统。

参考文献

[1]青龙老贼,赵黎,方雨,刘琪.微信终极秘籍:精通小程序商业运营[M].北京:电子工业出版社,2019.

[2]王娟, 钱素真, 李帅举,等. 基于Web的在线学习信息系统的设计与开发[J]. 焦作大学学报, 2019, 30(3):66-68.

[3]戴晟晖.微信公众系统搭建、开发与实践指南[M].北京:中国铁道出版社,2020.

[4] 微网.微商城细节知多少?微信小程序在未来几年的发展方向[EB/OL].2019.

[5]林雪.计算机数据库在信息管理中的应用分析[J].信息技术与信息化,2019(12):245-246.

[6]马英瑞, 刘美君, 李宏博. Web系统上在线学习系统的设计与实现[J]. 福建电脑, 2019, 35(10):72-73.

[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.

时光荏苒,四年的大学生活使我收获良多,感谢学校给我们提供了一个创新思维、思考问题和解决问题的系统,感谢老师们在过去给予我的知识和帮助。在这里我要向你们表达最真挚的谢意——感谢大家对我门课程教学的支持与鼓励!我想说的话:努力掌握专业知识、不断提高自己的综合素质。通过四年的学习和实验,老师不仅教会了我们知识,还培养了我们自主学习的能力,让我们可以用课堂上所学到的知识去钻研专业的其它方面。

从在线学习系统的选择,到系统的详细设计,再到系统各个功能模块的编码,再到论文的撰写,作为一名没有实际开发经验学员,我的第一感觉就是不知从何说起,非常感谢老师们在系统架构设计、进度安排、关键技术等方面的宝贵经验和投入,让我备受鼓舞,顺利完成了课题。我相信在今后的工作中将会得到更多的收获!互联网时代已经到来了。随着信息技术的不断发展,网络技术也越来越成熟,它改变着人们的生活方式,同时对传统行业产生巨大影响。互联网时代我们提供了丰富的资源,解决了我在发展过程中遇到的许多问题,在前辈的指导下,我一直有一种开放的感觉。

一般来说,不付出艰苦的努力就不会有预期的结果,一个从最初的想法到实践到具体目标的软件系统需要反复的设计、改进、实验、耐心、细心和信心,以及坚持不懈、不断尝试和探索未知事物的精神与勇气。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值