极限编程课程教学研究

摘要:极限编程是敏捷开发方法的一种,是适用于中小型团队进行软件开发的轻量级方法学,正在被越来越多的公司和团队所选择。极限编程课程是一门实践性非常强的课程,因而在进行讲授时要特别重视实验教学的作用。该文对极限编程教学过程中的教学方法进行了初步探索,从教学目标、教学内容的安排、教学方法和手段、期终考核方式几个角度来探讨如何有效地开展极限编程课程的教学。

关键词:极限编程;敏捷开发;教学;实验;分组

中***分类号:TP311文献标识码:A文章编号:1009-3044(2012)10-2292-02

Research on Extreme Proramming Course Teaching

DONG Xin-zheng

(Computer Science and Technology department, Zhuhai College of Jilin University, Zhuhai 519041, China)

Abstract:As a type of agile software development, Extreme programming is light-weight methodology for small-to-medium-sized teams developing software, and is selected by more and more companies and teams. Extreme programming is a very strong practical course, so particular attention should be paid to the role of experiment. This paper explores how to effectively carry out the teaching of extreme programming from the teaching objectives, teaching content, teaching methods and assessment methods.

Key words:extreme programming; agile development; teaching; experiment; grouping

极限编程(eXtreme Programming,缩写为XP),是一种软件工程方法学,是敏捷软件开发中最富有成效的几种方法之一。如同其他敏捷方法学,极限编程和传统方法学的本质不同在于它更强调可适应性而不是可预测性。20世纪90年代初,Kent Beck、Cunningham、Jeffries等人提出了极限编程的概念[1]。时至今日,越来越多的公司和团队选择了极限编程,同时,极限编程的理论也在实践中得到不断的完善和发展。

极限编程是适用于中小型团队在需求不明确或者迅速变化的情况下进行软件开发的轻量级方法学。极限编程课程在我院是首次开设,在国内公开发表的刊物上也还未见有关于该课程的教学研究。

1教学目标

通过本课程的学习,使学生理解敏捷开发的价值和原则,了解极限编程的基本概念,熟悉极限编程的各个实践,掌握极限编程的主要实践,理解极限编程的价值和原则;理解各种XP实践的优点及限制,明确其适用条件,能够把恰当的XP实践应用到自己参与的软件工程中,或者改进相应的XP实践以适应实际的工程需要;使学生可以快速融入采用极限编程的团队或把极限编程方法带给新的团队,提高学生的就业竞争力。

2教学内容安排

本课程共68学时,其中18学时为实验部分。

关于极限编程的著作很多,但大都不适合用作教材,目前还没有专门针对大专院校的极限编程教材。比较经典的是Kent Back的《解析极限编程――拥抱变化》[2],也是第一本关于XP的***书,介绍了XP背后的思想,但成书较早,也很抽象,不适合用作教材。经过反复比较,最终选择了《敏捷开发的艺术》[3],该书详细描述了每一种XP实践,讨论了XP的原则和敏捷开发的原则,为团队使用XP提供了实用的指导。

2.1理论教学内容安排

理论教学内容分为三个部分:极限编程的基本概念、XP的37种实践、共同的价值和原则。

第一部分极限编程的基本概念包括五方面内容:敏捷开发的背景、敏捷开发宣言和原则、XP生命周期与传统生命周期的对比、XP团队组成、XP基本概念。

第二部分是本课程的核心内容,具体介绍37种XP实践的概念、作用、实施建议与禁忌。37种XP实践又分为思考、协作、、计划、开发五个单元。思考单元包括5种实践:结对编程、精力充沛地工作、信息化工作场所、根源分析、回顾;协作单元包括8种实践:信任、坐到一起、真实客户参与、统一协作语言、站立会议、编码规范、迭代演示、汇报;单元包括7种实践:全部完成、没有bug、版本控制、十分针构建、持续集成、代码集体所有制、文档;计划单元包括8种实践:愿景、计划、计划博弈、风险管理、迭代计划、松弛、故事、估算;开发单元包括9种实践:增量式需求、客户测试、测试驱动开发、重构、简单设计、增量设计和架构、试验方案、性能优化、探索性测试。

第三部分介绍各种敏捷开发方法共同的价值和原则,以指导对37种XP实践的灵活运用与改进。共同的价值和原则包括五大主题:改善过程、以人为本、消除浪费、交付价值和寻求技术卓越。

2.2实验教学内容安排

在实践中,根据教学内容和课时要求,安排了9个实验题目:Java单元测试工具JUnit的使用、结对编程、版本控制工具SVN和Git的使用、自动编译脚本Ant的使用、自动编译脚本Maven的使用、持续集成工具Hudson的使用、测试驱动开发、代码重构、客户测试工具FitNesse的使用。实验教学的目标是让学生体会并加深理解极限编程实践的实施过程、熟练掌握团队常用开发工具的使用、掌握极限编程的主要实践。

3教学方法和手段

3.1分组和团队学习

极限编程是一种软件开发方法学,是指导软件开发实践的理论,实践性和可操作性很强。为了调动学生的兴趣与热情,尽可能给学生提供实践环境,我们以小组的形式来进行任务的分配、完成与分享讨论。一个班的学生自由分为9组,每组6至8人,然后由组员推荐一名组长,负责组内的分工与协调。按照自愿的原则,每个小组分配一个实验题目作为任务,每一个任务都有具体要求。小组确定任务后,在规定的时间内,负责收集整理该主题相关资料,按要求形成文档、演示等成果,并记录每位成员的工作内容和工作量。

3.2课堂分享与讨论

根据课程进度和实验题目的顺序,安排各个小组在课堂上给大家分享他们的工作成果,可能是概念的介绍、方法和示例的演示、参考手册等。每次分享时,要提前通知学生下次要分享的任务和时间安排,以便负责该任务的小组及时准备,不负责该任务的小组提前了解。分享结束之后是关于该主题的讨论,分为三个阶段:其他小组成员对该小组的提问、老师对该小组的提问、老师的总结。针对提问中发现的问题和不足,负责分享的小组在课堂下进行补充和完善,并提交完善后的工作成果。

3.3实验验证

实验课上,老师把完善后的工作成果共享给所有学生,大家参考该成果进行实验,并验证该成果的正确性。如果仍然存在问题,则有负责该任务的小组继续完善,并提交最终版本的工作成果,作为实验评分的依据。

4期终考核方式

为了引导学生积极参与到完成小组任务的团队工作中,对考核方式进行了相应调整。考核成绩分为两部分:实验成绩占30%,以小组的工作成果和实验结果为依据;期末成绩占70%,以期末考试试卷为依据。这种考核方式大大激励了学生的学习热情,也给优秀学生提供了施展他们创新能力的机会。

5结束语

参考极限编程的教学目标进行了本门课程的教学内容安排,采用课堂讲授与小组学习、分享讨论、实验验证相结合的教学方法,最后根据课程特点制定了相对灵活的期终考核标准。教学实践中,学生对该课程兴趣浓厚,参与小组任务和课堂讨论的热情较高,在完成小组任务和实验的过程中,掌握了极限编程的主要实践,锻炼了自学能力和团队配合意识,提高了动手解决实际问题的能力。从平时的课堂表现和期终的考核结果来看,取得了良好的教学效果。

参考文献:

[1]杨帆王大志.浅谈极限编程[J].电脑知识与技术,2008(3).

[2] Kent Beck著,唐东铭译.解析极限编程――拥抱变化[M].北京:人民邮电出版社,2002.

[3] James Shore, Shane Warden著,王江平等译.敏捷开发的艺术[M].北京:机械工业出版社,2009.

转载请注明出处学文网 » 极限编程课程教学研究

学习

解决三个和尚没水喝的问题

阅读(43)

本文为您介绍解决三个和尚没水喝的问题,内容包括一个和尚挑水吃三个和尚没水喝,解决了三个和尚没水喝的问题。小庙里出现了一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝的严重问题,急需上级有关部门给予解决。经领导们反复研究,认为三个和

学习

中国民主转型的现状和阶段

阅读(27)

中国已经开始了民主化发展的漫长道路,对于这个问题的研究已经引起了高度的关注。中外学者有关中国民主化发展的论述也已经大量出现。不少的论述,也将中国的民主转型做了比较研究,有的与其他发展中国家和台湾相比,有的与苏联、东欧相比。有的

学习

国际审计风险

阅读(51)

本文为您介绍国际审计风险,内容包括国际内部审计风险偏好,国外审计风险理论。安然事件后,国际会计师联合会下属的国际审计和保证准则委员会(IAASB)为应对所面临的来自社会各方面的巨大压力,紧紧围绕如何提高审计人员评估风险、发现舞弊的能

学习

武陵鱼 第9期

阅读(62)

常德美,美就美在沅澧水,湖河港汊相连串,鱼儿跃,龟鳖戏,天水一色鹅鸭肥。常德美,美就美在土质肥,粮棉麻橘遍地长,芷兰艳,山峦翠,人到常德心儿醉。这首民歌真实地道出常德的美丽富饶。常德地处武陵山下,洞庭湖滨,素有“鱼米之乡”的美称。

学习

中国古代官邸制漫谈:铁打的房子流水的官

阅读(85)

本文为您介绍中国古代官邸制漫谈:铁打的房子流水的官,内容包括古代官员府邸门槛与品级的关系,古代官邸制度。十八届三中全会审议通过的《中共中央关于全面深化改革若干重大问题的决定》提出:规范并严格执行领导干部工作生活保障制度,不准

学习

羊年话“羊”

阅读(32)

本文为您介绍羊年话“羊”,内容包括羊年说羊说明文,羊年说羊短句。羊为六畜之一,早在母系社会时期,生活在我国北方草原地区的原始居民,就已开始选择水草丰茂的沿河沿湖地带牧羊狩猎。汉代许慎的《论文解字・羊部》云:“羊,祥也。从羊,象头角足

学习

那些热播剧里的中医药

阅读(35)

本文为您介绍那些热播剧里的中医药,内容包括老中医电视剧所提到的医书,与中医药相关的科普剧。新年伊始,第一部热播剧当属《女医・明妃传》了。这部号称“中国版大长今”的电视剧刚播出不久就已经“霸屏”。当然,除了演员们的超高颜值外,剧

学习

“陨石痴人”的陨石情结

阅读(44)

本文为您介绍“陨石痴人”的陨石情结,内容包括陨石的故事,陨石情结。在设计师、商人、收藏家、中科探险协会陨石科学考察专业委员会副主任等众多角色中,庞炳龈愿意把自己定义为一个“石痴”。二十年间他俯拾万石,觅石、藏石、赏石、玩石、

学习

对康有为《广艺舟双楫》中“尊碑五说”的几点反思

阅读(30)

本文为您介绍对康有为《广艺舟双楫》中“尊碑五说”的几点反思,内容包括康有为评碑,康有为临嵩高灵庙碑书法手迹。晚清以来,碑学观念深入人心,相继产生了《南北书派论》、《北碑南帖论》、《艺舟双楫》等一批鼓吹碑学的书学论著。其后康有

学习

对外汉语教材生词英译研究综述

阅读(37)

本文为您介绍对外汉语教材生词英译研究综述,内容包括对外汉语词汇教学的参考文献,对外汉语词汇教学课文。对外汉语教材中生词语的英文译释是教师施教的参考和学生学习的媒介,其质量的好坏与对外汉语词汇教学的效果有着直接的关系。本文对

学习

浅析笙的演奏技法与表现特点

阅读(61)

本文为您介绍浅析笙的演奏技法与表现特点,内容包括笙的演奏方法,笙的吹奏方法和什么乐器比较像。笙适用于器乐合奏、独奏以及民间戏曲中,在我国的历史十分悠久,受到很多人们的欢迎和热爱。尤其是我国改革开放之后,民族管弦乐队随着历史的发

学习

武松,一个隐身上线的和尚

阅读(42)

上半截《水浒传》,从结构上来看,有点像司马迁“先死”(活着的人叫先生,死去的人就叫先死了)操作的《史记》,叫纪传体。施耐庵“先死”分期分批为部分重要人物树碑立传,然后串珠成线,把个别人物传记组合起来,构成了精彩纷呈、青出于蓝而胜于蓝的

学习

机关财务经费管理制度

阅读(29)

本文为您介绍机关财务经费管理制度,内容包括机关财务管理制度实施细则,财务经费管理办法。第一条为加强市局机关财务管理,规范机关财务行为,避免经费开支的盲目性、随意性,保障机关工作的正常运行,根据河北省国家税务局印发的《机关经费预算

学习

羌族非物质文化遗产研究

阅读(42)

本文为您介绍羌族非物质文化遗产研究,内容包括羌族都有哪些文化遗产,羌族的非遗文化。羌语不仅是羌族非物质文化遗产的传承媒介,其本身也是珍贵的非物质文化遗产,是羌族民众互相认同的重要标志。它不仅体现了羌族的民族记忆,展示了羌族文化

学习

高超声速飞行技术:挑战速度极限

阅读(35)

本文为您介绍高超声速飞行技术:挑战速度极限,内容包括83a高超声速导弹飞行测试,人类的第1次高超声速飞行。自古以来,人类始终有一个梦想:可以像鸟一样在天空翱翔,甚至是飞向星际太空……经过无数人的不懈努力,人类翱翔太空之梦终于在1969年

学习

意志的胜利考验人类耐力极限的运动

阅读(33)

本文为您介绍意志的胜利考验人类耐力极限的运动,内容包括什么运动能锻炼意志和耐力,练功之人最讲究意志和耐力。当今,在肥胖率居高不下,久坐一族越来越多的情况下,有一些人选择了运动,甚至挑战人类耐力极限的运动。要完成这些项目,选手不仅需

学习

经济学中的中心极限定理

阅读(33)

本文为您介绍经济学中的中心极限定理,内容包括中心极限定理通俗理解,大数定律与中心极限定理。[摘要]本文研究了中心极限定理在经济学中的应用。首先介绍了中心极限定理的两种常用的形式,接着以经济学中的一块具体的领域进行分析说明,从两

学习

80后极限运动玩家:冒险是一种生活方式

阅读(52)

本文为您介绍80后极限运动玩家:冒险是一种生活方式,内容包括极限运动爱好者的日常生活,80后极限运动。“炫出真极限”今年5月3日至5日,2007亚洲极限运动锦标赛将在上海江湾体育中心举行。这个在亚洲乃至全球都具有广泛影响力的国级际赛事

学习

单片机复杂可编程逻辑器

阅读(27)

本文为您介绍单片机复杂可编程逻辑器,内容包括单片机的基本逻辑结构是什么,单片机逻辑设计。基于SRAM(静态随机存储器)的可重配置PLD(可编程逻辑器件)的出现,为系统设计者动态改变运行电路中PLD的逻辑功能创造了条件。PLD使用SRAM单元来保存

学习

可编程序控制器及其应用

阅读(30)

本文为您介绍可编程序控制器及其应用,内容包括可编程序控制器原理及应用第2版,可编程序控制器的应用完整最新版。【摘要】本文通过对可编程序控制器的结构原理、编程语言及其在立体车库中的应用作了详细介绍,让大家对可编程序控制器有充

学习

编程语言《QBASIC》教学研究

阅读(30)

本文为您介绍编程语言《QBASIC》教学研究,内容包括basic编程语言基础,qbasic语言程序设计教程。【摘要】本文是一篇讲述编程语言《QBASIC》教学探讨的文章,文中从以下几个方面来阐述:教材内容的把握,重难点的确定,教学课时的分配,教学策略的

学习

十大极限运动

阅读(26)

本文为您介绍十大极限运动,内容包括十大极限运动电影,十大极限运动项目排行。在一些人的眼中,极限运动可以说是“玩命”的代名词。而下面这些运动又是极限中的极限,危险中的危险。有的人可能要问,像这样冒着生命危险来“玩”,真的很值得吗?毕