基于Struts2的在线考试系统的设计与开发.docx

上传人:b****5 文档编号:6398657 上传时间:2023-01-06 格式:DOCX 页数:47 大小:555.17KB
下载 相关 举报
基于Struts2的在线考试系统的设计与开发.docx_第1页
第1页 / 共47页
基于Struts2的在线考试系统的设计与开发.docx_第2页
第2页 / 共47页
基于Struts2的在线考试系统的设计与开发.docx_第3页
第3页 / 共47页
基于Struts2的在线考试系统的设计与开发.docx_第4页
第4页 / 共47页
基于Struts2的在线考试系统的设计与开发.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

基于Struts2的在线考试系统的设计与开发.docx

《基于Struts2的在线考试系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于Struts2的在线考试系统的设计与开发.docx(47页珍藏版)》请在冰豆网上搜索。

基于Struts2的在线考试系统的设计与开发.docx

基于Struts2的在线考试系统的设计与开发

基于Struts2的在线考试系统的设计与开发

摘要

随着当今科学技术的不断发展,考试的手段跟媒介都发生了革命性的改变。

能通过网络进行的在线考试,并客观、准确地评估人的知识和水平的,实现教考分离,在一定程度上减少影响考试的人为主观因素,同时也减少教师工作量的在线考试系统得到了当今远程教育研究者的关注。

本文在分析在线考试系统的现状的基础上,结合软件工程中的方法,对系统进行了详细的分析,运用Struts2-Hibernate集成架构的相关技术,论述了该在线考试系统的总体结构以及系统模块的实现过程。

本系统采用模块化设计,将在线考试系统分为五大功能模块,分别为登陆模块、考生管理模块、管理员管理模块和考卷管理模块以及考试管理模块。

在进行系统分析与总体设计时,首先对系统进行需求分析、系统功能模块结构划分及系统流程分析,其次进行数据库设计,最后采用Struts2技术模式,进行系统架构设计。

 

关键字:

Struts2;Hibernate;MVC;JSP;在线考试

 

DesignandimplementationofOnlineExaminationSystemBasedonSturuts2

Abstract

Withthecontinuousdevelopmentofscienceandtechnology,themeansofexaminationandmediaarealsoarevolutionchange.OnlineExaminationcanusebythenetwork,objectivelyandaccuratelyassessthelevelofpeople'sknowledgeandachieveseparationofteachingandtesting.Toacertainextent,reducetheinfluenceofsubjectivefactorsexam,butalsoreducetheworkloadofteachersthatonlineexaminationsystemhasbeengetattentionbytheeducationresearchers.

Thisarticleanalyzesthecurrentsituationofonlineexaminationsystembasedonthecombinationofsoftwareengineeringmethods,thesystemisanalyzedindetail,usingStruts2-HibernateIntegratedArchitecturetechnologies,discussestheoverallstructureandsystemmodulesoftheOnlineExaminationSystemimplementationprocess.Thesystemismodularindesign,onlineexaminationsystemisdividedintofivefunctionalmodules,namelylandingmodule,candidatemanagementmodule,theadministratormanagementmoduleandexammanagementmoduleandexammanagementmodule.Whenconductingsystemanalysisandoveralldesign,thesystemfirstneedsanalysis,systemfunctionsandsystemstructureisdividedflowanalysis,followedbythedatabasedesign,thefinalmodelusingStruts2technology,systemarchitecturedesign.

KEYWORDS:

Struts2;Hibernate;MVC;JSP;OnlineExamintion

 

第一章绪论

1.1在线考试系统的研究背景

1.1.1在线考试系统研发背景

现今,社会对各阶层要求的知识水平和能力水平越来越高,为了让教育培训内容和形式更加得让人想学习、接受更好的培训,方式非常多,其中最具吸引力的手段是考试。

考试是作为衡量人们各种能力的重要手段。

各种各样的学历考试、资格证书考试、培训考试数不胜数,不管是国内还是国外的各大教育部门和各大厂商,都不断推出一系列的考试、认证,如微软的MCSE、Cisco的CCNA以及国内的自考、成考和各种资格证书考试等。

同时,由于科学技术的高速发展,社会进入网络时代,计算机网络已经成为社会发展的强大动力。

网络不仅给我们带来的是无穷的信息,也带来了更多便利。

  Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性和基于internet的巨大的计算能力使得考试突破了时间和空间的限制。

与传统考试模式相比,在线考试具有很多优越性,它可以将传统考试过程中的试卷组织、传送、收集、登记、评判等各环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试的可能性,不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试的客观性和公正性。

在线考试系统课题产生的背景是当今教育信息化的趋势及我国高等教育信息化建设。

1.1.2国内外在线考试系统研究背景

在线开始系统的实现技术主要有二种:

C/S模式、B/S模式。

传统的C/S模式,需要试题内容放在远程的副武器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,维护、升级麻烦,考务工作繁琐;而且考试程序放在客户机上,安全性受到一定影响。

传统的C/S模式的软件系统还需要针对不同的操作系统考法不同版本的软件,这种代价高和低效率的技术已不适合工作需要。

而采用另一种客户端零安装、零维护零安装、零维护的B/S模式实现的考试系统。

Web技术超越了传统的C/S两层结构,采用三层体系结构:

用户界面层/业务逻辑层/数据库层。

因此,B/S结构具有更好的安全性。

在用户机上不需要安装任何应用程序,应用程序可以安装在事务层的计算机上,试题存放在数据库服务器上。

即使中途换机考试等意外情况下都可以继续考试,使得网络化考试比传统的纸质考试和单机化考试有着无法比拟的效率和公平上的优越性,是现代在线考试的发展方向。

1.2在线考试系统内容和意义

1.2.1在线考试系统的内容

本文在调研了在线考试系统在国内外的研究现状,研究了基于Struts2架构的采用J2EE技术、MVC模式等技术的在线考试系统的设计与开发的方法和技术手段。

采用目前主流的B/S结构,以J2EE多层架构为基础,设计了广东白云学院在线考试系统。

该系统采用模块化设计方法,将在线考试系统分为登陆模块、考生管理模块、考生管理模块和试卷管理模块以及考务管理模块五大块。

其中,登陆模块包括考生登陆系统、考生个人信息维护模块、管理员登陆系统;考生管理模块包括考生个人信息维护模块、参加考试、考生查询成绩;考生管理模块包括增加考生、维护考生信息;试卷管理模块包括题库管理、考卷管理、开启试卷;考务模块包括在线监考、考卷评分、考试分析管理。

1.2.2在线考试系统的意义

随着标准化随着标准化考试的日益普及,在各种考试中越来越多地采用了计算机考试的方式。

相对于传统卷面考试而言,传统的卷面考试从出题印刷到下发试卷等环节需要较长的时间,接触的人员相对较多,因而在便利性和在保密方面具有一定的困难。

在线考试系统的客户端配置只需要操作系统自带的浏览器,考试可以不受地域与时间的限制,考生可随时随地进行业结考试。

且计算机考试系统采用试题库方式提供试题来源,考前无任何成套试卷,考试时考卷由计算机现场随机生成,各考生试卷不完全相同,从而避免了互相参看等作弊现象或不公平成绩的出现。

同时也可考后即可获得成绩,省去了人力评卷的麻烦和弊端。

1.3论文组织结构

本文的组织结构具体如下:

第一章简述了在线考试系统研究背景,分析了在线考试系统国内外的研究现况以及论文的内容和意义。

第二章是介绍在线考试相关技术。

对J2EE技术和MVC模式以及Struts2,Spring,Hibernate三层框架技术进行详细的介绍。

第三章是对在线考试系统进行整体分析与设计。

第四章详细阐述了系统的设计思想以及各个模块的实现过程。

第五章是对本文的工作进行总结和一些展望。

第二章Struts2和Hibernate相关技术的介绍

2.1J2EE技术

J2EE(Java2平台企业版,Java2Platform,EnterpriseEdition)包含许多组件,主要用来简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值的技术架构。

J2EE核心是一组技术规范与指南,J2EE巩固了标准版中的许多优点,方便存取数据库的JDBCAPI,CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans),JavaServletsAPI;JSP(JavaServerPages)以及XML技术的全面支持。

J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:

保留现存的IT资产,能被高效的开发,支持异构环境,具备可伸缩性和稳定的可用性。

通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EJB,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能[1]。

2.1.1J2EE分层模型结构

J2EEJ2EE使用多层的分布式应用模型,一般可分为客户层、Web层、业务层及企业信息系统层(EnterpriseInformationSystem,简称EIS),Web层和业务层又可统称为中间层,如图2-1所示。

图2-1J2EE四层模型结构

J2EE四层结构具体描述如下:

1、客户层

应用客户端程序和Applets是客户层组件,J2EE应用程序可以是基于Web方式的,也可以是基于传统方式的。

2、Web层

J2EEWeb层组件可以是JSP页面或Servlets。

Web层可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务层上的EnterpriseBean来进行处理。

3、业务层

EnterpriseBean从客户端程序接收数据,进行处理,并发送到企业信息系统层存储,这个过程是可逆的。

运行在业务层的EJB依赖于容器提供如事务、生命期、状态管理等复杂的系统级功能。

4、企业信息系统层(EIS)

企业信息系统层处理企业信息系统软件,包括企业基础建设系统。

例如企业资源计划(ERP),大型机事务处理,数据库系统,和其它的遗留信息系统。

它是J2EE2体系架构与J2EE外部资源的连接,给J2EE应用程序的开发者提供了灵活性。

2.2MVC模式

MVC(Model-View-Controller,模型一视图一控制器)是一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑,MVC架构最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。

smalltalk语言和java语言有很多相似性,都是面向对象语言,并因为其优秀的特性,得到了业界的广泛接受[2]。

在MVC模式中,应用程序被强制分成三个核心部件:

模型(Model),视图(View)、控制器((Controller),它们各自处理自己的任务。

其体系结构见图2-2所示:

图2-2MVC设计模式结构图

1、视图

视图代表用户交互界面,对于旧式的Web应用来说,可以概括为HTML界面;新的技术出现后,则包括XHTML、XML/XSL和WML等。

随着应用的复杂性和规模性,界面的处理也变得具有丰富性和挑战性。

一个应用可能有很多不同的视图,但MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,它只是作为一种输出数据并允许用户操纵的方式,并不包括在视图上的业务流程的处理。

业务流程的处理交予模型(Model)处理。

2、模型

MVC系统中的模型从概念上可以分为两类——系统的内部状态和改变系统状态的动作。

模型是你所有的商业逻辑代码片段所在。

本文为模型提供了业务实体对象和业务处理对象:

业务实体对象可以通过定义属性描述客户端表单数据。

所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。

通过业务实体对象实现了对视图和模型之间交互的支持,以及业务逻辑的重用。

3、控制器

控制器封装的是外界作用于模型的操作。

一般控制器接受用户的输入并调用模型和视图去完成用户的需求,在模型和视图之间起到了沟通的作用,处理用户在视图上的输入,并转发给模型处理。

在MVC的处理过程中,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户[2]。

MVC中的三个部件相互独立,构造良好的松藕合构件。

MVC模式可以使多个视图同时共享一个模型,逻辑结果还可以根据用户的不同需要以多种形式呈现出来。

三者既分工又合作地完成用户提交的每项任务。

2.3Struts2+Spring+Hibernate(SSH2)框架技术

Struts2+Spring+Hibemate框架结构是能设计一个高层次,高质量的软件,构建一个低耦合,高内聚的系统的技术。

使用Struts2应用MVC模型,使页面显示与业务逻辑分离,达到页面显示与业务逻辑低耦合效果。

当网页上显示内容需要改变时,只需要修改页面,不影响其中的业务逻辑。

同样,业务逻辑需要改变时,只需要修改Java程序,而不用修改页面。

使用Spring运用IOC(InversionofControl,反向控制),减少业务逻辑的相互依赖关系。

使用Hibernate则是使我们的业务逻辑与数据持久化分离,也就是与将数据存储到数据库的操作分离。

我们在业务逻辑中只需要将数据放到值对象中,然后交给Hibernate,或者从Hibernate那里得到值对象。

Struts2+Spring+Hibernate框架层次结构如图2-3:

图2-3Struts2+Spring+Hibernate框架层次结构

框架层次结构层次分为表现层、持久层、业务层、域对象层四个层。

每个框架分别负责一个层次的实现,表现层使用Struts2,业务层使用Spring,持久层使用Hibernate。

这些框架层次在以一种松散祸合的方式彼此作用而不用管低层的技术细节。

2.3.1Struts2

Struts2是Struts的下一代产品,是在Struts和WebWork的技术基础上进行了合并的全新的Struts2框架。

采取拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。

Struts2是对MVC构架的具体实现。

它可以将模块化的应用程序清楚地分成逻辑、表示和数据[4]。

图2-4为Struts2的MVC三层结构:

图2-4Struts2MVC体系结构

视图层:

是一组JSP文件,Struts2自身包含了一组可扩展的自定义标签库,可以简化创建用户界面的过程。

这些JSP文件中没有业务逻辑,也没有信息模型。

控制层:

控制器就是JavaServlet,由Struts框架提供,负责视图和模型之间的交互。

控制器的每个入口点都由名为struts2-config.xml的配置文件设置。

模型层:

模型主要是表示一个系统的状态和业务逻辑。

在Struts2中,系统的状态主要由ActiomFormBean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。

Struts2是一种基于Java的JSPWeb框架技术,Web应用程序开发人员可通过它充分利用面向对象设计、代码重用。

Struts2提供了一种创建具有良好可管理性的Web应用框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。

Struts2的优点主要集中体现在如下:

(1)Struts2将业务数据、页面显示、动作处理进行分离,有利于各部分的维护。

(2)Taglib是Struts2的标记库,其灵活运用能大大提高开发效率。

(3)Struts2的Valicator可以帮助完成验证工作,避免重复编写验证代码工作,减少了开发工作量,实现验证代码集中管理,方便维护。

(4)页面转发可以使系统的脉络更加清晰,可以在很大程度上提高系统的维护性。

(5)通过Struts2提供的ActionForm封装webform中的元素。

(6)Struts2采用FrontController模式来实现动作处理,该方式方便人们在入口中加入一些全局控制代码的实现,如安全控制、日志管理等。

下面是Struts2在框架结构中所负责的工作:

(1)为用户管理请求和响应。

(2)提供一个控制器代理调用业务逻辑和其它上层处理。

(3)为显示提供一个模型。

(4)执行用户接口验证。

2.3.2Spring

Spring是框架的业务层,这个框架是一个分层架构,能实现反转控制和面向方面编程,由7个定义良好的模块组成[5]。

如图2-5所示Spring体系结构:

图2-5Spring体系结构

Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,其主要优势有如下几点:

(1)在Spring中,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

(2)在Spring里,可以随手随时用非容器依赖的编程方式进行所有的测试工作。

(3)Spring能很好组织中间对象。

(4)Spring构建的应用程序易于单元测试。

(5)Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts2,Hibernate、Hessian、Quartz)等的直接支持。

(6)Spring能够实现针对接口编程。

(7)Spring使EJB成为一个实现选择,而不是必需的选择。

你可以用POJO或当地EJB来实现业务接口,却不会影响到调用代码。

(8)Spring能使用AOP提供声明性事务管理,不直接操作JTA也能够对事务进行管理。

(9)Spring为数据存取提供了一致的框架,不论是使用JDBC还是O/Rmapping的产品。

(10)MVCWeb框架,提供一种清晰,无侵略性MVC实现方式。

Spring业务层在框架中主要负责事项:

预留与其他层交互界面,管理业务层对象之间的依赖,增加在表现层和持久层的灵活性,使他们互不通讯,管理上下文从表示层到业务层应用程序的业务逻辑和业务验证,实现从业务逻辑到持久层的管理。

2.3.3Hibernate

Hibernate是一个对象/关系映射框架,它较轻量级的对象封装了JDBC,通过开放其源代码使得Java程序员非常容易运用对象编程的思维对数据库进行操作[6]。

无论是Java的客户端程序,还是Servlet/JSP的Web应用程序,只要是使用了JDBC的场Hibernate框架都可以正常使用。

不仅如此,Hibernate还能够在应用了EJB的J2EE架构中取代CMP去达到数据持久化的目的,这才是最具有革命意义的。

Hibernate框架的体系结构图如图2-6所示:

图2-6Hibernate体系结构

Hibernate框架的优势有下面几点:

(1)Hibernate可扩展性强。

(2)Hibernate适用于独立的Java程序,以及JavaWeb的应用,而且在J2EE架构中可以取代CMP,完成持久化任务。

并且能集成到会话EJB和基于BMP的实体EJB中。

(3)Hibernate可以和多种WEB服务器,应用服务器良好集成,并且支持所有的数据库服务器。

(4)Hibernate有详细的参考文档,使用方便,容易上手。

以下是Hibernate在持久层框架中负责的工作:

查询相关的信息并成为对象,Hibernate是透过HQL面向对象查询语言,或使用条件表达式API来完成的。

以及保存,更新,删除存储在数据库中的信息。

 

第三章在线考试系统的需求分析与总体设计

3.1在线考试系统需求分析

需求分析作为软件开发最为关键的第一阶段,关系到软件开发是否合理、可行。

用户需求,在软件工程的建设中,指的是软件系统必须满足的功能。

并通过全面性的综合研究,采用用例图方式对问题域建立分析模型,然后抽象出功能模块,准确理解系统功能需求以及对系统功能模块进行划分。

3.1.1功能分析

在线考试系统包括在线考试系统前台和在线考试后台管理两个部分。

在线考试系统前台部分,考生可以进行测试、查询成绩、修改个人密码、修改个人信息等操作;在线考试系统后台部分,则是提供给教师进行操作的,管理员可以进行题库管理、考生信息管理、试卷管理、历史数据分析等操作。

本系统需要完成的功能包括:

(1)参加考试:

在学员登录系统后,可查询到需要参加的考试项目,选择参加考试后即进入考试。

考试的题目按格式列出,并且提示考试时间。

完成答卷后,学员可以提交答卷,如果考试时间到,系统自动进行提交。

(2)考生成绩查询:

考生登录后,可以查询以往考试的信息。

通过这个功能。

考生可以查询考试的成绩以及考试试题的标准答案。

(3)考试信息管理:

考生登录后,可以对自身的易变化的相关信息进行修改,主要是一些联络方式方面的信息,基本的信息由管理员进行控制的。

此外,考生可以对登录的密码进行修改,如果遗忘了密码,可以向管理员申请恢复原始密码。

(4)学员信息管理:

管理员登录后,可以对学员的信息进行维护:

添加学员信息、修改学员信息、查询学员考试的历史成绩、恢复学员原始密码。

(5)题库管理:

管理员登录后对题库进行维护,可以进行题目的添加修改和删除操作,题型分单选题、多选题、填空题及简答题。

(6)试卷管理:

从题库中抽取题目,形成试卷。

试卷形成后,在未进行开考操作以前,可以进行修改操作。

(7)考卷的分发:

通过条件选取对己经生成的试卷进行人员的分配。

确定人员之后执行开考操作,此时相关的学员就可以进行登录参加考试了。

(8)考务管理:

对在线考试的学员的考试进行监控,从监控台可以看到当前考生的状态,己达到监考的目的。

(9)考卷评分:

对考试完毕的考生的考卷进行评分操作。

客观题在考卷提交时,己经由系统给出分数,这里主要是进行主观题目的评分。

(10)考试分析:

对结束的考试进行统计分析。

列出参加此次考试的考生的考试详细信息,并统计出各个分数的人员,提供给系统的管理者作决策支持。

 

图3-1该在线考试系统前台功能

图3-1该在线考试系统前台功能

3.1.2系统流程分析

通过以上的分析得出,系统中的流程,部分受其它条件约束,部分不受其它条件约束,具体分析如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1