| 需要金币: |
资料包括:完整论文 | ![]() | |
| 转换比率:金额 X 10=金币数量, 例100元=1000金币 | 论文字数:24961 | ||
| 折扣与优惠:团购最低可5折优惠 - 了解详情 | 论文格式:Word格式(*.docx) |
摘 要
现如今,计算机科学与技术被广泛地应用于教育教学当中。在高校的教育教学中,在线学习系统被广泛地应用。但是大部分的在线学习系统主要以理论学习为主,不能很好地训练学习者的实操技能,例如程序编写。本文就如何更好地结合在线学习中理论学习和实操训练展开研究,通过开发一款综合性较高的在线学习系统,让学习者可以在一个系统当中既能够学习理论知识又能够进行实操训练从而及时巩固所学知识。让教育者可以在系统中通过学生的学习数据从理论和实践两个方面对学生进行更加全面的学习评价。
在系统开发过程中主要使用的技术有Node.js、Docker、MYSQL、Vue.js、KOA2.js与Linux,选用B/S结构,采用前后分离架构。分为系统管理员端、教师端和学生端。前端页面使用Vue框架和Element UI框架进行设计开发。服务端KOA原生框架有一定的局限性故在开发过程中对其进行了二次开发优化。数据库使用MYSQL,数据持久层框架采用ORM框架Sequelize建立数据关系对象映射。服务端使用符合REST规范的API,使得系统更加具有可拓展性和可维护性。对于数据安全性,编写数据备份脚本,通过定时任务定时备份服务器数据库。关于代码在线运行测试服务,设计成单独的一个服务,容器化后部署在服务器中,既保证了安全性又保证了未来可拓展性。本系统的优势在于其综合性较高,除了信息展示、人员管理、课程管理等基础功能外,还整合了理论练习题库和实践训练模块。用户只需登录一个系统,进入不同模块即可进行相应的训练。系统会记录学习者的学习数据,并且计算得出用户的理论能力值和实践能力值反馈给用户。教师也可以根据学生的学习记录对学生进行更加精准地辅导和帮助。
本系统的不足之处在于部署的服务较多,共有Web端、服务端和OJ服务端三个端,后期的维护较为麻烦。未来可以将OJ服务进行集群部署,实现高可用和负载均衡,保证系统的稳定性。
本文的第一章节为绪论,第二章介绍系统实现所涉及的技术要点,第三章主要介绍系统的结构设计,第四章为数据库设计,第五章为功能模块设计,第六章介绍服务的容器化与部署流程,第七章为功能测试,第八章为总结和展望。
关键词:KOA2,在线学习系统,Online Judge,学习管理系统目 录
第一章 绪论 1
1.1 背景简介 1
1.2 技术选型 1
1.3 在线学习的概念与在线学习系统研究现状 2
1.4 Online Judge的概念与研究现状 2
1.5 研究意义及重点 2
1.6 主要工作 3
第二章 系统实现涉及技术概要 4
2.1 SHA256信息摘要算法 4
2.2 KOA2框架 4
2.3 ORM框架 4
2.4 Online Judge 4
2.5 Docker 5
第三章 系统结构设计 6
3.1 设计原则 6
3.2 系统设计 6
3.2.1 架构设计 6
3.2.2 KOA2框架的二次开发 7
3.2.3 功能模块的划分与设计 8
3.2.4 Online Judge服务的设计与实现 9
第四章 系统数据库设计 14
4.1 主要E-R图 14
4.2 主要数据库表设计 17
4.3 数据库的完整性和安全性 26
4.3.1 数据库的完整性 26
4.3.2 数据库的安全性 27
第五章 功能模块设计与实现 29
5.1 公共模块 29
5.1.1 用户的注册登录以及权限 29
5.1.2 用户的基础信息查看与编辑 31
5.1.3 用户首页的设计 32
5.2 系统管理员端 33
5.2.1 后台服务的监控以及数据库的备份 33
5.2.2 系统用户管理 34
5.2.3 院校管理 35
5.2.4 课程方向管理 36
5.2.5 课程类别管理 37
5.3 教师端 38
5.3.1 课程管理 38
5.3.2 章节的管理 39
5.3.3 课程作业的布置与自动化批改评分 40
5.3.4 理论练习题的添加与管理 41
5.3.5 实验题(代码实验)的添加与管理 42
5.3.6 试卷管理以及组卷功能的实现 44
5.3.7 考试管理 45
5.4 学生端 45
5.4.1 课程学习模块 45
5.4.2 实验模块 47
5.4.3 考试模块 47
第六章 容器化与部署 50
6.1 容器化 50
6.2 项目部署 51
第七章 测试 53
7.1 用户登录注册测试 53
7.2 学生用户个人信息完善功能测试 54
7.3 课程模块测试 55
7.4 理论题库管理测试 58
7.5 实验题管理测试 59
7.6 OJ服务测试 60
7.7 考试创建、执行、批改测试 62
7.8 系统数据库备份脚本测试 64
第八章 总结与展望 65
8.1 总结 65
8.2 展望 65
参考文献 67
致 谢 68 |

