基于STRUTS架构的PBL教学网站建设方案
添加日期:2007-01-28     浏览:1820

University , XI’AN  710032


fmmump@163.com


[摘要] 设计和开发优质的教学网站是当今远程教育中一个重大课题。本文在PBL教学理论的指导下阐述了建设一个基于STRUTS架构的教学网站的方案,具体阐述了PBL教学理论在教学网站中的应用、以及整个网站的体系构架的组成和技术实现。

【Abstract】Design and developing an excellent instructional website is a important problem in Distance Education , so the purpose of this paper is to design a plan to discuss these problems and put forward some suggestion using the theory of PBL , and use struts structure to put forward a design pattern.
[关键词] 教学网站,STRUTS,PBL
【Keywords】Instructional web site ,STRUTS,PBL

    教学网站作为当前远程教学的主要手段已经蓬勃发展起来。但作为的新生事物的教学网站,仍然在诸多方面存在较大的问题,首先,最突出的矛盾是采用新技术手段的网络教学依然沿用旧的教学理念,导致教学网站没有发挥其全部潜力。具体表现在教学模式单一,重教学内容呈现和讲解,轻教学环境设计教学活动设计。可以说,基本上是传统讲授模式的网络化。这既不符合人的认知规律,也没有体现网络教学的优势。PBL教学模式作为一种新的教学理念,为教学网站提供了一种行之有效的教学策略。另外,从开发专业教学网站的技术角度看,也存在重复建设多、代码复用性差、升级困难等问题。虽然教学网站的教学内容不同,但是大致的逻辑功能,学习、管理流程还是有很大的相似之处,基于STRUTS框架构建整个系统,就可以使系统规范化,有利于代码复用、整合、升级,使开发维护成本大大降低。本文就介绍一个采用PBL教学思想,基于STRUTS架构,完整的教学网站方案。

一、PBL教学网站的运作方式。
    PBL(problem-based learning)中文含义是基于问题式学习,是以问题为核心,让学生围绕问题展开学习,以自主学习和协作学习相结合的方式,在解决问题的过程中学习隐含于问题背后的科学知识,形成解决问题的技能,并获得自主学习的能力,最终完成知识体系的建构[1]。这种学习策略,综合了协作学习、发现学习、综合学习以及范例学习等多种学习策略的特点,能够比较充分的体现现代学习理论,其理论基础是建构主义学习理论。将PBL教学模式应用在教学网站上,在学习模式上它是以“基于问题的学习”作为学习模式;在学习内容上,以“问题”为中心,通过查阅精心组织设计的学习资源;在学习方式上,采用小组协作与自主探究相结合的学习方式。在学习评价上:不仅仅限于教师对学生作业和考试的评价,更注重对学习过程的评价。

    在这样一种结构松散的网络学习环境中,如何引导学生有目的、有计划的进行自主学习活动就是一个难点。本方案就是按照PBL教学模式的原则设计一个实用性强符合学生认知规律的教学网站,它可以指导学生进行有目的、有计划的自主学习,摒弃传统灌输式、消极被动的知识接受方式,学生的学习是与网络学习环境交互的结果。为此,需要从两个方面去研究,其一、针对如何组织网络课程教学内容进行研究。其二、针对PBL网络课程教学活动的过程进行研究。

    PBL教学策略是以问题为出发点,通过对教学资源的查阅检索来解决问题,在解决问题的过程中完成对教学内容的学习。所以,对于网络课程的教学内容的组织应该从两方面去研究。一是对“问题”的设计,二是对教学资源的组织。“问题”的设计是PBL教学策略的核心,良好的问题的提出是学生深入学习的关键,对于“问题”设计应该符合四个原则分别是:真实性原则,经验性(针对性)原则,非良构性原则,难易适中原则,含盖性原则(囊括所有知识点),关联性原则。问题提出的模式主要有:“比较”,“假设”,“6W”,“判断”等等。从教师的主导地位来看,对于每个问题的提出,教师应该针对这个问题给出详细的指导和参考解决方案,指导学生从多角度多层次去考虑。对于教学资源的组织,按教学内容逻辑顺序组织和按学生认知顺序组织相结合的方式。

    在教学网站中学习不是一个静态的过程,而是一个动态的过程,为了完成这样一个学习的过程,必须制定相应的学习规则、学习步骤等,设定一个学习程序,促使学生通过完成一定的活动从而获得知识。具体包括以下阶段:1、问题设计阶段,这个阶段的工作是由教师或者教学设计人员进行的,课程的教学内容都是围绕这些问题展开。2、理解问题,产生“学习专题”阶段。这个阶段是由学习者来完成的。依据问题,学习者根据自己的兴趣形成研究意向,有相似研究意向的学习者组成学习小组,根据教师的指导和参考解决方案,通过小组讨论的方式,确定需要学习的若干“学习专题”。3、问题解决阶段。在这个阶段,学习者既要进行自主的学习,又要进行小组协作学习。学习者首先根据专题对相关知识点进行检索、学习、整合加工、提出解决问题的设想;然后,在小组中讨论这些问题,陈述自己解决问题的方案,批判的接受他人的想法和观点。最后组长负责综合小组成员的想法和观点形成解决问题的方案报告并提交评定。4、学习反思和成果汇报阶段。这个阶段包括两个活动:学习者自我反思和成果汇报。反思可以帮助学习者有意识的提炼出概括性的知识,理解学习过程中的思维和学习策略。成果汇报要求各个小组将学习成果以不同的形式汇报出来,如以论文形式或电子作品形式发布到公告栏上,供教师和其他学员进行评议,或在语音聊天室里开答辩会议。5、评价阶段。针对学生的研究成果以及在网络课程学习的整个过程中的表现教师可以给某个学生的学习效果进行一个综合评定。这里需要一个评价量表,综合研究成果的正确性,创新性,小组的合作表现,个人的学习投入表现,自我反思质量,小测验成绩给出一个综合考评成绩。

二、教学网站的模块划分:
    为了实现上述功能必须有相应的功能模块作为依托,主要模块有:用户管理模块、课程教学内容及问题管理模块、练习测试模块、交互系统模块、辅助学习模块和监控评价模块等六个模块。用户管理模块主要目的就是管理使用该网络课程的所有注册人员,使用人员包括教师和学生两种身份,所有身份由课程最高管理员分配。教师身份具有组织学生分组讨论、管理课程内容、监控学生学习情况、评判学生表现的权限,学生身份可以使用网络课程提供的任何学习资源,但必须遵守学习规则,否则账户将被禁用。课程教学内容及问题管理模块,主要是为了方便教师或教学设计人员对教学内容进行添加或修改,设置问题及相关知识点。这样有利于课程内容的维护和更新。练习测试模块,该模块主要功能就是对学生进行测试,检验其学习效果,教师在此模块中可以管理题库,完成人工组卷或随机组卷,以及后期阅卷,主要针对主观题。学生在此模块中可以进行自我测试,同时也要完成教学程序中定制的测试。交互系统模块是学生完成学习的主要手段之一,包括同步异步两种方式,同步方式是指语音聊天室,异步方式是指BBS,公告栏、e-mail等。语音聊天室可以开设若干房间,由组员自行管理。BBS也是每个组一个讨论区,供每个组专门使用,为日后形成解决方案提供一个文档基础。辅助学习模块,为了使学生更方便的使用网络课程,需要一些辅助性的手段。监控评价模块,基于PBL策略的网络课程更注重学习的过程,对学生的学习过程进行监控是这种网络课程的特色,为了对其进行监控,每个学生都有一份详细的日志信息存储在数据库中。

三、MVC设计模型及STRUTS构架的原理
    STRUTS构架是MVC设计模型的一种具体实现框架,我们需要做的是在框架的基础上添加具体功能逻辑。MVC设计模式的主要思想是将应用程序分为三个部分:模型(MODEL)、视图(VIEW)和控制器(CONTROLLER),以提高应用程序的可扩展性。MODEL:它是业务逻辑处理模块。是对业务流程中的对象进行抽象,封装了对象的属性和对象隐含的业务逻辑,在教学网站中包括对学生、教师所有教学活动流程的具体实现。(2)VIEW:它是用户视图模块。于用户打交道,包括为用户提供了输入输出手段,并触发CONTROLLER运行,然后通过MODEL访问数据库,并最终显示这些数据。(3)CONTROLLER:它是流程控制模块。它管理着用户与VIEW的交互,能从VIEW中取得数据并传给MODEL去执行业务逻辑,然后它根据MODEL的执行结果,选择一个合适的VIEW把结果展现给用户。MVC将程序的表示、控制、逻辑三个方面分开,有利于提高程序的复用性,为模块化设计提供了一个良好的平台[2]。

    目前实现 MVC思想的构架有很多,如:HIBERNATE,STRUTS等,而现在最流行的通用开放源代码框架就是STRUTS,有很多成熟的网站都是运用它作为基础。STRUTS结构图如下:

    下面对STRUTS的各个组件的功能作一个简要的概述,首先看VIEW层,视图层主要是为了显示和输入用户信息设计的,包括Html,Struts标签,HTML是超文本标记语言,用于浏览器解释执行,主要表现静态页面。Struts标签类似于HTML是STRUTS为了跟后台控制层交互,并且将JAVA代码从页面分离出去而设计的一套标准表达方式,包括系统标签和用户自定义标签,一般系统标签就够用了,为了描述特殊的页面,STRUTS系统也可以自定义标签以满足个性化的要求。CONTROLLER层主要的功能是接受用户请求,并根据请求的不同发送给相应的逻辑处理模块,换句话说,CONTROLLER层主要起到转发请求的作用,实际的业务处理在MODEL层进行。为了能达到这种目的,在CONTROLLER层主要包括以下几个部分Action Servlet,Form Beans,Form Beans,Struts-config.xml,Interface,factory。其中Action Servlet是CONTROLLER层的核心,是STRUTS架构中Action Servlet是框架定制好的转发模块,用户不用对它进行任何更改,为了能转发用户请求,STRUTS专门为用户提供了一个XML文件帮助用户配置转发信息,这个XML文件就是Struts-config.xml,用户只需要根据XML文件的特定格式,将转发信息写在这个XML文件中即可,可以看出程序的流程控制不是直接写在源代码中,而是利用 XML配置文件来完成,当程序或页面发生变化时,通过修改XML文件可方便地对程序流程进行控制,进一步提高了软件的可扩充性。因为JAVA语言是纯面向对象的,所有的实体都用对象的方式呈现,Form Beans就是为了符合JAVA的这个特点,将所有的用户对象信息收集在一起,形成对象,供进一步处理,也就是说Form Beans起到一个收集用户信息的作用。当Action Servlet得到用户请求后,根据Struts-config.xml的配置信息,将Form Beans里的信息转发给Action Beans,以得到进一步处理。考虑到一个大的系统功能会非常多,所以在一个Action Bean里不可能将所有的功能都实现,必须进一步划分,交给其他模块完成,否则一个模块的功能会非常庞杂,这一点也体现软件工程分而治之的思想。在Action Bean里我们通过调用接口的方法来处理业务流程,Interface只是一些方法的说明,而真正的实现在MODEL层实现接口的类中完成。因为接口的实现类非常多,至于具体选择哪个类作为实现,需要通过接口工厂来帮助选择,这样作的好处是将接口的定义和接口的实现进一步分离,使他们之间透明化,从而将CONTROLLER层与MODEL层彻底分离。在MODEL层的Implements模块中是所有业务逻辑的真正实现的地方,负责与数据库交互。

四、教学网站的整体构架
    了解了STRUTS构架的原理,我们就可以设计一个符合这种构架的教学网站,其整体构架图如下:

 

    可以看出,这样的架构有很多优点,
    1、所有的功能模块之间相对独立,每一层划分都有严格的界定,这样即使多人同时开发,只要符合架构规范,代码就不会混乱。

    2、将数据库配置信息,MD5加密,分页显示,国际化等这些其他模块必须使用的功能组合在一起,组成一个实用模块,以供上层开发者使用,这样可以避免重复开发,也便于修改。

    3、可以自定义XML文件存贮数据库配置信息,通过JDOM解析XML获得数据库连接信息。不必将数据库配置信息写成硬码,这样既有利于安全性也便于数据库的移植,充分体现软编码思想。

    4、教学网站一般安全性要求比较高,为此,STRUTS专门提供了一个多层安全验证机制,可以自定义错误跳转,通常我们采用前后台验证机制,前台用javascript验证非法入侵,后台使用过滤器模式过滤非法入侵。

    5,国际化也是STRUTS一个非常实用的功能,系统可以根据用户浏览器的默认语言的不同,自动实现相应语言的转换,而不必将一个网站为语言版本的问题写多遍。例如,计算机操作系统是英文Windows,则页面上显示的所有信息将是英文的。

    6、STRUTS架构最具魅力的地方还在于它的可扩展性。首先,因为是模块化设计,为其增添一个功能只是增加一个模块的问题,不会影响到其他模块。其次,它不仅从逻辑上对整个网站进行分层,还可以将其扩展到物理多层,也就是说,随着客户访问量的增大,一台服务器是不能满足客户需求的,必须将安装到多台服务器上,这样必须对整个网站进行重新规划,才能让服务器之间协调工作。一般来说,整个网站就必须符合J2EE的体系架构。对采用STRUTS架构的网站进行物理性扩展将是非常容易的事,只需要将MODEL层的Implements部分做成组件,封装在EJB中,做成Entity Bean以便远程的Session Bean调用即可,因此需要改动的地方就不会很多。所有这一切的方便还是要归功于STRUTS良好的结构。

五、结束语
    为了使教学网站从教学方法、教学模式上优于传统教育方式,真正体现网络教学的优势,基于STRUTS的PBL网站架构是一套比较适合的建设方案。

    教学网站是远程教育的一个具有广阔发展前景的领域,随着计算机软件技术以及教学理论的发展和深化,必将涌现出更多新型教学模式与数字化完美结合的优秀方案。

六、参考文献
1、马红亮,杨冬.网络环境下 PBL 的模式研究[J].现代教育技术,2002,(3)。
2、Jayson Falkner ,Ben Galbraith[美] 《Beginning JSP Web Development》。

作者简介:门鹏 (1978-),男,陕西旬邑人,现为第四军医大学教育技术学硕士研究生。
研究方向:远程教育的理论与实践。导师:谢百治,李冰教授
联系电话:029-3374720   E-mail: fmmump@163.com