郭锐
摘要:针对当前高职软件工程课程教学中存在的问题,提出调整教学内容安排、调整教学实例选择、调整实训课程选题等一系列改革措施,并阐述具体的实施过程。
关键词:软件工程;高职;课程改革
0.引言
软件工程课程是软件专业的核心课程和必修科目,内容包括软件工程的基本原理、软件开发技术和方法、软件工具和环境、软件项目管理等几部分,涉及软件分析、设计、开发、维护等过程,对学生日后的软件开发工作起到重要的指导作用。
高职学生一般以掌握专业技术为学习目标,对操作性强的专业课学习积极性高,学习效果较好。由于软件工程课程的系统性和理论性较其他科目深,学生自身又缺乏实际项目经验,无法体会课程内容的重要性,往往会忽视这门课的学习。
为了改善高职学生对这门课程的认识、提高教学质量和教学效果,经过对几个学期教学效果的总结和教学内容的思考,我们针对教学中存在的主要问题提出了解决办法。
1.主要问题
1.1内容衔接生硬
学生课后的复习、思考主要依靠教材,因此教材的内容从一定程度上决定了学生的学习效果。为了使学生把握专业理论知识的整体框架,教材会非常注重理论知识的完整性,将知识按章节划分,一一列明知识点;为了改善实践性不足的问题,很多高职教材都增加了案例实训的内容。然而本应作为重点的实践部分却往往仅以补充内容的角色存在,通常只是从案例工程中截出一部分内容直接放到理论章节的后面而缺少分析。这就导致教材中理论和实践部分没有过渡,生硬地拼在一起,无法体现理论知识在实践过程中的指导作用。
1.2案例不易理解
采用“项目驱动式”的教材通常会提供一个系统作为贯穿教材的案例,将任务分解到每一章节中。该方式虽有一定的作用,但仍存在一些问题。
问题一:案例离学生生活较远,不易理解。如库存管理系统,市场上很常见,但是学生未接触过,无法理解其背后的工作流程和涉及的各部门之间的关系,只能靠老师灌输,不利于主动思考。
问题二:给出的项目引导材料不全。教材通常只给出一、两段项目相关的简单描述,并未给出详细的行业背景、部门关系、系统要求等细节,无法满足初次接触此类项目且要运用理论知识来进行分析、设计的学生的需求。
问题三:教材中给出的任务输出与输入不吻合。针对项目问题的描述,教材中会给出相应的任务结果以供参考,但是给出的要么是模板型的文档,要么是包含了许多从给出的描述中看不出来的环节或细节,难以让学生将结论与分析过程对应起来,起不到理论和实践相结合的作用。
1.3内容详略不当
从近年的就业形势来看,对于高职软件专业的学生来说,就业缺口较大的岗位大多是面向对象开发,在注重职业能力培养的今天,学校应该根据市场需求调整教学方向,更多地强调面向对象的思想。然而在传统的软件工程教材中,面向对象分析、设计、实现的方法并没有成为重点,而仅仅作为书中一、两章内容进行简单介绍,不利于面向对象思想的培养。
2.改革方案
2.1调整实践部分
1)精选教学案例。
在教学过程中选择更贴近学生生活的案例。如与学生生活切实相关的宿舍管理系统或切身体验过的学生选课系统等,使学生在对系统内部结构有一定了解的基础上深入思考和分析这些系统。同时,对系统的描述要更加详尽,尽量明确说明系统的使用环境、使用对象、工作流程等,还要保留部分空间让学生思考来发现和完善。这种方式让学生不仅能深入了解开发系统,还可以进一步思考问题和解决问题。
2)增加教学案例。
至少准备两个实例教学案例,一个案例贯穿教材,内容分解到每个章节中,供学生一步一步完成任务;另一个是放在课程最后的完整案例,供学生与贯穿案例进行比较学习,更好地理解每部分要做的工作。课后的完整案例可以根据课时安排多个,多案例时要注意每个案例的侧重点有所不同,互相补充。
案例选择要注意跟学生已学过的知识相关,例如,学生若学过Web开发知识,则可以安排WebApp作为案例;若学习过Android开发的课程,则可以安排移动开发的案例;若与本门课程同时开设某开发课程,则可以和开发课程协同安排实训课程的任务,这样既可以补充实训阶段的细节,也方便学生更合理地利用实训时间。
3)自选实训案例。
为了让学生更好地参与实践操作,教师在实训的选题阶段提出一些系统供学生选择和参考,但并不要求一定在这个范围内选题,学生可以自行选择感兴趣的主题进行系统研发,这样,大多数学生会更加认真、负责地对待自选题目。
2.2调整教学重点
一般来说,软件工程教学安排是以软件生命周期为主线,介绍软件开发过程中的每个阶段需要完成的任务目标、基本原理和采用的技术,这样的安排比较合理,无需改变。要改变的是面向对象分析和设计部分,将其从原来的两个独立章节改为整门课程的主线。这里的调整并不是对所有教学内容的颠覆,而是将面向对象的思想、方法、工具用法放在每个部分中,使它贯穿整个软件生命周期,即贯穿整个课程,具体内容见表1。
这样安排内容,将面向对象分析、设计所需的方法和工具穿插在相应的环节中,并结合实例按步骤进行详细讲解。这样可以将原来的先讲解、再应用,改善为在实践中学习和使用。两种方式看起来虽然只是顺序的改变,但实际效果却差别很大:前者是在不了解要做什么的情况下先接受理论灌输,然后再在实际应用场景中去摸索应该用之前学的哪个模型以及如何用;而后者是在某工作阶段中,碰到需要借助某方法和工具的情况下,再详细讲解该模型的概念和用法,使学生不仅知道“怎样用”,更理解“为什么用”。
3.结语
理论源于实践,是对实践经验的高度总结。为了让学生在软件管理和开发过程中养成系统化的工作习惯,我们需要调整一系列的教学和实训内容,在课堂和实训教学中采用多案例配合的方法,让学生对理论知识的学习更加简单,通过案例分析对知识的理解更加深入。