论文部分内容阅读
【摘要】软件工程是计算机专业的一门专业课。传统的教学方式重理论、轻实践,教学效果较差。本文分析了软件工程课程教学特点、行动导向教学方法、然后将行动导向教学法应用在软件工程课程教学中进行研究和探索。
【关键词】软件工程 行动导向教学法
【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2013)10-0241-01
《软件工程》是计算机专业的一门专业课。该课程是将系统的、规范的、可度量的工程化方法應用于软件开发、运行和维护的全过程及上述方法的研究[1]。通过软件工程课程的学习,使学生能够在掌握软件工程的理论、技术、方法、标准和规范的同时,可以有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实基础。
一、《软件工程》课程教学分析
(一)《软件工程》课程的传统教学模式。目前,国内高校对于该课程的传统教学方法是以教师课堂授课为主,学生被动地听课,教学内容一般是重理论而轻实践。即使配备课程实验,学生也只是编写一些规定的文档,其开发方式和手段基本上与软件工程的要求脱节。很多学生在学习该课程时,感到内容抽象枯燥,甚至觉得本课程没什么实用价值。
(二)《软件工程》课程的教学特点。软件工程不是一门速成的学科,其本身的特点决定了它不是完全可以从书本和课堂上学会的,理解和实践是非常重要的。软件工程是一门方法论性质的课程,有一定的软件开发经历,再学习本课程才能体会方法含义。然而学生通常缺乏实际软件项目的开发经历,难以将抽象理论与实际开发联系起来。
二、行动导向教学法
行动导向是德国职业教育的主导范式,也称为行为导向,主要通过具体的项目实施和实践训练等方式培养适应信息社会和知识经济对劳动者要求的综合职业能力。它要求学生能在教师的引导下,自主寻找解决问题的方法,得到正确的结果,主要表现在“做中学”和“学中做”,最后进行成果展示和自我评价,从而达到锻炼学生各种能力的目的[2]。
行动导向教学提供了多种教学方法:四阶段教学法、角色扮演法、模拟教学法、项目教学法、引导课文教学法、头脑风暴法、思维导图法、任务教学法、案例教学法等等。
三、行动导向教学法在《软件工程》教学中的应用
(一)将软件工程思想渗透到专业学习过程中。《软件工程》是一门理论与实践联系紧密的学科,学生在实际的项目中去体会、感受软件工程的思想和技术。我们应该从单一课程中跳出来,在专业计划中将软件工程的内容与前、后课程有机的融合在一起。
专业教学计划的第三学期开设的语言课程为《VB.NET程序设计》,本学期最后一周设置《VB.NET应用程序开发实训》,在程序开发过程中,可将软件开发流程知识点渗透进去。第四学期开设《软件工程》课程,本课程案例就采用上学期VB.NET实训的项目。这样学生既巩固了上学期的课程,又很熟悉项目,用该项目介绍软件工程思想,学生理解起来不吃力。本课程设置理论教学和实践教学两部分:前十二周用于理论教学,后四周用于实践教学。实践教学采用项目教学法,学生分组开发一个小项目,最终上交文档和程序,并分组答辩。在本课程结束后,有两周的综合实训,完全可以采用软件工程的思想和技术应用的实训的开发中。这样就形成了“实践+理论+实践+综合实践”新的教学方法。
(二)行动导向教学法在理论教学中的应用。
1.案例教学法。案例教学法是将基本原理、企业案例、关键技术与工具等有机结合,使抽象枯燥的内容变得生动有趣。例如在学软件工程进度管理时,案例分析:已知一个具体的项目进度网络图、项目工期表,由于一些事情发生,导致最后工期延误。首先,教师介绍案例,学生明确工作任务;然后,学生分组讨论导致工期延误的原因,如果不延误工期,应采取哪些措施;最后各组阐述自己观点,认识软件工程进度控制的重要性。教师要在整个过程中给学生适当的帮助,掌握评价方法和技巧。
2.角色扮演法。角色扮演教学法是一种模拟情景的行动导向式教学方法。例如在将需求分析阶段,设定准备开发某一软件,在了解用户需求的情境。参与的人员有:客户、用户、投资人、产品经理、设计人员、测试人员,系统分析员。系统分析员提问,其他人员回答。学生可以扮演上述角色,根据自己扮演的角色提出自己关注的问题,最终整理用户需求以文档形式汇报。教师在整个过程中控制节奏、指导文档编写、评价学生表现。
3.任务教学法。任务教学法让学生通过具体的工作任务来训练专业技能,构建专业理论知识。例如:软件工程中数据流图画法。老师首先介绍本节课程任务学会数据流图。然后介绍图书管理系统项目的数据流图[3]、数据流图的基本组成,布置任务:设计房产经营管理系统数据流图、设计火车软硬卧铺订票系统数据流图。学生分组挑选任务,运用刚刚讲解知识点,设计、绘制数据流图。最后教师点评。
(三)行动导向教学法在实践教学中应用。 实践教学主要采用项目教学法。项目教学法是师生通过共同实施一个完整的“项目”工作而进行的教学行动。通过项目教学法,学生能够充分地把不同专业领域的知识结合起来,从而获取必要的技能与知识。
1.教师公布实践项目,项目开发要求,项目上交日期,成绩评定标准。
2.学生组建约5人的开发团队,按照软件工程管理设置项目经理、设计开发进度、开发阶段责任人等工作。分析实践项目给出的问题描述,完成软件需求规格说明。根据软件需求规格说明,设计软件系统的总体结构,将模块开发任务分配到人。
3.根据模块,编写所有相关文档,测试和调式代码。在模块开发完成后,进行整合。
4.将提出一个变更请求,每个团队根据变更请求修改,然后对系统进行包装和销售。
加强过程管理,实行每天例会制度,例会上尽量讨论问题,学会沟通技巧和解决冲突的方法。所有任务都是面向整个团队的,每个团队所有成员都要接受同一个成绩。在关键阶段实行阶段评审机制,并将上述阶段产品置于配置管理的控制之下,严格控制项目开发进度,保证按时交付最终产品。
四、结束语
行动导向教学是先进的职教方法,该方法对老师课前准备提出很高的要求,设计课程单元,选择教学方法,设计简短、有趣的案例等等。但是实践效果较好,行动导向教学法在《软件工程》教学过程中激发了学生的学习兴趣,提高学生的实践和团队协作能力,应该在软件工程课程中继续推进行动导向教学法的研究。
参考文献:
[1]张忠林. 基于项目驱动模式下的“软件工程”教学改革[J]. 计算机教育,2009,2:53-55
[2]赵建勋.基于行动导向的“Java 程序设计”教学研究与实践[J].兰州教育学院学报,2012, 7:136-137
[3]杜文洁.软件开发流程实训教材[].中国水利水电出版社,2009
【关键词】软件工程 行动导向教学法
【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2013)10-0241-01
《软件工程》是计算机专业的一门专业课。该课程是将系统的、规范的、可度量的工程化方法應用于软件开发、运行和维护的全过程及上述方法的研究[1]。通过软件工程课程的学习,使学生能够在掌握软件工程的理论、技术、方法、标准和规范的同时,可以有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实基础。
一、《软件工程》课程教学分析
(一)《软件工程》课程的传统教学模式。目前,国内高校对于该课程的传统教学方法是以教师课堂授课为主,学生被动地听课,教学内容一般是重理论而轻实践。即使配备课程实验,学生也只是编写一些规定的文档,其开发方式和手段基本上与软件工程的要求脱节。很多学生在学习该课程时,感到内容抽象枯燥,甚至觉得本课程没什么实用价值。
(二)《软件工程》课程的教学特点。软件工程不是一门速成的学科,其本身的特点决定了它不是完全可以从书本和课堂上学会的,理解和实践是非常重要的。软件工程是一门方法论性质的课程,有一定的软件开发经历,再学习本课程才能体会方法含义。然而学生通常缺乏实际软件项目的开发经历,难以将抽象理论与实际开发联系起来。
二、行动导向教学法
行动导向是德国职业教育的主导范式,也称为行为导向,主要通过具体的项目实施和实践训练等方式培养适应信息社会和知识经济对劳动者要求的综合职业能力。它要求学生能在教师的引导下,自主寻找解决问题的方法,得到正确的结果,主要表现在“做中学”和“学中做”,最后进行成果展示和自我评价,从而达到锻炼学生各种能力的目的[2]。
行动导向教学提供了多种教学方法:四阶段教学法、角色扮演法、模拟教学法、项目教学法、引导课文教学法、头脑风暴法、思维导图法、任务教学法、案例教学法等等。
三、行动导向教学法在《软件工程》教学中的应用
(一)将软件工程思想渗透到专业学习过程中。《软件工程》是一门理论与实践联系紧密的学科,学生在实际的项目中去体会、感受软件工程的思想和技术。我们应该从单一课程中跳出来,在专业计划中将软件工程的内容与前、后课程有机的融合在一起。
专业教学计划的第三学期开设的语言课程为《VB.NET程序设计》,本学期最后一周设置《VB.NET应用程序开发实训》,在程序开发过程中,可将软件开发流程知识点渗透进去。第四学期开设《软件工程》课程,本课程案例就采用上学期VB.NET实训的项目。这样学生既巩固了上学期的课程,又很熟悉项目,用该项目介绍软件工程思想,学生理解起来不吃力。本课程设置理论教学和实践教学两部分:前十二周用于理论教学,后四周用于实践教学。实践教学采用项目教学法,学生分组开发一个小项目,最终上交文档和程序,并分组答辩。在本课程结束后,有两周的综合实训,完全可以采用软件工程的思想和技术应用的实训的开发中。这样就形成了“实践+理论+实践+综合实践”新的教学方法。
(二)行动导向教学法在理论教学中的应用。
1.案例教学法。案例教学法是将基本原理、企业案例、关键技术与工具等有机结合,使抽象枯燥的内容变得生动有趣。例如在学软件工程进度管理时,案例分析:已知一个具体的项目进度网络图、项目工期表,由于一些事情发生,导致最后工期延误。首先,教师介绍案例,学生明确工作任务;然后,学生分组讨论导致工期延误的原因,如果不延误工期,应采取哪些措施;最后各组阐述自己观点,认识软件工程进度控制的重要性。教师要在整个过程中给学生适当的帮助,掌握评价方法和技巧。
2.角色扮演法。角色扮演教学法是一种模拟情景的行动导向式教学方法。例如在将需求分析阶段,设定准备开发某一软件,在了解用户需求的情境。参与的人员有:客户、用户、投资人、产品经理、设计人员、测试人员,系统分析员。系统分析员提问,其他人员回答。学生可以扮演上述角色,根据自己扮演的角色提出自己关注的问题,最终整理用户需求以文档形式汇报。教师在整个过程中控制节奏、指导文档编写、评价学生表现。
3.任务教学法。任务教学法让学生通过具体的工作任务来训练专业技能,构建专业理论知识。例如:软件工程中数据流图画法。老师首先介绍本节课程任务学会数据流图。然后介绍图书管理系统项目的数据流图[3]、数据流图的基本组成,布置任务:设计房产经营管理系统数据流图、设计火车软硬卧铺订票系统数据流图。学生分组挑选任务,运用刚刚讲解知识点,设计、绘制数据流图。最后教师点评。
(三)行动导向教学法在实践教学中应用。 实践教学主要采用项目教学法。项目教学法是师生通过共同实施一个完整的“项目”工作而进行的教学行动。通过项目教学法,学生能够充分地把不同专业领域的知识结合起来,从而获取必要的技能与知识。
1.教师公布实践项目,项目开发要求,项目上交日期,成绩评定标准。
2.学生组建约5人的开发团队,按照软件工程管理设置项目经理、设计开发进度、开发阶段责任人等工作。分析实践项目给出的问题描述,完成软件需求规格说明。根据软件需求规格说明,设计软件系统的总体结构,将模块开发任务分配到人。
3.根据模块,编写所有相关文档,测试和调式代码。在模块开发完成后,进行整合。
4.将提出一个变更请求,每个团队根据变更请求修改,然后对系统进行包装和销售。
加强过程管理,实行每天例会制度,例会上尽量讨论问题,学会沟通技巧和解决冲突的方法。所有任务都是面向整个团队的,每个团队所有成员都要接受同一个成绩。在关键阶段实行阶段评审机制,并将上述阶段产品置于配置管理的控制之下,严格控制项目开发进度,保证按时交付最终产品。
四、结束语
行动导向教学是先进的职教方法,该方法对老师课前准备提出很高的要求,设计课程单元,选择教学方法,设计简短、有趣的案例等等。但是实践效果较好,行动导向教学法在《软件工程》教学过程中激发了学生的学习兴趣,提高学生的实践和团队协作能力,应该在软件工程课程中继续推进行动导向教学法的研究。
参考文献:
[1]张忠林. 基于项目驱动模式下的“软件工程”教学改革[J]. 计算机教育,2009,2:53-55
[2]赵建勋.基于行动导向的“Java 程序设计”教学研究与实践[J].兰州教育学院学报,2012, 7:136-137
[3]杜文洁.软件开发流程实训教材[].中国水利水电出版社,2009