论文部分内容阅读
摘要:将教育考试系统与先进的网络技术相结合,采用B/S模式的多层体系结构,将Struts、Spring及Hibernate有机融合,设计开发基于J2EE多层整合框架的在线考试系统。经验证,本系统能够实现考试的规范化、无纸化,体现考试的公平性,节约资源,提高考试的效率。
关键词:J2EE;整合框架;远程考试系统
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2013) 06-0000-03
1引言
传统的考试通常都是由人工方式组织进行,采用教师统一命题的方式,需要在固定的时间组织学生利用纸质试卷笔试完成的方式进行。即使在目前的高等学校课程考试中,这种工作效率很低的考试方式仍在普遍的使用[1]。在其发挥作用的同时,也有很多不容忽视的弊端。
互联网的迅速发展带动了远程教育应用的发展,远程教育不仅从手段和形式上改变了传统教学模式,更从观念、过程、方法以及师生角色等诸多深层面赋予教学以新的含义[2],它能够提供个性化的教学环境,多元化的教学资源,实现交互式教学和群体化协作教学,并且能够提供具有创造性且易修改的教学内容。远程考试系统是现代远程教育过程中的一个重要实践,它担负着因材施教、选拔人才、诊断补救、评价教学、就业指导等众多功能,已经渐渐成为教育测量学中的一个重要内容。开发和完善远程考试系统对于减轻教师工作负担,推动教育教学网络化、社会化,教育资源建设和共享,提高教育教学效果和质量,都有着深远的实践意义。
Struts、Spring及Hibernate是基于J2EE的开源应用框架[3],本文在充分分析了三种构架的特点及优势后,采用B/S模式的多层体系结构设计开发基于Struts、Spring及Hibernate融合框架的在线考试系统,从而实现了考试中的规范化、无纸化,节约资源,提高考试的效率。
2远程在线考试系统
各种课程考试一直是学校非常重要的一个教学组成部分,考试作为一种重要的教学检查手段,主要是为了考察教师的教学质量和学生的学习效果。相比传统的考试方式方法,本课题所实现的远程在线考试系统是建立在国际互联网上的应用系统,能够合理地整合考试资源、提高考核效率和科学性,同时具有如下意义[4]:
2.1节约教育资源,减少人力、物力、财力的消耗。将教育考试与基于Web的计算机软件系统有机结合起来,可以实现在线组题、考生考试、在线阅读、自动评分、实时统计等功能,优化了传统考试的运行模式,可以节约大量的出题时间,阅卷时间,成绩统计分析时间,减轻老师的负担。
2.2可以加强考试过程中的保密性,避免了人为因素对评判的影响,使考试公正,客观,成绩准确无误。
2.3考生不受时间地点的限制,可以灵活,方便的安排学习和考试时间。
2.4公正地评价教学水平,推动教学方法的改革。本系统以其准确、公正、快速、简捷等特点,有效实现了考务管理、考试、试题生成及评阅自动化考试,真正实现了教考分离,教学资源共享,降低考试成本,解决繁重的考务工作等,推动了教学改革。
2.5反馈能力强。考试是考核和评估教学和学习的一种手段。通过对“教”与“学”的双边检测,能发现教学中存在的问题,进而改进课程教学方法和手段,不断提高教学质量。教育界把考试对教学和学习的影响称为反拨效应。科学的、合理的考试会对教学起到积极的反拨作用,反之则会带来负面影响。因此,系统可以通过网上考试提高正面反拨效应,达到了对学生知识、能力、素质的综合测试,所以能给学生一个客观的评价,对教学起到积极的促进作用。
3基于J2EE的多层整合架构
3.1Struts架构。Struts[5]是实现Model-View-Controller (MVC)模式的应用最广的通用框架,对Model、view和Controller都提供了对应的实现组件。其工作原理见图1。
图1Struts工作原理
Struts框架有比较完备的标签库,基本可以满足开发视图所需要的JSP标签的需要,且标签库提供通用功能,但JSP实现视图组件只能借助一些基本的包含和转发功能,限制了视图的灵活性,且struts action组件和web容器强耦合,无法对ACTION进行轻量级单元测试,从测试驱动的角度来看,不利于系统的开发。
3.2Spring架构。Spring是一个以依赖注入原则和面向方面编程思想为基础的轻量级框架。既是一个AOP框架,也是一个IoC容器。AOP主要是用来创建CrosscuttingConcerns(横切关注点),将其插入代码中,可使代码具有良好的可重用性。IoC容器允许在需要生成对象的地方创建一个应用上下文,然后装饰这些对象传递给它们的合作对象,可很容易地替换业务对象,实现对EJB技术的替代和更好的组件重用性。
3.3Hibernate架构。对于MVC模式中的Model,Struts可以使用标准数据库访问技术,也可以使用第三方工具Hibernate。Hibernate是用来完成数据的持久化操作的优秀组件之一。它在数据库外包装了一层面向对象的外壳,可为系统自动生成SQL语句操作数据库,把系统的开发从数据库编程中解放出来。其体系结构如图2:
图2Hibernate体系结构图
3.4基于Struts、Spring和Hibernate的整合架构。本文根据J2EE的分层结构,结合Web应用的特点,整合Struts、Spring和Hibernate这三种框架[6],设计出一个适合在线考试系统应用的J2EE通用架构。实现了各层次之间的松散耦合,具有跨平台、可移植、良好的扩展性和可维护性等特点。其中表示层用Struts框架描述,业务层用Spring的IoC容器协助完成,持久层用Hibernate框架的对象关系映射来完成与数据库的交互。表示层与业务层通过域模型层的VO来进行数据传递,业务层和持久层通过域模型层的VO来描述对象之间的关系。集成框架技术的模型见图3。
图3集成框架技术的应用模型
4系统设计及实现
4.1需求分析。通过对传统考试过程中组卷、学生考试和教师阅卷等一系列环节进行分析,本系统从实用性、合理性、可靠性等方面作了如下要求:
(1)用户操作简易性。基于J2EE平台开发,所有用户操作遵循J2EE软件通则。客户端不用加装任何软件,只需通过浏览器即可使用本系统。
(2)独特的用户定制机制。采用积木搭建概念,可由用户自定义科目,考试或学习内容,考试题库,考试试卷,真正意义上实现“所见即所得”系统设计理念。整个系统支持在线考试、在线竞赛功能,可根据机构内实际情况及外部环境变化,随时自行修改完善。
(3)考试试卷定制。通过科目、知识点、难易程度和题型任意相结合的组卷模式,定义不同的抽题规则或所占百分比等,根据当时考试情况可自由人工组卷或随机组卷。从而实现所有考生考试内容完全一样、所有考生考试内容一样但顺序不一样、所有考生考试内容完全不一样等三种方式。充分体现考试学习系统的智能化。支持A3传统纸张试卷打印。
(4)考试安全保护机制。整个系统除多种试卷组合机制外,还支持断电、死机等处理方案,系统还提供在线检查试卷,在线监考等多种功能。
(5)管理角色定制。整个系统分考生、老师、管理员三种角色级别。考生可以在线报名,在线竞赛、在线正规或模拟考试等。老师可以在线编辑学习内容,编辑考试内容,进行科目管理,试卷管理,监考等操作。管理员可以实现整个系统的设置,数据分析,数据归档等等操作。
关键词:J2EE;整合框架;远程考试系统
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2013) 06-0000-03
1引言
传统的考试通常都是由人工方式组织进行,采用教师统一命题的方式,需要在固定的时间组织学生利用纸质试卷笔试完成的方式进行。即使在目前的高等学校课程考试中,这种工作效率很低的考试方式仍在普遍的使用[1]。在其发挥作用的同时,也有很多不容忽视的弊端。
互联网的迅速发展带动了远程教育应用的发展,远程教育不仅从手段和形式上改变了传统教学模式,更从观念、过程、方法以及师生角色等诸多深层面赋予教学以新的含义[2],它能够提供个性化的教学环境,多元化的教学资源,实现交互式教学和群体化协作教学,并且能够提供具有创造性且易修改的教学内容。远程考试系统是现代远程教育过程中的一个重要实践,它担负着因材施教、选拔人才、诊断补救、评价教学、就业指导等众多功能,已经渐渐成为教育测量学中的一个重要内容。开发和完善远程考试系统对于减轻教师工作负担,推动教育教学网络化、社会化,教育资源建设和共享,提高教育教学效果和质量,都有着深远的实践意义。
Struts、Spring及Hibernate是基于J2EE的开源应用框架[3],本文在充分分析了三种构架的特点及优势后,采用B/S模式的多层体系结构设计开发基于Struts、Spring及Hibernate融合框架的在线考试系统,从而实现了考试中的规范化、无纸化,节约资源,提高考试的效率。
2远程在线考试系统
各种课程考试一直是学校非常重要的一个教学组成部分,考试作为一种重要的教学检查手段,主要是为了考察教师的教学质量和学生的学习效果。相比传统的考试方式方法,本课题所实现的远程在线考试系统是建立在国际互联网上的应用系统,能够合理地整合考试资源、提高考核效率和科学性,同时具有如下意义[4]:
2.1节约教育资源,减少人力、物力、财力的消耗。将教育考试与基于Web的计算机软件系统有机结合起来,可以实现在线组题、考生考试、在线阅读、自动评分、实时统计等功能,优化了传统考试的运行模式,可以节约大量的出题时间,阅卷时间,成绩统计分析时间,减轻老师的负担。
2.2可以加强考试过程中的保密性,避免了人为因素对评判的影响,使考试公正,客观,成绩准确无误。
2.3考生不受时间地点的限制,可以灵活,方便的安排学习和考试时间。
2.4公正地评价教学水平,推动教学方法的改革。本系统以其准确、公正、快速、简捷等特点,有效实现了考务管理、考试、试题生成及评阅自动化考试,真正实现了教考分离,教学资源共享,降低考试成本,解决繁重的考务工作等,推动了教学改革。
2.5反馈能力强。考试是考核和评估教学和学习的一种手段。通过对“教”与“学”的双边检测,能发现教学中存在的问题,进而改进课程教学方法和手段,不断提高教学质量。教育界把考试对教学和学习的影响称为反拨效应。科学的、合理的考试会对教学起到积极的反拨作用,反之则会带来负面影响。因此,系统可以通过网上考试提高正面反拨效应,达到了对学生知识、能力、素质的综合测试,所以能给学生一个客观的评价,对教学起到积极的促进作用。
3基于J2EE的多层整合架构
3.1Struts架构。Struts[5]是实现Model-View-Controller (MVC)模式的应用最广的通用框架,对Model、view和Controller都提供了对应的实现组件。其工作原理见图1。
图1Struts工作原理
Struts框架有比较完备的标签库,基本可以满足开发视图所需要的JSP标签的需要,且标签库提供通用功能,但JSP实现视图组件只能借助一些基本的包含和转发功能,限制了视图的灵活性,且struts action组件和web容器强耦合,无法对ACTION进行轻量级单元测试,从测试驱动的角度来看,不利于系统的开发。
3.2Spring架构。Spring是一个以依赖注入原则和面向方面编程思想为基础的轻量级框架。既是一个AOP框架,也是一个IoC容器。AOP主要是用来创建CrosscuttingConcerns(横切关注点),将其插入代码中,可使代码具有良好的可重用性。IoC容器允许在需要生成对象的地方创建一个应用上下文,然后装饰这些对象传递给它们的合作对象,可很容易地替换业务对象,实现对EJB技术的替代和更好的组件重用性。
3.3Hibernate架构。对于MVC模式中的Model,Struts可以使用标准数据库访问技术,也可以使用第三方工具Hibernate。Hibernate是用来完成数据的持久化操作的优秀组件之一。它在数据库外包装了一层面向对象的外壳,可为系统自动生成SQL语句操作数据库,把系统的开发从数据库编程中解放出来。其体系结构如图2:
图2Hibernate体系结构图
3.4基于Struts、Spring和Hibernate的整合架构。本文根据J2EE的分层结构,结合Web应用的特点,整合Struts、Spring和Hibernate这三种框架[6],设计出一个适合在线考试系统应用的J2EE通用架构。实现了各层次之间的松散耦合,具有跨平台、可移植、良好的扩展性和可维护性等特点。其中表示层用Struts框架描述,业务层用Spring的IoC容器协助完成,持久层用Hibernate框架的对象关系映射来完成与数据库的交互。表示层与业务层通过域模型层的VO来进行数据传递,业务层和持久层通过域模型层的VO来描述对象之间的关系。集成框架技术的模型见图3。
图3集成框架技术的应用模型
4系统设计及实现
4.1需求分析。通过对传统考试过程中组卷、学生考试和教师阅卷等一系列环节进行分析,本系统从实用性、合理性、可靠性等方面作了如下要求:
(1)用户操作简易性。基于J2EE平台开发,所有用户操作遵循J2EE软件通则。客户端不用加装任何软件,只需通过浏览器即可使用本系统。
(2)独特的用户定制机制。采用积木搭建概念,可由用户自定义科目,考试或学习内容,考试题库,考试试卷,真正意义上实现“所见即所得”系统设计理念。整个系统支持在线考试、在线竞赛功能,可根据机构内实际情况及外部环境变化,随时自行修改完善。
(3)考试试卷定制。通过科目、知识点、难易程度和题型任意相结合的组卷模式,定义不同的抽题规则或所占百分比等,根据当时考试情况可自由人工组卷或随机组卷。从而实现所有考生考试内容完全一样、所有考生考试内容一样但顺序不一样、所有考生考试内容完全不一样等三种方式。充分体现考试学习系统的智能化。支持A3传统纸张试卷打印。
(4)考试安全保护机制。整个系统除多种试卷组合机制外,还支持断电、死机等处理方案,系统还提供在线检查试卷,在线监考等多种功能。
(5)管理角色定制。整个系统分考生、老师、管理员三种角色级别。考生可以在线报名,在线竞赛、在线正规或模拟考试等。老师可以在线编辑学习内容,编辑考试内容,进行科目管理,试卷管理,监考等操作。管理员可以实现整个系统的设置,数据分析,数据归档等等操作。