




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP的网上在线考试系统的设计摘要网络使用的日益广泛,使得人们对网站的质量的要求越来越高。人们想要看到的网站已不再是文字和图片的简单组合,而需要网页的具有审美、使用价值的同时网页之间可以更完美的交互,这就给网站设计者带来很大的挑战在线考试系统是学生学习过程中的一个辅助工具,基于INTERNET或者局域网,其主要功能是实现学生在学习过程中通过本系统对课程进行各个章节的综合测试和评分,以检验学习效果。管理员利用本系统可以进行试卷的测试。同时系统能过进行分数的统计以及成绩的查询,为学生及教师在学习过程中提供帮助。在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联在线或局域网进行,方便校方考务的管理,也方便了考生,尤其适在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联在线或局域网进行,方便校方考务的管理,也方便了考生。线考试系统(NES)是使用SERVLETJSPBEAN开发的一个基于WEB的在线考试平台该考试平台包含了考生考试,用户管理,考试管理,试卷管理,题库管理等多个功能,主要注重过程控制和考试档案的管理。定位于节省考试过程中的成本,方便企业对考试工作的管理。其B/S的模式使之更容易部署推广及方便的使用。关键字JSP;SERVLET;在线考试系统ONLINEEXAMINATIONSYSTEMABSTACTTHENETWORKINCREASINGLYWIDELYUSED,MAKINGITTHEQUALITYOFTHESITEHAVEBECOMEINCREASINGLYDEMANDINGPEOPLEWANTTOSEETHESITEISNOLONGERASIMPLECOMBINATIONOFWORDSANDPICTURES,ANDAESTHETICNEEDSOFTHEPAGE,BETWEENTHEVALUEOFTHESAMEWEBPAGECOULDBEMOREPERFECTINTERACTION,WHICHGIVESWEBDESIGNERSAGREATDEALOFCHALLENGEONLINEEXAMINATIONSYSTEMISALEARNINGPROCESSSUPPORTTOOL,BASEDONTHEINTERNETORLOCALAREANETWORK,ITSMAINFUNCTIONISTOACHIEVETHESTUDENTSINTHELEARNINGPROCESSTHROUGHTHESYSTEMINALLSECTIONSOFTHECURRICULUMFORTHECOMPREHENSIVETEST,TOTESTLEARNINGTHESYSTEMADMINISTRATORCANUSETHETESTPAPERSATTHESAMETIMETHESYSTEMCANBEMADEFORAFRACTIONOFTHESTATISTICSANDTHERESULTSOFTHEINQUIRY,FORSTUDENTSANDTEACHERSTOASSISTINTHELEARNINGPROCESSONLINEEXAMINATIONSYSTEMTOACHIEVEPAPERLESSMANAGEMENTOFEXAMINATIONS,THEEXAMINATIONFORSOMECOURSESONLINETHROUGHTHEINTERNETORLAN,TOFACILITATETHEMANAGEMENTOFTHESCHOOLEXAMINATION,CANDIDATESAREALSOCONVENIENT,ESPECIALLYSUITABLEFORONLINEEXAMINATIONSYSTEMDESIGNEDTOACHIEVETHENONTESTPAPERMANAGEMENT,THEEXAMINATIONOFSOMESUBJECTSCANBEONLINEORLANTHROUGHTHEINTERNETTOFACILITATETHEMANAGEMENTOFTHESCHOOLEXAMINATION,CANDIDATESAREALSOCONVENIENTONLINEEXAMINATIONSYSTEMNESISTHATONEUSINGSERVLETJSPBEANTODEVELOPISBASEDONWEBTOHAVEANEXAMINATIONINTHEPLATFORMONLINE,THEGOALISEXAMINEDFORTHEFIRSTTIMEFORTHERECRUITMENTTALENTSOFTHECOMPANYHAVINGITSTIMEFORANDHADANEXAMINATIONTHEPLATFORMANDINCLUDEDEXAMINEESHAVINGANEXAMINATION,USERSMANAGE,MANAGEINEXAMINATION,THEPAPERISMANAGED,ALOTOFFUNCTIONSTHATTHEEXAMPOOLISMANAGED,ETC,PAYATTENTIONTOTHECOURSEANDCONTROLANDHAVEANEXAMINATIONTHEMANAGEMENTOFTHEFILEMAINLYORIENTATEASSPARINGLYTHECOSTINTHEEXAMINATIONCOURSE,FACILITATETHECONTROLOVERWORKABOUTTESTOFENTERPRISESITSB/SSMODEMAKESITAPTERTODISPOSEPOPULARIZINGANDCONVENIENTUSEKEYWORDSJSP;SERVLET;ONLINEEXAM目录基于JSP的网上在线考试系统的设计1摘要1ABSTACT2绪论71系统开发背景及意义811系统开发背景812系统开发意义82网上考试系统需求分析921现状分析922可行性分析10221经济可行性10222技术可行性1023设计目标1124功能要求1125系统开发环境配置1226系统开发工具12261开发技术JSP(JAVASERVERPAGE)12262数据库SQLSERVER20001327小结143网上考试系统设计1531数据库设计15311数据库需求分析15312数据库逻辑结构设计1632系统结构设计22321页面模块化设计23322MVC模式设计(JSPSERVLETJAVABEAN)2433小结244网上考试系统实现2541系统各部分的实现方法25411建立JDBCODBC桥接器25412创建ODBC数据源25413和ODBC数据源制定的数据库建立连接25413用户及管理员登录模块页面26414系统主要模块页面29415学生考试模块的实现页面30416教师添加试题制作试卷模块的实现3742小结415系统测试4351什么是软件测试4352软件测试的目标与方法4353系统的不足和展望4454小结44结论45致谢46参考文献47附录1外文参考文献(译文)49附录2外文参考文献(原文)52绪论考试是检验教学效果的重要手段,也是促进学生学习的重要手段,是教学过程中的一个重要环节。学生考试成绩的优劣,不但反映其对教学内容和应掌握知识的分析、理解、吸收、运用的能力,更反映教师对教学内容的把握和熟练程度。传统的学校教学中,进行一场考试,要求老师编写试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而网上考试系统不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。1系统开发背景及意义11系统开发背景随着计算机技术、网络技术迅速发展和高校校园网功能的日益完善,很多高校建立了基于校园网的网络信息管理平台,为提高教学管理水平提供了先进的管理手段。目前,基于网络的在线考试系统己经成为现代考试方式的有力补充和发展。相对于传统的笔试,网络在线考试不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。12系统开发意义很多学校学生的期末考试仍采用任课教师(个人或集体)考前出题的方式。为解决学生压题,考前漏题,补(缓)考试题与正式考试试题题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准。这样做虽能解决一些问题,但给教师增加了很大的工作负担,若上下届学生的同一门课程由同一教师承担,则难免几届学生用相同几套试卷;若由不同教师任课出题,则上下届学生的成绩之间又不具有可比性。若建立题库,每次考试前由题库中题目随机生成试卷,则可较好地解决考教分离的问题,也可将广大教师从每学期末繁重的命题工作中解放出来。近年来,部分学校陆续开发了一些基于微机的题库系统,并作为成果向其它学校推广,但这些题库一般都是结合本校具体情况,针对单一课程的小型题库,甚至某些学校购得的题库系统中的题目本身是不可维护的,即使题目已不适合自己的学生考试使用,也无法更新题库中的题目。为解决题库系统中存在的这些问题,作者经过研究几种不同的网上系统,经充分的考虑,最后给出了一个较为理想的题库系统解决方案,并结合当前比较使用的B/S结构开发一个功能完备的网上考试系统。2网上考试系统需求分析21现状分析传统的考试方法要求组织者提前命题试卷,然后约定一个统一时间,让所有考生到考场里进行考试。这种模式如图21所示图21传统考试模式这种模式存在有较多的问题命题由于考试要求统一进行,所有考生都考同样的一份试卷,所以试卷的命题工作便一定得非常谨慎小心,试题太难或太容易,都达不到考试目的,尤其是对于一个大规模的考试,比如计算机等级考试,英语四,六级考试等,如何正确把握试卷的难度,一直都是让命题教师最为头痛的问题之一。而如何不在考试之前使命好的试题泄漏出去,也是组织者费尽心思。试卷印刷对于大规模的考试,试卷印刷费工费时,成本高,对纸张资源也是一种浪费。对于涉及地域范围较广的考试如英语四,六级考试,还要考虑试卷大的长途运送费用。在考试的印刷和运输过程中同样有试题泄漏出去的问题,任何一个环节出了问题,都可能使前面有的工作付诸流水。考场的安排监考人员的培训与管理。对于大规模的考试,尤其是到了考试密集期如期末,期中。诸多学科的考试都要陆续开始的时候,对于教室资源和教师数量相对紧张的学校,如何安排考场,调配监考人员,是一件相对繁琐而又复杂的事情。如果考试再涉及到不同地域之间的同步,如英语四,六级的考试,还要考虑更多的问题。进行考试由于同一次考试的试卷相同,要杜绝考生作弊是一个普遍的难题,因此,历届组织考试的人动了很多脑筋,如分AB卷,加强监考,加重对作弊者的惩罚程度等,但这些都没能从根本上杜绝作弊。不同地域监考的严格程度,考试时问控制的严格程度,也很难达到统一。过多人为因素的加入,也使得考试的公正性下降。判卷考试结束后,采用人工判卷比较容易出错,并可能出现人为造成的不公正现象。22可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容1。221经济可行性主要是对项目的经济效益进行评价,利用计算机来实现网上考试以成为适应当今教学管理的方式。开发一套能满足网上考试系统的软件是十分必要的,实现试卷管理和试卷生成自动化,在减少由于认为失误而早成损失的同时,也可以使教师减少工作量。本系统在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。222技术可行性技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有SQLSERVER,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能2。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。23设计目标在线考试系统的总体目标在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数计算总结的所有工作。所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。考试数据的存放和处理必须对考试保密,需要一定的安全性保障。题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。考试的部分客观题在考生考完之后系统就能自动评分,并保存考生的主观题答案。24功能要求系统应该具备的基本功能用户类别登录系统的身份定为二种,一是普通老师,二是学生。权限管理系统需要经过有效的身份验证可以登录。用户的身份不同,使用的系统资源也不同。考生可以参加在线考试和查看成绩,核对答案;普通教师可以在线制作试卷,控制考试、成绩查询、添加试题等。在线考试功能考生输入学号密码登陆系统后,选择对应的试卷可进行考试。答题中,有倒计时的功能,考试结束时还没提交就自动交卷,系统将自动对客观题进行评分。在线制作试卷教师、管理员可在线制作试卷,可设定试题的类型、分值,但教师制作试卷后必须要由管理员审核才能考试。考生管理功能可注册新增学生用户,同时查看考生及班级考生的信息。考生成绩查询功能提供考生各科目成绩的详细查询。除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强。25系统开发环境配置选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;令一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。具体如下开发工具ECLIPSE4辅助开发工具DREAMWEAVER数据库SQLSERVER20005服务器APACHETOMCAT606运行环境安装JDK16支持JAVA运行。技术前台网页的设计采用JSP技术制作。负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户由SERVLET7处理,JAVABEAN则负责数据的处理。26系统开发工具本系统是基于JSPSQLSERVER2000数据库技术实现的,现对JSP技术和SQLSERVER2000数据库作简要的介绍。261开发技术JSP(JAVASERVERPAGE)JSP3页面由HTML代码和嵌入其中的JAVA代码所组成。JAVASERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的等特点。JSP的技术的优势一次编写,到处运行。在这一点上JAVA比PHP8更出色,除了系统之外,代码不需要做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。JSP技术是用JAVA语言作为脚本语言的。JAVA语言是成熟的、强大的、易扩充的编程语言。高效性与安全性。JSP在执行前先被编译成字节码,字节码由JAVA虚拟机解释执行,比源码解释效率高。可维护性。由于JSP技术是一种开放的、跨平台的结构,因此WEB服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。多样化和功能强大的开发工具支持。JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。262数据库SQLSERVER2000SQLSERVER2000是MICROSOFT公司推出的SQLSERVER数据库管理系统的一个版本。该版本继承了SQLSERVER709版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MICROSOFTWINDOWS98的膝上型电脑到运行MICROSOFTWINDOWS2000的大型多处理器的服务器等多种平台使用。MICROSOFTSQLSERVER2000的特性包括1INTERNET集成。SQLSERVER2000数据库引擎提供完整的XML支持。它还具有构成最大的WEB站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQLSERVER2000程序设计模型与WINDOWSDNA构架集成,用以开发WEB应用程序,并且SQLSERVER2000支持ENGLISHQUERY和MICROSOFT搜索服务等功能,在WEB应用程序中包含了用户友好的查询和强大的搜索功能。2可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行MICROSOFTWINDOWS98的便携式电脑,到运行MICROSOFTWINDOWS2000数据中心版的大型多处理器服务器。SQLSERVER2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大WEB站点所需的性能级别。3企业级数据库功能。SQLSERVER2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLSERVER2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLSERVER2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。4易于安装、部署和使用。SQLSERVER2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLSERVER的过程。SQLSERVER2000还支持基于标准的、与WINDOWSDNA集成的程序设计模型,使SQLSERVER数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLSERVER应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。27小结本章分析确定了开发基于JSP在线考试系统是必要且可行的,并确定了开发环境为ECLIPSETOMCATSQL2000。规划了本系统的设计目标和功能要求。3网上考试系统设计31数据库设计在对网上考试系统数据库部分进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,分析得到数据字典;在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到数据库关系模型的ER图10;在逻辑结构设计阶段得到数据库的关系模式并绘制信息表。详细设计过程如下介绍。311数据库需求分析需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。3111系统基本信息综合以上分析,要实现上面的所有功能模块,数据库共要设计十一张表,它们分别是科目表TBCOURSE、教师信息表TBTEACHER、学生信息表TBSTUDENT试卷信息表TBTESTPAPER、选择题题库表TBCHOICE、填空题题库表TBCOMPLETION、选择题表TBPAPERCHOICE、填空题表TBPAPERCOM、考试表TBMYTEST、考试选择题表TBTESTCHOICE、考试填空题表TBTESTCOM3112系统层次图根据所要实现的功能和用户权限的设置。系统总体的层次图如下图31所示在线考试系统学生教师注册新用户进行考试查看成绩修改个人信息学生信息管理教师信息管理题库管理试卷管理图31系统层次图312数据库逻辑结构设计对于关系型数据库11,数据库的概念结构设计完毕后,要把ER图描述的概念数据模型转换为等价的关系模式极其约束。逻辑设计的基本工作主要包括如下的3个步骤。3121关系模式设计该设计以概念结构设计中的ER图为主要依据,这几出相关的整体逻辑结构。该系统的关系模式如下图32所示TBMYTESTPKIDFK2TESTNOFK1STUNOSCORETESTTIMETBTEACHERPKTECNOTECNAMETECPASSTBMYTESTCHOICEPK,FK2IDPK,FK1TITLENONOINPAPERMYANSWERTBTESTPAPERPKTESTNOTITLEFK1COURSEMAXSCOREADDDATESTARTDATEENDDATEFK2TECNOTBCHOICEPKTITLENOTITLEOPTIONAOPTIONBOPTIONCOPTIONDANSWERFK1COURSEFK2TECNOADDDATETBMYTESTCOMPK,FK2IDPK,FK1TITLENONOINPAPERMYANSWERSCORETBPAPERCHOICEPK,FK3TESTNOPK,FK1TITLENONOINPAPERSCOREFK2TECNOTBCOMPLETIONPKTITLENOTITLEANSWERFK1COURSEFK2TECNOADDDATETBPAPERCOMPK,FK3TESTNOPK,FK1TITLENONOINPAPERSCOREFK2TECNOTBSTUDENTPKSTUNOSTUNAMESTUSEXSTUCLASSSTUPASSTBCOURSEPKCOURSE图32概念关系模型图3132完整性设计完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束要求主键必须唯一且不能为空。如用户信息表中的用户名设置为主键,并且要求唯一且不能为空,并且为了保证删除数据时的完整性,还是用了INSTEADOF类型的触发器12,触发器如下/对象触发器DBODELETETBCHOICE/CREATETRIGGERDELETETBCHOICEONDBOTBCHOICEINSTEADOFDELETEASBEGINDELETEFROMTBPAPERCHOICEWHERETITLENOINSELECTTITLENOFROMDELETEDDELETEFROMTBMYTESTCHOICEWHERETITLENOINSELECTTITLENOFROMDELETEDDELETEFROMTBCHOICEWHERETITLENOINSELECTTITLENOFROMDELETEDEND/对象触发器DBODELETETBCOMPLETION/CREATETRIGGERDELETETBCOMPLETIONONDBOTBCOMPLETIONINSTEADOFDELETEASBEGINDELETEFROMTBPAPERCOMWHERETITLENOINSELECTTITLENOFROMDELETEDDELETEFROMTBMYTESTCOMWHERETITLENOINSELECTTITLENOFROMDELETEDDELETEFROMTBCOMPLETIONWHERETITLENOINSELECTTITLENOFROMDELETEDEND/对象触发器DBODELETETBCOURSE/CREATETRIGGERDELETETBCOURSEONDBOTBCOURSEINSTEADOFDELETEASBEGINDELETEFROMTBCHOICEWHERECOURSEINSELECTCOURSEFROMDELETEDDELETEFROMTBCOMPLETIONWHERECOURSEINSELECTCOURSEFROMDELETEDDELETEFROMTBTESTPAPERWHERECOURSEINSELECTCOURSEFROMDELETEDDELETEFROMTBCOURSEWHERECOURSEINSELECTCOURSEFROMDELETEDEND/对象触发器DBODELETETBMYTEST/CREATETRIGGERDELETETBMYTESTONDBOTBMYTESTINSTEADOFDELETEASBEGINDELETEFROMTBMYTESTCHOICEWHEREIDINSELECTIDFROMDELETEDDELETEFROMTBMYTESTCOMWHEREIDINSELECTIDFROMDELETEDDELETEFROMTBMYTESTWHEREIDINSELECTIDFROMDELETEDEND/对象触发器DBODELETETBSTUDENT/CREATETRIGGERDELETETBSTUDENTONDBOTBSTUDENTINSTEADOFDELETEASBEGINDELETEFROMTBMYTESTWHERESTUNOINSELECTSTUNOFROMDELETEDDELETEFROMTBSTUDENTWHERESTUNOINSELECTSTUNOFROMDELETEDEND/对象触发器DBODELETETTEACHER/CREATETRIGGERDELETETTEACHERONDBOTBTEACHERINSTEADOFDELETEASBEGINDELETEFROMTBTESTPAPERWHERETECNOINSELECTTECNOFROMDELETEDDELETEFROMTBPAPERCHOICEWHERETECNOINSELECTTECNOFROMDELETEDDELETEFROMTBPAPERCOMWHERETECNOINSELECTTECNOFROMDELETEDDELETEFROMTBCHOICEWHERETECNOINSELECTTECNOFROMDELETEDDELETEFROMTBCOMPLETIONWHERETECNOINSELECTTECNOFROMDELETEDDELETEFROMTBTEACHERWHERETECNOINSELECTTECNOFROMDELETEDEND/对象触发器DBODELETETESTPAPER/CREATETRIGGERDELETETESTPAPERONDBOTBTESTPAPERINSTEADOFDELETEASBEGINDELETEFROMTBPAPERCHOICEWHERETESTNOINSELECTTESTNOFROMDELETEDDELETEFROMTBPAPERCOMWHERETESTNOINSELECTTESTNOFROMDELETEDDELETEFROMTBMYTESTWHERETESTNOINSELECTTESTNOFROMDELETEDDELETEFROMTBTESTPAPERWHERETESTNOINSELECTTESTNOFROMDELETEDEND3133模式优化本次采用3NF为规范准则来分解关系。将一个关系分解为两个或者多个关系,以满足规范,从而避免产生插入异常、删除异常、更新异常。314数据库表设计学生信息表如表31所示表31学生信息表(TBSTUDENT)列名类型备注说明STUNOVARCHAR20主键STUNAMEVARCHAR20STUSEXVARCHAR5ISMALEORFEMALESTUCLASSVARCHAR30班级STUPASSVARCHAR30密码教师信息表如表32所示表32教师信息表(TBTEACHER)列名类型备注说明TECNOVARCHAR20主键TECNAMEVARCHAR20TECPASSVARCHAR30密码选择题信息表如表33所示表33选择题信息表(TBCHOICE)列名类型备注说明TITLENOINT自动增长主键TITLEVARCHAR200OPTIONAVARCHAR50OPTIONBVARCHAR50OPTIONCVARCHAR50OPTIONDVARCHAR50ANSWERVARCHAR2COURSEVARCHAR20TECNOVARCHAR20ADDDATEDATETIME填空题信息表如表34所示表34填空题信息表(TBCOMPLETION)列名类型备注说明TITLENOINT自动增长主键TITLEVARCHAR200ANSWERVARCHAR50COURSEVARCHAR20TECNOVARCHAR20ADDDATEDATETIME试卷表如表35所示表35试卷表(TBTESTPAPER)列名类型备注说明TESTNOINT自动增长主键TITLEVARCHAR60试卷名称COURSEVARCHAR20学科MAXSCOREINT分值ADDDATEDATETIME试卷命题时间STARTDATEDATETIME试卷开放时间ENDDATEDATETIME试卷终止时间TECNOVARCHAR20试卷选择表如表36所示表36试卷选择表(TBPAPERCHOICE)列名类型备注说明TESTNOINT外键TITLENOINT外键SCOREINT分值NOINPAPERINT试卷中的题号TECNOVARCHAR20试卷填空表如表37所示表37试卷填空表(TBPAPERCOM)列名类型备注说明TESTNOINT外键TITLENOINT外键SCOREINT分值NOINPAPERINT试卷中的题号TECNOVARCHAR20学科信息表如表38所示表38学科信息表(TBCOURSE)列名类型备注说明COURSEVARCHAR20主键考试表如表39所示表39考试表(TBMYTEST)列名类型备注说明IDINT自动增长主键TESTNOINT外键STUNOVARCHAR20外键SCOREINT得分TESTTIMEDATETIME考试时间考试选择题考生答案表如图310所示表310考试选择题考生答案表(TBMYTESTCHOICE)列名类型备注说明IDINT外键TITLENOINT外键NOINPAPERINT试卷中题号MYANSWERVARCHAR2考试填空题考生答案表如图311所示表311考试填空题考生答案表(TBMYTESTCOM)列名类型备注说明IDINT外键TITLENOINT外键MYANSWERVARCHAR50NOINPAPERINT试卷中题号SCOREINT分数32系统结构设计321页面模块化设计模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代码的可维护性和稳定性。一个模块化程度高、结构清晰的应用程序,在程序维护时的便利性是可想而知的。最初设计方案时,就要规划好哪些模块是可以提出来多次使用,哪些模块虽只使用一次,但提出来之后能使代码更清晰等。网上考试系统是一个典型的数据库开发应用程序,本系统主要用管理员、教师和学生二大模块组成,各模块功能如下1、用户功能模块学生登录学生注册修改个人信息进行考试查看成绩图33学生功能模块图学生注册可以注册学生权限的账号修改个人信息学生登录后修改个人基本信息考试模块功能学生登陆后选择试卷并进行考试成查看成绩功能学生登陆后可以查询自己的成绩信息,已经查看标准答案。2、教师功能模块教室登录教师信息管理试卷信息管理题库信息管理学生信息管理设置个人信息图34教师功能模块图设置个人信息修改个人基本信息学生信息管理模块功能教师负责对数据库信息的维护(包括增加,删除,修改),实现对学生基本信息的增删改。教师信息管理模块功能教师负责对数据库信息的维护(包括增加,删除,修改),实现对教师基本信息的增删改。试卷信息管理模块功能教师对试卷的基本信息的维护,实现对试卷及其信息(如分数)的增,删,改,考试时间的设定。题库信息管理模块功能教师对试卷的基本信息的维护,实现对题库(选择题和填空题)的增,删,改。322MVC模式设计(JSPSERVLETJAVABEAN)MVC(MODELVIEWCONTROLLER)13是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。视图是用户看到并与之交互的界面。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。JSP页面处于表现层,也就是视力(VIEW即V)的角色。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。JAVABEAN则负责数据的处理,也就是模型(MODEL即M)的角色。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WEB页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。SERVLET用来处理请求的事务,充当控制器(CONTROLLER即C)的角色,SERVLET负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。初始的请求由SERVLET来处理,SERVLET调用商业逻辑和数据处理代码,并创建BEAN来表示相应的结果(模型)。然后SERVLET确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面(JSP页面即为视图),由SERVLET确定哪个业务逻辑适用,应该用哪个JSP页面相应结果(SERVLET就是控制器)。33小结本章详细介绍了数据库的设计和建立,确定了使用11张基本表和7个触发器的方案,该方案的确立减少了数据库的冗余,并确保了数据的完整性。还确定了采用JSPSERVLETBEAN的MVC设计模式,规划了系统的功能模块。4网上考试系统实现41系统各部分的实现方法从系统功能模块划分中可以看出,系统总体上有两个功能模块组成。各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于教师和学生的操作。在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式JDBCODBC14桥接器。再介绍系统主要部分的实现方法。411建立JDBCODBC桥接器JDBC使用JAVALANG包中的CLASS类建立JDBCODBC桥接器。CLASS类通过调用它的静态方法FORNAME加载SUNJDBCODBC包中的JDBCODBCDRIVER类建立JDBCODBC桥接器。建立桥接器师可能发生异常,必须捕获这个异常,建立桥接器的代码是TRYCLASSFORNAME“SUNJDBCODBCJDBCODBCDRIVER”CATCHCLASSNOTFOUNDEXCEPTIONE1SYSTEMOUTPRINTLN“驱动加载失败DRIVER“DRIVER412创建ODBC数据源打开控制面板/管理工具/ODBC数据源。点击添加,选择SQLSERVER,建立一个连接本系统数据库的数据源(名称为CWX_200710137317)413和ODBC数据源制定的数据库建立连接使用类DRIVERMANAGER调用静态方法GETCONNECTION创建JAVASQLCONNECTION类的对象,代码是TRYCONDRIVERMANAGERGETCONNECTION“JDBCODBCCWX_200710137317“SYSTEMOUTPRINTLN“连接数据库成功“CATCHSQLEXCEPTIONESYSTEMOUTPRINTLN“获取连接失败“413用户及管理员登录模块页面用户登录页面比较简单,为防止用户登录的操作错误,应设置错误处理页面,在登录操作过程中,一般发生的错误有用户输入了错误的用户名或密码、用户直接单击了登录按钮,对上述情况的判断就要通过SERVLET文件来实现。界面如图41所示图41学生登录面在登录页面时,当用户提交了登录资料后,就由“LOGINJAVA”这个SERVLET进行验证,它的工作主要是判断用户登录的帐号和密码是否一致。完成这工作就必须连接存储用户数据库取出相关信息记录。如果若用户提交正确的用户和密码后且验证无误,就通过SESSIONSETATTRIBUTE“USER“,USERSESSIONSETATTRIBUTE“ROLE“,ROLE方法存储用户的登录信息;判断用户是否输入正确用户名和密码的JAVA程序片段如下所示PROTECTEDVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONSTRINGUSERNAMEREQUESTGETPARAMETER“USERNAME“/获取参数STRINGPASSWORDREQUESTGETPARAMETER“PASSWORD“STRINGROLEREQUESTGETPARAMETER“ROLE“SYSTEMOUTPRINTLN“USERNAMEPASSWORDROLEHTTPSESSIONSESSIONREQUESTGETSESSION/得到SESSION对象IF“STUDENT“EQUALSROLE/判断是否用STUDENT身份登录STUDENTSTUDENTNEWSTUDENT/建立STUDENT对象STUDENTSETSTUNOUSERNAMEDAODAONEWDAOSTUDENT/获取接口对象/通过接口查出STUDENT对象STUDENTSTUDENTDAOGETMODELBYPKSTUDENTIFNULLSTUDENTSESSIONSETATTRIBUTE“USER“,USERSESSIONSETATTRIBUTE“ROLE“,ROLESYSTEMOUTPRINTLN“LOGINSUCCESS“IF“TEACHER“EQUALSROLE/判断是否用TEACHER身份登录TEACHERTEACHERNEWTEACHER/新建TEACHER对象TEACHERSETTECNOUSERNAMEDAODAONEWDAOTEACHER/根据账号信息获取TEACHER对象TEACHERTEACHERDAOGETMODELBYPKTEACHER/判断密码是否正确IFNULLTEACHERSESSIONSETATTRIBUTE“USER“,USERSESSIONSETATTRIBUTE“ROLE“,ROLESYSTEMOUTPRINTLN“LOGINSUCCESS“/重定向到INDEXREQUESTGETREQUESTDISPATCHER“INDEX“FORWARDREQUEST,RESPONSE然后,再通过REQUESTGETREQUESTDISPATCHER“INDEX“FORWARDREQUEST,RESPONSE重定向到INDEX,在INDEX中通过判断用户的登录信息来判断重定向到登录页面、学生主页、教师主页中的哪个页面。程序代码片段如下PROTECTEDVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONHTTPSESSIONSESSIONREQUESTGETSESSIONUSERUSERUSERSESSIONGETATTRIBUTE“USER“IFNULLUSER/判断是否已经登录SYSTEMOUTPRINTLN“LOGINSUCCESS“IF“STUDENT“EQUALSUSERGETROLE/判断用户身份REQUESTGETREQUESTDISPATCHER“STUDENT/INDEXOFSTUDENTJSP“FORWARDREQUEST,RESPONSE/重定向到学生主页ELSEREQUESTGETREQUESTDISPATCHER“TEACHER/INDEXOFTEACHERJSP“FORWARDREQUEST,RESPONSEELSESYSTEMOUTPRINTLN“LOGINFAIL“REQUESTGETREQUESTDISPATCHER“INDEXJSP“FORWARDREQUEST,RESPONSE/重定向到登录页面414系统主要模块页面整个系统都采用JSPJAVABEANSERVLET模式实现。JSPJAVABEANSERVLET模式的运用实现了代码的重复利用;是系统程序易编写、易维护、易使用;并且可以在任何安装了JAVA运行环境的平台上使用而不需要重新编译。系统首页如图42、43所示。学生登录系统进入学生选择考试页面如图42所示图42学生登录首页教师登录系统后,进入教师首页如下图43所示图43教师界面不同用户登录系统后显示的界面都是简单都是一些功能的链接。外观是IFRAME的框架。415学生考试模块的实现页面考生可以通过首页登录进入进入学生主页,在主页上有三个链接,分别是在线考试,参加过的考试,个人信息修改。进入在线考试之后会进行选择科目进入试题选择页面,点击参加考试就可以进行考试了学生考试界面如下图44所示。图44考试页面考试功能实现为,学生在试卷列表页面中点击进行考试,系统将根据点击的链接提供的信息来确定学生请求的哪份试卷,并用SESSION存储试卷的ID,随后在数据库中提取改试卷的题目信息并发送到JSP页面进行显示以让学生进行考试。学生填写完答案后则点击交卷按钮将答案提交给系统,系统将再次根据SESSION中的试卷ID的值取出试卷的试题信息,结合考生的账号和答案,将相关信息存入数据库中,并且对比学生的答案和标准答案,对选择题进行自动打分。代码如下PROTECTEDVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTION/TODOAUTOGENERATEDMETHODSTUBREQUESTSETCHARACTERENCODING“UTF8“INTTESTNO0/获取试卷编号,每份试卷有一个唯一的试卷编号IFNULLREQUESTGETPARAMETER“TESTNO“TESTNOTESTPAPERREQUESTGETSESSIONGETATTRIBUTE“TESTPAPER“GETTESTNOELSETESTNOINTEGERPARSEINTREQUESTGETPARAMETER“T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物联网工程技术高级考试模拟试题及复习策略指导
- 2025年煤气安全操作规范学习笔记与考试重点梳理
- 甲醇安全知识培训资料课件
- 优翼数学高中教学课件
- 甩头试验课件
- 湖北省黄石市两区联考2024-2025学年八年级下学期期末历史试题
- 2024-2025学年河北省邯郸市七年级(下)期末数学试卷(含答案)
- 用电安全知识培训班课件
- 生鲜食品安全知识培训课件
- 生物类基础知识培训课件
- 2023年临沧市市级单位遴选(选调)工作人员考试真题
- (正式版)JTT 1172.2-2023 系列2集装箱 技术要求和试验方法 第2部分:保温集装箱
- 高韧性彩色氧化锆陶瓷的制备及性能研究
- 乡村规划设计案例分析报告
- 兽医公共卫生学第十六章 兽医公共卫生监督管理概述
- 高三心理健康课件
- CorelDRAW实例教程(CorelDRAW 2020)全套教学课件
- 绿色制造技术在专用车辆制造业的应用研究
- 血液内科护理查房
- 个人起诉装修公司诉状
- 五年级数学竞赛试卷
评论
0/150
提交评论