软件工程课程教学改革与实践探索
来源:用户上传
作者: 蒲保兴
摘 要:基于软件工程课程的特点,分析了目前教学过程中存在的问题,提出了两阶段教学法:理论讲授阶段以案例分析教学法,通过分析和演示案例,讲述软件工程的过程、理论与方法;在学生实践阶段采用任务驱动教学法,学生通过完成软件项目来巩固理论知识,并锻炼实践能力。实践表明,改进的教学方法能充分调动学生的学习自主性,提高学生的学习兴趣,改善教学效果。
关键词:软件工程;课程教学改革;案例分析教学法;任务驱动教学法
中图分类号:G642.3 文献标识码:A DOI
Exploring for Teaching Reform and Practice in Software Engineering Course
PU Bao-xing
(Department of Information Engineering, Shaoyang University, Shaoyang 422001, China)
Abstract: Based on the characteristics of software engineering teaching course, this paper analyses the problems occurring in the teaching process, and a two-stage teaching approach is proposed. In theory class stage, case analysis teaching method is adopted and the teacher instructs the process,theory and method of software engineering course to students by analyzing and demonstrating the prepared case; in practical study stage, task-prompting teaching method is adopted, in which the students can both consolidate their theory knowledge gained from the first stage and develop their practical ability by achieving software engineering project. Practice shows that the reformed teaching method can fully mobilize the students’ enthusiasm in learning, raise their leaning interest and improve the teaching effectiveness.
Key words: software engineering; course reform ; case analysis teaching method; task-prompting teaching method
1. 引言
信息技术是发展最快的一门科学,它具有很强的渗透力,能渗透到各个应用领域。软件作为信息技术的灵魂扮演了极其重要的角色,将成为所有领域新进展的驱动器[1]。而软件工程技术对软件产业的形成和发展起着决定性的推动作用。
软件工程课程是计算机科学与技术专业以及信息类相关专业的一门核心专业课程,其教学目的在于使学生掌握软件工程的基本概念、基本原理、基本方法,了解软件项目开发与维护的一般流程和规范,掌握软件开发与维护的相关技术、方法和工具,为学生今后从事软件开发与维护工作打下坚实的理论基础。该课程具有工程性与实践性的特征,同时还具有理论深、覆盖的范围宽等特点。涉及到了计算机科学、数学、经济学、法学、管理学等多学科的知识,对于教师来说,是一门难教的课程,对于学生来说,是一门难学的课程[2]。但在课程体系中,又是一门具有重要作用的课程。如何教好这门课程,不仅直接影响到学生专业能力的培养,是否能为相关课程的课程设计和毕业奠定坚实的基础,还直接影响学生的就业选择。
2. 软件工程课程教学存在的问题
软件工程技术的发展比较迅速,大量的新技术、新方法和新工具不断涌现。从最初的传统的软件工程,到第二代的面向对象技术的软件工程,第三代是引入“软件过程”概念的软件工程,到第四代基于构件开发方法的软件工程。这给课程教学带来了若干问题:教学内容偏多,课时相对偏少,教材更新难以跟上技术的发展。
传统的软件工程课程教学方法是以教师讲授为主,采用知识灌输的形式,同时以实验和课程设计任务作辅助,并布置一些课外作业。这种方式使学生感觉课程枯燥无味,学生只能生硬地记住一些概念,且实践环节无从下手。因这门课程的理论与实践是紧密相结合的,但可操作性差,学生反映上课时能听懂,一到自己做习题时就觉得无处下手。同时觉得这门课比较枯燥,内容太抽象,不易理解,因此极易产生厌学情绪。
对于授课教师,要讲好这门课也有一定难度。由于学生的学习兴趣不浓,反过来严重地影响了教师教学的积极性,许多教师均不愿承担这门课程的教学工作。
从学生实践角度来看,因每个实验均是两个课时左右,只能进行阶段性的实验,学生难以把软件工程的各个环节的内容有机地融合在一起,不能进行全方位的实践训练,实验的内容比较简单和单一,难以满足教学大纲的要求。
3. 软件工程课程教学改革探索
3.1 改善教学条件
鉴于软件工程课程的特点,不仅要求教师具有扎实的理论基础,还要有丰富的项目开发经验,要求教师在授课过程中所列举的案例以及布置给学生的项目应事先亲自完成一遍,从而在讲授过程中才能得心应手。教师还要不断地完善自身的理论知识,及时关注软件工程技术的最新发展动态,定期到软件开发公司去参观学习,了解和掌握最新的软件开发技术。
该门课程应尽可能地采用多媒体教学方式,并适当增加课时数。课程开设的时间宜拉长一点,最好能横跨两个学期,以便使学生有充裕的时间对所学的内容进行消化与巩固,同时又有充分的课外时间完成课外实践任务。
精心选择一本教材,教材应能包括教学大纲的主要内容,同时应具有通俗易懂的特点。教师应对教学内容进行高度概括,形成一个条理清晰的文档,在期初发给学生,同时精心设计多媒体课件,也应在期初发给学生,便于学生预习。
3.2 教学方法的改进
笔者认为,学生掌握工程性技术应经历“认知、理解、模拟、应用实践”等四个过程。因此,软件工程课程教学应分为两个阶段,开设的时间应跨越两个学期,第一学期以理论教学为主,对应于学生的“认知、理解”过程,在这一阶段,教师在深入分析教学内容的基础上,以简明扼要的方式列出课程的知识点,并突出整个课程的知识结构体系,建立各单元与各章节间的严密的逻辑联系,制作课件,且应结合案例分析与演示来实现知识点的讲授,由理论引出案例,通过演示分析案例加深学生对理论的理解。案例分析的第二个作用是为学生实践提供模拟的蓝本。这一阶段以笔试方式进行考核,成绩占40%。
第二阶段以学生为主体,采用任务驱动教学法[3],要求学生通过完成软件项目来达到学习和训练的目标,这一阶段对应于学生的“模拟、应用实践”过程。由于任务的驱动,将迫使学生进一步钻研教材内容,主动掌握项目开发所需的知识和技能,另一方面,学生在完成任务的过程中,能得到了应用实践训练。这一阶段又可以分为两步,第一步,以分组形式完成项目,把学生分成若干项目小组,每一小组分配4-6名学生,每个小组采用分工合作的方式完成一个项目。一个教师负责指导几个小组,指导教师扮演多重角色,首先是承担客户角色,向学生提出了项目的具体需求,同时担任了项目经理的角色,指导和协调项目的整个开发过程,督促开发进度。教师选择的项目应难度适中,且教师对给出的项目内容应相当地熟悉,并事先完成项目的开发工作,这样才能便于指导,清楚地了解各学生完成的任务的情况,以便给定学生成绩。项目完成后,各组演示项目的完成结果,指导教师根握各组学生的演示结果以及学生在组内的表现和完成的工作量给定成绩,成绩占整个课程成绩的40%,对于项目完成得较好的组,可以作为学生的课程设计结果。第二步,要求每个学生完成一个项目,其实现方法与前一步类似,所不同的是每个学生对应一个项目,主要是为了让学生得到实践软件工程的各个环节训练,并担任完成软件项目的各个角色,其考核成绩整个课程的20%,对于任务完成较好的学生,可作为毕业设计的结果。
3.3 增强校企合作
衡量一个国家教育制度是否科学、有用,或者教育体制改革是否成功,一个重要标准,就是看这种教育制度下,学校毕业生是否受到用人单位的欢迎。因此学校应加强与企业的联系与合作,及时了解软件产业的需求,动态地修改教学大纲与人才培养模式,定期邀请软件开发公司资深技术人员来校讲座,学校也应定期委派任课教师到软件开发公司进行观摩学习,并选送学生前往软件开发公司进行见习。对于软件工程的课程设计和毕业设计,可以邀请软件开发公司的技术人员担任指导教师。采用这种模式不仅可以提高学生的学习兴趣,达到按实际需要进行人才培养的目标,还能在校企合作的过程中充分为学生提供就业信息,有的放矢地培养学生的知识结构与能力。
4. 实践效果
提出的教学改革方案是完全可行的,经过多年的实践,我们发现,学生的学习软件工程课程的积极性大大提高,同时对相关课程的课程设计及毕业设计产生了较大的促进作用,毕业生的从事软件开发工作的比率大大增加,教学效果得到了明显的改善。
5. 结束语
针对软件课程的特点,本文分析了目前教学过程中存在的若干问题和引起这些问题的原因,提出了相应的教学改革方案,作为工程性与实践性的课程,应采用两阶段教学法,拉长开课时间,理论讲解阶段应采用案例教学法,学生实践阶段应采用任务驱动教学法,教学实践表明,提出的方法是可行的和有效的,能充分调动学生的学生自主性,增加学生的学生兴趣,改善教学效果。
[参考文献]
[1]Roger S P.Software Engineering A Practitioner’s Approach[M].梅宏译.北京,机械工业出版社,2002:3-4.
[2]傅尔胜,齐艳珂.软件工程若干问题的思考[J].大众科技,2007,(8):172-173.
[3]贺鑫.浅析任务驱动教学法在3ds max教学中的应用实践[J].当代教育论坛,2006,(11):51-52.
转载注明来源:https://www.xzbu.com/8/view-45596.htm