java_web应用开发——在线模拟考试系统的设计与实现毕业论文_第1页
java_web应用开发——在线模拟考试系统的设计与实现毕业论文_第2页
java_web应用开发——在线模拟考试系统的设计与实现毕业论文_第3页
java_web应用开发——在线模拟考试系统的设计与实现毕业论文_第4页
java_web应用开发——在线模拟考试系统的设计与实现毕业论文_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

北京天才大学毕业设计(论文)题目JAVAWEB应用开发在线模拟考试系统的设计与实现学院计算机学院专业软件工程毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名日期指导教师签名日期使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名日期学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名日期年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名日期年月日导师签名日期年月日指导教师评阅书指导教师评价一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神优良中及格不及格2、学生掌握专业知识、技能的扎实程度优良中及格不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力优良中及格不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性优良中及格不及格5、完成毕业论文(设计)期间的出勤情况优良中及格不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范优良中及格不及格2、是否完成指定的论文(设计)任务(包括装订及附件)优良中及格不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良中及格不及格2、论文的观念是否有新意设计是否有创意优良中及格不及格3、论文(设计说明书)所体现的整体水平优良中及格不及格建议成绩优良中及格不及格(在所选等级前的内画“”)指导教师(签名)单位(盖章)年月日评阅教师评阅书评阅教师评价一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范优良中及格不及格2、是否完成指定的论文(设计)任务(包括装订及附件)优良中及格不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良中及格不及格2、论文的观念是否有新意设计是否有创意优良中及格不及格3、论文(设计说明书)所体现的整体水平优良中及格不及格建议成绩优良中及格不及格(在所选等级前的内画“”)评阅教师(签名)单位(盖章)年月日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况优良中及格不及格2、对答辩问题的反应、理解、表达情况优良中及格不及格3、学生答辩过程中的精神状态优良中及格不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范优良中及格不及格2、是否完成指定的论文(设计)任务(包括装订及附件)优良中及格不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良中及格不及格2、论文的观念是否有新意设计是否有创意优良中及格不及格3、论文(设计说明书)所体现的整体水平优良中及格不及格评定成绩优良中及格不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长)(签名)年月日教学系意见系主任(签名)年月日摘要随着网络技术的发展,远程教育和网上考试成为网络应用的一个重要方面。近几年,在线考试特别是基于WEB的在线考试系统受到越来越多的人青睐。本次毕业设计的题目是在线模拟考试系统的设计与实现,系统采用浏览器/服务器模式开发,包括登录注册、在线考试、试卷设置、试题管理、分数的统计以及成绩查询等功能。系统运行在WINDOWS7操作系统上,以TOMCAT作为WEB服务器,使用JSP技术和MYSQL数据库实现。论文首先对在线考试系统做了需求分析,然后给出系统的设计与实现过程,最后,针对系统的各个功能进行了测试。关键词在线考试;浏览器/服务器;JSP;MYSQL;JDBC;ABSTRACTWITHTHEDEVELOPMENTOFNETWORKINGTECHNOLOGY,ONLINEEXAMINATIONANDDISTANCEEDUCATIONISANASPECTINTHEAPPLICATIONOFINTERNETINRECENTYEARSTHEONLINEEXAMINATIONESPECIALOFWEBBASEDEXAMINATIONISMOREANDMOREPOPULARTHEGRADUATIONPROJECTSSUBJECTISTODESIGNANDREALIZATIONOFTHEONLINEEXAMINATIONSYSTEMTHESYSTEMUSESTHEBROWSER/SERVERTODEVELOPITINCLUDESLOGIN,NEWUSERREGISTRATION,ONLINEEXAMINATION,EXAMINATIONPAPERSET,EXAMINATIONPAPERMANAGEMENT,SCORESTATISTICS,QUERYRESULTSANDOTHERFUNCTIONALTHESYSTEMTAKESTHEWINDOWS7ASTHEOS,TOMCATASTHEWEBSERVER,USESJSPTECHNOLOGYANDMYSQLASTHEDATABASESERVERDEVELOPMENTTOOLSTOREALIZETHESYSTEMINTHISPAPER,THEREQUIREMENTANALYSISABOUTTHEONLINEEXAMINATIONSYSTEMISINTRODUCED,ANDTHENGIVETHESYSTEMDESIGNANDIMPLEMENTATIONFINALLY,ALLOFTHEFUNCTIONSOFTHESYSTEMISTESTEDKEYWORDSONLINEEXAMINATION;BROWSE/SERVER;JSP;MYSQL;JDBC;目录摘要(中文)I(英文)II第一章系统概述111系统开发背景112系统开发意义113系统开发工具1第二章系统分析521现状分析522可行性分析523设计目标624功能要求625系统开发环境配置7第三章系统设计931数据库设计932系统结构设计1133用户界面设计12第四章系统实现1541数据库连接的实现方法1542登陆注册模块1643考生模块1844教师模块2345管理员模块31第五章系统测试3351什么是软件测试3352软件测试的目标与方法3353测试内容3354系统的不足和展望34结束语35参考文献36第一章系统概述11系统开发背景随着我国计算机技术和通讯技术的发展,互联网的普及程度已经很广泛了,但是,现在的教育教学检验方式,还是停留在过去的纸质考试层面在,而传统的教育教学检验方式中,要进行一次考试,至少需要经过教师出题、学生考试、教师阅卷等几步,这是一个繁杂的过程,需要大量人力、物力与时间的投入,同时也让教师的工作量越来越大;现在远程教育类学校的增多,虽然利用了网络拉近了教师与学生的距离,但学生的分布过广,导致了不易统一集中安排考试,考生成本的增加等诸多难题的出现,给校方和学生带来了很多的不便,因此,传统的考试方式已经不能适应现在新兴的教育教学方式的考试需要了。可以解决这些诸多难题的一种方式,就是利用INTERNET无国界的特点,在互联网上在线考试。在线考试系统可以减轻教师的工作负担、提高工作效率,也减少了因考试而消耗不必要的人力和物力。在线考试的题目由计算机从题库中随机抽取,提高了考试的质量,考试的评判由计算机自动完成,这样使考试更趋于公证、客观。随着社会的发展和我国互联网的普及,我们的生活中的已经有很多方面都运用到了网络,比如网上购物,网上交友等,甚至现在很多人看新闻都是通过网络阅读的,在阅读新闻这个事件上,已经不仅仅局限于纸质化的报纸上了;而要把考试趋于无纸化的模式,需要在线模拟考试系统来完成,这个也是现在高等教育发展的一个需求。在国内,试题库系统理论与技术的研究在最近几年取得了很大的进步。我国许多企业和高校都投入量大量的人力物力到各门课程的试题库中,并取得了一定的成就。现在的生活中已经有越来越多的等级考试运用了在线考试系统,比如会计的电算化考试、计算机等级考试、银行资格证考试等,这些已经充分说明,在线考试系统是今后我们的考试生涯中的一个发展趋势。12系统开发意义考试是教育中一个非常重要的环节,但在以前的很长时间里,全球所有的国家都是以笔试的方式来检查焦距教学成果的,随着网络的发展,互联网已经普及的非常广泛,随着这些周围环境的改变,人们开始去寻找新的方式来去达到更客观,更方便快捷的去达到考试的目的。近些年来,在国外,已经投入使用的考试系统有著名的TOEFL,GRE网上考试系统,还有微软、思科等大公司的国际认证考试等,这些考试系统在全球范围内有众多的使用者。网络化考试系统对节约考试成本,实现远距离的同步考试,提高考试效率,确保考试结果的公平、公正、科学、及时等具有重要的意义,不仅可以动态地管理考试信息,而且还提高了教学的灵活性,相信随着技术的不断发展和网络覆盖面的不断扩大,在不断完善该考试系统的同时也会在更大的范围上应用。13系统开发工具本系统是基于TOMCAT为服务器,JSPMYSQL数据库技术实现的一个简单的在线考试系统,以下对JSP技术、MYSQL数据库和TOMCAT作简要的介绍。131动态网页开发技术JSP(JAVASERVERPAGE)JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入JAVA程序段和JSP标记,从而形成JSP文件。用JSP开发的WEB应用是跨平台的,即能在LINUX下运行,也能在其他操作系统上运行。JSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JAVASERVLET一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。JAVASERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。1JSP技术的强势(1)一次编写,到处运行。在这一点上JAVA比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是现而易见的。(3)强大的可伸缩性。从只有一个小的JAR文件就可以运行SERVLET/JSP,到由多台服务器进行集群和负载均衡,到多台APPLICATION进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2JSP技术的弱势(1)与ASP一样,JAVA的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2)JAVA的运行速度是用CLASS常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的JAVA文件和CLASS文件,以及对应的版本文件。132数据库MYSQLMYSQL是一个小型关系型数据库管理系统,开发者为瑞典MYSQLAB公司,在2008年1月16号被SUN公司收购。MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。如雅虎、阿尔卡特朗讯、GOOGLE公司、诺基亚公司、百度等公司就采用了MYSQL数据库。MYSQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MYSQL数据库是一种完全免费的产品,用户可以直接从网上下载MYSQL数据库主要有以下特点1、可移植性使用C和C编写,并使用了多种编译器进行测试,保证源代码的可移植性。2、可扩展性和灵活性MYSQL可以支持UNIX、LINUX和SUNOS以及WINDOWS等多种操作系统平台。在一个操作系统中实现的应用可以很方便地移植到其他操作系统。MYSQL作为开源性质的数据库服务器,可以为那些想要增加独特需求的用户提供完全定制的功能。3、强大的数据保护功能MYSQL有一个非常灵活且安全的权限和密码系统。为确保只有获授权用户才能进入该数据库服务器,所有的密码传输均采用加密形式,同时也提供了SSH和SSI。支持,以实现安全和可靠的连接。MYSQL强大的数据加密和解密功能,可以保证敏感数据不受未经授权的访问。4、支持大型的数据库虽然对于用PHP编写的网页来说,只要能够存放数百条以上的记录数据就是够了,但MYSQL可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MYSQL可以针对不同的应用进行相应的修改。5、超强的稳定性MYSQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用而不必担心其稳定性。线程是轻量级的进程,它可以灵活地为用户提供服务,而不占用过多的系统资源。用多线程和C语言实现的MYSQL能很容易地充分利用CPU。6、强大的查询功能MYSQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷、方便。133TOMCAT介绍TOMCAT服务器是一个免费的开放源代码的WEB应用服务器,是APACHE软件基金会的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些学校及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现,TOMCAT5支持最新的SERVLET24和JSP20规范。因为TOMCAT技术先进、性能稳定,而且免费,因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB应用服务器。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。自从JSP发布之后,推出了各式各样的JSP引擎。APACHEGROUP在完成GNUJSP10的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供WEB服务的JSP服务器,当然同时也支持SERVLET,这样TOMCAT就诞生了。TOMCAT是JAKARTA项目中的一个重要的子项目,其被JAVAWORLD杂志的编辑选为2001年度最具创新的JAVA产品,同时它又是SUN公司官方推荐的SERVLET和JSP容器,因此其越来越受到软件公司和开发人员的喜爱。SERVLET和JSP的最新规范都可以在TOMCAT的新版本中得到实现。其次,TOMCAT也是完全免费的软件,任何人都可以从互联网上自由地下载。第二章系统分析21现状分析传统的考试方式是教师提前命题、印刷试卷、组织学生考试、学生在统一时间和地点考试、收卷后教师阅卷、成绩统计。如图21图21传统考试模式这种模式存在有较多的问题命题由于是同意的时间进行考试,所以考生的试卷都是一样的,这样对教师命题带来的很大的麻烦,即试题太难或者太容易,都达不到考试的目的。如果是大型的考试,比如英语四级考试,还要担心试题是否被泄漏的等问题(现在已经有类似问题的出现,才会有现在说的花卷)。印刷试卷组织考试,印刷试卷费工费时,成本高,而且对于纸张资源也是一种浪费,而且印刷的时候,也会担心试题被泄漏的问题。组织学生考试监考人资源的浪费,和教师资源的匮乏,如何调配也是一个难题,如果是全国统一考试,还要涉及不同区域同时考试的问题。学生统一考试由于是同一时间,同一地点,同一张试题,考生作弊问题便会出现,而且是非常难解决的问题,再加上每个监考员监考的严格程度不同,这些人为因素难控制,使考试难公平,公正。教师阅卷教师阅卷比较容易出错,会造成人为的不公正性。成绩统计当成绩录入时,数字的混乱会导致录入者输入错误或者看错。22可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。221经济可行性在线考试必然会在今后的教学管理上成为主要的考试形式。开发一套能满足一般考试的需要,并实现试卷生成、评判自动化的在线考试系统。在减少由于人为原因导致试卷阅卷的不公正的同时,教师提前命题印刷试卷组织学生考试学生统一考试教师阅卷成绩统计也可以让教师的工作量得以减少,有更多的时间去备课教学。本系统如果用在一些辅助教育类的网站上,那经济效果是很明显的;如果是用在学校的教学管理上,会得以发挥其潜在的经济效益,比如印刷试卷的费用等。因此,本系统在经济上是可行的。222技术可行性技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。硬件方面,硬件的更新速度之快,可靠性越来越高,目前一般的硬件平台均能满足次系统的需要。软件方面,编程的软件以及WEB服务器等均已具备,并且环境变量已经搭好,数据库用MYSQL存储大量的数据,MYSQL开源化,目前已经很成熟,在灵活、安全和易用方面均能提供良好的支持。因此,系统的软件开发平台已经成熟可行。23设计目标在线考试系统的总体目标1本系统提供给管理员类用户、教师类用户及学生类用户使用。不同的用户类型所能完成的功能不同。管理员类用户可以对于已经注册的考生及系统中已经存在的教师进行删除操作,对于未注册过的考生及系统中未存在的教师进行添加操作;教师类用户可以创建试题、删除试题、修改试题,也可进行试题维护、修改密码以及对成绩的统计;学生类用户主要是参与考试,完成试卷,查询成绩。2考试数据的存放和处理过程必须保密,需要一定的安全性保障若考生需要查卷,经审核方可以。3题目的选择具有稳定性、随机性。稳定性就是每张试卷总体的难易程度要近似一样,保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。4适时的试题题库更新,试题题型包括判断题、选择题类型。试题库的更新由管理员类用户完成。学生类用户不允许对试题进行更新。5实现现代考试网络化。24功能要求系统具备的基本功能1用户登录及注册对用户进行识别、验证;没有注册的用户跳转到用户注册页面;2考试模块考生选择自己想要参加的考试类别,并进行考试,考试完成以后可以获得当考试成绩。3历史成绩模块考生可以看到自己以前参加的考试成绩。以对自己的进步状况进行一次把握。4试题维护模块教师选择试题的类别,然后针对该试题分类中的所有试题进行维护,可以添加新题目,也可以对现在有的题目进行修改或者删除处理。5试卷设置模块教师对题库中的题目按照一定分类标准存放,包括分类的添加、修改和删除操作等。6历史成绩管理模块教师可以看到模式体分类的整体考试情况,考试成绩分布情况,可以判断出题库中的题目难以水平,并可以在以后的维护中做出适当调整。7考生管理系统管理员可以对已经注册的考生进行删除操作,对于未注册的考生进行增加操作。8教师管理系统管理员可以对系统已经存在的教师进行删除操作,对于未在系统中存在的教师进行增加操作。9修改密码模块教师和考生可以在已经登录成功的页面点击修改密码,可以修改本人登录此考试系统的登录密码。除了实现上述功能以外,在线考试系统还应该具有简洁、易用的界面,安全性要高,稳定性要强。根据以上的需求分析,画出本系统的USECASE图,如图22所示图22在线考试系统的USECASE图25系统开发环境配置1操作系统WINDOWS72内存4G3CPU200GHZ4JAVA平台JDK50登录在线考试考试历史成绩绩试题维护考试试卷设置考试历史成绩管理考生管理考试教师管理考试考生教师管理员修改密码注册5WEB服务器TOMCAT606数据库服务器MYSQL7开发平台MYECLIPSE60第三章系统设计31数据库设计在对网上考试系统数据库部分进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,详细设计过程如下介绍。311数据库需求分析需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。对于本系统而言,系统的角色分为管理员、教师、学生,这需要3个表,而考生考试,需要一个存放题库的表,考试的类别不同,也需要一个存放类别的表,考生考试完毕后,需要一个存放考试成绩的表。综合以上分析,要实现上面的所有功能模块,数据库共要设计六个表,它们分别是试卷类别表、用户表、用户成绩表、教师表、管理员表、题库表。312数据库表设计用户信息表,用来存放考生信息,如表31所示表31用户信息表字段名类型长度是否为主键可否为空说明USER_IDINT11是否用户的IDUSERNAMEVARCHAR20否否登录用户名PASSWORDVARCHAR20否否用户登录密码REALNAMEVARCHAR20否否用户真实姓名教师信息表,存放教师信息,如表32所示表32教师信息表字段名类型长度是否为主键可否为空说明TEACHER_IDINT11是否教师的IDTEACHERNAMEVARCHAR20否否教师登录名PASSWORDVARCHAR20否否教师登录密码REALNAMEVARCHAR20否否教师真实姓名管理员信息表,存放管理员信息,如表33所示表33管理员信息表字段名类型长度是否为主键可否为空说明ADUSERNAMEVARCHAR20是否管理员登录名PASSWORDVARCHAR20否否管理员登录密码REALNAMEVARCHAR20否否管理员真实姓名题库信息表,存放考试题目以及答案等信息,如表34所示表34题库信息表字段名类型长度是否为主键可否为空说明QUESTION_IDINT10是否试题编号CATEGORY_IDINT10否否试题分类编号SUBJECTVARCHAR300否否题目CHOICE_AVARCHAR100否否选项ACHOICE_BVARCHAR100否否选项BCHOICE_CVARCHAR100否否选项CCHOICE_DVARCHAR100否否选项DANSWERCHAR10否否正确答案成绩表,存放考生考试时间以及成绩等信息,如表35所示表35成绩表字段名类型长度是否为主键可否为空说明RECORD_IDINT10是否考试记录编号USERNAMEVARCHAR20否否考试用户名CATEGORY_IDCHAR10否否试题分类编号TEST_TIMECHAR14否否考试时间TEST_RESULTINT11否否考试成绩试卷类别表,存放试卷类别信息,包括试卷分类名称、试卷题目等,如表36所示表36试卷类别表字段名类型长度是否为主键可否为空说明CATEGORY_IDINT11是否试题分类编号CATEGORY_NAMEVARCHAR20否否试题分类名称QUESTION_NUMBERINT10否否试题数目313数据库逻辑结构设计1关系图本系统各表之间的关系如下图31示图31关系图2完整性设计完整性要求用于描述各种信息之间的制约关系以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束要求主键必须唯一且不能为空。如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。32系统结构设计网上考试系统是一个典型的数据库应用程序,主要有管理员、教师和学生三大模块组成,各模块功能如下管理员模块该模块包含2个功能,一个为考生管理,系统管理员可以对已经注册的考生进行删除操作,对于未注册的考生进行增加操作;另一个为教师管理,系统管理员可以对教师进行增加、删除操作。教师模块该模块包含4个功能,分别为试卷设置、试题维护、历史成绩、修改密码。教师成功登录该系统后,能够进行修改个人信息,添加、修改、删除试题、试卷类别操作,也可对考生的成绩进行统计。学生模块该模块包含3个功能,分别为开始考试、历史成绩、修改密码。学生成功登录该系统后,能够进行考试、查询成绩、修改密码。系统功能结构如图32所示系统功能学生模块管理员模块教师模块修改密码试题维护试卷设置历史成绩考生管理教师管理历史成绩修改密码图32系统功能结构图33用户界面设计页面上部采用一个LOGO图片和适当的标识,表明当前的系统名称。接下来是帮助连接和退出系统的连接。然后下部页面的主题分为左右两部分,左边是导航模块部分,其中放置迁移到不同功能模块的链接按钮,右边是页面的主要操作区域,不同页面的不同显示主要在此体现。学生角色的模版页面如图33所示图33学生角色模版每个模块都包含多个页面,再次挑选几个比较低型或者重要的页面进行详细描述。其他的页面结构比较类似或者比较简单,不一一详述。学生开始考试的时候,首先需要选择试卷类型,或者也可以叫做试题分类。在此页面中采用下拉列表框的形式进行,如图34所示在线考试系统LOGO图片。帮助退出登录欢迎您XXX开始考试历史成绩修改密码在线考试系统LOGO图片。开始考试图34试题分类选择页面草图选择试题分类以后,即是学生答题页面。答题页面的主体应该是试题和试题的选项。考虑到本系统需要在题目结束以后立即知道考试结果,所以决定采用所有试题的形式都是ABCD型的选择题,页面应该针对这些题目选项设置单选按钮。在答题内容的上方,应该能够给考生信息,说明当前的题目是全部题目的第几道,以及总共有几道题,使得考生可以把握整个考试进度。同时考虑到考生在时间允许的情况下,需要在题目间前后迁移,所以在题目的下方,还应该有前后翻页的按钮。对应教师角色的模版略有不同,模块多了几个,而且页面顶端的标识也有所区别。对应的模版页面如图35所示。帮助退出登录欢迎您XXX开始考试历史成绩修改密码请选择试题的分类会计基础确定在线考试系统(管理界面)LOGO图片。帮助退出登录图311教师角色模版页面图35管理员角色模版页面欢迎您XXX试题维护试卷设置成绩查询修改密码第四章系统实现本系统包括3个不同的角色,即学生、教师、管理员。不同角色的功能有所不同,学生的功能包括考试模块,修改密码,成绩查询模块。教师的功能包括试卷类别管理、试题管理、修改密码、成绩管理。管理员的功能包括教师管理和考生管理。41数据库连接的实现方法从系统功能模块划分中可以看出,各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于教师和学生的操作。在介绍系统各模块的实现方法之前,首先介绍系统与MYSQL数据库的连接方法,再介绍系统主要部分的实现方法。创建与数据库的连接首先要将MYSQL的驱动包放在TOMCAT/LIB目录下;利用语句进行对数据库的操作,以下仅是对用户表查询的语句CATCHEXCEPTIONE/获得数据库连接出错SYSTEMOUTPRINTLN“ERROROCCURED“FINALLY/释放数据库连接RSCLOSESTMTCLOSECONNCLOSE42登陆注册模块421登录模块用户登录页面比较简单,为防止用户登录的操作错误,应设置错误处理页面,在登录操作过程中,一般发生的错误有用户输入了错误的用户名或密码、用户直接单击了登录按钮,对上述情况的判断就要通过SERVLET文件来实现。当用户登录的时候,输入的帐号或者密码有其中一项为空时,会有提示框提示,提示您帐号或者密码不能为空。实现这个功能的是用JAVASCRIPT实现的,具体代码如下所示验证输入不为空的脚本代码定义了一个名为CHECKFORM的查询表单函数FUNCTIONCHECKFORMFORM、如果VALUE为空,会提示帐号不能为空IFFORMTEACHERNAMEVALUE“ALERT“账号不能为空“让FORM表单中的TEACHERNAME控件获得焦点(光标),回到输入框位置。FORMTEACHERNAMEFOCUSRETURNFALSEIFFORMPASSWORDVALUE“ALERT“密码不能为空“FORMPASSWORDFOCUSRETURNFALSERETURNTURE在登录页面时,当用户提交了登录资料后,就由“LOGINVCJSP”这个页面进行验证,它的工作主要是连接到数据库,从数据中找出输入的用户名和密码并判断其是否一致。如果用户输入了错误的用户名和密码,就会跳出一个登录失败的页面。用户可以点击返回按钮回到其刚才登录的界面,然后重新输入用户名及密码进行再次登录。若用户提交正确的用户和密码后,如果记录验证无误,就通过JSP重定向语句RESPONSESENDREDIRECT跳转到相应的主界面。教师以及管理员的登录验证跟考生相似,只是查询条件和连接的数据库表不同,以及登陆成功之后,跳转的页面不同。422考生注册模块在此模块,考生需要填写用户名、密码、确认密码、真实姓名。如若填写中缺少一项,那么会有提示,其功能也是由上面所说的一样,通过调用JAVASCRIPT实现的,这里只提供下截图,主要代码如上,如图41所示图41注册提示页面当用户填写的内容完全符合注册标准后,点击注册按钮,会转到注册成功的页面;如若用户名已经被注册,会转到注册失败页面,提醒注册用户可能是该用户名已经注册。在此只以注册成功的页面为例,如图42所示图42注册成功页面完成注册模块的主要代码如下所示首先获取上个页面传过来的数据,用户名、密码、真实姓名STRINGUSERNAMEREQUESTGETPARAMETER“USERNAME“STRINGPASSWORDREQUESTGETPARAMETER“PASSWORD“STRINGREALNAMEREQUESTGETPARAMETER“REALNAME“OUTPRINTLNUSERNAME/打印出USERNAME其次开始连接数据库TRYCLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCECONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST3306/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENTRESULTSETRSNULL查询USER表,看用户名是否存在STRINGSQL“SELECTFROMUSERWHEREUSERNAMELIKE“USERNAME“RSSTMTEXECUTEQUERYSQL如果存在,提示“您好,您注册的用户名已经存在,请重新输入”,如果不存在,把接收过来的值付给新的变量STRINGS_USERNAMEREQUESTGETPARAMETER“USERNAME“STRINGS_PASSWORDREQUESTGETPARAMETER“PASSWORD“STRINGS_REALNAMEREQUESTGETPARAMETER“REALNAME“执行SQL插入语句,把得到的值插入到USER表中SQL“INSERTINTOUSERUSERNAME,PASSWORD,REALNAMEVALUE“USERNAME“,“PASSWORD“,“REALNAME“如果插入成功,提示“恭喜您注册成功”43考生模块考生登录系统并且用户名也密码正确后,会直接跳转到学生主页,本页面中,考生可以在左侧选择自己下一步要做的事情,有开始考试、历史成绩查询、修改密码。在页面中间,有提示语,告诉考生每个按钮都可以操作什么功能;若考生对考试流程不太熟悉,可以点击帮助,来查询相关问题的答案。如图43所示图43考生主页431开始考试模块考生点击开始考试,会首先弹出关于所选考试科目的一些介绍,比如考试时间和总共有多少道题目等,然后点击开始考试,倒计时开始,考生选择上一题,下一题进行答卷,当考生答到最大题数时,下一题变成完成答卷按钮。点击完成答卷,进入成绩页面,考生可以知道自己的成绩,并且,成绩通过后台,插入到数据库中。如图44所示图44考生考试页面执行的具体代码如下所示TMIDNEWARRAYLIST/指定传入的类型建立一个集合准备存放抽到的题目的ID号TMIDADD0/设置默认值0SESSSETATTRIBUTE“TMID“,TMIDINTFENSHU0SESSSETATTRIBUTE“FENSHU“,FENSHULISTDDCOUNTNEWARRAYLISTSESSSETATTRIBUTE“DDCOUNT“,DDCOUNTLISTALLWTSNEWARRAYLIST/建立问题QUESTION对应的实体类来存放查到的题目信息LISTLISTSIDMDSELECTQINFOCOUNTCATEGORY/某个科有多少个问题INTQNUMMDSELECTQNUMCATEGORY/共需要几个问题SESSSETATTRIBUTE“QNUM“,QNUMRANDOMRANDNEWRANDOM/JAVA提供的得到数字的类FORINTA0A432历史成绩模块考生点击历史成绩,会先迁移到考试科目选择页面,当考生通过下拉列表,选中要查询的科目,然后点击确认,会从数据库中提取出考生的成绩,然后在表格中显示。点击左下角的返回按钮,回到考试科目选择页面,继续查询其他科目成绩,如图45所示图45考生成绩查询页面成绩查询页面主要代码如下所示接收上个页面传过来的值STRINGCATEGORYREQUESTGETPARAMETER“CATEGORY“STRINGRESULTNULLINTCOUNT0开始连接数据库CLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCECONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENT数据库结果集的数据表RESULTSETRSNULLRESULTSETRRNULL执行SQL语句,查询TEST_RECORD表中是否有与接收的值相同项STRINGSQLCOUNT“SELECTCOUNTFROMTEST_RECORDWHERECATEGORY_ID“CATEGORY“ANDUSERNAME“S“RRSTMTEXECUTEQUERYSQLCOUNTIFRRNEXT将RRGETSTRING字符类型数据转换为INTEGER整型数据COUNTINTEGERPARSEINTRRGETSTRING1定义一个新的字符串数组RESULTNEWSTRINGCOUNT执行SQL语句,查询TEST_RECORD表STRINGSQL“SELECTFROMTEST_RECORDWHERECATEGORY_ID“CATEGORY“ANDUSERNAME“S“执行刚建立的SQL语句,并把结果返回到结果集对象中RSSTMTEXECUTEQUERYSQLINTI0把结果集数据表中的数据附到数组中WHILERSNEXTRESULTIRSGETSTRING1“RSGETSTRING2“RSGETSTRING3“RSGETSTRING4“RSGETSTRING5循环输出所有项查询CATEGORY表,显示出科目名称取出表的第4列并显示出来取出表的第5列并显示出来432修改密码模块考生可以通过修改密码模块,来修改自己登录本考试系统的登录密码。在修改页面中,需要填写原密码、新密码和确认新密码。当考生忽略其中一项没有填写或者输入的新密码和确认密码不一致,会有提示信息,某项不能为空或密码不一致;当考生都输入完毕后,点击修改按钮,系统通过后台,连接数据库来确认考生输入的原密码和用户名是否匹配,如果匹配,那么更新数据库,把原密码替换掉,然后转到修改密码成功页面;若不匹配,则直接转到修改密码失败页面,修改密码页面如图46所示图46考生修改密码页面44教师模块教师登录系统后,若用户名和密码正确,直接跳转到教师首页,在此页面,教师可以选择试题维护、试卷设置、历史成绩、修改密码;根据页面中间的操作提示,可以知道每个选项都可以进行什么操作。如试题维护可以对试题进行添加、修改、删除操作。如下图47所示图47教师主页441试题维护模块教师点击试题维护,首先需要选择要维护的试卷类别,也就是科目名称,选择好后,点击确认,页面会显示您选择的类别下的所有题目,在该页面下,教师可以进行对试题的修改,删除和添加操作,当点击不同的操作,会跳转到不同的页面中,下面是教师对题目进行增、删、改的具体界面以及执行的主要代码。图48为试题列表页面图48试题列表页面1教师对题目的修改页面点击修改,会弹出提示框等待确认,这样减少因为误点而带来的不必要的麻烦。点击确定后,如果修改成功,会出现修改成功页面,在该页面中,您可以选择下一步的操作,如点击进入教师主页或点击进入试题列表页面。如图49所示图49教师修改试题页面修改试题操作主要代码接收上一个页面传过来的值STRINGQUESTION_IDREQUESTGETPARAMETER“QUESTION_ID“通过SESSION把QUESTION_ID传到下个页面SESSIONSETATTRIBUTE“QUESTION_ID“,QUESTION_ID接收传过来的值并付值给新的变量STRINGCATEGORYREQUESTGETPARAMETER“CATEGORY“STRINGRESULTNULLINTCOUNT0开始连接数据库CLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCE加载JDBC驱动程序CONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENT结果集初始化为空RESULTSETRSNULLRESULTSETRRNULL执行SQL语句,查询QUESTION表STRINGSQLCOUNT“SELECTCOUNTFROMQUESTIONWHEREQUESTION_ID“QUESTION_ID“RRSTMTEXECUTEQUERYSQLCOUNTIFRRNEXTCOUNTINTEGERPARSEINTRRGETSTRING1建立一个新的字符串数组RESULTNEWSTRINGCOUNT执行SQL查询语句STRINGSQL“SELECTFROMQUESTIONWHEREQUESTION_ID“QUESTION_ID“RSSTMTEXECUTEQUERYSQLINTI0把结果集数据表中的数据附到数组中WHILERSNEXTRESULTIRSGETSTRING1“RSGETSTRING2“RSGETSTRING3“RSGETSTRING4“RSGETSTRING5“RSGETSTRING6“RSGETSTRING7“RSGETSTRING8“RSGETSTRING9验证页面接收上个页面传来的值STRINGSSTRINGSESSIONGETATTRIBUTE“QUESTION_ID“STRINGCATEGORY_NAMEREQUESTGETPARAMETER“CATEGORY_NAME“STRINGCHOICE_AREQUESTGETPARAMETER“CHOICE_A“STRINGCHOICE_BREQUESTGETPARAMETER“CHOICE_B“STRINGCHOICE_CREQUESTGETPARAMETER“CHOICE_C“STRINGCHOICE_DREQUESTGETPARAMETER“CHOICE_D“STRINGANSWERREQUESTGETPARAMETER“ANSWER“开始连接数据库TRYCLASSFORNAME“COMMYSQLJDBCDRIVER“NEWINSTANCECONNECTIONCONNDRIVERMANAGERGETCONNECTION“JDBCMYSQL/LOCALHOST3306/MYEXAMUSERROOTSTATEMENTSTMTCONNCREATESTATEMENTRESULTSETRSNULL执行SQL更新语句STRINGSQL“UPDATEQUESTIONSETCHOICE_A“CHOICE_A“,CHOICE_B“CHOICE_B“,CHOICE_C“CHOICE_C“,CHOICE_D“CHOICE_D“,S

温馨提示

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

评论

0/150

提交评论