极限编程在中专学校程序设计教学中的应用

2022-05-03 14:35:02 | 浏览次数:

摘 要: 极限编程是一种以代码为中心,强调快速适应需求变化的小型软件开发方法,其实践对于激发学生的学习兴趣、降低学生的学习难度、提高学生的软件整体设计水平、培养学生的交流沟通能力等都非常有益。文章阐述了将极限编程的优秀实践应用于程序设计教学过程中的方法,旨在提高学生学习程序设计的效率和质量。

关键词: 程序设计教学 教学方法 极限编程

在中等专业学校计算机专业中,程序设计是重要的专业课程,是每个学生都应具备的最重要的能力之一。由于课程设置和学生本身的原因,程序设计课往往变成某种计算机语言的语法学习课,学生即使学会某一门语言,也不知道怎么开发软件,缺乏软件工程知识。Extreme Programming(极限编程,简称XP)是由Kent Beck于1996年提出的,它是一种以编码为核心任务并且经历过实践考验的轻量级软件开发方法,是敏捷软件开发方法中最著名的一个。这种软件开发的方法开发规模小,流程相对简单,重要的是,极限编程的开发周期是以代码为中心,将其应用在程序设计教学中,更能突出计算机语言的中心地位。学生在提高自身编程能力的同时,更有助于培养软件工程思想。

一、极限编程概述

极限编程是一种有别于传统软件工程的小型软件开发方法。传统的如RUP的开发方法注重整体架构的由上而下逐步细化,而极限编程则强调由软件最简单的基本核心由内向外逐步构建。软件在设计初期规划客户最基本的需求,在与客户交流的过程中逐渐添加和调整功能模块。每个模块的开发粒度小,实现的功能最基本,代码量小,周期短。

二、在程序设计课程中应用极限编程方法

一名优秀的程序设计人员,除了要有过硬的代码编写能力外,还要具备良好的沟通能力。首先,优秀的代码编写能力不仅是指能够写出执行效率高、运行强健、稳定的代码,而且代码风格优美。有的程序员写的代码思路独特,执行效率很高,但是缺乏良好的注释和书写风格,以至于别人很难理解,甚至一段时间后自己也不知道这块是怎么设计的。这对程序员之间的交流和传承及代码的重构是非常不利的。其次,良好的沟通不仅发生在程序员之间,而且发生在程序员和用户之间。极限编程的最佳实践对以上两点都有严格的要求,将其应用在程序设计教学中非常有利。

1.计划会议。

计划会议也叫计划游戏,这是对所开发的软件制定的一份计划。对于软件中远期的、非当前急需开发的功能只是提出一个概要性、轮廓性的计划。而对马上必须实现的功能则是制定详细的、细化到尽可能小的粒度,从而制定具体的工作任务。这项工作是每天都要做的,计划不仅要明确工作任务,而且要明确完成任务的标准。随着每天计划的完成,我们设计的软件越来越明确,越来越向正确的目标靠拢。这种计划会议采用的方式多种多样,但大多需要所有成员参与集体头脑风暴式的讨论,极限编程强调所有程序员对整个软件的整体掌握,有利于锻炼学生的交流沟通能力和对软件整体框架的把握。

2.小型发布和简单设计。

XP编程方法一贯秉承的是“持续集成、小步快走”的哲学理念。我们希望在计划会议中提出的近期计划目标是一个可以拿出来让用户体验的、可评测的小作品,有利于学生在学习过程中不断获得成就感,从而提高学习兴趣。对于这个小作品,我们的要求是只要实现提出的基本功能,尽量用最简单的方法去设计,不增加计划以外的预设的东西。这种做法可以有效降低学生程序设计的难度,防止学生产生畏难情绪。

3.结对编程。

结对编程是XP的一个重要实践,它要求写代码的时候必须两个程序员在同一台电脑面前进行,一位负责书写代码,一位负责代码的阅读和校验。在结对编程的过程中,两位程序员会进行大量的沟通,自己的思路必须让对方明白,同时也让对方审核。这种做法有利于知识在学生中的传播,对代码质量的提高、良好编码风格的形成、沟通能力的提高都非常有利。

4.测试先行。

一般的程序设计方法都是先将功能模块写好,然后再使用一组测试数据进行测试。而极限编程强调,在每写一个模块前,必须书写测试用的代码。这个测试用的代码就已经将我们要书写的模块方向定准了,在模块代码书写的过程中,随时都要通过这个测试,而不是完成之后再测试。这样在中途发现设计偏离轨道可以及时纠正,保证工作高效。现代软件工程中对软件的测试工作要求越来越高,测试代码的书写、测试数据的选择等也是学生学习的重要内容。极限编程尤其强调测试的作用,将其应用于教学,有利于培养学生良好的测试习惯。

5.重构。

极限编程强调的是用最简单的方法而不是最好的方法实现既定目标。只要在测试中通过,就可以被认可。但随着代码的日益完善,对以往执行效率低的代码必须进行重构。所谓重构,就是在不改变原有功能的前提下,对代码进行修正或利用新技术重现。这是提高软件性能的重要手段,但不管如何重构,其代码必须通过原先的测试程序,这体现了先前测试先行原则的重要性。重构有利于学生提高代码的书写能力,促使学生不断挑战自我。

6.编码标准。

极限编程方法是以代码为中心的开发方法,同时要求知识共享、代码同行审核,强调交流与沟通。那么实现这一切的基础就是代码可以被所有成员读懂。在现代软件企业中,不管采用的是大型的RUP方法,还是小型的XP方法,统一编码标准这是一个基本要求。极限编程对编码标准的严格要求有助于学生在校就养成良好的代码书写习惯,以后可以快速地融入新的开发团队。

三、结语

极限编程的优秀实践很多,并不需要全部应用于程序设计课程的教学过程中。但应用在教学实践对于激发学生的学习兴趣、降低学生的学习难度、提高学生的软件整体设计水平、培养学生的交流沟通能力等都非常有益。实际教学中,我们在ASP、VB、Java等课程的实习阶段应用极限编程,取得了良好的效果,学生学习的兴趣和动力有了明显的提高。我们希望在将来的研究中,能够采用更多的XP实践,让教学过程更加逼近真实软件开发过程,让学生更系统地学习软件开发流程,提高专业素质,培养优秀的软件开发人才。

参考文献:

[1]Robert C.Martin.敏捷软件开发——原则、模式与实践[M].北京:清华大学出版社,2003.

[2]Richard Hightower.Java极限编程[M].北京:机械工业出版社,2004.

[3]杜纪魁.极限编程与计算机语言教学[J].科教文汇(上旬刊),2008(10).

推荐访问: 程序设计 极限 中专学校 编程 教学中