1 绪论
1.1 研究背景
当前,随着"互联网+教育"战略的深入实施及移动智能终端的普及,学习模式正加速从传统课堂向数字化、碎片化的移动学习转型。小学阶段作为英语语言习得的关键期,其教学效果直接影响学生未来的语言能力发展。然而传统英语教学受限于课堂时空,往往存在资源形式单一、互动性不足及反馈滞后等问题,难以满足学生个性化、趣味化的学习需求。与此同时,市面上现有的学习应用多存在功能繁杂、广告干扰或资源分散等弊端,缺乏专为小学生打造的纯净、系统化学习环境,导致学生学习兴趣不高、错题整理困难且针对性复习缺失,亟需一种新型技术解决方案来打破这一僵局。
在此背景下,依托Spring Boot、Vue及Uni-app等成熟技术,小学生英语学习APP应运而生。Spring Boot后端架构的高并发处理能力、Vue前端的高效交互体验以及Uni-app跨平台开发技术的广泛应用,使得构建一个集视频、音频、互动测评于一体的轻量级APP在技术上变得低成本且高效。
1.2 研究意义
本课题的研究具有显著的实际应用价值,能够有效解决当前小学英语教学中资源分散、互动性弱及反馈滞后的痛点。对学生而言,系统通过整合动画、儿歌等多媒体资源激发学习兴趣,并利用自动错题本与智能测评功能,帮助学生精准定位薄弱点,实现从"被动接受"到"个性化主动学习"的转变;对管理者而言,自动化阅卷、学情数据分析及任务管理功能大幅减轻了重复性工作负担,使教学决策从"经验驱动"转向"数据驱动",显著提升了教学管理的精细化水平与效率,同时为家长提供了透明的监督渠道,构建了高效的家校共育生态。
在技术探索层面,本研究验证了"Spring Boot + Vue + Uni-app"前后端分离架构在教育移动应用开发中的高效性与可行性。通过Uni-app跨平台技术,实现了"一次开发,多端运行",极大降低了开发与维护成本,为中小型教育软件的开发提供了可复制的技术范式。此外,系统在移动端复杂交互场景下,成功实现了多媒体流处理、即时反馈机制及动态数据可视化等关键功能,展示了现代Web技术在构建高性能、高互动性学习平台方面的强大适应能力,对推动教育信息化的技术落地具有重要的工程实践参考意义。
1.3 国内外研究现状
1.3.1 国内研究现状
国内小学英语教育信息化市场正处于高速发展期,据最新数据显示,6-12岁英语学习用户规模已突破5800万,市场规模持续扩大。当前市场上已涌现出一批成熟且各具特色的类似系统,如星空外语(SkyLingo)凭借"校内同步+智能推题"位居榜首,实现了教材全覆盖与个性化学习路径规划;伴鱼绘本以丰富的分级阅读资源见长,构建了沉浸式的阅读生态;可栗口语则专注于AI口语测评,利用语音识别技术解决"哑巴英语"难题。这些主流应用在激发学习兴趣、提供海量多媒体资源及引入AI辅助教学方面取得了显著成果,有效推动了英语学习从"被动灌输"向"主动互动"的转变,部分头部产品的日活用户已超百万,学生主动学习比例高达84%。
然而,尽管现有系统功能丰富,但仍存在明显的不足与痛点。比如内容同质化与商业干扰严重,许多APP充斥着广告、游戏诱导充值或非学习类社交功能,缺乏专为小学生设计的纯净学习环境,容易分散学生注意力。另外校内衔接度不够紧密,有家长反馈现有APP内容与学校教材版本(特别是地方性教材)脱节,导致"学用分离",难以直接辅助校内提分。同时许多先进功能依赖高昂的订阅费用,且部分系统架构陈旧,难以在低配置设备上流畅运行,限制了其在更广泛区域学校的普及与应用。
1.3.2 国外研究现状
国外小学英语教育信息化研究起步较早,已高度成熟并深度融合了认知心理学与自适应学习理论。以Duolingo(多邻国)为代表的系统,凭借游戏化机制(Gamification)和碎片化学习模式,在全球范围内取得了巨大成功,其核心成果在于通过即时反馈和连胜机制极大提升了用户粘性;Khan Academy Kids则主打免费、无广告的全学科启蒙,构建了高质量的互动绘本与视频资源库;而Rosetta Stone和Cambly Kids分别在全沉浸式语言环境和真人外教互动方面树立了行业标杆。这些系统在利用数据分析用户行为、构建科学的学习路径以及营造纯正语言环境方面成果显著,有效证明了技术驱动下"个性化"与"趣味性"结合的巨大潜力。
尽管国外系统理念先进,但在中国本土化应用中仍存在明显不足。一是内容与国内小学英语教材版本、应试需求严重不符,难以直接辅助校内考试与作业。二是文化语境差异,部分教学内容、插画风格及交互逻辑不符合中国小学生的认知习惯与文化背景,导致学生产生疏离感。
2 相关技术介绍
2.1 Java语言
Java是一种广泛应用于企业级软件开发的面向对象编程语言,具有平台无关性、安全性高、稳定性强等优点1。通过JVM(Java虚拟机)机制,Java实现了"一次编写,到处运行"的特性,极大地提升了代码的可移植性和复用性,其丰富的类库支持和成熟的生态系统,使得Java在Web应用、分布式系统及大型后台服务开发中占据主导地位2。在小学生英语学习APP中,Java作为主要开发语言,能够实现高效的服务器端逻辑处理和数据管理,为系统的功能实现提供了坚实的基础,同时Java的多线程和网络编程能力有助于系统的高并发处理,为多个用户提供服务。
2.2 SpringBoot框架
SpringBoot是一个开源框架,可以快速构建基于Spring的应用程序,通过简化配置和提供开箱即用的特性,极大地提升了开发效率3。SpringBoot框架安排了一系列默认的配置,支持开展自动化配置,减少了应用启动的复杂性,并集成嵌入式Web服务器,让开发者可以不依赖外部独立运行Java应用,无需借助外部容器4。SpringBoot框架的应用为小学生英语学习APP的后端开发提供了强大的支持。开发者使用SpringBoot框架可以轻松创建RESTful风格的API,与前端进行数据交互,支持各种业务操作。数据访问层使用Spring Data JPA简单集成数据库,与MySQL进行操作,实现数据的持久化。安全管理方面利用Spring Security提供用户身份验证和授权功能,确保数据访问的安全性。
2.3 MySQL数据库
MySQL是一款流行的开源关系型数据库管理系统,因其性能稳定、易于使用、社区活跃而被广泛应用于各类Web应用系统中,支持标准SQL语句,即以结构化查询语言为基础,通过表格的形式存储数据,具备良好的事务处理能力和多用户并发访问能力5。同时MySQL占用资源较少,适合中小型项目的数据库需求。本系统采用MySQL作为核心数据存储工具,负责管理小学生英语学习APP中的用户信息、业务数据和操作日志等关键信息,通过合理的数据库设计和优化,保障数据的安全性和一致性,并且MySQL支持对多用户的高并发操作,能够快速处理系统中的各种数据查询需求,为后端提供所需的数据服务6。
2.4 Vue框架
Vue 是一款轻量级、渐进式的前端JavaScript框架,专注于构建用户界面,具有学习成本低、开发效率高、组件化设计良好等特点,能够快速实现响应式数据绑定和动态页面交互7。Vue支持模块化开发,并与现代前端构建工具,如Webpack、Vite,兼容良好,适用于开发高性能、易维护的单页面应用(SPA)。在小学生英语学习APP中,Vue框架被用于实现系统的前端界面,提供友好的交互体验,提升系统的交互体验与开发效率8。
2.5 Uni-app开发工具
Uni-app 是一个使用 Vue.js 语法开发所有前端应用的框架,由 DCloud 公司推出。开发者只需编写一套代码,即可将其编译发布到 iOS、Android、Web(H5)、以及各种小程序(微信/支付宝/百度等)等多个平台,真正实现了"一次开发,多端运行"。它底层基于 Weex 和原生渲染技术,能够提供接近原生 App 的性能体验,同时保留了 Web 开发的灵活性与高效性,极大地降低了跨平台应用的开发与维护成本9。
在功能特性上,Uni-app 提供了丰富的原生能力接口,如摄像头、录音、地图、蓝牙等,特别适合需要调用手机硬件功能的移动应用开发(如英语学习中的口语录音、拍照搜题等)。其配套的开发工具 HBuilderX 集成了强大的代码编辑、调试、打包发布功能,支持云打包无需本地配置复杂的环境即可生成 Android APK 或 iOS IPA 安装包10。对于基于 Spring Boot + Vue 架构的项目,采用 Uni-app 作为前端方案,能够无缝衔接现有的 Vue 技术栈,快速构建出高性能、多端覆盖的混合型移动应用。
3 系统分析
3.1 系统可行性
3.1.1 技术可行性
平台采用成熟且广泛应用的技术栈,Uni-App则确保系统在多终端上的兼容性,后端开发使用Java语言和Spring Boot框架,为用户提供直观、流畅的界面体验。数据管理方面,MySQL数据库支持高效的数据存储和复杂查询,同时,B/S体系结构使得系统部署和维护更加简便。
3.1.2 经济可行性
系统所使用的软件为开源技术,降低了使用费用,硬件成本较低,使得整体初始投入相对合理,具备较高性价比。同时利用Uni-App框架实现跨平台支持,有效降低了开发与维护成本。因此,系统在经济上是完全可行的。
3.1.3 操作可行性
小学生英语学习APP系统具备较强的易用性和实用性,系统面向不同角色用户设计了简洁直观的操作界面,功能模块划分清晰,易于用户理解和上手操作使用。系统为用户提供了必要的操作提示和帮助文档,以降低操作学习门槛,便于用户快速完成操作。系统后台管理界面也具备良好的可视化配置功能,便于管理人员进行日常维护和数据监控。
3.2 系统功能需求
根据用户在系统中的操作权限以及功能需求的不同,本小学生英语学习APP在设计过程中,将用户角色划分为二大主要类别,分别为学生用户和管理员。这二种角色在系统中分别对应不同的功能模块,并拥有相应的操作权限,以实现对各类业务流程的合理分配与管理。针对每种角色的具体功能职责,其详细的功能模块划分如下所述。
3.2.1 学生用户功能分析
注册登录:提供用户APP注册功能,以收集用户的基本信息,实现用户登录,验证用户名和密码保证用户安全。
首页:提供系统信息概览和系统功能导航等功能,包括展示轮播图、最新英语资讯、公告等系统内容。
英语资讯:提供与英语相关的最新新闻、文章,提供搜索功能,支持资讯搜索和热门文章推荐,可点赞、收藏英语资讯信息和发表评论。
通知公告:展示最新的通知公告信息,如系统维护、关于我们、联系方式、网站介绍、最新公告等。
意见反馈:可以提交意见反馈信息,并实时查看回复情况。
在线测题:学生用户可以查看试卷列表,并可选择试卷在线作答,完成答卷后可提交查看分数,后续还可以查看管理员针对此答卷内容的评语,另外系统自动收录错题生成专属错题本,方便学生针对性复习薄弱知识点。
英语词汇:可以浏览英语词汇列表,可按英语分类或单词难度进行筛选,点击可查看详情,在线收听单词音频,进行点赞、收藏和评论操作。
教材课文:可以浏览教材课文列表,可按课文名称或教材目录进行筛选,也可按年级名称查找内容,点击可查看详情、下载课文附件、在线收听课文音频和观看课文动画,进行点赞、收藏和评论操作。
绘本阅读:可以浏览绘本阅读列表,可按绘本名称或年级名称进行搜索,点击可查看详情、下载绘本附件,进行点赞、收藏和评论操作。
英语动画:可以浏览英语动画列表,可按动画名称或年级名称进行搜索,点击可查看详情、在线观看动画视频,进行点赞、收藏和评论操作。
英文儿歌:可以浏览英文儿歌列表,可按儿歌名称或年级名称进行搜索,点击可查看详情、在线收听儿歌音频,进行点赞、收藏和评论操作。
我的:为学生用户提供包括修改资料、登录密码、收藏记录、点赞记录、评论管理、学习任务、学习打卡和错题列表等子功能模块,学生用户可根据自己的需求实现相应管理操作。
3.2.2 管理员功能分析
登录:管理员账号信息直接在系统生成,管理员可以通过后台登录界面登录系统后台,对系统进行日常管理和维护,支持对个人信息和密码的管控。
后台首页:后台首页界面主要显示系统后台信息概览及系统数据统计信息,提供关键功能的快捷按钮。
系统用户:管理员可管理所有用户信息,包括对学生用户、教师用户和管理员等用户信息增改删查操作,支持账号状态设置等功能。
英语分类管理:可以对英语分类进行增删改查操作。
年级信息管理:可以对年级信息进行增删改查操作。
班级信息管理:可以对班级信息进行增删改查操作。
英语词汇管理:可以查看、管理已发布的英语词汇列表、详情及其评论,也可根据需求发布新的英语词汇内容。
教材课文管理:可以查看、管理已发布的教材课文列表、详情及其评论,也可根据需求发布新的教材课文内容。
绘本阅读管理:可以查看、管理已发布的绘本阅读列表、详情及其评论,也可根据需求发布新的绘本内容。
英语动画管理:可以查看、管理已发布的英语动画列表、详情及其评论,也可根据需求发布新的英语动画。
英文儿歌管理:可以查看、管理已发布的英文儿歌列表、详情及其评论,也可根据需求发布新的英文儿歌。
学习任务管理:可以为学生用户发布专属的学习任务。
学习打卡管理:查看、管理学生用户提交的学习打卡信息。
系统管理:管理员可管理系统首页的轮播图信息,提供搜索功能,支持上传、删除、更新轮播图内容,允许添加图片链接信息。
留言管理:查看、回复学生用户提交的意见反馈信息。
通知公告管理:管理员可管理所有通知公告信息,提供搜索功能,实现通知公告的增改删查操作。
资源管理:管理员可管理包括英语资讯和资讯分类,提供搜索功能,实现增改删查操作,可发布、编辑和删除英语资讯,并对资讯进行分类,管控其评论内容。
在线测题:管理员可以在此模块对科目列表、试题库、试卷列表进行统一的维护管理,在科目列表中,可对科目进行分类;在试题库中可灵活的进行试题的添加管理;在试卷列表中,可以查看在线考试试卷列表,查看用户测试分数并进行主观题的评分和评语操作,管理现有的试卷内容,也可根据需求添加新的试卷;另外提供错题记录功能,管理员可以查看管理学生用户的错题列表。
3.3 非功能性需求
在小学生英语学习APP的开发与设计过程中,除了满足基本的功能性需求外,还需要从多个维度考虑系统的非功能性要求,以保证系统的整体质量和用户体验。下面将从可靠性、可用性、性能、安全性等方面进行详细分析。
可靠性:系统应具备较高的稳定性和容错能力,在面对高并发访问或异常操作时能够保持正常运行。通过合理的异常处理机制和日志记录功能,确保系统在发生错误时可以快速定位问题并恢复服务,从而保障用户操作的连续性和数据的一致性。
可用性:系统界面应设计简洁、直观,操作流程清晰,便于不同层次的用户理解和使用。对于不同角色用户,应提供相应的引导提示和帮助信息以提升用户的操作效率和满意度。
性能需求:系统需支持多用户并发访问,并能在合理的时间内响应用户的请求。在典型负载条件下,页面加载时间应控制在合理范围内,关键业务操作的响应延迟不宜过高。
安全性:系统需具备完善的身份认证和权限控制机制,防止未经授权的访问和敏感信息泄露,并应对用户密码进行加密存储,对关键操作进行审计日志记录,确保系统具备一定的抗攻击能力和数据保护能力。
3.4 用户用例模型
3.4.1 学生用户用例图
小学生英语学习APP的学生用户主要拥有注册登录、首页、通知公告、英语资讯、意见反馈、在线测题、英语词汇、教材课文、绘本阅读、英语动画、英文儿歌和我的等功能,学生用户角色用例图如图3-1所示。

图3-1学生用户用例图
3.4.2 管理员用例图
小学生英语学习APP的管理员主要涵盖了登录、后台首页、系统用户、英语分类管理、年级信息管理、班级信息管理、英语词汇管理、教材课文管理、绘本阅读管理、英语动画管理、英文儿歌管理、学习任务管理、学习打卡管理、系统管理、留言管理、通知公告管理、资源管理、在线测题管理等功能,管理员角色用例图如如图3-2所示。

图3-2管理员用例图
3.5 系统流程分析
3.5.1 注册登录流程图
用户注册登录模块主要是为了方便用户和管理员能够安全地访问系统并管理自己的信息,用户根据提示输入注册信息进行注册操作以获得个人账号,在登录界面输入账号密码等信息进行系统登录,用户注册登录流程如下图所示。

图3-3系统操作流程图
3.5.2 数据添加流程图
用户成功登录系统后,即可进行添加数据操作。添加的数据具有一个由系统自动生成的特定编号,用户可根据提示输入其余信息并提交,系统会对提交信息进行验证,验证通过则显示添加数据成功。数据添加流程如下图所示。

图3-4 数据添加流程图
3.5.3 数据修改流程图
用户成功登录系统后,可进行修改数据操作,流程与添加数据操作相似,数据修改流程如下图所示。

图3-5数据修改流程图
3.5.4 数据删除流程图
当系统里面存在一些无效或过期的数据信息,系统支持相关的管理人员对这些数据进行删除操作,数据修改流程如下图所示。

图3-6 数据删除流程图
3.5.5 数据搜索流程图
用户可以通过输入关键字方式在系统大量的数据中检索所需的信息,在搜索框输入关键字确认查询后,系统会自动检索数据库并显示特定的数据信息,数据搜索流程如下图所示。

图3-7数据搜索流程图
4 系统设计
4.1 系统架构设计
小学生英语学习APP采用前后端分离的四层技术架构。前端架构层基于UniApp跨端框架与Vue.js构建,实现多端用户界面与RESTful API交互。业务服务层以SpringBoot为核心,遵循MVC模式,处理核心业务逻辑并对外提供API接口。数据服务层选用MySQL数据库,通过MyBatis框架完成数据映射与持久化操作,并管理数据库连接与事务。开发与支撑层整合了IntelliJ IDEA、Maven等开发与构建工具,为项目提供基础的开发、运行及安全保障环境。各层次职责清晰,协同支撑系统实现。系统架构图如图4-1所示,展示了各层次之间的功能划分与数据流向关系。

图4-1系统架构图
4.2 功能模块设计
整个小学生英语学习APP由多个功能模块组成,通过对用户需求进行分析,该系统主要划分为学生用户与管理员二大核心模块。每个模块下又包含了若干子功能模块,系统将通过多角色协作来实现系统的各项职能。不同角色对应的具体功能模块如图4-2所示,小学生英语学习APP功能设计能够确保各角色能够负责其特定职责。

图4-2系统功能结构图
4.3 数据库设计
4.3.1 概念结构设计
通过提供清晰的系统总E-R图,可以使其他用户快速理解和分析复杂的系统结构,更加轻松地掌握了解系统的整体架构和各功能组件之间的联系。根据对小学生英语学习APP中各类实体及其属性的分析,本小学生英语学习APP总体E-R图如图4-3所示,以直观地展示各实体之间的关系。

图4-3 系统总体ER图
下面是根据小学生英语学习APP总E-R关系图得出的很多实体图,如下列出。

图4-4学生用户E-R关系图

图4-5管理员E-R关系图

图4-6教材课文E-R关系图
图4-7英语词汇E-R关系图 
图4-8学习任务E-R关系图

图4-9留言板E-R关系图

图4-10绘本阅读E-R关系图

图4-11学习打卡E-R关系图

图4-12试题E-R关系图

图4-13用户错题E-R关系图
4.3.2 物理结构设计
依据前一节对小学生英语学习APP的整体E-R关系图的分析,为了满足系统功能需求,需要创建多个数据表。下面将着重介绍几个核心数据库表的设计结构,详细阐述这些关键数据库表的设计细节,包括但不限于字段定义、数据类型及其相互间的关系,从而为系统的稳定运行提供坚实的基础。
表 4-1-textbook_text(教材课文)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_len | int | 是 | 否 | 收藏数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | create_by | int | 是 | 否 | 创建用户ID | |
| 4 | create_time | datetime | 是 | 否 | 创建时间 | |
| 5 | grade_name | varchar | 64 | 否 | 否 | 年级名称 |
| 6 | knowledge_of_the_text | longtext | 4294967295 | 否 | 否 | 课文知识 |
| 7 | praise_len | int | 是 | 否 | 点赞数 | |
| 8 | text_animation | varchar | 255 | 否 | 否 | 课文动画 |
| 9 | text_annex | varchar | 255 | 否 | 否 | 课文附件 |
| 10 | text_audio | varchar | 255 | 否 | 否 | 课文音频 |
| 11 | text_cover | varchar | 255 | 否 | 否 | 课文封面 |
| 12 | text_name | varchar | 64 | 否 | 否 | 课文名称 |
| 13 | textbook_catalogue | varchar | 64 | 否 | 否 | 教材目录 |
| 14 | textbook_text_id | int | 是 | 是 | 教材课文ID | |
| 15 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-2-english_vocabulary(英语词汇)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_len | int | 是 | 否 | 收藏数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | create_by | int | 是 | 否 | 创建用户ID | |
| 4 | create_time | datetime | 是 | 否 | 创建时间 | |
| 5 | english_class_nameification | varchar | 64 | 否 | 否 | 英语分类 |
| 6 | english_vocabulary_id | int | 是 | 是 | 英语词汇ID | |
| 7 | praise_len | int | 是 | 否 | 点赞数 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | word_audio | varchar | 255 | 否 | 否 | 单词音频 |
| 10 | word_difficulty | varchar | 64 | 否 | 否 | 单词难度 |
| 11 | word_introduction | longtext | 4294967295 | 否 | 否 | 单词简介 |
| 12 | word_name | varchar | 64 | 否 | 否 | 单词名称 |
| 13 | word_picture | varchar | 255 | 否 | 否 | 单词图片 |
| 14 | words_in_chinese | varchar | 64 | 否 | 否 | 单词中文 |
表 4-3-learning_task(学习任务)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_by | int | 是 | 否 | 创建用户ID | |
| 2 | create_time | datetime | 是 | 否 | 创建时间 | |
| 3 | duration_of_mandate | varchar | 64 | 否 | 否 | 任务期限 |
| 4 | learning_progress | varchar | 64 | 否 | 否 | 学习进度 |
| 5 | learning_task_id | int | 是 | 是 | 学习任务ID | |
| 6 | student_users | int | 否 | 否 | 学生用户 | |
| 7 | study_check_in_limit_times | int | 是 | 否 | 学习打卡限制次数 | |
| 8 | task_content | text | 65535 | 否 | 否 | 任务内容 |
| 9 | task_name | varchar | 64 | 否 | 否 | 任务名称 |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-4-message(留言板)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | avatar | varchar | 255 | 否 | 否 | 头像 |
| 2 | content | longtext | 4294967295 | 是 | 否 | 内容 |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | varchar | 125 | 否 | 否 | 留言者邮箱 | |
| 5 | message_id | int | 是 | 是 | 留言板ID | |
| 6 | nickname | varchar | 32 | 是 | 否 | 昵称 |
| 7 | phone | varchar | 11 | 否 | 否 | 留言者手机号码 |
| 8 | reply | longtext | 4294967295 | 否 | 否 | 回复 |
| 9 | reply_state | tinyint | 否 | 否 | 回复状态 | |
| 10 | title | varchar | 64 | 否 | 否 | 标题 |
| 11 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 12 | user_id | int | 是 | 否 | 用户ID |
表 4-5-picture_book_reading(绘本阅读)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_len | int | 是 | 否 | 收藏数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | cover_image | varchar | 255 | 否 | 否 | 封面图片 |
| 4 | create_by | int | 是 | 否 | 创建用户ID | |
| 5 | create_time | datetime | 是 | 否 | 创建时间 | |
| 6 | english_class_nameification | varchar | 64 | 否 | 否 | 英语分类 |
| 7 | grade_name | varchar | 64 | 否 | 否 | 年级名称 |
| 8 | picture_book_attachment | varchar | 255 | 否 | 否 | 绘本附件 |
| 9 | picture_book_introduction | longtext | 4294967295 | 否 | 否 | 绘本简介 |
| 10 | picture_book_name | varchar | 64 | 否 | 否 | 绘本名称 |
| 11 | picture_book_reading_id | int | 是 | 是 | 绘本阅读ID | |
| 12 | praise_len | int | 是 | 否 | 点赞数 | |
| 13 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-6-student_users(学生用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | class_name_name | varchar | 64 | 否 | 否 | 班级名称 |
| 2 | create_by | int | 是 | 否 | 创建用户ID | |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | grade_name | varchar | 64 | 否 | 否 | 年级名称 |
| 6 | parents_mobile_phone | varchar | 64 | 否 | 否 | 家长手机 |
| 7 | student_gender | varchar | 64 | 否 | 否 | 学生性别 |
| 8 | student_name | varchar | 64 | 否 | 否 | 学生姓名 |
| 9 | student_users_id | int | 是 | 是 | 学生用户ID | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 11 | user_id | int | 是 | 否 | 用户ID |
表 4-7-study_check_in(学习打卡)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_by | int | 是 | 否 | 创建用户ID | |
| 2 | create_time | datetime | 是 | 否 | 创建时间 | |
| 3 | duration_of_mandate | varchar | 64 | 否 | 否 | 任务期限 |
| 4 | duration_of_study | double | 否 | 否 | 学习时长 | |
| 5 | extra | text | 65535 | 否 | 否 | 额外信息 |
| 6 | learning_progress | varchar | 64 | 否 | 否 | 学习进度 |
| 7 | learning_situation | text | 65535 | 否 | 否 | 学习情况 |
| 8 | punch_in_date | date | 否 | 否 | 打卡日期 | |
| 9 | source_id | int | 否 | 否 | 来源ID | |
| 10 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 11 | source_user_id | int | 否 | 否 | 来源用户 | |
| 12 | student_users | int | 否 | 否 | 学生用户 | |
| 13 | study_check_in_id | int | 是 | 是 | 学习打卡ID | |
| 14 | task_content | text | 65535 | 否 | 否 | 任务内容 |
| 15 | task_name | varchar | 64 | 否 | 否 | 任务名称 |
| 16 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-8-subject_exam_question(试题)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | answer | varchar | 500 | 否 | 否 | 参考答案 |
| 2 | answer_analysis | varchar | 500 | 否 | 否 | 答案解析 |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | exam_id | mediumint | 是 | 是 | 所属试卷 | |
| 5 | exam_question_id | mediumint | 是 | 是 | 试题ID | |
| 6 | question_item | varchar | 500 | 否 | 否 | 选项 |
| 7 | question_order | int | 否 | 否 | 排序 | |
| 8 | score | double | 否 | 否 | 总分 | |
| 9 | subject_name | varchar | 255 | 否 | 否 | 科目名称 |
| 10 | title | varchar | 255 | 否 | 否 | 题目 |
| 11 | type | varchar | 20 | 否 | 否 | 类型 |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-9-user_answer_wrong(用户错题)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | answer | text | 65535 | 否 | 否 | 参考答案 |
| 2 | answers | text | 65535 | 否 | 否 | 用户提交的答案 |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | exam_id | mediumint | 是 | 是 | 考试ID | |
| 5 | nickname | varchar | 255 | 否 | 否 | 提交人 |
| 6 | objective_score | double | 否 | 否 | 客观题得分 | |
| 7 | question_item | varchar | 255 | 否 | 否 | 选项 |
| 8 | score | double | 否 | 否 | 分数 | |
| 9 | score_detail | text | 65535 | 否 | 否 | 评分详情 |
| 10 | score_state | tinyint | 否 | 否 | 评分状态 | |
| 11 | subject_name | varchar | 255 | 否 | 否 | 科目名称 |
| 12 | subjective_score | double | 否 | 否 | 主观题得分 | |
| 13 | title | varchar | 255 | 否 | 否 | 题目 |
| 14 | type | varchar | 255 | 否 | 否 | 题目类型 |
| 15 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 16 | user_answer_id | mediumint | 是 | 是 | 用户错题ID | |
| 17 | user_id | int | 是 | 否 | 提交人ID |
5 系统实现
5.1 学生用户功能实现
5.1.1 用户注册模块
学生在访问小学生英语学习APP后,可选择点击"注册"按钮,进入相应的注册页面。在该页面中,用户需完成所有注册信息必填项,点击页面下方的"注册"按钮。系统在接收到表单数据并完成验证后,若信息无误,将提示注册成功,并在自动跳转至系统的登录界面,以便用户立即进行登录操作。注册界面如下图所示。

图5-1注册界面
5.1.2 首页模块
登录APP后首先进入首页模块,其主要承担着信息展示与功能引导的核心功能。该模块提供了主要功能模块的导航菜单、轮播图展示、最新英语资讯以及通知公告等多个板块,用户可以快速了解系统的主要服务内容,并便捷地进入相应功能界面进行操作。首页界面如下图所示。

图5-2首页界面
5.1.3 意见反馈模块
学生可以通过意见反馈模块填写内容提交建议或需求,提交后,记录将实时同步至管理员后台,学生可在此直接查看管理员的回复内容与处理结果。意见反馈界面如下图所示。

图5-3意见反馈界面
5.1.4 在线测题模块
学生用户可通过在线测题模块查看系统发布的英语测试试卷,并选择相应试卷进行在线作答。答题完成后,系统支持自动评分(客观题)和结合管理员评阅(主观题),用户可查看得分与答题详情。用户还能查阅管理员针对其答卷内容撰写的个性化评语,以获得学习反馈。另外系统自动收录答错题目至错题本,支持按知识点筛选与反复练习。考试列表界面如下图所示。

图5-4考试列表界面
5.1.5 英语词汇模块
学生用户可在英语词汇模块中浏览丰富的单词库,支持按英语分类或单词难度进行灵活筛选。点击具体单词可进入详情页,查看释义、例句及配图,并在线收听标准发音音频以辅助口语练习。学生还可对重点词汇进行点赞标记、收藏至个人生词本以便复习,或在评论区交流学习心得与记忆技巧,营造活跃的语言学习氛围。英语词汇界面如下图所示。

图5-5英语词汇界面
5.1.6 教材课文模块
在教材课文模块,学生用户可以同步校内学习进度,支持按年级名称或教材目录快速检索目标课文。进入详情页后,学生不仅能阅读课文全文,还可下载课文附件、在线收听配套音频进行跟读训练,以及观看课文动画以趣味化理解语境。该模块同样集成了互动功能,允许学生对课文内容进行点赞、收藏至个人资源库,或在评论区发表学习笔记与疑问。教材课文详情界面如下图所示。

图5-6教材课文详情界面
5.1.7 我的模块
我的模块主要为学生用户提供包括基本信息、收藏记录、点赞记录、评论管理、学习任务、学习打卡和错题列表子功能,可以进行账户管理与学习追踪两大核心职能。在账户管理方面,支持修改个人资料、重置登录密码,并统一查看、管理个人的收藏记录、点赞历史及评论管理。在学习追踪方面,提供专属的学习任务列表,方便学生查看待办事项,内置学习打卡功能,记录每日学习时长与进度;错题列表则自动汇总在线测题中的错误题目,支持针对性复习。我的界面如下图所示。

图5-7我的界面
学习任务列表界面如下图所示。

图5-8学习任务列表界面
5.2 管理员功能实现
5.2.1 后台首页模块
管理员登录系统后台首先进入后台首页,其顶部展示管理员信息及登录状态,支持资料修改与安全退出;中部通过图标菜单快速直达英语分类、年级班级、词汇教材、绘本动画及学习打卡等十大核心管理模块;底部集成可视化数据看板,直观呈现试卷平均分统计图表、考试成绩统计表及在线测试分数排名,助力管理员高效统筹教学资源并实时掌握学情动态。后台首页界面如下图所示。

图5-9后台首页界面
5.2.2 系统用户模块
管理员在系统用户模块,可以查看和管理系统上的所有用户,包含管理员和学生用户,执行新增、编辑和删除操作,并支持对异常账号进行封禁或解封处理。系统用户界面如下图所示。

图5-10系统用户界面
5.2.3 英语词汇管理模块
管理员在英语词汇管理模块中可全面管控词汇资源,支持新增、编辑、删除词汇详情。提供多条件搜索与列表管理功能,便于快速定位与维护。同时管理员可监控学生评论互动,及时屏蔽不当言论,确保内容健康准确,为学生构建规范、丰富的英语学习资源库。英语词汇添加界面如下图所示。

图5-11 英语词汇添加界面
5.2.4 教材课文管理模块
管理员在教材课文管理模块中可全面统筹教学资源,支持按年级和目录发布、编辑或删除课文,并关联上传附件、音频及动画视频。提供多条件检索功能,便于快速定位维护。同时管理员可监控学生评论互动,及时清理不当言论。教材课文列表界面如下图所示。

图5-12 教材课文列表界面
5.2.5 学习任务管理模块
管理员在学习任务管理模块中可定向发布学习计划。支持创建新任务,设定任务标题、具体内容、学生用户及完成截止时间。管理员可随时查看任务列表,对已发布任务进行编辑更新或删除。此外管理员还可追踪各任务的完成情况,督促学生按时学习。学习任务界面如下图所示。

图5-13 学习任务界面
5.2.6 留言管理模块
管理员在留言管理模块中集中处理用户意见反馈,支持按标题或昵称检索查看。核心功能为在线回复,管理员可直接文字解答疑问或告知处理结果,内容实时同步至学生端。意见反馈回复界面如下图所示。

图5-14意见反馈回复界面
5.2.7 在线测试模块
管理员在线测试模块负责平台考试全流程的统一管理,主要包括科目管理、试题库维护、试卷配置、评分与错题记录查看功能:管理员可对考试科目进行分类设置,灵活添加或编辑科目类型;在试题库中统一管理各类题型(如单选、多选、填空等),配置标准答案与分值;可创建、查看和管理试卷列表,支持按需组卷并发布考试;用户完成答题后,系统自动批改客观题,管理员则对主观题进行人工评分并填写评语;同时,模块还提供错题记录功能,便于管理员查看和分析普通用户的典型错误。试卷列表界面如下图所示。

图5-15 试卷列表界面
6 系统测试
6.1 测试目的方法
系统测试是软件开发过程中的关键环节,其主要目的是验证系统是否能够稳定、高效地运行,确保各功能模块符合设计需求,在不同应用场景下具备良好的兼容性与安全性。通过测试发现并修复潜在问题,保障系统在实际应用中的可靠性与用户体验。
在本系统的测试过程中,采用多种测试方法相结合的方式,以确保测试的全面性和有效性,包括功能测试、性能测试、兼容性测试、安全性测试多种手段,采用自动化工具与人工测试相结合的方式,全面评估系统的各项指标,确保系统在多用户并发、复杂网络环境下的稳定运行能力。下面将主要对功能测试用例进行分析说明。
6.2 功能测试用例
用户注册功能测试
在登录系统之前,用户必须先注册为系统用户拥有账户权限。需要用户在注册页面根据提示填写必要的注册信息来创建账户。用户注册功能测试用例设计如表6-1所示。
表6-1 用户注册功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证用户成功注册 | 测试输入有效的用户名和密码,确认密码一致并点击注册 | 显示注册成功的提示信息 | 通过 |
| 验证用户名重复不能注册 | 测试输入已存在的用户名和输入有效的密码,确认密码一致并点击注册 | 显示用户名已存在的提示信息 | 通过 |
用户登录功能测试
为了使用系统的全部功能,用户首先需要进行登录。在登录界面,用户应输入其账号和密码以完成身份验证过程。有关用户登录功能测试用例设计如表6-2所示。
表6-2 用户登录功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证有效登录 | 测试输入正确的用户名和密码,点击登录按钮 | 显示登录成功,跳转至用户首页 | 通过 |
| 验证空用户名登录 | 测试不输入用户名,输入正确密码 ,点击登录按钮 | 显示用户名不能为空提示信息 | 通过 |
| 验证空密码登录 | 测试输入正确用户名,不输入密码,点击登录按钮 | 显示密码不能为空提示信息 | 通过 |
| 验证错误用户名登录 | 测试输入错误的用户名和正确密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
| 验证错误密码登录 | 测试输入正确用户名和错误密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
在线测题功能测试
针对在线测题模块的功能测试,主要检验在线测题的试卷查看、搜索、答题和提交等操作是否符合预期。关于在线测题功能测试用例设计如表6-3所示。
表6-3 在线测题功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证在线测题内容展示 | 在线测题列表加载 | 进入在线测题查看页面,展示所有试卷 | 通过 |
| 验证在线测题内容搜索 | 在线测题搜索功能 | 在搜索框中输入关键词,页面显示符合条件的试卷 | 通过 |
| 验证在线测题的答题 | 用户选择试卷并开始答题 | 用户选择一个试卷进入答题界面,进行答卷 | 通过 |
| 验证在线测题的提交 | 用户完成答卷后点击提交 | 用户成功提交答卷,页面显示用户分数 | 通过 |
教材课文管理功能测试
针对教材课文管理模块的功能测试,主要检验教材课文的信息展示、添加、修改、删除等操作是否符合预期。关于教材课文管理功能测试用例设计如表6-4所示。
表6-4 教材课文管理功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证教材课文内容展示 | 测试教材课文展示功能是否正确显示所有学习资源内容 | 系统显示所有已发布的教材课文内容 | 通过 |
| 验证教材课文内容添加 | 测试添加一个新的教材课文,输入相应基本信息并提交 | 系统提示"提交成功"消息,并同步在APP端展示 | 通过 |
| 验证教材课文内容修改 | 测试修改已有教材课文的内容,修改某一教材课文内容并提交 | 系统提示"修改成功",系统更新教材课文内容 | 通过 |
| 验证教材课文内容删除 | 测试删除教材课文内容 | 系统提示"删除成功",列表中不再显示该教材课文 | 通过 |
| 验证教材课文内容查询 | 测试根据输入的关键字查询教材课文内容 | 系统会显示输入的关键字下的所有教材课文内容 | 通过 |
意见反馈管理功能测试
针对意见反馈管理模块的功能测试,主要检验学生提交反馈、管理员查看回复、状态更新及内容检索等操作是否符合预期。关于意见反馈管理功能测试用例设计如表6-5所示。
表6-5 意见反馈管理功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证意见反馈内容展示 | 测试学生端与后台是否正确显示所有已提交的反馈记录 | 系统列表完整展示所有历史反馈内容,包含用户、时间及状态 | 通过 |
| 验证意见反馈内容添加 | 测试学生提交一条新的意见反馈,输入基本信息并点击提交 | 系统提示"提交成功",列表中即时显示该条意见反馈 | 通过 |
| 验证意见反馈内容回复 | 测试管理员对已有反馈进行回复 | 反馈详情中显示最新回复内容 | 通过 |
| 验证意见反馈内容删除 | 测试管理员删除无效或恶意的反馈记录 | 系统提示"删除成功",列表中不再显示该条反馈信息 | 通过 |
| 验证意见反馈内容查询 | 测试根据输入的关键字查询意见反馈内容 | 系统会显示与输入的关键字相关的所有意见反馈 | 通过 |
6.3 测试结果分析
在本次系统测试过程中,针对各功能模块的操作逻辑和数据交互过程,重点对用户注册、用户登录、在线测题、教材课文管理、意见反馈管理等核心模块进行了业务流程验证,通过设计并编写了相应的测试用例,并在此基础上开展了全面的功能性测试分析。
经过多轮测试验证,所有测试用例均已成功通过,结果表明系统各项功能均能按照预期正常运行,操作界面简洁直观,响应速度稳定,整体性能表现良好,能够有效满足信息化管理中的各项基本业务需求和用户群体的实际需求。同时数据库中各类数据的存储、读取及更新操作也均准确无误,保证了数据的一致性和完整性,具备良好的信息处理能力和系统稳定性,达到了本次毕业设计初期所设定的目标与期望。