摘 要
随着科技的进步,课堂测试小程序已成为教育领域的一大助力。这款小程序为管理员、教师和学生提供了便捷的在线学习和评估平台。管理员能够高效管理学生、教师、班级信息,并维护课程内容与考试流程。教师通过小程序加入班级和课程,轻松进行试题管理和学生评价,同时监控考试过程。学生则能通过个人中心加入课程、参与评价,并跟踪自己的考试记录和错题本,有助于提高学习效率。这个多功能的小程序不仅优化了教学管理流程,还增强了师生互动,是现代教育不可或缺的工具。
本文主要讨论了以Java为编程语言,Springboot为框架,MySQL数据库以及开发易于使用的课堂测试小程序建设计划的主要思想。在这篇文章中,系统研究的背景和意义、开发技术、系统分析、数据库设计、详细的系统设计等,信息系统的设计和开发过程的焦点。
关键字:Java、课堂测试、MySQL数据库
With the advancement of technology, classroom test applets have become a big help in the field of education. This small program provides administrators, teachers and students with a convenient online learning and assessment platform. Administrators can efficiently manage student, teacher, and class information, and maintain course content and exam procedures. Teachers join classes and courses through small programs to easily manage questions and evaluate students, while monitoring the exam process. Students can participate in classes, participate in evaluations, and track their own test records and error copies through the personal center, which helps improve learning efficiency. This multi-functional small program not only optimizes the teaching management process, but also enhances the interaction between teachers and students, and is an indispensable tool for modern education.
This paper mainly discusses the main idea of using Java as programming language, Springboot as framework, MySQL database and developing easy to use classroom test small program construction plan. In this article, the background and significance of systems research, development techniques, system analysis, database design, detailed system design, etc., focuses on the design and development process of information systems.
Keywords: Java, classroom test, MySQL database
目 录
第一章 绪论....................................... 1
1.1 课题背景与意义......................................... 1
1.2 国内外研究现状......................................... 1
1.3 本课题研究的主要内容................................... 2
1.4 论文结构安排........................................... 2
第二章 所用开发工具介绍............................ 3
2.1 Java语言............................................... 3
2.2 微信开发者工具......................................... 3
2.3 Springboot框架......................................... 3
2.4 MySQL数据库的运用...................................... 4
2.5 B/S结构................................................ 4
第三章 需求分析................................... 6
3.1 系统可行性分析......................................... 6
3.1.1经济上可行性...................................... 6
3.1.2技术上可行性...................................... 6
3.1.3操作上可行性...................................... 6
3.2系统UML用例分析........................................ 7
3.3系统流程分析............................................ 8
3.3.1系统的流程图...................................... 8
3.3.2用户注册和登录模块................................ 9
第四章 系统的设计与实现........................... 10
4.1 系统功能结构设计...................................... 10
4.2数据库设计............................................. 11
4.2.1 数据库概念结构设计.............................. 11
4.2.2 数据库逻辑结构设计.............................. 11
5 系统实现...................................... 20
5.1小程序端实现........................................... 20
5.1.1登录界面的实现................................... 20
5.1.2注册界面的实现................................... 20
5.1.3 小程序首页功能的实现............................ 21
5.1.4学生功能......................................... 23
5.2后台模块实现........................................... 24
5.2.1管理员功能实现................................... 24
5.2.2教师功能实现..................................... 27
5.3小结................................................... 28
第五章 系统测试.................................. 29
5.1 测试环境.............................................. 29
5.2 测试过程.............................................. 29
5.2.1 功能测试........................................ 29
5.2.2 用户界面(UI) 测试............................ 30
5.2.3 兼容性测试 .................................... 30
第六章 总结...................................... 31
参考文献......................................... 32
致 谢............................................ 33
第一章 绪论
1.1 课题背景与意义
在数字化教育的大背景下,传统的课堂测试方式正逐渐被现代化的信息技术所替代。随着智能移动设备的普及和网络技术的飞速发展,利用小程序进行课堂测试不仅为教师提供了更为高效的教学管理手段,也给学生带来了更加灵活便捷的学习体验。小程序作为一种轻量级的应用,无需下载安装即可使用,极大地降低了用户的操作门槛。它能够实现信息的即时更新与共享,让师生之间的互动更加及时高效。开发一款功能全面、操作简便的课堂测试小程序,对于提升教学质量和管理效率具有重要的现实意义。
课堂测试小程序的开发和应用,对于优化教育资源配置、提高教学活动质量具有深远的影响。对于管理员而言,该小程序能够集中管理学生、教师及班级信息,统筹课程安排与考试流程,有效减轻工作负担,提高工作效率。教师通过小程序不仅可以实时跟踪学生的学习进度和成绩表现,还能根据学生反馈调整教学内容和方法,实现个性化教学。对于学生来说,小程序提供的在线测试、错题分析等功能有助于他们更好地掌握知识点,提升学习成效。最终,这款小程序将促进教育资源的合理分配,加强师生之间的沟通与合作,推动教育模式向更加开放、互动的方向发展,为传统教育带来革命性的变革。
1.2 国内外研究现状
在中国,随着教育部对于信息化教学的大力推进和“互联网+教育”政策的实施,课堂测试小程序得到了广泛的关注和快速发展。国内众多高校和科研机构投入大量资源进行相关研究,致力于将传统教学模式与现代信息技术相结合。目前,国内市场上已经出现了多款功能各异的教学辅助小程序,它们能够提供在线出题、作业提交、自动批改、成绩统计等一系列服务。这些小程序深受教师和学生的欢迎,因其便捷性和实用性而逐渐融入日常教学中。然而,国内的课堂测试小程序在个性化学习、智能推荐等方面仍有待进一步的研究和开发,以满足不断变化的教育需求。
国外关于课堂测试小程序的研究起步较早,特别是在欧美发达国家,由于技术基础雄厚和教育理念先进,数字化课堂测试系统的研究与应用已经相当成熟。许多国际知名的教育机构和企业投入巨资研发了一系列高效的在线测试平台和工具,如Google Classroom、Canvas等,它们不仅支持基本的测试功能,还能够提供丰富的学习分析和数据反馈。国外的研究更加注重用户体验和互动性,强调个性化学习和自适应评估,利用人工智能和大数据技术来优化教学内容和测试过程。尽管如此,国外系统在本地化和文化适应性方面面临挑战,直接引入到中国教育环境中可能会遇到一定阻力。因此,结合国内外的研究现状,开发适合中国国情的课堂测试小程序显得尤为重要。
1.3 本课题研究的主要内容
本系统选择了Java作为开发语言,数据存储和操作则采用了MySQL数据库。前端开发部分,使用了HTML、CSS、JavaScript、uni这一流行的前端框架,使得界面设计和用户交互变得更加直观和便捷。在开发工具方面,选择了Eclipse、微信开发者工具和Navicat,Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,提供了友好的用户界面和强大的SQL处理能力,从而大大提高了开发效率。系统分管理员、教师和学生三个角色,主要包括学生、教师、班级信息、科目信息、加入班级、课程信息、加入课程、学生评价、教师评价、消息中心、试卷管理、试题管理、轮播图管理、考试管理、我的信息等功能进行操作。
1.4 论文结构安排
这篇文章共有六章。
第一章:主要介绍主题的研究背景与意义,结合国内外研究现状,分析本系统开发的可行性,并介绍整个文本的主要内容和结构安排。
第二章:将介绍主要使用的开发所使用开发技术。本章将分别介绍Java技术、springboot框架、MySQL数据库管理系统。
第三章:对系统的整体设计分析进行说明,对系统的流程进行分析。
第四章:是系统设计原理,功能模块设计和数据库设计。
第五章:介绍主要用于实现系统执行效果的图示和操作流程等。
第六章:主要是系统测试,系统的稳定性通过技能测试、同时测试、适应性测试等多种测试方法进行。
最后对论文进行总结,包括致谢和参考文献等内容。
第二章 所用开发工具介绍
本章节介绍的主要内容为开发项目时所用到的开发语言以及开发工具,还对开发工具的平台和环境进行描述。
2.1 Java语言
Java是使用最广泛的语言之一。它的代码是开源的,任何软件开发人员都可以使用。
Java语言有很多功能,它的代码非常简单,并且有很多编写方法。它具有良好的对象定向性,对平台的使用没有要求。所有平台都可以以高安全性能运行,因此非常适合系统开发。
Java平台可以声明无限制,并且可以在任何平台上运行。不需要用其他语言编辑的代码将运行。
2.2 微信开发者工具
微信开发者工具是一款由微信官方推出的针对微信小程序的开发工具,集中了开发、调试、预览、上传等功能。支持Windows 32位/64位和Mac系统,提供了项目管理、版本管理、调试工具、编译工具等一整套开发环境。这款工具为开发者提供了丰富的API接口,使得开发者可以快速地构建出自己的小程序。同时,它还支持模拟器和真机调试功能,使开发者可以在PC或手机上对小程序进行测试。微信开发者工具还提供了一些辅助开发的功能,例如实时预览、自动保存、一键上传等。这些功能极大地提高了开发效率,使开发者可以更专注于代码的编写。
总的来说,微信开发者工具是一款强大的小程序开发工具,对于小程序开发者来说,是一个不可或缺的工具。
2.3 Springboot框架
Spring Boot是一种基于Java的轻量级开源框架,旨在简化创建独立、生产级别的Spring应用程序。它由Pivotal团队提供支持,现在已经成为Spring生态系统中的核心项目之一。其主要特点是能够快速创建独立的、生产级别的Spring应用程序,并且尽可能地自动配置。
Spring Boot的主要优点是简化了基于Spring的应用程序的开发过程。大多数Spring应用程序需要相似的配置,例如数据库连接、安全性和日志记录等。Spring Boot通过提供默认的配置来消除这些样板代码,使得开发人员可以更专注于业务逻辑。Spring Boot还提供了许多Starter POMs(Project Object Model),这些POMs是为了简化Maven配置而设计的。例如,如果你想在项目中使用Spring Data JPA,只需要添加spring-boot-starter-data-jpa依赖项即可。Spring Boot还提供了嵌入式的Tomcat服务器,这使得部署Spring应用程序变得更加简单。总的来说,Spring Boot是一个非常强大的框架,它大大简化了基于Spring的应用程序的开发和部署过程。
2.4 MySQL数据库的运用
数据技术始于20世纪60年代和70年代。简单地说,这是一个数学概念的母音,是一个数据母音。由于信息技术的不断发展和信息的几何学的发展,原有的文件系统无法跟上现代生活的步伐,在四分之一的准确度、存储耐久性和四分之一的效率方面。所以系统使用MySQL来管理数据。从Java网络应用程序的角度看,MySQL可能是最好的关系数据库管理系统。在发展过程中,本地系统环境采用Java + MySQL + Apache的组合。
MySQL是世界上应用最广泛的开放源代码数据库,在技术产业中支持多种应用程式。WordPress博客用MySQL做数据处理,但是MySQL不是一个简单的博客应用软件。当今世界上最著名的科技公司之一,有Twitter, Facebook, Etsy等我还喜欢用MySQL来创建Java,或者用像Laravel, Codeigniter这样的框架。此框架将从后台隐藏MySQL任务的细节。好,但真正重要的是掌握基本。这篇文章介绍了MySQL是什么,如何工作,以及如何使用这些功能。引入Wamp时提到了MySQL管理工具,但实际上是在数据库管理工具的网路版本JavaMyAdmin接口系统的开发过程中使用的。在本地开发过程中,JavaMyAdmin整体上表现出更好的性能,但有时由于断开和断开再连接的问题,环境不太熟悉。本地软件和硬件资源均衡时,选中了Navicat Premium for MySQL。
2.5 B/S结构
B / S结构是目前网络开发的架构之一,即浏览器/服务器结构。这个结构的客户不需要安装客户软件,只要使用浏览器工具存取服务器提供的服务即可。因此采用B/S结构的客户端能够在各类系统环境中实现。此外,通信问题的处理和软件的升级维护也变得十分简单,大大减轻了开发者的工作量。如今,这种结构已经成为了开发系统软件的首选结构。它的模型和工作流程如下图所示。
图2-1 B/S模型工作模型图
第三章 需求分析
本章节的内容主要以设计为出发点介绍当初设计该系统的想法与初衷,同时根据用户对系统的实际需求进行构思。参照这些,对系统不断改进、完善,使用户的需求得以满足的同时,提高系统的稳定性以及运行速度的高效性。
3.1 系统可行性分析
系统可行性分析主要是为了进一步了解课堂测试小程序开发的客观条件,从经济、技术、操作以及面临实际困难等方面进行论证系统开发的可行性,并对未来产生影响和效益进行简单预估,避免造成决策失误,确保系统的顺利开发。
3.1.1经济上可行性
在经济方面,主要分析系统未来的经济效益能否能超过它的开发成本。当前建立线上管理系统是必须的,建立线上管理系统能够节省大量物力财力,产生的后续影响持续长远。此外,本系统由本人设计开发,所需要设备简单,工作量适当,开发成本较低。可以看出,本系统的开发在经济上是完全可行的。
3.1.2技术上可行性
通过对软件技术和硬件技术两方面分析,从而判定技术层面上本系统的实现是否具有可行性。在软件层面上,运用B/S结构、前端技术和mysql数据库对课堂测试小程序进行开发。其中B/S结构只需开发服务器端代码,降低了工作量;Java语言完美结合了开发平台,提升了开发效率,mysql为开发者提供了友好的图形化界面,许多操作通过鼠标即可完成,极大地提高了操作便利性。在硬件层面,随着技术飞速发展,硬件的容量越来越大,质量越来越好,同时性价比也逐渐提高,因此对于本系统而言,硬件环境基本能够满足所需。所以在技术上是完全可行的。
3.1.3操作上可行性
本系统所面向对象为管理员、教师和学生,仅需登录指定网站即可浏览相关信息。其次,系统的界面设计美观清晰,操作上简单便捷,易于学习,能够为使用者提供一个友好的环境,以达到真正方便用户的效果。因此,本系统的开发在操作性上是完全可行的。
3.2系统UML用例分析
UML是 Unified Modeling Language的缩写,又称统一建模语言。是开发者对客观事物进行建模的标记,同时也是为开发者了解系统需要什么样的功能和整个流程是什么样的做的前期工作。
课堂测试小程序管理员的UML用例分析详情如下图所示。
图3-1 管理员用例图
课堂测试小程序教师的UML用例分析详情如下图所示。
图3-2 教师用例图
课堂测试小程序学生的UML用例分析详情如下图所示。
图3-3 学生用例图
3.3系统流程分析
系统流程分析是一种对系统进行详细研究的方法,在了解系统的运作方式和各个组成部分之间的关系方面进行深入分析。通过系统流程分析,可以更好地理解系统的工作原理,发现潜在的问题和改进点,并为优化系统设计和提高系统性能提供依据。系统流程分析是一种重要的工具,能够帮助我们更好地理解和管理复杂的信息系统。
3.3.1系统的流程图
根据不同用户划分出不同的功能得出课堂测试小程序的流程图,如图3-4所示:
图3-4系统工作的流程图
3.3.2用户注册和登录模块
课堂测试小程序的用户注册与登录环节是平台的关键部分,通常是用户互动的第一印象。设计一个视觉上简洁、操作直观的注册界面对于提升用户体验至关重要。登录流程的核心在于允许用户通过输入其用户名和密码来访问他们的账户。而注册过程则旨在指导用户提供创建新账户所需的关键信息。登录和注册的逻辑流程图如图3-5所示:
图3-5登录与注册逻辑流程图
第四章 系统的设计与实现
本章主要介绍各个模块功能的设计思路以及实现方法。
4.1 系统功能结构设计
根据对课堂测试小程序及后台管理人员的具体需求分析,把系统可以划分为管理员、教师和学生三个不同的功能模块:主要包括对学生、教师、班级信息、科目信息、加入班级、课程信息、加入课程、学生评价、教师评价、消息中心、试卷管理、试题管理、轮播图管理、考试管理、我的信息等功能进行操作,课堂测试小程序各功能划分结构如图4-1所示。
图4-1系统功能结构图
4.2数据库设计
4.2.1 数据库概念结构设计
一个网站的成功上线运营,离不开强大的数据库支持。一个设计良好的数据库是支撑拥有多种功能网站的关键所在。我在设计网站的时候采用的是MySQL数据库,其与Java、Apache服务器的完美结合,构造成了WEB中的铁三角。
数据根据教师指导与调查分析,信息世界的基本要素包括实体和关联。现实存在且彼此可区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。在系统中将“教师、课程信息、课程成绩、加入课程、班级信息、加入班级”等作为实体,它们的局部E-R如图4-2所示。
图4-6局部E-R图
4.2.2 数据库逻辑结构设计
用MySQL设置数据库概念结构,并将其转换为由MySQL系统支持的实际数据模式,即数据库的逻辑结构,然后使用MySQL设置数据库及存储程序。如下表所示。
表4-1:课程成绩
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kechengmingcheng | varchar | 200 | 课程名称 | ||
kechengma | varchar | 200 | 课程码 | ||
fengmian | longtext | 4294967295 | 封面 | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
kechengfenshu | double | 课程分数 | |||
pingyu | longtext | 4294967295 | 评语 | ||
pingfenriqi | date | 评分日期 |
表4-2:班级信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
banjima | varchar | 200 | 班级码 | ||
banji | varchar | 200 | 班级 | ||
banjixiangqing | longtext | 4294967295 | 班级详情 | ||
dengjiriqi | date | 登记日期 | |||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
clicknum | int | 点击次数 | 0 |
表4-3:加入课程
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kechengma | varchar | 200 | 课程码 | ||
kechengmingcheng | varchar | 200 | 课程名称 | ||
kemu | varchar | 200 | 科目 | ||
banji | varchar | 200 | 班级 | ||
fengmian | longtext | 4294967295 | 封面 | ||
yaoqingma | varchar | 200 | 邀请码 | ||
jiarushijian | datetime | 加入时间 | |||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-4:加入班级
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
banjima | varchar | 200 | 班级码 | ||
banji | varchar | 200 | 班级 | ||
jiaruyuanyin | longtext | 4294967295 | 加入原因 | ||
shenqingshijian | datetime | 申请时间 | |||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-5:教师评价
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kechengmingcheng | varchar | 200 | 课程名称 | ||
kemu | varchar | 200 | 科目 | ||
banji | varchar | 200 | 班级 | ||
fengmian | longtext | 4294967295 | 封面 | ||
pingjiaxuesheng | varchar | 200 | 评价学生 | ||
xuexitaidu | varchar | 200 | 学习态度 | ||
pingyu | longtext | 4294967295 | 评语 | ||
pingjiashijian | datetime | 评价时间 | |||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 |
表4-6:教师
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
mima | varchar | 200 | 密码 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xingbie | varchar | 200 | 性别 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
banji | varchar | 200 | 班级 | ||
xueyuan | varchar | 200 | 学院 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-7:考试记录表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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 | 考生答案 |
表4-8:学生评价
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kechengmingcheng | varchar | 200 | 课程名称 | ||
kemu | varchar | 200 | 科目 | ||
banji | varchar | 200 | 班级 | ||
fengmian | longtext | 4294967295 | 封面 | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
pingjiakecheng | varchar | 200 | 评价课程 | ||
jiaoxuezhiliang | varchar | 200 | 教学质量 | ||
pingjiashijian | datetime | 评价时间 | |||
pingyu | longtext | 4294967295 | 评语 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 |
表4-9:试题库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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 |
表4-10:学生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
xuehao | varchar | 200 | 学号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
banji | varchar | 200 | 班级 | ||
xueyuan | varchar | 200 | 学院 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-11:试题表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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 |
表4-12:消息中心
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
banji | varchar | 200 | 班级 | ||
jianjie | longtext | 4294967295 | 简介 | ||
fabushijian | date | 发布时间 | |||
fengmian | longtext | 4294967295 | 封面 | ||
neirong | longtext | 4294967295 | 内容 | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
clicknum | int | 点击次数 | 0 |
表4-13:试卷表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
name | varchar | 200 | 试卷名称 | ||
time | int | 考试时长(分钟) | |||
status | int | 试卷状态 | 0 |
表4-14:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-15:科目信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kemu | varchar | 200 | 科目 |
表4-16:课程信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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-17:课程信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kechengma | varchar | 200 | 课程码 | ||
kechengmingcheng | varchar | 200 | 课程名称 | ||
kemu | varchar | 200 | 科目 | ||
banji | varchar | 200 | 班级 | ||
kejian | longtext | 4294967295 | 课件 | ||
kaikeshijian | datetime | 开课时间 | |||
jieshushijian | datetime | 结束时间 | |||
fengmian | longtext | 4294967295 | 封面 | ||
kechengneirong | longtext | 4294967295 | 课程内容 | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
discussnum | int | 评论数 | 0 |
表4-18:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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 |
5 系统实现
按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。
5.1小程序端实现
5.1.1登录界面的实现
首先双击打开小程序客户端,连上网络之后会显示出本系统的登录界面,这是进入小程序的初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。登录界面如图5-1所示。
图5-1 登录界面
5.1.2注册界面的实现
第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本小程序所提供的所有功能。注册界面如图5-2所示。
图5-2 注册界面
5.1.3 小程序首页功能的实现
小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、班级信息、课程信息、考试、我的等。小程序首页界面如图5-3所示。
图5-3 小程序首页界面图
班级信息:在班级信息页面可以查看到班级、班级位置、图片、登记日期、教师账号、教师姓名、点击次数、班级详情等详情信息,并根据需要进行加入班级操作。班级信息详情如图5-4所示。
图5-4班级信息详情界面图
课程信息:在课程信息页面可以查看到课程名称、图片、科目、班级、开课时间、结束时间、教师账号、教师姓名、点击次数、课程内容等详情信息,并根据需要进行加入课程操作。课程信息详情如图5-5所示。
图5-5课程信息详情界面图
5.1.4学生功能
学生登录成功后,点击“我的”可以对个人中心、加入班级、加入课程、学生评价、教师评价、考试记录、错题本、修改密码等进行详细操作。学生功能界面如图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科目信息界面
5.2.2教师功能实现
教师进入主页面,主要功能包括对学生、班级信息、加入班级、课程信息、加入课程、学生评价、教师评价、试题管理、试卷管理、考试管理、我的信息等进行操作。教师主页面如图5-12所示:
图5-12教师主界面
课程信息功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写课程信息表单。这些课程信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除课程信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便课程信息功能可以看到最新的信息或相应的操作反馈。如图5-13所示:
图5-13课程信息界面
5.3小结
本章介绍了系统的各个模块和实现功能,对模块下的关键功能进行了介绍,并通过图片展示了实现效果。
第五章 系统测试
在把机器的硬件和软件资源和系统的操作看成是整体的条件下,系统测试被用来观察和解决系统可能的问题,并能够更好的提高系统的效率。
5.1 测试环境
CPU | 系统配置 AMD4400+以上 |
内存 | 2G |
硬盘 | 160G |
操作系统 | Windows 7 |
5.2 测试过程
5.2.1 功能测试
测试目标 | 核实所有功能均已正常实现,即是否与需求一致 |
测试范围 | 核实以下内容:页面显示规则、常用字段输入类型及长度、各功能模块的业务规则的验证、数据精确度、数据类型、业务功能等相关方面的正确性。 |
技术 | 采用黑盒测试、边界测试、等价类划分等测试方法 |
工具与方法 | 手工测试 |
5.2.2 用户界面(UI) 测试
测试目标 | 请检查下列事项:1. 搜索登录界面可以正确反映商务功能和要求事项。这类搜索类型包含窗口和域间搜索。2窗口的实体及特性(例如:标志、按钮、输入框、大小、位置、状态和中央)符合标准。3. 简单操作和熟练接口(包括布局、配色、字体、使用方便等),界面和用户之间的对话型接口测试(包括所有商务可能的进入/退出的方法等)。可能的密钥按键的 操作,各类界面间所有可能的跳转、焦点切换,界面、菜单 显示的正确性)。 |
方法 | 手工测试、目测 |
完成标准 | UI 符合可接受标准,能够保证用户界面的友好性、易操作性, 而且符合用户操作习惯 |
5.2.3 兼容性测试
测试范围 | 1.使用不同版本的不同浏览器、分辨率、操作系统 分别进行测试。 2.不同操作系统、浏览器、分辨率和各种运行软件 等各种条件的组合测试。 |
测试目标 | 核实系统在不同的软件和硬件配置中运行稳定 |
技术 | 黑盒测试 |
工具与方法 | 手工测试 |
第六章 总结
该系统是基于微信的课堂测试小程序,考虑到个人能力的局限和准备时间的不足,仍然不能满足所需和配置,在今后的工作中可能会有部分功能得到改善。下面是对系统测试的不满。
第一,系统的同时性考虑到规模和云服务器的构成问题,系统设计时只体现管理人员的登录权限。在以后的阶段中要进一步增加功能,允许更多的用户登录,实现多重角色管理仍需优化。
第二,应用软件删除操作的台式数据处理系统的特性。有些时间区并不需要太多,如删除、创建时间和Unix时间戳等。
第三是由于我的艺术细胞相对不足,系统的艺术问题。但是功能虽然完成了,可还是有很大的缺陷。
第四是移动路径标签中集中的手机特定页面功能的调整。导航标签将会显示低分辨率机器的菜单键。我希望今后在H5前端的研发中找到解决这个问题的办法。
大二学的网页设计、C#等课程只是停留在浅层没有深入研究。“师傅领进门修行靠个人”在本次毕业设计中是我感悟最深的一句话。本次毕业设计,让我学会了如何去构建一个系统,如何从用户角度考虑去规划设计小组件增加用户体验感受。我的编程能力在这段时间更上一层楼也让我对项目的开发有了更深层次的了解与认识。今后在后面的实践中一定弥补自己的不足,争取在生活和工作中取得更大的成绩。
参考文献
[1]李双远,李其昌.基于Springboot大学生网络空间安全攻防实践教学平台的设计与研究[J].吉林化工学院学报,2022,39(07):67-71.
[2]杨洪涛.基于Springboot的MVC框架设计与实现[J].电脑知识与技术,2023,19(04):62-65.
[3]黄铄,林锴,戚耀中,黄浩贤,陈源濠.微信小程序安全问题浅析[J].数字通信世界,2023(05):81-83.
[4]圣立明.实践驱动式教学法在微信小程序开发课程中的运用实践探析[J].电脑知识与技术,2023,19(11):150-152+167.
[5]贾茜,唐君慧.高校思政工作融入微信小程序的应用探究[J].电脑知识与技术,2023,19(07):61-63.
[6]吴锋珍.基于主从同步的MySQL负载均衡设计与部署[J].湖南邮电职业技术学院学报,2022,21(02):40-43.
[7]王朝阳,范伊红,李梦丹,等 . Java 环境下的 JavaScript 逆向技术分析[J]. 无线互联科技,2021,18(17):97-98.
[8]钱彬 . Java Web 开发从入门到实战[M]. 北京: 清华大学出版社,2020.
[9]尹慧 . 基于 Java 的故障诊断工具箱设计与实现 [D]. 哈尔滨:哈尔滨工业大学,2021.
[10]胡芳涛 . Java 远程调试工具的设计与实现[D]. 南京:东南大学,2020.
[11]徐鹏涛. 基于Vue的前端开发框架的设计与实现[D]. 山东: 山东大学, 2020.
[12]ZHOU D,WANG F,YE H, et al.PyCIL: a Java toolbox for class-incremental learning[J].Science China(Information Sciences),2023,66(09):291
-292.
[13]Zhang Xiao, Yu Ali, Wang Xin, Zhang Xue. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis[J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
致 谢
经过三个月的学习与实践,我终于完成了人生中第一次很有意义的毕业设计。期间我也收到了很多帮助,我的老师,我的同学,我的朋友等等。他们都给予了我很大的帮助。老师不辞辛苦,很有耐心的为我指出论文中的不足之处并且耐心的解答我的疑惑和问题。我的同学,朋友也经常想到能帮到我做一些力所能及的事情,也给了我超级大的帮助,也会经常鼓励我,给予我学习,奋斗的动力。
我也经常会去图书室查找一些与我的论文内容相关的资料,查看一些文献资料,来丰富我的论文,给予我论文充分的理论基础。我发自内心的感谢指导和帮过我的老师,朋友和我的同学们,也非常感谢我在论文中所撰用到的一些文章作品的作者,很谢谢他们所写的文章给予了我自己的论文非常多的帮助。要不是参考了他们的文章,我甚至都无法顺利的完成我的毕业设计。四年的大学生涯,每一位遇到的老师,我都应该说一句谢谢,他们为我的学习打下了坚实基础。
最后我想感谢我的大学班主任老师对我的帮助。他对我的谆谆教导不仅仅在毕业设计上对我有很大的启发,在生活和学习上也有很大帮助。每当我气馁时都让建立信心继续完成工作。这次的选题到最后提交,每一步孙老师都无微不至。每次出现问题时,都给予我很大帮助。
论文末尾我想感谢所有参与我论文评审的老师们,非常感谢你们能在百忙之中抽出宝贵的时间评审我的论文。