当前位置:首页 > 教学设计 > 在线考试系统的设计与实现_基于Struts的在线考试系统设计与实现
 

在线考试系统的设计与实现_基于Struts的在线考试系统设计与实现

发布时间:2019-02-23 04:34:50 影响了:

  [摘要]针对传统考试方法暴露出的缺陷,阐述在线考试系统的体系结构及实现过程。系统采用B/S结构,对MVC设计模式以及基于该模式的Struts应用框架进行研究。通过采用Struts框架技术,有效提高系统结构的稳定性,实现教师远程出题、判卷,学生远程考试,减轻教师的工作量,提高考试效率。
  [关键词]MVC模式Struts框架在线考试
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1110060-02
  
  目前,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,在考试各个环节出现错误的几率也大大增加,传统的考试方式已经不能适应现代考试的需要。而在线考试系统恰恰能够解决这些问题,它是建立在互联网上的应用系统,客户端的配置极为简单,并且使考试不受地域的局限。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担。因此,在线考试是现阶段研究开发的一个热点。
  
  一、Struts框架介绍
  
  随着Web应用技术的发展和逐渐成熟,基于浏览器/服务器(Browser/
  Server,B/S)结构的多层体系架构受到广泛的应用。在B/S模式基础上发展起来的MVC设计模式分离了数据的控制和数据的表现,以适应越来越复杂的多层Web应用系统的设计需求[1]。Struts则是目前Java平台非常流行的Web应用程序框架,它充分体现了MVC设计模式,很好地实现了业务逻辑层与视图层的分离,提高了代码的可重用性和灵活性,可以大大简化web应用的开发过程,提高开发效率,缩短开发周期。
  Struts是Apache基金会Jakarta项目组提供的一套用于构建Java Web
  应用程序的框架,由一组相互协作的类(组件)、Servlet以及JSP TagLib
  组成,其核心是基于如Java Servlets,JavaBeans,ResourceBundles与XML等标准技术的弹性控制层。Struts主要由模型、视图、控制器和XML导航文件组成,Struts的体系结构与工作原理如图1所示[2]。
  Struts对Model,View和Controller都提供了对应的组件。在图1中,ActionServlet类是Struts的核心控制器,负责拦截来自用户的请求。Action类通常由用户提供,负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Struts各个组成部分功能如下:
  1.模型:由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。
  2.视图:主要由JSP建立,Struts自身包含了一组可扩展的自定义标签库(Taglib),可以简化创建用户界面的过程。
  3.控制器:控制器主要由系统核心控制器(ActionServlet类)和业务逻辑控制器(Action类)来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。
  4.配置文件struts-config.xml:主要针对Struts组件进行相应配置,是Struts架构中配置文件的核心,它是控制器组件、视图组件和模型组件3大Struts核心组件联系的纽带。
  
  二、系统分析与设计
  
  在线考试系统整体框架如图2所示,该系统以互联网为平台,主要包括命题人出题、部门管理、系统管理、考生在线考试、自动判卷以及系统维护等功能,并利用后台数据库存储考生信息、题库信息、考生成绩和阅卷记录等。
  
  (一)系统分析
  从用户身份角度出发,系统主要模块如下:
  1.考生模块
  (1)在线考试
  当考生正确登录进入在线考试系统的时候,系统会保存考生的个人信息,当考生准备参加某场具体考试的时候,系统会根据考生个人信息和具体考试相应状态自动判断该学生是否可以参加考试,如果条件都符合,那么系统继续判断考生是否已经参加过这次考试,如果没有考生将可以进入考试,否则系统将弹出提示信息,当考生进入考试的时候系统将根据具体考试的场次随机抽取符合要求数量的题目,并将随机产生的题目编号插入数据库中,接着考生就开始答题,系统开始计时,当考生在规定的时间内提交试卷或者考试时间结束系统化自动提交试卷,那么理论部分的答题结束,考生将开始上机题的解答,步骤和理论部分一致。
  (2)上传文件
  当考生在规定的时间内提交试卷或者考试时间结束系统化自动提交试卷,系统将会把考生所选择上传的文件上传到服务器上,以供老师检查和批阅。
  2.教师模块
  (1)试卷管理
  教师可以自主添加产生试卷,并且可以维护自己产生试卷的信息,该试卷默认状态是不可用,也就是说考生看不到这套试卷,当教师将该套试卷的题目添加到足够熟练的时候,教师可以将该试卷的状态设为启用,也就是所考生将可以参加这套试卷的考试。
  (2)题目管理
  教师可以为自己所产生的某套试卷添加相应题目,题目的类型包括了理论题目(选择题)和上机题,当教师将题目信息提交到系统时,系统默认题目是可用的,当然教师可以手动的改变相应的状态。
  3.管理员模块
  (1)系统信息管理
  系统信息管理主要包括考试信息管理、班级信息管理,教师信息管理,管理员信息管理等三个方面的管理,此功能中所涉及到的信息是系统登录的基础信息,应确保信息的真实性和保密性。
  (2)监控管理
  管理员可以对考试的试卷审批,发布,考试的开始,考试结束等指令,以及对考试人员的考试状态进行监控:禁止或允许某个班级或者某个个人的考试状态,监控中心直接监控没个考场的考试情况,应参加考试人数,缺席人数,正在考试人数,已经交卷人数等。
  
  (二)系统设计
  本系统使用Struts框架,服务器采用Tomcat 5.0.28作为JSP引擎,系统业务逻辑由JavaBean组件完成,采用SQL SERVER 2000数据库作为数据库服务器,整个系统设计为三层体系结构,即模型层、控制器层和视图层,如图3所示:
  
  三、系统实现
  
  为了描述Strus在系统中的具体实现,本文以系统登录控制为例进行详细说明。系统角色有三类:学生、教师、管理员。系统将采用基于角色的验证模式,首先验证用户名和口令,在此基础上识别用户权限,根据权限进入相应的系统,如图4所示。
  (一)配置Struts
  首先新建一个Web工程应用目录,取名为OnLineTestSys;然后进入工程的属性设置页面,在构建路径中导入所有的jar文件;最后配置web.xml
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文   文件和struts-config.xml文件。
  (二)构建模型层
  模型层是应用程序的主体,它用于表示业务数据和业务逻辑,负责完成访问和操纵数据库。其根据控制层的要求,查找相关的数据,完成某种业务需求,然后通过模型接口,把数据上传到视图中。对于本系统,为实现系统登录控制,在模型层定义了UserBean来处理相关业务,如图5所示。
  此外,还为系统登录模块建立相应的ActionForm类,用于接收用户输入数据和进行表单验证。
  (三)构建控制器层
  控制器位于视图组件和模型组件之间,将二者有机地联系在一起,发挥着强大的协调作用,在本例中定义了一个LoginAction类,它重写了父类Action中的execute()方法,用于业务处理。该方法返回一个代表下一个视图的ActionForward对象,并将得到的结果在ActionServlet控制类下传给页面展示。LoginAction类从UserLoginForm类中得到用户输入的数据,并通过UserBean进行系统登录和权限控制操作。
  (四)构建视图层
  用户视图由一组JSP文件组成。在系统登录模块,主要通过UserLogin.
  jsp来接收用户的输入,并且利用Javascript技术实现了自动全屏效果,用以模仿传统的C/S结构考试系统。
  
  四、结束语
  
  本系统基于Struts框架技术,采用MVC模式设计,实现了用户注册、用户个人信息修改、多用户同时在线考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户管理、试卷管理、教师管理、班级管理、分数管理等重要功能。实现了真正的无纸化考试,大大减轻了教师出题、出题和判卷等繁重的工作量。
  目前,该系统已经投入运行,实践证明,本系统方便可靠,操作简单,具有良好的稳定性、安全性及可扩展性。
  
  参考文献:
  [1]张炜、高原,基于Struts框架的Web应用系统设计与实现[J].电脑知识与技术,2009,15(5):3951-3952.
  [2]王建文、王敏,基于Struts框架的油田信息管理系统研究与实现[J].计算机工程与设计,2009,30(13):3231-3232.
  [3]李季、孙惠生,在线考试系统探索与实现,科技创新导报[J].2009,15:198.
  [4]赵强,基于Struts框架的研究生管理系统[J].电脑开发与应用,2009,7(22):44-45.
  [5]陈天河,Struts,Hibernate,Spring集成开发宝典[M].北京:电子工业出版社,2007.
  
  作者简介:
  杨晔(1975-),女,河南长葛人,工程师,硕士,淮安信息职业技术学院讲师,主要研究方向:计算机应用技术;刘慧芳(1974-),女,山西临汾人,硕士,北京体育大学教师,主要研究方向:计算机应用技术。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3