【摘要】针对传统软件工程课程教学中存在的理论性强、课程内容较抽象,学生难于理解、学习动力不足的现象,对作者在教学实践中所开发的几类常用教学资源进行了总结和探讨,在传统教学资源类别的基础上补充了新的类别,并对每一种教学资源选取了课程中的典型示例予以说明,对软件工程教学模式改革进行了有益的探索。
【关键词】软件工程;教学资源开发;教学模式改革
0引言
软件工程课程是计算机专业的一门专业必修课程,该门课程主要用于指导计算机软件的开发和维护,其内容涉及技术、方法和管理等诸多方面,对于培养计算机专业学生的工程能力及专业素养具有举足轻重的地位。但在该课程的传统教学中,存在着理论性强、课程内容较抽象,学生难于理解,学习动力不足等现象。针对这些问题,笔者在该门课程的教学实践中,对课程中的教学资源进行了开发,所开发的教学资源不仅包含传统类别的教学资源,还针对本门课程的特点,增加了新的类别,并进行了总结和示例说明。
1现存问题分析
软件工程课程是一门综合性和实践性都很强的专业基础课程,主要内容包括:软件设计与开发的过程与方法,软件测试与维护技术,软件项目管理等。其课程内容繁杂,理论与技术方法众多,课程中涉及的概念、原理比较抽象、复杂,难于理解。在传统的课程教学中,教师多按照教材的编排来组织教学内容,而教材大多偏重于概念及原理的理论性阐述,可操作性及实用性略显不足,学生在学习过程中容易感到枯燥、乏味,难以激发学习热情。
2应对措施
针对教材中知识讲解偏理论化,实例、案例资源不足,学生学习兴趣不高的情况,笔者在教学过程中注意改进教学方法、丰富教学手段,着重在课程教学资源的开发上做了一些有益的尝试,以提高学生的学习兴趣,缩短理论与实际应用的距离。
3教学资源开发具体内容
根据我国《教育资源建设技术规范》(以下简称《规范》),教学资源可以分为以下八类[1]:媒体素材(包括文本类素材、图形图像类素材、音频类素材、视频类素材、动画类素材五大类);试题库;试卷;课件与网络课件;案例;文献资料;常见问题解答;资源目录索引。其中,试题库、试卷、课件与网络课件资源、常见问题解答,在以往的教学中已经进行了开发,在现阶段的教学中,在完善上述资源的基础上,主要对课堂教学中经常使用到的几类资源如媒体素材、案例、文献资料等进行了开发,并结合本课程的特点,补充了诸如应用实例、源程序实例、行业新兴技术等教学资源。总结起来,主要对以下八类教学资源进行了开发和扩充:3.1媒体素材媒体素材是一类重要的教学素材,其中音视频素材尚有待于在今后的教学中进行开发,现阶段的教学中主要对以下三类媒体素材进行了开发:1.文本类素材对于文本类素材的开发,这里主要指在教学的过程中,针对所讲授内容,补充相关的文本类参考材料,供同学们进行拓展阅读。例如:在编码风格部分,关于标识符的命名方法,提供了对“匈牙利命名法”进行介绍的材料;对于如何进行适当的注释,给出了对序言性注释的一般格式进行说明的文本材料,这些文本类素材使得相应知识点得到了延伸,满足了有更高学习要求的同学的需要。2.图形图像类素材图形图像类素材是本门课程教学资源开发的一个重点,这类资源的作用显而易见,它可以使抽象的概念形象化、具体化,便于学生理解。例如:在讲解“原型系统”这一概念时,通过展示建筑物原型模型的图片来帮助同学们理解什么是“原型”;在讲解“软件的特点”这一知识点时,对于“软件不存在磨损和老化”的这一特点,通过展示零件磨损的图片,与软件无磨损的图片进行对比,让学生对软件的这一特点有更直观的感受……课程中可开发的这类图形图像资源还有很多,通过对这一类资源的开发和利用,改变了传统的软件工程课程理论化、抽象化的教学方式,使知识的传授更具形象性和生动性。3.动画类素材对于涉及动态变换及变换过程的知识点,在课程中开发了相应的动画资源来进行动态演示,使得转换过程更加的清晰明了。例如:变换型数据流图和事务型数据流图映射为程序结构图的变换过程、集成测试中采用深度优先或广度优先进行自顶向下结合的测试过程,都可开发相应的动画素材来实现动态演示。3.2案例在教学过程中,还开发了大量的案例资源,以培养学生的学习兴趣、激发学生的学习热情[2]。例如:对于“软件危机”这一知识点,使用软件开发史上“软件危机”的典型案例———IBM公司在开发IBM360系列机操作系统时所陷入的历史上著名的“软件开发泥潭”的例子来进行说明。再比如,在软件测试一章,用微软公司曾经经历过的失败的经验教训来说明软件测试的重要性……还可以让同学们自己例举一些案例,这样不仅可以大大丰富案例的数量,还可以提高他们的学习兴趣和热情。3.3应用实例针对课程特点,对于涉及系统分析与设计方法方面的教学内容,补充了应用实例类教学资源来进行实例化教学[3]。例如:在结构化方法中介绍数据流图的画法时,例举了仓库定货系统的实例;在面向对象方法中讲解面向对象的分析与设计过程时,例举了图书管理系统面向对象分析与设计过程的实例。3.4源程序实例在软件工程课程教学中,有大量的知识点是对设计、编码及测试中的一些普遍原理的说明,在传统的课程教学中,对这些知识点大多概括性的介绍,没有与具体的程序设计实例相结合,使得学习者在学习的过程中感觉较抽象,很难与编程实际相结合。针对这一问题,我们在课程中补充了程序实例类教学资源来配合对相关原理的说明,避免了抽象化的说教,使同学们更容易理解,同时又使得该课程的教学与同学们的编程实践更加贴近,缩短了理论原理与编程应用的距离。例如:对于黑盒测试和白盒测试的几种方法,通过相关的实例程序来进行具体化的说明;再比如,对于面向对象的基本概念,如类、对象、实例、消息、继承、多态等,也开发了相应的C++源程序实例,以说明相关概念在面向对象编程中是如何实现的。3.5行业新兴技术在课程教学中,还补充了对行业新兴技术进行介绍的课程资源,这一类资源由于具有鲜明的课程特点,因此在这里单独作为一类资源列出。其中一个典型的示例,便是在实现与编码一节所引入的对目前两大主流开发平台:.NET平台和J2EE平台进行比较的介绍性资料。3.6实践题目软件工程是一门实践性很强的课程,除了理论教学,也安排有上机实践环节。为了更好地开展实践教学,提高学生的实践能力、工程能力和创新能力[4],我们精心设置了一系列功能目标明确、贴近学生学习生活实际、难度适宜的实践题目,组成题目库,供学生们组成开发小组自主选择题目来进行实践。这样的方式充分发挥了学生的主观能动性,对学生相关能力的培养也起到了很好的促进作用。3.7软件工程文档规范及范例文档为了更好地指导学生完成实践内容,在课程中还提供了各种软件工程文档规范及相应的范例文档,供同学们进行学习参考。3.8文献及网络资料对于该类资源的开发,在《规范》中提到的文献资料的基础上进行了扩展,增加了网络资料,并在每章教学结束时推荐给同学们,以供他们进行更深入的学习和参考,例如,在测试一章,向同学们推荐了以下文献及网络资料:1.参考文献:《软件测试》,作者:(美)RonPatton.译者:周予滨姚静等.机械工业出版社,2002年3月2.51testing软件测试网3.软件测试术语
4结语
以上是笔者教学资源开发所涉及的一些具体内容,在此基础上可进一步建立课程的资源目录索引。教学资源的开发是一项艰巨的工作,还有待于在今后的教学中不断地补充和完善。通过现有资源的开发,较大程度地丰富了该门课程的教学资源,打破了传统的抽象化理论说教的教学模式,在教学实践中,明显感受到课堂有了更多的活力,学生的学习积极性也得到了很大的提高,对于推进软件工程课程教学模式的改革具有积极的意义。
参考文献:
[1]孙为军,傅秀芬.软件工程课程网络教学资源建设的研究[J].广东工业大学学报(社会科学版),2010(B07):180-182.[期刊]
[2]叶卫华.浅谈案例教学法的作用[J].职业圈,2007(05X):80-82.[期刊]
[3]余阳,汤庸.《软件工程》实例化教学探索[J].中山大学学报论丛,2003(5):8-13.[期刊]
[4]徐玲,张小洪,文俊浩,杨梦宁,洪明坚.软件工程专业实践教学体系的构建[J].计算机教育,2010(11):137-139.[期刊]
作者:杨雪 单位:电子科技大学成都学院