软件工程教学方法探索
2011-08-15高雁翔
高雁翔
(大同煤炭职业技术学院 教务处,山西 大同037003)
软件工程教学方法探索
高雁翔
(大同煤炭职业技术学院 教务处,山西 大同037003)
目前,软件工程教学过程中存在一些问题,教师应结合自身的实际教学经验,对软件工程的教学策略进行设计和分析,并应用于实际教学,以期取得更良好的教学效果。
软件工程教学 ;教学策略; 方法探索
软件工程是高等学校计算机教学计划中的一门核心课程,是研究软件开发与软件管理的综合性工程学科,工程实践性非常强,学习掌握软件开发与维护的原则、技术及方法,了解软件经济学、软件管理学的基本理论已成为信息社会对人才培养的要求之一。
学生要掌握软件工程理论需要具备一定的实践经验,这使得大多数没有经历项目实践的学生在课程学习的时候普遍感到困难,对概念、原理、方法的理解不深。如何有效地开展软件工程课程教学,成为广大教育者思考和探索的问题。
一、存在问题
目前,软件工程教学过程中存在的问题有:
1.教学方法陈旧。教学主要以教师讲为主,学生听为辅,培养出来的学生缺乏自主探索知识的能力,缺乏运用知识解决实际问题的能力,不能很好地调动学生学习的积极性,造成学生学习兴趣下降,达不到预期的教学目的。
2.教学内容落伍,教学中所举案例相当独立,前后没有衔接,缺乏完整性、实用性,更让学生感到迷惑不清,对于“项目”的概念理解不充分,孤立地使用一些案例当作项目在实施,这样会使教学内容发散,过程整体性不鲜明,没有及时增加软件工程发展的新知识、新方向,禁锢学生视野的拓展。
3.从软件工程的教材来看,过于强调基础理论,忽视了工程管理、实践、运作和配置管理的重要性,与实践严重脱节,无法满足软件企业发展的需要。
长期以来,这些教学上存在的问题使我们培养的计算机专业的学生存在着“什么都学过,却什么都不会”的尴尬局面。
二、教学策略设计
针对上面提到的软件工程教学中存在的问题,结合实际教学经验总结,要改变软件工程教学现状,达到理想的教学效果,根源在于改变教学内容安排与教学方式,合理设计教学,激发学生学习兴趣及学习的主动性。可以从以下几个方面着手:
1.合理设置教学内容。在每一个章节的开始,教师应以该内容环节为要点对软件生命周期模型进行分析,找准该章节在整个周期中的地位与作用,同时也起到了知识的复习与巩固作用。比如软件工程中,介绍了很多用图形表示问题的技术,包括系统流程图(System-Flowchart)、数据流图(DataFlowDiagram)、层次图(Hierarchychart)、 结 构 图(Structurechart)、Warni-er 图 、Jackson图、N—S图、PAD图等。如何画这些图,如何利用这些图清晰地表达出问题所在,这些图各适用于表示什么样的问题,相近图的相同点和不同点,各适用在什么场合。这些问题都需要学生将所有知识点融会贯通,才能较好地掌握。
2.板书与多媒体辅助教学相结合。板书在课堂教学过程中起到画龙点睛、提纲挈领、引领学生学习的作用。必要的板书是必不可少的,但板书教学形式单一,而采用多媒体辅助教学,可提供模板式报告文档,变看不见、摸不着的理论为具体化的报告文档;
例如,在教学讲授学生成绩管理系统的数据流图(DFD图)绘制时可采用多媒体辅助教学手段。首先给出绘制顶层DFD图的任务,启发诱导学生探究质疑找出顶层图中的加工(学生成绩管理系统)、输入(查询请求、成绩、课程和学生信息)、输出(查询结果)、外部实体(学生和教务人员)并在头脑中形成自己绘制的顶层图后,再通过投影将顶层DFD图呈现在学生面前。然后分别给出绘制下层DFD图的任务并启发诱导学生探究质疑绘制后,借助多媒体逐步展现各层DFD图。
在授课方式上,为激发学生的学习兴趣以及产生良好的教学效果,在分析数据流图、盒图的用途及画法的问题中,可以通过实际图例对比分析,并对比介绍层次图和层次方框图的区别及联系。
3.注重文档编写能力的培养。软件工程一个重要的特点是规范化与文档化。在软件开发过程中需要撰写大量的分析设计文档来对软件的开发过程与质量进行有效的控制与管理。对于理工科学生来说,往往文档编写能力较差,因此在教学中应要求学生高质量地完成相应开发文档的编写,以提高其文档撰写能力和水平。
4.在课程设计中进行项目开发的实战训练。“软件工程”课本身是一门设计课程,基本概念、方法和原则应该熟练掌握,但更重要的是,如果只是单独的进行枯燥模糊的课堂教学,而不给学生进行亲身项目开发的体验,学生是很难理解和相信软件工程技术的好处,以至于学完了之后觉得用处不大。所以,学生必须参加一个从计划、分析、设计到编码、测试、维护的软件开发全过程,以便从中得到实际的从事软件开发的训练和经验。在教学过程中先给出一些学生熟悉的,容易理解的具体例子,例如“教材销售系统”、“学生学籍管理系统”、“图书馆管理系统”等。学生对这些系统所应具有的功能比较熟悉,再以这些例子为基础讲授“软件工程”的方法和原则。在教学中宜采用“学生思考—小组讨论—总结提高”的三步学习方法。
首先,将学生适当分组后,每组任选一个例子,由学生独立思考,给出解决方案。学生对具体案例进行必要的基础知识的了解,认真阅读案例,熟悉软件开发过程各阶段的基本任务。在案例的分析过程中,用软件工程的传统途径—生命周期方法学作为理论指导。要提醒学生注意寻找其中的因果关系,只有弄清问题产生的原因,才可能找到问题的合理解决手段。这种教学方法可以充分调动学生的积极性,激发他们的求知欲。
其次,组织学生进行讨论。分组讨论是课程设计教学中非常重要的环节,本质上是一种概念或想法的交流。围绕案例的重点,难点,疑点,进行讨论。每个学生可以自由的抒发己见,相互启迪,互相借鉴,重点是想法的交流。要求每个学生简要介绍自己对软件开发所做的分析设计,并提出自己对该软件开发流程的看法,分析各自解决方案的优劣,供大家讨论与切磋,可以按照案例中所提出的问题一个一个讨论。
最后,由教师进行总结和评价,总结归纳是软件工程课程设计教学的最后阶段,要求学生要对每个案例写出学习报告。该报告中包含学生在阅读案例中所得到的具体收获;通过分析与设计软件,提出自己所解决的实际问题;对理论上软件工程概念和案例中的实际是否一一相对应;以及对软件工程仍然存在的困惑。通过反思进一步加深对案例的认识,真正做到理论和实践的相结合。教师指出该案例所涉及的理论知识及其应用方法,就学生提出的问题进行解答。
经过可行性研究、需求分析、设计、编码、测试与维护几个阶段,最后给出完整系统的软件(包括应有的各种文档和调试通过的源程序代码)。这样将学习内容寓于问题之中,启发学生进行积极思考,使学生成为主动的、积极的知识探究者,在一定程度上激发学生的创新思维,培养了学生的创新能力,从而更深刻地理解课程。
5.设置综合的成绩考核方式。软件工程作为实践性很强的工程学科,考核的目的是以考核手段为导向,促进学生对软件工程知识的学习和软件开发能力的提升。在实验成绩评价体系中,可按学生掌握基础知识情况、解决问题能力、创新能力等多方面进行评价。采取的评定方案是:平时成绩以课内实验的成绩为主,评定依据是:各软件开发小组提交的文档和最终开发好的软件,并参考每个小组成员在项目中的贡献。在卷面考试里,除了考查一些软件工程的重要原理和概念外,重点检测学生的软件分析与设计能力,综合设计题目占到试卷分值的50%以上。
三、总结
软件工程这门课教学效果的最终检验是看学生是否具备软件工程基本素养,是否能够在软件开发实践中综合运用软件工程知识,是否已准备好融入规模、规范、工程化的开发团队。
在课堂上采用以学生参与为主、理论与实践相结合的教学模式,学生能够积极主动地参与到软件工程的教学中,全面深刻地掌握软件工程的原理、概念和方法,并且培养自身实践、创新能力及团队合作精神,为日后工作打下结实基础。
[1]于彬等.高职软件工程课程改革的研究与实践 [J].福建电脑,2010,(1):177.
[2]栾好利,杨政“.软件工程”项目教学改革方案研究[J].计算机教育,2009(4):52-53.
[3]张海藩.软件工程导论(第五版)[M].北京:清华大学出版社,2008.
[责任编辑:郭一鹤]
G710
B
1671-6531(2011)08-0128-02
高雁翔,女,大同煤炭职业技术学院教务处助教,研究方向为计算机教学。