语言实验教学软件平台的设计与实现*
2016-07-12魏元喜范姣莲王海波
魏元喜 范姣莲 王海波
(北京邮电大学 语言实验教学中心,北京 100876)
语言实验教学软件平台的设计与实现*
魏元喜范姣莲王海波
(北京邮电大学 语言实验教学中心,北京 100876)
摘要:语言实验教学方法是经过长期的语言教学实践和研究而逐步形成的,已在北京邮电大学语言实验教学中心运用了多年。以该方法为基础,文章研究并开发了大学英语实验与评估平台。该平台的设计摒弃了传统网络教学平台所使用的ASP技术,转而采用基于J2EE技术框架对MVC模式与“Spring+Struts+Hibernate”进行整合,具有较高的可靠性、扩展性、可重用性。通过对学生进行问卷调查与评估,可知该平台能有效地提高语言实验的教学实践与教学研究水平。
关键词:语言实验;J2EE;Spring;Struts;Hibernate
一 研究背景
语言实验教学方法[1]的核心思想是改变传统的外语教学中偏重理论知识的传授、轻视语言实践能力培养的情况,借鉴理工科先进的实验教学理念,在语言实验教学中选择典型的实验案例,详解实验的组成要素,解析实验的具体步骤,指导学生更加高效地完成实验报告的提交、求证和分析。该方法的运用,实现了实验结果的查看及师生间及时、有效的互动反馈,形成了“以学生为中心”[2]的教与学有效结合的语言教学模式。大学英语实验与评估平台(以下简称“实验平台”)的出现使语言实验教学实践有了有效的软件实施平台,因此基于语言实验教学方法的实验平台的研究与设计就成为了实践支撑的重要环节,具有重要意义。
二 技术需求分析
基于上述背景分析,本研究认为实验平台的设计应满足如下技术要求:
①采用B/S的系统架构模式。在这种结构下,用户工作界面通过支持超文本传输协议[3]的浏览器得以实现。由浏览器、Web服务器、应用服务器和数据库服务器来支持用户的访问,可以降低用户使用的门槛和成本,有利于大学英语实验教学理念和服务的推广。
②目前,大多数教学系统采用ASP技术进行开发,并在Windows操作系统上运行,但出现了代码的可移植性较差、执行效率不高[4]等问题。因此,需要找到一种有良好跨平台性、可重用性的技术实现来完成实验平台的开发。
③使用以层次划分为基础的模块化设计方式来完成系统的设计开发。实验平台涉及管理员、教师和学生三类角色,来共同支撑系统的运行。其中,管理员主要完成对其他角色信息、实验教学以及各种关系的维护,教师主要完成对实验任务的发布、修改和评价等,学生则主要完成实施实验任务、提交实验任务、实验互评等。基于这三类用户角色的划分,实验平台的开发采用分模块、分层次的思想来实施。根据语言实验教学模式的业务流程,总体上可将实验平台划分成以下几个业务模块:用户信息管理功能模块、实验维护功能模块、实验评价管理功能模块、成绩管理功能模块等。实验平台需求总体框架设计如图1所示。
图1 实验平台需求总体框架图
实验平台采用分模块、分层次的设计思想主要基于以下两个方面的考虑:一方面,对于一个有复杂业务需求的软件系统来说,采用模块化方式进行设计开发可以有效降低工作的复杂度;另一方面,是为了提高系统自身的可控性、可维护性和可扩展性。为便于说明问题,本研究仅对实验平台实验维护功能模块中的实验任务维护子模块进行阐述和分析。实验任务维护子功能用例图如图2所示。
图2 实验任务维护子功能用例图
三 系统技术框架分析
1 J2EE技术架构
J2EE[5](Java 2 Platform Enterprise Edition)是一套企业级的Java平台,适用于创建服务器应用程序和服务的技术架构。一般来讲,J2EE具有四层模型:运行在客户端机器上的客户层组件、运行在J2EE服务器上的WEB层组件、运行在J2EE服务器上的业务逻辑层组件、运行在EIS服务器上的EIS Tier企业信息系统(Enterprise Information System)层组件。
2 设计模式与SSH框架
MVC[6]设计模式包括 Model(模型)、View(视图)和 Controller(控制器)三个部分,也可以被缩写成MdMaVC[7],分别对应于输入、处理、输出三个部分——Controller对应于输入,Model对应于数据表示和数据处理,View则对应于输出,其中Model与平台无关[8]。
基于MVC设计模式的分析,本研究采用J2EE的三种框架组合“Spring+Struts+Hibernate”来完成实验平台的开发:Struts[9]框架向Model、View和Controller提供了相应的组件;Spring[10]是一个轻量级的控制反转(IoC)[11]和面向切面(AOP)的容器框架;Hibernate[12]则对JDBC进行了轻量级的对象封装,使Java用户可以运用面向对象的编程思维来访问数据库系统。
在实际开发中,Struts负责用户表示层:一方面接收用户数据请求进行处理,另一方面再将处理的结果返回到对应的网页;Spring负责业务逻辑层:为用户表示层提供统一的调用接口并封装持久层的数据库操作,同时集成Hibernate,另外Spring还会对事物进行统一管理;Hibernate则主要负责持久层:完成数据库的“增”、“删”、“改”、“查”等操作,Hibernate有一组专门的配置文件来指明数据库中的表与实体类的映射关系,并通过定义Java接口来实现这些Java类直接与数据库的交互[13]。
四 设计与实现
由于Struts框架对MVC设计模式的Model、View和Controller都提供了相应的组件支持,再将Spring和Hibernate整合进来,就能实现基于MVC设计模式的实验平台的设计与开发。MVC设计模式具有生命周期成本低、有利于软件工程化管理、耦合性低、重用性高等特点[14]。
基于对J2EE技术架构的分析,实验平台采用了用户表示层、业务逻辑层和数据持久层等三层系统框架来进行设计与开发,具体实施过程如下:
1 用户表示层的设计与实现
用户表示层可以拦截用户请求并将用户请求交由相应的业务层处理,同时将底层组件处理的结果转发给用户,本系统通过 Struts完成用户表示层的实现。实验平台的表示层正是基于此进行设计,实验任务维护子功能模块用户表示层设计流程图如图3、图4所示。
图3 用户进入实验任务维护页面系统运行流程
图4 用户修改实验任务系统运行流程
如图3所示,在用户界面“点击实验任务维护”,系统会检测用户是否具有实验任务维护权限,如果有权限系统会进入实验任务维护界面。实验任务维护界面主要包括实验任务列表和实验任务相关的操作,为了便于说明问题,这里仅对实验任务修改操作流程进行分析:如图4所示,在用户界面修改好实验信息后“点击提交修改”,Web拦截器会将获取到的用户请求交给相应的表示层,表示层则将获取到的用户请求和相关参数转交实验任务修改的业务模块进行处理。本系统采用 Struts配置文件来负责管理应用中的用户请求及用户视图映射:当用户进入实验任务维护界面进行“增”、“删”、“改”、“查”等操作时,Struts会读取配置文件定义的 Action映射进行请求转发并返回相应的结果。
2 业务逻辑层的设计与实现
实验平台采用MVC设计模式,业务逻辑层是MVC实现解耦合的重要一个环节,本系统采用Spring框架实现业务逻辑层。具体的做法是:首先用Spring创建数据源,其次将数据源注入到Session工厂,最后通过把Session工厂注入给Hibernate Template、把DAO注入给Session工厂、把Service注入给DAO、把Action注入给Service这样多层的依赖注入方式完成系统的松散耦合,而数据持久化操作在持久层通过Hibernate来完成。
3 数据持久层的设计与实现
在数据持久层需要定义实体类与数据库表之间的关系。在具体实现上,一方面通过Hibernate提供的配置文件,来完成Java实体类与数据库实验任务信息表中的主键、任务状态、创建者、实验任务名称、是否已发布等字段的一一映射;另一方面通过配置相应的JDBC驱动与数据库进行交互,从而完成实验任务数据的持久化操作。
五 教学应用效果评估
1 应用操作界面
实验平台的教师端操作界面如图5所示。教师用户登陆教师管理页面后,可以点击“实验维护”按钮,展开实验信息维护菜单;在实验信息维护菜单中点击“任务维护”按钮,可跳转到如图6所示的实验任务维护操作界面。
在实验任务维护操作界面中,点击右上角的“添加”按钮,就可以进行实验任务的添加操作;点击“操作”列的铅笔图标,就可以对实验任务进行管理和修改。
图5 实验平台的教师端操作界面
图6 实验平台的实验任务维护操作界面
2 实验平台的教学效果评估
实验平台设计与开发的最终目的是服务于语言实验教学,因此,将这个最终目的作为导向和标准来评估本系统。
以北京邮电大学2013级参与实验教学一年的本科生为例,通过问卷调查的形式对教学效果进行呈现。本研究共发放1805份调查问卷,收回有效问卷1747份,其中男生占62%、女生占38%。调查问卷分别从提高学习兴趣、提高学习积极性、提高学习效率等三个维度,来考察学生对实验平台进行体验的满意程度和实验平台对语言实验教学的支撑程度;分别对这三个维度的Likert五级量表取平均值,其中增强学习兴趣和提高学习积极性分别达到了3.97、3.90,而提高学习效率相对较低,但也达到了 3.71。由此可以看出,实验平台的应用有效增强了学生的学习兴趣和学习积极性,在一定程度上也提高了学生的学习效率,但仍有需要改进之处。从整体上看,实验平台得到了大多数学生的认可,有效促进了大学英语的实验教学。
综上所述,经过对语言实验教学的长期研究和实践,针对实验平台的用户需求,本着更有利于语言实验教学展开和推广的原则,本研究设计并开发了基于J2EE技术的大学英语实验与评估平台。相关的教学评估结果显示,该平台有效地提高了语言实验的教学实践与教学研究水平。
参考文献
[1]范姣莲.大学英语实验教程(第一册)[M].上海:上海外语教育出版社,2012:1-22.
[2]范姣莲,高玲.对大学外语“以学生为中心”的教学模式的思考[J].中国电化教育,2004,(5):58-60.
[3]朱永红,张燕平,许荣斌,等.探析超文本传输协议[J].计算机技术与发展,2006,(10):65-67.
[4]苏日娜,李晨,范剑波.基于J2EE技术的网络教学平台的设计与实现[J].宁波工程学院学报,2007,(4):82-87.
[5]蔡剑,景楠.Java网络程序设计J2EE[M].北京:清华大学出版社,2003:10-19.
[6]黎永良,崔杜武.MVC设计模式的改进与应用[J].计算机工程,2005,(9):96-97.
[7]Greene R L. Efficient retrieval from sparse associative memory[J]. Artificial Intelligence, 1994,(2):395-410.
[8]任中方,张华,闫明松,等.MVC模式研究的综述[J].计算机应用研究,2004,(10):1-4.
[9]刘艳春,洪晓慧.Struts2框架核心配置文件的研究与应用[J].计算机技术与发展,2013,(2):77-81.
[10]吕毅,葛玮,郝克刚.Spring轻量级J2EE开发框架的研究[J].计算机技术与发展,2006,(12):208-211.
[11]鲁红,秦利.Spring IoC集成原理的应用设计[J].中国现代教育装备,2008,(9):133-134.
[12]林寒超,张南平.Hibernate技术的研究[J].计算机技术与发展,2006,(11):112-113..
[13]王君.基于Struts+Spring+Hibernate的企业级WEB应用框架的研究[D].合肥:合肥工业大学,2007:23-27.
[14]Gupta P, Govil M C. MVC Design pattern for the multi framework distributed applications using XML, spring and struts framework[J]. International Journal on Computer Science & Engineering, 2010,(4):1047-1051.
编辑:小米
Design and Implementation of Language Experimental Teaching Software Platform
WEI Yuan-xiFAN Jiao-lianWANG Hai-bo
(Language Experimental Teaching Center, Beijing University of Posts and Telecommunications, Beijing, China 100876)
Abstract:Based on long-term language teaching practice and research, language experimental teaching method has been applied to Language Experimental Teaching Center of Beijing University of Posts and Telecommunications for several years. College English Experimental Teaching and Evaluation Platform was researched and developed on the foundation of this method. The platform abandoned the use of the ASP technology which was adopted by traditional network teaching platforms, and integrated MVC design pattern with “Spring + Struts + Hibernate” framework through J2EE technology. This system had high reliability, scalability and reusability and effectively improved the teaching practice and research level of language experiment.
Keywords:language experiment; J2EE; Spring; Struts; Hibernate
【中图分类号】G40-057
【文献标识码】A 【论文编号】1009—8097(2016)05—0083—06 【DOI】10.3969/j.issn.1009-8097.2016.05.013
*基金项目:本文为2014年北京市教改项目“大学英语实验教学体系的构建与应用”(项目编号:2014-ms036)的阶段性研究成果。
作者简介:魏元喜,实验管理、助理工程师,硕士,研究方向为计算机技术,邮箱为weiyuanxi@126.com 。
收稿日期:2015年7月20日