![基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/6b2ee889-be12-45d4-8739-0d20bce62c46/6b2ee889-be12-45d4-8739-0d20bce62c461.gif)
![基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/6b2ee889-be12-45d4-8739-0d20bce62c46/6b2ee889-be12-45d4-8739-0d20bce62c462.gif)
![基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/6b2ee889-be12-45d4-8739-0d20bce62c46/6b2ee889-be12-45d4-8739-0d20bce62c463.gif)
![基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/6b2ee889-be12-45d4-8739-0d20bce62c46/6b2ee889-be12-45d4-8739-0d20bce62c464.gif)
![基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/6b2ee889-be12-45d4-8739-0d20bce62c46/6b2ee889-be12-45d4-8739-0d20bce62c465.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計摘要:針對采用傳統(tǒng)過程控制的軟件實訓(xùn)類課程中開發(fā)文檔與編碼脫節(jié),學(xué)生無法深入理解和應(yīng)用分析與設(shè)計理念等問題,介紹敏捷開發(fā)過程的基本思想以及Scrum敏捷開發(fā)過程引入軟件實訓(xùn)教學(xué)中的現(xiàn)狀,闡述新的基于Scrum敏捷開發(fā)過程的軟件實訓(xùn)教學(xué)方案以及一套完整的軟件實訓(xùn)案例,并總結(jié)分析該教學(xué)設(shè)計方案的有效性。關(guān)鍵詞:軟件實訓(xùn);Agile;Scrum敏捷開發(fā);教學(xué)設(shè)計引言互聯(lián)網(wǎng)時代急需大量軟件人才,如何實現(xiàn)高校與產(chǎn)業(yè)界的銜接是軟件人才培養(yǎng)的一個核心問題。軟件實訓(xùn)作為理論聯(lián)系實際的橋梁,具有舉足輕重的作用。目前,國內(nèi)大部分高校軟件實訓(xùn)課程以項目為載體,以編碼結(jié)果為導(dǎo)向,讓
2、學(xué)生通過完成項目鍛煉動手能力。信息技術(shù)發(fā)展飛速,當下完成一個程序或是軟件(也就是說編寫代碼)對于多數(shù)大學(xué)生而言并不困難,真正的難點在于如何開發(fā)一個具有可擴展性、可維護性的優(yōu)質(zhì)軟件,這也是目前以及未來軟件實訓(xùn)課程轉(zhuǎn)換思路的方向。從產(chǎn)業(yè)界看,優(yōu)質(zhì)軟件的前提是過程控制,這也意味著高校軟件實訓(xùn)課程的導(dǎo)向應(yīng)側(cè)重于課程過程控制。筆者在十幾年軟件實訓(xùn)課程的教學(xué)中發(fā)現(xiàn),傳統(tǒng)教學(xué)中采用的過程是瀑布模型,因為此模型采用分階段的方式,適合學(xué)生逐步完成項目,但這僅是理想狀態(tài),瀑布模型在教學(xué)中同樣也面臨產(chǎn)業(yè)界相同的問題。學(xué)生在經(jīng)歷了需求和設(shè)計等文檔撰寫階段后,往往難以將其與編碼匹配,到實際編碼階段又已臨近課程結(jié)束,只能
3、草草完成。2015年筆者在美國佩斯大學(xué)訪問期間,旁聽了佩斯大學(xué)計算機系主任ChristelleScharff教授的軟件工程課程,她在課程中引入Agile開發(fā)過程,以Serum敏捷開發(fā)過程結(jié)合先進開發(fā)應(yīng)用工具,使得學(xué)生將開發(fā)、管理和工具應(yīng)用在一個實際項目中聯(lián)結(jié)起來。Christelle教授采用Serum敏捷開發(fā)過程進行教學(xué)已經(jīng)多年,成功實現(xiàn)了美國學(xué)生與柬埔寨、印度等地學(xué)生的同步開發(fā)和教學(xué)。受此啟發(fā),筆者回國后將Serum敏捷開發(fā)過程應(yīng)用于軟件實訓(xùn)課程中,從實踐中體會到基于敏捷開發(fā)過程的軟件實訓(xùn)的有效性,也發(fā)現(xiàn)了其存在的問題。1敏捷軟件開發(fā)軟件過程模型是軟件開發(fā)過程控制的向?qū)?。傳統(tǒng)過程模型注重建立
4、軟件過程中的軟件產(chǎn)品,尤其是軟件文檔,采用此類過程模型的軟件工程方法被稱為“重型軟件工程”?!爸匦蛙浖こ獭蓖ㄟ^建立完善的文檔系統(tǒng),實現(xiàn)細致的過程建模及檢測,以備維護與修改。另一類以人為核心的軟件開發(fā)思想“敏捷開發(fā)”,被稱為“輕型軟件工程”。敏捷開發(fā)強調(diào)開發(fā)人員的溝通、可持續(xù)交付可工作的軟件,以及對軟件需求和開發(fā)問題的快速靈活響應(yīng)。2001年,以KentBeck等為代表的敏捷開發(fā)擁護者共同簽署了“敏捷軟件開發(fā)宣言”o據(jù)VersionOne公司2013年的調(diào)查顯示,在全球收集的3501份調(diào)查報告中有88%的公司采用敏捷開發(fā)方法,Google、華為等大型軟件公司也采用了敏捷開發(fā)。1.1敏捷開發(fā)基本
5、原則敏捷宣言的價值陳述中,從過程和工具、文檔、合同談判以及遵循計劃4個基本原則,體現(xiàn)由一種現(xiàn)實的開發(fā)價值觀。軟件開發(fā)的終極產(chǎn)品是軟件,軟件產(chǎn)品的度量者是客戶,實現(xiàn)產(chǎn)品的是開發(fā)者,圍繞這3部分是開發(fā)的重點。所以,敏捷開發(fā)強調(diào)開發(fā)者的自主協(xié)作,強調(diào)可運行軟件的快速迭代,強調(diào)對于軟件需求的適應(yīng)性。這要求敏捷開發(fā)團隊成員的平衡性,也即只有具有自主開發(fā)意識、編程能力對等的成員才能夠較好地踐行敏捷開發(fā)過程。雖然敏捷開發(fā)適用于需求變化的場景,但對于大型項目而言,敏捷開發(fā)的實現(xiàn)還需要更為具體、完善和有針對性的過程。根據(jù)不同的應(yīng)用場景有不同的敏捷過程,如極限編程、Serum敏捷開發(fā)等。軟件開發(fā)中應(yīng)根據(jù)項目的具體
6、情況選擇適當?shù)拈_發(fā)過程。1.2Scrum敏捷開發(fā)過程在眾多敏捷開發(fā)方法中,成長最快的方法之一就是Serum敏捷開發(fā)過程。KenSchwaber和JeffSutherland于1993年正式確立Serum,這一過程已經(jīng)被Yahoo微軟、谷歌、摩托羅拉、思科等公司使用。許多使用Serum的團隊表示,Serum極大地提升了團隊的產(chǎn)能和士氣,是一種有效的團隊工程控制方法。1.2.1Scrum基本要素Serum是一個迭代增量框架,采用周期方式完成產(chǎn)品開發(fā),Serum將這些周期性的工作稱為Sprint,整個Serum框架都圍繞Sprint進行。Sprint的持續(xù)時間通常是14周,旦一個緊接一個,一旦確定S
7、print的完成周期,不論工作是否完成,結(jié)束時間都是特定的,永遠不會延遲。Sprint開始之初,項目團隊從需求的優(yōu)先列表中選擇需要完成的條項(item),并在Sprint結(jié)束前完成這些需求;Sprint期間,所需要交付的結(jié)果不會改變,每個工作日,團隊成員簡要匯報彼此的進度,并根據(jù)剩余工作更新燃盡圖(bumdownchart);結(jié)束后,項目團隊演示他們所做的工作,并且反饋需要融入下次,Sprint的工作。1.2.2Scrum角色Serum有3類角色:產(chǎn)品負責人(productowner)、開發(fā)團隊(theteam)和流程管理員(Serummaster)。產(chǎn)品負責人收集來自顧客、終端用戶、項目團隊
8、等多方面的需求信息,以獲得最大化商業(yè)價值為原則,得由需求優(yōu)先列表,以供后續(xù)開發(fā)團隊實現(xiàn)。開發(fā)團隊是軟件的實現(xiàn)者,具有高度自組織性。開發(fā)團隊決定了最終提交產(chǎn)品的質(zhì)量。一個軟件項目中的開發(fā)團隊包括分析師、開發(fā)者、接口設(shè)計者、測試員等。流程管理員是Serum成功最重要的元素,他需要全力以赴幫助開發(fā)團隊成功完成項目。流程管理員和產(chǎn)品負責人不能是同一人。做流程管理員的人可以是以前的項目經(jīng)理,但所做的工作卻與項目經(jīng)理非常不同。流程管理員不是開發(fā)團隊的管理員,而是為開發(fā)團隊提供服務(wù)的,旨在保障開發(fā)團隊不受干擾并引導(dǎo)團隊使用好Serum,他并不分配任務(wù)也不指揮人工作,其職責核心本質(zhì)就是服務(wù)Serum項目團隊的
9、所有成員,為Serum過程掃清障礙。1.2.3Scrum過程Serum過程包括3大部分:(1)開始Serum。由產(chǎn)品負責人列舉所有產(chǎn)品需求,根據(jù)全部需求明確優(yōu)先級,形成productbacklog,開始Sprint迭代。(2)Sprint迭代。每個Sprint之前,先進行Sprint計劃會議(Sprintplanningmeeting)。第一件事由產(chǎn)品負責人和開發(fā)團隊一起回顧productbacklog,彼此交換對此backlog的看法。第二件事由開發(fā)團隊從productbacklog中選擇此次Sprint結(jié)束需要提交完成的需求項,通常按照優(yōu)先級順序來完成。第三件事由開發(fā)團隊估計每個成員在此次
10、sprint中完成任務(wù)需要投入的時間。確定時間后,開發(fā)團隊將優(yōu)先級最高的需求項分解為單個任務(wù),并記錄到Sprintbacklog文檔中。任務(wù)確定后,團隊成員自愿認領(lǐng)任務(wù),需要考慮任務(wù)順序,估計每個任務(wù)的時間并確保每個成員工作負載平衡,然后順序完成各項需求。Sprint迭代開始后,開發(fā)團隊還需進行每日Serum一個15分鐘以內(nèi)的站立會議,每個開發(fā)團隊中的成員都要參加。這個會議主要是開發(fā)團隊成員一個接一個匯報進展和困難,由流程管理員記錄問題并在會后解決問題。站立會議不討論,只匯報,會議結(jié)束后開發(fā)團隊成員更新完成每項任務(wù)的剩余時間,由流程管理員繪制燃盡圖來顯示到提交還剩多少工作。一個Sprint結(jié)束
11、后有一個Sprint評審(Sprintreview)。在評審時,開發(fā)團隊需展示此次Sprint完成的demo,產(chǎn)品負責人、團隊成員、流程管理員、客戶、專家、投資人都可參加評審會并提問。評審結(jié)束后,項目團隊一起進行Serum回顧(Serumretrospective),發(fā)現(xiàn)此次Sprint中做得好或不好的地方。在Sprint評審結(jié)束后,產(chǎn)品負責人要為進入下一個Sprint做準備,根據(jù)上次完成的結(jié)果修改productbacklog,重新確定優(yōu)先級,完成新的productbacklog后,進入新Sprint過程。Sprint不斷迭代,直到產(chǎn)品負責人明確可以發(fā)布產(chǎn)品則停止迭代,進行發(fā)布。(3)發(fā)布產(chǎn)品
12、。1.3Scrum敏捷開發(fā)教學(xué)應(yīng)用上述scrum過程由于迭代周期短,迭代時間可控,學(xué)生在整個學(xué)習過程中都可不斷看到可運行的程序,減少了學(xué)習的挫敗感,非常適用于具有固定時間(通常24個月)的軟件實訓(xùn)教學(xué)。目前Scrum在軟件實訓(xùn)教學(xué)中已有不少應(yīng)用。文獻針對高職軟件開發(fā)課程提由了引人敏捷開發(fā)對于實訓(xùn)模式的創(chuàng)新優(yōu)勢。文獻從啟動項目、實施項目和量化考核3個方面論述了引入Serum的軟件實訓(xùn),但其提供的方案過于籠統(tǒng),操作性不強。文獻從分組、實踐和評價3個方面給由了一套Serum軟件實訓(xùn)教學(xué)方案,并進行了2個學(xué)期的教學(xué)實踐,其方案基本遵循Serum的標準過程,在評價上采用了小組互評的方式,并且以小組互評方
13、式為主(80%),教師評價為輔(20%)。此種評價方式從學(xué)生角度獲得相對公平的評價結(jié)果,但是學(xué)生的視點不同于教師,其評價具有更大的主觀性而缺少專業(yè)性,且單次評價方式缺少教師反饋,難以較好實現(xiàn)過程驅(qū)動與控制。文獻在同濟大學(xué)軟件工程課程中進行了一學(xué)期的軟件工程實驗實踐,提供了一套較為完整且有體系的Serum敏捷應(yīng)用框架,但該應(yīng)用框架主要是對Serum基本過程的細化。筆者在美國學(xué)習期間發(fā)現(xiàn),Serum過程的成功實施,更依賴基于軟件的過程控制以及教師的評價控制,因此,如何充分利用先進信息技術(shù)以及合理評價機制,是Serum成功應(yīng)用于軟件實訓(xùn)類課程的關(guān)鍵所在。2基于Serum的軟件實訓(xùn)設(shè)計方案將Serum
14、過程引入軟件實訓(xùn)類課程的核心要點是明確教學(xué)目標。軟件實訓(xùn)類課程的教學(xué)目標是通過教師引導(dǎo)與管理,使學(xué)生能夠運用和掌握所學(xué)習的軟件開發(fā)原理和技能?;赟erum的軟件實訓(xùn)設(shè)計方案的精髓是把教師定位為教練,利用畢博平臺、G此ub、百度云盤等工具來實現(xiàn)項目管理控制,方案主要包括教學(xué)內(nèi)容、組織形式和評價方式。2.1 軟件實訓(xùn)內(nèi)容軟件實訓(xùn)以項目為主導(dǎo)。項目選擇對于實訓(xùn)有很大影響,決定項目以及開發(fā)規(guī)范是軟件實訓(xùn)的主要內(nèi)容。實訓(xùn)項目選擇原則如下:(1)項目來源:與學(xué)生生活和學(xué)習息息相關(guān)的領(lǐng)域。相關(guān)領(lǐng)域的需求可以讓學(xué)生作為使用者體會需求的有效性,作為開發(fā)者體會完成需求的難度。(2)項目規(guī)模:小型可擴展項目。項目
15、應(yīng)具備幾點核心功能,學(xué)生根據(jù)自身能力在Serum過程中調(diào)整擴展。(3)開發(fā)規(guī)范:包括文檔規(guī)范和編碼規(guī)范。雖然Serum過程不強調(diào)文檔作用,但應(yīng)對productbacklog和Sprintbacklog中的內(nèi)容進行編號,在表達設(shè)計理念中應(yīng)采用UML描述。編碼規(guī)范推薦采用Google的lava編碼規(guī)范。2.2 軟件實訓(xùn)組織基于Serum的軟件實訓(xùn)教學(xué)組織包括整體過程組織和過程實踐組織。整體過程分為3部分一一基礎(chǔ)學(xué)習、過程實踐和評價反饋,如圖1所示。在軟件實訓(xùn)的教學(xué)組織中,可以借助畢博平臺、GitHub管理、百度云盤等工具實現(xiàn)過程控制。畢博平臺負責學(xué)生的整體管理。作為教練,教師通過在畢博平臺上發(fā)布學(xué)
16、習資源、學(xué)習時間進度和學(xué)生階段評價來控制學(xué)習過程;作為學(xué)習者,學(xué)生通過Github實現(xiàn)軟件版本控制,通過Wild實現(xiàn)文檔保存與更新,通過百度云盤實現(xiàn)團隊內(nèi)部文檔共享。評價反饋來自兩個部分:畢博平臺,在關(guān)鍵時間節(jié)點上,教師根據(jù)學(xué)生的項目完成情況,給與分數(shù)評價;Github,在學(xué)生提交代碼和文檔到Github資源庫后,教師根據(jù)提交內(nèi)容進行點評。2.3 軟件實訓(xùn)評價軟件實訓(xùn)課程通常由多個學(xué)生組成團隊完成項目開發(fā)工作,最大的難點就是如何量化每位成員的工作,無法公平地量化學(xué)生的工作量則很難驅(qū)動不自覺的學(xué)生參與項目學(xué)習過程,這將導(dǎo)致由團隊中奧一人全權(quán)負責項目的情況由現(xiàn)?;赟erum的開發(fā)則不存在這樣的問
17、題,因為Serum的會議中每位成員都需要總結(jié)自己在項目開發(fā)中所做的工作以及遇到的問題,這樣教師就可以根據(jù)學(xué)生的記錄進行控制。項目的最終評價主要包含3部分內(nèi)容:過程、代碼和演講展示。過程評價是針對學(xué)生對于Serum實踐的完成情況;代碼是針對學(xué)生完成的軟件及其結(jié)構(gòu)的合理性;演講展示針對學(xué)生對于該次開發(fā)的認識、陳述與總結(jié)。高質(zhì)量的實訓(xùn)應(yīng)該具備4點要素:團隊精誠合作;迭代式開發(fā)不論修正軟件;軟件的代碼結(jié)構(gòu)可維護性與擴展性強;演講陳述邏輯思路清晰。一個項目由團隊完成,所以一切評價的基礎(chǔ)是團隊,團隊成果強則評價基點高。在團隊評價結(jié)果之上,再根據(jù)組員對項目的貢獻度來進行區(qū)別式評價。組員的貢獻度體現(xiàn)在3個方面
18、:Serum總結(jié);組員自身貢獻評價;G計hub代碼貢獻度計量。在Github中,對于每位組員所提交的代碼都有量化,但由于代碼的難度不一,所以此部分的評價比重應(yīng)更為弱化?;谙嘈旁瓌t,可由組員自身給由貢獻度評價,再由Serum總結(jié)給由最終評價。3教學(xué)實踐分析為了驗證該教學(xué)理念和設(shè)計的有效性,在廣東財經(jīng)大學(xué)三年級軟件工程專業(yè)的軟件工程課程設(shè)計中進行教學(xué)實踐試點。具體教學(xué)方案見表1。之所以選擇開發(fā)App項目是因為其快速的特點,App開發(fā)周期短,同時其開發(fā)已經(jīng)具備較好的結(jié)構(gòu)。選擇兒童游戲App和公益項目App是因為這兩類App的需求都是由學(xué)生自身決定和修正的,貼近他們的生活,學(xué)生更容易體會開發(fā)由的軟件的可用性。之所以將項目規(guī)模確定為46個功能,是因為開發(fā)周期為8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度爆炸事故和解賠償及后期修復(fù)服務(wù)合同
- 數(shù)據(jù)科學(xué)在商業(yè)決策中的應(yīng)用作業(yè)指導(dǎo)書
- 農(nóng)業(yè)生產(chǎn)循環(huán)經(jīng)濟方案
- 一機簽首批電焊條出口合同
- 五金機電購銷合同
- 農(nóng)民培訓(xùn)教材農(nóng)業(yè)科技知識普及手冊
- 商業(yè)策劃實戰(zhàn)手冊
- 調(diào)研報告式公司規(guī)章制度匯編
- 離婚房子給小孩離婚協(xié)議書
- 股權(quán)收購協(xié)議書樣式年
- GB/T 45177-2024人工光型植物工廠光環(huán)境技術(shù)規(guī)范
- 2025年個人學(xué)習領(lǐng)導(dǎo)講話心得體會和工作措施例文(6篇)
- 2025大連機場招聘109人易考易錯模擬試題(共500題)試卷后附參考答案
- 2020-2025年中國中小企業(yè)行業(yè)市場調(diào)研分析及投資戰(zhàn)略咨詢報告
- 新HSK一至六級詞匯表
- 藥品監(jiān)管知識培訓(xùn)課件
- 過松源晨炊漆公店(其五)課件
- 安全事故案例圖片(76張)課件
- 預(yù)應(yīng)力錨索施工方案
- 豇豆生產(chǎn)技術(shù)規(guī)程
- MES運行管理辦法
評論
0/150
提交評論