【内附源码和文档】在线课堂管理平台的设计与实现
一、需求分析
1.1 需求来源
通过研究传统的课堂学习特点,了解到传统课堂教学中存在教师与学生沟通不便,通知与作业不能及时传达,教学资源不能高效共享等不足,本项目使用 Java EE 技术来解决上述需求。此项目贴近我们高校学生生活,可以从平时的课堂教学存在的优缺点来获取并定义部分需求。此外,此项目参考了一些主流课堂管理平台,如课堂派、蓝墨云班课等,来获取、定义、完善本系统的需求。
1.2 系统功能
本系统为教师和学生提供便捷的课堂管理功能,教师可通过此系统发布公告、发布作业、收作业、上传教学资源,学生可通过此系统查看公告、查看作业、上传作业、下载资源。此系统含有登录注册模块、课堂管理模块、公告管理模块、作业管理模块、资源管理模块、学生管理模块等。
1.3 详细功能
登录注册模块:包括登录子模块和注册子模块。登录子模块的功能为:用户可输入邮箱、密码、验证码进行登录,系统可判断该用户角色,进入相应用户页面。注册子模块功能为:用户可选择角色,输入邮箱、密码等信息进行注册。
课堂管理模块:包括教师管理课堂子模块和学生加入及删除课堂子模块。教师管理课堂子模块功能为:教师可创建一个课堂并设置课堂名,产生唯一邀请码,教师也可删除自己创建的课堂。学生加入及删除课堂子模块功能为:通过邀请码,学生可添加到相应的课堂中进行学习,也可退出某课堂。
公告管理模块:包括公告管理子模块、公告查看子模块。功能管理子模块功能为:教师可发布公告、修改公告、删除公告。公告查看子模块功能为:教师和学生均可查看公告。
作业管理模块:包括作业管理子模块、作业查看及提交子模块。作业管理子模块功能为:教师可发布作业,可查看、下载学生提交的电子作业、并提供 ZIP 打包下载功能。作业查看及提交子模块功能为:学生可以查看作业,并对电子文档作业进行提交。
资源管理模块:包括资源上传子模块、资源下载子模块。资源上传子模块功能为:教师可上传各种类型的教学资源。资源下载子模块功能为:学生可下载各类型的教学资源。
学生管理模块:教师可对于某个课堂所拥有的学生进行管理,可查看学生信息,删除学生。
二、主要功能
登录注册功能
用户输入邮箱、密码、验证码,前端向后端发送请求数据,后端对验证码、邮箱和密码进行验证,返回相应 JSON 数据。该功能截图如图 所示。
课程管理功能教师用户可通过输入课程名,创建课程,后端返回课程邀请码,刷新页面,显示教师所有课程。该功能截图如图所示。
三、心得
本次课程设计我选择了和数据库课程设计相同的题目—在线课堂管理系统的设计与实现。但数据库课程设计使用的是 Java Web 原始的 Servlet 技术,因此希望运用下学期学习的 Java EE 和软件系统结构等课程对整个系统进行完全的重写重构。
Java EE 核心在于框架的引入与使用,可以极大地提高开发效率与开发质量,在本系统中,我选择使用 Spring、Struts2、Mybatis 三大主流框架完成系统开发,同时使用 maven 对整个系统进行构建管理。在框架的使用过程中,我切实感受到了使用框架带来的优越性,但同时也遇到了很多问题。
最先遇到的问题就是框架的搭建与整合,每一不同框架都有着不同的解决领域与处理方法,因此每种框架的搭建使用方式都不尽相同,如果框架间整合不好,很容易出现问题,框架间不能协同工作。通过多次失败与多次尝试,发现阅读官方文档和相关资料是掌握框架搭建、使用、整合的最快捷方式,意识到阅读英文文档能力应是开发者的基本素养,未来应加强此方面的学习。
在完成此系统中,同样遇到了很多问题,印象最深刻的就是一个不定时出现的 bug,前前后后排查、修改了很多地方都没找到问题的根源,当我摈弃掉急躁的态度,一步步细致分析排查后,才找到了问题的根源—浏览器对网页进行了缓存,未请求后端。在本次排查过程中,我也学习了更多的知识,更加深入了解了 Web 应用的执行过程。此次解决问题中,我认识到遇到 bug 时必须要沉着冷静,认真细致地对 bug 进行排查,要有敢于试错和解决错误的能力与勇气。
与数据库课设不同的是,本次课设我更加注重了系统架构、业务逻辑、事务、安全等方面的属性。运用软件体系结构知识,参阅阿里 Java 开发手册,对系统的质量属性进行了规范与约束,使得系统更具扩展性、修改性、可维护性、可测试性,以及更高的性能。
本次课设有很大收获,也有一些遗憾与不足。遗憾是想增加考试、测试功能,但由于时间原因,并未增加。我也深知自己的系统还有很大的提升空间,我将继续学习新知识,扩展自己知识面的广度与深度,不断使自己的系统更加完善。
完整的源码和详细的文档,上传到了 【WRITE-BUG数字空间】,需要的请自取:
https://www.writebug.com/code/0c804e3a-c792-11ed-bf16-6479f0e5e323/#