本设计旨在利用HTML5与Spring Boot框架开发一个功能全面的在线批改作业系统,以满足现代教育环境中学生、教师及管理员的需求。该系统通过提供注册登录、个人中心、选课信息管理、发布与提交作业、以及作业评分等核心功能模块,极大地提升了教学管理效率和学习体验。系统采用了先进的前后端分离架构,前端使用HTML5技术确保跨平台兼容性和响应式用户体验,后端则基于Spring Boot框架构建,保证了系统的稳定性、可扩展性和安全性。此外,针对不同用户角色(学生、教师、管理员)定制的功能模块,进一步增强了系统的实用性和灵活性。

系统特别强调用户体验与操作便捷性,支持多种互动方式如点赞、收藏、评论等,不仅促进了师生间的交流互动,还为个性化学习提供了支持。对于教师而言,系统简化了作业布置、收集和评分流程,提高了工作效率;对于学生来说,它提供了一个便捷的学习平台,可以随时随地访问课程资料、完成并提交作业。管理员则可以通过强大的后台管理系统对网站公告、资讯、课程类型等内容进行高效管理。整体而言,该在线批改作业系统的设计与实现,为教育教学提供了一种创新且高效的解决方案,有助于推动教育资源的数字化转型。

关键词:在线批改作业系统;Spring Boot;Java;MySQL

ABSTRACT

This design aims to use HTML5 and Spring Boot framework to develop a comprehensive online grading operating system to meet the needs of middle school students, teachers and administrators in modern educational environment. The system greatly improves the efficiency of teaching management and learning experience by providing core function modules such as registration and login, personal center, course selection information management, publishing and submitting homework, and homework grading. The system adopts an advanced front-end separation architecture, the front-end uses HTML5 technology to ensure cross-platform compatibility and responsive user experience, and the back-end is built based on the Spring Boot framework to ensure the stability, scalability and security of the system. In addition, the function modules customized for different user roles (students, teachers, administrators) further enhance the practicality and flexibility of the system.

The system especially emphasizes user experience and convenience of operation, and supports a variety of interactive ways such as "like", "favorite", "comment", etc., which not only promotes the communication and interaction between teachers and students, but also provides support for personalized learning. For teachers, the system simplifies the process of assignment, collection and grading, and improves work efficiency; For students, it provides a convenient learning platform where they can access course materials, complete and submit assignments anytime and anywhere. Administrators can efficiently manage website announcements, information, course types and other content through a powerful background management system. Overall, the design and implementation of this online grading operating system provides an innovative and efficient solution for education and teaching, which helps to promote the digital transformation of educational resources.

Keywords: Online correcting operating system; Spring Boot; Java; MySQL

目  录

摘  要

ABSTRACT

第1章 绪  论

1.1 开发背景

1.2 开发意义

1.3 国内现状

1.4 国外现状

第2章 相关技术介绍

2.1 SpringBoot框架介绍

2.2 MySQL数据库

2.3 Java语言

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 系统功能需求

3.2.1 学生用户主要功能

3.2.2 教师用户主要功能

3.2.3 管理员主要功能

3.3 非功能性需求分析

3.4 系统用户用例分析

3.4.1 学生用户用例图

3.4.2 教师用户用例图

3.4.3 管理员用例图

第4章 系统设计

4.1 功能模块设计

4.2 数据库设计

4.2.1 概念设计

4.2.2 逻辑设计

第5章 系统实现

5.1 学生用户主要功能实现

5.1.1 用户注册

5.1.2 用户登录

5.1.3 前台首页

5.1.4 新闻资讯

5.1.5 课程信息

5.1.6 个人中心

5.2 教师用户主要功能实现

5.2.1 课程信息

5.2.2 班级信息

5.2.3 选课信息

5.3 管理员主要功能实现

5.3.1 课程类型

5.3.2 资讯管理

5.3.3 课程信息

5.3.4 公共管理

第6章 系统测试

6.1 测试目的

6.2 测试用例

6.3 测试结果

结  论

参考文献

致  谢

附录

系统核心代码设计

用户注册

用户登录

修改密码

修改数据

删除数据

获取列表

图片上传

  1. 绪  论
    1. 开发背景

随着信息技术的迅猛发展和互联网的普及,教育领域正经历着深刻的变革。传统的课堂教学模式逐渐向数字化、网络化转变,这不仅要求教学内容更加丰富多样,也对教学管理工具提出了更高的需求。在线批改作业系统正是在这样的背景下应运而生,旨在通过技术手段优化教学流程,提高教学效率。特别是在新冠疫情期间,在线教育的需求激增,进一步推动了各类在线教育工具的发展和完善。这种系统能够支持教师高效地布置、收集和批改作业,同时为学生提供便捷的学习平台,无论何时何地都能完成学习任务。

当前,国内外众多教育机构都在积极探索和实践在线教育模式,以适应新时代教育发展的需求。然而,现有的许多在线教育平台在功能上仍存在一定的局限性,尤其是在作业管理方面,往往缺乏有效的解决方案。例如,一些平台虽然提供了基础的作业提交功能,但在作业批改、反馈以及互动交流等方面做得不够完善。因此,开发一个集成了注册登录、个人中心、选课信息管理、发布与提交作业、作业评分等多功能模块的在线批改作业系统显得尤为必要。该系统不仅能有效解决现有平台存在的问题,还能为师生提供更优质的用户体验。

此外,随着大数据等新兴技术的不断成熟,也为在线教育的发展提供了强有力的技术支撑。基于HTML5和Spring Boot框架构建的在线批改作业系统,充分利用了这些先进技术,实现了跨平台兼容性和高效的数据处理能力,确保了系统的灵活性和可扩展性。

    1. 开发意义

开发在线批改作业系统具有重要的现实意义。首先,它极大地提高了教学管理的效率。通过集成化的作业管理功能,教师可以方便快捷地布置和批改作业,减少了繁琐的手工操作,从而有更多时间专注于教学内容的设计和教学质量的提升。其次,该系统为学生提供了更加灵活的学习方式。无论是在校内还是校外,学生都可以随时随地访问课程资料、提交作业并查看反馈,促进了自主学习和个性化学习的发展。这种灵活性不仅有助于提升学生的学习兴趣,也有利于培养他们的自我管理能力和终身学习的习惯。

从长远来看,在线批改作业系统的开发还具有深远的社会价值。一方面,它可以促进教育资源的公平分配,使得偏远地区的学生也能享受到优质教育资源;另一方面,通过大数据分析和智能推荐技术,系统可以根据学生的学习进度和特点提供个性化的学习建议,帮助每个学生发挥最大的潜能。此外,系统的使用还能减轻教师的工作负担,使他们能够将更多的精力投入到教学创新和研究中,进一步推动教育质量的整体提升。

    1. 国内现状

在国内,在线教育市场近年来呈现出蓬勃发展的态势,尤其是在新冠疫情的影响下,在线教育的需求达到了前所未有的高峰。尽管如此,国内现有的在线教育平台在功能和服务上仍存在较大的改进空间。大多数平台主要集中在直播授课、视频点播等功能,而对于作业管理这一重要环节则关注较少。很多学校和培训机构仍在使用传统的方式进行作业的布置、收集和批改,这种方式不仅耗时费力,而且难以满足现代教育对于高效、精准的要求。因此,开发一套功能全面、操作简便的在线批改作业系统成为迫切需求。

与此同时,国内部分高校和教育机构已经开始尝试自主研发或引进先进的在线作业管理系统。这些系统在一定程度上改善了作业管理的现状,但仍面临一些挑战。比如,系统之间的兼容性问题、数据安全保护措施不足以及用户体验不佳等。为了克服这些问题,需要更加注重技术创新和用户需求的结合,打造一个既符合国情又能引领潮流的在线批改作业系统。此外,随着国家对教育信息化建设的重视和支持力度不断加大,未来在线教育市场将迎来更多的发展机遇。

值得注意的是,国内教育市场的多样化和复杂性也给在线批改作业系统的推广带来了一定的难度。不同地区的教育资源分布不均,经济发展水平差异较大,导致各地对在线教育的需求和接受程度有所不同。因此,在设计和推广过程中,需要充分考虑这些因素,制定出适合不同层次用户需求的产品策略,以确保系统的广泛应用和持续发展。

    1. 国外现状

在国外,在线教育尤其是在线批改作业系统的发展已经相对成熟。美国作为全球教育技术的领先者之一,拥有众多知名的在线教育平台和工具,如Canvas、Blackboard等,它们不仅功能齐全,而且用户体验良好。这些平台普遍具备强大的作业管理功能,包括作业发布、提交、批改、反馈等全流程支持,大大提升了教学效率。此外,国外的在线教育系统还非常注重数据分析和个性化服务,通过智能算法为教师和学生提供定制化的教学建议和学习路径,进一步增强了系统的实用性和吸引力。

欧洲国家也在积极推广和发展在线教育,许多大学和科研机构都在探索如何利用最新的信息技术提升教学质量。例如,芬兰、瑞典等北欧国家以其卓越的教育体系闻名,其在线教育平台不仅注重功能的完整性,还在界面设计、交互体验等方面下了很大功夫,力求为用户提供最佳的使用感受。这些国家还特别强调教育公平性,致力于通过在线教育缩小城乡、贫富之间的教育差距,让每一个孩子都有机会接触到高质量的教育资源。

相比之下,亚洲其他国家如日本、韩国等,在线教育的发展同样迅速。这些国家凭借其强大的科技实力和创新能力,在在线教育领域取得了显著成就。特别是在移动学习方面,日本和韩国走在了世界前列,推出了多款针对移动端优化的在线教育应用,极大地方便了学生随时随地进行学习。此外,这些国家还非常注重隐私保护和数据安全,建立了严格的法律法规和技术标准,确保用户信息安全。这些成功的经验和做法,为中国及其他国家和地区提供了宝贵的借鉴。


  1. 相关技术介绍
    1. SpringBoot框架介绍

SpringBoot是Spring家族中的一个重要成员,它简化了Spring应用的初始搭建和开发过程[1]。通过提供一系列默认配置和自动装配机制,SpringBoot使得开发者能够更快地构建出生产级别的Spring应用。它支持多种开发工具和框架,如Maven、Gradle等,并且可以与多种数据库和缓存技术无缝集成[2]。SpringBoot的简洁性和高效性使其成为开发企业级应用的首选框架之一。在本次毕业设计中,SpringBoot框架为在线批改作业系统的后端开发提供了强大的支持。

    1. MySQL数据库

MySQL是一款开源的关系型数据库管理系统,它以其高性能、高可靠性和易用性而著称。MySQL支持多种存储引擎,如InnoDB、MyISAM等,能够满足不同应用场景的需求[3]。它提供了丰富的SQL语法和函数,使得开发者能够方便地进行数据查询、更新和删除操作。MySQL还支持事务处理、索引优化和复制等高级功能,为数据的完整性和安全性提供了有力保障。在本次毕业设计中,MySQL数据库作为在线批改作业系统的数据存储核心,承担着存储和管理房屋信息、用户信息等重要数据的任务。而且通过合理的数据库设计和优化,确保了系统的数据访问效率和数据安全性[4]。

    1. Java语言

JAVA是一种广泛使用的编程语言,具有跨平台、面向对象、安全性高等特点。JAVA语言提供了丰富的类库和API,使得开发者能够轻松地进行网络编程、数据库操作、图形界面开发等任务[4]。JAVA还支持多线程编程和分布式计算,为开发高性能和可扩展的应用提供了有力支持[5]。所以本次毕设选择了JAVA作为在线批改作业系统的开发语言。通过利用JAVA的面向对象特性和丰富的类库资源,成功实现了系统的各个功能模块,并保证了系统的稳定性和可扩展性。而且JAVA的跨平台特性也使得此次毕业设计能够在不同的操作系统和硬件平台上运行,为用户提供了更加便捷的使用体验。

  1. 系统分析
    1. 可行性分析
      1. 技术可行性

基于Spring Boot框架开发在线批改作业系统具有显著优势。Spring Boot以其简洁的配置、高效的性能以及强大的集成能力,为快速构建稳定、可扩展的Web应用提供了坚实基础[7]。结合MySQL数据库的高效存储与检索能力,以及Java语言的广泛应用与成熟生态,系统能够实现复杂的数据处理与业务逻辑[8]。此外前端采用Vue.js等现代前端框架,可确保用户界面的流畅与互动性,技术实现路径清晰可行。

      1. 经济可行性

该系统开发成本相对较低,主要投入在于人力与硬件资源。Spring Boot及MySQL均为开源技术,无需额外购买软件许可,降低了开发成本。如果系统上线可通过提供便捷、透明的租赁服务,可吸引大量用户,进而通过广告、增值服务等方式实现盈利,具有良好的经济回报预期。此外,系统维护成本适中,便于长期运营与迭代升级。

      1. 操作可行性

系统界面简洁友好,操作流程简单,用户无需复杂培训即可上手。系统功能模块化设计,包括课程信息管理、在线选课操作、用户管理等,便于用户快速完成操作。且系统支持多角色操作,管理员、学生用户和教师用户均可根据权限进行相应操作,提升了管理效率。

    1. 系统功能需求

在线批改作业系统包含学生用户、教师用户和管理员三个角色划分每个角色对应的主要功能如下:

      1. 学生用户主要功能

(1)注册登录:用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。

(2)我的账号:用户可以在个人账户中查看并管理自己的个人信息。包括个人资料、修改密码等。

(3)个人中心:个人中心包含多个功能模块,如选课信息、发布作业、提交作业、作业评分、班级信息、收藏和评论管理。点击进入“发布作业”可查看教师发布的作业信息,同时可点击“提交作业”按钮添加作业提交信息;点击进入其他功能模块可进行查看、管理或删除操作。

(4)首页:用户进入在线批改作业系统的时候,首先映入眼帘的是系统的首页、网站公告、新闻资讯、课程信息等信息。

(5)网站公告:用户点击可查看网站公告、关于我们、联系方式和网站介绍等信息,方便用户浏览了解系统公告信息。

(6)新闻资讯:用户点击可查看新闻资讯,同时可对咨讯文章进行点赞、收藏和评论。

(7)课程信息:学生用户点击可通过搜索课程名称等进行查看课程信息列表,点击进入感兴趣的课程可查看详情信息,可对课程信息进行点赞、收藏和评论。点击“选课”按钮可填写选课信息,包括选课时间和选课备注。

      1. 教师用户主要功能

(1)登录:教师用户的账号是由管理员在后台添加的,可直接使用账号和密码进行登录。

(2)课程信息:教师用户点击可新增新的课程信息,包括教师账号、教师姓名、课程名称、课程类型、封面图片、课程难度、课程大纲和课程简介。

(3)选课信息:教师用户点击可查看选课信息列表,可对学生的选课申请进行审核通过;同时可点击“发布作业”按钮添加作业信息。

(4)发布作业:教师用户点击可查看发布作业列表。

(5)提交作业:教师用户点击可查看提交作业列表,同时可点击“评分”按钮添加做作业评分信息。

(6)作业评分:教师用户点击可查看作业评分列表。

(7)班级信息:教师用户点击可新增信息的班级信息,包括学生姓名、班级名称、作业信息、容纳人数和班级详情。

(8)退出:教师点击可退出系统。

      1. 管理员主要功能

(1)登录:管理员账号密码由系统生成,可使用账号密码可进行登录系统后台,使用系统功能进行管理,并可对自己的个人信息和密码进行管控。

(2)主页:管理员点击可查看作业评分数据统计图。

(3)公共管理:公共管理包含轮播图和网站公告;如需添加新的轮播图,点击右侧“新增”按钮,上传图片,输入标题和链接,点击“确认”按钮进行添加;如需添加新的网站广告,点击右侧“新增”按钮,输入标题和正文进行添加;同时可对轮播图和网站公告进行增删改查。

(4)用户管理:管理员可以查看系统用户(管理员、学生用户、教师用户)列表中某个用户的详情,可以对用户信息进行查询、审核、添加和删除操作。

(5)资讯管理:管理员点击可查看新闻资讯和资讯分类;如需添加新的资讯,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对资讯和分类行增删改查。

(6)课程信息:管理员点击可查看课程信息列表,可对教师新增的课程信息进行审核回复及增删改查。

(7)课程类型:管理员点击可查看课程类型列表,同时可对课程类型进行增删改查。

(8)选课信息:管理员点击可查看选课信息列表,同时可对选课信进行增删改查。

(9)发布作业:管理员点击可查看发布作业列表,同时可对发布作业进行增删改查。

(10)提交作业:管理员点击可查看提交作业列表,同时可对提交作业进行增删改查。

(11)作业评分:管理员点击可查看作业评分列表,同时可对作业评分进行增删改查。

(12)班级信息:管理员点击可查看班级信息列表,同时可对班级信息进行增删改查。

(13)退出:管理员点击可退出系统。

    1. 非功能性需求分析

在在线批改作业系统的毕业设计中,非功能性需求分析是也是很重要的。它主要关注系统除了基本功能外的其他特性,如性能、安全性、易用性、可维护性等,这些特性对于确保系统的稳定运行和用户满意度至关重要。

性能:系统需要能够处理高并发请求,确保在多个用户同时操作时仍能保持稳定运行。

安全性:系统必须采取严格的措施来保护敏感数据,如用户信息、交易记录等,防止数据泄露和非法访问。

易用性:系界面友好直观,操作流程简化,提升用户体验。

可维护性:代码结构清晰,文档完备,便于后续开发与问题排查。

    1. 系统用户用例分析
      1. 学生用户用例图

学生用户用例图如下所示:

图3-1 学生用户用例图

      1. 教师用户用例图

图3-2 教师生用户用例图

      1. 管理员用例图

管理员用例图如下所示:

图3-3 管理员用例图


  1. 系统设计
    1. 功能模块设计

在线批改作业系统主要涉及有学生用户、教师用户和管理员三个角色。每个角色对应的功能模块如图所示。

图4-1系统功能结构图

    1. 数据库设计
      1. 概念设计

在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称。下面是整个在线批改作业系统中主要的数据库表总E-R实体关系图

图4-2总体ER图

      1. 逻辑设计

通过上一小节在线批改作业系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。

介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:

表 4-1-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-2-article(文章)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

article_id

mediumint

文章id

2

title

varchar

125

标题

3

type

varchar

64

文章分类

4

hits

int

点击数

5

praise_len

int

点赞数

6

create_time

timestamp

创建时间

7

update_time

timestamp

更新时间

8

source

varchar

255

来源

9

url

varchar

255

来源地址

10

tag

varchar

255

标签

11

content

longtext

4294967295

正文

12

img

varchar

255

封面图

13

description

text

65535

文章描述

表 4-3-article_type(文章分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

type_id

smallint

分类ID

2

display

smallint

显示顺序

3

name

varchar

16

分类名称

4

father_id

smallint

上级分类ID

5

description

varchar

255

描述

6

icon

text

65535

分类图标

7

url

varchar

255

外链地址

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-4-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-5-class_information(班级信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

class_information_id

int

班级信息ID

2

teacher_account_number

int

教师账号

3

teachers_name

varchar

64

教师姓名

4

student_account_number

int

学生账号

5

student_name

varchar

64

学生姓名

6

class_name

varchar

64

班级名称

7

professional_information

varchar

64

专业信息

8

accommodfrom

double

容纳人数

9

class_details

varchar

64

班级详情

10

create_time

datetime

创建时间

11

update_time

timestamp

更新时间

表 4-6-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-7-collect(收藏)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

collect_id

int

收藏ID

2

user_id

int

收藏人ID

3

source_table

varchar

255

来源表

4

source_field

varchar

255

来源字段

5

source_id

int

来源ID

6

title

varchar

255

标题

7

img

varchar

255

封面

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-8-comment(评论)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

comment_id

int

评论ID

2

user_id

int

评论人ID

3

reply_to_id

int

回复评论ID

4

content

longtext

4294967295

内容

5

nickname

varchar

255

昵称

6

avatar

varchar

255

头像地址

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

9

source_table

varchar

255

来源表

10

source_field

varchar

255

来源字段

11

source_id

int

来源ID

表 4-9-course_information(课程信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

course_information_id

int

课程信息ID

2

teacher_account

int

教师账号

3

teachers_name

varchar

64

教师姓名

4

course_name

varchar

64

课程名称

5

course_type

varchar

64

课程类型

6

cover_photo

varchar

255

封面图片

7

course_difficulty

varchar

64

课程难度

8

course_outline

text

65535

课程大纲

9

course_introduction

longtext

4294967295

课程简介

10

hits

int

点击数

11

praise_len

int

点赞数

12

collect_len

int

收藏数

13

comment_len

int

评论数

14

examine_state

varchar

16

审核状态

15

examine_reply

varchar

16

审核回复

16

course_selection_information_limit_times

int

选课限制次数

17

create_time

datetime

创建时间

18

update_time

timestamp

更新时间

表 4-10-course_selection_information(选课信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

course_selection_information_id

int

选课信息ID

2

course_user

int

选课用户

3

student_name

varchar

64

学生姓名

4

teacher_account

int

教师账号

5

teachers_name

varchar

64

教师姓名

6

course_name

varchar

64

课程名称

7

course_type

varchar

64

课程类型

8

course_selection_time

datetime

选课时间

9

course_selection_remarks

text

65535

选课备注

10

examine_state

varchar

16

审核状态

11

examine_reply

varchar

16

审核回复

12

publish_job_limit_times

int

发布作业限制次数

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

15

source_table

varchar

255

来源表

16

source_id

int

来源ID

17

source_user_id

int

来源用户

表 4-11-course_type(课程类型)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

course_type_id

int

课程类型ID

2

course_type

varchar

64

课程类型

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

表 4-12-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-13-job_scoring(作业评分)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

job_scoring_id

int

作业评分ID

2

course_user

int

选课用户

3

student_name

varchar

64

学生姓名

4

teacher_account

int

教师账号

5

teachers_name

varchar

64

教师姓名

6

course_name

varchar

64

课程名称

7

course_type

varchar

64

课程类型

8

job_title

varchar

64

作业标题

9

teacher_rating

double

教师评分

10

teacher_feedback

text

65535

教师反馈

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

13

source_table

varchar

255

来源表

14

source_id

int

来源ID

15

source_user_id

int

来源用户

表 4-14-notice(公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_id

mediumint

公告ID

2

title

varchar

125

标题

3

content

longtext

4294967295

正文

4

create_time

timestamp

创建时间

5

update_time

timestamp

更新时间

表 4-15-praise(点赞)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

praise_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

status

tinyint

点赞状态:1为点赞,0已取消

表 4-16-publish_job(发布作业)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

publish_job_id

int

发布作业ID

2

course_user

int

选课用户

3

student_name

varchar

64

学生姓名

4

teacher_account

int

教师账号

5

teachers_name

varchar

64

教师姓名

6

course_name

varchar

64

课程名称

7

course_type

varchar

64

课程类型

8

release_time

datetime

发布时间

9

job_title

varchar

64

作业标题

10

deadline

datetime

截止时间

11

job_requirements

text

65535

作业要求

12

submit_job_limit_times

int

提交作业限制次数

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

15

source_table

varchar

255

来源表

16

source_id

int

来源ID

17

source_user_id

int

来源用户

表 4-17-schedule(日程管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

schedule_id

smallint

日程ID

2

content

varchar

255

日程内容

3

scheduled_time

datetime

计划时间

4

user_id

int

用户ID

5

create_time

datetime

创建时间

6

update_time

datetime

更新时间

表 4-18-score(评分)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

score_id

int

评分ID

2

user_id

int

评分人

3

nickname

varchar

64

昵称

4

score_num

double

评分

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

source_table

varchar

255

来源表

8

source_field

varchar

255

来源字段

9

source_id

int

来源ID

表 4-19-slides(轮播图)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

slides_id

int

轮播图ID

2

title

varchar

64

标题

3

content

varchar

255

内容

4

url

varchar

255

链接

5

img

varchar

255

轮播图

6

hits

int

点击量

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

表 4-20-student_users(学生用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

student_users_id

int

学生用户ID

2

student_name

varchar

64

学生姓名

3

student_age

double

学生年龄

4

student_gender

varchar

64

学生性别

5

student_number

varchar

64

学生学号

6

class_name

varchar

64

班级名称

7

examine_state

varchar

16

审核状态

8

user_id

int

用户ID

9

create_time

datetime

创建时间

10

update_time

timestamp

更新时间

表 4-21-submit_job(提交作业)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

submit_job_id

int

提交作业ID

2

course_user

int

选课用户

3

student_name

varchar

64

学生姓名

4

teacher_account

int

教师账号

5

teachers_name

varchar

64

教师姓名

6

course_name

varchar

64

课程名称

7

course_type

varchar

64

课程类型

8

job_title

varchar

64

作业标题

9

submission_time

datetime

提交时间

10

job_file

varchar

255

作业文件

11

operation_content

longtext

4294967295

作业内容

12

job_scoring_limit_times

int

评分限制次数

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

15

source_table

varchar

255

来源表

16

source_id

int

来源ID

17

source_user_id

int

来源用户

表 4-22-teacher_user(教师用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

teacher_user_id

int

教师用户ID

2

teachers_name

varchar

64

教师姓名

3

teacher_age

double

教师年龄

4

gender_of_teachers

varchar

64

教师性别

5

teacher_number

varchar

64

教师编号

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

update_time

timestamp

更新时间

表 4-23-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-24-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

账户状态:(1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

手机认证:(0未认证|1审核中|2已认证)

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证:(0未认证|1审核中|2已认证)

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-25-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间


  1. 系统实现
    1. 学生用户主要功能实现
      1. 用户注册

用户注册:点击注册,进入注册页面,填写好账号、密码、确认密码、昵称、邮箱、身份:学生姓名、学生年龄、学生性别、学生学号等字段值,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。注册界面如下图所示。

图5-1 注册界面

      1. 用户登录

用户登录:点击“登录”按钮,输入用户名、密码、验证码登录系统,登录时前端会自动校验用户名与密码以及该用户是否审核通过,审核通过的用户输入正确登录

成功,输入错误会有提示信息。登录界面如下图所示。

图5-2 登录界面

      1. 前台首页

首页:用户进入在线批改作业系统的时候,首先映入眼帘的是系统的首页、网站公告、新闻资讯、课程信息等信息。首页界面如下图所示。

图5-3 首页界面

      1. 新闻资讯

新闻资讯:用户点击可查看新闻资讯,同时可对咨讯文章进行点赞、收藏和评论。界面如下图所示。

图5-4 新闻资讯界面

      1. 课程信息

课程信息:学生用户点击可通过搜索课程名称等进行查看课程信息列表,点击进入感兴趣的课程可查看详情信息,可对课程信息进行点赞、收藏和评论。点击“选课”按钮可填写选课信息,包括选课时间和选课备注。界面如下图所示。

图5-5 课程信息界面

图5-6 选课界面

      1. 个人中心

个人中心:个人中心包含多个功能模块,如选课信息、发布作业、提交作业、作业评分、班级信息、收藏和评论管理。点击进入“发布作业”可查看教师发布的作业信息,同时可点击“提交作业”按钮添加作业提交信息;点击进入其他功能模块可进行查看、管理或删除操作。界面如下图所示。

图5-7 个人中心界面

    1. 教师用户主要功能实现
      1. 课程信息

课程信息:教师用户点击可新增新的课程信息,包括教师账号、教师姓名、课程名称、课程类型、封面图片、课程难度、课程大纲和课程简介。界面如下图所示。

图5-8 课程信息添加界面

      1. 班级信息

班级信息:教师用户点击可新增信息的班级信息,包括学生姓名、班级名称、作业信息、容纳人数和班级详情。界面如下图所示。

图5-9 班级信息添加界面

      1. 选课信息

选课信息:教师用户点击可查看选课信息列表,可对学生的选课申请进行审核通过;同时可点击“发布作业”按钮添加作业信息。界面如下图所示。

图5-10 选课信息界面

    1. 管理员主要功能实现
      1. 课程类型

课程类型:管理员点击可查看课程类型列表,同时可对课程类型进行增删改查。界面如下图所示。

图5-11课程类型界面图

      1. 资讯管理

资讯管理:管理员点击可查看新闻资讯和资讯分类;如需添加新的资讯,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对资讯和分类行增删改查。界面如下图所示。

图5-12 资讯管理界面

      1. 课程信息

课程信息:管理员点击可查看课程信息列表,可对教师新增的课程信息进行审核回复及增删改查。界面如下图所示。

图5-13 课程信息界面图

      1. 公共管理

公共管理:公共管理包含轮播图和网站公告;如需添加新的轮播图,点击右侧“新增”按钮,上传图片,输入标题和链接,点击“确认”按钮进行添加;如需添加新的网站广告,点击右侧“新增”按钮,输入标题和正文进行添加;同时可对轮播图和网站公告进行增删改查。界面如下图所示。

图5-15 公共管理界面图


  1. 系统测试
    1. 测试目的

在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则[10]。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。

测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。

    1. 测试用例

用户登录功能测试

表6-1 用户登录功能测试表

用例名称

普通用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

查看课程信息功能测试:

表6-2 查看课程信息功能测试表

用例名称

查看课程信息

目的

测试查看课程信息

前提

学生用户登录

测试流程

点击首页的课程信息

预期结果

可以查看到所有课程信息

实际结果

实际结果与预期结果一致

添加课程信息测试:

表6-3 添加课程信息测试表

用例名称

添加课程信息测试用例

目的

测试添加课程信息功能

前提

教师用户正常登录情况下

测试流程

1)点击课程信息,点击新增,输入相关课程信息。

2)点击进行提交。

预期结果

提交以后,管理员审核通过后,页面首页会显示新的课程信息 

实际结果

实际结果与预期结果一致

新闻资讯搜索功能测试:

表6-4新闻资讯搜索功能测试表

用例名称

新闻资讯搜索测试

目的

测试新闻资讯搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的新闻资讯

实际结果

实际结果与预期结果一致

密码修改功能测试:

表6-5密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

    1. 测试结果

在本次主要测试用户登录、课程信息查看、课程信息添加、新闻资讯查看和密码修改等功能。验证所有操作都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保存正确。

结  论

本研究基于HTML5和Spring Boot框架,成功设计并实现了一个功能全面的在线批改作业系统,有效解决了传统教学管理中作业布置、提交与批改流程繁琐的问题。通过集成注册登录、个人中心、选课信息管理、发布与提交作业、以及作业评分等多个核心模块,该系统不仅提升了教师的教学效率,还为学生提供了便捷的学习平台。系统的跨平台兼容性和响应式设计确保了用户无论使用何种设备都能获得一致的优质体验。此外,系统在数据处理和安全方面也表现出色,为教育机构提供了稳定可靠的技术支持。

从长远来看,在线批改作业系统的应用有助于推动教育资源的数字化转型和教育公平的实现。它不仅能够减轻教师的工作负担,使他们有更多时间专注于教学质量的提升,还能促进学生的自主学习和个性化发展。尽管系统在初期实施过程中可能面临一些挑战,如用户培训和技术维护等,但随着技术的不断进步和用户体验的持续优化,这些问题将逐步得到解决。未来,随着更多先进技术如人工智能和大数据分析的应用,该系统有望进一步提升其智能化水平,为现代教育提供更加高效、个性化的解决方案。


参考文献

  1. 韦珍娜,陈宇佳. 基于Springboot的服装租赁系统设计 [J]. 电脑编程技巧与维护, 2025, (01): 35-38. DOI:10.16184/j.cnki.comprg.2025.01.005.
  2. 姚佰允,张豪,杜瑞庆. 基于SpringBoot与Vue的学院人员管理系统设计与实现 [J]. 无线互联科技, 2025, 22 (02): 78-83.
  3. 谢海明,张佐中,林顺福.基于自动化技术的MySQL故障处理系统的设计与实现[J].电脑知识与技术,2024,20(33):73-75.DOI:10.14004/j.cnki.ckt.2024.1721.
  4. 陈芳.基于MySQL数据库的数据录入系统设计研究[J].科技资讯,2024,22(20):35-37.DOI:10.16661/j.cnki.1672-3791.2405-5042-7194.
  5. 谢帅虎.基于Java语言的翻页功能接口程序设计与实现[J].数字通信世界,2024,(11):92-94.
  6. 贾琴.Java编程语言的应用策略分析[J].集成电路应用,2024,41(10):84-85.DOI:10.19339/j.issn.1674-2583.2024.10.034.
  7. 张靖旭,曾晓晶,郭玉坤. 基于SpringBoot的校园植物信息网建设研究 [J]. 信息与电脑(理论版), 2024, 36 (22): 119-121.
  8. 戴亚哲,李尤,赵利宏,等. 基于SpringBoot+Vue的文旅平台设计与研究 [J]. 无线互联科技, 2024, 21 (21): 70-72.
  9. 朴明,邱翠花,苗子. 基于SpringBoot+小程序的信息采集系统设计与实现 [J]. 电子技术, 2024, 53 (10): 47-49.
  10. 刘建,何冬辉,刘维,等.国产通用计算机性能测试系统的设计与验证[J].计算机测量与控制,2024,32(09):44-50.DOI:10.16526/j.cnki.11-4762/tp.2024.09.007.
  11. 费颖,张慧涛.泛在学习视域下在线教育平台用户持续使用意愿研究[J].中国多媒体与网络教学学报(上旬刊),2025,(01):9-12.
  12. 黄天旭.SOAP架构下的高校师生在线作业系统实现[J].办公自动化,2025,30(01):110-112.
  13. 师连鑫,张永恒,刘红霞,等.基于Java Web的在线作业批改系统设计与实现[J].现代计算机,2024,30(23):182-186.
  14. 夏红霞.基于HTML5技术的移动Web前端设计及其优化策略研究[J].信息与电脑(理论版),2024,36(21):207-210.
  15. 李欣.在线学习平台对高等教育学习成效的影响评估[J].科教文汇,2024,(21):64-67.DOI:10.16871/j.cnki.kjwh.2024.21.016.
  16. 骆海霞.基于HTML5技术的移动Web前端设计与开发[J].科技与创新,2024,(21):43-45.DOI:10.15913/j.cnki.kjycx.2024.21.012.
  17. 郑若鹢.应用Spring Cloud的在线教育平台的设计与实现[J].信息记录材料,2024,25(11):240-242.DOI:10.16009/j.cnki.cn13-1295/tq.2024.11.024.
  18. 杨勤民,江志松.大学数学作业自动批改系统的设计与实践[J].华东师范大学学报(自然科学版),2022,(02):76-83.


致  谢

在完成本次在线批改作业系统毕业设计的过程中,我收获了诸多宝贵的经验,也感受到了成长的喜悦,也深刻体会到理论与实践相结合的重要性。在这里我特别感谢我毕设的导师。在整个毕设过程中老师不但给我指明方向也给予我专业的指导,给了我很大的帮助也让我在探索中不断突破自我不断提升我的专业能力,更让我学会了如何以科学的方法解决问题。

我也感谢学校为我提供了一个良好的学习环境和丰富的资源支持。让我得以接触到前沿的技术知识和开发工具,为毕业设计的顺利开展奠定了坚实基础。在开发过程中,我遇到了许多技术难题,但通过查阅大量文献资料和反复实践,我逐渐找到了解决方法。这一过程不仅锻炼了我的自主学习能力,也让我深刻体会到知识的力量。

最后我要感谢我的家人和亲朋们。在我为毕业设计忙碌的日子里,他们始终给予我无条件的支持和鼓励。他们的理解让我能够在紧张的学习中保持良好的心态,专注于项目的每一个细节。这份毕业设计是我大学生活的完美收官,也是我人生旅程中的一个重要里程碑。我将带着这份成长和感恩,继续在未来的道路上努力前行。


附录

系统核心代码设计

用户注册

注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如图所示。

图注册核心代码图

用户登录

登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如图所示。

用用户登录核心代码图

修改密码

修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如图所示。

修改密码核心代码图

修改数据

修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如图所示。

修改数据核心代码图

删除数据

删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如图示。

图4-11删除数据核心代码图

获取列表

通过请求的参数获取列表数据,代码如图所示。

图获取列表核心代码图

图片上传

通过请求的参数获取列表数据,代码如图4-13所示。

图片上传核心代码图

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐