亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Scrum敏捷開發(fā)模型的軟件工程實(shí)踐課程探索

        2015-05-30 22:30:57徐建軍等
        大學(xué)教育 2015年4期

        徐建軍等

        [摘 要]軟件工程的工程教育屬性決定了其對(duì)實(shí)踐環(huán)節(jié)要求非常高。針對(duì)傳統(tǒng)瀑布模型在軟件工程實(shí)踐課程教學(xué)中存在的問題,探索使用Scrum敏捷軟件開發(fā)模型指導(dǎo)學(xué)生進(jìn)行軟件項(xiàng)目開發(fā)的方法,并根據(jù)實(shí)際情況在選題、分組、Scrum實(shí)踐和考核等方面進(jìn)行改革,有效提高了學(xué)生的學(xué)習(xí)積極性、軟件開發(fā)能力和軟件工程素質(zhì)等。

        [關(guān)鍵詞]軟件工程實(shí)踐 敏捷開發(fā)方法 Scrum

        [中圖分類號(hào)] TP311.5-4;G642 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 2095-3437(2015)04-0115-03

        軟件工程的工程教育屬性決定了其對(duì)實(shí)踐環(huán)節(jié)要求非常高。學(xué)生只有真正地去開發(fā)一個(gè)具有一定規(guī)模的軟件項(xiàng)目,才能夠掌握并加深對(duì)軟件工程基本理論知識(shí)的理解;才能通過具體工程實(shí)踐熟練使用相應(yīng)的工具完成需求分析、設(shè)計(jì)建模、協(xié)作開發(fā)、測(cè)試和評(píng)估各個(gè)環(huán)節(jié),掌握主流的軟件開發(fā)方法和軟件項(xiàng)目管理方法,全面提高軟件工程素質(zhì)和能力,為將來從事軟件項(xiàng)目的研發(fā)奠定基礎(chǔ)。

        軟件工程實(shí)踐課程為軟件工程專業(yè)學(xué)生提供了必不可少的實(shí)踐環(huán)節(jié)。目前一般指導(dǎo)學(xué)生按瀑布模型進(jìn)行開發(fā),使學(xué)生能夠體驗(yàn)到完整的軟件開發(fā)過程。但學(xué)生通常沒有項(xiàng)目開發(fā)經(jīng)驗(yàn),難以一步到位,過多的文檔極大地增加了學(xué)生的工作量,組內(nèi)分工不均,往往過多依賴少數(shù)優(yōu)秀學(xué)生工作。在教學(xué)過程中不同程度地存在重結(jié)果輕過程、重技術(shù)輕管理、重個(gè)人能力輕團(tuán)隊(duì)作用的現(xiàn)象。[1]

        軟件工程實(shí)踐課程需要一種能夠提高開發(fā)效率,適合小團(tuán)隊(duì)并能夠充分調(diào)動(dòng)團(tuán)隊(duì)成員積極性的實(shí)踐方法。敏捷軟件開發(fā)方法是一種以人為本、輕文檔重產(chǎn)品的軟件開發(fā)方法,與“非敏捷”方法相比,敏捷軟件開發(fā)方法強(qiáng)調(diào)適度的過程管理、高效的溝通、快速的適應(yīng)變化能力和緊湊自組織的團(tuán)隊(duì)等。Scrum作為敏捷開發(fā)方法的一種實(shí)踐框架,提出了敏捷開發(fā)過程的預(yù)定義角色和最佳實(shí)踐方案。筆者近幾年在軟件工程實(shí)踐教學(xué)中指導(dǎo)學(xué)生應(yīng)用Scrum模型進(jìn)行項(xiàng)目開發(fā),本文介紹這方面的探索經(jīng)驗(yàn)。

        一、Scrum敏捷開發(fā)方法

        Scrum于1993年由Jeff Sutherland和Ken Schwaber創(chuàng)立,是一種迭代式增量敏捷軟件開發(fā)框架,為敏捷開發(fā)實(shí)踐提供了具體的行動(dòng)綱領(lǐng)[2],目前Scrum已在Google、華為等大型軟件公司得到廣泛應(yīng)用。如圖1所示,Scrum模型需要將整個(gè)項(xiàng)目周期劃分為多個(gè)Sprint(沖刺),Spritn為一個(gè)迭代過程,每個(gè)Sprint從整個(gè)項(xiàng)目的待開發(fā)產(chǎn)品Backlog(清單)中選出多個(gè)構(gòu)成Sprint Backlog,迭代完成后則發(fā)布一個(gè)可交付的軟件版本。

        項(xiàng)目參與人員在Scrum模型中被劃分為3種角色:產(chǎn)品負(fù)責(zé)人、Scrum Master和開發(fā)團(tuán)隊(duì)。產(chǎn)品負(fù)責(zé)人是客戶利益的代表,主要負(fù)責(zé)確定產(chǎn)品功能、合理安排功能實(shí)現(xiàn)優(yōu)先級(jí)以及評(píng)估開發(fā)團(tuán)隊(duì)的工作成果等;Scrum Master作為項(xiàng)目經(jīng)理同產(chǎn)品負(fù)責(zé)人緊密工作,確保開發(fā)過程按計(jì)劃進(jìn)行、排除遇到的困難、保證開發(fā)團(tuán)隊(duì)的工作效率和成員間的合作不受外界影響;開發(fā)團(tuán)隊(duì)包括設(shè)計(jì)人員、開發(fā)人員、測(cè)試人員等,具體負(fù)責(zé)按承諾及時(shí)完成開發(fā)任務(wù),有高度的自我組織能力。

        在Scrum模型中,還包括3個(gè)制品和4種會(huì)議。[3]3個(gè)制品為:①產(chǎn)品Backlog,以用戶故事形式表示的產(chǎn)品需求列表,由產(chǎn)品負(fù)責(zé)人維護(hù)具體條目,開發(fā)團(tuán)隊(duì)估算工作量;②Sprint Backlog,定義了一個(gè)Sprint的開發(fā)目標(biāo),在Sprint過程中不允許發(fā)生變更;③燃盡圖,公開展示的圖表用于記錄任務(wù)完成情況,直觀反映了Sprint的執(zhí)行過程。4種會(huì)議為:①Sprint計(jì)劃會(huì)議,產(chǎn)品負(fù)責(zé)人向開發(fā)團(tuán)隊(duì)介紹和分析產(chǎn)品Backlog,開發(fā)團(tuán)隊(duì)挑選出本次Sprint承諾要完成的條目;②每日站立會(huì)議,團(tuán)隊(duì)所有成員參加的短會(huì),所有人站立開會(huì),交流項(xiàng)目進(jìn)展情況;③Sprint評(píng)審會(huì)議,開發(fā)團(tuán)隊(duì)向產(chǎn)品負(fù)責(zé)人和其他相關(guān)人員演示產(chǎn)品功能;④Sprint回顧會(huì)議,所有人員都要反思這個(gè)Sprint,為了進(jìn)行持續(xù)的過程改進(jìn)。

        二、軟件工程實(shí)踐教學(xué)

        由于Scrum模型適用于規(guī)模較小的團(tuán)隊(duì),并具有可檢查、適應(yīng)性強(qiáng)、透明性好和學(xué)習(xí)成本低等優(yōu)點(diǎn),適合在軟件工程實(shí)踐課程中指導(dǎo)項(xiàng)目開發(fā)。[4] [5]然而,學(xué)校環(huán)境與軟件公司環(huán)境有所不同,學(xué)生在能力和經(jīng)驗(yàn)方面與公司員工的也存在差距,課程的主要任務(wù)還是培養(yǎng)和鍛煉學(xué)生。因此,應(yīng)結(jié)合實(shí)際教學(xué)情況對(duì)Scrum模型進(jìn)行適當(dāng)調(diào)整。

        (一)分組和選題

        首先根據(jù)自愿原則把學(xué)生分為多個(gè)項(xiàng)目組,每組5-7人,劃分小組時(shí)需考慮溝通效率和學(xué)生開發(fā)能力等因素。Scrum模型要求團(tuán)隊(duì)成員之間密切溝通,而且項(xiàng)目開發(fā)更多是在課外時(shí)間進(jìn)行,所以要求學(xué)生根據(jù)所在宿舍、選課等情況分組,確保小組內(nèi)部交流順暢。同時(shí)每組應(yīng)至少安排1-2名軟件開發(fā)經(jīng)驗(yàn)較豐富的學(xué)生,以保證項(xiàng)目開發(fā)的順利進(jìn)行。分組后需按Scrum框架給組內(nèi)學(xué)生分派角色,剛開始每個(gè)組內(nèi)軟件開發(fā)能力最強(qiáng)的學(xué)生往往被選為Scrum Master,此處需要糾正的是,Scrum Master更注重管理和協(xié)調(diào)能力。

        實(shí)踐題目一般由教師提供,也鼓勵(lì)項(xiàng)目組向教師推薦,但要征得教師的認(rèn)可。實(shí)踐選題的難度不宜太大,最好是開發(fā)團(tuán)隊(duì)熟悉并感興趣的領(lǐng)域,課程的目標(biāo)是體驗(yàn)軟件開發(fā)的過程,并注重軟件的完成質(zhì)量,要求作品質(zhì)量能達(dá)到與市場(chǎng)上的產(chǎn)品媲美的程度。已有的選題包括:二手交易、網(wǎng)上書店、社交平臺(tái)、新聞聚合、手機(jī)游戲等。

        (二)Scrum實(shí)踐

        我校軟件工程實(shí)踐課程安排兩個(gè)月左右的時(shí)間,被劃分成3個(gè)Sprint,每個(gè)Sprint約3周。這里介紹其中關(guān)鍵環(huán)節(jié)的實(shí)施情況。

        (1)制訂Sprint計(jì)劃

        項(xiàng)目組通過Sprint計(jì)劃會(huì)議制訂工作計(jì)劃,確定本次Sprint的目標(biāo)。產(chǎn)品負(fù)責(zé)人首先需要與客戶代表(即教師)充分溝通后,創(chuàng)建整個(gè)產(chǎn)品的Backlog,然后在計(jì)劃會(huì)議上向開發(fā)團(tuán)隊(duì)詳細(xì)介紹每個(gè)條目,并說明完成的優(yōu)先級(jí)。開發(fā)團(tuán)隊(duì)從產(chǎn)品Backlog挑選出本次Sprint承諾要完成的條目構(gòu)成Sprint Backlog,并估算完成各個(gè)條目所需的工作量,將其分解成具體的開發(fā)任務(wù),然后通過自愿領(lǐng)取的方式分派給開發(fā)團(tuán)隊(duì)的某個(gè)成員。由于課堂時(shí)間有限,選擇一個(gè)準(zhǔn)備充分的項(xiàng)目組在課上進(jìn)行展示,其余組在課后完成,并向教師提交會(huì)議成果。

        (2)每日站立會(huì)議

        每日站立會(huì)議由項(xiàng)目組的Scrum Master組織,教師旁聽,僅在必要時(shí)給出意見。按Scrum框架要求,會(huì)上每個(gè)人必須解釋和回答3個(gè)問題:昨天完成了什么?今天計(jì)劃做什么?還需要哪些幫助?會(huì)議限定時(shí)間少于15分鐘,Scrum Master會(huì)后根據(jù)進(jìn)展情況相應(yīng)更新燃盡圖。由于每周僅一次課,要求項(xiàng)目組每周至少進(jìn)行3次站立會(huì)議。

        (3)結(jié)對(duì)編程

        在校學(xué)生沒有太多的軟件開發(fā)經(jīng)驗(yàn),編程能力參差不齊,所以筆者在教學(xué)過程還引入極限編程中的結(jié)對(duì)編程方法。讓兩名學(xué)生構(gòu)成一個(gè)開發(fā)小組,他們之間能夠有效交流、相互學(xué)習(xí)和傳遞經(jīng)驗(yàn),提高整個(gè)團(tuán)隊(duì)的工作效率。

        (4)Sprint評(píng)審及回顧

        在一個(gè)Sprint完成后,由開發(fā)團(tuán)隊(duì)中的測(cè)試人員向產(chǎn)品負(fù)責(zé)人和客戶代表(即教師)演示階段成果,產(chǎn)品負(fù)責(zé)人和教師給出改進(jìn)意見。Scrum Master匯報(bào)本次Sprint的完成情況,并展示燃盡圖,教師進(jìn)行點(diǎn)評(píng)。在Sprint回顧會(huì)議上,項(xiàng)目組通過投票的方式選出本次Sprint做得好的3個(gè)環(huán)節(jié)和下次Sprint迫切需要改進(jìn)的3個(gè)問題。

        (5)文檔撰寫

        敏捷開發(fā)方法強(qiáng)調(diào)可用的軟件重于完備的文檔,但并不意味著不寫文檔。軟件工程實(shí)踐課程要求學(xué)生編寫適量的文檔,這也是培養(yǎng)軟件工程能力的一方面。文檔撰寫按照Scrum的角色進(jìn)行分配,Scrum Master負(fù)責(zé)軟件開發(fā)計(jì)劃和實(shí)施過程文檔,產(chǎn)品負(fù)責(zé)人負(fù)責(zé)可行性論證報(bào)告和需求分析文檔,開發(fā)團(tuán)隊(duì)負(fù)責(zé)軟件設(shè)計(jì)文檔、軟件測(cè)試文檔和安裝手冊(cè)等。

        (三)考核方式

        為使課程考核盡可能客觀、公正,在課程驗(yàn)收階段,每個(gè)項(xiàng)目組都要進(jìn)行公開演示,其余項(xiàng)目組和教師一起對(duì)該組進(jìn)行量化打分,評(píng)價(jià)內(nèi)容包括難度、質(zhì)量、創(chuàng)新和界面四個(gè)方面。教員結(jié)合演示情況和文檔對(duì)項(xiàng)目進(jìn)行綜合評(píng)價(jià),小組互評(píng)占80%,教員評(píng)價(jià)占20%。其次,Scrum Master要給出組內(nèi)每個(gè)成員的具體業(yè)績系數(shù),然后在項(xiàng)目組總成績的基礎(chǔ)上再確定每個(gè)成員的最終成績。

        三、教學(xué)效果

        我們已經(jīng)在2個(gè)學(xué)期的軟件工程實(shí)踐課程中使用了Scrum模型,在激發(fā)學(xué)生學(xué)習(xí)興趣、提高軟件開發(fā)質(zhì)量等方面取得了較好的效果,主要體現(xiàn)在以下幾個(gè)方面。

        (1)激發(fā)了學(xué)生的創(chuàng)造力和主動(dòng)性。在實(shí)踐過程中,開發(fā)團(tuán)隊(duì)是通過自愿領(lǐng)取的方式分派開發(fā)任務(wù),每日例會(huì)和燃盡圖將小組成員的開發(fā)進(jìn)度公開展示出來。后進(jìn)學(xué)生體會(huì)到項(xiàng)目壓力,努力上進(jìn),使項(xiàng)目組內(nèi)部形成一種良性競爭機(jī)制,從而使學(xué)生更積極主動(dòng)地參與項(xiàng)目開發(fā)。

        (2)提高了學(xué)生的軟件工程素質(zhì)。將項(xiàng)目開發(fā)過程拆分為多個(gè)Sprint,最終形成一個(gè)軟件產(chǎn)品,這符合軟件開發(fā)的基本規(guī)律,而且這種“計(jì)劃、實(shí)施、評(píng)價(jià)、改進(jìn)”的迭代開發(fā)體驗(yàn)對(duì)于經(jīng)驗(yàn)不多的軟件工程專業(yè)學(xué)生來說幫助非常大。一般而言,第一個(gè)Sprint效果不會(huì)太好,到第三個(gè)Sprint基本上每個(gè)項(xiàng)目組都有很大改進(jìn)。

        (3)學(xué)生的軟件開發(fā)能力得到明顯增強(qiáng)。在敏捷開發(fā)框架下,學(xué)生只編寫一些重要文檔,能夠?qū)⒕χ攸c(diǎn)放在編碼和調(diào)試上。通過結(jié)對(duì)編程,基礎(chǔ)差的學(xué)生可以向好的學(xué)生學(xué)習(xí)(實(shí)踐證明相互學(xué)習(xí)的效果很好),也提供更好的設(shè)計(jì)質(zhì)量和代碼質(zhì)量,改善了工作紀(jì)律性,。

        (4)評(píng)價(jià)更加客觀公正。由于Scrum透明性好的特點(diǎn),每位學(xué)生的工作完成情況在實(shí)踐過程中一目了然,所以對(duì)學(xué)生的評(píng)價(jià)相對(duì)是比較容易的。項(xiàng)目組之間互評(píng)的機(jī)制也保證了評(píng)價(jià)的公正性。

        但目前也還存在一些不足,主要體現(xiàn)在:計(jì)劃制訂不盡合理,項(xiàng)目組成員之間的交流還不夠積極,課后工作落實(shí)不到位,文檔作用體現(xiàn)不明顯,部分學(xué)生因?yàn)榛A(chǔ)差、自覺性差等原因參與度不高。這些都是我們下一步重點(diǎn)解決的問題。

        四、結(jié)語

        Scrum敏捷開發(fā)模型具有可檢查、適應(yīng)性強(qiáng)和學(xué)習(xí)成本低等優(yōu)點(diǎn),適用于小規(guī)模的軟件開發(fā)團(tuán)隊(duì)。在軟件工程實(shí)踐課程教學(xué)中,我們嘗試用改進(jìn)的Scrum模型指導(dǎo)學(xué)生進(jìn)行軟件項(xiàng)目開發(fā),能夠有效激發(fā)學(xué)生的積極性和主動(dòng)性,使其參與開發(fā)互動(dòng),從而了解軟件項(xiàng)目開發(fā)過程,提高軟件開發(fā)能力和軟件工程素質(zhì),項(xiàng)目完成質(zhì)量和教學(xué)效果有明顯改進(jìn)。

        [ 注 釋 ]

        [1] 曾紅衛(wèi),劉悅,劉煒.軟件工程實(shí)踐教學(xué)方法探索[J].計(jì)算機(jī)工程與科學(xué),2011(A1):15-18.

        [2] Scrum(software development)[J / OL].http://en.wikipedia.org / wiki / Scrum_(software_development), lasted visited ,2014

        -10-20.

        [3] Henrik Kniberg著.李劍譯.硝煙中的Scrum和XP——我們?nèi)绾螌?shí)施Scrum[M].北京:清華大學(xué)出版社.http://infoq.com / cn / minibooks / scrum-xp-from-the-trenches,lasted visited 2014-10-20.

        [4] 林曉宇.基于Scrum敏捷方法的軟件工程實(shí)踐教學(xué)探索[J].電腦知識(shí)與技術(shù),2011(19):4762-4765.

        [5] 徐海濤,吳昊.基于Scrum和極限編程結(jié)合的軟件項(xiàng)目實(shí)踐課程教學(xué)改革與實(shí)踐[J].福建電腦,2013(4):44-46.

        [責(zé)任編輯:覃侶冰]

        99久久久无码国产精品动漫| 国产精品亚洲精品日韩已方| 午夜男女很黄的视频| 国产午夜精品一区二区三区不卡| 日韩av在线毛片| 亚洲色图第一页在线观看视频| 24小时免费在线观看av| 少妇高潮一区二区三区99| 玩两个丰满老熟女| 亚洲日本在线va中文字幕| 女人天堂av免费在线| 精品无码av无码专区| 亚洲国产一区二区视频| 蜜桃视频在线看一区二区三区| 啦啦啦www播放日本观看| 国产欧美日韩综合在线一区二区| 国产成人午夜av影院| 久久综合久久综合久久| 免费人成网站在线观看欧美| 18无码粉嫩小泬无套在线观看| 亚洲美女影院| 精品人妻一区二区蜜臀av| 久久精品国产色蜜蜜麻豆国语版| 激性欧美激情在线| 国产一毛片| 亚洲国产人成自精在线尤物| 免费a级毛片18禁网站免费| 最近最好的中文字幕2019免费| 老熟女熟妇嗷嗷叫91| 视频区一区二在线观看| 国产欧美日韩精品丝袜高跟鞋| 人人做人人妻人人精| 国产91精品丝袜美腿在线| 日本一二三四高清在线| 激情影院内射美女| 午夜精品一区二区三区无码不卡 | 久久久亚洲精品蜜臀av| 免费日本一区二区三区视频| 午夜亚洲www湿好爽| 一本一道AⅤ无码中文字幕| 日本不卡一区二区三区久久精品|