1、内蒙古工业大学本科毕业设计说明书学校代码: 10128学 号: 040201011 本科毕业设计说明书(题 目:基于WEB的网上考试系统的设计与实现学生姓名:刘文涛学 院:信息工程学院系 别:计算机系专 业:计算机科学与技术班 级:计算机04-1指导教师:王晓强 讲 师 张海斌 工 程 师二 八 年 六 月摘要在线考试系统旨在解放教师传统教学中制作试卷时的困惑,对一些考生不集中的考试,比如一些认证式的网上考试就比较适合这种在线考试的方式,不仅方便了制作试卷的流程,更重要的是实现了无纸化,适应可持续发展的战略思想。本系统就是为此类问题而专门设计的基于WEB的网上考试,它包括试题管理、考生管理、在
2、线制作试卷等功能。本论文主要介绍了网上考试系统的设计和开发的全部过程。本文所提出的基于WEB的网上考试系统,是根据目前非常流行的Struts框架与Hibernate数据库持久层,在具体的系统应用中为基础而制作的,由Struts实现表现层和业务逻辑层,由Hibernate实现数据持久层,成功实现了WEB系统开发的M-V-C的分离。为系统开发的效率和系统的测试以及以后的维护、扩展带来了方便。结合了网上考试系统的各种需求,解决了考试系统中的题库维护、组卷困难、评卷烦琐等问题,减少了人为因素在考试中的干预,很大程度上提高了考试的公证性和客观性。充分利用了校园网的软硬件资源,节约了大量的人力财力。全文共
3、分为开发方案、需求分析、系统设计、关键技术解决,结论等部分。网上在线考试系统是典型的B/S架构的系统,其开发主要包括应用程序的开发, 数据库的建立和维护两个方面。它引入了面向对象编程的思想,使系统界面友好,功能完善,操作灵活,使用方便。同时,在数据库的建立和维护方面,采用Oracle 公司的Oracle(9i)作为数据库的开发工具。它适用于Unix/Windows操作平台,是大中型系统使用较广的数据库开发平台。网上在线考试系统开发的总体目的是在实现INTERNET和局域网内的在线考试。关键词:网上考试;WEB;Struts;Hibernate AbstractOnline examinatio
4、n system aimed at the liberation of teachers teaching in the traditional type of examination, for some candidates do not focus on the examination, such as some of the online certification test is more suitable for such on-line examination of the way, not only facilitate the production of the papers
5、process, Important is to achieve a paperless, to the sustainable development of strategic thinking. The system is the main development and application of such issues designed - WEB-based online examinations, including management questions, candidates management, on-line production of papers, and oth
6、er functions.This paper introduced an online examination system design and development of the entire process. This article by WEB-based online testing system is currently very popular in accordance with the Struts framework and lasting Hibernate database layer, in specific applications, from Struts
7、to achieve performance layer and bussiness logic from Hibernate to achieve lasting data layer. WEB successful implementation of the system developed by the MVC separation.The online examination system needs to address the examination system in the difficult of testing paper, complicated issues such
8、as marking a decrease of the examination of human intervention, to a great extent improve the examination of the notarization and objectivity .Online examination system is a typical B / S structure of the system, including the development of its application development, database creation and mainten
9、ance of the two areas. It introduced the idea of object-oriented programming, and it made the system friendly and easy to use. At the same time, the establishment and maintenance of the database, The system used Oracle (9i) as a database development tool. It applies to Unix / Windows operating platf
10、orm, and it also is the large and medium-sized system uses a wider database development platform. Online examination system development in the overall objective is to achieve INTERNET LAN and the online exam.Keyword:JSP;Web;mode of B/ S;Struts;Hibernate内蒙古工业大学本科毕业设计说明书目 录引 言1第一章 系统开发分析21.1开发方案21.1.1
11、问题分析21.1.2项目目的21.1.3方案选择21.1.4开发框架技术8第二章 系统需求分析102.1需求分析102.1.1任务概述102.1.2功能需求概述102.1.3功能需求说明102.2运行环境12第三章 系统总体设计1331系统设计133.1.1系统整体结构图133.1.2系统用例图143.1.3系统类图143.1.4系统活动图153.1.5 系统功能跳转图153.1.6系统部署图173.2数据库设计173.2.1主要数据库表的介绍173.2.2数据字典173.3 系统模块设计193.3.1 demo页面193.4系统分层273.4.1 Bean层293.4.2 Common层30
12、3.4.3 Dao层303.4.4 Service层313.4.5 Web层31第四章 关键技术解决3341关键技术解决334.1.1数据库的连接334.1.2系统架构34结论37参考文献38谢 辞39引 言现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要,同时随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的
13、出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。学生可以随时、随地进行课程结业考试。随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于B/S架构的系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。第一章 系统开发分析1.1开发方案1.1.1问题分析传统
14、的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方
15、式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。1.1.2项目目的在线考试系统的总体目标:(1)在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。(2)所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。(3)对考试的系统目标:这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。题目最好有一定的稳定性和随机性。稳定性可以保证每一
16、次考试对每一个考生是公平的,随机性可以避免作弊的发生。1.1.3方案选择开发在线考试系统,提出以下解决方案:选择ORACLE 9i作为后台的数据库,选择JAVA、Struts、JSP、Hibernate、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。(1) JAVA简介Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、
17、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。Java平台由Java虚拟机(Java Virtual Machin
18、e)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6,Java分为三个体系JavaSE,JavaEE,JavaME。Java语言是一个支持网络计
19、算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1)Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2)Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接
20、口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3)Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java,.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4)Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是
21、Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5)Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6)Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为
22、class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7)Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。8)Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9)Java
23、是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。10)Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run
24、方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11)Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Jav
25、a的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。(2) Java开发工具简介 Eclipse最初是IBM公司的一个产品,2001年11月其1.0版本正式发布,面世之初,Eclipse还很不起眼,并饱受业界批评,到2003年3月,Eclipse发布了它的2.1版本,立刻引起了轰动,下载的人蜂拥而至,导致它的下载服务器都因超载而堵塞了。现在IBM将投入巨资开发的Eclipse作为一个开源项目捐给了开源组织Eclips
26、e.org.Eclipse出色而有独创性的平台特性,吸引了众多大公司加入到Eclipse这个平台的发展上来,包括HP,Oracle,Sybase,Borland,RedHat,Rational Software等。Eclipse的技术特征与优势: Eclipse是一种通用工具平台,普遍适用的开放式扩展IDE.它提供了功能丰富的开发环境,该环境允许开发者高效的创建一些能够无缝集成到Eclipse平台中的工具。 Eclipse的设计思想是:一切皆为插件. Eclipse的核心非常小,其他所有的功能都是以插件的形式附加到这个Eclipse核心之上,这样的功能插件包括它的插件开发环境(简称PDE)等等
27、,而且Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且可以无缝结合。 Eclipse对这些插件是动态载入动态调用的,所谓动态就是, Eclipse启动后要用到这个插件时,这个插件才会被调入内存的,当它不再使用后,它又会在适当的时候被清除内存.即使你安装了一大堆插件在Eclipse中,你也不会担心某些不用的插件白白占着内存。 Eclipse有极为强大的集成开发环境,它集成了CVS,JUnit和Ant,且其强大的代码重构功能独步江湖无人能及,是作者最喜欢的也最常用的一个功能。因为Eclipse的安装包集成了java开发环境的插件JDT,所以Eclipse默认是一个Java的
28、开发工具.但Eclipse不仅仅只是Java的开发工具,我们只需安装C/C+的插件(简称CDT),就可以把它当作一个C/C+开发工具来使用.只要有相应的插件,我们也可以用Eclipse来做其他语言的开发工具。 Eclipse的插件扩展机制是其最突出的特点和优势,我们还可以利用Eclipse的插件开发环境(简称PDE)来开发自己的Eclipse插件,随我所需的扩展Eclipse的功能.Eclipse的插件扩展机制给我们一个基于Eclipse上的无限扩展可能,Eclipse就象一个精巧设计好的插花基座,我们可以在上面插玫瑰,满天星等,将Eclipse打扮的分外娆妖。(3)Web应用程序开发环境JS
29、P技术JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点:1)将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;2)能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;3)组件的开发和使用很方便:如ASP的组件是由C+,VB等语言开发的,并需要注
30、册才能使用;而JSP的组件是用Java开发的,可以直接使用;4)一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Write once , Run everywhere.(4)Tomcat应用服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在
31、浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。(5)Oracle 9i数据库服务器是解决信息管理的主要工具。一般情况下,服务器必须在多用户环境中管理大量的数据,
32、使得多个用户能够并行访问数据。所有这些必须能够在高性能的情况下完成,数据库服务器必须防止未经授权的非法访问,保护敏感数据,同时,为故障恢复提供解决方案。为此,Oracle服务器提供了以下特性:1)客户服务器环境2)大型数据库和空间管理3)多个并行数据库用户4)连接性5)高事务处理能力6)控制安全性7)开放的、基于工业标准8)管理安全性9)数据库完整性增强10)兼容性11)分布式系统12)复制环境(6)B/S 开发模式伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(clie
33、nt)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:1)系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。2)在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。B/S模式带来了巨大的好处:1)开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全
34、通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。2)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。1.1.4开发框架技术对于框架技术,采用Struts+Hibernate的整合,其实任何一种框架都可以完成这个的项目,选择两种框架的组合是因为两种框架各有好处,利用它们的优点,来避免它们的缺点,充分利用Java技术在web的应用。(1)Struts是应用比较广泛的一种表现层框架Struts是一个为开发基于模型
35、(Model)视图(View)控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和struts标签库构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts是应用比较广泛的一种表现层框架。下面就分别从视图、控制、模型和Struts的配置文件stru
36、ts-config.xml来介绍Struts的体系结构。1)视图视图是一组JSP 文件,Struts自身包含了一组可扩展的自定义标签库,可以简化创建用户界面的过程。2)模型模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomForm Bean 体现,对于业务逻辑通常由JavaBean或EJB组件来实现。3)控制器控制器主要由ActionServlet 类和Action 类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。A
37、ction 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。4)配置文件Struts-config.xml在Struts中,那些描述用户请求路径和Action映射关系的配置信息都存储在特定的XML文件Struts-config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。(2)Hibernate通过持久层的框架将数据库存储从服务层中分离出来它是O/R Mapping的一种实现是目前在
38、JAVA界使用非常广泛的O/R Mapping的一种实现,可以实现关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向:直接自己编写JDBC等SQL语句(如Ibatis);使用O/R Mapping技术实现的Hibernate和JDO技术;当然还有EJB中的实体Bean技术。Hibernate的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和Hibernate
39、提供的一 些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate提供的HQL是一种类SQL语言,是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL。第二章 系统需求分析2.1需求分析2.1.1任务概述在线考试管理子系统主要实现题库管理、考生管理等功能,充分利用计算机科学与技术和web框架,改变传统的考试操作方式,实现无纸化考试与自动化相结合的考试模式。2.1.2功能需求概述系统
40、需要解决的主要问题本系统主要开发的是后台管理子系统中的题库管理,考生管理,考试管理,在此系统中主要对后台考试系统的进行管理和设置。我们将子系统分为以下功能模块:题库管理:在管理员权限下,对预定的几门科目可以进行考题的增加删除等操作。考生管理:主要是对考生的添加、删除,以及对考生信息的修改。考试管理:主要是考试在登录后对考试题目的选择和答题,以及最后交卷后分数的评判进行管理。系统管理:管理员安全退出。2.1.3功能需求说明在线考试系统部分功能分析一 题库管理(1)增加考题经过login.jsp页面对相关信息的填入,并进入管理员权限,在admin_exam.jsp,页面添加一个考题,考题用作考生考
41、试试题,当添加成功后,跳转回admin_exam.jsp,并发出消息通知用户试题添加成功,继续录入考题。详细描述:1)需要判断所添加题目是否已填写完全(包括题目,选项,答案和科目)。2)判断当前session范围内是否存在一个包含选项内容的非空字符串。3)将用户录入的试题封装成一个Exam类,按照不同科目存入对应表中。具体步骤:1)实现ExamDaoImpl.java和ExamServiceImpl.java中的saveOrUpdateExam()方法。2)创建Admin_examAction实现saveOrUpdateExam()方法,并且将录入的考题存入数据库中的表Exam。3)创建add
42、_exam.jsp。(2)管理考题在管理考题模块中,由于时间和技术上的不足,在考题管理方面,只做了对与固定考题的录入,就是说,录入的考题已经被提前写入数据库,除此类型的考题外,不能再录入更多类型的考题,还有就是对已经录入的考题进行操作的时候,只能通过调用DelExamAction并实现ExamDaoImpl.java和ExamServiceImpl.java中的delexam()方法删除已经录入的考题,尚不能修改已经录入的考题。二 考生管理(1)添加考生在add_examer.jsp页面中添加考生,这里添加的考生包括了考生的考号和考生在登录考试系统时候所需的密码。详细描述:1)添加成功显示成功
43、信息,失败显示失败信息2)若添加考生成功跳转到admin.jsp页面显示全部考生信息,并可以在此页,对已经录入的考生进行查看、添加、修改、删除都能操作。3)若添加考生失败,跳转到add_examer.jsp页面,并且提示错误信息,并要求管理员从新录入考生信息。具体步骤:1)实现PersonDaoImpl.java和中saveOrUpdatePerson()方法,添加考生2)实现PersonServiceImpl.java中的saveOrUpdatePerson()方法3)创建add_examer.jsp(2)管理考生在admin.jsp页面中,管理员可以对已经录入的考生的信息进行添加、修改、查
44、看和删除。详细描述: 管理员通过点击查看、修改、删除等按钮,来实现对已经录入到数据库的考生信息的管理。具体步骤:1)查看考生信息,通过点击查看按钮,调用Show_examerAction.java并且实现PersonDaoImpl.java和PersonServiceImpl.java中的findGradeByNum()方来进行操作,并且将所查到的数据放在session作用域里,将页面跳转到show_examer.jsp页面。2)修改考生信息,通过点击修改按钮,调用Modify_show_examerAction.java并且实现PersonDaoImpl.java和PersonService
45、Impl.java中的findPeronByNum()方法来进行操作,对于该页面的中分页的处理放在Modify_examerAction.java中来处理。3)删除考生信息,通过点击删除按钮,调用deleteExamerAction.java并且实现PersonDaoImpl.java和PersonServiceImpl.java中的deletePerson()方法来实现。三 考试管理详细描述:考生通过输入自己的考号和密码,进入到选择考题类型页面,考生可以通过对固定类型考题进行答题,也可以选择“随机选题”,在题库中随机抽取各个类型的题,进行答题,在考生点击“交卷”后,系统将对考生所提交的数据进
46、行判卷,并将考试的最后成绩插保存到数据库中。具体步骤:(1)考生登录后,跳转到choose_exam.jsp页面进行考题策略的选择。(2)(2)若选择按固定题型选题,调用Choose_examAction.java来完成,并实现ExamDaoImpl.java中的findExam()方法来显示考题;若选随机选取题型,调用AutoChooseExamAction.java方法来完成,并实现search(Exam exam,List l)和findRadom()方法来随机选择试题和显示选出的试题。(3)选择好题型后跳入exam.jsp页面,正式答题过程,考生再完成对单选题型的作答之后就点击“交卷”
47、按钮,就会由ExamAction.java来完成,并实现对分数的判断,以及将评判出的成绩保存到数据库中,然后跳到show_result.jsp页面,刚刚考过的考题分数显示出来。2.2运行环境硬件需求: PIII/256M/10G 及以上配置,要求为考试系统分配足够的磁盘空间推荐配置: PIV 2G/512M/40G操作系统需求:Linux操作系统(推荐),也可以使用Windows系列操作系统数据库软件需求: Oracle 9i/10g ( 推荐 ) ,也可以使用或mySql数据库中间件软件需求:Apache Tomcat/5.0.28系列服务器第三章 系统总体设计31系统设计3.1.1系统整体结构图图3-1系统整体结构图3.1.2系统用例图图3-2系统用例图3.1.3系统类图图3-3系统类图说明:本系统主要分为四个Bean类,用私有方式private关键字加以限制,封装了业务信息,在四个类中,分别提供了set和get方法,用于对数据的存储和读取,并实现了序列化接口,便于在网络中进行传输(如图3-3所示)