• 
    

    
    

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

      基于敏捷開(kāi)發(fā)的物聯(lián)網(wǎng)工程實(shí)踐教學(xué)探討

      2020-05-09 10:24:36顧家銘
      科教導(dǎo)刊 2020年5期
      關(guān)鍵詞:實(shí)踐教學(xué)項(xiàng)目管理

      摘 要 針對(duì)傳統(tǒng)瀑布模型在物聯(lián)網(wǎng)實(shí)踐課程中的弊端,結(jié)合敏捷開(kāi)發(fā)的優(yōu)點(diǎn),提出一種適合物聯(lián)網(wǎng)工程實(shí)踐課程的教學(xué)方法,并給出了相應(yīng)的實(shí)施方法。采用多樣化的項(xiàng)目選題,引入敏捷開(kāi)發(fā)中的Scrum模式,使用JIRA、SVN和Jenkins等工具進(jìn)行項(xiàng)目管理,同時(shí)設(shè)計(jì)項(xiàng)目評(píng)估原則。任課教師可以獲取實(shí)時(shí)數(shù)據(jù),對(duì)項(xiàng)目進(jìn)行連續(xù)跟蹤和及時(shí)反饋。實(shí)踐表明,該方法能使學(xué)生體驗(yàn)真實(shí)項(xiàng)目的開(kāi)發(fā)流程,提高實(shí)際編程能力和團(tuán)隊(duì)協(xié)作能力,養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格,編寫(xiě)高質(zhì)量代碼。

      關(guān)鍵詞 實(shí)踐教學(xué) 敏捷開(kāi)發(fā) Scrum 項(xiàng)目管理

      中圖分類(lèi)號(hào):G424? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? DOI:10.16400/j.cnki.kjdkz.2020.02.049

      Abstract In view of the disadvantages of traditional waterfall model in the practice course of Internet of things, combined with the advantages of agile development, a teaching method suitable for the practice course of Internet of things engineering is proposed, and the corresponding implementation method is given. It adopts diversified project topics, introduces scrum mode in agile development, uses JIRA, SVN, Jenkins and other tools for project management, and designs project evaluation principles. Teachers can get real-time data, track and feedback the project continuously. Practice shows that this method can enable students to experience the development process of real projects, improve their practical programming ability and teamwork ability, develop good programming style and write high-quality code.

      Keywords practice teaching; agile development; Scrum; project management

      0 引言

      物聯(lián)網(wǎng)工程實(shí)踐是我校物聯(lián)網(wǎng)專(zhuān)業(yè)三年級(jí)學(xué)生的必修課程,學(xué)生已經(jīng)經(jīng)歷了嵌入式開(kāi)發(fā)、C#開(kāi)發(fā)、Android開(kāi)發(fā)和數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)。學(xué)生通過(guò)該課程的學(xué)習(xí),掌握物聯(lián)網(wǎng)項(xiàng)目軟硬件開(kāi)發(fā)和維護(hù)的一般過(guò)程。該課程通過(guò)實(shí)踐操作,讓學(xué)生深入理解物聯(lián)網(wǎng)框架和掌握物聯(lián)網(wǎng)項(xiàng)目開(kāi)發(fā)的基本技術(shù)。

      一般的物聯(lián)網(wǎng)工程實(shí)踐課程,采用傳統(tǒng)的瀑布模型進(jìn)行開(kāi)發(fā)。傳統(tǒng)的瀑布式開(kāi)發(fā)模型,按照需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試和運(yùn)行維護(hù)等階段。瀑布式開(kāi)發(fā)模型注重文檔,文檔是各階段銜接的必要信息,在可運(yùn)行的軟件產(chǎn)品交付給用戶(hù)之前,用戶(hù)只能通過(guò)文檔來(lái)了解產(chǎn)品的“模樣”。由于學(xué)生沒(méi)有實(shí)際開(kāi)發(fā)經(jīng)驗(yàn),對(duì)物聯(lián)網(wǎng)應(yīng)用了解不深,對(duì)撰寫(xiě)文檔不感興趣,所以學(xué)生的學(xué)習(xí)積極性不高。[1]

      1 敏捷開(kāi)發(fā)方法

      敏捷開(kāi)發(fā)(Agile Development)是針對(duì)傳統(tǒng)的瀑布開(kāi)發(fā)模式的弊端而產(chǎn)生的一種新的開(kāi)發(fā)模式,Agile有輕巧、機(jī)敏、活力的意思,目標(biāo)是提高開(kāi)發(fā)效率和響應(yīng)能力。[2]敏捷開(kāi)發(fā)是一種以人為核心、迭代、循序漸進(jìn)的開(kāi)發(fā)方法,主要方法有極限編程(Extreme Programming,簡(jiǎn)稱(chēng)XP)、水晶方法(Crystal)、動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)方法(Dynamic System Development Methodology,簡(jiǎn)稱(chēng)DSDM)、精益開(kāi)發(fā)(Lean)、Scrum等,相對(duì)于那些“非敏捷”軟件開(kāi)發(fā)方法來(lái)說(shuō),更強(qiáng)調(diào)適應(yīng)性而非預(yù)測(cè)性,更強(qiáng)調(diào)以人為導(dǎo)向而非過(guò)程導(dǎo)向。[3]

      敏捷是一種指導(dǎo)思想或開(kāi)發(fā)方式,而Scrum被認(rèn)為是全球最流行和最有效的敏捷開(kāi)發(fā)的具體方式之一。Scrum的英文意思是橄欖球運(yùn)動(dòng)的一個(gè)專(zhuān)業(yè)術(shù)語(yǔ),表示“爭(zhēng)球”。在敏捷開(kāi)發(fā)中,Scrum不是開(kāi)發(fā)產(chǎn)品的一種流程或一項(xiàng)技術(shù),而是一個(gè)框架,在這個(gè)框架里可以應(yīng)用各種方法和技術(shù)。[4]

      2 敏捷開(kāi)發(fā)的物聯(lián)網(wǎng)工程實(shí)踐面臨的挑戰(zhàn)

      大部分的歐美IT企業(yè)已經(jīng)采用敏捷開(kāi)發(fā)方法進(jìn)行開(kāi)發(fā),而近幾年受外企和軟件外包的帶動(dòng),中國(guó)IT公司也逐漸普及敏捷開(kāi)發(fā)模式。IT界的轉(zhuǎn)變推動(dòng)大學(xué)課程的改革,敏捷開(kāi)發(fā)在物聯(lián)網(wǎng)工程實(shí)踐課程中得到越來(lái)越多的關(guān)注。根據(jù)物聯(lián)網(wǎng)專(zhuān)業(yè)的特點(diǎn),如何設(shè)計(jì)基于敏捷的物聯(lián)網(wǎng)教學(xué)實(shí)踐環(huán)節(jié),成為教學(xué)改革的一個(gè)新問(wèn)題。[5]

      如果將敏捷開(kāi)發(fā)直接運(yùn)用到物聯(lián)網(wǎng)實(shí)踐課程的教學(xué)環(huán)節(jié)比較困難,面臨以下的問(wèn)題:敏捷開(kāi)發(fā)需要項(xiàng)目管理的連續(xù)跟蹤和及時(shí)反饋,如何進(jìn)行項(xiàng)目的過(guò)程控制。學(xué)生需要在一個(gè)學(xué)期內(nèi),完成從需求分析到最終的產(chǎn)品交付,軟件項(xiàng)目在初期被切分成多個(gè)可獨(dú)立運(yùn)行的小項(xiàng)目,并在每個(gè)小的迭代周期分別完成,每一次迭代周期可以開(kāi)發(fā)一個(gè)可交付的軟件產(chǎn)品,在此過(guò)程中軟件一直處于可使用狀態(tài)。我們還需要跟蹤每個(gè)開(kāi)發(fā)團(tuán)隊(duì)的進(jìn)度,對(duì)每個(gè)迭代周期進(jìn)行及時(shí)反饋,這樣工作量巨大,教師需要采用敏捷開(kāi)發(fā)的自動(dòng)化工具來(lái)進(jìn)行項(xiàng)目管理和過(guò)程控制。

      3 敏捷開(kāi)發(fā)的物聯(lián)網(wǎng)工程實(shí)踐教學(xué)課程的設(shè)計(jì)

      針對(duì)以上的需求,引入敏捷開(kāi)發(fā)中最流行的Scrum框架,精心設(shè)計(jì)了物聯(lián)網(wǎng)工程實(shí)踐課程的教學(xué)方案,并且搭建了物聯(lián)網(wǎng)實(shí)訓(xùn)支撐平臺(tái)。本文介紹了在項(xiàng)目選題、項(xiàng)目分組、項(xiàng)目管理和項(xiàng)目評(píng)估等方面的探索和經(jīng)驗(yàn)。

      3.1 項(xiàng)目選題

      物聯(lián)網(wǎng)實(shí)踐項(xiàng)目的選題是實(shí)際教學(xué)中的一個(gè)關(guān)鍵問(wèn)題。很多學(xué)校都嘗試引入真實(shí)物聯(lián)網(wǎng)項(xiàng)目,但是考慮到物聯(lián)網(wǎng)項(xiàng)目的復(fù)雜度、工作量、學(xué)生的背景、課程設(shè)置的局限性等問(wèn)題,很難找到適合的項(xiàng)目。由于每年大約有120人選修此課程,而且學(xué)生背景差異比較大,因此合理的解決方案是提供多樣性的項(xiàng)目選題,使不同層次的學(xué)生都能找到自己感興趣的項(xiàng)目。這些項(xiàng)目有校企聯(lián)合開(kāi)發(fā)的、學(xué)校內(nèi)部的,也有學(xué)生自定義題目,自定義的題目必須得到教師允許方可開(kāi)展。項(xiàng)目的多樣化激發(fā)了學(xué)生的學(xué)習(xí)興趣,同時(shí)也豐富了學(xué)生的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)。

      3.2 項(xiàng)目分組

      Scrum團(tuán)隊(duì)由產(chǎn)品負(fù)責(zé)人(Product Owner,簡(jiǎn)稱(chēng)PO)、Scrum主管(Scrum Master,簡(jiǎn)稱(chēng)SM)和Scrum開(kāi)發(fā)團(tuán)隊(duì)(Scrum Team)組成。在企業(yè)中,通常由系統(tǒng)架構(gòu)師(簡(jiǎn)稱(chēng)SE)擔(dān)任產(chǎn)品負(fù)責(zé)人,由資深員工擔(dān)任Scrum主管,由研發(fā)成員組成Scrum開(kāi)發(fā)團(tuán)隊(duì)。一個(gè)理想的Scrum團(tuán)隊(duì)建議在5~9人左右,推崇小團(tuán)隊(duì)和高效率。[6]

      我們的課程每年約有120名學(xué)生,每個(gè)開(kāi)發(fā)團(tuán)隊(duì)由4~6人組成,大約有25個(gè)Scrum團(tuán)隊(duì),由學(xué)生自由組合,每個(gè)團(tuán)隊(duì)自行推選出Scrum主管。由任課老師和用戶(hù)代表?yè)?dān)任產(chǎn)品負(fù)責(zé)人。

      3.3 項(xiàng)目管理

      在開(kāi)課前,任課教師篩選出項(xiàng)目規(guī)模、復(fù)雜度和工作量適合的物聯(lián)網(wǎng)應(yīng)用項(xiàng)目作為學(xué)生的可選項(xiàng)目。在開(kāi)學(xué)的第一周,由任課老師和用戶(hù)代表對(duì)項(xiàng)目進(jìn)行介紹,然后由學(xué)生自由組合4~6人左右的開(kāi)發(fā)團(tuán)隊(duì),選擇項(xiàng)目或自定義項(xiàng)目,自定義項(xiàng)目需由任課老師允許方可開(kāi)發(fā)。

      在整個(gè)Scrum過(guò)程中,Sprint是核心,Sprint指的是一次迭代,課程選擇的迭代周期是2周。Scrum開(kāi)發(fā)團(tuán)隊(duì)在每個(gè)Sprint中,首先在計(jì)劃會(huì)議中確定本次Sprint的計(jì)劃,然后完成計(jì)劃內(nèi)容的編碼和測(cè)試,在Sprint評(píng)審會(huì)議中向任課教師和用戶(hù)代表演示功能、檢視是否合格,最后在Sprint反思會(huì)議總結(jié)經(jīng)驗(yàn)和教訓(xùn),提出進(jìn)一步的改進(jìn)措施。在每個(gè)Sprint結(jié)束,每個(gè)Scrum開(kāi)發(fā)團(tuán)隊(duì)需要提交“完成的”“可運(yùn)行”的軟件(見(jiàn)圖1)。

      為了更好地使用敏捷開(kāi)發(fā)模式,對(duì)項(xiàng)目進(jìn)行連續(xù)跟蹤和及時(shí)反饋,我們使用JIRA進(jìn)行項(xiàng)目管理和開(kāi)發(fā)管理。JIRA被廣泛應(yīng)用于缺陷跟蹤、項(xiàng)目跟蹤、任務(wù)跟蹤和敏捷管理等工作領(lǐng)域。為了更好地進(jìn)行代碼管理,我們使用SVN進(jìn)行代碼的版本控制,每次學(xué)生提交新的代碼到SVN后,自動(dòng)運(yùn)行Jenkins持續(xù)集成工具自動(dòng)化部署環(huán)境,開(kāi)發(fā)和測(cè)試人員可以看到最新的應(yīng)用程序。使用Jenkins可以使整個(gè)構(gòu)建、部署過(guò)程自動(dòng)化,減輕開(kāi)發(fā)團(tuán)隊(duì)的工作量。

      3.4 項(xiàng)目評(píng)估

      項(xiàng)目評(píng)估遵循以下的原則:

      第一,關(guān)注過(guò)程性評(píng)估。課程選擇的Sprint迭代周期是2周,將課程分為8個(gè)Sprint,任課老師和用戶(hù)代表參與每個(gè)Sprint評(píng)審會(huì)議,評(píng)估項(xiàng)目質(zhì)量。任課老師根據(jù)項(xiàng)目管理工具JIRA、版本控制軟件SVN和持續(xù)集成工具Jenkins中的實(shí)時(shí)數(shù)據(jù),不斷采集項(xiàng)目信息并且評(píng)估項(xiàng)目進(jìn)度。過(guò)程性評(píng)價(jià)可以了解學(xué)生的動(dòng)態(tài)信息,及時(shí)反饋信息和及時(shí)指導(dǎo),使計(jì)劃和方案不斷優(yōu)化。

      第二,關(guān)注團(tuán)隊(duì)貢獻(xiàn)和個(gè)人貢獻(xiàn)評(píng)估。Scrum強(qiáng)調(diào)的是開(kāi)發(fā)團(tuán)隊(duì)的自我管理,在整個(gè)過(guò)程中,每個(gè)團(tuán)隊(duì)成員積極主動(dòng)、技術(shù)過(guò)硬、自我管理,每個(gè)團(tuán)隊(duì)成員的技術(shù)、協(xié)作能力得以提高。每個(gè)學(xué)生的分?jǐn)?shù)又細(xì)化為團(tuán)隊(duì)整體得分和學(xué)生個(gè)人貢獻(xiàn),即培養(yǎng)了團(tuán)隊(duì)協(xié)作探究能力,又注重學(xué)生的學(xué)習(xí)積極性。

      第三,關(guān)注代碼質(zhì)量評(píng)估。課堂教學(xué)普遍的問(wèn)題是學(xué)生實(shí)際程序設(shè)計(jì)能力比較差,代碼質(zhì)量不高。[7]對(duì)于一個(gè)項(xiàng)目,我們既關(guān)心它的功能實(shí)現(xiàn),也關(guān)心它的效率和效果。我們?cè)u(píng)價(jià)高質(zhì)量代碼有三個(gè)要素:可讀性、可維護(hù)性和可變現(xiàn)性,任課教師采用自動(dòng)化工具對(duì)項(xiàng)目代碼進(jìn)行檢測(cè),并且在課程教學(xué)中引導(dǎo)學(xué)生重視并養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格,編寫(xiě)高質(zhì)量代碼。

      4 結(jié)語(yǔ)

      本文介紹了敏捷開(kāi)發(fā)在物聯(lián)網(wǎng)實(shí)踐課程中的探討和研究。在物聯(lián)網(wǎng)實(shí)踐課程中采用多樣化的項(xiàng)目選題,引入敏捷開(kāi)發(fā)中最流行的Scrum框架,使用項(xiàng)目管理工具JIRA、版本控制軟件SVN和持續(xù)集成工具Jenkins等進(jìn)行項(xiàng)目管理和持續(xù)質(zhì)量控制,同時(shí)重新設(shè)計(jì)了項(xiàng)目評(píng)估標(biāo)準(zhǔn)。通過(guò)實(shí)踐教學(xué)環(huán)節(jié),希望幫助學(xué)生體驗(yàn)物聯(lián)網(wǎng)系統(tǒng)開(kāi)發(fā)流程,掌握物聯(lián)網(wǎng)項(xiàng)目開(kāi)發(fā)的基本技術(shù)。

      基金項(xiàng)目:武漢市教育局課題“基于敏捷開(kāi)發(fā)的物聯(lián)網(wǎng)專(zhuān)業(yè)實(shí)踐教學(xué)改革”(2015118)

      參考文獻(xiàn)

      [1] 白魚(yú)秀,鄭歡歡.敏捷開(kāi)發(fā)在軟件工程實(shí)踐課程中的應(yīng)用[J].計(jì)算機(jī)學(xué)報(bào),2017(1):85-86,89.

      [2] 顧家銘.敏捷開(kāi)發(fā)在物聯(lián)網(wǎng)實(shí)踐教學(xué)中的探索[J].軟件導(dǎo)刊·教育技術(shù),2016.15(4):19-21.

      [3] 張敬周,錢(qián)樂(lè)秋,朱三元.Agile方法研究綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2002.19(6):1-9,54.

      [4] 顧家銘.Scrum和Robocode在C#教學(xué)中的應(yīng)用探索[J].科教導(dǎo)刊,2016(16):117-118.

      [5] 白曉穎,李山山,李明杰,等.基于敏捷開(kāi)發(fā)的軟件工程實(shí)踐教學(xué)探討[J].實(shí)驗(yàn)技術(shù)與管理,2018.35(4):6-11.

      [6] 葉俊文.融合Scrum敏捷開(kāi)發(fā)的標(biāo)準(zhǔn)研制項(xiàng)目管理模式探索[J].中國(guó)標(biāo)準(zhǔn)化,2019(5):38-43,53.

      [7] 陳立前,李?yuàn)檴櫍~常春.程序設(shè)計(jì)教學(xué)中學(xué)生程序設(shè)計(jì)風(fēng)格的養(yǎng)成[J].計(jì)算機(jī)工程與科學(xué),2016.38(z1):50-54.

      猜你喜歡
      實(shí)踐教學(xué)項(xiàng)目管理
      裝配式EPC總承包項(xiàng)目管理
      基于大數(shù)據(jù)分析的集合式EPC總承包項(xiàng)目管理軟件技術(shù)的應(yīng)用
      項(xiàng)目管理在科研項(xiàng)目管理中的應(yīng)用
      未來(lái)如何更高效地進(jìn)行工程項(xiàng)目管理
      環(huán)境工程的項(xiàng)目管理
      茶學(xué)專(zhuān)業(yè)校企合作實(shí)踐教學(xué)探索
      考試周刊(2016年79期)2016-10-13 23:35:16
      《電氣工程畢業(yè)設(shè)計(jì)》 課程的教學(xué)設(shè)計(jì)
      考試周刊(2016年79期)2016-10-13 23:26:02
      研究型學(xué)習(xí)在傳熱學(xué)實(shí)踐教學(xué)中的應(yīng)用
      思想政治理論課實(shí)踐教學(xué)研究述評(píng)
      高職院校商務(wù)禮儀課程教學(xué)改革探索芻議
      涪陵区| 灌云县| 筠连县| 临清市| 永德县| 深州市| 荃湾区| 塔城市| 丹东市| 秦皇岛市| 海丰县| 司法| 石泉县| 新巴尔虎右旗| 新巴尔虎右旗| 固始县| 常熟市| 射阳县| 寿宁县| 冀州市| 泗洪县| 湟中县| 中山市| 铅山县| 莆田市| 保亭| 夏邑县| 双柏县| 靖西县| 濮阳县| 扶绥县| 武鸣县| 湛江市| 报价| 岑溪市| 眉山市| 黑山县| 米易县| 宜兴市| 安塞县| 太康县|