高职《软件工程》教学的思考与改革
2009-09-05李博朱娜
李 博 朱 娜
摘要:针对当前高职《软件工程》教学中存在的问题,从实用的角度出发,针对教学内容、教学方法和教学评价等方面进行全方位的改革,理论联系实际,提高学生的学习兴趣和动手能力,培养学生的团队协作能力,增加就业竞争力。
关键词:软件工程 高职教育 教学改革
0 引言
高职院校的计算机专业的学生毕业后,主要从事软件开发、维护和销售,很少一部分从事理论研究工作。而我们在教学过程中往往重视理论而忽略了实践,学生的实践缺乏系统的、有指导的专业训练。这样的学生到工作岗位以后,用人单位要花一到两年的时间进行岗前培训,他们才能适应岗位的要求。这种教育与企业需求脱节,造成了资源的严重浪费。在经济危机条件下,更多的企业不愿意接纳应届毕业生,充当培训者的角色。目前,缺少适应企业需求,工程能力强的计算机人才。《软件工程》是高职院校计算机专业中唯一涉及工程规范与管理的专业必修课,它像粘合剂一样,将人、理论、技能、工具等结合生产出软件产品[1]。《软件工程》这门课教学目标是使学生系统掌握软件工程的基本理论,树立工程化的思想、标准化意识。但是在以往的教学中存在一些问题,导致教学效果不明显,直接影响学生的就业竞争力和学生毕业后工作期间软件开发能力和项目管理能力,所以针对《软件工程》教学的改革是尤为迫切的。
1 高职教学中的问题
1.1 教学内容陈旧 软件工程作为一门迅速发展的新兴学科,新的技术方法和工具不断涌现,绝大多数的高职院校计算机专业都开设《软件工程》为必修课。但是,现有的高职高专的专业教材内容过于老化,主要讲解的还是结构化软件开发方法,缺少较详实的目前先进的、具体的企业使用的面向对象软件开发方法的介绍。因此,有必要更新教学内容,并以此为基础对软件工程的教学方法进行全面、系统的改革。
1.2 教学方法单一 当前《软件工程》课程教学主要以教师讲授为主,学生的学习积极性和主动性得不到调动,导致知识理解不到位,不能把软件工程所涉及的前驱课程都联系起来,所以知识遗忘快。
1.3 理论教学多,实践教学少 现在教师往往把重点放在讲解一些基本概念、方法和原则,而将涉及训练实践简化或省略,背离了软件工程实践性和综合性的特点,学生在学完该门课程之后,往往不能真正的理解比较抽象的软件工程的基本思想和原理,更不知道如何用软件工程的方法来开发和维护软件。
2 改进方法
由于软件工程综合性、实践性强的特点,在加之高职院校培训的学生要有很强操作能力,所以要求该课程的教学中不但重视关键概念、重点难点内容的讲解,而且还要适当的加入案例教学,使学生成为教学的主体。在理论教学完成之后,增加课程设计的实践环节,锻炼学生的软件开发能力,从而进一步提高学生分析问题、解决问题的能力,增加学生的团队协作精神的培养。
2.1 教学内容的丰富 为了让学生进入工作岗位能很快的适应,所以在教学内容的结构上进行调整,把软件行业一致认可的、目前比较流行的软件工程的热点技术或概念、建模语言和工具引入到课堂教学中,并且作为教学内容的核心。在教学过程中以面向对象方法为基础,以面向对象的程序设计语言Java或C#作为工具,着重统一建模语言UML及建模工具Rational Rose的讲解。
2.2 教师素质的提高 根据软件工程这门课的特点,要求教师不但要具有一定的理论基础,而且还要有具体的软件开发的工作经验。教师要把软件工程所涉及的所有前驱课程中的知识点融和在软件工程教学中,教师还要关注软件工程业界发展动态,在教学过程中给学生做以适当的介绍。学校一定要适当的给软件工程老师提供一些到企业学习的机会,这样课程的内容才会变得鲜活起来,课堂教学才会更贴近学生毕业后的工作环境。
2.3 教学方法的改革
2.3.1 重视基本概念的讲解 软件工程中一些重要概念是很抽象的难于理解的,但这些概念的理解会影响到学生的学习效果。所以教师一定要把基本概念讲清讲透,让学生消化理解。教师在授课时还应该补充介绍一些热点的技术或概念,如XP(极限编程)、RUP(统一软件开发过程)、CMMI(能力成熟度模型集成)等。让学生对其有所了解,掌握进一步学习的途径和方法。
2.3.2 适当的案例教学 通过讲授,让学生系统的掌握整个知识体系。运用适当的案例教学,使学生感觉到软件工程的实用性所在,从而提高自主扩展知识面和建构自己的新知识的欲望。在学生动手动脑参与案例分析得过程中,加深对所学知识的理解,培养了学生的分析能力。
2.4 认真组织课程设计,培养实际开发能力。课程设计能使学生对整门课程中的方法、技术、工具等有一个系统的梳理,通过理论和实践的结合,可以增加对理论知识的理解,同时可以掌握项目开发的每个阶段中文档的书写规范等。在课程设计阶段,可以增加学生解决实际问题的能力,还可以培养学生的沟通能力,这在实际的软件开发中都是至关重要的,因而课程设计是软件工程教学中不可缺少的一个重要环节。软件行业分工越来越细、一个团队内也有各种角色。课程设计阶段小组成员分别担任项目经理、系统分析员、程序员、测试员等角色,在项目的不同阶段,学生担任的角色可以变换[3]。从项目可行性报告开始,进行系统需求分析、设计、实现与测试等各环节,每个阶段应递交相应的软件开发文档。各小组之间交叉进行检查,发现问题和不足,逐步进行改进和完善。在师生之间、同学之间和各组之间进行阶段性汇报的同时,会提出一些比较实际的问题,老师可以引导学生逐步寻求问题的解决方案。
2.5 教学评价改革 由于软件工程是一种实践性课程。检验其教学效果的唯一手段不是学生的卷面成绩,而是学生能否在真正的软件开发活动中贯彻软件工程概念,正确使用软件工程方法提高软件质量。所以在教学评价部分我们把学生的成绩分成三个部分,即卷面成绩、课程设计小组成绩和课程设计个人成绩。其中卷面成绩重点考核学生对重要的软件工程概念和软件开发方法的掌握程度。试卷中题目是由一部分概念选择题和实例分析题组成,这样既可以避免学生死记硬背的通过考试,又可以检验课堂教学教学的效果。
在课程设计结束时,每个小组提交软件产品和各阶段规范的软件开发文档。每个学生提交自己在整个项目开发过程中所完成任务的总结。课程设计答辩中,老师针对每个学生实际负责的工作进行提问,老师根据项目的完成情况和每个学生的工作情况给出课程设计的小组成绩和个人成绩。之所以把课程设计成绩细分为两部分,是因为这样评分不但可以增加团队的凝聚力,还可以防止滥竽充数现象发生。
3 小结
高职软件工程教学中应该根据当前社企业对人才的需求,灵活的调整教学内容,适当采用案例教学模式,加强课程设计的实际应用效果,在教学过程中注重培养团队精神和协作能力,增强高职学生的就业竞争力。
参考文献:
[1]汤庸.结构化与面向对象软件方法[M].北京:科学出版社.1998.
[2]杨业娟.张帆.浅析案例教学法在高职.软件工程.课程中的应用[J].科教文汇.2008(01)中旬刊:32.
[3]赵辉,李万龙,郑山红.软件工程课程教学改革的研究[J].长春工业大学学报:高教研究版.2006.27(4):60.