基于工作流的网络教学系统的设计

2010-04-12 06:28周雪云
科技传播 2010年18期
关键词:教学系统学习者流程

周雪云

广州白云工商高级技工学校,广东 广州 510450

0 引言

当前的网络教学系统主要还是关注在以下几方面:其一是通过网页给学习者提供教学材料和有关资料,以及与其他的有关教育网连接;其二是除了在网上提供学习材料外,还要求学习者通过电子邮件、电子公告栏、网上练习和测量进行异步双向交流。

分析目前的这些网络教学平台,存在着一些明显的不足,我们认为这集中体现在以下这些方面:1)学习者和系统的交互性不够;2)对学习者的学习过程的关注不够。无法有效的制订学习者的学习过程;3)对学习者之间的协作支持不够;4)课程和课件内容的开发效率不高,课程和课程之间的缺乏良好的支持和协作,这就加重了教师的不必要的重复工作。

因此,本文引进了“工作流”这一技术工具,重新设计和实现了一种网络教学系统。本文试图通过工作流技术改造当前网络教学系统的教学流程,达到更好的教学效果。

工作流作为“业务过程的部分或整体在计算机应用环境下的自动化工具”[1],它能够使“多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行”[2]。结合工作流,使得我们能够更好的重构教学的流程设计和协同教师与学习者的行为。

1 系统相关技术

1.1 本文主要采用了RUP作为主要的软件工程方法

采用了工作流系统和jBPM技术。可以说jBPM是在近些年来在Java领域异军突起的一个工作流管理系统。

1.2 网络软件体系结构的发展和本文采用的架构

本系统采用的正是基于Java Web相关技术的三层B/S技术。而且采用了Spring、Hibernate和Struts等有影响力的开源技术作为应用服务器中业务逻辑的实现技术。然后在此基础上集成,实现了一个面向教学的工作流系统。

1.3 采用的其他主要相关技术介绍

本系统还采用了Spring、Hibernate和Struts技术,本文就采用Struts(版本:1.2.9)作为Web端开发的MVC架构。

2 系统的功能需求分析

网络教学平台的主要参与者有3种,分别是管理员、学习者和教学者。该网络教学系统的主要任务是:管理员能够通过后台管理来管理各种教学资源;学生通过该平台能够获得有关课程的信息,并且能及时获得其想要的反馈;而教师通过该平台能够很好的掌握学生的情况,控制学生的学习过程,达到最优的学习效果。以下将逐个模块进行分析。

1)学生模块:在学生模块里,学员可以进行课程学习、课程讨论、完成作业等学习活动,也可以发布消息,管理个人资料与信息;

2)教师模块:在教师模块里,教师可以发布课程、动态的更改课程内容,可以对学生提交的作业进行批改并回馈给学生;

3)管理员模块:管理员模块主要用于对系统级的信息进行管理和查看。

3 系统的设计

3.1 系统的体系结构和总体设计

本文采用的是三层的B/S架构。客户端使用游览器进行访问,Web服务器端使用开源的tomcat软件。而应用服务器的基础也是有tomcat提供的servlet容器所支持。而且该系统是一个典型的SSH(Struts、Spring和Hibernate)系统设计。

系统的各个模块的协作关系和工作原理如图1所示,用户通过浏览器提交的请求将首先被Struts分派到合适的Action,然后再分派到合适的业务逻辑层组件和持久层组件。

图1 系统的工作原理

为了实现课程学习的流程化,我们引入了工作流引擎——jBPM。同时将底层的jBPM接口进行了初步的封装。我们将经过封装后的组件命名为jBPMHelper。业务层调用jBPMHelper完成业务逻辑,而jBPMHelper调用工作流引擎,工作流引擎调用持久层的相应服务来完成其相应针对问题域。

3.2 系统的详细设计

本文只对工作流相关设计和学生模块进行详细设计,其它模块未作详细设计。

3.2.1 工作流相关设计

在系统中,工作流流程主要涉及的是课程学习和作业这两方面。我们分别对课程和作业这两方面进行了流程建模。同时,为了更好的执行工作流相关任务,我们对jBPM进行了进一步的封装。

首先,在抽象上,我们将课程学习内容被划分为一个一个的基本元素。一般来说,一门课程的基本元素是“学”——即内容(包括文字、图片和视频等),“练”和“考”——即各种题目。

从学习者看来,在该系统上的学习过程就可以看成是这几种基本元素按照一定顺序的排列。这样,通过对课程元素的抽象和引入工作流系统,可以实现对课程学习过程和内容的动态配置和复用。课程的流程就如图2所示:

图2 课程的流程定义示意

而系统的另一个重要方面:而在实际系统的协作型作业当中,我们是把参与作业的各个学生建模成工作流中Task,一个学生对应一个Task,并将Task对应的actor来对应学生的信息。当流程来到某一个Task的时候,就会将Task分配给actor对应的学生,该学生的待处理任务中就会出现当前的Task。只有当前的Task完成,流程才能继续下去。而系统也会读取这个Task展现给合适的学生进行完成。这就从而实现了作业在不同的学生中流转的目的。如图3所示:

图3 作业的流程定义示意

本文的流程主要使用开源的jBPM来实现。业务逻辑依靠jBPM提供的API来对工作流引擎进行操作。为了方便操作,我们将jBPM的相关功能进行了进一步的封装为jBPMHelper。jBPMHelper的主要功能是完成和教学业务逻辑有关的流程定义、促发和执行等任务。

3.2.2 学生模块的设计

图4 学生模块的功能结构图

学生首先要在系统中注册一个账号。学生注册后,由系统管理员审核是否通过。当学生有了合法的账号之后,就可以使用系统的各种功能了。学生模块的功能结构图4所示。

4 结论

在本论文中,我们首先讨论了当前在线网络教学系统的现状,并着重分析了其不足之处。然后引入工作流系统,构建了一种新的教学模式和协作型的学习模式。最后在这个基础上,设计并实现了一个完整的网络教学平台。在这个过程中,本文还对网络教学平台设计有关的软件工程理论、系统架构设计和相关的软件技术进行了介绍、研究和探讨,而且参照了软件工程的相关理论进行项目管理、开发和测试。当然,该网络教学系统存在一些不足的地方。今后,还需进一步的研究:1)探讨新的教学模式和策略;2)可以考虑充分利用该系统遗留下来的各种数据,结合数据挖掘等各种方法研究学生的学习特点;3)在系统中课程的定制和协作型学习的流程定制的方法还是略显繁琐,可以考虑采用实现图形化的定制,这将极大的方便系统的操作者。

[1]严玫玫.建构主义与网络教学[J].科技创新导报,2008(34):106.

[2]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907.

猜你喜欢
教学系统学习者流程
吃水果有套“清洗流程”
基于Unity的计算机硬件组装仿真教学系统设计
你是哪种类型的学习者
十二星座是什么类型的学习者
多地远程互动同步教学系统的设计与实现
汉语学习自主学习者特征初探
基于交互式双板教学系统的高中地理教学研究
本刊审稿流程
析OGSA-DAI工作流程
汽车配件营销实践教学系统开发