中國悠悠期刊咨詢網是專業從事評職稱論文發表,核心期刊征稿,核心期刊發表,學術論文發表等服務的論文發表期刊咨詢網。
展開

敏捷教學在軟件開發的應用

發布時間:2019-10-22   |  所屬分類:軟件開發:論文發表  |  瀏覽:  |  加入收藏

  這篇論文主要介紹的是敏捷教學在軟件開發的應用的內容,本文作者就是通過對軟件開發的內容做出詳細的闡述與介紹,特推薦這篇優秀的文章供相關人士參考。

敏捷教學在軟件開發的應用

  【關鍵字】敏捷開發;敏捷教學;軟件實訓;課程教學

  以人工智能、云計算、物聯網、大數據、移動計算等為代表的新一代信息技術帶動了全球新產業與新經濟的迅猛發展,加劇了全世界從工業化社會向信息化社會轉變的風暴。經濟全球化與人才競爭國際化愈演愈烈,一個國家的強大需要歸根結底需要人才實力做支撐,如何培養大批的新型創新型人才以及卓越工程技術人才,成為了現代教育體系面臨的新挑戰[1]。教育部于2017年推動了“新工科”發展戰略,掀起了我國高等教育的新一輪改革熱潮,人們積極熱烈地探索人才培養的新模式和新途徑。針對新形勢下應用型人才培養目標,國內很多應用型本科院校積極引進國外先進教學理念,探索“項目教學”、“校企合作”、“以證促學”、“CDIO實訓”等多種教學改革方式并取得一定的成效[2],但在實施過程中或多或少存在一定的問題。在信息工程領域軟件開發課程體系中,實訓教學是一個培養學生綜合能力的關鍵實踐環節,為了達到預期的教學目標,把軟件工程領域中“敏捷開發”的方法與軟件開發實訓教學相結合,讓學生了解軟件企業真實流程,提升其職業綜合素質,更好的與企業需求接軌。

  1傳統軟件開發實訓教學中的問題

  軟件開發屬于團隊行為,傳統的軟件開發實訓教學一般以分組教學的形式展開,即將學生分成小組,一個小組的成員協作完成一個小型項目的開發,項目開發過程多以“瀑布模型”的模式展開,這種任務驅動的教學過程中存在的主要問題如下:(1)時間進度難以控制。傳統實訓教學中一般流程是教師布置任務、學生執行實訓任務、教師驗收檢查,學生領取任務后,會按軟件工程的周期要求制定計劃并有序展開各階段任務,但是由于學生經驗不足,而實訓的時間周期也有限,學生很難在一開始就把所有的需求和設計全部明確,執行過程中經常會發生需求、設計變動的情況,這種變動可能導致前期工作全部返工,輕則造成進度滯后,重則導致整個項目開發失敗。(2)教學過程難以管理,師生互動不充分,無法及時有效形成教學反饋。傳統的實訓實施過程中,教師為了督促學生積極有效參與實訓,通常會按預先制定的進度計劃進行階段性檢查,但是往往由于進度計劃不夠細致具體,對學生起不到應有的策動效果,部分學生只是應對老師檢查,對于實訓中遇到的問題學生往往不能或不愿積極主動進行反饋,師生不能深入互動,實訓效果也得不到保障。(3)團隊成員之間溝通、協作不夠深入。以小組的形勢展開實訓旨在模擬真實的軟件開發過程,提高學生得團隊協作和溝通能力。但在傳統的實訓教學中,由于項目開發的各個階段線性實施,如編碼完成之前測試無法進行,這就造成編碼階段負責測試的同學無法展開工作;另一方面,小組中能力強的學生往往包攬大部分或全部任務,能力弱的同學則成了打醬油者,小組成員之間無法有效協作和溝通。

  2敏捷教學模式探討

  傳統的軟件實訓教學以“需求分析、設計、編碼、測試、維護”這樣一個線性流程來安排展開,這與當前眾多軟件企業中普遍采用的輕量級軟件敏捷開發方法嚴重脫節[3]。針對傳統實訓教學存在的問題,順應業界潮流,培養滿足企業實際需求的人才,將敏捷軟件方法與軟件實訓教學相結合實施敏捷教學。

  2.1敏捷教學的理念

  敏捷教學的理念源于20世紀90年代軟件工程領域中興起的敏捷軟件開發方法,其強調以用戶需求為核心,以多輪迭代、循序漸進方式進行軟件開發,可以大大提高軟件開發效率。敏捷教學遵循進化性原則、靈活性原則、迭代性原則和協同性原則[1],它以學生發展為中心,強調理論、技術和實踐教學的交叉并行與快速重構,通過多輪迭代的知識學習過程實現能力循序漸進的提升,是一種具有動態適應性的教學新型形態。具體到軟件開發實訓教學,敏捷教學將拋開傳統軟件開發的線性實施順序,按照“編碼-測試-發布”的形式進行迭代實施,將整個實訓周期劃分成若干個較短的迭代周期,每一次迭代都可以生成階段性的可交付運行的軟件版本,這將便于學生之間的溝通和協作,提高學生的參與度和積極性,教師也可以更及時地對開發過程進行干預和控制,形成良性教學反饋閉環。

  2.2敏捷教學中的角色

  軟件開發屬于團體行為,經典的敏捷開發方法論中包括三種角色:PO(ProductOwner即產品負責人),SM(ScrumMaster即團隊負責人),TM(TeamMember即團隊成員)。PO負責提煉產品需求,確定開發目標,把開發任務分解成若干個子任務并確定子任務優先級;SM負責整個開發團隊的協作運行,帶領團隊按照敏捷開發的流程展開實施,確保目標達成;TM負責具體實施子任務的迭代開發和增量交付。在具體實訓教學中只有教師和學生兩類角色,所以要確定這兩種角色與PO、SM、TM的對應關系。PO一般由教師充當,也可以由能力較強的、對產品需求有清晰認識的學生兼任;SM一開始由教師兼任,當學生團隊在教師指導下形成自組織團隊時,可由協調能力較強的學生負責,此時教師退出SM角色;TM當然由學生充當,負責項目的迭代開發和增量交付。

  2.3敏捷教學在軟件實訓中的實施

  敏捷開發最突出的特點就是以“編碼-測試-發布”的形勢進行多輪迭代、增量開發[4],強調盡早編碼、盡快開發出軟件原型。結合學生經驗不足的實際情況,在迭代流程開始之前,可以讓學生以頭腦風暴的方式明確項目需求,具體步驟如下:(1)學生分組認領任務:首先將學生分組形成若干個開發團隊,確定團隊開發課題任務,小組人數一般以4-6人為宜,可根據任務的難度和規模適當增加人數。(2)生成軟件產品規劃:在PO指導下,把實訓任務分解成若干個子任務,由PO、SM、TM協同討論,確定ProductBacklog(產品需求列表)。ProductBacklog中的一行表示一個子任務,通常以UserStory的形勢展現,一個UserStory包含三個主要要素(3W):角色(Who),即誰要使用該功能;活動(What),即需要完成什么功能;商業價值(Why),即為什么要這個功能。另外ProductBacklog中還要給出子任務的優先順序、計劃完成時間等。在預估子任務完成時間時,可以采用頭腦風暴的形勢,團隊中的每一個成員都要估算任務完成時間并解釋為什么,只有所有成員意見達成一致時才能確定預估時間。ProductBacklog列表形式如表1所示,其中優先級的設置主要考慮子任務與核心功能、重要功能的相關度。因為實訓課程周期比較短,通常為四周時間,為了更加高效地進行迭代開發時,通常對ProductBacklog中的子任務進行進一步分解,得到SprintBacklog列表,并以人課為單位估算出每個SprintBacklog所需時間,如表2所示。(4)實施迭代開發團隊成員根據SprintBacklog列表循環實施“編碼-測試-發布”的過程。考慮到學生學習能力和實踐能力不均衡,編碼階段可以采用結對編程的方式進行,這樣當一個成員在編碼時出現語法或邏輯錯誤時,與之結對的成員可以及時發現并改正,這樣有利于團隊成員之間的交流和互相促進。在編碼的同時,測試人員可以根據功能描述設計測試用例,編碼完成后即可進行測試,以及時發現缺陷反饋問題,以促進修改完善代碼,這樣編碼與測試交叉進行,可以提高開發的效率和質量。為了更直觀的展示迭代開發進度,便于對迭代開發過程透明化管理和團隊協作,可以制作迭代任務看板。具體作法是在一塊白板上繪制一個表格,該表格包括UserStory、ToDo、Doing、Done四列,分別表示用戶故事(迭代目標)、待實施的子任務、正在實施的子任務和已經完成的子任務,每一個迭代完成后及時更新任務看板,便于教師掌握實訓進展情況。

  3總結

  本文首先分析了國內應用型高等院校教學改革的現狀和傳統軟件實訓教學中存在的主要問題,針對問題把目前企業中普遍采用的敏捷開發方法與軟件開發實訓教學相結合,介紹了敏捷教學的理念,闡述了敏捷教學在軟件開發實訓課程中具體的實施流程和措施。實際教學實踐證明,這種新的實訓教學模式可以有效解決傳統實訓教學中存在的問題,對提高學生積極性和參與度、促成師生深度互動、提高實訓效率有明顯效果。

  【參考文獻】

  [1]徐曉飛,李廉,戰德臣,等.新工科的新視角:面向可持續競爭力的敏捷教學體系[J].中國大學教學,2018(10):44-49.

  [2]余久久.應用型本科軟件工程課程敏捷方法實踐教學探索[J].西昌學院學報(自然科學版),2017,31(04):96-99.

  [3]郭朝霞.基于“敏捷開發”的軟件實訓教學研究[J].南京工業職業技術學院學報,2018,18(02):59-62.

  [4]商琦.軟件實訓課程的敏捷教學研究[J].無錫職業技術學院學報,2018,17(01):28-32.

  作者:丁春玲 單位:安徽新華學院信息工程學院


轉載請注明來自:http://www.blrhth.tw/ruanjiankaifalw/20786.html

    上一篇:軟件工程應用型人才特點及培養方式
    下一篇:服裝表演在新媒體運營的新特征

    曾道人内幕玄机