完整的在线考试系统论文.docx
《完整的在线考试系统论文.docx》由会员分享,可在线阅读,更多相关《完整的在线考试系统论文.docx(56页珍藏版)》请在冰豆网上搜索。
完整的在线考试系统论文
重庆科技学院
毕业设计(论文)
题目基于java的在线考试系统设计
院(系)电子信息工程学院
专业班级计科应2006-01
学生姓名学号
指导教师职称
评阅教师____职称___
年月日
重庆科技学院本科生毕业设计(论文)
基于java的在线考试系统设计
院(系)电子信息工程学院
专业班级计科应2006-01
学生姓名
指导教师
助理指导教师
2010年6月10日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)题名页
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论、参考文献
7)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、文献综述、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、文献综述、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
学生毕业设计(论文)原创性声明
本人以信誉声明:
所呈交的毕业设计(论文)是在导师的指导下进行的设计(研究)工作及取得的成果,设计(论文)中引用他(她)人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人成果及为获得重庆科技学院或其它教育机构的学位或证书而使用其材料。
与我一同工作的同志对本设计(研究)所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
毕业设计(论文)作者(签字):
年月日
摘要
本系统是一个基于java的在线考试系统。
它的用户由学生、教师和系统管理员组成。
学生登陆系统可以进行在线测试和成绩查询。
当学生登陆时,系统会随机地为学生选取试题组成考卷。
当学生提交考卷后,系统会自动批改客观题,并将试卷提供给教师查看和提醒教师对试卷主观题进行修改。
待教师修改完试卷后,系统会自动生成考生成绩和分数段统计信息。
学生可以查询自己的成绩信息和试卷,以便更好地了解自己的学习情况。
教师也可以通过分数段统计信息更好地了解学生的学生情况。
后台管理员可以对考题,考试设置信息,用户信息进行维护。
学生,教师,管理员都可以对个人信息进行维护。
本系统采用B/S模式设计,一切操作均在浏览器上进行。
系统所用到的技术有HTML,CSS,javascript,jsp/servlet等。
数据库选用SQLServer2005,web服务器选用TomCat。
前台设计主要在DreamWeaver上设计完成的,后台开发主要在Eclipse上完成的。
本文首先对本次没计的背景、设计的意义、设计的可行性等作了一个简单的介绍。
其次介绍了此次设计的设计过程,包括需求分析,总体设计,数据库设计,详细设计等内容。
最后介绍了系统的功能测试过程和结果分析。
关键词:
在线考试随机抽题SQLServerJSP/servlet
ABSTRACT
Thissystemisaonlineexaminationsystemanditisbasesonjava.Theuserofthissystemmakeupbystudent,teacherandadministrator.Studentscantestonlineandquerytheresultsoftest.Whenthestudentssubmittedthetestpapers,thesystemautomaticallycorrectstheobjectivequestions,thensendthistestpapertotheteacherandremindtheteachertocorrectthesubjectivequestions.Whentheteachercorrectedthequestions,thesystemwillautomaticallygeneratetestscoresandthestatisticalinformationofscoresection.Studentscanquerytheresultsoftestandthetestpaperssothattheycanbetterunderstandtheirownlearning.Theteachercanalsobetterunderstandthelearningofstuentthroughthestatisticalinformationofscoresection.Administratorscanmaintainthequestionandmaintainthetestsetandmanagetheusersinformation.Stuent,teacherandadministratorcanmaintaintheOwninformation.
ThesystemusestheB/Smodel,sothatalltheoperationswerecarriedoutinthebrowser.TechnologiesusedinthesystemincludeHTML,CSS,javascript,jsp/servletandsoon.ThedatabaseofthissystemisSQLServer2005andthewebserviceisTomcat.TheFrontmainlydesigninDreamWeaverandthebackstagemainlydesigninEclipse.
Thispaper,firstly,makeabriefofthebackground,themeaningandthefeasibilityofthisdesign.Thendescribesthedesignprocessofsystem,includeneedsanalysis,designsummary,databasedesignanddetaileddesign.Lastdescribesthesystemfunctionaltestingprocessandresultsanalysis.
Keyword:
ExamOnline;Randomquestion;SQLServer;JSP/servlet
1绪论
1.1问题的提出
计算机网络技术的飞速发展以及计算机技术的发展及计算机的日益普及,现在很多国内外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训,从而为在线考试系统发展提供了坚实的基础。
现在,计算机硬件技术的发展已经达到了相当高的水平。
但是,在我国远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于在线考试与无纸化办公一样已成为大势所趋。
在线考试系统也越来越成为学校的好帮手,它的优势不但体现在人力上也体现在物力上,在线考试系统的采用自动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员,提高效率。
1.2系统开发目标
该系统是一个基于B/S模式的Web在线考试系统。
它能够从题库中随机抽取试题生成考试试卷,从而有效地避免了考试作弊,相互抄袭的避端。
当考试完成后系统能自动地为客观题评分。
教师登陆时系统可以还原学生考试试卷,待教师对主观题评完分后系统可以计算出学生总分,并生成各分数段情况信息,供给老师参考,以便能够了解学生的学习情况。
1.3开发工具的选择
本系统开发语言为JAVA,从各IDE的性能和价格考虑所使用的开发工具主要是Eclipse+MyEclipse,前台页面主要用DreamWeaver来设计。
由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用SQLServer2005数据库。
Web服务器选Apache开元组织提供的TomCat,因为TomCat是一个免费的开元软件是SUN公司推荐的web服务器。
1.4开发本系统的意义
从电子文档、多媒体的应用,到利用Internet做尝试,网络已经渗入到教育体系的各个环节.网上考试系统作为这场变革中必不可少的环节之一,受到越来越多的关注.网上考试系统不仅和传统考试方式一样要权衡公平性,而且还具有一些新特点.
1)从管理的角度看,在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作,系统实现了无纸化管理,提高了管理的效率;所有的考试数据和其他数据库需要一种主流的方式进行存储和管理,例如使用数据库技术,题库对于每个出题者都只是显示了部分视图,很好地实现了教考分离.
2)在不改变传统考试基本步骤的条件下,只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试.题目有一定的稳定性和随机性.稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生.
3)考试结果反馈及时准确.考试的结果在教师修改考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由.考生的考试结果可以被保存下来,供教师进行分析统计和察看。
2系统分析
2.1背景分析
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。
随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。
现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,从该题库中抽取一定数量的考题生成考试试卷,从而有效地避免了考试作弊,相互抄袭的避端;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给考生成绩,计算机阅卷给了考生最大的公平感。
2.2可行性分析
2.2.1技术可行性分析
系统开发将要用到JSP/Servlet、JavaBean、SQLServer数据库技术。
另外,硬件只需要一台pc机,装上软件Eclipse,DreamWeaver等开发工具,利用SQLserver作为后台的数据库,利用Tomcat作为Web服务器,所以在这方面来说是可行的。
已经掌握了开发考试系统方法和开发工具,并且在调查过程中,已经了解和熟悉了在线考试系统的业务流程。
综上所述本系统开发从技术上是可行的
2.2.2经济可行性
从经济效益来分析,软件的开发成本不大,而其它的投入也只是电脑。
电脑的普及也带来了低成本投入。
由于系统运行的基础环境均已具备,无需重新开发建设,所以系统开发、运行所需的费用是比较低的。
而系统的效益很高可以提高管理效率实现计算机化、系统化、规范化操作,效率大于投入,可行性很高。
2.2.3方案可行性
根据系统的分析,本系统充分从适用性出发,全面为不同的使用用户考虑。
使系统的许多功能与规则都可根据用户的习惯进行定制,包括软件界面、操作方式、录入方式等。
本系统的设计充分从使用用户和教务教学任务考虑。
3系统设计
3.1需求分析
本考试系统用户主要分为三类:
学生,教师,管理员。
1.学生需求
学生登陆系统主要进行两类操作:
在线考试,成绩查询与个人信息管理.
(1)在线考试
系统能自动给考生选题,考题必须是随机分配的,以保证考试的公平性。
学生在考试过程中页面将提供考试时间倒计时功能,使考生随时了解考试剩余时间。
在考试时间到时,系统将自动地将学生考试试卷提交,将提醒考生离开考场。
当考试试卷提交时,系统自动为选择题、判断题等客观题评分,主观题由教师评分。
(2)成绩查询与个人信息维护
学生可以登陆系统查询各科成绩,其中成绩信息包括每种题型的得分,如单选题,简答题等。
别外学生还可以查询自己的考卷,了解自己的考试情况。
除此之外,学生登陆系统可以查看和修改个人的基本信息,如修改密码等。
2.教师需求
教师登陆系统主要有三类操作:
查看和修改学生试卷,查看各分数段统计,个人信息的维护
(1)查看/修改学生试卷
系统会将学生试卷从数据库中读出供给老师查看和修改,系统已经对选择题和判断题评了分,所以这些信息对于教师是只读的。
而对于主观题,系统将参考答案读出供给老师参考,再将考生答案读出供给教师评分。
(2)查看分数统计
教师修改好试卷之后,系统将成绩汇总,生成各分数段统计信息,并提供给老师查看,以便教师能了解学生的学习情况。
(3)个人信息维护
教师登陆系统之后也可以对个人信息进行查看和修改。
3.管理员
系统管理员登陆系统后主要进行四类操作:
考题维护,考试信息维护,用户维护和个人信息维护
(1)考题的维护
管理员可以往题中添加考题,修改错误试题和删除无用试题。
(2)考试信息的维护
考试信息的维护主要是对于考试设置信息进行维护,这些信息主要是考试总时间,试题数量,各试题分值的分布等。
(3)用户维护
系统管理员可以对用户信息(包括学生信息,教师信息等)进行增,删,改查操作。
(4)个人信息维护
管理员也可以对自己的基本信息的维护
3.2总体设计
3.2.1系统数据流图
据分析系统数据流图如图3.1所示
图3.1系统数据流图
3.2.2系统的功能模块图
根据3.1所述需求,设计出系统功能模块如图3.2所示
图3.2系统的功能模块图
3.2.3系统功能模块
1、在线考试
在线考试的流程如下:
首先系统按照一定的算法为登陆的考生随机选取一定的试题生成考试试卷,考生在系统生成好试卷后进行答题操作。
答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。
考生在试卷提交后系统自动地为客观题进行评分,本系统的客观题主要是单选题,多选题和判断题。
其数据流图如3.3所示。
图3.3第2层在线考试数据流图
2、成绩查询
考生根据用户编号查询考试成绩信息。
成绩信息包括单选题得分,多选题得分等详细信息。
页面提供对相应科目试卷的链接,使得学生还可以查询自己的考卷,了解自己的考试情况。
3、查看/修改考生试卷
系统首先将考生的试卷读出,再提提醒老师对主观题进评分,等老师对主观题进行评分后系统生成考生的成绩信息,其数据流图如图3.4所示。
图3.4第2层修改学生试卷数据流图
4、分数段统计
当教师对考卷的主观题评定后,系统能自动生成分数段统计信息供给老师查看。
此功能有助于老师了解学生的学生情况,以便更好的教学。
5、试题维护
试题维护是后台管理员的重要功能,它包括对试题的添加,修改,删除操作。
为了使界面更友好,管理员在试题维护时系统会先将考试试题读出,再提供给管理中员操作。
其数据流图如图3.5所示
图3.5第2层考题维护数据流图
6、考试设置信息维护
考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。
这些考试信息包括考试时间,各题的数量和分值等。
其数据流图如图3.6所示。
图3.6第2层考试设置信息维护数据流图
7、用户管理
用户管理是管理员对系统用户信息的管理。
这些用户包括学生和教师。
用户管理操作包括添加用户,更新用户和删除用户。
管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。
其数据流图如图3.7所示。
图3.7第2层用户管理数据流图
8、个人信息维护
学生,教师,管理员都可以对个人信息进行维护。
维护操作包括对个人基本信息进行修改,修改密码等。
系统能提供极为友好的界面方便用户操作。
3.3数据库设计
3.3.1数据字典
通过对系统功能的分析可知,本系统主要包括如下的数据库信息:
(1)用户表,该表保存了系统用户的基本信息,属性有用户编号、用户名称、用户类型、用户性别。
其中用户编号为主码,它是用户信息的唯一标识。
表结构如表3.1所示。
(2)考生标记表,该表用于保存考生是否已经考试的标识信息,属性有用户编号、课程名称、标识信息。
其中用户编号和课课程名称共同作为主码。
表结构如表3.2所示。
(3)考题表,该表用于保存考题的基本信息,属性有考题编号,课程名称,考题类型,题目级参考答案等。
其中考题编号为主码。
表结构如表3.3所示。
(4)试卷设置表,该表用于记录相应课程的考试设置的相关信息,属性有课程名称,单选题、多选题、判断题、简答题、编程题数量和分值,考试时间等。
其中课程名称为主码。
表结构如表3.4所示。
(5)试卷表,该表用于保存考生的试卷信息,属性有考生编号,课程名称,考题类型,考生答案和得分等。
其中考生编号和课程名称共同作为主码。
表结构如表3.5所示。
(6)成绩表,该表用于保存考生的考试成绩信息,属性有考生编号,课程名称,各考题得分,总得分。
其中考生编号和课程名称共同作为主码。
表结构如表3.6所示。
系统表结构如下:
表3.1用户表(UserInfo)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
name
Varchar(50)
否
用户姓名
utype
int
否
用户类型
1为学生,2为教师,3为管理员
password
Varchar(10)
否
密码
sex
Varchar
(2)
是
性别
表3.2用户标记表(userflag)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Course
Varchar(20)
否
课程名称
pk
flag
int
否
用户标记
0试卷未提交1试卷已提交
表3.3考题表(Question)
字段
类型
允许为空
说明
备注
Qid
int
否
考题编号
pk自增长
qtype
int
否
考题类型
1单选题2多选题3判断题4简答题5编程题
course
Varchar(20)
否
课程名称
ques
Text
否
题目
keyA
Varchar(50)
是
选项A
keyB
Varchar(50)
是
选项B
keyC
Varchar(50)
是
选项C
keyD
Varchar(50)
是
选项D
answer
text
否
参考答案
表5.4考试设置表(TestSet)
字段
类型
允许为空
说明
备注
course
Varchar(20)
否
科目
pk
sinc
int
否
单选题数
persin
int
否
每个单选题的分值
mulc
Int
否
多选题数
permul
int
否
每个多选题的分值
judge
Int
否
判断题数
perju
Int
否
每个判断题的分值
jd
Int
否
简答题数
perjd
Int
否
每个简答题的分值
program
Int
否
编程题数
perpro
Int
否
每个编程题的分值
totaltime
Int
否
考试时间
表5.5试卷表(test)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Qid
int
否
考题编号
pk题库中的题号
Course
Varchar(20)
否
课程名称
Qtype
int
否
考题类型
1单选题2多选题3判断题4简答题5编程题
answer
Text
是
考生答案
Tnumber
int
否
题目编号
试卷中的第几题
score
float
是
得分
表5.6成绩表(test)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Course
Varchar(20)
否
课程名称
pk
score
float
否
总得分
single
float
否
单选题得分
multiply
float
否
多选题得分
judge
float
否
判断题得分
jd
float
否
简答题得分
program
float
否
编程题得分
3.3.2实体关系图
据分析系统实体关系图如图3.8所示:
图3.8系统E-R图
系统各实体关系如下:
用户:
用户标记1:
N
考试设置:
用户标记1:
N
考题:
考试设置N:
1
考题:
试卷1:
N
用户:
试卷1:
N
试卷:
成绩N:
1
用户:
成绩1:
N
3.3.3数据库的连接
在本系统中我们使用JDBC-ODBC桥连接,要进行数据库连接首先要配置数据源。
按3.3.1和3.3.2的设计,设计好数据库ExamOnlie,再建一个名为ExamOnline的数据源。
系统连接数据库的流程图如图3.9所示:
图3.9系统连接数据库流程图
建立数据库连接和关闭数据库连接操作方法代码及说明如下,这些方法位于DBAccess类中,当作工具类来用
static{//静态代码块,在类被实例化时被调用,且只被调用一次
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//注册驱动
}catch(ClassNotFoundExceptione)
{
thrownewExceptionInInitializerError(e);
}
}
//得到连接
publicConnectiongetConnectio