基于“项目
2009-11-19孙旋张泊平
孙 旋 张泊平
摘要:软件工程是一门理论性和实践性都很强的课程。“项目——导师制”实践教学模式,不仅有利于软件工程教学资源的合理利用、提高教学管理水平和促进师资队伍整体建设,更有利于高素质创新型应用人才的培养。
关键词:软件工程;项目——导师制;过程导向;项目驱动
软件工程是一门理论性和实践性都很强的课程。“以过程为导向,以项目为驱动的导师制”实践教学模式(以下简称为“项目——导师制”实践教学模式),是借鉴自然科学基金课题负责制的方式,由专业教师领衔负责,根据软件工程实践教学大纲、教学内容制定实践课题,并组织相关专业教师、技术员组成实践课题组,确定实践课题名称、实践目的、实践内容,由学生自主选择课题和实验导师。这一实践教学模式不仅有利于软件工程教学资源的合理利用、提高教学管理水平和促进师资队伍整体建设,更有利于高素质创新型应用人才的培养。
一、软件工程教学存在的问题
在教学过程中,软件工程长期存在着“学生什么都学过,却什么都不会”的情况。对于软件工程,学生既熟悉又陌生,他们对软件工程的框架也仅是粗浅地了解,做起来感到无从下手,存在着教学过程与实际应用需求严重脱节的情况。
目前,软件工程教学存在的问题主要表现在,传统软件工程课程虽有实验教学的要求,但大多数只是停留在组织学生编写软件项目若干设计文档这个单一环节上。由于中学过早实施了文理分家,导致理工科学生的文档编写能力相对较差,因而有些学生对于文档编写既不擅长,也不感兴趣。另外,受大学学时的限制,要真正完成软件工程各阶段文档的编写,实施起来也相对比较困难。为此,我们构建了“项目——导师制”软件工程实践教学模式,引入贯穿性的举例作为学生实践的模板,从而推动了软件工程教学。
二、“项目——导师制”软件工程实践教学模式的构建
“项目——导师制”实践教学模式:相对宏观的教学设计而言,分为理论基础准备、实训项目过程引导和课程设计三个阶段,它从一个比较高的层次上提出该阶段的宏观任务、教学要求、教学实施方法、检验教学效果的方法以及教师在该阶段所扮演的角色;在微观的课堂设计中,主要是通过精心设计实例、加强巡回指导来实践,从而推动课堂教学。
1以过程为导向的课程教学内容
采用行动导向组织教学,以开发包括各种数据处理功能在内的“软件工程学习网站”实训项目为引导,把整个课程教学内容分成项目可行性分析、项目需求分析、概要设计、详细设计、编程实现、软件测试、软件运行和维护、软件评价、软件项目管理、课程设计等教学模块,使理论教学与实践在这个案例中融为一体。
通过提出具体问题(展示结果),然后讲解解决问题应用的基本知识和采用的方法,再提出具体问题(展示结果),由教师归纳与延伸提出新问题,达到学生独立解决问题的目的。
教学过程按模块进行,有的模块需要两个学时,有的需要4个学时,我们根据课时需要,安排多个课时连上,每个教学模块通过“软件工程学习网站”实现。
(1)教师精心挑选开发案例,提出问题
由教师精心挑选开发案例,展示“软件工程学习网站”案例的功能、运行效果,让学生了解本系统的开发目标,明确在项目中应完成哪些功能,让学生尽可能多地发现软件开发中的各种问题,最终求得解决问题的方法。
(2)教师讲解并指导学生讨论
教师讲解并指导学生讨论是解决这一问题的基本方法和基本思路。必须讲到解决这一问题时所应用到的知识和技能,教师讲解这些知识和技能的应用时以本模块所要完成的“软件工程学习网站”的任务为案例,讲解这一开发阶段应完成的任务。
(3)学生动手编写开发阶段相应的文档
为让学生自己动手编写出开发阶段相应的文档,教师要通过多种形式给予指导,可以让学生展开讨论,或对学生进行分组,由同一小组的几名学生合作来完成。
(4)教师指导学生解决模块问题
教师进行归纳,把学生的感性认识逐步上升到理性认识,对属于本模块的开发技能或者是一些成功的开发经验而项目中又没有应用到的,教师就要加以延伸和拓展,延伸与拓展要自然过度、适可而止。这样,随着案例细化程度的逐渐降低,学生个性的分析设计能力就能逐步得到提高。
(5)教师进行软件工程课程设计与总结
案例结束时由教师进行总结。教师可先以学生论坛的形式作为问题的初步提出和解决的平台,以专题报告和会议的形式进行总结,然后,让学生解决同类性质的问题,要求学生另行完成其他系统或应用程序的开发,即提出新的问题、布置软件工程课程设计任务。这样,就使学生体验了案例开发的整个过程,激发了学生自己动手的欲望。
2,以项目为驱动的实践教学流程
(1)结合具体的开发项目进行设计,班级按导师和选定的项目进行分组,每个项目小组选出项目负责人或项目经理,在导师指导下准备实践。
(2)实验课上,在项目导师的指导下,学生独立完成实验内容。指导教师对每个实践课题的研究意义、研究内容、国内外相关实验项目的应用情况、技术路线等进行系统讲授:学生分工合作,学习软件开发小组的组织和管理,明确项目开发各阶段的任务,熟悉软件开发环境,培养团队精神,共同完成该项目的设计任务。项目中的每项任务都要落实到个人,实验在规定的时间内由学生独立完成。另外,学生在学校机房的机器应固定下来,并安装好相应的软件,上课没有特殊情况不得缺席。
(3)每个项目小组都必须按照国家《计算机软件开发规范》中给定的文档规范标准,提供项目综合开发报告。
(4)建立客观、科学的评价考核机制。如聘请专家及相关学科教师随机听课,观察学生实验过程,认真评审打分,并以无记名问卷调查方式了解学生对“项目——导师制”实践教学模式教学效果的评价,以便改进。
三、“项目——导师制”软件工程实践教学模式实施的效果
“项目——导师制”实践教学模式已在许昌学院计算机科学与技术学院中实施,教学成效显著。为进一步了解“项目——导师制”实践教学模式的教学效果,我们课程组设计了《许昌学院软件工程项目实训调查表》,其内容包括培养项目开发意识及课程的有关情况、培养项目开发兴趣、培养项目开发的能力、培养团队精神、进行问卷调查和提高自信心等6个方面,每一项内容在调查问卷上设为“很大帮助”“有一定帮助”“一般”“没有帮助”4个档次。我们共发放调查表161份,回收有效调查表161份。调查发现,学生认为软件工程项目实训对自己有“很大帮助”的占43%,有“一定帮助”的占52%,“一般”的占5%,“没有帮助”的为0。这一数据表明,通过实训有95%的学生认为软件项目开发意识和习惯得到了培养,提高了对软件项目开发的兴趣。
我们又针对动手能力在调查问卷上将每一项调查设为“有很大提高”“有一定提高”“一般”“没有提高”4个档次。调查显示,通过实训,89%的学生的软件项目开发能力得到了培养和提高,26%的学生的团队精神得到了锻炼,34.2%的学生的自信心得到了提升。
学生在“项目——导师制”实践教学模式下进行学习时,表现出比过去更大的参与热情和更强的学习主动性,提高了按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,综合素质明显提高,特别是在基础技能、团队协作、资料收集、人际交往、项目规划等方面明显具备了较强的能力,在就业等方面具备了更强的竞争力,更加适合在现代软件企业中发展。同时也应看到,“项目——导师制”实践教学模式是普通项目驱动教学模式的继承与发展,在教学理论和实践方面还不够成熟,需继续深入探究和不断创新,才能使软件工程教学改革取得丰硕的成果。