国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

極限編程在中專學(xué)校程序設(shè)計(jì)教學(xué)中的應(yīng)用

2012-12-31 00:00:00楊慶豐
考試周刊 2012年73期


  摘 要: 極限編程是一種以代碼為中心,強(qiáng)調(diào)快速適應(yīng)需求變化的小型軟件開(kāi)發(fā)方法,其實(shí)踐對(duì)于激發(fā)學(xué)生的學(xué)習(xí)興趣、降低學(xué)生的學(xué)習(xí)難度、提高學(xué)生的軟件整體設(shè)計(jì)水平、培養(yǎng)學(xué)生的交流溝通能力等都非常有益。文章闡述了將極限編程的優(yōu)秀實(shí)踐應(yīng)用于程序設(shè)計(jì)教學(xué)過(guò)程中的方法,旨在提高學(xué)生學(xué)習(xí)程序設(shè)計(jì)的效率和質(zhì)量。
  關(guān)鍵詞: 程序設(shè)計(jì)教學(xué) 教學(xué)方法 極限編程
  在中等專業(yè)學(xué)校計(jì)算機(jī)專業(yè)中,程序設(shè)計(jì)是重要的專業(yè)課程,是每個(gè)學(xué)生都應(yīng)具備的最重要的能力之一。由于課程設(shè)置和學(xué)生本身的原因,程序設(shè)計(jì)課往往變成某種計(jì)算機(jī)語(yǔ)言的語(yǔ)法學(xué)習(xí)課,學(xué)生即使學(xué)會(huì)某一門語(yǔ)言,也不知道怎么開(kāi)發(fā)軟件,缺乏軟件工程知識(shí)。Extreme Programming(極限編程,簡(jiǎn)稱XP)是由Kent Beck于1996年提出的,它是一種以編碼為核心任務(wù)并且經(jīng)歷過(guò)實(shí)踐考驗(yàn)的輕量級(jí)軟件開(kāi)發(fā)方法,是敏捷軟件開(kāi)發(fā)方法中最著名的一個(gè)。這種軟件開(kāi)發(fā)的方法開(kāi)發(fā)規(guī)模小,流程相對(duì)簡(jiǎn)單,重要的是,極限編程的開(kāi)發(fā)周期是以代碼為中心,將其應(yīng)用在程序設(shè)計(jì)教學(xué)中,更能突出計(jì)算機(jī)語(yǔ)言的中心地位。學(xué)生在提高自身編程能力的同時(shí),更有助于培養(yǎng)軟件工程思想。
  一、極限編程概述
  極限編程是一種有別于傳統(tǒng)軟件工程的小型軟件開(kāi)發(fā)方法。傳統(tǒng)的如RUP的開(kāi)發(fā)方法注重整體架構(gòu)的由上而下逐步細(xì)化,而極限編程則強(qiáng)調(diào)由軟件最簡(jiǎn)單的基本核心由內(nèi)向外逐步構(gòu)建。軟件在設(shè)計(jì)初期規(guī)劃客戶最基本的需求,在與客戶交流的過(guò)程中逐漸添加和調(diào)整功能模塊。每個(gè)模塊的開(kāi)發(fā)粒度小,實(shí)現(xiàn)的功能最基本,代碼量小,周期短。
  二、在程序設(shè)計(jì)課程中應(yīng)用極限編程方法
  一名優(yōu)秀的程序設(shè)計(jì)人員,除了要有過(guò)硬的代碼編寫能力外,還要具備良好的溝通能力。首先,優(yōu)秀的代碼編寫能力不僅是指能夠?qū)懗鰣?zhí)行效率高、運(yùn)行強(qiáng)健、穩(wěn)定的代碼,而且代碼風(fēng)格優(yōu)美。有的程序員寫的代碼思路獨(dú)特,執(zhí)行效率很高,但是缺乏良好的注釋和書寫風(fēng)格,以至于別人很難理解,甚至一段時(shí)間后自己也不知道這塊是怎么設(shè)計(jì)的。這對(duì)程序員之間的交流和傳承及代碼的重構(gòu)是非常不利的。其次,良好的溝通不僅發(fā)生在程序員之間,而且發(fā)生在程序員和用戶之間。極限編程的最佳實(shí)踐對(duì)以上兩點(diǎn)都有嚴(yán)格的要求,將其應(yīng)用在程序設(shè)計(jì)教學(xué)中非常有利。
  1.計(jì)劃會(huì)議。
  計(jì)劃會(huì)議也叫計(jì)劃游戲,這是對(duì)所開(kāi)發(fā)的軟件制定的一份計(jì)劃。對(duì)于軟件中遠(yuǎn)期的、非當(dāng)前急需開(kāi)發(fā)的功能只是提出一個(gè)概要性、輪廓性的計(jì)劃。而對(duì)馬上必須實(shí)現(xiàn)的功能則是制定詳細(xì)的、細(xì)化到盡可能小的粒度,從而制定具體的工作任務(wù)。這項(xiàng)工作是每天都要做的,計(jì)劃不僅要明確工作任務(wù),而且要明確完成任務(wù)的標(biāo)準(zhǔn)。隨著每天計(jì)劃的完成,我們?cè)O(shè)計(jì)的軟件越來(lái)越明確,越來(lái)越向正確的目標(biāo)靠攏。這種計(jì)劃會(huì)議采用的方式多種多樣,但大多需要所有成員參與集體頭腦風(fēng)暴式的討論,極限編程強(qiáng)調(diào)所有程序員對(duì)整個(gè)軟件的整體掌握,有利于鍛煉學(xué)生的交流溝通能力和對(duì)軟件整體框架的把握。
  2.小型發(fā)布和簡(jiǎn)單設(shè)計(jì)。
  XP編程方法一貫秉承的是“持續(xù)集成、小步快走”的哲學(xué)理念。我們希望在計(jì)劃會(huì)議中提出的近期計(jì)劃目標(biāo)是一個(gè)可以拿出來(lái)讓用戶體驗(yàn)的、可評(píng)測(cè)的小作品,有利于學(xué)生在學(xué)習(xí)過(guò)程中不斷獲得成就感,從而提高學(xué)習(xí)興趣。對(duì)于這個(gè)小作品,我們的要求是只要實(shí)現(xiàn)提出的基本功能,盡量用最簡(jiǎn)單的方法去設(shè)計(jì),不增加計(jì)劃以外的預(yù)設(shè)的東西。這種做法可以有效降低學(xué)生程序設(shè)計(jì)的難度,防止學(xué)生產(chǎn)生畏難情緒。
  3.結(jié)對(duì)編程。
  結(jié)對(duì)編程是XP的一個(gè)重要實(shí)踐,它要求寫代碼的時(shí)候必須兩個(gè)程序員在同一臺(tái)電腦面前進(jìn)行,一位負(fù)責(zé)書寫代碼,一位負(fù)責(zé)代碼的閱讀和校驗(yàn)。在結(jié)對(duì)編程的過(guò)程中,兩位程序員會(huì)進(jìn)行大量的溝通,自己的思路必須讓對(duì)方明白,同時(shí)也讓對(duì)方審核。這種做法有利于知識(shí)在學(xué)生中的傳播,對(duì)代碼質(zhì)量的提高、良好編碼風(fēng)格的形成、溝通能力的提高都非常有利。
  4.測(cè)試先行。
  一般的程序設(shè)計(jì)方法都是先將功能模塊寫好,然后再使用一組測(cè)試數(shù)據(jù)進(jìn)行測(cè)試。而極限編程強(qiáng)調(diào),在每寫一個(gè)模塊前,必須書寫測(cè)試用的代碼。這個(gè)測(cè)試用的代碼就已經(jīng)將我們要書寫的模塊方向定準(zhǔn)了,在模塊代碼書寫的過(guò)程中,隨時(shí)都要通過(guò)這個(gè)測(cè)試,而不是完成之后再測(cè)試。這樣在中途發(fā)現(xiàn)設(shè)計(jì)偏離軌道可以及時(shí)糾正,保證工作高效。現(xiàn)代軟件工程中對(duì)軟件的測(cè)試工作要求越來(lái)越高,測(cè)試代碼的書寫、測(cè)試數(shù)據(jù)的選擇等也是學(xué)生學(xué)習(xí)的重要內(nèi)容。極限編程尤其強(qiáng)調(diào)測(cè)試的作用,將其應(yīng)用于教學(xué),有利于培養(yǎng)學(xué)生良好的測(cè)試習(xí)慣。
  5.重構(gòu)。
  極限編程強(qiáng)調(diào)的是用最簡(jiǎn)單的方法而不是最好的方法實(shí)現(xiàn)既定目標(biāo)。只要在測(cè)試中通過(guò),就可以被認(rèn)可。但隨著代碼的日益完善,對(duì)以往執(zhí)行效率低的代碼必須進(jìn)行重構(gòu)。所謂重構(gòu),就是在不改變?cè)泄δ艿那疤嵯拢瑢?duì)代碼進(jìn)行修正或利用新技術(shù)重現(xiàn)。這是提高軟件性能的重要手段,但不管如何重構(gòu),其代碼必須通過(guò)原先的測(cè)試程序,這體現(xiàn)了先前測(cè)試先行原則的重要性。重構(gòu)有利于學(xué)生提高代碼的書寫能力,促使學(xué)生不斷挑戰(zhàn)自我。
  6.編碼標(biāo)準(zhǔn)。
  極限編程方法是以代碼為中心的開(kāi)發(fā)方法,同時(shí)要求知識(shí)共享、代碼同行審核,強(qiáng)調(diào)交流與溝通。那么實(shí)現(xiàn)這一切的基礎(chǔ)就是代碼可以被所有成員讀懂。在現(xiàn)代軟件企業(yè)中,不管采用的是大型的RUP方法,還是小型的XP方法,統(tǒng)一編碼標(biāo)準(zhǔn)這是一個(gè)基本要求。極限編程對(duì)編碼標(biāo)準(zhǔn)的嚴(yán)格要求有助于學(xué)生在校就養(yǎng)成良好的代碼書寫習(xí)慣,以后可以快速地融入新的開(kāi)發(fā)團(tuán)隊(duì)。
  三、結(jié)語(yǔ)
  極限編程的優(yōu)秀實(shí)踐很多,并不需要全部應(yīng)用于程序設(shè)計(jì)課程的教學(xué)過(guò)程中。但應(yīng)用在教學(xué)實(shí)踐對(duì)于激發(fā)學(xué)生的學(xué)習(xí)興趣、降低學(xué)生的學(xué)習(xí)難度、提高學(xué)生的軟件整體設(shè)計(jì)水平、培養(yǎng)學(xué)生的交流溝通能力等都非常有益。實(shí)際教學(xué)中,我們?cè)贏SP、VB、Java等課程的實(shí)習(xí)階段應(yīng)用極限編程,取得了良好的效果,學(xué)生學(xué)習(xí)的興趣和動(dòng)力有了明顯的提高。我們希望在將來(lái)的研究中,能夠采用更多的XP實(shí)踐,讓教學(xué)過(guò)程更加逼近真實(shí)軟件開(kāi)發(fā)過(guò)程,讓學(xué)生更系統(tǒng)地學(xué)習(xí)軟件開(kāi)發(fā)流程,提高專業(yè)素質(zhì),培養(yǎng)優(yōu)秀的軟件開(kāi)發(fā)人才。
  參考文獻(xiàn):
  [1]Robert C.Martin.敏捷軟件開(kāi)發(fā)——原則、模式與實(shí)踐[M].北京:清華大學(xué)出版社,2003.
  [2]Richard Hightower.Java極限編程[M].北京:機(jī)械工業(yè)出版社,2004.
  [3]杜紀(jì)魁.極限編程與計(jì)算機(jī)語(yǔ)言教學(xué)[J].科教文匯(上旬刊),2008(10

金华市| 嵊州市| 马山县| 繁峙县| 巨野县| 汤阴县| 望江县| 沙湾县| 蓝山县| 屏南县| 疏勒县| 巫山县| 开原市| 新田县| 柞水县| 如东县| 新泰市| 金沙县| 崇明县| 中卫市| 临海市| 桃江县| 鹤壁市| 富顺县| 改则县| 保山市| 民权县| 宁阳县| 白城市| 民勤县| 凤冈县| 肇庆市| 襄垣县| 辰溪县| 兴安盟| 潞西市| 龙游县| 张家界市| 双鸭山市| 咸丰县| 灵川县|