摘要
随着信息技术的高速发展,计算机和网络技术得到了很大的普及和发展,我们可以充分利用这些成熟的技术来实现在线考试系统。在线考试系统的实现,可以代替教师的部分工作,减轻了教师的负担,同时提高了工作的效率,也改善了学生的考试质量,学生可以在最快时间内得到考试结果的反馈,而且网上考试这种方式也更加合理与客观,对于推动现代教育的发展有着非常重要的意义。 本文所介绍的学生在线考试系统,基于B/S模式运用Jsp+Mysql+SSM架构实现。支持学生、老师及管理员的登录及相关操作。学生可自行注册,并以班级的形式管理,可参考试、查看考试成绩、查看历史考卷等操作;教师有管理员进行添加,主要完成试卷管理、试题管理等一些与考试相关的操作;管理员具有最高权限,可以管理老师、学生的信息,同时也可以与老师一样进行一与考试相关的操作。
关键词:在线考试系统; Jsp; SSM
技术可行性
本次介绍的系统采用的是Jsp+MySQL+SSM框架进行开发,Windows XP Professional操作系统,前端采用Bootstrap框架进行前台网页界面设计,采用MyBatis与后台数据库进行连接,MyBatis是SSM中的M,是对Jdbc的封装,完成数据的添加、修改、删除、查询等功能。SSM框架是一个常用的Web项目框架,功能强大而且稳定,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用Jsp、SSM、MySQL来开发该在线考试系统十分合理,从而说明本系统在技术方面可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
需求分析
功能介绍:系统分为前台和后台管理两个系统,包含三个角色学生、角色、管理员;
后台系统:
基本信息:实现了对年级以及科目的增删改查;
班级管理:实现了对班级信息的增删改查以及各班级人数的统计;
教师管理:实现了对教师信息的查看修改删除;
学生管理:实现了对学生信息的查看修改删除,查看所有学生考试平均分数的条形统计图;
试卷管理:查看历史所有试卷并查看试卷所包含的试题,手动添加试题,自动生成试题(根据考试科目、年级、难易程度自动生成试卷)
试题管理:对所有试题进行增删改查,可以通过excel文件模板批量导入试题;
考试安排管理:显示代考信息,添加考试信息;
以往考试信息:显示历史考试的基础信息;
前台系统:
登录:登录后可进行考试;
考试中心:选择考场进行答题考试;
考试历史:查看历史个人考试信息,回顾试卷题目;
数据库表设计
(1)teacherinfo表 字段名称 数据类型 主键 是否空 说明 teacherId int(10) Y N 主键 teacherName varchar(10) N N 老师姓名 teacherAccount varchar(20) N N 老师账号 teacherPwd varchar(10) N N 老师密码 adminPower int(10) N N 是否为管理员 isWork int(1) N N 是否可用 (2)studentinfo表 字段名称 数据类型 主键 是否空 说明 studentId char(32) Y N 主键 studentName Varchar(10) N N 学生姓名 studentAccount varchar(20) N N 学生账号 studentPwd varchar(10) N N 学生密码 classId int(10) N N 序号,用来排序 (3)classinfo表 字段名称 数据类型 主键 是否空 说明 classId int(10) Y N 主键 className varchar(200) N N 班级名称 gradeId varchar(50) N N 年级 teacherId decimal(8,2) N N 班主任ID (4)subjectinfo表 字段名称 数据类型 主键 是否空 说明 subjectId int(10) Y N 主键 subjectName varchar(200) N N 题目 optionA varchar(30) N N 选项A optionB varchar(30) N N 选项B optionC varchar(30) N N 选项C optionD varchar(30) N N 选项D rightResult varchar(100) N N 正确答案 subjectScore int(10) N N 题目分数 subjectType int(10) N N 题目分类 courseId int(10) N N 课程ID gradeId int(10) N N 年级ID subjectEasy int(1) N N 难易程度 division int(1) N N 所属科目 (5)courseinfo表 字段名称 数据类型 主键 是否空 说明 courseId int(10) Y N 主键 courseName varchar(50) N N 课程名 division int(10) N N 所属科目 gradeId int(10) N N 所属年级 (6)exampaperinfo表 字段名称 数据类型 主键 是否空 说明 examPaperId int(10) Y N 主键 examPaperName varchar(10) N N 试卷名称 subjectNum int(10) N N 试卷题目数量 examPaperTime int(10) N N 试卷总时间 examPaperScore int(10) N N 试卷分数 gradeId int(10) N N 试卷年级 division int(10) N N 试卷所属科目 examPaperEasy int(10) N N 试卷难度 (7)examplaninfo表 字段名称 数据类型 主键 是否空 说明 examPlanId int(10) Y N 主键 courseId int(10) N N 课程ID classId int(10) N N 班级ID examPaperId int(10) N N 试卷ID beginTime datetime(10) N N 考试开始时间