游戏模拟法在软件工程课程设计中的应用分析
2016-05-14陈利平彭彩红
陈利平 彭彩红
摘 要:软件工程课程设计是计算机科学与软件工程专业的一门独立实践课程,以培养学生软件开发综合能力为目标。而软件工程课程设计的实践环境与软件实际开发环境存在着一定差距。国外常采用模拟教学法来缩短这一差距,而且这一方法也受到越来越多的关注。该文分析了软件工程课程设计存在的主要问题,阐述了游戏模拟法在软件工程课程设计的组织与实施形式,同时探讨软件工程课程设计对软件工程课程教学的一些启示。
关键词:软件工程 课程设计 游戏模拟
中图分类号:G4 文献标识码:A 文章编号:1674-098X(2016)02(c)-0130-02
软件工程作为计算机科学及软件工程等相关专业的必修课,是一门理论与实践并重的课程,实践教学环节的教学是课程的重要组成部分,关系到学生掌握知识与应用知识的能力。软件工程课程设计是软件工程教学的一个重要实践环节,使学生掌握软件工程方法、过程与工具的基础上提高实践动手能力和综合应用能力,学会撰写软件开发过程中各阶段的规范文档,提高学生的沟通能力和团队协作能力,为将来从事软件开发与管理工作奠定基础。
然而,软件工程课程设计存在实践教学环节与现实开发的软件环境不一致,不能适应实际的软件开发特别是大型软件的开发,很难解决实际软件工程项目若干典型问题和实践技能。学生能开发一些简单的软件,但由于受时间以及实践项目各种条件限制,课程设计很难在广度和深度上反映软件工程课程设计的复杂性和内在本质。为了解决软件工程课程设计的复杂性和实践问题,该文分析了软件工程课程设计存在的问题,描述了游戏模拟教学法[1-2],并对该方法在软件工程课程设计的应用进行了探讨。
1 软件工程课程设计现状
传统的软件工程课程设计虽然也有设计的要求,学生参与一定的实践练习,但一般停留在组织学生编写软件开发过程中各阶段的文档上,忽略了软件项目的实际要求,缺乏对教学方法和内容的更新。软件工程课程设计教学中普遍存在的问题如下?[3]。
(1)内容陈旧,与实际脱节。很多从事软件工程课程设计教学的教师从学校毕业后直接从事教学工作,没有软件项目开发的亲身经验,课程设计的内容一般来自一些参考书籍,给学生创造了抄袭的机会,达不到课程设计的要求;有些课题比较陈旧,与现实脱轨,导致很多学生对课程设计的内容不感感兴趣,因此扼杀学生学习的主动性和动手的积极性。
(2)项目组划分不合理。项目组划分是否合理,直接关系到项目的成败。项目组的划分一般是按学号,或学生自由组合,前者失去了团队协作能力的融合,后者导致工作量不平衡,好的学生包揽了课程设计的所有任务,而差的学生做得很少,更甚的少数学生没有人组合而只能孤军作战。
(3)成绩评价单一。课程设计的评分一般是指导老师根据学生提交的报告和设计结果来评分,没有对学生沟通能力、表达能力、组织能力、团队协调能力进行评价。
2 游戏模拟法
所谓游戏模拟法,就是结合专业背景与行业特色,给学生创设直观的、模拟仿真的工作场景,按实际的工作内容设计好课题,让学生独立或合作参与到软件工程过程中。
游戏模拟法[4-5]能提供大量的经验和技术演示软件过程,能提供软件工程知识引导学生完成模拟软件的设计与开发。在游戏模拟中,玩家们为了满足虚拟环境中的某些特定的目标(有时是相互矛盾的目标),不得不改变当初的决策。在经历多次决策后,玩家也间接地经历了类似软件过程,特别是游戏模拟解决了软件工程课程设计中软件过程教学中存在的以下问题。
(1)非线性。很多情况要求玩家同时关注模拟的随机因素造成的每一个运行的唯一性,解决了软件过程的非线性。
(2)多个相互冲突的目标。软件过程中许多目标有时互相干扰,必须对目标进行优化,于是导致有些目标能实现而其它目标只能部分实现。
(3)允许改变决策。如果玩家判断错误,可以退出游戏,回到前面保存的游戏状态,然后探索不同的选择。
(4)多个利益相关者。在多用户游戏中不同的玩家可以尝试优化自己的结果。在单一用户游戏中,游戏通常提供了利益相关者。
学生通过游戏模拟软件参与到软件开发的全过程或子过程中,并将大量的软件工程方法和技术融入到软件开发过程中。在游戏模拟器的虚拟环境中,玩家可以作为软件开发项目的经理,管理一个开发团队,并为虚拟团队成员分配任务,协调团队成员的活动。游戏模拟器中最突出的特点是能针对软件开发中突发事件做出决策,如客户变更需求、某一成员离职等。同时,项目经理还可以通过加薪或奖金提高项目组成员的积极性。如果玩家开发出来的软件产品功能越完善、开发周期越短、软件错误率越低,经费未超预算,则获得的分数就越高;反之,如果玩家没有按时交付项目,或经费超出项目预算,均视为失败。
游戏模拟法有助于学生掌握软件工程理论知识和指导学生的软件工程课程设计,有效地引导学生经历真实软件项目的软件过程。对于即将毕业的学生也受益,他们获得宝贵的软件工程知识和实践经验,更好地实现了学校与企业的接轨,找准自己在行业中的位置。游戏模拟法在国外已应用很多年,取得了好的教学效果,国内的哈尔滨工业大学也提出了生存游戏模型,玩家都有机会成为虚拟公司的员工或管理者,对培养学生的软件工程知识和实践经验产生积极影响,并为软件工程过程的教学和实践提供了新的思路。
3 结语
游戏模拟法是软件工程课程设计中一种较为新型的实践方式,鼓励学生参与,帮助教师模拟真实环境,提高学生的技能和激发个人和团队实践经验,达到传播软件工程知识和提供技术资源。游戏模拟法扩展了软件工程课程设计实践空间和时间尺度,它以虚拟现实的游戏方式,更能迎合当前大学生的学习方式,一定程度上提高学生的学习兴趣。深入研究游戏模拟法,对改进软件工程课程设计教学有非常重要的意义。
参考文献
[1] 李广原,马楠.国外软件工程教学法初探[J].计算机教育,2011(1):86-90.
[2] 李广原,胡秦斌.软件工程课程模拟教学法初探[J].计算机教育,2011(13):92-95.
[3] 韦宇炜,聂笃宪.软件工程课程设计教学模式探讨[J].考试周刊,2010(11):159-160.
[4] 孟繁锋.结合模拟项目组的软件工程教学[J].计算机教育,2014(22):54-56.
[5] Baker,A.Navarro,E.O.A.van der Hoek,A.Problems and Programmers: an educational software engineering card game[C]//In Proceedings 25th International Conference on Software Engineering,IEEE Computer Society Press.2003.