1、在线考试系统题 目在线考试系统榆 林 学 院课程设计诚信责任书本人郑重声明:所呈交的课程设计,是本人在导师的指导下独立进行研究所取得的成果。课程设计中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人课程设计与资料若有不实,愿意承担一切相关的法律责任。论文作者签名:年 月 日摘 要教育的改革,不仅仅是教育思想的更新和进步,也是教育技术和手段的改进和提高。在各种教育机构的教学过程中,考试都是一个重要的环节,考试工作
2、的好坏直接关系着教学的成绩。传统的考试,长期以来都是以纸和笔为工具,工作效率低、纸张浪费大,因此在线考试应运而生。当今各项技术突飞猛进,尤以计算机技术的发展最为突出。在这种双重因素的作用下,以计算机技术为主的无纸化考试应运而生。主要优势体现在出题方便快捷、阅卷准确快速、成绩分析科学直观。论文首先对在线考试系统进行了需求分析。然后完成了在线考试系统的设计,包括功能模块的设计和数据库的设计。功能模块的设计依据了前面的系统分析,将系统划分为管理员管理、考生管理、成绩查询、试题管理、套题管理、科目管理、在线考试七个模块。关键词:在线考试系统; MVC;JSPABSTRACTWith theinnova
3、tion of educational thought and the development of scienceand technology,the shortcomings of the traditional examinations are completely exposed.The design,organization,printing,distribution,process and evaluation of the test take a lot of labors and materials,which shows peoples lower working effic
4、iency.In such cases,Online exam arises at the historic moment.It is characterized in its convenience and fastness while setting a test paper,its speed and accuracy while evaluating the paper and its scientific analysis of the test paper.It is easier for teachers to set atest paper by the test questi
5、on database.The computerized examination system will save a lot of labors in evaluating the test paper,and greatly improve the accuracy in evaluation.Thestatistical analysis will he performed automatically by the computer,which will be convenient for students to inquiry about,print,count and analyze
6、 their marks.This thesis designs and implements an online examination system by using such technologies and tools as Struts,MVC(Model,View and Controller),UML (Unified modeling language)and J2EE(Java 2 enterprise edition).The thesis first analyses the requirements of online examination system,which
7、include the target and task of the system,shows the Use Case Model,Sequence Diagrams and Activity Diagrams of the system.Then the thesis completes the design of the system,which includes the design of function modules and the design of the database.According to the system analysis, system is divided
8、 into sevenmodules,such as manager management,exammanagement,question management,subject management,taoti management,score inquiry and online exam.Keywords:Online examination system; MVC; JSP第一章绪论 11.1 项目开发的背景 11.2 项目开发的意义 11.3 论文的主要内容 11.4 本章小结 2第二章开发环境及工具介绍 12.1 MVC模式简介 12.2 Struts框架简介 32.3 JSP技术简
9、介 52.4 开发环境介绍 62.5 本章小结 6第三章需求分析 73.1 可行性分析 72.1.1 技术可行性 72.1.2 经济可行性 82.1.3 社会可行性 83.2 总体设计原则 83.3 本章小结 9第四章系统分析 104.1 系统的功能分析 104.2 系统的功能需求 114.3 系统的用例图 134.3.1 考生的用例分析 134.3.2 管理员的用例分析 144.4 在线考试的流程图 144.5 在线考试的顺序图 154.6 在线考试的活动图 164.7 本章小结 16第五章系统设计 175.1 业务流程设计 175.2 系统功能设计 195.3 系统各模块的设计 195.3
10、.1 考生管理 195.3.2 管理员管理 205.3.3 成绩管理 215.3.4 课程管理 215.3.5 套题管理 225.3.6 题目管理 225.4 系统数据库设计 235.3.1 概念结构设计 235.3.4 数据库的设计图 255.3.5 数据库图表 265.5 本章小结 28第六章系统实现 296.1 系统管理员登录模块 296.1.1 登录 296.1.2 管理员信息管理界面 296.1.3 考生信息管理 306.1.4 考生成绩管理界面 306.1.5 课程信息管理界面 306.1.6 考试批次管理界面 316.1.7 考试题目管理界面 316.2 考生模块 316.2.1
11、登录 316.2.2功能选择界面 326.2.3在线考试界面 326.2.4成绩查询界面 336.2.5成绩查询界面 33第七章软件测试与分析 347.1 软件测试的重要性 347.2 测试实例的研究与选择 347.3 系统运行情况 357.4 系统评价 35参考文献 37致谢 38第一章绪论1.1 项目开发的背景随着计算机产业的迅速发展,电子计算机已广泛的应用于信息管理、文字处理、辅助设计、辅助教学及人们的日常生活中。在线考试系统主要是针对学校涉及学生考试的一系列相关工作的管理,本系统的建立使学校在线考试的管理更加规范化、系统化,查询手段更加便捷化。同时,在线考试系统也是实现学校考试管理现代
12、化和信息化的重要内容。近年来,随着学校学生的数量逐渐增加,人工书写数据已经不能够处理如此庞大的数据。为了更好的适应信息时代的高效性,一个利用计算机来实现学校在线考试的系统将必然诞生。基于这一点,设计了一个在线考试系统,用来就学生在线考试进行管理,以便在最短的时间内,高效准确的完成整个在线考试的过程。基于对上述的认识,收集相关资料和数据,查阅有关文献及技术参数,对学校在线考试的实际需求等方面进行了调研,发现目前所采用的手工记录的方法进行管理存在以下几个方面的弊端:对象范围广,数据存储不易;填写的数据多,内容相当复杂,且大量数据重复;不易存档,成千上万的信息和堆积如山的单据对管理人员来说是一个负担
13、,需要大量的文档资料。鉴于以上种种原因,在线考试的管理急需一种软件来代替手工操作来管理数据资料。计算机技术在现代管理中的应用,使计算机成为领导者和管理人员应用现代技术的重要工具。计算机辅助学校管理活动,可以极大地增强管理者采集、处理信息的能力,从而有利于管理者及时决策。计算机系统能根据管理过程的变化情况,将原始数据、资料等进行加工、保存,管理人员可以在解决具体问题需要信息资料时,随时进行检索查询,了解整个在线考试系统的动态情况,进行动态管理,从而有效的处理学校在线考试的管理工作,实现学校对题库信息管理的自动化,提高办学效率。1.2 项目开发的意义在线考试系统的开发目的是使在线考试模式从手工记录
14、转变成信息管理,为在线考试人员提供方便条件。对在线考试的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着学校信息系统的不断完善,学校的管理将越来越依赖于信息化的管理。所以系统开发将围绕在线考试工作的实际情况,使之能迅速适应学校考试的需要。在线考试系统的实施的现实意义:减少管理考试的工作人员;管理人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了在线考试的计算机化。1.3 论文的主要内容本文首先对在线考试系统的背景、意义及国内外现状作了概要介绍,然后主要
15、介绍了该系统涉及的MVC设计模式、Struts框架和UML统一建模语言,提出了使用统一软件开发过程开发在线考试系统的解决方案。本文着重介绍了在线考试系统从分析、设计到实现的全过程。在项目的分析阶段,以在线考试系统为例,讲述了如何分析需求,捕获需求作为用例,给出了系统的分析模型;在项目的设计阶段讲述了系统的体系结构设计,功能结构设计,视图、模型和控制器的设计以及数据库的设计。在项目的实现阶段,给出了相关视图、模型和控制器的实现代码以及系统的打包和部署情况。整个过程体现了统一软件开发过程的用例驱动、构架为中心和增量与迭代的特点。采用UML建模已经成为面向对象分析和设计的一种趋势,作为基于MVC模式
16、的Web应用的典型体现,Struts给出了一套框架工具,使开发人员在此框架的支持下就能够快速高效的构建不同的应用。本文介绍如何将UML与Struts结合在一起,开发一个实际的应用系统,对于开发企业级应用有一定的参考价值。1.4本章小结通过查阅数据,对在线考试系统的背景有了初步了解,这将有助于我进入下一步的学习与设计。在查阅资料时,我重点观注了它的未来发展,我觉得该系统的未来远景很可观,远远超乎我的预测,随着教育事业的发展,相信不久的将来,教育事业也会是互联网的天下,通过在线管理使学生的信息可以打破量的瓶颈,做到有序管理。第二章开发环境及工具介绍为了方便对本考试系统的认识和了解,本章将涉及考试系
17、统所需要用到的主要相关技术及开发环境作简要介绍。2.1 MVC模式简介 交互式系统越来越普遍,交互界面越来越复杂多变,使得人们必须找到一个总体性的、具有普遍意义的指导模式。MVC是一种体系结构模式,代表Model-View-Controller,即模型、视图、控制器,是应用于交互式系统的一种体系结构模式。MVC是20世纪80年代Xerox队PARC为编程语言Smalltalk-80发明的一种软件设计模式,迄今已经成为一种成熟的优秀的设计模式,受到越来越多的Web开发者的欢迎。MVC模式指导模块的职责分配和模块之间的通信协议。职责分配是面向对象分析和设计中最重要的工作,协议设计则是相当困难的工作
18、。MVC为这两项工作提供了指导,所以意义重大。MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图和控制器。它们分别负担不同的任务。图1-1显示了MVC模式各模块各功能及其相互关系1。图1-1 MVC设计模式View:View是用户看到的并与之交互的界面。View从模型获得数据,View的更新由控制器来完成。MVC最强调的一点,就是View中决不允许也决不应该包含诸如业务逻辑的东西。在View中其实没有真正的处理发生也不应该有处理发生。不管这些数据是联机存储的还是一个简单的信息列表,作为View来讲,它只是作为一种输出数据并允许用户操纵
19、的方式。Model:Model封装了应用问题的核心数据、逻辑关系和业务规则,提供了完成问题处理的操作过程。一方面,Model为控制器所调用;另一方面,Model还为视图获取显示数据而提供了访问其数据的操作。Model是与数据格式无关的,因此,一个Model可以为多个视图提供数据。这样Model一次编写就可为多个视图重用,从而减少了代码的重复性。Controller:Controller根据用户的输入调用相应的Model和视图去完成用户的需求。具体地说,Controller本身不输出任何东西和做出任何处理。它只是接收请求并决定调用哪个Model构件去处理请求,并确定用哪个视图来显示Model处理
20、之后返回的数据。一个应用程序或者组件只能有一个Model,但是这个Model可以对应多个View。View向Model注册要求在Model的数据发生变化时获得通知消息。View得到通知消息之后,获取Model的相应数据,更新自己的显示。View不向Model发送消息。 一个View对应一个Controller。View负责创建和初始化Controller,这也是View和Controller关系密切的原因之一。Controller接收用户输入,如果有与应用程序数据无关,而只涉及显示变化的用户输入,Controller直接通知View。 Controller和View关系密切的另一个原因是现代应
21、用程序界面复杂,灵活多变。因此Controller需要大量了解View的情况,大量查询View的信息,距离太远不利于效率和灵活性,协议也很难设计,所以经常捆绑在一起。例如,目前基于控件的图形界面,很多控件实际上是一个封装好的MVC实体,通过属性、事件和方法与外界协同工作,强行拆分反而适得其反。因为一个Model对应多个View,一个View对应一个Controller,所以一个Model对应多个Controllers。Controller接收外部输入,是导致Model发生变化的唯一原因。同时,Model的变化可能导致Controller行为的变化。MVC模式可以为一个模型在运行时同时建立和使用
22、多个视图2。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。模型的可移植性。J2EE模型提供了一个很好的企业应用框架及解决方法,但是多层企业应用框架在提高了软件的重用性和分解了问题的复杂性的同时,也使得代码庞大,层与层之间的控制关系复杂11。而MVC(Model View Controller)模式可以利用控制器将应用的业务逻辑模型和应用的表示逻辑视图进行分离,使应用的各层之间达到一种松散耦合的效果,所以,人们将MVC模式应用于J
23、2EE应用开发。2.2 Struts框架简介 现在有很多可供使用的MVC框架,由于Struts框架具有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便的。Struts采用的是开放式源代码,它是作为Apache软件基金的Jakarta项目的一部分,旨在改进和提高JSP、Servlet、标记库以及面向对象的技术水准,整合Servlet和JSP的技术优势,为开发人员提供一个开发WEB应用程序的框架。在Struts框架中,对模型、视图和控制器都提供了现成的实现组件。模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组
24、JSP文件构成。图2-1显示了Struts实现的MVC框架13。图2-1 Struts实现的MVC框架(1)视图Struts中的视图部分可以采用JSP来实现。JSP文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或客户化标签,如Struts标签库中的标签。Struts提供了丰富的自定义标记库,视图部分使用这些自定义标记,同样可以实现与模型部分的有效交互并能够增强显示功能8。此外,通常把Struts框架中的ActionForm也划分到视图部分。ActionForm也是一种JavaBean,除了具有一些JavaBean的常规方法,还包含一些特殊的方法,用于验证HTML表
25、单数据以及将其属性重新设置为默认值。Struts框架利用ActionForm来进行视图和控制器之间表单数据的传递。(2)模型模型部分从概念上可以分为两类:系统的内容状态和改变系统状态的动作。Struts中的模型部分一般由JavaBean以及EJB组成。(3)控制器控制器由ActionServlet类和Action类来实现。ActionServlet类是Struts框架中的核心组件。ActionServlet类继承了javaxservlethttpHttpServlet类,它在MVC模型中扮演中央控制器的角色。ActionServlet主要负责接收HTTP请求信息,根据配置文件struts-co
26、nfig。xml的配置信息,把请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。Action充当用户请求和业务逻辑处理之间的适配器,其功能就是将请求与业务逻辑分开,Action根据用户请求调用相关的业务逻辑组件。业务逻辑由JavaBean或EJB来完成。Action类侧重于控制应用程序的流程,而不是实现应用程序的逻辑。通过将业务逻辑放在单独的Java包或EJB中,可以提高应用程序的灵活性和可重用性。(4)Struts的配置文件struts-confi
27、g.xml上面讲到一个用户请求是通过ActionServlet来处理和转发的20。那么ActionServlet如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息了。在Struts中,这些配置映射信息都存储在特定的XML文件struts-config.xml中。在该配置文件中,每一个Action的映射信息都通过一个元素来配置。这些配置信息在系统启动时被读入内存,供Struts在运行期间使用。在内存中,每一个元素都对应一个org。apache。struts。action。ActionMapping类的实例。Struts相当于在原有Web应
28、用开发环境的基础之上,又提出了一套框架工具,这样开发人员在此框架的支持下就能够快速高效地构建不同的应用。2.3 JSP技术简介JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行10。JSP技术使用Java编程语言编写类XML的tags和scrip
29、tlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是19
30、99年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)
31、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是现而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.4 开发环境介绍服务器操作系统平台:Windows7。数据库:S
32、QL Server2008,采用JDBC连接数据库。 应用服务器:Tomcat6.0。 程序开发:选用Dreamweaver MX来开发界面, MyEclipse8.5编写和调试。2.5 本章小结本章通过对MVC设计模式、Struts框架和UML的介绍,可以看出MVC设计模式有许多优点。初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的重要性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好的体现。第三章需求分析3.1 可行性分析可行性分析也称为可行性研究,是在调查的基础上,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1