《软件工程》教学改革探讨
2009-10-19李建卓
[摘要]《软件工程》是计算机专业的一门重要的专业必修课,是指导软件开发与维护的一门综合性课程。结合实际教学的体会,根据软件工程教学的现状,分析教学中存在的问题,对教学方法的改进和教学实践等方面进行论述,并提出一些建议。
[关键词]软件工程 教学 改革
中图分类号:G64文献标识码:A文章编号:1671-7597(2009)0910177-01
一、引言
软件工程是一门理论性和实践性非常强的课程,是指导软件开发和维护的一门综合性课程。通过本课程的学习,使学生了解如何将工程方法运用于软件开发和维护中,为从事软件开发和维护提供方法上的指导。对该课程的掌握程度将直接影响学生毕业后的软件开发能力,所以高等院校对软件工程的教学非常重视。然而在实际教学中,这门课程的教学效果并不令人满意。理论讲授太多,实际的软件系统示例不足,学生觉得课程枯燥乏味,很难达到教学目的。本文首先分析了教学中存在的问题,然后提出了一些改进的措施。
二、软件工程教学中存在的问题
(一)教材内容老化。软件工程发展迅速,新的技术、方法和工具不断涌现,而教材内容的更新却远远跟不上这种发展。目前高等院校使用教材有的还停留在对面向过程的结构化方法的详细论述上,有的连项目组织、软件成熟度、软件构架、项目风险等十分重要的内容都未给予足够的论述。这些很大程度上制约了课程的教学效果。因此,教材内容如何保持与先进技术的同步更新,这是有待解决的问题。
(二)教学方法单一,难以激发学生兴趣。软件工程中基本概念、原理、方法较多,理论性较强,当前课程的教学主要采取将学生集中起来,以课堂讲授为主,教学内容一般是重理论而轻实践,学生缺乏感性认识。学生在接受抽象的理论和原则时,难以将抽象的理论和现实生活联系起来,容易产生枯燥乏味的感觉,难以激发学生的学习兴趣。
(三)缺乏实践经验。该课程要求老师在教学中要将理论与实践相结合。很多高校的软件工程课程在教学中虽然设置有实践环节,但受到时间以及教学环境的限制,无法真正完成一个完整的项目。学生由于缺乏实践的验证,无法体会课堂上所学理论的实际意义,难以做到学以致用。
(四)教师队伍自身水平有限。该课程要求授课教师必须具备一定的软件开发经验,在讲授时灵活地将理论和实践相结合,使学生直观地感觉到课程的实际意义。但是,在很多高等院校中,教师的核心任务是教学,承担的科学研究相对较少。教师自身从事软件项目开发经验不足,对于软件工程理论、技术、方法的理解不足,因此很难将理论讲的浅显易懂。这就要求教师要不断加强学习,提高自身的水平和能力。
三、教改方案
(一)选择合适的教材。教材是教学内容的载体。软件开发技术的发展日新月异,教材难免存在一定的滞后性。因此在选择教材时,不仅要注重介绍经典的软件工程原理方法,还应该考虑到当前流行的软件工程特点、方法及发展方向,把目前实用的一些原理技术作为重点。目前国内适合软件工程课程的教材不多,软件工程书籍或者纯粹阐述软件工程理论方法,或者仅仅介绍具体的开发技术、开发语言、开发环境。根据国内软件工程教材现状,授课老师一方面在学校经济条件允许基础上引进国外优秀的原版软件工程教材,采取英文教学。另一方面,可以收集一些软件公司的成功案例和自身的科研成果自编教材。
(二)激发学生的兴趣。提高学生的学习兴趣,对教学效果的保障具有重要的意义。软件工程包含了较多的理论内容,是一门理论联系实际的综合性课程。初学者往往感到学习内容杂、知识点多,重点内容不好把握。学生没有实际开发软件的经验,看到软件设计的题目往往有畏难情绪。因此,提高学生的学习兴趣,消除畏难情绪,进而提高学生的学习积极性就显得尤为重要。在具体教学过程中,可以在相应的理论部分引入软件项目实例,例如在讲述信息管理系统时,可以演示目前学生正在使用的选课系统;讲述C2C系统原理时,可以列举网络淘宝系统等等。通过案例可以激发学生学习兴趣,调动课堂气氛。
(三)加强实践环节。软件工程是一门实践性很强的课程,因此在教学中加强实践环节,对提高教学效果非常重要。我们应该从如下几个方面加强学生的实践能力:
首先,应加强学生的分析与设计能力。在讲解理论知识的同时,适当地找一个实际的小项目,要求学生以独立或者合作的方式完成一个中型软件项目的研发和测试工作,使学生经历软件工程开发全过程,掌握软件开发中使用到的各种工具,初步具有对真实系统的分析与设计能力。其次,在实践性教学环节中,可以采取循序渐进的方式向学生讲授软件开发的过程。在课前将选择的项目案例划分为几个模块,教师使用成熟的开发工具向学生演示其中几个模块的开发过程,接着让学生自己动手实现类似的简单模块,让学生置身于模拟的真实环境中,学习如何解决问题。从而培养了学生分析和解决问题的能力。最后,加强学校和企业的合作。邀请企业中有实际经验的资深软件工程师、专家以切身体验作讲座。通过企业和院校联合培养的方式,鼓励学生以实习的方式参与企业软件的研发工作,这样可使学生切实感受到该课程的重要性,尽早接触软件工程的实际问题,了解软件开发的全过程,提高实践能力,增强对软件工程技术、方法和原理的理解。
(四)提高教师队伍的素质。师资队伍整体水平,决定了教学质量的高低。软件工程的思想、方法、技术更新速度快,要求任课教师必须具有较高的获取新知识的能力。学校应在条件允许的情况下,多给教师外出充电的机会,接触新型的技术与理念。软件工程本身是一门实践性很强的课程,要求教师具有有大型系统分析能力以及实践开发经验。学校可以选派相关授课教师进入大型知名软件公司参与软件系统的研发,积累软件设计和开发实际经验,为日后的教学工作打下基础和铺垫。也可以邀请软件研发领域的优秀软件工程师、系统分析员担任兼职教师。让软件工程师、系统分析员给学生讲述他们的经验和教训,以此来拓展学生视野,开阔学生的知识面。
四、结束语
本文结合目前软件工程教学的现状,分析高等院校软件工程课程中存在的不足。同时笔者结合教学的经验和体会,提出了一些关于课程教学改革建议。教学中的问题是客观存在的,课程改革本身就是一项复杂的工程,要做的事情还有很多。相信随着各教学部门对软件工程教学的关注和重视,随着教学改革的深入开展,课程教学会越来越合理,培养的人才也能更好的满足社会需求。
参考文献:
[1]IEEE Computer Society.SWEBOK[S].Angela Burgess,2007.
[2]沈备军、李超,反思和抽象在“软件工程中人的因素”课程学习中的应用[J].计算机教育,2006(1):52-56.
[3]王竹云,软件工程与课程实践[J].计算机时代,2006.12.
[4]潘娅,软件工程教学方法探讨[M].西南科技大学高教研究,2006,02.
[5]张艳苏,学院“软件工程”教学改革探讨[M].科技信息,2007,27.
作者简介:
李建卓(1982-),男,助教,就职于宝鸡文理学院计算机系。