APP下载

软件工程项目指导教学改革与探讨

2014-02-02杨金龙李志华袁运浩

教育教学论坛 2014年40期
关键词:案例课程课堂

杨金龙,李志华,袁运浩

(江南大学 物联网工程学院,江苏 无锡 214122)

软件工程项目指导教学改革与探讨

杨金龙,李志华,袁运浩

(江南大学 物联网工程学院,江苏 无锡 214122)

项目指导教学模式已成为软件工程课程教学的主流模式,但如何应用项目指导教学,提高教学效率仍是一个值得探讨的课题。本文对软件工程课程存在的问题进行分析,提出以教师为核心,学生为主体,从案例设计、问题引导和项目实战等几个方面展开讨论,为下一步提高新时期软件工程教学效果奠定基础。

软件工程;教学改革;项目指导;模块渐增

软件工程是计算机科学与技术专业的一门核心专业课程,其教学目标旨在培养学生采用规范的软件工程方法和思想开发项目和管理项目的能力,具备作为软件工程师的专业能力。但软件工程课程的综合性、理论性、实践性都比较强,教学手段单一,对没有项目经历的本科生来说,很难深刻体会课程中所涉及的比较抽象的工程化原理和方法,导致学生对该课程没有兴趣,降低了学习该课程的效率。

一、软件工程课程教学现状

目前,软件工程课程主要存在问题有以下几个方面。

1.从内容上来说,软件工程课程的综合性比较强较强,涉及计算机专业相关的其他课程,以及管理学和经济学等多个领域,主要研究软件定义、开发、维护技术和软件管理方法等,学生要想在短时间内全面掌握各种知识比较困难。

2.从理论的实践方面来说,目前教学中,普遍存在理论教学与具体实践脱节的现象。到最后仅采取考试的方式进行考核,学生将不重视实践,也只能死记硬背课本知识,感到课程空洞乏味,最终失去对该课程的学习兴趣。软件工程课程是根据人们开发软件产品的经验总结出来的理论课程,具有很强的实践性,如果缺少实践的指导,光讲授理论,对于没有项目开发经历的本科生来说,理解起来比较困难,过于抽象。

3.从备课和授课角度来说,可能会存在教学方法不当,往往是单纯的教学方式为主,对于纯粹的理论知识,如果没有具体案例和软件开发实践作支撑,学生只能被动地听,导致整个教学过程枯燥乏味,学生感觉该课程学了没有用。此外,如果授课教师缺乏项目经验,没有自身实践的直观感受时,即使采用案例分析方式教学,也很难灵活地将理论和实践充分结合起来,从而导致学生也很难理解抽象的案例,达不到应有的效果。

4.从项目实战角度来说,很多学校也安排了相应的实验课或者课程设计,但是大多是验证性实验,实验素材比较零散、不系统,导致学生难以做到学以至用,无法解决实际问题。此外,在项目的执行过程中,缺少对学生的过程管理,导致学生只是为了应付工作而完成任务,没有真正按照规范的软件开发原理和方法完成项目,失去了项目实战的意义。

5.从计算机软件行业来看,软件的开发技术和开发平台更新的速度非常快,如果教材内容陈旧,或教师科研与教学脱节,未能及时把握新的软件开发技术动态,仅讲解经典的理论方法,导致学生所学的知识与实际需求脱节;软件开发平台落后,新的软件工程技术与技术的综合应用匮乏,导致教学与实际市场中软件开发不匹配的现象。

针对上述问题,本文将从自身课堂教学实践出发,探讨如何以案例和项目指导教学,以提高学生对软件工程课程的学习兴趣,从而实现良好的师生互动,提高教学质量的效果。

二、软件工程教学改革模式

1.完善教学内容体系,加强课程间的相互融合。对于计算机学科来说,很多课程之间的关联性很大,且前后存在一定的支撑关系。软件工程课程大多开设在本科生三年级的上学期,这时候学生应该具备了基本的编程能力,面向对象的开发能力,这恰好为软件工程课程的开设奠定了基础,对于学生来说,也正好可以通过软件工程课程的学习,纠正之前编程中存在的不良习惯,培养他们分析问题,规范编程,采用软件工程技术测试和调试代码的能力,养成良好的技术文档管理习惯。因此,教师在教学之前,要充分了解学生的知识结构,可以将之前学期和本学期的课程内容与软件工程课程融合起来。当然,也可以鼓励学生,将软件工程技术原理和方法渗透到其他课程学习,充分实现计算机学科课程之间的相互融合,从更高层次引导学生,增强课程的学习效果。教学内容体系的完善,需要集大家的智慧,教师团队在一起研讨确定。但是,要想达到课程之间的完美融合,首先,需要任课老师具有完善的知识结构,甚至在开课前,需要和其他相关课程的任课老师进行沟通,先实现任课老师之间备课融合。其次,在课堂上,可以适当启发学生,探讨如何将软件工程所学理论方法应用到所学的其他相关课程中,或者是将其他课程中涉及的例子直接拿到软件工程的课堂中来加以讨论,采用规范的方法处理,以提高课程的学习效率。

2.问题引导,师生互动。软件工程课程具有较强的知识综合性,且理论性和工程性也都比较强,如果按照传统的讲授模式教学,对毫无项目开发经历的学生来说,理解起来将有点困难,往往会导致学生对该课程失去学习兴趣。此外,光从课堂理论教学来说,教师也很难面面俱到讲解全部内容。因此,有必要充分鼓励和引导学生进行课外学习和探讨,但要有效地调动学生课堂和课外学习的积极性,就需要教师充分备课,精心备课,备学生、备教材,备课堂、备课外,设计合理的问题启发和引导学生,采用课外时间学生带着问题学习,课堂时间带着问题讨论的方式,真正实现师生互动的教师模式,以达到提高课程的学习效率。在设计问题时,关键是要有针对性,循序渐进,使得学生通过对该问题的解决,能够加深对软件工程方法和原理的理解,或达到扩展和延伸知识的目的。课堂上可以采取讨论,教师根据学生在课外时间对问题解决的具体情况进行总结和补充,并适当启发学生,进一步激发学生对该课程进行自主学习的兴趣。

3.案例设计,模块渐增。对应软件工程案例设计来说,案例设计是否合理,将直接影响课堂教学效果和学生对知识的全面掌握情况。从软件工程的生命周期来说,项目开发主要分为三个阶段:软件定义、软件开发和软件维护阶段。所以,在教学案例设计上主要应该考虑两个方面,一是项目要让学生易于理解,资料易于搜索。如学生选课系统开发,图书馆管理系统开发,校园一卡通智能系统开发等,都是学生身边的案例,学生便于取材和理解。二是课题案例教学中,尽量保持案例项目的完整性,采用模块渐增的教学模式,使得学生能从完整的案例项目中了解项目开发的各个环节,掌握各个环节的开发方法。随着课程的推进,逐渐展示给学生一个完整的软件产品,有利于学生对产品整体框架的把握。如果对不同模块采用不同的项目案例,可能会导致学生无法从项目完整性上理解软件工程的开发原理、方法及产品的整体架构,起不到应有的效果。

因此,对应教师在学期开始的时候,应该设计好课堂的教学完整案例,分模块贯穿在学期中不同课堂的教学中,提高教学质量。当然在案例设计和选则上,可以同时设计多个完整案例进行并行或相互交叉融合分析和讲解,加深学生对开发过程的全面理解。

4.项目实战,过程跟踪。课堂案例分析,学生只能从虚拟的角度把握开发的技术原理和方法,但要让学生真正地掌握软件工程的开发技术,还需要进行项目实战。结合项目教学,能真正激发学生的学习兴趣和求知欲望,培养学生分析问题和解决问题的能力。关于项目实战可以分为两个阶段,或者说两个层次。一个是从课程开始阶段,教师为每个学生配备一个项目课题,可以是简单点的,让学生边学习边做项目,实现课堂和课外相结合,且可以让每个学生都能体会项目中的各种管理和开发角色。随着软件定义、开发和维护环节的学习,学生的项目也将逐渐完成。另外一个阶段是,课程理论部分介绍完,进行项目实战训练,采取分组的方式,从人员安排、任务分配、项目计划实施等,让学生真正融入真实项目开发的环境,培养学生团队合作能力、项目实施和管理能力。当然,对于教师来说,需要对每个小组项目的进展情况进行过程跟踪,及时与小组进行沟通和讨论,引导小组顺利完成项目。最后采取小组答辩、教师参与、小组之间讨论等打分方式进行考评,指出各个小组的不足,并讨论在今后项目中如何避免,分享每个小组之间成功的经验,为今后更好地开发项目作铺垫。

5.教学与科研良性互动。做好教学和科研的良性互动,让学生在“学习中研究,研究中学习”,以提高学生的动手能力和就业竞争力。教师在教学过程中,也要积极探索和研究教学与科研的互动关系,探究新型的教学模式,及时把握市场发展动态,更新自己的知识结构,学习新的软件开发原理和方法,摒弃一味向学生传授知识的观念,注重扩大学生的视野,通过给学生提供大量的中外文参考书目、期刊资料以及网络资源等,激发学生自我完善和科研创新热情,引导学生参加课题组成员主持的科研项目,参加大学生的各种竞赛,鼓励学生参加课外科技活动和实践活动,将软件工程开发原理和方法推广应用到科研和课外实践的各种项目开发中,努力培养学生的创新能力及发现问题、解决问题的能力。

三、结论

本文针对目前软件工程教学过程中存在的一些问题,分别从教学内容体系完善方面,教学中问题引导方面,案例设计和项目实践方面做了初步研究,结合自身教学实践,给出了简单建议。目前,国内关于软件工程课程的教学模式还存在许多不足,还需要相关的研究人员做进一步的研究。

[1]卢莹,林荫.《软件工程》课程教学改革和实践[J].教育教学论坛,2014,(2).

[2]高洪江.高校软件工程课程教学改革分析 [J].数字化用户,2013,(26).

[3]郝爱语.《软件工程》项目式教学改革[J].企业导报,2009,(11). [4]张海藩.软件工程[M].北京:清华大学出版社,2012.

G642.0

A

1674-9324(2014)40-0044-02

江南大学2013年校级本科教育教学改革研究项目(项目编号:JGB2013041,JGB2013044)。

杨金龙(1981-),男,江苏连云港人,博士,副教授,研究方向:模式识别,信息融合,软件工程等。

猜你喜欢

案例课程课堂
甜蜜的烘焙课堂
《无机化学》课程教学改革
美在课堂花开
案例4 奔跑吧,少年!
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
为什么要学习HAA课程?
随机变量分布及统计案例拔高卷
发生在你我身边的那些治超案例
一个模拟案例引发的多重思考