基于java的在线考试系统设计_第1页
基于java的在线考试系统设计_第2页
基于java的在线考试系统设计_第3页
基于java的在线考试系统设计_第4页
基于java的在线考试系统设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题目基于JAVA的在线考试系统设计院(系)专业班级学生姓名学号指导教师职称评阅教师_职称_年月日摘要本系统是一个基于JAVA的在线考试系统。它的用户由学生、教师和系统管理员组成。学生登陆系统可以进行在线测试和成绩查询。当学生登陆时,系统会随机地为学生选取试题组成考卷。当学生提交考卷后,系统会自动批改客观题,并将试卷提供给教师查看和提醒教师对试卷主观题进行修改。待教师修改完试卷后,系统会自动生成考生成绩和分数段统计信息。学生可以查询自己的成绩信息和试卷,以便更好地了解自己的学习情况。教师也可以通过分数段统计信息更好地了解学生的学生情况。后台管理员可以对考题,考试设置信息,用户信息进行维护。学生,教师,管理员都可以对个人信息进行维护。本系统采用B/S模式设计,一切操作均在浏览器上进行。系统所用到的技术有HTML,CSS,JAVASCRIPT,JSP/SERVLET等。数据库选用SQLSERVER2005,WEB服务器选用TOMCAT。前台设计主要在DREAMWEAVER上设计完成的,后台开发主要在ECLIPSE上完成的。本文首先对本次没计的背景、设计的意义、设计的可行性等作了一个简单的介绍。其次介绍了此次设计的设计过程,包括需求分析,总体设计,数据库设计,详细设计等内容。最后介绍了系统的功能测试过程和结果分析。关键词在线考试随机抽题SQLSERVERJSP/SERVLETABSTRACTTHISSYSTEMISAONLINEEXAMINATIONSYSTEMANDITISBASESONJAVATHEUSEROFTHISSYSTEMMAKEUPBYSTUDENT,TEACHERANDADMINISTRATORSTUDENTSCANTESTONLINEANDQUERYTHERESULTSOFTESTWHENTHESTUDENTSSUBMITTEDTHETESTPAPERS,THESYSTEMAUTOMATICALLYCORRECTSTHEOBJECTIVEQUESTIONS,THENSENDTHISTESTPAPERTOTHETEACHERANDREMINDTHETEACHERTOCORRECTTHESUBJECTIVEQUESTIONSWHENTHETEACHERCORRECTEDTHEQUESTIONS,THESYSTEMWILLAUTOMATICALLYGENERATETESTSCORESANDTHESTATISTICALINFORMATIONOFSCORESECTIONSTUDENTSCANQUERYTHERESULTSOFTESTANDTHETESTPAPERSSOTHATTHEYCANBETTERUNDERSTANDTHEIROWNLEARNINGTHETEACHERCANALSOBETTERUNDERSTANDTHELEARNINGOFSTUENTTHROUGHTHESTATISTICALINFORMATIONOFSCORESECTIONADMINISTRATORSCANMAINTAINTHEQUESTIONANDMAINTAINTHETESTSETANDMANAGETHEUSERSINFORMATIONSTUENT,TEACHERANDADMINISTRATORCANMAINTAINTHEOWNINFORMATIONTHESYSTEMUSESTHEB/SMODEL,SOTHATALLTHEOPERATIONSWERECARRIEDOUTINTHEBROWSERTECHNOLOGIESUSEDINTHESYSTEMINCLUDEHTML,CSS,JAVASCRIPT,JSP/SERVLETANDSOONTHEDATABASEOFTHISSYSTEMISSQLSERVER2005ANDTHEWEBSERVICEISTOMCATTHEFRONTMAINLYDESIGNINDREAMWEAVERANDTHEBACKSTAGEMAINLYDESIGNINECLIPSETHISPAPER,FIRSTLY,MAKEABRIEFOFTHEBACKGROUND,THEMEANINGANDTHEFEASIBILITYOFTHISDESIGNTHENDESCRIBESTHEDESIGNPROCESSOFSYSTEM,INCLUDENEEDSANALYSIS,DESIGNSUMMARY,DATABASEDESIGNANDDETAILEDDESIGNLASTDESCRIBESTHESYSTEMFUNCTIONALTESTINGPROCESSANDRESULTSANALYSISKEYWORDEXAMONLINE;RANDOMQUESTION;SQLSERVER;JSP/SERVLET目录摘要IABSTRACTII1绪论111问题的提出112系统开发目标113开发工具的选择114开发本系统的意义12系统分析321背景分析322可行性分析3221技术可行性分析3222经济可行性3223方案可行性43系统设计531需求分析532总体设计6321系统数据流图6322系统的功能模块图7323系统功能模块733数据库设计10331数据字典10332实体关系图12333数据库的连接1334详细设计15341公共类设计15342在线考试模块设计18343成绩查询模块设计22344查看/修改考生试卷模块设计23345分数段统计模块设计26346试题维护模块设计26347考试设置信息维护模块设计29348用户管理模块设计32349个人信息维护模块设计334系统测试3541系统运行环境3542测试目的3543各功能模块测试35431在线考试模块测试36432查看/修改试卷测试37433分数段统计测试38434成绩查询测试39435个人信息维护测试40436考题管理41437考试设置管理测试44438用户管理测试455结论44致谢45参考文献461绪论11问题的提出计算机网络技术的飞速发展以及计算机技术的发展及计算机的日益普及,现在很多国内外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训,从而为在线考试系统发展提供了坚实的基础。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,在我国远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于在线考试与无纸化办公一样已成为大势所趋。在线考试系统也越来越成为学校的好帮手,它的优势不但体现在人力上也体现在物力上,在线考试系统的采用自动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员,提高效率。12系统开发目标该系统是一个基于B/S模式的WEB在线考试系统。它能够从题库中随机抽取试题生成考试试卷,从而有效地避免了考试作弊,相互抄袭的避端。当考试完成后系统能自动地为客观题评分。教师登陆时系统可以还原学生考试试卷,待教师对主观题评完分后系统可以计算出学生总分,并生成各分数段情况信息,供给老师参考,以便能够了解学生的学习情况。13开发工具的选择本系统开发语言为JAVA,从各IDE的性能和价格考虑所使用的开发工具主要是ECLIPSEMYECLIPSE,前台页面主要用DREAMWEAVER来设计。由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用SQLSERVER2005数据库。WEB服务器选APACHE开元组织提供的TOMCAT,因为TOMCAT是一个免费的开元软件是SUN公司推荐的WEB服务器。14开发本系统的意义从电子文档、多媒体的应用,到利用INTERNET做尝试,网络已经渗入到教育体系的各个环节网上考试系统作为这场变革中必不可少的环节之一,受到越来越多的关注网上考试系统不仅和传统考试方式一样要权衡公平性,而且还具有一些新特点1从管理的角度看,在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作,系统实现了无纸化管理,提高了管理的效率;所有的考试数据和其他数据库需要一种主流的方式进行存储和管理,例如使用数据库技术,题库对于每个出题者都只是显示了部分视图,很好地实现了教考分离2在不改变传统考试基本步骤的条件下,只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试题目有一定的稳定性和随机性稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生3考试结果反馈及时准确考试的结果在教师修改考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由考生的考试结果可以被保存下来,供教师进行分析统计和察看。2系统分析21背景分析网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着INTERNET/INTRANET的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,从该题库中抽取一定数量的考题生成考试试卷,从而有效地避免了考试作弊,相互抄袭的避端;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给考生成绩,计算机阅卷给了考生最大的公平感。22可行性分析221技术可行性分析系统开发将要用到JSP/SERVLET、JAVABEAN、SQLSERVER数据库技术。另外,硬件只需要一台PC机,装上软件ECLIPSE,DREAMWEAVER等开发工具,利用SQLSERVER作为后台的数据库,利用TOMCAT作为WEB服务器,所以在这方面来说是可行的。已经掌握了开发考试系统方法和开发工具,并且在调查过程中,已经了解和熟悉了在线考试系统的业务流程。综上所述本系统开发从技术上是可行的222经济可行性从经济效益来分析,软件的开发成本不大,而其它的投入也只是电脑。电脑的普及也带来了低成本投入。由于系统运行的基础环境均已具备,无需重新开发建设,所以系统开发、运行所需的费用是比较低的。而系统的效益很高可以提高管理效率实现计算机化、系统化、规范化操作,效率大于投入,可行性很高。223方案可行性根据系统的分析,本系统充分从适用性出发,全面为不同的使用用户考虑。使系统的许多功能与规则都可根据用户的习惯进行定制,包括软件界面、操作方式、录入方式等。本系统的设计充分从使用用户和教务教学任务考虑。3系统设计31需求分析本考试系统用户主要分为三类学生,教师,管理员。1学生需求学生登陆系统主要进行两类操作在线考试,成绩查询与个人信息管理(1)在线考试系统能自动给考生选题,考题必须是随机分配的,以保证考试的公平性。学生在考试过程中页面将提供考试时间倒计时功能,使考生随时了解考试剩余时间。在考试时间到时,系统将自动地将学生考试试卷提交,将提醒考生离开考场。当考试试卷提交时,系统自动为选择题、判断题等客观题评分,主观题由教师评分。(2)成绩查询与个人信息维护学生可以登陆系统查询各科成绩,其中成绩信息包括每种题型的得分,如单选题,简答题等。别外学生还可以查询自己的考卷,了解自己的考试情况。除此之外,学生登陆系统可以查看和修改个人的基本信息,如修改密码等。2教师需求教师登陆系统主要有三类操作查看和修改学生试卷,查看各分数段统计,个人信息的维护(1)查看/修改学生试卷系统会将学生试卷从数据库中读出供给老师查看和修改,系统已经对选择题和判断题评了分,所以这些信息对于教师是只读的。而对于主观题,系统将参考答案读出供给老师参考,再将考生答案读出供给教师评分。(2)查看分数统计教师修改好试卷之后,系统将成绩汇总,生成各分数段统计信息,并提供给老师查看,以便教师能了解学生的学习情况。(3)个人信息维护教师登陆系统之后也可以对个人信息进行查看和修改。3管理员系统管理员登陆系统后主要进行四类操作考题维护,考试信息维护,用户维护和个人信息维护(1)考题的维护管理员可以往题中添加考题,修改错误试题和删除无用试题。(2)考试信息的维护考试信息的维护主要是对于考试设置信息进行维护,这些信息主要是考试总时间,试题数量,各试题分值的分布等。(3)用户维护系统管理员可以对用户信息(包括学生信息,教师信息等)进行增,删,改查操作。(4)个人信息维护管理员也可以对自己的基本信息的维护32总体设计321系统数据流图据分析系统数据流图如图31所示管理员8用户管理7考试设置维护6考题维护考题信息考试设置信息用户信息学生1在线考试试卷信息4批改学生试卷成绩信息2成绩查询3个人信息维护教师5分数段统计学生信息考题信息考试设置信息试卷信息批改试卷指令成绩信息考生信息成绩信息成绩信息查看请F求成绩信息分数段统计信息考题维护请求添加考试信息更新考试信息维护请求更新考试设置添加考试设置用户管理请求添加用户更新用户个人信息更新个人信息试卷信息图31系统数据流图322系统的功能模块图根据31所述需求,设计出系统功能模块如图32所示在线考试系统学生在线考试成绩查询个人信息维护教师查看学生试卷分数段统计个人信息维护批改试卷主观题管理员考题维护考试信息维护用户管理个人信息维护图32系统的功能模块图323系统功能模块1、在线考试在线考试的流程如下首先系统按照一定的算法为登陆的考生随机选取一定的试题生成考试试卷,考生在系统生成好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。考生在试卷提交后系统自动地为客观题进行评分,本系统的客观题主要是单选题,多选题和判断题。其数据流图如33所示。11生成试卷考题信息考试设置信息12在线考试13试卷提交14客观题评定试卷信息考题信息考试设置信息试卷信息试卷信息学生信息试卷信息试卷信息图33第2层在线考试数据流图2、成绩查询考生根据用户编号查询考试成绩信息。成绩信息包括单选题得分,多选题得分等详细信息。页面提供对相应科目试卷的链接,使得学生还可以查询自己的考卷,了解自己的考试情况。3、查看/修改考生试卷系统首先将考生的试卷读出,再提提醒老师对主观题进评分,等老师对主观题进行评分后系统生成考生的成绩信息,其数据流图如图34所示。41读出考生试卷试卷信息42评定主观题43信息提交成绩信息试卷信息试卷信息试卷信息批改请求试卷信息图34第2层修改学生试卷数据流图4、分数段统计当教师对考卷的主观题评定后,系统能自动生成分数段统计信息供给老师查看。此功能有助于老师了解学生的学生情况,以便更好的教学。5、试题维护试题维护是后台管理员的重要功能,它包括对试题的添加,修改,删除操作。为了使界面更友好,管理员在试题维护时系统会先将考试试题读出,再提供给管理中员操作。其数据流图如图35所示61查看考题信息考题信息62添加考题信息62更新考题信息考题信息考题维护请求考题信息考题信息考题信息考题信息考题信息图35第2层考题维护数据流图6、考试设置信息维护考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。这些考试信息包括考试时间,各题的数量和分值等。其数据流图如图36所示。71查看考试设置信息考试设置信息72添加考试设置72更新考题设置考试设置信息考试设置维护请求考试设置信息考试设置信息考试设置信息考试设置信息考试设置信息图36第2层考试设置信息维护数据流图7、用户管理用户管理是管理员对系统用户信息的管理。这些用户包括学生和教师。用户管理操作包括添加用户,更新用户和删除用户。管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。其数据流图如图37所示。81查看用户信息用户信息82添加用户信息82更新用户信息用户信息用户管理请求考试设置信息用户信息用户信息用户信息用户信息图37第2层用户管理数据流图8、个人信息维护学生,教师,管理员都可以对个人信息进行维护。维护操作包括对个人基本信息进行修改,修改密码等。系统能提供极为友好的界面方便用户操作。33数据库设计331数据字典通过对系统功能的分析可知,本系统主要包括如下的数据库信息(1)用户表,该表保存了系统用户的基本信息,属性有用户编号、用户名称、用户类型、用户性别。其中用户编号为主码,它是用户信息的唯一标识。表结构如表31所示。(2)考生标记表,该表用于保存考生是否已经考试的标识信息,属性有用户编号、课程名称、标识信息。其中用户编号和课课程名称共同作为主码。表结构如表32所示。(3)考题表,该表用于保存考题的基本信息,属性有考题编号,课程名称,考题类型,题目级参考答案等。其中考题编号为主码。表结构如表33所示。(4)试卷设置表,该表用于记录相应课程的考试设置的相关信息,属性有课程名称,单选题、多选题、判断题、简答题、编程题数量和分值,考试时间等。其中课程名称为主码。表结构如表34所示。(5)试卷表,该表用于保存考生的试卷信息,属性有考生编号,课程名称,考题类型,考生答案和得分等。其中考生编号和课程名称共同作为主码。表结构如表35所示。(6)成绩表,该表用于保存考生的考试成绩信息,属性有考生编号,课程名称,各考题得分,总得分。其中考生编号和课程名称共同作为主码。表结构如表36所示。系统表结构如下表31用户表USERINFO字段类型允许为空说明备注UIDVARCHAR10否用户编号PKNAMEVARCHAR50否用户姓名UTYPEINT否用户类型1为学生,2为教师,3为管理员PASSWORDVARCHAR10否密码SEXVARCHAR2是性别表32用户标记表USERFLAG字段类型允许为空说明备注UIDVARCHAR10否用户编号PKCOURSEVARCHAR20否课程名称PKFLAGINT否用户标记0试卷未提交1试卷已提交表33考题表QUESTION字段类型允许为空说明备注QIDINT否考题编号PK自增长QTYPEINT否考题类型1单选题2多选题3判断题4简答题5编程题COURSEVARCHAR20否课程名称QUESTEXT否题目KEYAVARCHAR50是选项AKEYBVARCHAR50是选项BKEYCVARCHAR50是选项CKEYDVARCHAR50是选项DANSWERTEXT否参考答案表54考试设置表TESTSET字段类型允许为空说明备注COURSEVARCHAR20否科目PKSINCINT否单选题数PERSININT否每个单选题的分值MULCINT否多选题数PERMULINT否每个多选题的分值JUDGEINT否判断题数PERJUINT否每个判断题的分值JDINT否简答题数PERJDINT否每个简答题的分值PROGRAMINT否编程题数PERPROINT否每个编程题的分值TOTALTIMEINT否考试时间表55试卷表TEST字段类型允许为空说明备注UIDVARCHAR10否用户编号PKQIDINT否考题编号PK题库中的题号COURSEVARCHAR(20)否课程名称QTYPEINT否考题类型1单选题2多选题3判断题4简答题5编程题ANSWERTEXT是考生答案TNUMBERINT否题目编号试卷中的第几题SCOREFLOAT是得分表56成绩表TEST字段类型允许为空说明备注UIDVARCHAR(10否用户编号PK)COURSEVARCHAR(20)否课程名称PKSCOREFLOAT否总得分SINGLEFLOAT否单选题得分MULTIPLYFLOAT否多选题得分JUDGEFLOAT否判断题得分JDFLOAT否简答题得分PROGRAMFLOAT否编程题得分332实体关系图据分析系统实体关系图如图38所示用户用户编号用户名称用户类型密码性别用户标记用户编号课程名称标记考题考题编号考题类型课程名称题目选项C选项B选项A选项D参考答案课程名称单选题数量试卷用户编号课程名称考题编号题目编号考生答案得分考题类型成绩用户编号课程名称单选题得分多选题得分判断题得分简答题得分编程题得分总得分标记考试生成考试生成111NN1NN1考试设置单选题分值多选题数量多选题分值判断题数量判断题分值简答题数量简答题分值编程题数量编程题分值编程题分值考试时间标记参照1NN1N图38系统ER图系统各实体关系如下用户用户标记1N考试设置用户标记1N考题考试设置N1考题试卷1N用户试卷1N试卷成绩N1用户成绩1N333数据库的连接在本系统中我们使用JDBCODBC桥连接,要进行数据库连接首先要配置数据源。按331和332的设计,设计好数据库EXAMONLIE,再建一个名为EXAMONLINE的数据源。系统连接数据库的流程图如图39所示开始注册驱动建立连接找到数据源操作数据库关闭连接结束抛出异常是否图39系统连接数据库流程图建立数据库连接和关闭数据库连接操作方法代码及说明如下,这些方法位于DBACCESS类中,当作工具类来用STATIC/静态代码块,在类被实例化时被调用,且只被调用一次TRYCLASSFORNAME“SUNJDBCODBCJDBCODBCDRIVER“/注册驱动CATCHCLASSNOTFOUNDEXCEPTIONETHROWNEWEXCEPTIONININITIALIZERERRORE/得到连接PUBLICCONNECTIONGETCONNECTIONTRYCONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCODBCEXAMONLINE“/获得数据库连接CATCHEXCEPTIONEEPRINTSTACKTRACEOUTPRINTETOSTRINGRETURNCONN/关闭数据库连接PUBLICVOIDCLOSEDBCONNECTIONCONN,STATEMENTSM,RESULTSETRSTRYIFRSNULLRSCLOSECATCHEXCEPTIONEEPRINTSTACKTRACEOUTPRINT“数据库关闭失败“FINALLYTRYIFSMNULLSMCLOSECATCHEXCEPTIONEEPRINTSTACKTRACEOUTPRINT“数据库关闭失败“FINALLYTRYIFCONNNULLCONNCLOSECATCHEXCEPTIONEEPRINTSTACKTRACEOUTPRINT“数据库关闭失败“34详细设计341公共类设计1DOMAIN类设计由于数据库使用的类系统模型,而JAVA数据为对象模型,使得其模型不匹配。为了方便关系模型和对象模型间的转换,建应的DOMAIN类,即数据库中每个表对应一个类,表中类属性对应表的各属性,再为各个属性设计一个读方法(GET)和一个写方法(SET)如用户类PUBLICCLASSUSERPRIVATESTRINGID“PRIVATESTRINGNAME“PRIVATEINTTYPE1PRIVATESTRINGPASSWORD“PRIVATESTRINGSEX“PUBLICSTRINGGETSEXPUBLICVOIDSETSEXSTRINGSEXPUBLICSTRINGGETPASSWORDPUBLICVOIDSETPASSWORDSTRINGPASSWORDPUBLICSTRINGGETIDPUBLICVOIDSETIDSTRINGIDPUBLICSTRINGGETNAMEPUBLICVOIDSETNAMESTRINGNAMEPUBLICINTGETTYPEPUBLICVOIDSETTYPEINTTYPE表和类的对应关系如下用户表(USERINFO)用户类(USER)用户标记表USERFLAG用户标记类USERFLAG考题表(QUESTION)考题类(QUESTION)试卷表TEST试卷类(TEST)试卷设置表TEST_SET试卷设置类(TEST)成绩表(RECORD)成绩类(RECORD)试卷考题类(TESTQUESTION)试卷表和考题表联合查询视图2公具类设计根据系统设计需求,设计如下工具类数据库连接工具类,主要提供连接数据操作等相关方法PUBLICCLASSDBACCESS/得到数据库连接PUBLICCONNECTIONGETCONNECTION/并闭数据库连接PUBLICVOIDCLOSEDBCONNECTIONCONN,STATEMENTSM,RESULTSETRS用户操作相关类,主要提供对用户表操作的相关类PUBLICCLASSUSERUTIL/根据用户编号得到用户信息PUBLICUSERGETUSERSTRINGUID/验证登陆信息,根据用户名、密码和用户类型PUBLICBOOLEANCHECKUSERSTRINGUSERNAME,STRINGPASSWORD,INTTYPE/修改用户信息PUBLICBOOLEANMOTIFYUSERUSERUSER/添加用户信息PUBLICBOOLEANINSERTUSERUSERUSER/修改密码PUBLICBOOLEANMOTIFYPASSWORDSTRINGUID,STRINGPASSWORD/得到指定页的用户PUBLICARRAYLISTGETALLUSERINTPAGESIZE,INTCURRENT/得到用户数量PUBLICINTGETCOUNT/删除用户信息PUBLICBOOLEANDELETEUSERSTRINGUID用户标记工具类,主要提供对用户标记表的相关操作方法PUBLICCLASSUSERFLAGUTIL/得到交卷信息PUBLICINTGETFLAGSTRINGUID,STRINGCOURSE/设置交卷信息PUBLICBOOLEANSETFLAGSTRINGUID,STRINGCOURSE考题工具类,主要提供对考题表的相关操作方法PUBLICCLASSQUESTIONUTIL/得到选择题的方法PUBLICARRAYLISTGETQUESTIONSTRINGCOURSE,INTCOUNT,INTTYPE/得到数据库中题目数量PUBLICINTGETCOUNTINTTYPE,STRINGCOURSE/得到数据库中题目数量PUBLICINTGETCOUNT/通过考题编号得到考题PUBLICQUESTIONGETQUESTIONBYIDINTQID/得到指定页的试题目信息PUBLICARRAYLISTGETALLQUESTIONINTPAGESIZE,INTCURRENT/添加试题信息PUBLICBOOLEANINSERTQUESTIOINQUESTIONQUES/修改试题信息PUBLICBOOLEANUPDATEQUESTIONQUESTIONQUES/删除试题信息PUBLICBOOLEANDELETETESTINTQID/获取科目PUBLICARRAYLISTGETCOURSE试卷工具类,主要提供对试卷表的相关操作方法PUBLICCLASSTESTUTIL/添加试卷信息PUBLICBOOLEANINSERTTESTARRAYLISTAL/考生的名字和学号PUBLICARRAYLISTGETSTUDENTSTRINGCOURSE/获得试卷库中相应题型的题PUBLICARRAYLISTGETTESTSTRINGUID,STRINGCOURSE,INTTYPE/修改试卷库中相应试题的分数PUBLICBOOLEANUPDATETESTSTRINGUID,INTQID,FLOATSCORE考试设置工具类,主要提供对考试设置表的相关操作方法PUBLICCLASSTESTSETUTIL/根据课程名称得到考试设置信息PUBLICTESTSETGETTESTSETSTRINGCOURSE/计算考题总分PUBLICINTGETTOTALSCORETESTSETTS/获得总记录PUBLICINTGETCOUNT/得到指定页的考试信息PUBLICARRAYLISTGETALLTESTSETINTPAGESIZE,INTCURRENT/添加或修改考试设置,FLAG0为添加,FLAG1为修改PUBLICBOOLEANINSERTORUPDATETESTSETTS,INTFLAG/删除考试设置信息PUBLICBOOLEANDELETETESTSTRINGCOURSE成绩工具类,主要提供对成绩表的相关操作方法PUBLICCLASSRECORDUTILPUBLICDBACCESSDBNEWDBACCESS/获取考生指定课程的得分信息PUBLICRECORDGETRECORDSTRINGUID,STRINGCOURSE/判断学生成绩是否存在PUBLICBOOLEANGETUSERSTRINGUID,STRINGCOURSE/获取及格人数PUBLICINTGETPASSSTRINGCOURSE/获取该课程总考试人数PUBLICINTGETCOUNTSTRINGCOURSE/获分数段人数PUBLICINTGETCOUNTBYSCORESTRINGCOURSE,INTSCORE/得到学生的全部成绩PUBLICARRAYLISTGETALLSTRINGUID试卷考题工具类,主要提供对试卷表考题表联合查询视图的相关操作方法PUBLICCLASSTESTQUESTIONUTIL/获得试卷库中相应题型的题PUBLICARRAYLISTGETTESTSTRINGUID,STRINGCOURSE,INTTYPE342在线考试模块设计在线考试流程为首先系统将考试信息和考生个人信息提供给考生,并要求考生核对个人信息。在考试开始时系统按照一定的算法为登陆的考生随机选取一定的试题生成考试试卷,考生在系统生成好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。考生在试卷提交后系统自动地为客观题进行评分,并将试卷保存,供给老师查看或修改。在线考试流程图如图310所示。随机抽题算法产生一个随机整数,这个数在0和相应题型总考题数之间。从这个随机数开始抽取取试题,抽取数量为试卷设置中相应题型的个数(此数小于总题数),若取到最后一道还不满足取题数量,再从第一题开始选取,其抽题流程如图311如示。开始用户登陆核对个人信息正确开始考试提交试卷生成试卷时间到结束是否是否客观题评定保存试卷保存成功是否图310在线考试流程开始得到相应题型考题总数M产生一个0M的随机数N得到KNM选取数据库中相应题型的第K题,并保存为考题考题数II1I试卷设置中相应题型总数结束N1是否图311选题流程关键代码及说明随机选题操作方法主要代码及说明,此方法位于QUESTUTIL中。些方法输入参数为课程名称COURSE,需要题数COUNT,试题类型TYPE输出为一个包含抽取的试题信息的集合ARRAYLISTPUBLICARRAYLISTGETQUESTIONSTRINGCOURSE,INTCOUNT,INTTYPEARRAYLISTALNEWARRAYLIST/得到课程名称为COURSE,考题类型为TYPE的考题总数INTTOTALCOUNTTHISGETCOUNTTYPE,COURSECONNECTIONCONNNULLPREPAREDSTATEMENTPSNULLRESULTSETRSNULL/随机产生一个0总题数之间的随机整数INTTEMPINTMATHRANDOMTOTALCOUNTTRYCONNNEWDBACCESSGETCONNECTIONFORINTI0I一、单选题共题,每题分“VALUE“VALUE“A“/AVALUE“VALUE“B“/BVALUE“VALUE“C“/CVALUE“VALUE“D“/D“NAME“CHOICEID“/“NAME“CHOICEANSWER“/试卷保存关键代码及说明(以单选题的保存为例)TESTSETUTILTESTUTILNEWTESTSETUTILTESTSETTSTESTUTILGETTESTSETCOURSETESTUTILTUNEWTESTUTILARRAYLISTALNEWARRAYLIST/取单选题FORINTI0I/ADMIN/DELETEQUESTIONJSPQID“KEYWORD删除考题代码STRINGSTR_QIDREQUESTGETPARAMETER“QID“TRIMINTQIDINTEGERPARSEINTSTR_QIDBOOLEANSUCCESSNEWQUESTIONUTILDELETETESTQID347考试设置信息维护模块设计考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。这些考试信息包括考试时间,各题的数量和分值等。设置时,系统先读取已存在的考试设置信息供给管理员查询,再提供给管理员操作。考试设置信护流程图如图314所示。开始读取试卷设置信息选择操作添加试卷设置修改试卷设置册除试卷设置等待管理员输入信息获取输入信息添加试卷设置信息添加成功重新绑定数据结束等待管理员输入信息获取输入信息修改试卷设置信息修改成功重新绑定数据确认删除删除试卷设置信息删除成功重新绑定数据是否是否是否是否图314考试设置信息维护流程添加/修改考试设置信息关键代码及说明如下/获取课程名称,同样这里用GBK对接收到的信息进行编码STRINGCOURSENEWSTRINGREQUESTGETPARAMETER“COURSE“GETBYTES“ISO88591“,“GBK“/获取单选题总数INTSINGLECOUNTINTEGERPARSEINTREQUESTGETPARAMETER“SINGLECOUNT“/获取单个单选题分值INTPERSINGLEINTEGERPARSEINTREQUESTGETPARAMETER“PERSINGLE“/获取多选题总数INTMULTIPLYCOUNTINTEGERPARSEINTREQUESTGETPARAMETER“MULTIPLYCOUNT“/获取单个多选题分值INTPERMULTIPLYINTEGERPARSEINTREQUESTGETPARAMETER“PERMULTIPLY“/获取判断题总数INTJUDGECOUNTINTEGERPARSEINTREQUESTGETPARAMETER“JUDGECOUNT“/获取单个判断题分值INTPERJUDGEINTEGERPARSEINTREQUESTGETPARAMETER“PERJUDGE“/获取简答题总数INTJDCOUNTINTEGERPARSEINTREQUESTGETPARAMETER“JDCOUNT“/获取单个简答题分值INTPERJDINTEGERPARSEINTREQUESTGETPARAMETER“PERJD“/获取设计题总数INTPROGRAMCOUNTINTEGERPARSEINTREQUESTGETPARAMETER“PROGRAMCOUNT“/获取单个设计题分值INTPERPROGRAMINTEGERPARSEINTREQUESTGETPARAMETER“PERPROGRAM“/获取总考试时间INTTOTALTIMEINTEGERPARSEINTREQUESTGETPARAMETER“TOTALTIME“INTFLAGINTEGERPARSEINTREQUESTGETPARAMETER“FLAG“TESTSETUTILTSUNEWTESTSETUTILTESTSETTSNEWTESTSETTSSETCOURSECOURSETSSETSINCHCOUNTSINGLECOUNTTSSETPERSINSCOREPERSINGLETSSETMULCHCOUNTMULTIPLYCOUNTTSSETPERMULSCOREPERMULTIPLYTSSETJUDGECOUNTJUDGECOUNTTSSETPERJUDSCOREPERJUDGETSSETJDCOUNTJDCOUNTTSSETPERJDSCOREPERJDTSSETPROGRAMCOUNTPROGRAMCOUNTTSSETPERPROSCOREPERPROGRAMTSSETTOTALTIMETOTALTIMEBOOLEANSUCCESSTSUINSERTORUPDATETS,FLAGIFSUCCESSRESPONSESENDREDIRECTREQUESTGETCONTEXTPATH“/ADMIN/TESTSUCCESSHTML“ELSERESPONSESENDREDIRECTREQUESTGETCONTEXTPATH“/FAILHTML“由于删除考试设置信息同删除考题功能类似,这时也不再详讲,如有疑问请参考前面删除考题信息功能。348用户管理模块设计用户管理是管理员对系统用户信息的管理。这些用户包括学生和教师。用户管理操作包括添加用户,更新用户和删除用户。添加用户时,删除管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。用户密码不用设置,系统默认为“123456”;修改用户时用户编号和用户密码不能被修改其它均能被修改;用户时,系统会先提醒管理员是否删除,若果确认删除才能删除用户。用户管理流程图如图315所示。开始读取用户信息选择操作添加用户更新用户信息册除用户信息等待管理员输入信息获取输入信息添加用户信息信息添加成功重新绑定数据结束等待管理员输入信息获取输入信息更新用户信息信息更新成功重新绑定数据确认删除删除用户信息信息删除成功重新绑定数据是否是否是否是否图315用户管理流程添加/更新用户的关键代码及说明如下/获取用户名,这里也用GBK对其进行编码STRINGNAMENEWSTRINGREQUESTGETPARAMETER“NAME“GETBYTES“ISO88591“,“GBK“TRIM/获取用户类型,1为学生,2为教师,3为管理员INTTYPEINTEGERPARSEINTREQUESTGETPARAMETER“TYPE“/获取性别,用GBK对其进行编著码STRINGSEXNEWSTRINGREQUESTGETPARAMETER“SEX“GETBYTES“ISO88591“,“GBK“TRIMSTRINGPASSWORD“123456“/初始密码设为123456/获取操作标志,0为添加用户信息,1为更新用户信息STRINGFLAGREQUESTGETPARAMETER“FLAG“TRIMUSERUTILUSERUTILNEWUSERUTILUSERUSERNEWUSERBOOLEANSUCCESSFALSEUSERSETIDUIDUSERSETTYPETYPEUSERSETNAMENAMEUSERSETPASSWORDPASSWORDUSERSETSEXSEXIF“0“EQUALSFLAG/添加用户SUCCESSUSERUTILINSERTUSERUSERELSEIF“1“EQUALSFLAG/更新用户SUCCESSUSERUTILMOTIFYUSERUSERIFSUCCESSRESPONSESENDREDIRECTREQUESTGETCONTEXTPATH“/ADMIN/SUCCESSHTML“ELSERESPONSESENDREDIRECTREQUESTGETCONTEXTPATH“/FAILHTML“由于删除用户信息同删除考题功能类似,这时也不再详讲,如有疑问请参考前面删除考题信息功能。349个人信息维护模块设计系统用户包括学生,教师,管理员都可以对个人信息进行维护。维护操作包括对个人基本信息进行修改,修改密码等。系统能提供极为友好的界面方便用户操作。对其本信息进行时,用户不能修改自己的编号。对密码进行修改时按昭一般系统的要求先确认旧密码,再输入新密码和确认新密码。个人基本信息信息维护的关键代码如下所示USERUTILUSERUTILNEWUSERUTIL/得到SESSIONHTTPSESSIONSESSIONREQUESTGETSESSIONTRUE/获取SESSION中的用户编号STRINGUIDSTRINGSESSIONGETATTRIBUTE“UID“/得到用户名,用GBK对其进行编码STRINGNAMENEWSTRINGREQUESTGETPARAMETER“NAME“TRIMGETBYTES“ISO88591“,“GBK“/得到用户类型STRINGTYPESTRINGNEWSTRINGREQUESTGETPARAMETER“TYPE“GETBYTES“ISO88591“,“GBK“INTTYPE1IF“教师“EQUALSTYPESTRINGTYPE2ELSEIF“管理员“EQUALSTYPESTRINGTYPE3STRINGSEXNEWSTRINGREQUESTGETPARAMETER“SEX“GETBYTES“ISO88591“,“GBK“TRIMUSERUSERNEWUSERUSERSETIDUIDUSERSETNAMENAMETRIMUSERSETTYPETYPEUSERSETSEXSEXIFUSERUTILMOTIFYUSERUSERRESPONSESENDREDIRECTREQUESTGETCONTEXTPATH“/SUCCESSHTML“ELSERESPONSESENDREDIRECTREQUESTGETCONTEXTPATH“/FAILHTML“4系统测试41系统运行环境数据库SQLSERVER2005WEB服务器TOMCAT60及以上版本操作系统能运行JAVA虚拟机的操作系统均可42测试目的系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。43各功能模块测试将工程导入TOMCAT的项目文件夹生即WEBAPPS文件夹中,再启动TOMCAT服务器。在浏览器中输入工程的URL,如“WWWLOCALHOST8080/EXAMONLINE”可进入系统操作界面,用户可以选择操作。如图41所示。图41系统主界面431在线考试模块测试在主界面点击学生考试,可以进入学生登陆界面。此界面在提交数据时有简单验证功能,如学号不能为空等,科目必须选择等。如图42所示。图42学生登陆界面选择科目后进入确认信息页面,如图43所示。系统将考生的个人信息读出到该页面,供给考生确认。并将考试科目考试设置信息(题目分布、分值分布、考试时间等)读出到该页面,提供给考生。图43确认信息页面点击开始考试,将进入到考试页面,考生开台答题,如图44所示。在答题时系统提供剩余时间倒

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论