在线考试系统设计与实现.docx

上传人:b****3 文档编号:4230870 上传时间:2022-11-28 格式:DOCX 页数:22 大小:207.23KB
下载 相关 举报
在线考试系统设计与实现.docx_第1页
第1页 / 共22页
在线考试系统设计与实现.docx_第2页
第2页 / 共22页
在线考试系统设计与实现.docx_第3页
第3页 / 共22页
在线考试系统设计与实现.docx_第4页
第4页 / 共22页
在线考试系统设计与实现.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

在线考试系统设计与实现.docx

《在线考试系统设计与实现.docx》由会员分享,可在线阅读,更多相关《在线考试系统设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。

在线考试系统设计与实现.docx

在线考试系统设计与实现

毕业论文

 

题目:

在线考试系统设计与实现

 

学生姓名:

赵爽

学生学号:

114067

系别:

电子信息系

专业:

计算机信息管理

届别:

2014届

指导教师:

惠光伦

在线考试系统

学生:

赵爽

指导教师:

惠光伦

摘要:

最近几年,在线考试系统强大的功能已为人们深刻认识,许多职称考试均采用无纸化的方式,如计算机等级考试、微软的MCSE、Cisco的CCNA等。

在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,更方便了教师,老师所要做的就是精心设计题目、然后录入系统,而不是组织考试。

在线考试系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。

本论文主要介绍了对在线考试管理系统的分析、设计和开发的全部过程,对在线管理系统的设计过程进行详细的说明,并且实现一个基于web技术的全文共分为开发背景、系统分析、开发背景及开发环境、系统设计、系统测试,结论六部分。

关键词:

在线考试,Cisco,无纸化

 

第1章开发背景

考试一直是检测学生学习能力好坏的重要手段,从各级各类学校进行的测验到国内国外的各大厂家推出的一系列认证,考试已经渗透到各个方面。

随着网络的发展,互联网已经普及的非常广泛,随着这些周围环境的改变,人们开始去寻找新的方式来去达到更客观,更方便快捷的去达到考试的目的。

计算机应用及网络技术的迅猛发展,使得人们迫切希望利用这些技术来进行在线考试,以减轻教师的工作负担以及提高工作效率、提高考试的质量。

如今,考试次数越来越频繁,命题工作量也逐渐增大,由于传统的卷面考试使得教师的工作负担繁重,工作效率较低,这样的考试方式存在着许多明显的不足之处。

在线考试有着传统考试方式所无法比拟的优点,从生成试卷到成绩分析都由系统自动完成无需人工干预,能把教师从繁重的工作中解脱出来,同时避免了人工出卷中存在的人为因素,很好地解决了传统考试方式中存在着的问题。

在线考试系统利用网络手段将考试资源整合,实现了一定的无纸化考试,避免了以往学校考试纸张、笔、监考和巡逻等各种资源的浪费。

在线考试作为一种新的考试手段已经开始进入人们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力,对学校提高教学质量起着很大的促进作用。

这个系统主要目的是可以让考试变得更方便,让改卷变得更轻松,让管理变得更容易。

尽快在考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。

第2章系统分析

系统分析至关重要,在本章中对在线考试系统进行了需求分析、可行性分析。

定位于节省考试过程中的成本,方便对考试工作的管理。

2.1需求分析

2.1.1功能需求

系统采用B/S结构设计开发,旨在让用户通过网络浏览器实现对系统的访问。

有了这个系统,学生可以拿到一台计算机就可以考试,不必担心这台机器上是否装有考试系统。

本系统的用户可分为教师和学生两类。

在设计时应该有友好的用户界面,便于用户的操作。

教师和学生通过同一界面登录,教师登录之后主要负责试题管理、试卷管理、学生管理等。

学生登陆之后主要负责在线考试,查询分数和查看试卷解析等。

从总体上考虑,系统应该实现下列功能:

(1)试题管理;

(2)试卷管理;

(3)学生管理;

(4)考试页面;

(5)成绩查询。

这个系统主要目的是可以让考试变得更方便,让改卷变得更轻松,让管理变得更容易。

2.2可行性分析

2.2.1技术可行性分析

技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。

该系统采用了当前多用的B/S模式进行开发,结合了Internet技术。

数据库服务器选用Mysql数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。

它的灵活性、安全性和易用性为数据库编程提供了良好的条件。

因此,系统的软件开发平台已成熟可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

所以在技术是可行的。

2.2.2经济可行性

经济可行性研究主要是预估费用支出和对项目的经济效益进行评价。

在科技飞速发展的今天,一般的硬件平台完全能满足此系统的需要。

考试系统减轻了客户端的负担,只要支持浏览器就可以进行在线考试与测试,大降低了成本,且考生只需掌握简单的操作即可;其次,考试、批卷都由电脑自动完成,使教师从繁忙的工作中解脱出来,减少了开销,提高了效率;再次,系统的运行和维护相对简单,所以本系统在经济上是可行的。

总结:

按上述两方面进行可行性分析、研究后,我认为该项目可行。

 

第3章开发工具及开发环境

本毕业设计的内容是设计并且实现一个基于web技术的在线考试系统,故而系统主要以j2EE作为开发基础,用MyEclipse8.0作为开发工具,应用Tomcat服务器,以MYSQL作为数据库,以Macromedia公司的Dreamweaver作为界面美化工具。

JSP动态处理页面数据,JDBC实现数据库的访问。

以下是对各技术的简介:

1.JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。

2.MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

3.Tomcat应用服务器 ,目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,Tomcat是一个免费的开源的Serlvet容器。

Tomcat也具有传统的Web服务器的功能:

处理Html页面。

但是与Apache相比,它的处理静态Html的能力就不如Apache。

我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。

Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。

 

第4章系统设计

4.1系统分析

4.1.1系统总体规划

在线考试系统按用户角色分为两大模块:

教师模块:

实现试题管理、试卷管理、学生管理等;学生模块:

开始考试、查询分数、试题解析等功能。

 

对于在线考试统进行整体功能分析之后,可以设计出该系统的功能模块总体框架如图4-1所示:

 

图4-1系统总体规划图

4.1.2在线考试系统模块框图

学生登录系统,验证输入的用户名和密码,正确就进入系统考试页面进行考试,在做完试题之后,点击提交试卷,可以直接看到试卷分数。

流程如图4-5所示:

图4-2考试模块框图

4.1.3系统功能描述

两种角色通过同一登录界面进入不同操作页面:

其中教师账号和密码由系统后台添加。

学生学号和密码由教师添加,个人不能注册。

1.教师功能模块:

(1)试题管理:

题型包括选择题、填空题、判断题、简答题和编程题。

教师可以对各种题型进行增加、修改、删除、查询,还可以设置每道题的分值。

(2)试卷管理:

主要有出试卷、查看试卷和批阅试卷三个功能,其中出试卷包括设置试卷标题、考试时间、考试题目的录入(选中每种题型编号后的按钮再点击录入即可)等。

查看已经出好的试卷,也可以对已经考试过的试卷进行删除,在每题编号后有个启用按钮,选择之后,学生登录就使用此套试卷进行考试等。

教师可以批阅试卷,选择题、填空题和、判断题等有固定答案题型系统会自动阅卷,不用老师手动批阅,如果出问答题和编程题,则进行手工批改,并提交成绩至数据库。

(3)学生管理:

管理每个学生的个人信息,包括学号、姓名、密码、性别、学校、英语能力、联系方式等。

教师可以对学生信息进行添加、修改、删除、查询等操作,其中未被老师添加的不可以从登陆考试。

教师可以查看所有考生的考试成绩。

 

3.学生功能模块:

(1)考试进行:

从登录页面进入考试页面,考试页面按照教师所启用的试卷并显示考试时间、考生学号和试卷总分值。

 

(2)分数查询:

从考试页面点击交卷,系统会自动阅卷并显示分数,其中简答题和编程题未经批阅,需要教师手动批阅。

(3)查看答案:

从考试结果页面进入查看答案页面,考生可以看到试卷的正确答案及其解析。

4.2数据库设计

4.2.1数据库设计原则

在进行数据库的数据结构分解和设计时,应遵循数据规范化理论,以减少数据冗余,保证数据的完整性、一致性。

在设计数据库系统时,应当重点考虑以下几个因素:

1.数据库必须层次分明,布局合理。

2.数据库必须高度结构化,保证数据的结构化,规范化和标准化,这是建立数据库和进行信息交换的基础。

数据结构的设计应该遵循国家标准和行业标准,尤其要重视代码的应用。

3.在设计数据库的时候,一方面要尽可能地减小冗余度,减小存储空间降低数据一致性问题发生的可能性,另一方面,还要考虑适合的冗余,以提高和降低开发难度。

4.必须维护数据的正确性和一致性。

4.2.2数据表设计

通过调查分析各种资料,根据本系统用户需要操作和处理的各种数据,对数据表进行了分析。

确定在数据库中存储的各种数据之间的关系以及数据类型,列举出部分数据表的关系如下:

1.选择题信息表(t_choicesubject)包括的数据项有:

试题序号,试题详情,试题分数,试题解析,试题答案,角色编号等(如表4-1所示):

表4-1选择题信息表(t_choicesubject)

字段

类型

允许为空

主键或外键

说明

subjectId

INT(11)

主键

试题序号

subjectTitle

VARCHAR(255)

试题详情

subjectScore

DOUBLE

试题分数

subjectAnaly

VARCHAR(255)

试题解析

currentAnswer

VARCHAR(255)

试题答案

resourceId

INT(11)

外键

角色编号

2.考试结果表(t_studentanser)包括的数据项有:

学生答题编号,学生分数,试卷编号,学号,学生姓名,试卷名称等(如表4-2所示):

表4-2考试结果表(t_studentanser)

字段

类型

允许为空

主键或外键

说明

studentAnswerId

INT(11)

主键

答题编号

studentScore

DOUBLE

学生分数

testPaperId

INT(11)

外键

试卷编号

studentId

INT(11)

外键

学号

studentName

VARCHAR(255)

学生姓名

testTitle

VARCHAR(255)

外键

试卷名称

3.试卷表(t_testpaper)包括的数据项有:

试卷编号,考试时间,试卷名称,制作时间,角色编号等(如表4-3所示):

表4-3试卷表(t_testpaper)

字段

类型

允许为空

主键或外键

说明

paperId

INT(11)

主键

试卷编号

testTime

INT(11)

考试时间

paperTitle

VARCHAR(255)

试卷名称

producetTime

DATE

制作时间

resourceId

INT(11)

外键

角色编号

4.学生表(t_student)包括的数据项有:

学生编号,学生姓名,学号,性别,学校名称,英语等级,QQ,密码等(如表4-4所示):

表4-4试卷表(t_student)

字段

类型

允许为空

主键或外键

说明

studentId

INT(11)

主键

学生编号

studentName

VARCHAR(255)

学生姓名

studentNumber

INT(11)

学号

sex

VARCHAR(255)

性别

schoolName

VARCHAR(255)

学校名称

eglishLevel

VARCHAR(255)

英语等级

connectionNumber

VARCHAR(255)

QQ

studentPassword

VARCHAR(255)

密码

5.试题库(test_utils)用来存储所有试卷中的题目,包括的数据项有:

试题编号和试题序号等(如表4-5所示):

表4-5试卷库(test_utils)

字段

类型

允许为空

主键或外键

说明

testPaperUtilId

INT(11)

主键

试题编号

subjectId

INT(11)

主键

试题序号

6.试卷构造表:

试题编号,试题类型编号,试卷ID等(如表4-6所示):

表4-6试卷ID

字段

类型

允许为空

主键或外键

说明

testPaperUtilId

INT(11)

主键

试题编号

subjectTpe

INT(11)

外键

试题类型

testPaperId

INT(11)

外键

试卷ID

4.2.3与数据库进行连接

用DriverManager类的getConnection()方法建立起与数据库连接,getConnection()返回一个对象,此对象是java.sql包中的Connection接口对象。

该接口定义了与之连接的数据库交互的一些方法、常量等,这些方法用来管理数据库的连接、获得连接的信息、提交数据库处理事件并且预处理可执行的SQL语句。

下面是Connection接口的一些重要的方法:

(1)close() 关闭一个数据库连接。

(2)getMetaData() 返回一个DatabaseMetaData接口对象,该接口能被用来获得有关数据库的详细信息,包括数据库结构和数据库内容等。

(3)createStatement() 创建一个SQL语句对象。

(4)prepareStatement() 用SQL字符串创建一个SQL预处理语句对象。

预处理语句对象是可以被高效执行的预编译过的SQL语句。

4.3界面设计

4.3.1.登录页面

用户在登录界面输入账号和密码,然后选择用户的身份,系统根据所选择的身份,把用户所输入的账号和密码,与所选的身份对应表里面的数据进行匹配,如果正分正确,系统将会根据用户的身份,选择跳转的界面,教师就进入管理页面,学生就进入学生页面,如果输入不正确就返回登录界面,并给与提示,如图4-3所示:

图4-3登录界面

登录业务流程,如4-4所示:

 

图4-4登录业务流程图

4.3.2.试题管理页面

考试题目管理界面的主要功能包括对题目进行添加、查询、修改和删除操作,选择题添加页面可以输入题目,设置选项详情,每题多少分,答案和答案解析等,如图4-5所示:

图4-5选择题添加页面

判断题的更新页面,可以修改之前录入有误的试题,如图4-6所示:

图4-6判断题更新页面

4.3.3试卷管理页面

试卷管理分为出试卷,查看试卷和批阅试卷。

其中出试卷页面可以输入此试卷的标题,设置考试时长,对题目进行选择操作,再点击录入就生成一套试卷,如图4-7所示。

图4-7出试卷页面

查看试卷页面可以对生成的试卷进行删除、修改、查看操作如图4-8所示,并可以设置任何一套试卷处于启用状态,供学生考试,如果所有试卷都处未启用状态,学生登录进来会提示没有题目可做。

图4-8查看试卷页面

批阅试卷页面可以对学生的主观题进行手动打分,打分之后分数会自动加入总分。

如图4-9所示:

图4-9批阅试卷页面

4.3.4学生考试界面

学生考试页面,试题做完后,点击交卷,直接查看客观题的分数。

如图4-10所示:

图4-10考试界面图

4.3.5学生分数页面

考生点击提交试卷,系统会根据数据库中设置好的答案进行批阅客观题,并跳转到分数页面。

如图4-11所示:

图4-11学生分数页面

4.3.6试题答案解析页面

学生在点击查看答案页面后,跳转到答案解析页面,如图4-12所示:

图4-12答案解析页面

 

第5章系统测试

测试是软件开发必不可少的环节,每个开发者都应该养成良好的测试习惯,一个系统的完善就是通过不断地测试与维护来完成的。

 

测试的意义有以下几点:

 

(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;

(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性 ;

(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。

 

测试一般有两种方法:

如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品的内部动作是否按照说明书的规定正常运行。

前一个方法称为黑盒测试,后一个称为白盒测试。

 

对于本系统,我采取第一个方法,即黑盒测试。

做完一个模块,就进行测试,看所做的模块能不能实现所需要的功能。

测试时花了好多功夫,为了使系统变得更加完善,测试了一遍又一遍。

经过了先期的模块测试和后期的综合测试,本系统实现了规格说明书的所有功能,达到了预期的要求。

但是系统还有不少的缺陷,以后让它更加完善。

 

第6章结论

此次的毕业论文在设计过程中,出现过不同的问题,开始的时候解决起来有一些困难,经过两个月的不断学习和实践,基本上都已经解决,而且通过解决问题的过程,总结出一些需要注意的事项:

(1)设计数据库前一定要多加考虑,减少数据的容余,保证数据的完整。

(2)系统的设计最好采用模块化,采用软件工程提倡的高聚合,低耦合。

我收获了很多,学到想做好一件事首先要一个好的计划、统筹的安排,通过这次的实践书上以前很多不懂的东西都通过实践找到了答案,让我感受了软件开发的整个过程。

毕业设计不仅是对我在大学所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我也会了许多处理、解决问题的方法,大大提高了自己的动手能力,为以后走上工作岗位打下了良好的基础。

由于时间的仓促,加之水平有限,本毕业设计中的缺点和不足之处在所难免,敬请老师给与批评指正。

 

致谢

时光匆匆如流水,转眼便是大学毕业时节,离校日期已日趋临近,毕业论文的完成也随之进入了尾声。

在这大学三年我要感谢我们班里的兄弟姐妹,她们在学习上和生活上给了我太多的帮助,大学不仅仅来学习知识的,我从中学到了许多做人的道理。

虽然我们离家很远,但在这里我感到了家的温暖。

本设计的完成是在我的导师惠光伦老师的悉心指导下完成的。

早在平时授课中就教我们怎么写文档、报告和需求分析。

记住很多不该犯的错误。

在论文的写作过程中,回想以前老师上课的内容,运用在论文写作中。

在每次遇到问题时惠老师不辞辛苦的额讲解才使得我的设计顺利进行下去。

在整个过程中,花费了惠老师很多的宝贵时间和经历,他传授给的我不仅是丰富的知识和研究问题的方法,更重要的是严谨的治学精神。

惠光伦老师求真务实、专注负责的敬业精神将始终激励和鞭策着我,使我在今后的人生路途中不敢有丝毫的马虎和懈怠。

 

参考文献:

[1] 张孝祥.深入Java Web开发内幕——核心基础[M].北京:

电子工业出版社.北京.06年 

[2] 黄杰湘制作,《mysql中文参考手册》,网络电子书, 

[3] 数据库应用系统开发实例  曹红根  清华大学出版社 09年 

[4] 张吉才.Java Web 应用开发教程[M].北京:

科学出版社,2008.7

[5] 唐汉明. MYSQL数据库开发[M].北京:

人民邮电出版社,2008

[6] 邱加永. Jsp案例开发[M].北京:

清华大学出版社,2009 

[7] 王珊、萨师煊.数据库系统概论[M].北京:

高等教育出版社,2006.5 

[8] Bruce Eckel著,陈昊鹏译.Java编程思想(第三版)[M].北京:

机械工业出版社,2007.6 

[9] 王行言.Java语言与面向对象程序设计[M].北京:

清华大学出版社,2007.11

 

附件:

1.数据库的连接

publicclassEmpDaoImplimplementsEmpDao{

privateConnectionconn=null;

privateStatementst=null;

privateResultSetrs=null;

//数据库的连接

publicvoidgetConnection(){

try{

Class.forName("oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection(

"jdbc:

oracle:

thin:

@localhost:

1521:

orcl",

"scott","tiger");

}catch(ClassNotFoundExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

publicvoidgetStatement(){

this.getConnection();

try{

st=conn.createStatement();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

publicvoidcloseDBConnection(){

try{

if(conn!

=null){

conn.close();

}

if(st!

=null){

st.close();

}

if(rs!

=null){

rs.close();

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

2.增加学生验证学号是否存在

functionones(obj)

{

varnumbers=obj.value;

answerdwr.studentNu(numbers,function(str){

dwr.util.se

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1