摘要:基于游戏的模拟教学法是目前国外软件工程教学中较为成熟的一类提高计算机相关专业学生实践能力的手段,目前在国内高校相关专业的教学中也有一定应用。本文在国内外软件工程教学中常用的游戏模拟器基础上,简要总结了该方法在国内外高校中的应用情况及作用。

关键词:软件工程;教学方法;游戏模拟教学

“软件工程”是面向计算机科学及软件工程等相关专业的核心课程,是一门用工程化方法构建和维护有效、实用及高质量软件的课程。课程内容不仅包含软件开发的理论、方法、过程、工具及一些实践积累的原则、经验等软件开发方法和技术,同时涉及数学、管理科学、心理学、社会学等多学科的知识,具有体系丰富、关系复杂、理论性和实践性强的特点[1]。而传统的软件工程教学方法,主要以课堂讲授形式,针对理论知识点孤立的、离散的结合实例进行软件开发方法和过程的讲解,即使配备了课程实验,学生也只是根据教师指定的项目需求,建立简单实例的各类模型,编写一些规定的文档。同时在实践环节上存在很大的不足。传统的教学方法和组织形式难以实现良好的教学效果,这也是当前高校软件工程教学亟待改革的重要原因。围绕如何使软件工程课程的教学以一种更贴近实际软件开发过程的方式进行,使学生在接受理论知识的基础上,提高并加强工程化知识与实践能力的培养,目前国内外高校采用的主流方法包括:项目(案例)驱动教学法或是企业合作实践。基本做法是教师或行业人员提出项目需求,学生分组明确职责,依据指导完成整个软件项目的开发。在实践过程中,掌握软件开发的具体过程,并对软件工程课程的理论方法具有更为深刻的认识。但是这类方法需要学校和企业或业内专家建立长期的合作关系,并且需要学生具备更为扎实的前期课程基础。除了面向实践的软件工程教学法,国内外一些高校提出并采用基于模拟的全新教学方式。主要形式有采用专用软件项目管理训练模拟器、基于游戏形式的模拟器教学以及支持群参与的模拟器教学方法[2]。这些基于模拟的软件工程课程教学方法能够使校园环境下的课程学习更接近于实际软件开发环境,并使学生更快捷地参与到现实的软件工程实践中。同时也一定程度上缓解了目前高等院校的远郊办学模式与高年级学生社会实践之间的矛盾。本文在回顾目前国内外高校通常采用的基于模拟的软件工程教学形式和模拟方法的基础上,对方法的应用效果进行了总结和展望。

1模拟教学法

所谓模拟教学,就是结合专业背景与行业特色,给学生创设直观的、模拟仿真的工作场景,按实际的工作内容设计好课题(案例),让学生模拟职业岗位角色,根据实际工作的操作程序和方式方法具体做事,使学生在模拟操作过程中,巩固并扩大专业知识,培养职业技能素质[3]。与传统的单向灌输式教学不同,模拟教学法更注重实践应用。通过模拟操作过程,从对问题的解析、工作计划的逐步开展,逐步领悟专业相关职业领域的内涵,获得切身的感受。从而提高对学习课程价值的认识和认同,增强对专业学习的兴趣和信心。

2软件工程教学中游戏模拟教学法

随着高等院校计算机专业教学改革的发展,软件工程这门核心课程新的教学模式和教学方法也层出不穷。目前模拟教学法在国内外高校软件工程课程中的应用处于发展阶段,越来越多的高校计算机专业提出或采用基于模拟(器)的软件工程教学模式。其主要形式,是基于面向某一需求的软件开发问题的模拟工具,由学生独立或合作参与到软件工程过程中,如开发团队组建、项目计划、预算、关键决策、随机事件和不可预测事件应对等。在完成软件的开发和实现的过程中,还包括对项目成员管理、激励、惩戒等与现实开发相关的元素。主流的模拟器包括SimSE、SESAM、SecondLife、MO-SEProcess以及Groupthinkspecificationex-ercise、AMEISE等。根据参与人数,这些模拟器又可划分为单角色和多角色两种类型。

2.1单角色模拟游戏

2.1.1SimSE

SimSE是一款2-D单人参与的软件工程过程模拟软件,由加州大学尔湾分校的Navarro于2006开发[4]。学生通过SimSE的友好的图形用户界面实现角色模拟和良好的人机交互,参与到软件开发的全过程或子过程中,最终将大量的软件工程理论知识融入到开发过程的理解中去。在模拟器的虚拟现实环境中,参与者作为项目经理,领导一个中等规模的开发团队。参与者需要根据虚拟的团队成员的特长为其分配开发任务,更重要的是能够针对软件开发中出现的一些事件做出决策,如客户更改了需求、某一成员离开团队等。同时,项目经理还可以通过加薪或奖金提高项目组成员的积极性。参与者生产出来的软件功能越完善、开发周期越短、错误率越低,获得的评价分数越高;反之,如果参与者没有在交付日期前完成项目,或者经费超出项目预算,均视为本次模拟的失败。

2.1.2SESAM

SESAM(SoftwareEngineeringSimulationbyAnimatedModels)是另一款针对软件工程进行建模的工具软件。参与者同样独立承担项目经理的角色,基于一个初始软件工程模型,根据不同的场景对其进行更新。SESAM模拟器于2000年由德国斯图加特大学Ludewig团队研发,与SimSE不同,SESAM缺乏图形用户界面,参与者通过输入模型语言来控制虚拟过程,这要求参与者除了了解软件工程的基本理论之外,还需要掌握模拟器的控制语言。

2.2多角色模拟游戏

2.2.1SecondLife

大规模多玩家网络游戏SecondLife(SL,中文名“第二人生”)是一款三维虚拟现实程序。用户在游戏中以虚拟形象参与到虚拟的在线社会活动中,包括参与教育、科学研究以及与现实生活相似的运动、交往等活动。同时SL提供了即时通信和聊天室两种沟通方式,实现了角色间的无障碍交流。因而SL成为不同领域如建筑、法律等有效的开放式教学手段。而在软件工程的模拟教学中,SL通常与其他单角色模拟器联合使用,仿真团队式软件开发实践过程。

2.2.2MO-SEProcess

MO-SEProcess是另一款多人在线软件工程过程模拟游戏。与SL类似,MO-SEProcess基于单角色模拟器,在虚拟现实环境中,以一定的开发目标和预算,要求一组学生成员承担一定的角色,完整实现软件工程过程。类似的多角色模拟器还包括SimVBSE、SimjavaSP、Hainey等人所设计的软件工程过程游戏等。

3模拟游戏的应用分析

国外高校中流行的软件工程游戏SimSE和国外高校新开发的三维环境中的同类游戏MO-SEProcess是目前被国内外高校软件工程课程中广泛采用的模拟教学方式。其中,SimSE是目前在软件工程教学领域最为成熟的模拟器,并且在以教学应用为目标的发展历程中,经过不断地额测试和完善,已经远远超越其最初的应用范围。国内的部分高校也通过引入教育游戏或游戏模型,如湖北经济学院计算机学院的软件工程教学团队在SecondLife中集成了SimSE和MO-SEProcess,提高了学生对软件工程过程整体把握[5];哈尔滨工业大学软件学院提出生存游戏模型,使每个学生都有成为一名虚拟公司员工或管理者的机会,对培养更多的软件专业人才产生积极影响,并为软件工程过程的教学提供了新的思路。

4结论

基于游戏的模拟教学法是软件工程教学一种较为新型的教学方式,它通过虚拟现实的形式,模拟现实软件开发过程的组织形式、软件生存周期以及软件工程和质量管理的内容。这种新兴的教学方式应用范围虽然不如项目(案例)驱动教学法应用广泛,但是扩展了软件工程课程实践的空间和时间尺度,同时以虚拟空间的游戏形式,能够更为迎合当前大学生的学习方式,一定程度上提高学生的学习兴趣。但是,模拟软件工程过程的游戏仍然是为软件工程的理论教学服务的,应该更全面的整合软件工程的理论、方法与实践中的问题、技术,使学生在模拟的过程中对软件产品开发具有更为清晰和深刻的理解。

参考文献

[1]孟繁锋.结合模拟项目组的软件工程教学[J].计算机教育,2014(22):54-56.

[2]李广原,胡秦斌.软件工程课程模拟教学法初探[J].计算机教育,2011:92-95.

[3]徐静.模拟教学法的内涵阐释[J].苏州市职业大学学报,2005,16(1):35-36.

[4]NavarroEO,HoekAvd,editors.SIMSE:AnInteractiveSimulationGameforSoftwareEngineeringEducation.Proceedingsofthe7thIASTEDInternationalConferenceonComputersandAdvancedTechnologyinEducation;2004August16-18;Hawaii,USA.

[5]朱庆,项慨,贾玉福.“软件工程”课程中的教育游戏[J].现代教育技术,2007(17):104-106.

作者:王静张云韩彦岭洪中华徐利军易丛琴单位:上海海洋大学信息学院