1、任务驱动的软件工程课程教学方案研究软件工程课程主要是全面、系统地讲述软件工程的概念、原理和典型的方法学,近年来,软件工程学科发生了巨大变化,从传统的结构化技术占主导地位,发展到面向对象技术占主导地位,继而发展到基于构件的技术成为开发技术主流,致了软件在反映对象、提交形式、关注内容和运行方式等方面产生了重要发展。因此,怎样让学生学好软件工程课程是每一位教师必须思考的问题。 1、软件工程课程教学中存在的问题及探索 软件工程课程内容具有较强的理论性和实践性,学生在学习过程中感到内容抽象、工程方法复杂、难于理解,具体原因如下:(1)在现行的教材中,大部分都是从软件工程的基本理论与思想来讲述的,学生感觉
2、太抽象;(2)对于学生来说,本课程涉及的理论知识抽象、难懂,如面向对象分析与设计理论、需求获取方法等;(3)本课程包含很多基本技术和方法,如数据流图、数据字典、结构化分析方法、面向对象分析方法、集成测试方法、项目管理的基本方法等,学生想深刻理解这些技术和方法的思想很困难;(4)软件工程项目规模较大,不可能在一门课的时间内把所有的细节都讲清楚,学生对软件工程项目的实现模糊不清;(5)新形势下学生的学习热情不高,畏难情绪严重,在学习上的钻劲和毅力不够。 针对这些情况,国内从事软件工程课程教学的老师对此进行了大量的理论教学与实践教学的探索。为了提高学生学习软件工程课程的积极性和主动性,帮助学生把学习
3、软件工程的理论知识与软件项目开发结合起来,并提高运用软件工程相关理论和方法解决实际问题的能力,金陵科技学院在 2009 年 9 月从 2007 级计算机科学与技术专业部分学生中开始采用任务驱动的学习方法,即整个软件工程课程教学就是开发一个完整项目的过程,即明确软件工程项目开发分为六个阶段:可行性分析、需求分析、项目设计、项目实现、项目测试和运行维护,在每一个阶段,首先介绍实验任务,再给学生们讲解实现这些实验任务必须具备的基本知识,让学生们带着实验任务学习,并在规定的时间内完成这一阶段的实验,它与其他的任务驱动的软件工程教学有着本质的区别,很多文献提出的任务驱动实质上还是一个分模块的教学方法,而
4、我们的教学方法是为了开发一个完整的软件项目,反过来学习理论的过程,即边实践边理论的过程。这样做的目的是对软件工程课程教学内容进行系统的规划、教学方法进行全面的改革,以期提高软件工程的教学效果。 2、任务驱动的软件工程课程教学方案研究 2.1 本项研究的意义 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等诸多方面,软件工程课程在计算机学科的教学体系中占有重要的地位。该项研究可以为软件工程课程教学提供教学内容、教学方法和实验项目设计方面的指导,为学生学习软件工程课程提供一种全新的思路,多方面帮助学生
5、掌握软件工程的基本原理和方法,培养和提高学生理解软件工程分析设计过程和运用高级语言进行编程的能力。所以说,该项研究具有非常重要的现实意义。 2.2 本项研究的主要内容 任务驱动的软件工程教学方案研究主要是把软件工程的基本原理和方法融入一个完整的软件项目开发当中,用开发过程中的实际需求来驱动学生学习书本上深奥的软件工程理论知识,具体内容安排如下。 2.2.1 设计课程教学所必需的实验项目 实验项目设计成功与否是整个项目成功的关键,本项目首先由课程组教师从和我院合作的企业中选择一个合适的软件项目并进行适当的整理,然后采用软件工程的思想将开发分成一个个小的实验任务,对于比较复杂的实验内容,可以分为两
6、个或多个实验来做,最后再进行汇总。对于每一个实验任务制定实现这一任务的实验目的、实验要求、实验内容、实验步骤和预期的实验结果,让学生们很容易理解并实现这些实验任务。 2.2.2 制定课程教学计划 理论知识的讲解是完成实验任务的必备条件。为了让学生能够最快地掌握软件工程的基本原理和方法,本项研究详细分析实现每个实验项目需要的基本理论知识,然后按照书本相关内容的先后顺序串联起来并编写成教学计划,把软件工程最精华的内容和最新的发展体现出来。老师给学生们布置完实验任务后引导学生反过来学习这些完成实验所必需的书本内容的教学方法,它可以使学生的学习带有目的性,并增加其学习的积极性和主动性。 2.2.3 编
7、写课程教学的辅导材料 实验项目和教学计划确定了实验任务和讲授的基本知识,为了帮助学生更好地掌握软件工程各个过程之间的衔接知识,深刻理解软件工程技术、过程和方法,对软件项目开发过程中相关知识的重点和难点进行辅导,编写一套学习指导,这是本项研究成功的重要基础;为了巩固各个知识点,对于课后的大量习题,给出习题解析,它与学习指导相互促进,相得益彰,这也是我院计算机专业软件工程课程授课所必备条件之一。 2.2.4 构建课程教学的网络资源信息平台 在院内软件工程课程网站上发布各种学习资料,并开发专门的老师与学生、学生与学生交流区,这样,学生可以随时获得该课程的最新资料,还可以把学习中遇到的问题及时反映到老
8、师那里;老师可以根据网上学生反馈适时改变教学内容和教学进度。 2.2.5 开发课程教学资料,进行教学试点研究 本项研究从 2008 年开始,金陵科技学院信息技术学院软件工程课程网站于 2009 年 3 月建立,多媒体课件在 2008 年底已完成。为了检验本次教学改革的效果,从 2009 年 9 月份开始在金陵科技学院 2007 级计算机科学与技术专业部分学生中进行试行软件工程课程实施方案,我们多次与学生交流,探索实施方案中存在的问题,及时整改,使之更适合实际。 2.3 本项研究的总结 在实施过程中绝大多数学生在实验教学和理论教学中同学表现出极高的热情,项目组老师一致认为达到了预期的目标,但也存
9、在一些问题,主要表现在:(1)软件工程各步骤全体学生都能够完成,但是各组学生完成的情况差别很大;(2)个别能力特强的学生感觉“吃不饱” 。2010 年我们在全院计算机专业软件工程课程教学中实施任务驱动的教学方法,并在此基础上整理出了一本软件工程教材,并与机械工业出版社签订了 2011 年底的出版协议。 3、结语 任务驱动的软件工程课程教学研究与实践是以实验为课程教学的主线,靠实验带动理论的学习,学生变被动学习为主动学习,这样能够极大地调动学生积极性和主动性,充分地挖掘学生学习潜能,最大限度地提高学生学习兴趣。 参考文献: 1 由布西.中美软件工程教材编写及教学实施方法比较研究J.计算机教育,2008(20) 2 刘金锋,李海平. 案例教学法在软件工程教学中的应用 J. 成功(教育) ,2011(3) 3 巫华芳等. 软件工程教学案例设计初探J. 教育与职业,2007,(27) 4 雷环,汤威颐,Edward F. Crawley. 培养创新型、多层次、专业化的工程科技人才J. 高等工程教育研究,2009,(5) : 29-35.