《毕业设计(论文)-网络考试系统的设计与实现(34页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-网络考试系统的设计与实现(34页).doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-网络考试系统的设计与实现-第 27 页重庆科技学院毕业设计(论文) 题 目 网络考试系统的设计与实现 院 系 电气与信息工程学院 专业班级 学生姓名 学号 指导教师 职称 评阅教师 职称 2017年 月 日学生毕业设计(论文)原创性声明本人以信誉声明:所呈交的毕业设计(论文)是在导师的指导下进行的设计(研究)工作及取得的成果,设计(论文)中引用他(她)人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人成果及为获得重庆科技学院或其它教育机构的学位或证书而使用其材料。与我一同工作的同志对本设计(研究)所做的任何贡献均已在论文中作了明确的说明并
2、表示了谢意。 毕业设计(论文)作者(签字): 年 月 日摘 要考试是对学习情况的检测,可以检查学生知识掌握的程度,以便于及时做教学工作的调整,提高教学效果。然而大部分高校测试方式基本采用纸质测试,环节多繁琐而且易出错,然而网络考试系统相对于传统的纸质测试有很多的优势,网络考试则更加灵活高效,提高了工作效率,节约了教师和学生大量宝贵的时间。本毕业设计采用JSP技术,设计并开发一个B/S结构的网络化考试系统。应用MVC模式思想设计系统的架构,系统后台采用关系型数据库MySql和Web服务器。本系统主要包括试题管理、试卷管理、考试管理、阅卷评分、成绩查询统计和用户管理等功能模块。重点在于解决程序设计
3、类课程考试客观题的答题、交卷和评卷功能的设计与实现,同时兼顾编程题的试题管理和考生答题文件的提交问题。试题管理负责课程信息管理、建立题库、试题的维护;试卷管理采用随机抽题的组卷策略。考试管理负责考试的安排、考试过程控制等,例如考试时间的限定和考试二次登录等问题。阅卷评分主要负责主观题的人工阅卷功能。并要求该系统具有界面美观、简洁、实用,可以有效提高教师教学工作的质量和效率。 关键词:网络考试系统 数据库 JSP技术 MVC ABSTRACTExamination is the detection of learning situation, you can check the degree o
4、f knowledge of students in order to facilitate the timely adjustment of teaching work to improve teaching effectiveness. However, most of the university test methods using paper testing, links more cumbersome and error-prone, but the network test system relative to the traditional paper test has a l
5、ot of advantages than the network test is more flexible, more efficient, save the teacher And students have plenty of valuable time.The graduation design using JSP technology, design and development of a B / S structure of the network test system. Application of MVC model design system architecture,
6、 the system background using relational database Mysql and Web server. The system mainly includes questions management, test paper management, examination management, marking score, achievement query statistics and user management and other functional modules. The focus is to solve the program desig
7、n class exam objective questions answer, delivery and marking function design and implementation, taking into account the programming questions of the questions management and candidates to submit the answer to the question. The subject management is responsible for the management of course informat
8、ion, the establishment of the question bank, the maintenance of questions; Examination management is responsible for the examination arrangements, the examination process control, such as the examination time limit and exam secondary login and other issues. Scoring is mainly responsible for the subj
9、ective title of the manual marking function. And requires the system to have a beautiful interface, simple and practical, can effectively improve the quality of teachers teaching and efficiency.Keywords: network test system; database; JSP technology; MVC目 录摘 要IABSTRACTII1 绪 论11.1 研究背景11.2 研究意义11.3 论
10、文概述22 需求分析32.1 功能分析32.1.1 安全性设置32.1.2 题库管理32.1.3 学生考试管理42.1.4试卷管理42.1.5成绩统计42.2 可行性分析42.3系统业务流程以及数据流图53 概要设计93.1系统结构93.1.1系统结构图93.1.2系统功能结构图93.1.3系统环境需求103.2 数据库的设计103.2.1系统概念设计103.2.2系统逻辑设计134 系统详细设计184.1管理员功能模块184.1.1用户管理204.1.2题库管理224.1.3试卷管理244.2 学生功能模块254.2.1学生考试管理264.2.2学生查询成绩294.3 教师功能模块304.3
11、.1教师登录304.3.2教师阅卷304.3.3成绩统计334.4 系统公共模块344.4.1获取当前日期及用户名344.4.2数据分页354.4.3拦截器365系统测试385.1系统测试概念385.2测试举例386 结论41参考文献42致 谢431 绪 论考试是教学工作中的必要环节,以往传统的纸质测试存在诸多的短处,流程繁琐,容易出差错,不但特别浪费人力物力,而且测试的结果完全还不能反应客观情况,存在很大的主观性。然而网络考试系统可以弥补传统纸质测试的短处,通过使用该系统可以使教师教学工作中考试环节的出卷,组卷,阅卷,统计分数等环节更加合理高效,减少出现差错的几率,同时让教师能够更加快速的了
12、解学生的学习情况。现在学校所使用的网络考试系统也存在诸多的问题,比如,操作不方便,没有针对性,界面不友好,响应慢等缺陷,因此开发一套功能齐全、界面友好、具有实用意义的网络考试系统意义重大。基于以上情况,本次系统的开发决定采用B/S架构进行开发,该种架构开发的系统具有很多优点,比如易于更新、便于管理等等,在日常的教学使用中能够很大程度地为教学人员的工作提供便利1。1.1 研究背景考试是各学校的重要教学工作之一,涉及到的参与者有学生和老师,测试的结果对于教学工作调整有很大意义。随着信息技术的发展,虽然有些高校已经在使用一些网络考试系统了,但是数量还是比较少,比如目前我们专业这么多科目,使用网络考试
13、系统的只有英语测试,所以为了能够适应现如今变化越来越快的教育体制改革,提高教学工作的效率,开发出一套功能完备,操作方便简便,流程合理,能让教学工作更好开展的网络考试系统迫在眉睫,然而在国内的情况则不大一样,虽然说目前在国内的一些高校都已经使用了网络考试系统到教学工作中,但是多数的网络考试并不能为教师的教学工作提供很大的支持,原因有很多,一方面可能技术不够成熟,另一方面可能是开发人员对于实际的需求分析得不够细致,开发出来的系统可能只为实现某一功能,没全方位考虑,用户的体验效果不是很好2。1.2 研究意义据实况调查,目前各学校的测试以传统的纸质考试方式为主,而纸质测试由五个阶段的工作完成才能完成测
14、试,第一阶段,教师根据书本的知识点命题;第二阶段,学校或者教师组织将相应试卷印刷出来;第三阶段,教师组织班级学生参加对应考试;第四阶段,教师对学生所考试卷进行评阅;第五阶段,给出学生的成绩,并对学生成绩进行分析。都按照这几个阶段来做,一来给教师的工作带来了很大的繁琐,不利于教师教学工作有效率的开展,二来是人为的主观性,教师自主命题,可能达不到测试不同能力学生的目的,故不能全面考查学生的能力。三来可能会存在试题泄露的可能,所以试卷的保密性不是很高。综上所述,传统的纸质测试方式存在很多短处,已经不能完全适应现代考试的要求了。与传统考试方式相比而言,网络考试的方式具有无可替代的优越性,只需有浏览器和
15、网络就可以完成各科目的测试。网络考试系统突破了现实考试中对地点,时间等各种限制,在有网络和浏览器的前提下考生可以随时随地参加测试,在同一考场可以参加不同种类的考试,而且网络考试系统是采用随机组卷的策略,所以每个学生抽到的相同科目,相同知识点的章节练习题在一定比例上是不一样的,这样可以预防有的学生先做,相互传阅答案的可能性。因为客观题是由系统自动阅卷,所以避免了人为的错误。综上所述,利用该系统可以增加学生学习的自主性,同时方便于教师对考试这一块的管理,更加便捷,不会在组织学生考试这一块浪费很多时间,节约了教师和学生大量宝贵的时间。该系统主要是为了教师和学生提供一个方便,快捷,有效的学习平台,学生
16、可以通过互联网就可以完成测试,教师通过互联网就可以完成阅卷,节约了教师和学生宝贵的时间,从而提高了学习和工作的效率。1.3 论文概述本篇论文分为六章。第一章为绪论,从引言,研究背景,研究意义方面展开介绍。第二章为需求分析,先从系统功能的角度来分析,主要有对系统安全性设置,题库管理,试卷管理,考试管理等功能分析,再从技术和经济方面来进行分析这样设计的系统在开发过程中是否可行,最后根据对系统功能和可行性分析后,设计出该系统的业务流程及数据流图。第三章为系统概要设计,从系统结构和数据库设计来介绍。系统结构主要从系统结构图,系统功能结构图和系统环节需求来展开说明。数据库设计主要从概念机构设计和逻辑结构
17、设计来展开介绍。第四章为详细功能模块设计与实现,本系统有三个用户,从用户的角度来分别介绍相应功能,包括实现该功能的思路,一些主要代码说明及系统界面截图。第五章为系统测试,举了一个例子进行测试。第六章为总结,该部分总结该系统的优点、缺点以及设计的方法。通过这六章来论述开发网络考试系统的设计方法及开发流程。2 需求分析根据对大多数学校考试方式的调查结果显示,学生考试方式仍然是以传统的纸质考试方式为主,要完成一次考试教师必须的完成六个阶段的工作如图2.1所示: 图2.1 纸质考试流程示意图但这样操作起来费时费力,很不方便也很不科学。一来给教师带来了很多繁杂的工作,而且由于工作量比较大,所以容易出错,
18、同时在命题时,存在着主观性,有时不能测试出学生真实的水平。然而使用网络考试系统考生只需有浏览器和网络在系统登录页面考生输入用户名和密码就可以登录进系统参加考试,客观题的评分都是由系统自动完成,这样节约了教师和学生大量宝贵的时间,而且不存在试题泄露的风险。通过该系统,学生只需通过互联网就可以完成测试,教师只需通过互联网就可以完成阅卷,节约了教师和学生宝贵的时间,从而提高了学习和工作的效率。2.1 功能分析2.1.1 安全性设置 用户只有输入正确的用户名和密码才可以登录进系统做相应操作,即使用户直接输入操作页面的网址也不会允许访问,而是提示请先登录,这样一来就提高了系统的安全性,在用户名和密码不匹
19、配时,提示用户并且不允许登录,如果用户名和密码都在数据库中查询到则允许登录到权限内的页面进行操作3。2.1.2 题库管理试卷中的试题是由题库中得来的,所以该系统中必须得有题库,然而题库中的试题在添加之前,先得选择对应的课程,然后再将试题添加进去,试题包括多种类型,同时在题库中可以对试题进行修改,删除。如果只需查看选择题或者其他题型,可以按照题目类型进行查找,便可按查找题型将相应试题遍历出来。如果只想查看某一课程对应的试题,也可以按照课程编号进行查询。 2.1.3 学生考试管理学生在该系统登录页面输入正确的用户名和密码登录进系统之后,在该权限的操作页面选择开始考试模块,确定要考试的试卷后单击开始
20、考试进入到考试页面。考生的试卷采用随机组卷的策略,试卷中的试题又分为主观题和客观题,其中又包含多种题型。因为有时考生参加考试时专注于回答问题,而忽略了时间的分配,所以在考生考试过程中设置有时间监控,在考试页面设置一个时钟倒计时,考试最后10分钟时会弹出一个提示框提示考生离考试结束还有最后10分钟,这样有利于考生加快速度或者再次检查试题,合理分配时间,该时间是从数据库中试卷信息得到的,考试结束后点击交卷4。2.1.4试卷管理为了避免有的学生先参加测试,将试题答案透露的情况,所以将试卷设计为随机组卷策略,当学生进入考试系统时,选择某一课程某一章节进行考试,这时系统后台根据随机组卷的策略将题库里该课
21、程该章节的题进行组卷,试题的类型包括主观题和客观题,同时对各自的题量也进行控制,如此一来,每个学生抽到相同科目相同章节的试题在一定比例上会有所不同。2.1.5成绩统计在传统的纸质测试中,教师要了解学生对某个知识点的掌握情况,还得自己对学生的考试成绩做一个分析,然而该系统中成绩统计是根据考试了某一科试卷所有学生的成绩,做一个条形统计图出来,更加直观形象,能帮助教师快速了解该课程知识点学生的掌握的情况,需要借助一个插件来实现该功能。2.2 可行性分析在准备开发一个系统之前,要对开发过程中涉及的各种因素全面考虑到,并进行分析是否可以满足要求,以此保证系统顺利的开发,所以在开发该系统前时我做了两方面的
22、分析,包括技术可行性分析和经济可行性分析。1) 技术可行性根据所要开发系统要达到的目标来衡量在开发过程中所需要的技术是否都已经具备,一般从硬件方面和软件方面这两方面去分析。考虑到该系统实施的可行性,本系统采用了B/S的体系结构,在软件方面选择了我们经常用到的MyEclipse软件来完成网络考试系统的设计与实现,数据库方面使用了MySql来存储数据,使用Tomcat7作为服务器,以JDK作为运行环境。在硬件方面,随着信息技术的发展,电子产品的更新也比较快,内存基本都在4G以上,硬盘基本都在100GB以上,都可以满足网络考试系统的开发,当然,硬件的配置越高,开发出的系统运行速度越快,综上所述,开发
23、该系统在硬件方面是可行的。因为在平时的练习中使用的数据库软件是MySQL,Java开发软件是Myeclipse,所以对于这里两个工具比较熟悉,安全性和可靠性已经验证过,因此采用这两个软件开发该系统是可行的5。2) 经济可行性经济可行性是指开发一个系统的投资与该系统所带来的经济效益是否成正比,当然能以最低的投资带来最大的效益,这是我们所追求的,如果开发的系统反而给用户带来更重的负担,那做的就是无用功。经济可行性主要是对成本效益进行分析,开发本系统可以减轻教师在教学工作中组织学生考试,阅卷带来的繁琐,即节约了人力又节约了物力,使得工作效益得到很大的提高。2.3系统业务流程以及数据流图根据需求分析得
24、出该系统的用户有管理员,学生,教师,下面从用户的角度来对相应的流程进行分析,教师业务流程如图2.2所示:图2.2 教师业务流程图管理员业务流程如图2.3所示:图2.3 管理员业务流程图学生业务流程图如图2.4所示:图2.4 学生业务流程图学生端的功能分两部分:考试和查询成绩。学生端数据流如图2.5所示:图2.5 学生端数据流图管理员端的功能分四部分:用户管理,课程题目管理,题库管理,试卷管理。管理员端数据流图如图2.6所示:图2.6 管理员端数据流图3 概要设计3.1系统结构3.1.1系统结构图开发本系统采用了三层结构模型,前端为客户端,通过浏览器登录访问部署在Web服务器上的网络考试系统。数
25、据层单独用一个服务器以保证数据访问的安全性。这样的三层结构可以充分利用浏览器资源,减轻网络和客户端机器的负载,维护方便,并且可以在多个平台使用,方便使用各种设备的用户登录6。系统结构如图3.1所示:图3.1系统结构图1) 在本系统中,管理员、教师、学生只需使用浏览器就可以完成在自己权限内的操作。2) 该系统采用的是MySql数据库,数据库中保存了该系统所有的用户、实体的信息以及在考试过程中产生的各种数据。3) 网络考试程序是该系统的核心部件,完成所有的功能和业务逻辑。3.1.2系统功能结构图系统功能模块如图3.2所示:成绩统计图3.2 系统功能模块图3.1.3系统环境需求1) 系统开发环境系统
26、平台:Windows系统平台服务器:Tomcat7.0数据库:MySql开发环境:JDK 1.8开发工具:MyEclipse 10.0开发语言:Java3.2 数据库的设计3.2.1系统概念设计通过对该系统的结构和功能模块的分析,确定出该系统中各实体的属性,用户要使用该系统,首先必须登录。本系统中有三个用户,分别是管理员,学生和教师,他们的实体属性如下图。管理员实体属性如图3.3所示:图3.3管理员实体属性图教师实体属性如图3.4所示:图3.4教师实体属性图学生实体属性如图3.5所示:图3.5 学生实体属性图试卷实体属性如图3.6所示:图3.6试卷实体属性图课程实体属性如图3.7所示:图3.7
27、 课程实体属性图题目实体属性如图3.8所示:图3.8题目实体属性图根据需求分析得出该系统的概念结构设计如图3.9所示:图3.9概念结构图3.2.2系统逻辑设计根据对该系统的需求分析,得出该系统其数据库中一共需要12张数据表,分别是:学生信息表、教师信息表、管理员信息表、课程信息表、试卷信息表、试卷详细信息表、分数信息表、分数详细信息表、测试信息表、题库信息表等等。所有表清单如表3.1所示:表3.1所有表清单名称代码学生信息表studentinfo教师信息表teacherinfo管理员信息表admininfo试卷信息表paperinfo试卷详细信息表paperdetailinfo分数信息表stu
28、scoreinfo分数详细信息表stuscoredetailinfo班级信息表classinfo课程信息表courseinfo测试信息表testinfo题库信息表testdatabaseinfo课程信息如表3.2所示:表3.2 课程信息表明细(courseinfo)名称代码数据类型主键外键课程编号courseIdint是否课程名courseNamenvarchar(50)否否题目编号tmIdint否是教师信息如表3.3所示:表3.3 教师信息表明细(teacherinfo)名称代码数据类型主键外键教师编号teacheridint是否教师姓名teacherNamenvarchar(50)否否密码
29、Passwordnvarchar(20)否否邮箱Emailnvarchar(20)否否职称professionalnvarchar(20)否否题库信息如表3.4所示:表3.4 题库表明细(testdatabaseinfo)名称代码数据类型主键外键题目编号tmIdint是是题干内容tmContentVarchar(200)否否AoptionAVarchar(50)否否BoptionBVarchar(50)否否CoptionCVarchar(50)否否DoptionDVarchar(50)否否正确答案correctAnswerVarchar(50)否否本题分值valueint否否题目类型名tmTy
30、peNameVarchar(50)否否试卷详细信息编号paperDetailIdint否是课程编号courseIdint否是学生信息如表3.5所示:表3.5 学生信息表明细(studentinfo)名称代码数据类型主键外键学生学号stdIdint是否姓名nameVarchar(50)否否密码passwordVarchar(20)否否专业majorVarchar(20)否否性别sexint否否出生日期birthdaydate否否联系电话telVarchar(20)否否邮箱emailVarchar(20)否否班级名称classNameVarchar(20)否否管理员信息如表3.6所示:表3.6管理
31、员信息表明细(admininfo)名称代码数据类型主键外键管理员编号adminIdint是否管理员姓名adminNamenvarchar(50)否否密码passwordnvarchar(20)否否试卷信息如表3.7所示:表3.7试卷信息表明细(paperinfo)名称代码数据类型主键外键试卷编号paperIdint是否试卷名paperNamenvarchar(50)否否总分totleScoreint否否考试时间paperTimeint否否出题人designervarchar(50)否否试卷详细信息如表3.8所示:表3.8 试卷详细信息表明细(paperdetailinfo)名称代码数据类型主键
32、外键试卷详细信息编号paperDetailIdint是否题目编号tmIdint否是试卷编号paperIdint否是总和totleSumint否否学生分数信息如表3.9所示:表3.9学生分数信息表明细(stuscoreinfo)名称代码数据类型主键外键学生分数编号stuScoreIdint是否总分totleScoreint否否阅卷状态stateint否否试卷编号papaerIdint否是学生编号stuIdint否是测试信息如表3.10所示:表3.10 测试信息表明细(testinfo)名称代码数据类型主键外键测试编号testIdint是否测试名称testNamevarchar(50)否否开始时间
33、startTtimedatetime否否截至时间endtimedatetime否否时间限制timeLimitint否否状态stateint否否描述descriptionvarchar(200)否否分数详细信息如表3.11所示:表3.11分数详细信息表明细(stuscoredetailinfo)名称代码数据类型主键外键学生分数详细信息编号studentScoreDetailIdint是否学生答案answervarchar(20)否否正确答案correctAnswervarchar(50)否否试卷详细信息编号paperDetailint否是学生分数编号stuScoreIdint否是正确所得分数co
34、rrectScoreint否否每题所得分scoreForldint否否标记是否阅卷flagint否否4 系统详细设计4.1管理员功能模块管理员功能模块如图4.1所示:图4.1 管理员功能模块图通过对其他对网络考试系统的调查,学生的信息基本都是管理员已经录入到了数据库,同时管理员也可以在页面添加学生信息,使用该系统学生只需登录就行,在登陆之前要先到数据库中查询是否有该学生的信息,如果存在,则允许登录,如果不存在,则提示用户,在本系统中,在登录时有三个用户,所以先给文本框各取一个名字,JavaScript写了个sbmit()函数,根据角色的不同再切换到不同的页面。管理员登录界面如图4.2所示:图4
35、.2 管理员登录页面根据角色不同跳转到不同Action中的login函数处理,代码如下:function sbform() if(document.getElementById(shenfen).value=1) document.getElementById(form1).action=$pageContext.request.contextPath/adminAction_login; document.getElementById(importname).name=adminName; document.getElementById(importpwd).name=password;el
36、se if(document.getElementById(shenfen).value=2) document.getElementById(form1).action=$pageContext.request.contextPath/student/studentAction_login;document.getElementById(importname).name=name;document.getElementById(importpwd).name=password;else if(document.getElementById(shenfen).value=3) document
37、.getElementById(form1).action=$pageContext.request.contextPath/teacher/teacherAction_login;document.getElementById(importname).name=teacherName;document.getElementById(importpwd).name=password;document.getElementById(form1).submit();教师登录主要代码如下:public String login()/1.先查询Teacher findTeacher=teacherSe
38、rvice.login(teacher);if(findTeacher!=null)ActionContext.getContext().getSession().put(loginTeacher, findTeacher);return success;this.addFieldError(,用户名或密码不匹配);return login;4.1.1用户管理管理员可以管理的用户有教师和学生的信息,点击教师管理时,在TeacherAction中将所有教师信息查询出来保存在一个变量中,将此参数传递到显示教师页面,遍历出教师信息,查询所有的教师信息显示出来,同时也可以根据教师的职称,姓名进行条件查找。点击编辑或删除时,要先根据教师编号查找到该条记录,再进行删除或者编辑,因为用的struts2标签,所以自带回显功能,同时做了个分页,这样页面可读性和简洁性增强了。按照教师职称或姓名查找出教师的信息并显示在右边,查询所有教师信息界面如图4.3所示: