1、毕业设计(论文)专用纸第页毕业设计论文在线考试系统的设计与实现学生学号学生姓名学院名称专业名称指导教师2013年11月20日毕业设计(论文)专用纸第页摘要在线考试系统旨在实现在线考试中阅卷过程的计算机化。在线考试通过网络进行,可以有效提高教学考试的效率,减少教师的工作量,有助提高教学质量。本文所述的在线考试系统包括试题库管理、考生及教师信息管理、在线制作试卷、控制学生考试时长的设置、试卷状态修改等功能。本论文主要介绍了对JAVA在线考试系统的分析、设计和开发的全部过程。全文共分为开发背景和目的、需求分析、关键技术、系统设计、系统实现,结论六部分。开发背景和目的中主要介绍开发在线考试系统的应用背
2、景和目的、开发方案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与其他用到的技术;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;系统实现部分主要是功能模块的分析、整体页面的设计、代码的设计;结论部分是自己开发的一些感想和遇到的一些问题。关键词JAVA;在线考试;J2EE;STRUTS2毕业设计(论文)专用纸第页ABSTRACTTHEONLINEEXAMSYSTEMDESIGNEDTOACHIEVETHECOMPUTERIZATIONOFTHEONLINEEXA
3、MMARKINGPROCESSONLINEEXAMINATIONTHROUGHTHENETWORK,CANEFFECTIVELYIMPROVETHETEACHINGEFFICIENCYOFTHEEXAMINATION,TOREDUCETHEWORKLOADOFTEACHERSTOHELPIMPROVETHEQUALITYOFTEACHINGDESCRIBEDINTHISARTICLEONLINEEXAMMARKINGMANAGEMENTSUBSYSTEMINCLUDESATESTLIBRARYMANAGEMENT,CANDIDATESANDTEACHERS,INFORMATIONMANAGEM
4、ENT,ONLINEPRODUCTIONOFPAPERSETTINGSINTHECONTROLSTUDENTSEXAMINATIONPAPERSSTATECHANGEFUNCTIONTHISPAPERINTRODUCESTHEJAVAONLINEEXAMMARKINGMANAGEMENTSUBSYSTEMANALYSIS,DESIGNANDDEVELOPMENTPROCESSTHEFULLTEXTISDIVIDEDINTOADEVELOPMENTBACKGROUNDANDOBJECTIVES,REQUIREMENTSANALYSIS,KEYTECHNOLOGIES,SYSTEMDESIGN,S
5、YSTEMIMPLEMENTATION,THECONCLUSIONOFSIXPARTSINTRODUCESTHEDEVELOPMENTBACKGROUNDANDPURPOSEOFTHEAPPLICATIONBACKGROUNDANDPURPOSEOFTHEDEVELOPMENTOFONLINEEXAMINATIONSYSTEM,THETECHNOLOGYSELECTIONANDDEVELOPMENTFRAMEWORKFORTHEDEVELOPMENTOFPROGRAMSTODETERMINETHEFUNCTIONOFEACHMODULEOFTHEOVERALLDEMANDFORONLINEEX
6、AMINATIONSYSTEMANDSYSTEMNEEDSNEEDSANALYSISKEYTECHNOLOGYTOBEADDRESSEDINTHECONCRETEREALIZATIONOFANUMBEROFTECHNICAL,SUCHASTHEDEVELOPMENTFRAMEWORKFORTHEINTEGRATIONOFTECHNOLOGYANDDEVELOPMENTFRAMEWORKWITHOTHERTECHNIQUESUSEDSYSTEMDESIGNINTRODUCESTHEGUIDINGIDEOLOGYOFTHESYSTEMDESIGN,DATABASEDESIGN,SYSTEMMODU
7、LEDESIGNSYSTEMTOACHIEVESOMEOFTHEMAJORANALYSISOFFUNCTIONALMODULES,THEOVERALLPAGEDESIGN,THEDESIGNOFTHECODECONCLUSIONDEVELOPEDSOMEFEELINGSANDSOMEOFTHEPROBLEMSENCOUNTEREDKEYWORDSJAVAONLINEEXAMINATIONJ2EESTRUTS2毕业设计(论文)专用纸第页目录1绪论611选题的背景和意义612国内外研究现状613本论文的主要内容与结构72系统的开发环境及技术简介821系统开发环境8211MYECLIPSE8212M
8、YSQL822系统开发的思想与技术9221JSP技术与MVC模式9222JQUERY技术9223AJAX技术93系统分析1131需求分析1132任务概述1133数据流程图12331顶层数据流程图12332学生数据流程图12333教师数据流程图13334管理员数据流程图144系统总体设计1641总体功能模块1642管理员功能模块16421用户信息管理子模块17422科目和题库管理子模块17423试卷管理子模块18424其他管理子模块1943教师管理功能模块20431阅卷管理子模块2044学生管理功能模块21441考试管理子模块215系统详细设计与实现2351设计思想概述2352数据库设计2452
9、1概念模型设计24毕业设计(论文)专用纸第页522数据库逻辑模型27523数据库表结构2753部分功能模块的设计与实现29531用户信息管理子模块29532题库管理子模块33533试卷管理子模块35524阅卷管理子模块37525考试管理子模块406系统测试4361开发期测试4362功能测试44621测试策略44622测试用例45623测试结果47结论48致谢50参考文献51毕业设计(论文)专用纸第页1绪论11选题的背景和意义在线考试并不是一个新概念,可以说,在几十年前主机系统出现时就诞生了。近年来,INTERNET的出现给了在线考试系统以新的活力,基于网络的在线考试系统已经成为一个新的热点。在
10、线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现学生学习的自动化。教师所要做的只是精心设计题目、维护题库,从而大大减轻了工作量。学习者可以不受时间、空间和地域的限制,在任何时间、任何地点都可以通过网络自主测试。我们研究的在线考试系统,改变原有的同步交互为异步交互方式,使页面在后台按需获取数据,前台进行局部刷新,不仅节省了带宽,同时提高了网络响应速度,大大提升了用户体验。建立该系统有两个主要原因第一,为同学们的学习提供了便利,从而也通过这个在线测试系统,来提高在校大学生的自主学习能力;第二,减少老师们批改作业的工作量,同时也让老师们对自己的
11、学生们在掌握知识的程度方面有更好的评估,从而提高老师的讲课质量,最终达到学生和老师互利双赢的良好教学成果。12国内外研究现状教育信息化工作是目前教育改革和发展的主旋律之一,考试是教学过程中的一个重要环节。如何充分利用计算机,构建一个具有开放性、实用性和灵活性的在线测试系统,是一个值得探讨的课题。纵观国内外教育,从90年代末开始,在短短的十几年时间里,实行网络教学的理念早己经成为教育界的一大研究热点,研发人员和教育者对网络教学平台的开发也处于不断地探索和发展之中,从最开始的单一的网络教学,逐步发展成为一种集合网络教学和在线考试系统的综合系统。随着网络的不断发展,多媒体网络技术也越来越趋向于成熟,
12、网络能够实现实时地检索在线教学内容,部分网上学习系统能根据学生的要求简单选择教学的内容,对学生的学习进行一定的评估测试,而这里,我就开发一个在线考试系统,用来进行测试分析。当然,随着技术及学校和学生需求的不断提高,考试的形式也变的多种多样,网络上的学习及考试种类都在不断增加,并且网络速度也是一个不得不关注的问题;例如现行城市里的交通堵塞,需要交通灯疏通,而网络堵塞时又该如何解决呢为此,我们需要毕业设计(论文)专用纸第页一个可以解决网络堵塞的技术AJAX技术,该技术的特点是不必刷新整个页面,而是只是针对页面的局部进行更新,这样就减少了数据的流通,从而可以节省网络带宽、提高网页加载速度,减少用户在
13、线等待时间,改善操作体验,是一个强大的客户端脚本库的网站技术开发包。本课题设计的基于AJAX技术的在线考试系统,充分利用了AJAX的各项技术特点,结合JAVA的各项技术,实现了系统所需的各项功能。13本论文的主要内容与结构本论文在第二章论述系统开发平台以及相关技术,包括JSP技术,MVC模式,SSH框架,JQUERY框架技术,AJAX技术。第三章是系统分析,分别画出了顶层数据流程图,其他功能模块的数据流程图。第四章是系统功能设计,分别描述了总体功能模块,管理员功能模块,教师功能模块和学生功能模块。管理员功能模块包括科目管理的功能,用户管理的功能,成绩管理的功能,试题库管理的功能,试卷管理的功能
14、;教师管理模块包括改卷管理的功能,成绩管理的功能,以及成绩管理的功能;学生管理模块在线测试的功能,错题集管理的功能,历史试卷管理的功能,以及成绩查询等功能。第五章论述了系统详细设计与实现,系统模块结构设计,数据库设计中的数据库ER图,数据库关系模型,数据库表结构。第六章是系统的运行和测试,最后是结束语和参考文献。毕业设计(论文)专用纸第页2系统的开发环境及技术简介21系统开发环境211MYECLIPSE在开发本系统所用到的开发工具为MYECLIPSE。MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的一
15、种扩展,利用MYECLIPSE,我们可以在数据库和J2EE的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MYECLIPSE是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSP,CSS,JAVASCRIPT,SQL,HIBERNATE。从结构角度来讲,MYECLIPSE具有以下特征,分别是J2EE模型、EJB开发工具、WEB开发工具、应用程序服务器的连接器、J2EE项目部署服务、数据库服务、MYECLIPSE整合帮助等。简单来说,MYECLIPSE就是ECLIPSE的插件,也是一款功能强大的J2EE集成开
16、发环境,支持代码编写、配置、测试以及除错。212MYSQL数据库使用的是业界流行使用的MYSQL开源数据库。数据库MYSQL具有的特性第一,MYSQL使用C和C语言开发而成,而且用多种编译器进行测试过,这样就保证了源码的可移植性。第二,它可以运行在多种操作系统上,比如LINUX、SOLARIS、WINDOWS等。第三,MYSQL为C、C、EIFFEL、JAVA、PERL、PHP、PYTHON、RUBY和TCL等编程语言提供了应用程序接口。第四,支持多线程充分利用CPU资源。第五,优化的SQL查询算法,有效地提高查询速度。第六,MYSQL能够作为一个单独的应用程序应用在客户端服务器网络环境中,同
17、时也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码方法有中文的GB2312和BIG5等。第七,提供多种连接数据库的方法,例如通过TCP/IP、ODBC和JDBC等方式。MYSQL以其自身的许多优点,它有着很广泛的应用。相比其他的大型数据库ORACLE、DB2、SQLSERVER,MYSQL也有许多不足之处,比如规模较小、功能不是很强大等,但是这对于一般的个人客户和中小型企业来说,MYSQL提供的功能已经完全能够满足,除此之外,MYSQL是开源软件,所以可以大大降低软件开发成本。毕业设计(论文)专用纸第页22系统开发的思想与技术221JSP技术与MVC模式本系统采用JSP技术,基于
18、MVC模式开发,使用SSH框架(STRUTS2、SPRING、HIBERNATE)来增加系统的开发速度。所谓的MVC模式是“MODELVIEWCONTROLLER“的缩写,中文翻译为“模式视图控制器“。程序就是用STRUTS2和HIBERNATE这两个框架来实现模式和控制器这两层,JSP实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,JSP页面请求先到ACTION,再到DAO,再回到ACTION,回到JSP页面,ACTION主要处理来自页面的请求,DAO主要是和数据库的交互,STRUTS2主要用在ACTION,处理来自页面的请求,处理完请求后跳转回页面。HIBERNATE主要用
19、在DAO,包括对数据库的增、删、改、查的操作,SPRING控制程序的流程。222JQUERY技术本系统采用JQUERY框架来对AJAX进行封装,运用JQUERY框架为系统提供AJAX技术的交互。JQUERY是继PROTOTYPE之后又一个优秀的JAVASCRPT框架。它是轻量级的JS库压缩后只有21K,它兼容CSS3,还兼容各种浏览器(IE60,FF15,SAFARI20,OPERA90)。JQUERY使用户能更方便地处理HTMLDOCUMENTS、EVENTS、实现动画效果,并且方便地为网站提供AJAX交互。JQUERY还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时
20、还有许多成熟的插件可供选择。JQUERY能够使用户的HTML页保持代码和HTML内容分离,也就是说,不用再在HTML里面插入一堆JS来调用命令了,只需定义ID即可。223AJAX技术AJAX是(ASYNCHRONOUSJAVASCRIPTANDXML)的简写,它并不是单纯的一种技术,而是由几种蓬勃发展的技术以新的强大方式组合而成。主要有三部分组成DHTML(动态HTML)、XMLHTTPREQUEST、SERVERFILES(服务器文件)。DHTML过滤用于在页面上显示的数据,在这当中,AJAX用XHTML来制作内容,用CSS来制作外观,用DOM和JAVASCRIPT来制作动态内容显示;XML
21、HTTPREQUEST主要通信代理,在服务器和页面间传送数据,进行异步数据的交互,是实现AJAX应用的核心技术。AJAX技术最大的优点就是页面无刷新,在页面内与服务器通信,给用户的体验非常好,这一优点在本系统中也有很好的体现,例如管理员的试题添加与筛选试题的功毕业设计(论文)专用纸第页能等等。AJAX技术之中,最核心的技术就是XMLHTTPREQUEST,主要是通过ACTIVEX组件来创建XMLHTTPREQUEST对象。本系统中判断浏览器类型也是运用了该对象。XMLHTTPREQUEST对象是整个AJAX开发的基础,提供了客户端和服务器端进行异步通信的能力。一方面它向服务器提交一个请求,获取
22、指定的内容;另一方面将指定的数据提交到服务器端。XMLHTTPREQUEST对象由JAVASCRIPT创建并使用,客户端可以只从服务器端获取需要的信息,通过与DOM和CSS的结合,可以实现局部刷新;同时还可以通过XMLHTTPREQUEST对象异步提交信息,将输入的数据在后台提交到服务器而无需每次刷新页面,也不用每次都将数据处理的工作都交给服务器来做;这样既减轻了服务器负担又加快了响应速度、缩短了用户的等待时间。毕业设计(论文)专用纸第页3系统分析31需求分析通过调查分析,在线考试系统主要包括教师、管理员、学生。我重点调查分析的三种用户的职能。其中管理员主要负责教师、学生以及管理员用户信息的添
23、加、修改和删除操作,以及科目、试题的添加、删除和修改操作,并创建试卷,同时也具有查看成绩以及修改个人信息的功能。教师主要根据学生考好的试卷进行阅卷,查看学生考试试题,以及学生测试成绩生成的检查和修改操作,同时也具有查看学生成绩以及修改个人信息的功能。学生主要是负责在线测试并且可以在线查看自己提交的试卷答案,学生可以在成绩查询一栏中查看自己的成绩,同时也具有修改个人信息的功能。在考试系统的设计和实现过程中,为了使系统便于管理和保障系统的安全性,在线测试系统中编辑设计了管理员登录,并且在添加管理员信息的时候,管理员必须先验证自己的用户名密码,再进行添加。管理员在添加用户信息时,将用户的登录密码默认
24、设置为该用户登录的账号,因此用户登录后,可以先修改自己的登录密码,以保证个人账户的安全性。学生登录后可以选择自己测试的课程,选用考卷卷进行考试,测试完成后可以查看自己的试题和分数;查询考过课程的历史试卷。为了方便管理员对系统的管理,还特地为用户、科目和试题这三栏添加的搜索功能,以方便管理员查找,并且对其进行各项操作。32任务概述1)由于考试对应的是特定的对象,所以系统需要经过身份验证才可以登陆相应的主页。2)系统的权限分为三种管理员,老师和学生。不同的身份使用不同的权限和功能。3)教师权限的老师需要参与阅卷,查看和修改学生的成绩等等。4)管理人员需要对教师和考生账号进行有效的管理,并负责试题的
25、收录及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。要注意的是,鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的。5)系统要有良好的试卷提交功能,确保信息传送的正确性。6)系统要有一个亲和的界面,这样才能确保考生考试的顺利进行。毕业设计(论文)专用纸第页7)因为试卷中的主观题需要老师批改,需要教师阅卷以后才能查询到成绩。但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己客观题的成绩了。8)系统提供对考生成绩的查询和历史试卷的查询等管理功能。9)系统应具有一定的安全性管理33数据流
26、程图331顶层数据流程图顶层数据流程图说明了系统与其外部环境中各实体之间的信息交流。如图31所示,在线测试系统的外部实体主要有教师、管理员和学生。系统管理人员通过添加教师学生等信息,以及添加测试科目与教师学生建立关系。学生通过在线测试与教师建立关系。并且教师可以评阅学生的试卷,评阅成功之后,系统将自动统计老师给的分数,给出学生的总成绩,学生也可以通过成绩查询来查看自己的成绩。图31顶层数据流程图332学生数据流程图管理员在线考试系统学生参加考试给出试卷修改成绩教师查看成绩查看试卷修改个人信息查看个人信息提交试卷提交阅卷修改个人信息查看个人信息查看成绩添加修改删除用户添加修改删除试题查看用户查看
27、试题添加修改删除试卷查看试卷添加修改删除科目毕业设计(论文)专用纸第页首先学生开始测试,需要登陆系统。此时需要读取学生信息表匹配用户名密码是否正确。然后开始进入系统进行测试。学生可选择试卷名称,从而生成试卷。当提交之后,生成成绩并显示答案,系统自动判断试卷的选择和判断题,并且学生的考试记录将被提交到考试试题记录表中。其他题型将由老师进行阅卷后产生,并且把该学生的成绩提交到考试阅卷信息表,之后学生可以查看成绩,并且可以查看自己的历史试卷,当学生要查看自己的历史试卷时,系统将从考试试题记录表中取出考生曾考过的试题。学生用户信息表登录系统读取用户和密码登录试卷题库信息表试卷信息表参加考试生成试卷考试
28、阅卷信息表生成成绩提交试卷信息提交试卷查询成绩查看读取成绩考试试题记录表历史试卷管理读取试题查看教师提交阅卷结果阅卷图32学生测试管理数据流程图333教师数据流程图教师登陆该系统以后可以对学生考试产生的试卷进行阅卷,这也是教师部分主要的功能。毕业设计(论文)专用纸第页教师用户信息表登录系统读取用户和密码登录阅卷生成试卷考试阅卷信息表生成成绩查询成绩查看读取成绩考试试题记录表提交阅卷结果阅卷存入图33教师数据流程图334管理员数据流程图管理员可以添加用户,并将该用户信息保存在用户信息表中,以及对学生、教师和管理员用户的信息修改,管理员还可以对试题、科目进行相应的操作,并进行组卷。主要目的是让更多
29、的教师和学生可以更好地使用该在线测试系统。通过让更多的教师和学生参与,才能保证题库的题量更多,学生做试题的次数更多,从而让在线测试系统更好地发展起来。毕业设计(论文)专用纸第页管理员用户信息表登录系统读取用户和密码登录学生用户添加修改删除教师用户组卷组卷存入试题信息表存入添加修改删除试题科目科目信息表存入添加修改删除添加修改删除存入考试试题记录表图34管理员数据流程毕业设计(论文)专用纸第页4系统总体设计41总体功能模块通过了解学校现行的考试流程,和学校教务管理人员进行交谈,获取需求,并据此设计出系统的功能模块。在线考试系统主要有三种用户管理员,教师用户,学生用户。总体功能图41所示图41总体
30、结构图根据对高校正在使用的在线考试系统的实地调查,本系统根据以事物为中心的设计策略,系统主要包括了五个子功能模块还有其他小的功能模块,其中五个主要功能模块分别为在线测试模块、题库管理模块、试卷管理、阅卷管理模块、用户信息管理模块。42管理员功能模块管理员主要有科目和题库管理、试卷管理、用户管理、成绩管理和个人信息管理这五个模块。管理员的功能图如42所示毕业设计(论文)专用纸第页管理员用户管理科目管理试题库管理试卷管理成绩管理个人信息管理图42管理员的功能421用户信息管理子模块用户信息管理模块管理员可以添加用户,并将该用户信息保存在用户信息表中,以及对用户信息进行修改和删除等功能,主要目的是让
31、教师和学生可以使用该在线考试系统。让教师和学生能够更好的使用该系统,完成教育的宗旨。用户管理功能图如43所示图43用户管理的功能422科目和题库管理子模块科目管理的功能主要用于管理科目的信息,管理员可以对科目进行查询、添加、删除和修改操作。科目管理功能图如44所示用户管理管理员用户管理教师用户管理学生用户管理修改密码添加用户删除用户修改用户添加用户删除用户修改用户毕业设计(论文)专用纸第页科目管理查询科目添加科目删除科目修改科目图44科目管理的功能题库管理模块管理员登陆该系统以后可以对在线考试系统的试题题库进行管理。题库管理的功能主要是对添加试题,并将试题保存与题库信息表中,同时也可以对试题进
32、行删除和修改操作。管理员主要包括负责不同科目试题的录入以及对试题进行编辑、修改和删除。如果管理员发现存在一些问题,可以将该试题删除或者修改,这也是该系统主要的功能。这个功能模块是决定生成随机试卷的关键。试题管理的功能主要用于查看当前科目的所有试题,并且可以添加、修改、删除(选择题、判断题、填空题、简单题),试题管理功能图如45所示试试试试试试试试试试试试试试试试试试试试试试试试试试试试试试图45试题管理的功能423试卷管理子模块试卷管理模块该模块,是管理员模块的关键模块之一,管理员可以这里创建考卷,并将考卷保存到试卷信息表中,同时还可以进行修改试卷、删除试卷、使用试卷、停用毕业设计(论文)专用
33、纸第页试卷等操作,当学生登陆在线测试系统以后,选择试卷,便可以进行在线考试了。试卷管理的功能主要是组卷,在试卷管理中,管理员可以创建、修改、删除试卷,并且可以查看、管理试卷里面的试题,对已经有的试卷可以进行状态设置。基本功能图如46所示试卷管理创建修改删除使用添加删除修改分值停用题目管理图46试卷管理的功能424其他管理子模块成绩管理主要用于用户查看成绩和已考考卷的信息。如47所示成绩管理查询成绩查看答卷图47成绩管理的功能个人信息管理主要用于用户修改个人的基本信息。如48所示毕业设计(论文)专用纸第页试试试试试试试试试试试试图48个人信息管理的功能43教师管理功能模块教师主要有阅卷管理、查看
34、学生考卷、修改个人信息这三项功能,在这里我们主要介绍一线教师所特有的阅卷功能。教师总体功能图如49所示教师个人信息管理成绩查询阅卷管理图49教师管理的功能图431阅卷管理子模块阅卷管理模块当学生提交考过的试卷后,试卷将被保存到考试阅卷信息表中,系统将自动批阅选择题和判断题的成绩,填空题和问答题将由教师在改卷管理中评分,给出成绩,从而生成学生的总成绩,并将该学生的成绩保存在数据库中。如果教师在批阅期间发现存在一些问题,可以修改该学生的成绩,这也是该系统主要的功能。教师管理模块主要体现在阅卷管理中,对学生考的试卷的题目进行阅卷,并且对每道题进行评分,评分成功之后,系统将自动计算每道试题的分数,显示
35、试卷的总分。具体功能图410所示毕业设计(论文)专用纸第页阅卷管理进行评分查看考卷图410改卷管理的功能图44学生管理功能模块学生的功能主要有参加考试、查询成绩、个人信息管理这三项主要功能,成绩查询与管理员和老师的成绩管理的功能是一样的。学生总体功能图如411所示学生进行评分查看考卷个人信息管理图411学生管理的功能图441考试管理子模块考试管理模块首先学生开始考试,需要登陆系统。此时需要读取学生信息表匹配用户名密码是否正确。然后开始进入系统进行测试。选择自己要考的试卷名,系统将从试卷信息表中读取试卷信息,学生开始进行考试。当提交时候生成成绩,系统自动评阅试卷的选择题和判断题,并显示选择题和判
36、断题的分数,填空题和问答题,由教师进行批阅改卷后产生,并且把该学生的成绩提交到数据库。参加考试管理功能是该在线测试系统的核心,学生也是通过该功能模块进行在线测试和在线联系的。首先学生登陆进入自己的页面,点击参加考试,点击确定开始考试之后,系统会让你选择卷子,例如系统中所提到的,期末模拟卷1、期末模拟卷2等等,毕业设计(论文)专用纸第页提交之后,系统依然呈现正确答案,和自己的答案,学生也可以查看自己的历史试卷查看自己的错误之处,来加强和提升自己的学习成绩。毕业设计(论文)专用纸第页5系统详细设计与实现51设计思想概述在线考试系统充分利用了BROWER/SERVER结构的特点,实现了将考试系统移植
37、到INTERNET的功能,该系统的优势在于极大的简化了老师出题的工作和学生考试的试题,做到了出题的多样性。目前比较流行的两种网络开发模式分别是CLIENT/SERVER模式与BROWER/SERVER模式。CLIENT/SERVER模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制,并需要事先在客户端机上装载CLIENT端。而BROWER/SERVER模式样通过INTERNET进行通信,可以不受地域和客户端的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,服务器访问速度较慢。从目前的开发技术来看,BROWER端作为信息收集源,特别是大量的数据录入工作BROWER还不
38、能完全取代CLIENT端的用户界面。在大量数据录入工作这方面,CLIENT端的各种开发工具的功能更加强大也更加灵活,相对而言BROWSER端却由于其结构的限定显得过于“瘦小”和不稳定。对于本在线考试系统,其功能目标是实现将现有的纸张答题式考试向基于INTERNET的无纸张考试系统的转变,所以它必须面向整个考试流程,实现对系统不同权限的账号不同管理,以及完成考试、阅卷、评分这些分类环节上的处理。由于本考试系统对数据收集的实时性要求并不高,并且数据的流通量也不是很多,因此采用BROWSER/SERVER结构来进行设计是可行的。图51是本系统的网络应用原理示意图。图51考试系统原理示意图考生浏览器服
39、务器INTERNET统后台数据库毕业设计(论文)专用纸第页52数据库设计521概念模型设计概念模型设计的典型方法是用ER图方法,即用实体联系模型表示。ER方法是用ER图来描述显示世界,ER图包含三个基本成分实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。本在线考试系统ER图如下学生教师试题管理员管理管理管理阅卷用户名ID密码创建时间角色状态真实姓名用户1111NNN图52整体关系ER图图53用户信息的ER图毕业设计(论文)专用纸第页图54试题ER图图55课程信息ER图试卷名ID总分用户ID课程编号状态试卷考生时间使用状态课程名ID状态课
40、程课程IDID题目分数选项D选项C选项B选项A答案状态试题添加时间题型图56试卷信息ER图毕业设计(论文)专用纸第页图57阅卷信息ER图图58考试记录信息ER图状态试卷ID成绩用户ID考试编号阅卷状态阅卷添加时间成绩2状态ID用户ID试题编号试卷编号试题使用分值状态ID试题ID用户ID考试编号得分测试时间题目使用编号答案考试记录点评是否给分毕业设计(论文)专用纸第页图59试题使用信息ER图522数据库逻辑模型课程信息表(课程编号、课程名称)用户信息表(用户编号、姓名、用户名、管理员号、密码、添加时间、用户类型、状态)题库信息表(试题编号、题目、A、B、C、D、答案、创建时间、题型、知识点、正确
41、、错误、课程编号、用户编号)试卷信息表(试卷编号、创建时间、试卷名、考试时间、使用状态、总分、课程编号、用户编号、学院编号)考试阅卷信息表(考试阅卷编号、成绩、成绩2、测试时间、考试编号、阅卷状态、试卷编号、用户编号)考试试题记录表(试题记录编号、测试时间、得分、考试编号、我的答案、题目使用编号、试题编号、用户编号)考试题目使用信息表(题目使用编号、分值、试卷编号、试题编号、用户编号)523数据库表结构1用户信息表字段类型长度说明IDBIGINT20主键自动增长USERNAMEVARCHAR255用户名PASSWORDVARCHAR255用户密码TRUENAMEVARCHAR255真实姓名CR
42、EATETIMEDATETIME/添加时间ROLEINT11角色USERLOCKINT11状态2课程信息表字段类型长度说明IDBIGINT20主键自动增长KECHENGMINGVARCHAR255课程名KECHENGLOCKINT11状态毕业设计(论文)专用纸第页3试卷信息表字段类型长度说明IDBIGINT20主键自动增长CREATETIMEDATETIME/添加时间JUANMINGVARCHAR255试卷名KAOSHISHIJIANINT11考试时间SHIFOUSHIYONGVARCHAR255使用状态ZONGFENDOUBLE/总分KECHENGIDBIGINT20课程编号SHIJUANL
43、OCKINT11状态USERIDBIGINT20外键用户编号4考试阅卷信息表字段类型长度说明IDBIGINT20主键自动增长CREATETIMEDATETIME/添加时间CHENGJIVARCHAR255成绩CHENGJI2DOUBLE/成绩2KAOSHIBIANHAOVARCHAR255考试编号ZHUANGTAIVARCHAR255阅卷状态SHIJUANIDBIGINT20外键试卷编号USERIDBIGINT20外键用户编号5考试试题记录表字段类型长度说明IDBIGINT20主键自动增长CREATETIMEDATETIME/测试时间DEFENDOUBLE/得分KAOSHIBIANHAOVAR
44、CHAR255考试编号WODEDAANVARCHAR255我的答案SHIJUANITEMIDBIGINT20题目使用编号SHITIIDBIGINT20外键试题编号USERIDBIGINT20外键用户编号毕业设计(论文)专用纸第页DIANPINGVARCHAR255点评SHIFOUGEIFENVARCHAR255是否给分6考试题目使用信息表字段类型长度说明IDBIGINT20主键自动增长FENZHIDOUBLE/分值SHITIIDBIGINT20外键试题编号SHIJUANIDBIGINT20外键试卷编号USERIDBIGINT20外键用户编号SHIJUANITEMLOCKINT11状态7考试题目
45、信息表字段类型长度说明IDBIGINT20主键自动增长AVARCHAR255ABVARCHAR255BCVARCHAR255CDVARCHAR255DCREATETIMEDATETIME/创建时间SHITILOCKINT11状态DAANVARCHAR255答案LEIXINGVARCHAR255题型ZHISHIDIANVARCHAR255知识点WENTIVARCHAR255题目KECHENGIDBIGINT20外键课程编号USERIDBIGINT20外键用户编号53部分功能模块的设计与实现531用户信息管理子模块功能设计毕业设计(论文)专用纸第页用户信息管理子模块首先要登录系统,验证用户身份,判
46、断是否是管理员,是管理员则进入管理员端,管理员可以管理学生和教师账号,管理员可以先添加账号,然后修改、删除账号,这里就需要把账号信息显示在页面上,才能实现操作。登录系统首先进入一个登录到用户登录界面,根据身份的不同可以登录相应的界面。从数据库中判断用户名是否合法,用户密码,用户类型是否正确,若果都正确,用户是管理员则进入管理员端,用户是教师则进入教师端,用户是学生则进入学生端,如果用户名或密码错误则提示错误,要求重新登录。该模块的流程图见图510所示。图510登录系统流程图界面设计完成用户管理模块需要登录页面、管理员首页、用户管理界面。登录界面需要账号和密码录入窗口,还需要登录和退出按钮;管理
47、员首页主要左边要有菜单项,主体部分YNN进入相应功能主界面登录密码及用户类型验证用户名及密码操作是否结束退出系统Y开始毕业设计(论文)专用纸第页有欢迎语,还要显示当前登录的管理员名称和退出按钮。用户管理界面要有用户的信息显示和一些包括(添加、修改、删除)操作的按钮。如下图511ABC所示图511A登录页面图511B管理员首页毕业设计(论文)专用纸第页图511C用户管理界面部分实现代码验证登录的部分代码如下PUBLICSTRINGLOGINTHROWSIOEXCEPTIONHTTPSERVLETREQUESTREQUESTSERVLETACTIONCONTEXTGETREQUESTSTRINGU
48、SERNAMEREQUESTGETPARAMETER“USERNAME“STRINGPASSWORDREQUESTGETPARAMETER“PASSWORD“USERUSERUSERDAOSELECTBEAN“WHEREUSERNAME“USERNAME“ANDPASSWORD“PASSWORD“ANDUSERLOCK0“IFUSERNULLHTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“USER“,USERTHISSETURL“INDEX“RETURN“REDIRECT“ELSEHTTPSERVLETRESPONSERESPONS
49、ESERVLETACTIONCONTEXTGETRESPONSE毕业设计(论文)专用纸第页RESPONSESETCHARACTERENCODING“GBK“RESPONSEGETWRITERPRINT“ALERT用户名或者密码错误WINDOWLOCATIONHREFINDEX“RETURNNULL个人信息系统管理主要包括管理员密码修改,学生、教师用户的添加、修改、删除。代码都有点相似之处,所有列举管理员密码修改的部分代码,如下PUBLICSTRINGUSERUPDATEHTTPSERVLETREQUESTREQUESTSERVLETACTIONCONTEXTGETREQUESTUSERBEANUSERDAOSELECTBEAN“WHEREID“REQUESTGETPARAMETER“ID“REQUESTSETATTRIBUTE“BEAN“,BEANTHISSETURL“/WEBINF/MANAGE/USER/USERUPDATEJSP“RETURNSUCCESS532题库管理子模块功能设计题库管理子模块管理员登陆该系统以后可以对在线考试系统的试题题库进行管理。题库管理的功能主要是对添加试题,并将试题保存与题库信息表中,同时也可以对试题进行删除和修改操作。管理员主要包括负责不同科目试题的录入以及对试题进行编辑、修改和删除。如果管理员发现存在