软件工程课程的几种教学方法探讨?

2015-12-10 12:46李小波叶振朱红斌
电脑知识与技术 2015年26期
关键词:计算机课程软件工程教学方法

李小波+叶振+朱红斌

摘要:软件工程是计算机专业学生必修的核心课程之一。结合软件工程课程的教学实践,提出了多种教学方法,分析了其主要特点,并举例探讨了其在软件工程课程教学中的应用。软件工程课程教学要注意合理采用多种教学方法,以期达成良好的教学效果。

关键词:计算机课程;软件工程;教学方法

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)26-0119-02

Discussion on Several Teaching Methods of Software Engineering Course

LI Xiao-bo, YE Zhen, ZHU Hong-bin

(College of Engineering and Design, Lishui University, Lishui 323000, China)

Abstract: Software engineering is one of the core courses for computer major students. Combined with the teaching practice of the software engineering course, several teaching methods were put forward, and their main characteristics were analyzed. The teaching of software engineering course should pay attention to the rational use of a variety of teaching methods, in order to achieve a good teaching effect.

Key words: computer courses; software engineering; teaching methods

1 引言

软件工程是计算机科学与技术专业本科生必修的核心课程之一,是指导学生按照工程化、标准化和规范化的方法开发软件系统的一门课程。要求学生通过本课程的学习,能够掌握软件工程的基本概念、方法和理论体系;熟悉软件设计与开发的基本过程;了解软件项目管理、软件维护等方面知识;提高学生编写相关技术文档的能力,分析和解决问题的能力和团队沟通合作能力,达到理论联系实践的目的。

我院采用史济民等编著的《软件工程:原理、方法与应用》(第3版)作为软件工程课程教材[1]。该教材包括共14章的教学内容,第一章为绪论,主要综述软件和软件工程的基本概念,接着按上、中、下分3部分展开。上篇介绍传统的、基于结构化的软件工程技术,包括软件生存周期与软件过程和结构化分析与设计等2章内容;中篇介绍当前软件开发的主流范型——面向对象软件工程技术,包括面向对象与UML、需求工程与需求分析、面向对象分析、面向对象设计和编码与测试等5章内容;下篇介绍软件工程管理与环境方面的知识以及软件开发的新进展,包括软件维护、软件复用、软件工程管理、软件质量管理、软件工程环境和软件工程高级课题等6章内容。

软件工程是一门理论性和实践性都要求较高的课程。在该课程的传统教学中,主要存在以下几个问题:(1)理论知识难讲难懂。在理论教学环节,通常由教师在课堂上讲授理论知识,大部分学生听完后还是似懂非懂,只能粗浅了解一些理论知识;(2)不重视课程的实践教学。适合学生使用的实验项目少,学生实验效果不理想;(3)理论和实践脱节。学生很难将课堂上的理论知识和实际工程应用联系起来,并用于实践中[2]。教师普遍觉得课程难以讲授,而学生容易感到枯燥、乏味,对该课程难以产生真正的兴趣。因此,文中提出了实际教学过程中涉及多种教学方法,对其主要特点进行了介绍,并探讨了其在软件工程课程教学中的实际应用,希望对提高软件工程课程的教学效果有所裨益。

2 案例教学法

案例教学法(case-based teaching)是以案例为基础的一种教学方法[3]。作为与传统的教学方式不同的教学方法, 在案例教学中,教师根据课程的特定教学目的,引用与课堂知识点紧密相关的典型案例,设置若干教学问题,创设问题情境,引导学生运用所学知识对问题进行综合分析,进而提出各种解决问题的方案,从而激发和调动学生主动学习的热情和积极性。该教学法的运用,一方面能够提高学生分析问题和解决问题的能力,另一方面也有助于培养学生的表达能力和团队合作能力。

案例的设置和选取应考虑到以下方面:1)明确的目的性。案例应与授课目标紧密相关,不能偏离授课内容;2)客观真实性。尽量采取实际工程应用中的案例,学生容易将自己的所学与所用结合;3)较强的综合性。学生不仅需要具备基本的理论知识,而且需要学生综合运用各种知识和灵活的思维方法进行分析处理;4)较好的启发性。案例教学目的在于启发学生进行独立的探索和拓展性的思考,完成从理论知识到实践能力的转化,注重培养学生具备独立思考解决技术问题能力的创新思维方式。

在案例教学过程中,要体现学生的主体性,要求学生的主动参与,突出教师个体与学生群体之间、学生群体与学生群体之间的互动性。在讲授“软件测试”部分的时候,设置了如下软件测试案例:输入代表三角形边长的三个整数,判断它们能否组成三角形。如果能够,判断所构成的三角形是一般三角形,等腰三角形或等边三角形。教师首先提出了以下几个问题:1)对该程序进行测试用例设计,应该采用哪些软件测试方法;2)请具体设计你所采用方法的测试用例;3)请问是否还有其他测试方案;4)请小结软件测试方法及其适用范围。教师引导学生预先利用教材、参考书和网络资源等进行自主学习,学生分组,撰写报告。在课堂上,学生上台展示,讲解方案,并回答老师和学生的提问。最后由教师根据学生的完成情况进行总结和点评,指出该案例所涉及的知识点和解题思路。学生可以当场提问,教师就学生提出的问题进行解答。

3 项目驱动法

项目驱动教学法[4]以建构主义学习理论为基础,最早由美国教育家凯兹博士和加拿大教育家查德博士共同提出。该教学法是由师生共同实施完成一个完整的项目工作而进行的教学活动。在工程技术领域,几乎所有的产品都可以视作项目,项目既可以是一个大型系统,也可以是一个简单的小制作。在教学过程中,教师负责项目的选定,尽量把要传授的知识点融入项目之中,起到引导作用。在项目的具体实施过程中,学生则承担主要职责,自主找到解决问题的方法。此种教学法体现了理论与实践教学的有机结合,做中学,学中做,既能提高学生的学习积极性,又能充分锻炼学生的自学能力、实践能力和创新能力。同时,项目教学中,学生以小组为单位进行学习,采取合作学习方式,可以有效提高学生的团队协作意识,为适应未来职场环境奠定基础。

在“面向对象软件工程”的实验教学环节,选取“图书馆管理系统”作为一个完整的项目[5],贯穿于整个实验教学活动中。通过用例图、类图和对象图、包图、状态图、活动图、时序图、协作图、组件图、配置图等模型的建立,将UML建模融入软件开发过程中。加强了学生对软件建模知识的理解,提升其实际应用能力[6]。

4 案例+项目驱动法

采取项目教学法进行教学时,可能一些重要的知识点无法融入项目,这时可以利用案例教学法对涉及不到的这些知识点进行补充。同样,采用案例教学法时,学生所获取的知识比较零散,这时可以利用项目驱动教学法把相关的知识点连接为整体。因此,在软件工程课程教学中可以把项目驱动教学法与案例教学法结合起来使用[7]。

软件工程课程的教学内容有两条主线:结构化软件工程技术与面向对象软件工程方法。在组织实验教学中,分别以一个具体项目为中心来组织教学。具体设计成两个项目:其中结构化软件工程技术选取“网上商城系统”项目,面向对象软件工程方法选取“图书馆管理系统”项目。根据项目情况,精心选取若干层层递进的典型案例,以每个案例组织讲授相关知识点。这样,学生在整个课程的学习过程中,有一个总项目的驱动,学生在学习完整个课程后,对软件工程的知识就有了整体性和系统性的理解和掌握。

5 混合式教学

随着教育信息化的普及和推广,混合式教学(Blending Learning)得到了普遍的关注。混合式教学法[8]旨在将传统学习和e-Learning(即数字化或网络化学习)两者的优势结合起来,该模式主要包括课堂教学与多媒体网络教学两个部分。网络教学可以有效地扩展课堂教学,是实现混合式教学的主要手段。着手建设软件工程在线学习网站,设计了课程介绍、教学资源、实验指导、学习园地等模块,将与课程相关的教学资源上网。设计了在线论坛,学生可以相互交流或向教师提问。

6 结语

软件工程的课程教学对培养计算机专业学生的创新思维能力和团队合作能力起着重要作用,可为学生后续的毕业设计和毕业实习,以及今后的软件开发工作打下坚实的基础。软件工程的课程教学要坚持学生为主体,教师为主导的理念,在教学过程中突出其实践性强的课程特点。教师要科学合理地采用多种形式的教学方法,以期提高学生的学习兴趣和能动性,加深学生对知识的理解和运用,突出学生能力的养成,做到学以致用。

参考文献:

[1] 史济民,顾春华,郑红.软件工程——原理、方法与应用(第3版)[M].北京:高等教育出版社,2009:1-372.

[2] 巫华芳.软件工程课程教学模式探讨[J].科技信息,2007(17):87,201.

[3] 彭佳,彭佳文,曹晓兰.基于案例的软件工程课程教学研究[J].高等农业教育,2009(11):60-62.

[4] 李伟波.项目驱动式的“软件工程”教学模式研究与实践[J].中国电力教育,2009(6):45-46.

[5] 蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程[M].北京:人民邮电出版社,2006:1-343.

[6] 侯云霞,聂爱琳.项目驱动教学模式在软件工程与Rose 建模课程中的研究与实践[J].科技展望,2015(5):195.

[7] 叶健华,黎 峰.“项目驱动+案例教学”模式在C语言教学中的应用[J].济南职业学院学报,2009(3):18-20,23.

[8] 陈小莉,张颖.《数据库原理及应用》精品课程混合式教学模式研究[J].软件导刊,2013(5):28-30.

猜你喜欢
计算机课程软件工程教学方法
初中英语写作教学方法初探
教学方法与知识类型的适宜
基于MOOC的混合式教学模式应用研究
探讨提高初中计算机教学的有效方法与途径
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨
职业中专学校计算机课程教学有效性的研究
初中数学教师不可忽视的几种教学方法
我的教学方法