论文部分内容阅读
摘 要:项目教学是职业教育课程改革的重点方向,对教师实践能力、学生职业能力与素质和学校层面的校企合作、工学结合提出了新的挑战。为构建适应项目教学的网络学习环境,分析了项目化网络课程系统应具备项目注册、项目启动、项目实施管理及项目评审4项功能,基于Moodle平台设计了系统架构和数据表,并给出了关键模块二次开发的方法。应用实践表明,系统对项目教学较好的适应性,能显著地提高网络课程系统的可用性和易用性。
关键词:网络课程;Moodle;项目教学;职业教育
中图分类号:TP315 文献标志码:A 文章编号:1673-8454(2014)15-0080-03
引言
Moodle(Modular Object-Oriented Dynamic Learning Environment)是一个全球性的开源软件开发项目,基于社会建构主义理念,采用PHP技术开发,其核心为活动和资源。Moodle用于构建网络课程、学习管理系统和虚拟学习环境。Moodle可运行在Windows、Mac和Linux多种系统平台。发布于2013年11月18日的Moodle 2.6版本具有以下特征:能适应大规模学习者的部署;支持论坛、词汇表、维基、作业、测验、投票等20种不同的教学活动类型,以建立课程的协作社区,允许学习者控制部分内容;支持课程内容发布、布置作业和组织课程考试;灵活的角色定义和权限分配策略,能给学生更加灵活的控制权限。Moodle广泛用于大学、中学、政府部门、医疗单位等机构和个人。[1]
项目指在特定资源与要求约束下有待完成的任务,资源约束体现在项目资源、人员、环境方面,要求约束体现在时间、费用、性能等方面。项目管理是指为达到项目目标而对任务和资源进行规划、组织以及管理等一系列相关活动的整体。项目管理对象为项目任务、项目时间、项目成本、项目质量、人力资源等管理。项目生命周期由项目立项、项目启动、项目规划与实施、项目收尾和维护5个阶段。[2]在职业教育项目教学中的项目遴选阶段,通过评估项目实施要求与学生能力素质现状,并遵循适度拔高和分层递进原则,确定实施项目可行性,再确定入选项目的项目目标和能力素质目标,然后从项目实施管理的角度评估项目所需资源并制作项目实施计划,项目化网络课程应在现有网络课程系统基础上增加对项目注册、项目启动、项目实施管理和项目评审4个模块。Moodle虽然可以满足我们大部分网络课程建设需求,但在项目教学本身的特殊性和教学环境的差异性,直接使用Moodle建设项目化网络课程仍存在很多不足和不适应。为此,基于Moodle平台为进行二次开发尤其必要,二次开发重点不是对Moodle的核心代码和模块进行修改,而是围绕Moodle的核心代码进行外部功能模块的设计和开发以满足项目化网络课程的需求。[3]
一、项目教学流程与功能需求
依据项目生命周期和项目教学实践需求,项目教学流程可分解为项目注册、项目启动、项目实施管理和项目评审4个阶段,如图1所示。[4][5]
项目注册模块功能需求。支持设置项目基本信息、客户信息、项目资源信息、项目时间及交付标准功能,支持项目库变更管理功能。
项目启动模块功能需求。支持从项目库选取项目,确定被选项目具体时间要求、人员分组及任务安排、资源分配及项目评审方案。
项目实施管理模块功能需求。支持基于日历和甘特图的时间管理、人员及分组变更管理、资源变更管理、项目文档管理和沟通管理。
项目评审模块功能需求。支持基于项目实施过程的过程性评价,支持基于项目成果的终结性评价功能。
二、系统架构与数据表设计
1.系统架构
对Moodle进行模块化架构分析和数据库模型分析之后,建立在Moodle网站管理和课程管理架构基础上,通过二次开发实现项目管理功能,模块由项目注册、项目启动、项目实施和项目评审4个子模块构成,系统架构如图2所示。
2.项目数据表设计
原moodle数据库数据表基础上,增加表名为mdl_ project、mdl_project_categories、mdl_project_instances、mdl_ project_grade共4张数据表。mdl_project数据表用于存储已经注册项目的信息;mdl_project_categories数据表用于存储项目类型;mdl_project_instances数据表用于存储已经启动的具体项目;mdl_project_grade数据表用于存储项目评审结果。
三、关键模块设计
1.配置开发环境
先在Windows平台配置WAMP环境,即Windows、Apache、MySQL和PHP组合,再从Moodle官方网站下载Moodle的最新Windows版本并安装,最后安装Moodle社区推荐的开发工具是Eclipse或者是Net beans。
2.核心API及开发规范
Moodle 文件系统可以分为Moodle 代码、Moodle 数据库和Moodle 数据三个数据区域。[6]其中Moodle代码部分主要由核心API、插件两大部分构成,核心API及功能如表1所示。[7]
Moodle社区制定了开发规范,除要求遵循一般软件开发规范外,还规定了文件命名、类命名、代码编写的风格、缩进、代码换行、变量命名、数组、字符串的引号、函数定义、条件语句长度控制、绝对路径、数据库基本结构和安全等问题,所有模块的开发都应该遵循这个规范,如采用4个空白缩进而不使用制表位缩进、主语句顶格写,数组对象使用复数形式等。[8]
3.项目注册模块
项目注册表单时可分为4个表单分组:(1)项目基本信息:有项目编号、项目名称、项目类型、项目目标和项目注册时间。(2)客户信息:客户公司名称、客户公司地址、客户联系人姓名、客户联系人电话、客户联系人电子邮件。(3)项目资源信息。(4)项目描述。先通过require_login()函数请求用户登录,获取要添加项目所属的课程并验证用户对该课程的操作权限。注册表单制作可通过扩展Form API的moodleform类来构建,$mform->addElement()添加表单元素,$mform->setType()设定表单数据提交类型,$mform->setDefault()设置表单默认值,通过$mform->addRule()函数完成表单数据验证,$this->add_action_buttons()增加表单的提交按钮。表单数据提交后通过moodle_database类中定义的全局对象$DB->insert_record($table, $dataobject, $returnid=true, $bulk=false)实现数据插入,其中$table变量是存储项目的数据库表名称,对象$dataobject是表单提交后获得的数据,各表单属性name值必须跟数据库字段名称保持一致,否则无法将注册表单数据插入到数据库,导致项目注册失败。 4.项目启动模块
项目启动本质上是将项目库中被选项目实例化,主要包括项目分解、资源分解和时间规划3项工作。项目分解将项目分解形成任务模块,确定任务名称、任务说明、任务明细目标和成果验收标准。资源分解依此为各任务提供配套的资源及项目成员,时间规划确定各任务工期、周期性任务、里程碑事件、任务时序关系和项目进度计划。项目资源的具体实现时,先读取项目注册时添加的文档资源列表,然后通过File API的$mform->addElement(’filemanager’, ’files’, get_string(’selectfiles’), null, $filemanager_options)创建文档管理表单。指派项目人员及分工可通过Moodle原有的用户分组管理来实现。项目进度计划通过Calendar API的calendar_event()类设置里程碑事件,也可以使用PHP图形库jpgraph的Grantt Charts来创建。[9]
5.项目实施管理模块
项目实施管理依据项目进度计划执行以确保最终交付,主要包括时间管理、人员变更管理、资源变更管理、文档管理和沟通管理。时间管理通过日历事件及甘特图进行项目监控,人员变更管理通过用户管理模块来完成,资源变更管理和文档管理可File API实现项目进度报告提交和资源变更等功能,对于已经保存到资源库文档,直接从库中链接,不需要再次上传。沟通管理通过给项目添加论坛(Forum)来实现,或者基于用户选课信息发送电子邮件,也可以建立QQ群和讨论组,实现项目成员间的沟通管理。
6.项目评审模块
项目进入收尾阶段,项目导师检查项目执行状态,督促项目小组提交项目文档,组织人员对项目成果进行评审,项目成果评价应遵循以下原则:评价内容既要涵盖基础知识和基本技能,又要包括过程与方法、情感、态度与价值观的全面性原则;形成性评价与终结性评价相结合的多元化评价原则;教师、企业、本人和同学共同参与的评价主体多元化原则。可将项目能力分解成专业能力、方法能力、社会能力、项目日志与答辩和项目成果5项指标,如表2所示。[10]据此建立评表登记表单将项目成绩存入Moodle数据库中,通过评审后解散项目小组。
四、应用效果
课题组将生产性实训基地承接的网页设计、网站开发、影音制作和平面设计等系列项目注册到项目化网络课程系统,实现了从项目启动、项目实施管理、项目评审的集成化管理,改进了以往项目管理模式和效率,达到指导老师方便管、学生方便做,保障了项目实施和项目教学的效果。
参考文献:
[1]Moodle.About Moodle[EB/OL].(2014-1-023)[2014-1-25]. http://docs.moodle.org/26/en/About_Moodle.
[2]九州书源.Project 2010项目管理从入门到精通[M].北京:清华大学出版社,2012:14-15.
[3]刘平.Moodle系统应用与开发[D].江南大学,2009.
[4]郑钦晶.“住宅公寓设计”课程项目教学模式的构建研究[J].职教通讯,2013(33):46-50.
[5]张会斌.Project 2010企业项目管理实践[M].北京:人民邮电出版社,2011.
[6]王新勇.Moodle的二次开发研究与应用[D].成都理工大学,2010.
[7]Moodle.MoodleDocs[EB/OL]. (2013-12-10)[2014-3-4].http://docs.moodle.org/dev/Main_Page.
[8]Moodle.Coding style[EB/OL]. (2013-11-9)[2014-2-27].http://docs.moodle.org/dev/Coding_style.
[9]Asial Corporation.JpGraph - Most powerful PHP-driven charts[EB/OL].[2014-2-27]http://jpgraph.net/features/gallery.php.
[10]赵建保.高职能力型课程学习评价指标体系构建[J].职业技术教育,2010(34): 51-54.
(编辑:杨馥红)
关键词:网络课程;Moodle;项目教学;职业教育
中图分类号:TP315 文献标志码:A 文章编号:1673-8454(2014)15-0080-03
引言
Moodle(Modular Object-Oriented Dynamic Learning Environment)是一个全球性的开源软件开发项目,基于社会建构主义理念,采用PHP技术开发,其核心为活动和资源。Moodle用于构建网络课程、学习管理系统和虚拟学习环境。Moodle可运行在Windows、Mac和Linux多种系统平台。发布于2013年11月18日的Moodle 2.6版本具有以下特征:能适应大规模学习者的部署;支持论坛、词汇表、维基、作业、测验、投票等20种不同的教学活动类型,以建立课程的协作社区,允许学习者控制部分内容;支持课程内容发布、布置作业和组织课程考试;灵活的角色定义和权限分配策略,能给学生更加灵活的控制权限。Moodle广泛用于大学、中学、政府部门、医疗单位等机构和个人。[1]
项目指在特定资源与要求约束下有待完成的任务,资源约束体现在项目资源、人员、环境方面,要求约束体现在时间、费用、性能等方面。项目管理是指为达到项目目标而对任务和资源进行规划、组织以及管理等一系列相关活动的整体。项目管理对象为项目任务、项目时间、项目成本、项目质量、人力资源等管理。项目生命周期由项目立项、项目启动、项目规划与实施、项目收尾和维护5个阶段。[2]在职业教育项目教学中的项目遴选阶段,通过评估项目实施要求与学生能力素质现状,并遵循适度拔高和分层递进原则,确定实施项目可行性,再确定入选项目的项目目标和能力素质目标,然后从项目实施管理的角度评估项目所需资源并制作项目实施计划,项目化网络课程应在现有网络课程系统基础上增加对项目注册、项目启动、项目实施管理和项目评审4个模块。Moodle虽然可以满足我们大部分网络课程建设需求,但在项目教学本身的特殊性和教学环境的差异性,直接使用Moodle建设项目化网络课程仍存在很多不足和不适应。为此,基于Moodle平台为进行二次开发尤其必要,二次开发重点不是对Moodle的核心代码和模块进行修改,而是围绕Moodle的核心代码进行外部功能模块的设计和开发以满足项目化网络课程的需求。[3]
一、项目教学流程与功能需求
依据项目生命周期和项目教学实践需求,项目教学流程可分解为项目注册、项目启动、项目实施管理和项目评审4个阶段,如图1所示。[4][5]
项目注册模块功能需求。支持设置项目基本信息、客户信息、项目资源信息、项目时间及交付标准功能,支持项目库变更管理功能。
项目启动模块功能需求。支持从项目库选取项目,确定被选项目具体时间要求、人员分组及任务安排、资源分配及项目评审方案。
项目实施管理模块功能需求。支持基于日历和甘特图的时间管理、人员及分组变更管理、资源变更管理、项目文档管理和沟通管理。
项目评审模块功能需求。支持基于项目实施过程的过程性评价,支持基于项目成果的终结性评价功能。
二、系统架构与数据表设计
1.系统架构
对Moodle进行模块化架构分析和数据库模型分析之后,建立在Moodle网站管理和课程管理架构基础上,通过二次开发实现项目管理功能,模块由项目注册、项目启动、项目实施和项目评审4个子模块构成,系统架构如图2所示。
2.项目数据表设计
原moodle数据库数据表基础上,增加表名为mdl_ project、mdl_project_categories、mdl_project_instances、mdl_ project_grade共4张数据表。mdl_project数据表用于存储已经注册项目的信息;mdl_project_categories数据表用于存储项目类型;mdl_project_instances数据表用于存储已经启动的具体项目;mdl_project_grade数据表用于存储项目评审结果。
三、关键模块设计
1.配置开发环境
先在Windows平台配置WAMP环境,即Windows、Apache、MySQL和PHP组合,再从Moodle官方网站下载Moodle的最新Windows版本并安装,最后安装Moodle社区推荐的开发工具是Eclipse或者是Net beans。
2.核心API及开发规范
Moodle 文件系统可以分为Moodle 代码、Moodle 数据库和Moodle 数据三个数据区域。[6]其中Moodle代码部分主要由核心API、插件两大部分构成,核心API及功能如表1所示。[7]
Moodle社区制定了开发规范,除要求遵循一般软件开发规范外,还规定了文件命名、类命名、代码编写的风格、缩进、代码换行、变量命名、数组、字符串的引号、函数定义、条件语句长度控制、绝对路径、数据库基本结构和安全等问题,所有模块的开发都应该遵循这个规范,如采用4个空白缩进而不使用制表位缩进、主语句顶格写,数组对象使用复数形式等。[8]
3.项目注册模块
项目注册表单时可分为4个表单分组:(1)项目基本信息:有项目编号、项目名称、项目类型、项目目标和项目注册时间。(2)客户信息:客户公司名称、客户公司地址、客户联系人姓名、客户联系人电话、客户联系人电子邮件。(3)项目资源信息。(4)项目描述。先通过require_login()函数请求用户登录,获取要添加项目所属的课程并验证用户对该课程的操作权限。注册表单制作可通过扩展Form API的moodleform类来构建,$mform->addElement()添加表单元素,$mform->setType()设定表单数据提交类型,$mform->setDefault()设置表单默认值,通过$mform->addRule()函数完成表单数据验证,$this->add_action_buttons()增加表单的提交按钮。表单数据提交后通过moodle_database类中定义的全局对象$DB->insert_record($table, $dataobject, $returnid=true, $bulk=false)实现数据插入,其中$table变量是存储项目的数据库表名称,对象$dataobject是表单提交后获得的数据,各表单属性name值必须跟数据库字段名称保持一致,否则无法将注册表单数据插入到数据库,导致项目注册失败。 4.项目启动模块
项目启动本质上是将项目库中被选项目实例化,主要包括项目分解、资源分解和时间规划3项工作。项目分解将项目分解形成任务模块,确定任务名称、任务说明、任务明细目标和成果验收标准。资源分解依此为各任务提供配套的资源及项目成员,时间规划确定各任务工期、周期性任务、里程碑事件、任务时序关系和项目进度计划。项目资源的具体实现时,先读取项目注册时添加的文档资源列表,然后通过File API的$mform->addElement(’filemanager’, ’files’, get_string(’selectfiles’), null, $filemanager_options)创建文档管理表单。指派项目人员及分工可通过Moodle原有的用户分组管理来实现。项目进度计划通过Calendar API的calendar_event()类设置里程碑事件,也可以使用PHP图形库jpgraph的Grantt Charts来创建。[9]
5.项目实施管理模块
项目实施管理依据项目进度计划执行以确保最终交付,主要包括时间管理、人员变更管理、资源变更管理、文档管理和沟通管理。时间管理通过日历事件及甘特图进行项目监控,人员变更管理通过用户管理模块来完成,资源变更管理和文档管理可File API实现项目进度报告提交和资源变更等功能,对于已经保存到资源库文档,直接从库中链接,不需要再次上传。沟通管理通过给项目添加论坛(Forum)来实现,或者基于用户选课信息发送电子邮件,也可以建立QQ群和讨论组,实现项目成员间的沟通管理。
6.项目评审模块
项目进入收尾阶段,项目导师检查项目执行状态,督促项目小组提交项目文档,组织人员对项目成果进行评审,项目成果评价应遵循以下原则:评价内容既要涵盖基础知识和基本技能,又要包括过程与方法、情感、态度与价值观的全面性原则;形成性评价与终结性评价相结合的多元化评价原则;教师、企业、本人和同学共同参与的评价主体多元化原则。可将项目能力分解成专业能力、方法能力、社会能力、项目日志与答辩和项目成果5项指标,如表2所示。[10]据此建立评表登记表单将项目成绩存入Moodle数据库中,通过评审后解散项目小组。
四、应用效果
课题组将生产性实训基地承接的网页设计、网站开发、影音制作和平面设计等系列项目注册到项目化网络课程系统,实现了从项目启动、项目实施管理、项目评审的集成化管理,改进了以往项目管理模式和效率,达到指导老师方便管、学生方便做,保障了项目实施和项目教学的效果。
参考文献:
[1]Moodle.About Moodle[EB/OL].(2014-1-023)[2014-1-25]. http://docs.moodle.org/26/en/About_Moodle.
[2]九州书源.Project 2010项目管理从入门到精通[M].北京:清华大学出版社,2012:14-15.
[3]刘平.Moodle系统应用与开发[D].江南大学,2009.
[4]郑钦晶.“住宅公寓设计”课程项目教学模式的构建研究[J].职教通讯,2013(33):46-50.
[5]张会斌.Project 2010企业项目管理实践[M].北京:人民邮电出版社,2011.
[6]王新勇.Moodle的二次开发研究与应用[D].成都理工大学,2010.
[7]Moodle.MoodleDocs[EB/OL]. (2013-12-10)[2014-3-4].http://docs.moodle.org/dev/Main_Page.
[8]Moodle.Coding style[EB/OL]. (2013-11-9)[2014-2-27].http://docs.moodle.org/dev/Coding_style.
[9]Asial Corporation.JpGraph - Most powerful PHP-driven charts[EB/OL].[2014-2-27]http://jpgraph.net/features/gallery.php.
[10]赵建保.高职能力型课程学习评价指标体系构建[J].职业技术教育,2010(34): 51-54.
(编辑:杨馥红)