论文部分内容阅读
摘要:分析软件工程课程的特点及教学现状,针对高职学生对课程普遍难以理解和接受的问题,提出了“多角色参与”项目教学法,将学生分成若干项目组,在不同的软件开发阶段,各项目组承担不同的项目任务,扮演不同的角色。对项目设计、学生分组和角色参与等环节进行了深入探讨,给出了具体的实施过程和方法。实践结果表明,应用这种改进的项目教学法能够更有效地激发学生的学习兴趣和求知欲,提高课程的教学效果,为软件工程教学提供了新思路。
关键词:软件工程;项目教学;角色参与;教学方法
作者简介:张昱(1980-),女,河北石家庄人,石家庄邮电职业技术学院,讲师。(河北 石家庄 050021)高琦(1987-),男,河北石家庄人,云南艺术学院美术学院研究生。(云南 昆明 650500)
基金项目:本文系河北省教育厅项目(项目编号:Z2009464)的研究成果之一。
中图分类号:G712 文献标识码:A 文章编号:1007-0079(2013)25-0147-02
“软件工程”是计算机软件类专业的核心课程,它具有基础理论多、涉及面广、实践性强等特点。该课程的教学目标是培养学生软件开发和项目管理能力。如何提高教学水平和质量,是很多国内外教育工作者广泛关注的课题,更是教学改革的重点。[1]本文分析了课程的教学现状,依据课程的特点,结合教学实践体会提出了“多角色参与”项目教学方法,以求进一步完善该课程的教学过程,激发学生兴趣,提高教学效果。
一、 软件工程课程教学现状
目前,在高职院校中软件工程课程普遍存在的教学现状是:由于学生没有实际项目实践经历、教师缺乏合适的项目化教材和项目化教学经验等原因,[2]导致学生对该课程的作用认识不足,缺乏学习兴趣和求知欲望,教学过程中存在重理论、轻实践,重开发、轻管理等问题。
针对当前高职院校软件工程教学中存在的问题,国内外教育工作者提出了许多先进的教学方法,例如项目教学法、[3]案例教学法、[4]情境教学法、Workshop教学法等,[5]这些教学方法涉及教学内容和方式的改革,实践模式和考核方式的创新等方面,有些举措在教学中起到了一定的积极作用,但总体效果不尽人意。下面是目前项目化教学中常见的做法及其比较:做法一,一人一组,一人一个独立项目。该方式能够培养学生的独立工作能力,减少作品的抄袭现象,但由于一个人能力有限,所以大部分同学难以完成项目。做法二,多人一组,一组一个独立题目。该方式能够培养团队协作精神,但往往最后会演变成一组中只有一两个学生完成项目,其他同学并未真正参与项目。
后一种做法的教学效果好于前一种做法。但是由于一个小组负责一个项目的整体开发过程,从需求分析,到软件设计,再到编程和测试,学生普遍认为软件工程中前面的阶段“多此一举”,甚至可以省略,而直接跳入后续阶段,项目前期工作经常被大打折扣,草草完成,软件分析与设计能力不能得到培养。究其原因,是学生并没有真正理解每个阶段的任务,以及阶段成果对下一阶段的重要支撑作用,有的学生甚至为写文档而写文档,为画图而画图。学生不重视前期工作的根本原因是:这种教学方式没有明显体现阶段任务成果的交接过程,学生没有角色观念,因此没有责任意识。“多角色参与”项目教学法正是为弥补这些不足而提出。
二、“多角色参与”项目教学法的设计
“多角色参与”项目教学法的设计思想是:拟定若干个教学项目,并把学生分成若干项目组,每个项目组由3~5名学生组成,每组学生在软件系统开发的不同阶段参与不同项目,扮演不同的角色。在项目的不同阶段,学生分别充当用户、分析员、设计员、程序员、测试员等角色,通过角色转换,增强学生的责任意识,使学生重视每个项目阶段的重要性,同时由后一阶段的小组检查和评价前一阶段小组的工作成果,激发学生学习的积极性。
1.项目的选取
项目的选取是项目教学法的关键。项目选取要遵循以下原则:(1)要选择当前社会普遍关注的项目或代表前沿科技发展的项目。有新意的项目更能让学生感兴趣。(2)要选择适合软件工程课程教学的项目,[6]项目任务要尽可能覆盖较多的知识点,以便使学生对课程知识结构有整体认识,同时建立软件项目开发的全局意识。(3)要选择适合高职学生的项目,要从项目涉及的知识内容、难易程度综合考虑,选择通过课堂教学或学生自学,绝大部分学生能够完成的项目。表1中列举了3个教学中常用的项目,可供参考。
2.学生分组
每个项目小组一般为4~5人组成,命名为TeamX(X=1,2,3……),由教师根据学生成绩、性格特点、性别等因素综合考虑确定分组。实践证明,教师指定分组比让学生自由结组更为有利。每个小组应设组长一人,负责任务分配、内容讨论和过程安排,以及与老师和其他小组的沟通。组中每个成员都要参与全部项目工作过程并有自己独立的任务。项目组每个阶段都要提交成果报告,组长要标明每名同学的工作量,作为考核成绩的参考。教师在教学过程中主要起引领作用,一是为学生营造良好的交流和讨论环境,二是担任所有项目的总监,控制项目的进度和质量。
3.多角色参与
多角色参与是指一个项目组的学生在不同的时期完成不同项目的阶段内容。这样做的好处是,迫使项目组在某一阶段工作时,必须考虑其他小组在下一阶段对其阶段成果的可用性和方便性,同时每个项目组也必须利用其他小组上一阶段的工作成果,这种组与组之间的承上启下机制,增强了组间的交流与协作。每个项目阶段,小组间都不得不认真地进行阶段成果的交接工作,突显了学生的角色作用和责任意识,可以使学生真正体会软件工程各阶段工作的重要性。
三、 实施过程
1.项目组、项目与阶段任务的对应关系
把项目分成5个阶段,分别是需求定义、需求分析、概要设计、详细设计及编码、软件测试。把学生分成5组,分别是TM1、TM2……TM5。设计5个项目,分别是PRO1、PRO2……PRO5。
教学过程如下:先为每个项目组指定一个项目,阶段结束时,每个项目组提交其项目阶段成果,如TM1组学生提交PRO1项目的《用户需求说明书》;下一阶段时,按预定次序轮换每组学生的项目,如TM1组学生根据TM2组学生的《用户需求说明书》完成并提交PRO2项目的《需求分析规格说明书》,依次类推。每个项目组在不同时期轮换完成不同项目的不同阶段任务,其过程如表2所示。这样一来,在教学过程中,每组学生都参与了5个项目的不同阶段的任务,都曾扮演5种角色,如图1所示。
关键词:软件工程;项目教学;角色参与;教学方法
作者简介:张昱(1980-),女,河北石家庄人,石家庄邮电职业技术学院,讲师。(河北 石家庄 050021)高琦(1987-),男,河北石家庄人,云南艺术学院美术学院研究生。(云南 昆明 650500)
基金项目:本文系河北省教育厅项目(项目编号:Z2009464)的研究成果之一。
中图分类号:G712 文献标识码:A 文章编号:1007-0079(2013)25-0147-02
“软件工程”是计算机软件类专业的核心课程,它具有基础理论多、涉及面广、实践性强等特点。该课程的教学目标是培养学生软件开发和项目管理能力。如何提高教学水平和质量,是很多国内外教育工作者广泛关注的课题,更是教学改革的重点。[1]本文分析了课程的教学现状,依据课程的特点,结合教学实践体会提出了“多角色参与”项目教学方法,以求进一步完善该课程的教学过程,激发学生兴趣,提高教学效果。
一、 软件工程课程教学现状
目前,在高职院校中软件工程课程普遍存在的教学现状是:由于学生没有实际项目实践经历、教师缺乏合适的项目化教材和项目化教学经验等原因,[2]导致学生对该课程的作用认识不足,缺乏学习兴趣和求知欲望,教学过程中存在重理论、轻实践,重开发、轻管理等问题。
针对当前高职院校软件工程教学中存在的问题,国内外教育工作者提出了许多先进的教学方法,例如项目教学法、[3]案例教学法、[4]情境教学法、Workshop教学法等,[5]这些教学方法涉及教学内容和方式的改革,实践模式和考核方式的创新等方面,有些举措在教学中起到了一定的积极作用,但总体效果不尽人意。下面是目前项目化教学中常见的做法及其比较:做法一,一人一组,一人一个独立项目。该方式能够培养学生的独立工作能力,减少作品的抄袭现象,但由于一个人能力有限,所以大部分同学难以完成项目。做法二,多人一组,一组一个独立题目。该方式能够培养团队协作精神,但往往最后会演变成一组中只有一两个学生完成项目,其他同学并未真正参与项目。
后一种做法的教学效果好于前一种做法。但是由于一个小组负责一个项目的整体开发过程,从需求分析,到软件设计,再到编程和测试,学生普遍认为软件工程中前面的阶段“多此一举”,甚至可以省略,而直接跳入后续阶段,项目前期工作经常被大打折扣,草草完成,软件分析与设计能力不能得到培养。究其原因,是学生并没有真正理解每个阶段的任务,以及阶段成果对下一阶段的重要支撑作用,有的学生甚至为写文档而写文档,为画图而画图。学生不重视前期工作的根本原因是:这种教学方式没有明显体现阶段任务成果的交接过程,学生没有角色观念,因此没有责任意识。“多角色参与”项目教学法正是为弥补这些不足而提出。
二、“多角色参与”项目教学法的设计
“多角色参与”项目教学法的设计思想是:拟定若干个教学项目,并把学生分成若干项目组,每个项目组由3~5名学生组成,每组学生在软件系统开发的不同阶段参与不同项目,扮演不同的角色。在项目的不同阶段,学生分别充当用户、分析员、设计员、程序员、测试员等角色,通过角色转换,增强学生的责任意识,使学生重视每个项目阶段的重要性,同时由后一阶段的小组检查和评价前一阶段小组的工作成果,激发学生学习的积极性。
1.项目的选取
项目的选取是项目教学法的关键。项目选取要遵循以下原则:(1)要选择当前社会普遍关注的项目或代表前沿科技发展的项目。有新意的项目更能让学生感兴趣。(2)要选择适合软件工程课程教学的项目,[6]项目任务要尽可能覆盖较多的知识点,以便使学生对课程知识结构有整体认识,同时建立软件项目开发的全局意识。(3)要选择适合高职学生的项目,要从项目涉及的知识内容、难易程度综合考虑,选择通过课堂教学或学生自学,绝大部分学生能够完成的项目。表1中列举了3个教学中常用的项目,可供参考。
2.学生分组
每个项目小组一般为4~5人组成,命名为TeamX(X=1,2,3……),由教师根据学生成绩、性格特点、性别等因素综合考虑确定分组。实践证明,教师指定分组比让学生自由结组更为有利。每个小组应设组长一人,负责任务分配、内容讨论和过程安排,以及与老师和其他小组的沟通。组中每个成员都要参与全部项目工作过程并有自己独立的任务。项目组每个阶段都要提交成果报告,组长要标明每名同学的工作量,作为考核成绩的参考。教师在教学过程中主要起引领作用,一是为学生营造良好的交流和讨论环境,二是担任所有项目的总监,控制项目的进度和质量。
3.多角色参与
多角色参与是指一个项目组的学生在不同的时期完成不同项目的阶段内容。这样做的好处是,迫使项目组在某一阶段工作时,必须考虑其他小组在下一阶段对其阶段成果的可用性和方便性,同时每个项目组也必须利用其他小组上一阶段的工作成果,这种组与组之间的承上启下机制,增强了组间的交流与协作。每个项目阶段,小组间都不得不认真地进行阶段成果的交接工作,突显了学生的角色作用和责任意识,可以使学生真正体会软件工程各阶段工作的重要性。
三、 实施过程
1.项目组、项目与阶段任务的对应关系
把项目分成5个阶段,分别是需求定义、需求分析、概要设计、详细设计及编码、软件测试。把学生分成5组,分别是TM1、TM2……TM5。设计5个项目,分别是PRO1、PRO2……PRO5。
教学过程如下:先为每个项目组指定一个项目,阶段结束时,每个项目组提交其项目阶段成果,如TM1组学生提交PRO1项目的《用户需求说明书》;下一阶段时,按预定次序轮换每组学生的项目,如TM1组学生根据TM2组学生的《用户需求说明书》完成并提交PRO2项目的《需求分析规格说明书》,依次类推。每个项目组在不同时期轮换完成不同项目的不同阶段任务,其过程如表2所示。这样一来,在教学过程中,每组学生都参与了5个项目的不同阶段的任务,都曾扮演5种角色,如图1所示。