摘要:为更好激发学生对《软件工程》的学习兴趣,提高学生动手实践能力.提出了案例任务驱动的《软件工程》课程教学模式,首先遵循一定的原则,设计若干科学合理的软件项目案例;然后把案例按软件生命周期各阶段进行拆分,并设计对应的阶段任务;之后学生根据自己的兴趣爱好自由组成团队、角色分工和讨论选题,并在教师的引导下对其所选案例个阶段任务进行讨论、分析和提交解决方案;最后,各团队将本组所选案例进行项目演示和归纳总结之后,教师进行评价.通过实际教学应用,该模式取得了较好的教学效果。
关键字:软件工程;案例;任务;教学模式
《软件工程》是软件工程专业的核心课程,通过对工程化的原理和技巧学习并将其应用于实际软件开发,学生实际软件开发的分析问题、解决问题、知识应用以及实践动手能力将得到极大提升了.源于实践用于实际是软件工程学科的主要特点,这也决定了《软件工程》对实践要求极高,而传统教学模式下,围绕教师“教”为中心,学生被动地、“照猫画虎”的教学模式已无法完全满足这种要求.因此,如何转换教学主体,以学生为中心,提高学生学习主动性和实践能力成为《软件工程》课程教学亟待解决的问题.张佩云[1]等人提出的根据设计的案例进行分段式的情景实施教学和过程管理的教学模式,虽能调动学生的学习能动性,但仍以教师教学为主,留给学生的自主思考时间有限.吕宗宝[2]等人以校企合作背景,将通过与企业合作组建教学团队,虽一定程度的提高了学生的实践能力,但对学生要求极高,不易推广普及.马小军[3]等人所提的基于宽框架与启发式案例教学方法通过设计实用的特定案例,将案例贯穿整个课程的教学过程,该方法对提高学生的分析和解决问题的能力有积极作用,但由于教学中使用的案例过少,限制了学生的自主创新的发挥.上述各类教学方法虽有不同特点,但仍以教师教学为主,学生被动学习为辅,学生的学习积极性和动手能力的提高受到各种特定因素的影响,为此,笔者提出一种以以案例任务驱动《软件工程》教学模式,该方法将教学主体转换,以学生为中心,教师教学为辅,对提高学生学习主动性和实践能力明显效果.
1案例任务驱动的教学模式
朗德尔(ChristopherColumbusLangdell)[4]提出的案例教学,通过将学生置于实际案例情景,引发学生思考和发现问题,进而提升其分析和解决实际问题的实践能力.而美国教育家杜威(JohnDewey)[5]提出的任务驱动教学法以学生为中心,在任务的驱动下,学生有针对性的去应用所学知识和技能.在汲取上述两种教学方法优势的基础上,并对现今市场对软件工程人才需求进行广泛调研后,笔者结合《软件工程》的课程特点,提出案例任务驱动的《软件工程》教学法.首先遵循一定的原则,设计若干科学合理的软件项目案例;然后把案例按软件生命周期[6]各阶段进行拆分,并设计对应的阶段任务;之后学生根据自己的兴趣爱好自由组成团队(一般规模5至8人)、角色分工和讨论选题,并在教师的引导下对其所选案例各阶段任务进行讨论、分析和提交解决方案;最后,各团队将本组所选案例进行项目演示进行归纳总结.在教学实践中,这种学生组成团队后按照案例任务驱动的课程教学模式,学生的发现、分析和解决问题的能力得到了提升,同时很好的培养了他们的团队协作、交流沟通、动手实践和自主创新的能力[7].
2案例任务驱动的《软件工程》教学模式实施过程
2.1精心设计典型软件项目案例精心设计的案例是实施案例任务驱动的《软件工程》教学的基础和前提.设计案例时,除围绕课程教学的重点和目标外,笔者认为还应遵循以下几个原则:(1)过程熟悉原则:学生作为工程化案例的使用主体,案例应贴近学生生活,学生对其过程熟悉,进而把主要精力放在软件工程相关原理和方法的应用实施上.(2)阶段全面原则:案例应具有典型性,《软件工程》的相关原理和方法能得到全面体现,以提高学生理论联系实际的实践动手能力.(3)难易适中原则:在设计案例时,其规模不易过大,系统模块一般控制在5至8个,以便学生迅速适应并进入软件项目角色扮演上,比较适合学生缺乏实际软件开发经验的现状.2.2细化案例任务案例的软件生命周期共有问题定义、需求分析、可行性研究等九个阶段,可根据每个阶段的软件开发内容,设计若干任务.设计出的任务应贯穿整个软件项目的开发,具有针对性、连续性和可反馈性.通过完成任务,学生可激发出浓厚的学习兴趣,改变学习态度,进而主动学习并改变学习方法.2.3疏导任务实施该环节是案例任务驱动教学模式的关键.由于学生一般缺少软件项目的实际开发经验,往往凭感性认知进行分工和合作,此时,教师适当的介入和引导很有必要.首先,给学生留有充足的时间进行案例讨论,并自由组成团队;然后,每个团队推选出一个队长,队长对团队的人员组成、人员技术特长进行总体阐述;之后,在教师引导下,学生展开组内讨论并根据团队成员的技术特长完成角色分配,保证科学合理的制定任务进度安排;最后,各团队队长对本组的成员角色分配和任务进度安排进行总体阐述,并负责协调后期的整个实施过程.整个环节中,教师应注重过程控制,善于把握时机,既要激发学生自主思考的积极性,又要引导学生团体协作和交流沟通[8].该环节实施完成后,学生的实践动手能力将得到极大提升.2.4案例任务评价该环节在各团队完成所选案例所有任务后进行.由团队队长主导,其它组员进行补充形式展开对本团队的案例任务完成情况及问题记性阐述,教师随后从成员结构、进度安排,任务完成程度及团队默契度等方面对其进行综合评价.通过案例任务评价,学生不仅由表及里的对软件开发的原理和技巧有了根深层次的认识,而且通过横向比较,其团队协作、交流表达能力也得到了很好的锻炼和提升.上述案例任务驱动的《软件工程》教学过程如下图1所示.
3教学模式实践分析
案例任务驱动的《软件工程》教学法已在阜阳师范学院信息工程学院的软件工程专业、计算机科学与技术专业、网络工程专业及信息管理与信息系统专业等四个开设有《软件工程》的专业进行了应用和教学检验.通过对回收的367份调查问卷进行分析,相对传统的《软件工程》教学方法,91.4%的学生选择了案例任务驱动的教学法,认为该教学方法更容易被学生接受,更易激发学生的学习兴趣,5.1%的学生认为这种教学法和传统的教学方法并无太大区别,3.5%持观望态度;通过对参与案例任务驱教学法的283名学生进行调研,81.3%的学生认为该方法对提升动手实践能力和学习效率有显著教学效果,17.2%的学生认为有一定教学效果,但不明显,1.5%的学生认为和传统教学方法的教学效果无区别.这教学实践的调查表明,案例任务驱动的《软件工程》教学方法,激发了学生学习兴趣,培养自主思维能力,同时,学生的实践动手能力普遍提高.
4结束语
通过在实际教学中应用,案例任务驱动的《软件工程》课程教学模式在以下几个方面具有明显的优势:(1)将反映现实社会急需的软件项目和技术,设计成案例并进行任务拆分,学生能及时的了解和掌握社会对软件工程人才的技术要求,培养出来的学生其理论和技术特长不会和社会需求有严重脱节.(2)通过参与任务实施的过程,学生能将学到的软件工程相关原理、方法和技巧应用于实际,激发了浓厚的学习兴趣同时,团队意识,协助交流等意识得到很好的历练.(3)该方法中,以学生中心,教师为辅,留给学生充足的自主思考空间,学生的创新能力得到增强,动手实践能力普遍提高.
参考文献:
〔1〕张佩云.项目驱动的软件工程课程案例式分段情景教学研究[J].计算机教育,2013(3):77-79.
〔2〕吕宗宝,冯福生,朱振玉.企业项目驱动下软件工程案例式教学模式研究[J].高师理科学刊,2015,32(2):82-84.
〔3〕马小军,夏立文.基于一个宽框架案例的启发式软件工程课程教学[J].中国大学教学,2016(3):62-65.
〔4〕邓月仙,张宝,刘文保.案例教学法应用的现状与对策研究[J].西北医学教育,2011(8):762-764.
〔5〕郭绍青.任务驱动教学法的内涵[J].中国电化教育,2006(7):57-59.
〔6〕张海潘.软件工程导论(第六版)[M].北京:清华大学出版社,2013.8.
〔7〕刘建强.任务驱动:科学探究教学的重要策略[J].教育研究与实验,2015(1):81-85.
〔8〕董宗然.应用型院校软件项目管理课程教学探讨[J].计算机教育,2015(3):43-46.
作者:刘辉 余世干 李林国 冯莹莹 周红志 单位:阜阳师范学院 信息工程学院