• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      敏捷軟件開(kāi)發(fā)課程評(píng)價(jià)指標(biāo)體系及應(yīng)用

      2017-04-12 02:02:46趙學(xué)龍于立功
      計(jì)算機(jī)教育 2017年3期
      關(guān)鍵詞:編程工具動(dòng)態(tài)

      嚴(yán) 悍,趙學(xué)龍,于立功

      (南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210094 )

      敏捷軟件開(kāi)發(fā)課程評(píng)價(jià)指標(biāo)體系及應(yīng)用

      嚴(yán) 悍,趙學(xué)龍,于立功

      (南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210094 )

      針對(duì)敏捷軟件開(kāi)發(fā)課程的評(píng)價(jià)指標(biāo)問(wèn)題,對(duì)引進(jìn)的評(píng)價(jià)指標(biāo)體系進(jìn)行改進(jìn)并給出應(yīng)用實(shí)例。通過(guò)實(shí)例分析,該評(píng)價(jià)指標(biāo)體系不僅能指明教學(xué)內(nèi)容和實(shí)踐的基本方向,而且能定量分析每一種敏捷能力的變化,有效評(píng)價(jià)教學(xué)效果,精準(zhǔn)分析優(yōu)勢(shì)與缺陷,從而指導(dǎo)和改進(jìn)教學(xué)實(shí)踐。

      敏捷軟件開(kāi)發(fā);評(píng)價(jià)指標(biāo);動(dòng)態(tài)指標(biāo)

      0 引 言

      敏捷軟件開(kāi)發(fā)Agile Software Development(下文簡(jiǎn)稱(chēng)ASD)采用一組輕量級(jí)方法,作為傳統(tǒng)軟件工程的改進(jìn)與革新,從2001年至今得到廣泛關(guān)注和應(yīng)用[12]。高校在教學(xué)中也積極引進(jìn)ASD課程,如德國(guó)波恩大學(xué)于2003年率先引進(jìn)ASD作為研究生課程;在美國(guó),Texas Austin大學(xué)于2006年創(chuàng)辦敏捷技術(shù)培訓(xùn)中心,Bowling Green州立大學(xué)創(chuàng)辦ASF(Agile Software Factory)培訓(xùn)機(jī)構(gòu),Johns Hopkins大學(xué)創(chuàng)建ASD課程;清華大學(xué)、北京大學(xué)等國(guó)內(nèi)高校也陸續(xù)開(kāi)設(shè)相關(guān)課程。南京理工大學(xué)于2007年從德國(guó)波恩大學(xué)引進(jìn)極限編程eXtreme Programing(下文簡(jiǎn)稱(chēng)XP)實(shí)踐課程,用于計(jì)算機(jī)相關(guān)專(zhuān)業(yè)高年級(jí)本科生和研究生的暑期實(shí)踐[3]。該課程主要是單純項(xiàng)目開(kāi)發(fā)訓(xùn)練,同時(shí)引進(jìn)一套相應(yīng)的評(píng)價(jià)指標(biāo)。從2010年開(kāi)始,ASD被納入研究生正規(guī)課程體系,增加了課堂環(huán)節(jié),以彌補(bǔ)單純項(xiàng)目訓(xùn)練的不足。針對(duì)ASD課程評(píng)價(jià)指標(biāo)問(wèn)題,需要探索改進(jìn)方法。

      1 主要問(wèn)題

      目前,ASD作為計(jì)算機(jī)專(zhuān)業(yè)課程面臨的主要問(wèn)題如下:

      (1)缺乏統(tǒng)一標(biāo)準(zhǔn)。盡管IEEE在2011年推出了一個(gè)工程推薦標(biāo)準(zhǔn)P1648[4],但對(duì)ASD課程的統(tǒng)一標(biāo)準(zhǔn)仍缺乏指導(dǎo),導(dǎo)致ASD課程的教材選用、內(nèi)容形式和課程計(jì)劃都取決于教師個(gè)人興趣和能力。這與傳統(tǒng)軟件工程課程體系的標(biāo)準(zhǔn)化規(guī)范化形成鮮明對(duì)比[5]。

      (2)缺乏適用的評(píng)價(jià)指標(biāo)體系。盡管前期引進(jìn)了極限編程XP和SCRUM[6]的定量評(píng)價(jià)指標(biāo),但該指標(biāo)主要針對(duì)集中式的團(tuán)隊(duì)項(xiàng)目開(kāi)發(fā)活動(dòng),如結(jié)對(duì)編程[7]、迭代周期等,缺少針對(duì)ASD課堂教學(xué)內(nèi)容的評(píng)價(jià),如測(cè)試驅(qū)動(dòng)開(kāi)發(fā)、代碼重構(gòu)[8]等。原有指標(biāo)適用于單團(tuán)隊(duì)、單項(xiàng)目、單平臺(tái)的項(xiàng)目實(shí)踐,即學(xué)生人數(shù)相對(duì)少(少于12人)、訓(xùn)練時(shí)間集中(主要是暑期時(shí)間,每天8學(xué)時(shí),共4周)且教學(xué)資源充足(有專(zhuān)用實(shí)驗(yàn)室)的環(huán)境條件,但ASD成為正規(guī)課程后,學(xué)生人數(shù)劇增(往往多于40人),教學(xué)時(shí)間碎片化(如每次2~3學(xué)時(shí),每周2次,共5~7周)且缺少集中實(shí)踐場(chǎng)所。此時(shí)就需要改進(jìn)評(píng)價(jià)指標(biāo),以適應(yīng)分散式的多團(tuán)隊(duì)、多項(xiàng)目、多平臺(tái)的變化。

      2 評(píng)價(jià)指標(biāo)的改進(jìn)與應(yīng)用實(shí)例

      評(píng)價(jià)指標(biāo)的改進(jìn)主要包括兩方面:一方面,整合與縮減。原有指標(biāo)包含14項(xiàng)定量指標(biāo),經(jīng)過(guò)整合與縮減,最后形成10項(xiàng)指標(biāo),對(duì)應(yīng)10種敏捷能力;另一方面,增加動(dòng)態(tài)指標(biāo)。

      2.1 動(dòng)態(tài)指標(biāo)

      動(dòng)態(tài)指標(biāo)是每次課程根據(jù)教學(xué)對(duì)象、內(nèi)容、形式、資源(包括時(shí)間和場(chǎng)所)的不同而確定的可變指標(biāo)。動(dòng)態(tài)指標(biāo)受到當(dāng)前軟件工程新進(jìn)展的影響。靜態(tài)指標(biāo)是ASD基本教學(xué)內(nèi)容所決定的指標(biāo),并不隨教學(xué)對(duì)象形式而改變。

      之所以需要?jiǎng)討B(tài)指標(biāo),是因?yàn)锳SD作為傳統(tǒng)軟件工程的改進(jìn)與革新,應(yīng)適應(yīng)當(dāng)前軟件工程在編程語(yǔ)言、工具等方面的最新進(jìn)展。如在2010—2014年,設(shè)計(jì)模式成為熱點(diǎn),設(shè)計(jì)模式就作為ASD課程的動(dòng)態(tài)內(nèi)容和指標(biāo)。2015—2016年,Java8成為新的Java語(yǔ)言標(biāo)準(zhǔn),C++11/14成為新的C++語(yǔ)言標(biāo)準(zhǔn)而得到廣泛關(guān)注,新語(yǔ)言需要及時(shí)引入ASD以改進(jìn)編程。建議采用技術(shù)講座形式來(lái)對(duì)應(yīng)動(dòng)態(tài)指標(biāo)。ASD動(dòng)態(tài)內(nèi)容與指標(biāo)所占比例需根據(jù)學(xué)生已學(xué)的課程和ASD教學(xué)目標(biāo)來(lái)確定,動(dòng)態(tài)內(nèi)容與指標(biāo)建議占ASD總課程10%~15%的比例。

      2.2 評(píng)價(jià)指標(biāo)應(yīng)用實(shí)例

      2016年部分研究生ASD課程的10項(xiàng)指標(biāo)評(píng)價(jià)結(jié)果如圖1 所示,其中新語(yǔ)言應(yīng)用能力作為動(dòng)態(tài)指標(biāo)。

      圖1 定量評(píng)價(jià)指標(biāo)應(yīng)用實(shí)例

      在圖1中,一種敏捷能力指標(biāo)對(duì)應(yīng)一張圖。對(duì)于一種能力,一名學(xué)生對(duì)應(yīng)圖中一個(gè)點(diǎn)(x,y)。其中x表示課程前能力,y表示課程后能力,x和y范圍是從0~10。評(píng)價(jià)原始數(shù)據(jù)來(lái)自課程結(jié)束時(shí)的學(xué)生匿名調(diào)查問(wèn)卷,由原始數(shù)據(jù)形成散點(diǎn)圖后計(jì)算平均斜率,而且將對(duì)角線(xiàn)(斜率為1)作為基準(zhǔn)。該圖常用于衡量一個(gè)群體在某方面定量變化程度。斜率越大表示變化程度越大,教學(xué)效果越明顯;斜率越?。ㄚ吔?),表示教學(xué)效果相對(duì)不明顯。這種斜率稱(chēng)為作用系數(shù)。除了作用系數(shù),散點(diǎn)圖可觀(guān)察和分析學(xué)生個(gè)體的能力分布情況。

      課程前后學(xué)生的能力平均值的增長(zhǎng)對(duì)比情況如圖2所示。計(jì)算方法是對(duì)10種能力分別計(jì)算x和y的平均值,然后制圖。下面基于定量指標(biāo)評(píng)價(jià)結(jié)果進(jìn)行具體分析。

      圖2 敏捷能力增長(zhǎng)對(duì)比圖

      3 優(yōu)勢(shì)能力分析

      從圖2直觀(guān)來(lái)看新語(yǔ)言應(yīng)用能力和交流溝通能力的顯著增長(zhǎng)。其中新語(yǔ)言應(yīng)用能力的課前分值最低,交流溝通能力課后分值最高。原因分析如下:

      (1)新語(yǔ)言應(yīng)用能力分析。課堂上用15%課時(shí)介紹新語(yǔ)言(包括Java8和AspectJ/AOP),新語(yǔ)言對(duì)于實(shí)際工程開(kāi)發(fā)具有重要作用。從圖1中能發(fā)現(xiàn)個(gè)別學(xué)生對(duì)于新語(yǔ)言是零知識(shí),起點(diǎn)x=0,導(dǎo)致課程前平均分偏低,進(jìn)而導(dǎo)致增長(zhǎng)分值相對(duì)較高。同時(shí)也發(fā)現(xiàn)個(gè)別學(xué)生“零變化”,即y=x,原因是本課程未限定Java作為唯一編程語(yǔ)言,而且這些學(xué)生所選項(xiàng)目并未使用Java語(yǔ)言。對(duì)于動(dòng)態(tài)指標(biāo)的預(yù)期作用為y=1.2x,圖1中結(jié)果為y=1.322x,評(píng)價(jià)效果超過(guò)預(yù)期,說(shuō)明動(dòng)態(tài)引入新語(yǔ)言?xún)?nèi)容能有效增強(qiáng)學(xué)生的能力。

      (2)交流溝通能力分析。團(tuán)隊(duì)項(xiàng)目中要求每個(gè)人發(fā)言,對(duì)任何團(tuán)隊(duì)決策都必須發(fā)表個(gè)人意見(jiàn),表明個(gè)人態(tài)度,這種強(qiáng)制性對(duì)于交流溝通能力起到積極作用。此外團(tuán)隊(duì)計(jì)劃游戲也對(duì)促進(jìn)交流溝通能力提高。

      從圖2可以看出,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)能力和軟件難度評(píng)估能力也得到顯著提高。分析原因如下:

      (1)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)能力分析。雖然部分學(xué)生事先學(xué)過(guò)軟件測(cè)試相關(guān)課程,但傳統(tǒng)課程往往不包含測(cè)試驅(qū)動(dòng)開(kāi)發(fā)TDD,而TDD是ASD最重要特征之一。ASD課堂實(shí)踐中提供2個(gè)具體實(shí)例,分別占用2次課時(shí),課堂上教師給出問(wèn)題之后要求各團(tuán)隊(duì)研討40分鐘,然后提交測(cè)試用例和關(guān)鍵編碼,最后教師立即講解要點(diǎn)和注意事項(xiàng)。這種實(shí)踐方式起到了積極作用。

      (2)軟件難度評(píng)估能力分析。課堂上給出4種實(shí)踐方式:①用卡片書(shū)寫(xiě)待解決的問(wèn)題和待完成的任務(wù)。該方法在極限編程XP中用來(lái)描述用戶(hù)素材與設(shè)計(jì)任務(wù)。②用撲克牌1~10作為每個(gè)人對(duì)于問(wèn)題難度和工作量的定量評(píng)估(1分最容易,10分最難工作量最大)。③團(tuán)隊(duì)計(jì)劃游戲。這是一種SCRUM方法[6],在每個(gè)迭代周期第一天對(duì)每個(gè)新問(wèn)題和新任務(wù)投票評(píng)估,評(píng)估過(guò)程中要求給出最高值和最低值的學(xué)生說(shuō)明原因。④迭代式反饋修正。每完成一個(gè)任務(wù)都將實(shí)際工作量與預(yù)期相比較,逐漸使評(píng)估趨向準(zhǔn)確。這種方法簡(jiǎn)便易行,具有趣味性和互動(dòng)性,得到學(xué)生認(rèn)可。

      4 不足之處及改進(jìn)方法

      從圖2中可以看出,工具能力和軟件表達(dá)能力提高相對(duì)不明顯。原因分析如下:

      (1)工具能力分析。ASD相關(guān)工具涉及較多,主要分為個(gè)人工具(如編碼、測(cè)試與重構(gòu)工具)與團(tuán)隊(duì)工具(如代碼共享與版本控制工具)。研究生ASD課程中每周只有4學(xué)時(shí)開(kāi)發(fā)實(shí)踐,而工具應(yīng)用能力的提高需要較多的開(kāi)發(fā)實(shí)踐做基礎(chǔ),因此工具能力難以在短時(shí)間內(nèi)明顯提高。另外,不同團(tuán)隊(duì)允許采用不同語(yǔ)言和工具來(lái)開(kāi)發(fā)不同項(xiàng)目,這使得工具應(yīng)用多樣化,教師難以具體指導(dǎo),導(dǎo)致工具應(yīng)用能力與編程技能都難以在短時(shí)間內(nèi)得到明顯提高。如果是全天課程且多項(xiàng)目都采用相同工具,即便4周時(shí)間,評(píng)估效果也能得到明顯提高。

      (2)軟件表達(dá)能力分析。ASD課程強(qiáng)調(diào)兩方面表達(dá)能力:口頭表達(dá)(團(tuán)隊(duì)項(xiàng)目展示與答辯)與字面表達(dá)(小論文或個(gè)性化論文,要求學(xué)生就某事情表明個(gè)人態(tài)度并給出理由,并非撰寫(xiě)軟件文檔)。ASD課程需要培養(yǎng)學(xué)生的文字表達(dá)能力的原因是:通過(guò)每人提交小論文的形式,給每個(gè)學(xué)生一個(gè)平等的機(jī)會(huì)來(lái)表達(dá)自己態(tài)度和意見(jiàn),避免團(tuán)隊(duì)負(fù)責(zé)人或骨干的個(gè)人意見(jiàn)覆蓋所有成員的情況。大多學(xué)生對(duì)于小論文撰寫(xiě)難以掌握,這成為本課程一個(gè)缺點(diǎn)。其改進(jìn)方法有:①用2學(xué)時(shí)分析、總結(jié)往屆學(xué)生小論文的優(yōu)點(diǎn)和缺點(diǎn),并說(shuō)明撰寫(xiě)方法,強(qiáng)調(diào)實(shí)踐性、邏輯符合性與形式一致性;②放棄正規(guī)論文和軟件文檔的形式要求,著重強(qiáng)調(diào)學(xué)生個(gè)性化表達(dá)并鼓勵(lì)創(chuàng)新思維。

      5 結(jié) 語(yǔ)

      ASD課程建立明確的評(píng)價(jià)指標(biāo)體系有兩個(gè)作用:①反映課程教學(xué)目標(biāo),指明教學(xué)與實(shí)踐的基本方向;②定量分析每一種能力的變化,有效評(píng)價(jià)教學(xué)效果,精準(zhǔn)分析優(yōu)勢(shì)、缺陷和不足,指導(dǎo)和改進(jìn)ASD教學(xué)實(shí)踐。盡管ASD目前無(wú)法形成國(guó)際或國(guó)內(nèi)標(biāo)準(zhǔn),評(píng)價(jià)指標(biāo)也可能因人而異,但ASD課程評(píng)價(jià)指標(biāo)是動(dòng)態(tài)可改變的,能適應(yīng)當(dāng)前軟件工程的最新進(jìn)展,成為受學(xué)生歡迎的專(zhuān)業(yè)課程。

      [1] Martin R C. 敏捷軟件開(kāi)發(fā): 原理、模式與實(shí)踐[M]. 鄧輝, 譯. 北京: 清華大學(xué)出版社, 2003.

      [2] Cockburn A. Agile software develoment[M]. 2nd ed. New York: Pearson Education, Inc, 2007.

      [3] Beck K. Extreme programming explained: Embrace change[M]. Boston: Addison-Wesley, 2004.

      [4] Software & Systems Engineering Standards Committee (C/S2ESC). 1648 WG-RP for establishing and managing software development efforts using agile methods[EB/OL]. [2016-09-18]. http://standards.ieee.org/develop/wg/1648_WG.html.

      [5] Devedzic V. Teaching agile software development: A case study[J]. IEEE Transactions on Education, 2011, 54(2): 273-278.

      [6] Schwaber K, Beedle M. Agile software development with SCRUM[M]. New Jersey: Prentice Hall, 2002.

      [7] 嚴(yán)悍, 苑俊旺, 邵帥, 等. 極限編程中結(jié)對(duì)編程的不良現(xiàn)象分析及對(duì)策[J]. 計(jì)算機(jī)教育, 2014(8): 51-53.

      [8] Fowler M. Refactoring: Improving the design of existing code[M]. Boston: Addison-Wesley Longman, 2000.

      (見(jiàn)習(xí)編輯:張 勛)

      1672-5913(2017)03-0148-04

      G642

      南京理工大學(xué)研究生教育優(yōu)秀工程項(xiàng)目(海外共建課程2014年第一批)。

      嚴(yán)悍,男,副教授,研究方向?yàn)檐浖こ膛c信息安全,yanhan@njust.edu.cn。

      猜你喜歡
      編程工具動(dòng)態(tài)
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      國(guó)內(nèi)動(dòng)態(tài)
      國(guó)內(nèi)動(dòng)態(tài)
      國(guó)內(nèi)動(dòng)態(tài)
      波比的工具
      波比的工具
      動(dòng)態(tài)
      开封市| 如皋市| 沧州市| 抚松县| 旌德县| 景泰县| 沧州市| 青田县| 康定县| 双柏县| 太白县| 启东市| 永和县| 漳浦县| 陆丰市| 长治县| 灵璧县| 禹城市| 乡城县| 波密县| 嘉义市| 榆林市| 罗定市| 岳普湖县| 定州市| 定结县| 古丈县| 广南县| 邻水| 安庆市| 搜索| 扶风县| 大丰市| 罗城| 永兴县| 从化市| 赤壁市| 依安县| 宁南县| 五河县| 仙桃市|