基于springMVC的网上考试系统.docx
- 文档编号:23833349
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:51
- 大小:764.16KB
基于springMVC的网上考试系统.docx
《基于springMVC的网上考试系统.docx》由会员分享,可在线阅读,更多相关《基于springMVC的网上考试系统.docx(51页珍藏版)》请在冰豆网上搜索。
基于springMVC的网上考试系统
目录
1引言2
2系统分析3
2.1问题定义3
2.2可行性分析3
2.2.1技术可行性分析3
2.2.2操作可行性分析4
2.2.3经济可行性分析4
2.2.4社会可行性分析4
2.3需求分析4
2.3.1功能需求4
2.3.2性能需求6
3系统总体设计7
3.1系统概述7
3.1.1系统设计思路7
3.1.2开发环境7
3.2系统的功能模块7
3.2.1系统功能模块划分7
3.2.2系统模块功能简介8
3.3数据库设计9
3.3.1数据库需求分析9
3.3.2数据库概念结构设计10
3.3.3数据库逻辑结构设计10
4系统详细设计15
4.1登录模块设计15
4.1.1界面设计15
4.1.2设计思路15
4.2题库管理界面设计15
4.2.1界面设计15
4.2.2设计思路17
4.3试卷管理模块设计19
4.3.2设计思路20
4.4考试安排模块设计20
4.4.1界面设计20
4.4.2设计思路22
4.4.3功能实现22
4.5考试监控模块设计22
4.5.1界面设计22
4.5.2设计思路23
4.5.3功能实现23
4.6手动评卷模块设计25
4.6.1界面设计25
4.6.2设计思路27
4.6.3功能实现27
4.7成绩管理模块设计29
4.7.1界面设计29
4.7.2设计思路30
4.7.3功能实现30
4.8成绩发布模块设计30
4.8.1界面设计30
4.8.2设计思路31
4.8.3功能实现31
4.9我的考试模块设计31
4.9.1界面设计31
4.9.2设计思路32
4.9.3功能实现32
4.10考试成绩模块设计33
4.10.1界面设计33
4.10.2设计思路34
4.11考试档案模块设计35
4.11.1界面设计35
4.11.2设计思路35
4.12试题重做模块设计36
4.12.1界面设计36
4.12.2设计思路36
4.12.3功能实现36
5.1单元测试37
5.2集成测试38
6总结40
致谢41
参考文献42
1引言
随着Internet技术在我国的迅速发展,网络应用不断扩大,使学校传统的管理方法和办学水平都受到了极大的挑战;Internet技术持续迅猛的发展,给传统的办学模式提出了新的要求。
如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
网上考试系统作为网络教育支持平台中十分重要的组成部分,是网络教育教学反馈、质量评估的有效手段,同时也对传统考试提出了巨大的挑战。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线考试系统可以使用户在网上学习过后及时检测自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的评定等都可以在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
网上考试系统具有智能化、自动化、高效化、科学化等诸多优势,具有广阔的发展前景。
本文讲述了基于springMVCASP技术的网络考试系统的设计与实现,描述了网络考试系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,还重点剖析了部分环节的程序设计。
系统部分说明了几个主要的模块的实现方法,本系统界面友好,操作简单,比较实用。
2系统分析
2.1问题定义
随着科技的发展,计算机和互联网的普及,网上教育以其全新的教学理念和教学手段为解决我国当前教育资源短缺的问题提供了一种高效的解决方案,它势必成为我国未来教育发展的一个重要方向。
考试是教育中重要的一个环节,一是为了考察学生的学习掌握情况,二是为教师提供教学分析的依据。
传统的考试方法由于涉及到组织命题、试卷印刷、考场安排、监考、组织判卷等诸多环节,所以其时间周期长、效率低下。
在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。
基于springMVC的网上考试系统就标准化试题(单选、多选等)为考试的无盘、无纸化提供了一套相对完整的解决方案。
它提供了相当完善的功能,包括试题组织、试卷的生成、学生考试以及成绩管理及统计等功能,大大提高了工作效率。
同时,试卷可以是由教师自己出题的,减少了试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证,并且考试既可以在本地进行,也可以在异地进行,拓展了考试的灵活性。
因此,采用网上考试方式将是以后考试发展的趋势。
本套系统的开发不但解脱了教师年复一年的出题工作,而且一次准确录入试题以后就可以反复多次在不同的试卷中使用,保证了试卷的正确性。
教师通过对试题的管理,可以选择录入符合当前教学情况的新试题,对于那些已经陈旧过时的试题,可以将其删除,以保持试题的时效性,而那些只需要稍微改动就可以有所新意的试题,则无需删除,可以通过试题的修改功能来实现,具有较高的针对性和使用性。
2.2可行性分析
2.2.1技术可行性分析
由于计算机技术的日趋成熟,硬件环境(处理器、内存、硬盘空间)和软件环境(操作系统、数据库)都能支持各种应用项目的开发,而且编程工具不断推陈出新、更新换代,利用面向对象的编程语言,借助于可视化编程技术、高效的数据库处理工具,编制信息管理系统的难度大大降低,因此从整个大的环境来说开发一个试卷自动生成系统在技术上不存在问题。
在开发工具上选择myeclipse2014,它易学易用、功能强大,特别是它的数据库处理技术非常卓越,完全可以胜任本系统的开发工作。
2.2.2操作可行性分析
整个设计完成后,可将其投入到学校的考试管理工作中,界面简捷大方,操作十分简单,经过简单的学习后,任何人都可以操作。
所以,本系统作为基本的考试系统操作上也是可行的。
2.2.3经济可行性分析
计算机被广泛应用于教学改革的今天,考试作为考察教学效果的重要手段之一,对计算机的应用仍有所欠缺,本系统可自动生成试卷,节约了纸张。
以往的考试,无论是出题,批卷,发布成绩、查成绩,操作都是十分的繁琐,而网上考试系统,教师只需录入和维护试题,组卷、自动批卷等一系列操作均可由电脑自动完成,十分简单,节约了大量的人力和时间。
2.2.4社会可行性分析
伴随着国家对教育发展投入的力度不断加大和全社会信息化水平的不断提高,各级各类学校基本具备了实现现代化信息管理的物质基础。
因此,越来越多的软件开发人员在研究开发网上考试系统,并且日趋成熟。
2.3需求分析
2.3.1功能需求
考试是面向特定的某些对象的,所以考生进入系统应该进行身份验证。
考生进入考试系统后,应该能根据自己的需要选择考试的种类,所以系统还应具有考试种类选择的功能。
鉴于目前考试环境一般为机房,考试者之间的距离很近,为规范考试,对于每个考生来说,试卷的题量应是相同的,但试题并不相同。
网上考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。
另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷或强制停止考试。
考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。
此外,应该能够方便、快捷的对网上考试系统管理,特别是管理员需用拥有对用户的管理权、对试卷的修改权及对试题的干预权和对考试结果的分析。
经过以上的分析,本系统需要实现以下基本功能:
1.教师部分:
(1)题库管理。
试题分为五大类,填空、单选、多选、简答、判断。
题库录入:
教师可以根据考试需求在题库中增添各种类型的试题。
对于每种类型的试题,教师可以设置题干、答案、试题的难易程度等属性。
题库维护:
对题库中的试题进行维护操作,主要是对试题进行修改和删除操作,同时可以进行浏览和查询的操作。
(2)试卷管理。
有两种生成方式:
手工组卷和随机组卷。
(3)考试安排功能。
此功能为添加考试功能。
安排一场考试,需设定此考试开始时间,结束时间,时长,以及指定参加人员等一系列考试参数,并且要绑定一个试卷,所有参加此考试的考生开始考试后均显示此试卷。
(4)考试监控。
考试开始时间内,教师进入此界面,可查看正在进行中的考试,选择一场考试进行监控,可看到考生的答题状态。
此时教师可将考生状态设为作弊或强制交卷,也可对其进行延时。
(5)评卷。
分为手动评卷以及自动评卷。
自动评卷只能评单选、多选、以及判断题。
填空和简答由于答案的不确定性,只能由教师手动去评判。
若一张试卷只有单选、多选和判断题,自动评卷后直接出成绩,提示评卷完成。
若还有填空或简答题型,则提示自动评卷完成,完成评卷还需手动评卷。
教师手动评定填空和简答分数。
(6)成绩管理。
成绩管理:
评卷完成后可对评卷得出的分数进行修改。
(7)成绩发布。
成绩发布:
发布后考生可在考试成绩界面查到自己成绩。
2.学生部分:
(1)答卷。
考生进入系统后,点击我的考试,则可查出当前时间自己可参加的考试,点击“参加”按钮,进入考试,显示试卷。
若考试安排处指定了考试时间例如30分,则倒计时从30分开始,倒计时结束自动交卷,本界面功能有:
暂停:
暂停考试,关闭试卷界面,倒计时停止,再次点击参加,可继续答卷。
检查:
所有试题已答完提示已答完试卷,有试题未答提示未答完。
标记:
不会的试题可进行标记,记录自己此题未答。
交卷:
提交试卷。
(2)考试成绩
查询成绩。
2.3.2性能需求
(1)系统的易用性和易维护性。
系统应提供良好的操作界面和简单的操作方式,系统输入输出以方便快捷为第一要求,输入项目的定位要灵活、快捷,应同时支持鼠标和键盘操作。
系统同时应具有良好的交互性、灵活性和容错性。
当用户操作错误或系统不能满足用户请求时,系统应该给予用户提示和必要的帮助。
(2)系统的通用性和可扩充性。
试卷自动生成系统在开发过程中,应该充分考虑以后的可扩充性。
例如用户根据具体情况对选择题选项需求可能不断增加,本系统选择题选项最多可从A到Q。
(3)系统的安全性。
系统要提供方便的手段供系统维护人员进行数据的备份,系统意外崩溃时数据的恢复等工作。
保证系统数据库数据的一致性、有效性、准确性和可靠性,以及系统运行工作的一致性,完成任意一个阶段的操作都要保证相关操作的一致性和协调性。
3系统总体设计
3.1系统概述
本系统是基于springMVC的网上考试系统,实现将考试系统移植到Internet的功能,其优势在于极大的简化了教师的工作和考生考试的操作。
极大地扩大了学生的学习资源,方便学生的学习。
教师可以利用系统在任何时间、任何地点布置考试,考生只要在规定时间内登录网站参加考试就可以,并且可以无纸化考试,并由系统自动判分,教师不用对试卷一一判分,就可以得到结果。
这减轻了教师的工作量,极大地提高教与学的效率。
3.1.1系统设计思路
基于上述的分析和自动组卷的具体要求,设计试卷自动生成系统如图3-1所示。
该系统主要完成试题管理、试卷管理、评卷等的设计。
用户登录的设计主要是实现不同的用户权限类型登录到不同的主界面的处理过程。
本系统采用模块化设计方法,将系统需求分析和系统设计思路中所要实现的各功能,划分为几大功能模块,教师权限功能模块包括:
试题管理、试卷管理、考试管理、考试监控、评卷、成绩管理、成绩发布;考生权限包括:
我的考试、考试成绩、考试档案、试题重做。
为了使功能不断完善再将这几大模块细化,分别实现了不同的功能。
本系统的处理流程是:
用户登录成功后,系统根据用户的类型赋予不同的使用权限。
学生权限不可进入后台,教师权限可进入后台。
3.1.2开发环境
(1)开发环境和开发工具
本系统是一个中型的应用项目,它是学校教务管理中一项非常重要的工作,所以选择具有较好稳定性,通用性好,操作方便、界面友好的Windows操作系统下进行开发。
由于myeclipse易学、易用,功能强大,且在数据库应用开发方面有较强优势,所以选择myeclipse作为开发工具。
(2)数据库的选择
本系统选择操作简单、稳定性好、维护方便的mySQL为数据库后台。
3.2系统的功能模块
3.2.1系统功能模块划分
(1)学生权限如图3-1所示:
图3-1学生权限功能模块图
(2)教师权限如图3-2所示:
图3-2教师权限功能模块图
3.2.2系统模块功能简介
本系统根据不同的用户权限,分为两部分:
教师、考生。
教师部分:
(1)试题管理:
对试题录入以及维护。
(2)试卷管理:
可指定一张卷的题型、题数、分数等参数。
例如一张试卷,指定10个单项选择题,指定每题1分,指定10个多项选择题,每个2分,指定4个简答题,每个5分,则会自动算出此试卷总分为50分,此时可设置此试卷及格分数,在1——50之间都可以。
(3)考试安排:
添加考试基本信息以及参数。
其中考试发布规则意思是,及时自动发布时,考生考完试交卷后,直接在考试成绩处可以查询成绩,手动发布需指定发布人,待本考试所有试卷评完之后,此人可在发布成绩模块处点击发布成绩,之后考生才可以考到成绩,还有其他一些重要参数,不一一列举。
(4)考试监控:
选择一场考试进行监控,可查看本场考试所有考生的考试状态,可对其考试时间延时,当某一考生有违纪或者作弊行为时,可将其强制交卷或设为作弊。
被标记为作弊后,评卷时无论答案如何,全部判错。
(5)评卷:
手动评卷、自动评卷,自动评卷只能评单选、多选以及判断题。
提交分数后,会根据考试安排处设定的合格分数判断是否及格并保存。
(6)成绩管理:
可对评卷完成提交的成绩进行改变,加分减分,及格不及格等。
(7)成绩发布:
点击成绩发布按钮后,则考生可以查看成绩。
考生部分:
(1)参加考试
可查询当前时间自己能参加的考试,点击参加后,进入考试界面。
(2)成绩查询
查询考试成绩,此处只显示本场考试最后一次的成绩,即试题重做最后一次的成绩。
3.3数据库设计
3.3.1数据库需求分析
根据本系统功能需要,所需的数据项和数据结构如下:
(1)试题表:
主键、试题内容、试题类型、试题难度、试题答案、得分点、候选项A~候选项Q、删除标识、创建时间。
(2)试卷表:
主键、试卷名称、试卷总分、合格分数、试卷难度、组卷类型(手工组卷、随机组卷)、单选题数量、多选题数量、判断题数量、填空题数量、简答题数量、单选题分数、多选题分数、判断题分数、填空题分数、简答题分数、创建时间、删除标识。
(3)试题-试卷关联表:
主键、试卷主键、试题主键、删除标识。
(4)考试表:
主键、考试名称、考试用卷、评卷人、开始时间、结束时间、考生安排、答题模式、考试时长、评卷状态、评卷策略、多选题得分规则、发布规则、发布人、删除标识。
(5)答案表:
主键、考生考试状态表主键、试题主键、考生答案、评卷答案、评卷得分、评语、删除标识。
(6)考生考试状态表:
主键、考试id、考生id、考生考试次数id、考生状态、答题开始时间、交卷时间、暂停时间、考试总得分、评卷标识、评卷开始时间、评卷结束时间、延长时间、考生IP、通过标识、删除标识、往次累计时长。
3.3.2数据库概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的设计就是概念结构设计。
它是整个数据库设计的关键。
根据以上的分析,就可以进行概念结构设计,确定各种实体以及它们之间的关系,为下面的逻辑结构设计打下基础。
3.3.3数据库逻辑结构设计
(1)试题表:
该表用于记录试题信息,主要包括实体名称、试题内容、试题答案等。
如表3-1所示。
数据来源:
试题管理处对此表进行操作。
表名称:
exam_question。
表3-1试题表
字段
字段名
说明
字段类型
主键
不为空
1
Id
主键
bigint
是
是
2
Q_content
试题内容
text
否
否
3
Q_type
试题类型
varchar
否
否
4
Q_diffic
试题难度
varchar
否
否
5
Q_answer
试题答案
text
否
否
6
Q_scorepoint
得分点
text
否
否
7
Q_A
候选项A
text
否
否
8
Q_B
候选项B
text
否
否
9
Q_C
候选项C
text
否
否
10
Q_D
候选项D
text
否
否
11
Q_E
候选项E
text
否
否
12
Q_F
候选项F
text
否
否
13
Q_G
候选项G
text
否
否
14
Q_H
候选项H
text
否
否
15
Q_I
候选项I
text
否
否
16
Q_J
候选项J
text
否
否
17
Q_K
候选项K
text
否
否
18
Q_L
候选项L
text
否
否
19
Q_M
候选项M
text
否
否
20
Q_N
候选项N
text
否
否
23
Q_O
候选项O
text
否
否
22
Q_P
候选项P
text
否
否
23
Q_Q
候选项Q
text
否
否
24
Delete_flag
删除标识
ing
否
否
(2)试卷表:
该表用于存放试卷信息,主要包括主键、试卷总分、各题型分数和数量。
如表3-2所示。
数据来源:
试卷管理。
表名称:
exam_paper。
表3-2试卷表
字段
字段名
说明
字段类型
主键
不为空
1
id
主键
id
是
是
2
P_name
试卷名称
varchar
否
否
3
Total_score
试卷总分
decimal
否
否
4
Qualif_score
合格分数
decimal
否
否
5
hard
试卷难度
varchar
否
否
6
Paper_type
组卷类型
varchar
否
否
7
Single_count
单选题数量
int
否
否
8
mutipl_count
多选题数量
int
否
否
9
truefa_count
判断题数量
int
否
否
10
blank_count
填空题数量
int
否
否
11
shorta_count
简答题数量
int
否
否
12
Single_score
单选题分数
decimal
否
否
13
mutipl_score
多选题分数
decimal
否
否
14
truefa_score
判断题分数
decimal
否
否
15
blank_score
填空题分数
decimal
否
否
16
shorta_score
简答题分数
decimal
否
否
17
Delete_flag
删除标识
ing
否
否
(3)试题试卷关联表:
用于存放试题表的id和试卷表的id,表示关联关系,是一个中间表。
如表3-3所示。
数据来源:
试卷管理。
表名称:
exam_paper_question。
表3-3试题试卷关联表
字段
字段名
说明
字段类型
主键
不为空
1
id
主键
int
是
是
2
P_id
试卷id
int
否
否
3
Q_id
试题id
int
否
否
4
Delete_flag
删除标识
int
否
否
(4)考试表:
用于存放考试的信息,主要包括考试名称、用卷、关联人员、评卷策略等重要参数。
如表3-4所示。
数据来源:
考试安排。
表名称:
exam_examin。
表3-4考试表
字段
字段名
说明
字段类型
主键
不为空
1
id
主键
int
是
是
2
Ex_name
考试名称
varchar
否
否
3
Ex_volume
考试用卷
bigint
否
否
4
Ex_user
评卷人
bigint
否
否
5
Start_date
开始时间
datetimt
否
否
6
End_date
结束时间
datetime
否
否
7
Ex_examuser
考生安排
varchar
否
否
8
Ex_model
答题模式
varchar
否
否
9
Ex_time
考试时长
varchar
否
否
10
Mark_status
评卷状态
varchar
否
否
11
Ex_stategy
评卷策略
int
否
否
12
Mutip_rule
多选题得分规则
int
否
否
13
Publish_rule
发布规则
int
否
否
14
Publish_user
发布人
int
否
否
15
Delete_flag
删除标识
int
否
否
(5)答案表:
用于存放考生答案,主要包括主键、考生答案、试题主键。
如表3-5所示。
数据来源:
考生答卷界面交卷。
表名称:
examin_answer。
表3-5答案表
字段
字段名
说明
字段类型
主键
不为空
1
id
主键
bigint
是
是
2
Us_id
考试状态表id
bigint
否
否
3
Question_id
试题主键
bigint
否
否
4
User_answer
考生答案
varchar
否
否
5
Mark_answer
评卷答案
varchar
否
否
6
score
评卷得分
decimal
否
否
7
remark
评语
varchar
否
否
8
Delete_flag
删除标识
int
否
否
(6)考生考试状态表:
用于存放考生的状态信息信息,主要包括考生id、考生状态、得分、评卷标识等。
如表3-6所示。
数据来源:
从考试安排处开始贯穿整个流程。
表名称:
exam_userstat。
表3-6考生考试状态表
字段
字段名
说明
字段类型
主键
可否为空
1
id
主键
bigint
是
否
2
Ex_id
考试id
bigint
否
否
3
User_id
考生id
bigint
否
否
4
Ex_count_id
考生考试次数id
int
否
否
5
stat
考生状态
int
否
否
6
Start_date
答题开始时间
datetime
否
否
7
Sub_date
交卷时间
datetime
否
否
8
Pause_date
暂停时间
varchar
否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 springMVC 网上 考试 系统