APP下载

一种项目迭代开发驱动的计算机实践类课程教学方法

2013-04-29陆悠奚雪峰华泽陆卫忠

大学教育 2013年8期
关键词:软件工程

陆悠 奚雪峰 华泽 陆卫忠

[摘 要]本文根据计算机实践类课程的目的和学生的特点,针对实际项目开发流程的需求和高校学生的具体情况,提出在计算机实践类课程的学习过程中,以项目迭代开发流程为指导来设计组织教学内容和成绩评定,突出知识的实践性,学习的主动性,从而提高高校学生对计算机实践类课程的学习效果。

[关键词]迭代开发 计算机实践课程 软件工程

[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2013)08-0055-02

一、前言

计算机专业是实践性、工程性很强的专业,如何提高高校实践课程的教学效果,衔接高校的教学与社会需求,是摆在高校教师面前的一项严峻的课题。

针对这一问题,本文提出一种软件工业迭代开发流程驱动的实践课程教学方法,将教学目标与实际软件开发技术相融合,学生在各个阶段的教学内容完成之后,以小组为单位,完成多个呈迭代关系的工程目标,最终实现一个具有一定综合性、创新性的大型实践项目。实践流程及课程成绩也完全以工程项目的标准来衡量,从而使学生能够得到近似实际工程环境的锻炼,促进学生自觉的运用已学习的课程知识点,提高实践类课程的教学效果。

二、引入迭代开发驱动模拟项目的教学目的

以项目迭代开发的实践需求为导向,将知识点融合于项目目标中,强化学生的实践行为,通过这样的教学方式,能够有效地实现以下目标:

(一)符合软件行业的需求

迭代式开发是指整个开发工作被组织为一系列的迭代小项目,每一次迭代都包括了需求分析、设计、实现与测试。这种方法弥补了传统开发方式的弱点,具有更高的成功率和生产率,因此在过去20年来成为了国内外软件工业主流的开发方式,然而目前的高校中,对迭代式开发大多局限于软件工程课程的概念介绍上,较少在实践类的课程中加以应用,学生对其难有切实的理解和锻炼,因此,将迭代开发驱动的模拟项目引入实践课程的教学能弥补以上不足,更好的满足软件行业对高校学生的需求。

(二)强化动手能力

《中国高等学校计算机科学与技术专业(应用型)学科教程(2009)》明确指出:“计算机科学与技术学科是实践性极强的学科,必须培养学生具有很强的实际动手能力。”而在教学中强化项目实践能够有效地提高学生的动手能力。

(三)提高自学能力

长期受填鸭式的教学影响,很多学生几乎没有任何的自学能力。而在模拟项目的实践中,由于每个小组自己设计目标,一旦遇到实际问题就必须靠自己想方法,因此能够锻炼学生的自学能力。

(四)培养兴趣

教学绝不能只是知识点的灌输。通过模拟项目激发学生的兴趣,使学生自觉自愿地为完成课程作业而废寝忘食时,才能说此课程的教学是成功的。

三、模拟项目的教学组织方法

本文以“网络程序设计(J2EE)”为例,在教学组织方面作了以下尝试。

(一)基于迭代开发流程的教学内容组织

“网络程序设计”是一门基于J2EE开发的实践类课程,本文设计和组织教学内容主要包括:

1.场景设计

项目背景为某公司在不同的规模程度时期对网上平台技术要求的变化过程,如表1所示:

从场景可看出,网上平台技术要求的提升趋势与J2EE的教学内容同步,能很好地与教学进度安排相融合。

2.教学课时安排和组织方法

作为一门实践课,上机学时应达到所有学时的三分之一以上,而软件开发中,项目初期的设计极为重要,因此安排所有学时的三分之一供需求讨论、分析、概要框架的设计以及用户手册的编写等步骤,实际的技术内容教学学时为剩余的三分之一。

具体组织方面,项目的每次迭代启动前,教师需提供场景信息,安排学生团队讨论,进行需求分析,设计框架,完成详细设计、实现以及测试,随后完成用户手册等文档工作。最后小组公开演示结果,通过全班学生和教师的评价之后完成迭代。

3.教学内容安排和迭代流程

课程的教学内容亦分成四个阶段,分别有不同的教学重点:

第一阶段教学重点是网络程序的背景知识(如HTML、开发工具、环境配置等);

第二阶段教学重点是基本网络程序技术(如Servlet、JSP相关内容等)及数据库等内容;

第三阶段教学重点是成熟的开发范式的应用(如MVC框架应用,查询推荐、优化等);

第四阶段教学重点是企业级应用的开发技术(如事务处理、企业级平台以及EJB应用等)。

具体迭代流程可描述为图1:

(二)学生的组织和管理

学生以团队方式完成实践,方案为:

第一阶段,学生独自完成内容并互相考评,互相了解,第二阶段开始自由组队,第三和第四阶段则在前一阶段组队基础上进一步进行合并。为避免团队间能力差异,教师可对团队进行微调。

此外教师还需在每次迭代前进行辅导。特别是在前两个阶段,教师应详细介绍具体开发流程,甚至应包括如软件工程、数据结构、团队合作、项目管理等方面的知识,帮助学生做好分组工作,指派组长以及成员的工作内容等。

(三)教学效果的考核和评定

课程成绩由考试成绩和实践成绩组成,其中考试成绩占30%,项目实践成绩则由演示考评、文档组织、代码质量等构成,其中公开演示考评占较大比重,由于演示需学生上台陈述,也能培养学生口才等综合素质方面的才能。

四、采用模拟项目后的教学效果

下面是部分学生在课后交流时谈到的收获与体会:

“以前课程都直接照书上指示做实验,没遇到过什么大困难。而这次遇到了许多没接触的实际问题。甚至刚刚解决一个就又出现一个新的问题。我从中体会到理论结合实际、培养动手能力的重要意义。”

“团队能力绝不是队员个人能力的累积,合作中的关键因素有:责任心、尊重对方意见、不互相埋怨等,再配以合理的分工,那么很普通的人组成的团队,也可以释放出超出累计的效果。”

“人对于没做过不熟悉的东西多少有些畏惧,因此大家不了解自己的创造力和研究能力,通过这样一个实验让大家更加地了解自己,增强了这方面的信心。”

五、结论

通过两个学期的实践,“网络程序设计”这门课程取得了良好的教学效果,在该课程中,学生们完成了约4000~6000行的Java、JSP、Servlet和EJB等程序,期末考试的主观题部分得分率达到58%,较以前有较大幅度增长。有理由相信,通过一系列实践课程的学习,一个高校学生完全有希望达到成为一个有基础的程序员的目标。

[ 参 考 文 献 ]

[1] 李亚林,曾映兰.计算机网络专业实践教学的改革[J].计算机教育,2011,(3):88-91.

[2] 鲁荣波,李宗寿,贺宏遵,等.加快计算机硬件课程群实践教学体系改革,提高学生实践和创新能力[J].当代教育论坛,2011,(2).

[3] 萨默维尔著,程成译.软件工程(原书第9版)[M].北京:机械工业出版社,2011,(5).

[4] 中国计算机学会教育专业委员会.中国高等学校计算机科学与技术专业(应用型)学科教程(2009)[M].北京:清华大学出版社,2009,(11).

[5] 舒存叶.基于行动研究的《教育技术研究方法》课程改革与实践[J].现代教育技术,2011,(4):48-51.

[责任编辑:左 芸]

猜你喜欢

软件工程
基于课程群的软件工程专业三位一体教学模式探索
关于《软件工程》教学改革的研究
计算机技术在机械能源中的应用
依托工作室的软件工程实践教学研究
高职软件工程课程改革研究
软件工程应用型课程建设与实践
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨