APP下载

“团队式项目驱动"模式在软件工程课程教学中的应用

2017-07-14彭小娟

电脑知识与技术 2017年17期
关键词:软件工程教学改革

彭小娟

摘要:随着信息产业日新月异的发展,社会对信息人才的需求与信息人才的培养存在着很大的差距。为了缩小差距,提高软件工程的教学质量和效果,该文先分析了软件工程课程特点及教学存在的问题,然后提出了基于“团队式项目驱动”的软件工程课程教学的改革。

關键词:软件工程;团队式项目驱动;教学改革

中图分类号:G424 文献标识码:A 文章编号:1009-3044(2017)17-0115-02

随着全球信息化进程的推进,软件行业的发展水平直接影响到国家的综合实力。国家的重视与支持,使得人才需求剧增,也为行业的发展提供了更广阔的空间。据相关数据统计,未来五年,我国信息化人才总需求量高达1500万-2000万人。以软件开发为例,我国软件人才需求以每年递增20%的速度增长,每年新增需求近百万。但是,令人疑惑的是人才供需出现很大的矛盾,一方面企业出现用人荒,另一方面,很多的软件专业相关的高校毕业生却就业难。这说明企业的用人需求与高校的人才培养模式存在一定的差异,所以急需教学改革,从而培养符合社会需求的高素质人才。本文从研究分析软件工程课程的特点出发、分析了传统教学实践中存在的普遍问题,从而提出在软件工程课程的教学实践中引用“团队式项目驱动”模式的探索。

1软件工程课程特点及教学存在的问题

软件工程作为软件工程相关专业的一门必修课,是一门综合性很强的学科,需要理论联系实践,既有学科意义上的与软件开发相关的理论、原理、方法和技术;又有工程意义上的包括软件管理、开发和维护等活动的总体。

当前,软件工程教学存在的问题主要有几方面:教材和教学内容偏重理论和方法,略显枯燥;案例选取不当;缺少与工程实践的结合。

首先,很多软件工程教材(包括一些经典教材)侧重于理论,比如软件生命周期模型、需求分析、项目管理,质量保障等,缺少工程实践的案例,学生学习的感觉是抽象,虚。其次,有些教材虽然添加了案例,但是难度低,或者在不同阶段选择不同的案例,不连贯,不实用。有些授课教师由于缺乏实际项目开发和管理的经验,在讲课时选择的案例要么难度低,比如学生管理系统,由于此类课题已经在其他课程上做过课程设计了,学生很容易忽略前期的需求分析和设计,直接进入编码实现阶段,那就违背了课程的要求;有些课题范围广,难度大,比如医院综合管理系统,其中的业务复杂,超出了学生能力范围,一下子难以做到比较完善的需求,最终只是形而上学的做一个系统,也没有真正达到课程实践的目的。第三,很多教师还是采用以教师为主体的方式满堂灌,或者虽然增加了一些情境教学,学生被动听得昏昏欲睡,更谈不上培养主动思考,积极探索解决问题的能力。基于以上情况,软件工程教学的改革势在必行。

2“团队式项目驱动”软件工程教学模式

“团队式项目驱动”软件工程教学模式是在科学的教学理论的指导下,依托团队分组教学、情境教学、团队协作等相互交叉的综合性的教学形式。该模式考虑到软件工程课程特点,以学生自主选择的团队为单位进行,激发了学生的主观能动性和责任心,团队协作精神,分析问题和解决问题的能力。

团队的核心人物是项目经理,需要有较强的综合能力,比如沟通、组织管理、协作能力。教师在初期要对项目经理人选做一个筛选,并在整个学期要求各位项目经理与老师保持比较紧密的联系,便于及时了解各个团队的进展。如果团队遇到困难,能够及时的引导学生分析,促进理论联系实际,有助于提高学生对于软件工程的认知。

项目的选择也是非常重要。曾经我们做过多种尝试,比如大学生服务外包大赛的课题,非常新颖,具有挑战性,但是学生做下来感觉难度太大,超出大部分同学的能力范围,影响了自信,最终实现效果与初期的需求差距甚远。但是选择一些难度低的如学生管理系统之类的,学生又会忽略前期的需求分析阶段。最终,我们发现,通过学生自选与教师定题相结合,总体原则是结合生活、学习,难度中等的,这种课题既有一定的难度,但是又在学生的能力范围内,学生在整个软件工程过程中通过一步一步地分析设计,对系统的认识也越来越清晰,增强了自信,最终还能够实现出来,与预期的需求很接近,非常受鼓舞。我们特别支持部分基础扎实,自学能力强,比较有想法的同学结合一些比赛的选题或者创业的选题来进行开发。另外,若是同期有一些程序设计或者数据库设计等课程,我们允许学生申请以一个项目作为多门课的课程设计。这样,学生可以专注于一个项目,并且从项目立项至实现的所有阶段都有相应的课程支持。

在教学方法上,主要采取分组教学法、情境教学法、翻转教学法等教学方法,有效提升了学生对于学习的积极性和自主性,从而积极开展教学讨论。有些教学内容提前录制视频,教学任务提前计划并布置,学生主要利用课外时间来完成,实验课堂主要是以学生为主体进行展示与讨论。好处在于做同一个项目的同学可以听取其他团队的分析、设计思路,取长补短,并能提出一些针对性的问题和建设性的建议。这个分析讨论的过程能有效地提升学生的主观能动性和分析问题的能力。在教学内容上,根据企业对软件人才的需求,将重要、经典的基本概念、知识点串联相应的技能进行讲授和实践。在软件工程课程的基本教学内容中融入操作系统、数据结构、数据库系统原理、面向对象编程、设计模式等相关课程知识。

最后,要进行项目验收与总结,每个团队需在规定时间内演示项目并讲述,验收标准是需求规则说明书中的功能性和非功能性需求的完成度、难度、性能、界面美观性和可操作性,讲述的思路是否清晰,流畅,能否准确回答老师和同学的提问,并以团队为单位提交完整文档(包括可行性分析、需求分析、用例模型、概要设计、详细设计、测试文档、项目总结等)和完整的源码、配置文件等资料。并且,会选择部分优秀的项目作品成果放在软件工程课程网站作为展示,既是对学生的努力的肯定,也为以后选课的学生提供参考。

3结束语

本文首先分析了软件工程课程特点及教学存在的问题,然后阐述了基于“团队式项目驱动”的软件工程课程教学模式的教学内容、方法、过程,旨在提升软件工程课程教学效率与质量,保障社会对软件人才的需求。

猜你喜欢

软件工程教学改革
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
关于如何创新和完善计算机软件工程管理的探讨