




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古工业大学本科毕业设计说明书学校代码: 10128学 号: 本科毕业设计说明书(题 目:基于WEB的网上考试系统的设计与实现学生姓名: 学 院:信息工程学院系 别:计算机系专 业:计算机科学与技术班 级:计算机04-1指导教师: 讲 师 工 程 师二 八 年 六 月摘要在线考试系统旨在解放教师传统教学中制作试卷时的困惑,对一些考生不集中的考试,比如一些认证式的网上考试就比较适合这种在线考试的方式,不仅方便了制作试卷的流程,更重要的是实现了无纸化,适应可持续发展的战略思想。本系统就是为此类问题而专门设计的基于WEB的网上考试,它包括试题管理、考生管理、在线制作试卷等功能。本论文主要介绍了网上考试系统的设计和开发的全部过程。本文所提出的基于WEB的网上考试系统,是根据目前非常流行的Struts框架与Hibernate数据库持久层,在具体的系统应用中为基础而制作的,由Struts实现表现层和业务逻辑层,由Hibernate实现数据持久层,成功实现了WEB系统开发的M-V-C的分离。为系统开发的效率和系统的测试以及以后的维护、扩展带来了方便。结合了网上考试系统的各种需求,解决了考试系统中的题库维护、组卷困难、评卷烦琐等问题,减少了人为因素在考试中的干预,很大程度上提高了考试的公证性和客观性。充分利用了校园网的软硬件资源,节约了大量的人力财力。全文共分为开发方案、需求分析、系统设计、关键技术解决,结论等部分。网上在线考试系统是典型的B/S架构的系统,其开发主要包括应用程序的开发, 数据库的建立和维护两个方面。它引入了面向对象编程的思想,使系统界面友好,功能完善,操作灵活,使用方便。同时,在数据库的建立和维护方面,采用Oracle 公司的Oracle(9i)作为数据库的开发工具。它适用于Unix/Windows操作平台,是大中型系统使用较广的数据库开发平台。网上在线考试系统开发的总体目的是在实现INTERNET和局域网内的在线考试。关键词:网上考试;WEB;Struts;Hibernate AbstractOnline examination 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 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 other 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 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 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 maintenance 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 platform, 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问题分析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层303.4.3 Dao层303.4.4 Service层313.4.5 Web层31第四章 关键技术解决3341关键技术解决334.1.1数据库的连接334.1.2系统架构34结论37参考文献38谢 辞39引 言现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要,同时随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。学生可以随时、随地进行课程结业考试。随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于B/S架构的系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。第一章 系统开发分析1.1开发方案1.1.1问题分析传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。1.1.2项目目的在线考试系统的总体目标:(1)在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。(2)所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。(3)对考试的系统目标:这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。1.1.3方案选择开发在线考试系统,提出以下解决方案:选择ORACLE 9i作为后台的数据库,选择JAVA、Struts、JSP、Hibernate、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。(1) JAVA简介Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在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 Machine)和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语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1)Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2)Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3)Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java,.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4)Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5)Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6)Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7)Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。8)Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9)Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。10)Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11)Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。(2) Java开发工具简介 Eclipse最初是IBM公司的一个产品,2001年11月其1.0版本正式发布,面世之初,Eclipse还很不起眼,并饱受业界批评,到2003年3月,Eclipse发布了它的2.1版本,立刻引起了轰动,下载的人蜂拥而至,导致它的下载服务器都因超载而堵塞了。现在IBM将投入巨资开发的Eclipse作为一个开源项目捐给了开源组织E.Eclipse出色而有独创性的平台特性,吸引了众多大公司加入到Eclipse这个平台的发展上来,包括HP,Oracle,Sybase,Borland,RedHat,Rational Software等。Eclipse的技术特征与优势: Eclipse是一种通用工具平台,普遍适用的开放式扩展IDE.它提供了功能丰富的开发环境,该环境允许开发者高效的创建一些能够无缝集成到Eclipse平台中的工具。 Eclipse的设计思想是:一切皆为插件. Eclipse的核心非常小,其他所有的功能都是以插件的形式附加到这个Eclipse核心之上,这样的功能插件包括它的插件开发环境(简称PDE)等等,而且Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且可以无缝结合。 Eclipse对这些插件是动态载入动态调用的,所谓动态就是, Eclipse启动后要用到这个插件时,这个插件才会被调入内存的,当它不再使用后,它又会在适当的时候被清除内存.即使你安装了一大堆插件在Eclipse中,你也不会担心某些不用的插件白白占着内存。 Eclipse有极为强大的集成开发环境,它集成了CVS,JUnit和Ant,且其强大的代码重构功能独步江湖无人能及,是作者最喜欢的也最常用的一个功能。因为Eclipse的安装包集成了java开发环境的插件JDT,所以Eclipse默认是一个Java的开发工具.但Eclipse不仅仅只是Java的开发工具,我们只需安装C/C+的插件(简称CDT),就可以把它当作一个C/C+开发工具来使用.只要有相应的插件,我们也可以用Eclipse来做其他语言的开发工具。 Eclipse的插件扩展机制是其最突出的特点和优势,我们还可以利用Eclipse的插件开发环境(简称PDE)来开发自己的Eclipse插件,随我所需的扩展Eclipse的功能.Eclipse的插件扩展机制给我们一个基于Eclipse上的无限扩展可能,Eclipse就象一个精巧设计好的插花基座,我们可以在上面插玫瑰,满天星等,将Eclipse打扮的分外娆妖。(3)Web应用程序开发环境JSP技术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等语言开发的,并需要注册才能使用;而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会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。(5)Oracle 9i数据库服务器是解决信息管理的主要工具。一般情况下,服务器必须在多用户环境中管理大量的数据,使得多个用户能够并行访问数据。所有这些必须能够在高性能的情况下完成,数据库服务器必须防止未经授权的非法访问,保护敏感数据,同时,为故障恢复提供解决方案。为此,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(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:1)系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。2)在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。B/S模式带来了巨大的好处:1)开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。2)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。1.1.4开发框架技术对于框架技术,采用Struts+Hibernate的整合,其实任何一种框架都可以完成这个的项目,选择两种框架的组合是因为两种框架各有好处,利用它们的优点,来避免它们的缺点,充分利用Java技术在web的应用。(1)Struts是应用比较广泛的一种表现层框架Struts是一个为开发基于模型(Model)视图(View)控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和struts标签库构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts是应用比较广泛的一种表现层框架。下面就分别从视图、控制、模型和Struts的配置文件struts-config.xml来介绍Struts的体系结构。1)视图视图是一组JSP 文件,Struts自身包含了一组可扩展的自定义标签库,可以简化创建用户界面的过程。2)模型模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomForm Bean 体现,对于业务逻辑通常由JavaBean或EJB组件来实现。3)控制器控制器主要由ActionServlet 类和Action 类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。4)配置文件Struts-config.xml在Struts中,那些描述用户请求路径和Action映射关系的配置信息都存储在特定的XML文件Struts-config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。(2)Hibernate通过持久层的框架将数据库存储从服务层中分离出来它是O/R Mapping的一种实现是目前在JAVA界使用非常广泛的O/R Mapping的一种实现,可以实现关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向:直接自己编写JDBC等SQL语句(如Ibatis);使用O/R Mapping技术实现的Hibernate和JDO技术;当然还有EJB中的实体Bean技术。Hibernate的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和Hibernate提供的一 些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate提供的HQL是一种类SQL语言,是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL。第二章 系统需求分析2.1需求分析2.1.1任务概述在线考试管理子系统主要实现题库管理、考生管理等功能,充分利用计算机科学与技术和web框架,改变传统的考试操作方式,实现无纸化考试与自动化相结合的考试模式。2.1.2功能需求概述系统需要解决的主要问题本系统主要开发的是后台管理子系统中的题库管理,考生管理,考试管理,在此系统中主要对后台考试系统的进行管理和设置。我们将子系统分为以下功能模块:题库管理:在管理员权限下,对预定的几门科目可以进行考题的增加删除等操作。考生管理:主要是对考生的添加、删除,以及对考生信息的修改。考试管理:主要是考试在登录后对考试题目的选择和答题,以及最后交卷后分数的评判进行管理。系统管理:管理员安全退出。2.1.3功能需求说明在线考试系统部分功能分析一 题库管理(1)增加考题经过login.jsp页面对相关信息的填入,并进入管理员权限,在admin_exam.jsp,页面添加一个考题,考题用作考生考试试题,当添加成功后,跳转回admin_exam.jsp,并发出消息通知用户试题添加成功,继续录入考题。详细描述:1)需要判断所添加题目是否已填写完全(包括题目,选项,答案和科目)。2)判断当前session范围内是否存在一个包含选项内容的非空字符串。3)将用户录入的试题封装成一个Exam类,按照不同科目存入对应表中。具体步骤:1)实现ExamDaoImpl.java和ExamServiceImpl.java中的saveOrUpdateExam()方法。2)创建Admin_examAction实现saveOrUpdateExam()方法,并且将录入的考题存入数据库中的表Exam。3)创建add_exam.jsp。(2)管理考题在管理考题模块中,由于时间和技术上的不足,在考题管理方面,只做了对与固定考题的录入,就是说,录入的考题已经被提前写入数据库,除此类型的考题外,不能再录入更多类型的考题,还有就是对已经录入的考题进行操作的时候,只能通过调用DelExamAction并实现ExamDaoImpl.java和ExamServiceImpl.java中的delexam()方法删除已经录入的考题,尚不能修改已经录入的考题。二 考生管理(1)添加考生在add_examer.jsp页面中添加考生,这里添加的考生包括了考生的考号和考生在登录考试系统时候所需的密码。详细描述:1)添加成功显示成功信息,失败显示失败信息2)若添加考生成功跳转到admin.jsp页面显示全部考生信息,并可以在此页,对已经录入的考生进行查看、添加、修改、删除都能操作。3)若添加考生失败,跳转到add_examer.jsp页面,并且提示错误信息,并要求管理员从新录入考生信息。具体步骤:1)实现PersonDaoImpl.java和中saveOrUpdatePerson()方法,添加考生2)实现PersonServiceImpl.java中的saveOrUpdatePerson()方法3)创建add_examer.jsp(2)管理考生在admin.jsp页面中,管理员可以对已经录入的考生的信息进行添加、修改、查看和删除。详细描述: 管理员通过点击查看、修改、删除等按钮,来实现对已经录入到数据库的考生信息的管理。具体步骤:1)查看考生信息,通过点击查看按钮,调用Show_examerAction.java并且实现PersonDaoImpl.java和PersonServiceImpl.java中的findGradeByNum()方来进行操作,并且将所查到的数据放在session作用域里,将页面跳转到show_examer.jsp页面。2)修改考生信息,通过点击修改按钮,调用Modify_show_examerAction.java并且实现PersonDaoImpl.java和PersonServiceImpl.java中的findPeronByNum()方法来进行操作,对于该页面的中分页的处理放在Modify_examerAction.java中来处理。3)删除考生信息,通过点击删除按钮,调用deleteExamerAction.java并且实现PersonDaoImpl.java和PersonServiceImpl.java中的deletePerson()方法来实现。三 考试管理详细描述:考生通过输入自己的考号和密码,进入到选择考题类型页面,考生可以通过对固定类型考题进行答题,也可以选择“随机选题”,在题库中随机抽取各个类型的题,进行答题,在考生点击“交卷”后,系统将对考生所提交的数据进行判卷,并将考试的最后成绩插保存到数据库中。具体步骤:(1)考生登录后,跳转到choose_exam.jsp页面进行考题策略的选择。(2)(2)若选择按固定题型选题,调用Choose_examAction.java来完成,并实现ExamDaoImpl.java中的findExam()方法来显示考题;若选随机选取题型,调用AutoChooseExamAction.java方法来完成,并实现search(Exam exam,List l)和findRadom()方法来随机选择试题和显示选出的试题。(3)选择好题型后跳入exam.jsp页面,正式答题过程,考生再完成对单选题型的作答之后就点击“交卷”按钮,就会由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所示)。3.1.4系统活动图图3-4系统活动图3.1.5 系统功能跳转图图3-5系统功能跳转图3.1.6系统部署图图3-6系统部署图说明:当系统完成上线的时候,将整个系统打包成以.war的形式,并将其部署到Tomcat应用服务器上,使其能够顺利的运行,供用户访问,而在服务器上,应用程序又和本机的数据库相连,使其能够真正的实现数据的存贮和数据的交互(如图3-6所示)。3.2数据库设计3.2.1主要数据库表的介绍根据系统需要和考试需要,设立了如下数据库表:题库表:用于存放管理员录入的考题,相应字段包括考题号,考题题目,存放选项A,存放选项B,存放选项C,存放选项D,存放正确答案,考试类型。考题类型表:用于存放考题类型的表,相应字段包括考题类型号,考题类型名,本表的内容是固定的,也就是说管理员所录入的考题类型已经固定。人员表:用于保存学生或者管理员的考号,姓名,登录密码,人员类型(用于区分考生或者管理员,0代表考生,1代表管理员)。成绩表:用于存储学生的考试成绩,考试日期,和本成绩相对应的考生号。3.2.2数据字典(1)人员表说明:a.表名:PERSONb.数据库类型:ORACLEc.描述:程序中所用到所有类型人员的基本信息,代表现实世界中一个真实的人。字段名字段类型中文描述备注非空主键IDNUMBER唯一标识UniqueEXAM_NUMVARCHAR2(10)考生考号NAMEVARCHAR2(50)真考生姓名PASSWORDVARCHAR2(50)登录密码TYPENUMBER登录类型0,1表3-1 PERSON表(2)考试表说明:a.表名:EXAMb.数据库类型:ORACLEc.描述:系统中管理员录入相关考题的基本信息,代表现实世界中真实的考题。字段名字段类型中文描述备注非空主键IDNUMBER唯一标识TITLEVARCHAR2(300)考题题目ANSWERAVARCHAR2(300)选项AANSWERBVARCHAR2(300)选项BANSWERCVARCHAR2(300)选项CANSWERDVARCHAR2(300)选项DRIGHTANSWERVARCHAR2(300)正确答案TYPEVARCHAR2(50)考题类型从TYPE表中选取表3-2 EXAM表(3)考题类型表说明:1)表名:TYPE2)数据库类型:ORACLE3)描述:规定了考试题目的类型,此表内容固定。字段名字段类型中文描述备注非空主键IDNUMBER唯一标识NAMEVARCHAR2(50)考题类型名Unique表3-3 TYPE表(4)成绩表说明:1)表名:GRADE2)数据库类型:ORACLE3)描述:记录了考生答题交卷后的成绩。字段名字段类型中文描述备注非空主键IDNUMBER唯一标识PERSON_IDNUMBER对应考生号FKPOINTNUMBER成绩EXAM_DATEDATE考试日期表3-4 GRADE表3.3 系统模块设计3.3.1 demo页面一、首页图3-7 首页功能说明:此首页是进入考试系统的第一页,其内容为静态页面,为了实现文件统一,因而修改为Jsp页面,该页面中间是用框架制作的,用来说明网上考试系统的发展,点击下面的超级连接就能进入首页登录界面。(如图3-7)二、登录模块图3-8 登录模块功能说明:此页面为登录页面,不论是管理员还是用户都必须从此页面输入自己相应信息,从而进入系统进行操作,区分管理员和考生的地方是表单中的单选按钮,用户通过此按钮可以选择自己的登录方式,进行自己的操作(如图3-8所示)。三、管理员模块(1)考生管理图3-9 考生管理功能说明:以管理员身份登录后,首先就会跳转到此页面,通过点击查看、修改、删除、添加等按钮,实现对考生信息的录入和修改等操作(如图3-9所示)。(2)删除考生图3-10 删除考生(3)添加考生图3-11 添加考生(1)图3-12 添加考生(2)(4)查看考生信息图3-13 查看考生信息(5)添加考题图3-14 添加考题功能说明:点击进入“录入考题”超级链接,进入考题管理模块,首先进入的是考题添加部分,管理员可以在考试类型里面选择需要录入考题的类型(在数据库中已经定义好),在考试题目文本框中输入所要添加的试题的题目,在下面选项的文本框中放置相应的四个选项,最后在正确答案的单选按钮上选择正确的答案,点击“确定”按钮提交考题成功(如图3-14所示)。(6)查看考题图3-15 查看考题功能说明:点击“查看考题”按钮,进入此页,该页可以查看到所有录入的考题,并且以考试类型排序,管理员可以点击“删除”按钮来删除无用的考题,也可以通过点击“添加考题”来继续对考题进行录入(如图3-15,3-16所示)。(7)删除考题图3-16 删除考题三、考试模块(1)选择考试策略图3-17 选择考试策略功能说明:以考生身份登录进入后,页面跳转到此页,考生可以根据单选按钮的固定题目进行作答,也可以让系统随机从题库抽取题目进行作答(如图3-17,3-18,3-19所示)(2)选择指定的题目图3-18 选择指定题目(3)随机选择试题图3-19 随机选择试题(4)判卷评分图3-20 判卷评分功能说明:当考生对自己所做的题目完成时,并已确认可以交卷的时候,考生点击“交卷”按钮,将试卷提交给系统,系统根据考生所做的答案和数据库中的正确答案相比对,最终将正确答案显示于此页,并将其分数记录于数据库中,确认考试成绩后考生可以点击“退出登录”结束此次考试。3.4系统分层本系统是完全按照MVC模式进行架构的,下图为本系统的结构:图3-21 系统总体框架MVC是一个设计模式(如图3-21),它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 (1)视图 视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保专业笔试题及答案
- 江苏省无锡市2025-2026学年八年级上学期10月月考模拟练习数学试卷(含答案)
- 湖南省永州市冷水滩区普利桥镇小学2025-2026学年四年级数学上册一二单元月考试卷人教版A3
- 海南省文昌市2024-2025学年八年级上学期期中考试数学试卷(含答案)
- 居配小区施工方案
- 2024-2025学年河南省洛阳市洛宁县人教版四年级下册期末学情调研数学试卷(含答案)
- 节前校园安全教育
- 灌缝胶施工方案
- 毕业论文建筑方案设计
- 焊接梯台施工方案
- 2025年一季度全院难免压疮风险评估上报总结分析(二篇)
- 网页设计的交互设计研究-洞察分析
- 微信零钱被冻结的保全复议申请书
- 2025-2030年中国微晶玻璃面板行业规模分析及投资前景规划研究报告
- 《矿山安全技能培训》课件
- 小学生班级安全小卫士
- 虚开增值税专用发票罪的入罪标准解读
- 2025年江苏南京市国企集团招聘笔试参考题库含答案解析
- GB/T 33761-2024绿色产品评价通则
- 公司管理安全奖惩制度(4篇)
- 老旧小区改造工程安全生产和文明施工措施
评论
0/150
提交评论