前言:想要寫出一篇引人入勝的文章?我們特意為您整理了敏捷開發在高職軟件課程教學中應用范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:針對傳統教學的問題,提出把當前軟件開發領域最流行的“敏捷開發模型”應用在高職軟件技術專業課程教學中,將Java課程與前端課程HTML網頁設計相銜接,基于教師團隊進行全局教學內容的設計與優化,結合高職院校學生特點,介紹具體教學實施過程,最后通過教學效果說明教學改革的有效性。
關鍵詞:敏捷開發;高職;軟件技術;Java語言
0引言
隨著軟件技術的發展和軟件應用環境的變化,軟件開發過程表現出明顯的迭代式特點。敏捷開發作為一種輕量級開發方法,具有迭代性特征,廣泛應用于工業界軟件開發過程,也推動了相關大學課程的教學改革。近幾年,基于敏捷開發的教學實踐在部分本科院校已經展開[1-3],在提升本科院校學生軟件工程能力方面取得了一定成效,但新的教學模式也面臨著諸多挑戰,特別是針對目前高職院校學生普遍存在的職業理想模糊、職業能力不足、缺乏團隊精神的現象,學生個人發展和能力提升受阻,無法適應崗位需求和社會發展的需要[4]。如何將敏捷開發模型有效融入高職軟件教學體系,如何管理和評價基于團隊項目的敏捷開發過程,是當下高職院校教師面臨的重要課題。Java作為一種編程語言,在軟件工業領域得到廣泛應用,并且常年占據軟件工業程序設計語言排名榜首,近幾年隨著JavaWeb網站、安卓系統應用APP的爆炸式增長,Java語言獲得了更廣泛的市場需求。Java程序設計作為計算機專業及電子信息類等其他專業的入門級專業課程,是學習動態網站開發、安卓APP、小程序設計的重要先行課程,是軟件開發的基礎,具有較高的實踐要求,對于初學者,很多內容具有一定難度,如面向對象三大特性、抽象類和接口、集合框架、文件流等,理論知識單調枯燥、晦澀難懂,學生在學習理論知識時可能面臨一些困難[5]。
1教學內容改革
高職院校軟件技術專業方向主要包括Web前端、程序開發、軟件測試、軟件維護等方向,涉及的課程有常用辦公軟件使用、計算機網絡搭建與管理、Linux操作系統配置與管理、HTML網頁制作、MySQL數據庫開發與管理、JavaWeb網站開發、桌面應用程序編碼、軟件文檔書寫、軟件建模等。傳統的Java課程,任課教師主要關注自己負責課程的教學,未從專業群整體上考慮如何改善,各課程銜接不夠密切,難以進行深入教學,造成學生的知識深度和知識結構存在缺陷,難以滿足企業對人才的需求[6]。本校Java編程技術基礎和HTML網頁設計兩門課程,是軟件技術相關專業學生的專業基礎課,分別對應軟件功能的后臺開發和前端效果實現。在教學內容的選取上,采用“項目驅動,案例教學,一體化課堂”的教學模式展開,充分考慮本院校現有的教學條件,以人才培養方案要求為總體目標,與軟件技術專業前端課程對接,尋求貼近社會實際工作、規模適中的項目作為任務載體,根據學生學習能力選擇適合高職院校學生的開發項目。根據這一思路,可以將學生在HTML網頁制作前端課程中學習的購物網站經過精心組織和設計,根據其后臺功能需求轉換為Java教學項目,啟動界面如圖1所示,學生具有購物平臺的經歷,對直觀掌握“JD購物商城”項目的需求有益。按照項目的開發流程和項目的功能模塊,課程共設計9個子任務(見表1),每個任務均經過整體規劃,分步實施,涵蓋Java課程的所有知識點。共18個學習模塊,總計72課時,并針對每個學習模塊進行單元教學設計,每經過一輪敏捷開發,就完成一個學習模塊,讓學生“所見即所得”。當前任務完成不僅擴充前一個任務內容,還引出下一次任務需求;循序漸進地實現完整的項目,不僅考慮到學生的編程能力,還體現知識的組織連貫性、項目的完整性。
2教學實施
將軟件開發的敏捷開發模型應用在課程與教學領域,積極主動、有效率地響應學生個體差異以及不斷變化的學習需求。在教學中,首先將學生作為課程開發團隊的重要成員并貫穿始終;其次對學習需求進行分解和細化,做到準確掌握;另外通過站會、協商民主的方式對課程開發中的問題反復權衡、共同決策,讓學生廣泛參與到問題發現與應對的過程中。在重點培養技能型人才的高職院校,將敏捷開發模型應用到軟件開發的課程項目中,開發過程以學生發展為核心,將軟件技術專業知識應用在項目產品中,通過不斷迭代循環完善項目功能,提升學生的職業能力和團隊精神。在此開發模式下,項目被分割為多個小項目,每個小項目都具備可集成、可視、可運行的效果,最終實現開發項目的整體運行。在教學過程中,教師和學生共同按照開發流程從下發任務、日常站會(DailyMeeting)、評審會議(SprintReviewMeeting)、回顧會議4個核心過程逐步展開,并演變出具體的教學模型(如圖2所示)。在實施過程中,劃分成3個階段:課前準備、敏捷開發和課后拓展,讓學生體驗到軟件開發企業的工作流程和方法,實現從校到企的良好過渡。
2.1課前準備
1)教師課前準備。教師在授課之前,準備本次任務的“需求說明書”文檔,并對任務中涉及的新知識點“for循環語句”“while循環語句”“break”“continue”“return”等關鍵字,提前在云平臺發布預習任務(學習MOOC、觀看微視頻、閱讀資料、完成測評),設置任務截止時間。任務結束之后收集學生反饋的信息(學習時長、測試結果),云平臺根據考核權重,自動核算學生課前預習成績。教師根據學生課前成績進行分組,4~5人組成一個項目開發團隊,將課前成績排名靠前的學生任命為項目組長,負責帶領整個團隊進行本次任務開發。教師結合學生在課前任務中遇到的問題,準備課堂教學的側重點。2)學生課前準備。學生根據教師發布的預習任務“循環的概念”,提前了解for循環、while循環的語法結構,觀看教學資源,記錄和反饋預習中遇到的疑難問題,完成課前任務“猜年齡游戲”,在云平臺發起頭腦風暴討論活動,實現自我知識建構。學生提前記住相應語法規則,讀懂、對比相關的Java程序,完成對知識點記憶、理解和初步應用的目標。
2.2課堂教學
以“任務三注冊和登錄”中的子任務“用戶登錄功能實現”教學實施為例,課堂教學流程的組織情況如下。1)分析易錯案例。根據學生課前在云平臺提交的作業情況,請學生對課前發布的易錯案例“猜年齡游戲”進行分析,教師適當補充并提問。經過教學實施發現,學生在分析過程中,普遍對for循環的條件控制理解不夠深刻,不能靈活運用循環設置“猜3次錯誤就退出游戲”。2)下發任務。教師下發“用戶登錄功能實現”任務書,任務書內容包括:①任務簡介,介紹目前“JD購物商城”項目的進展情況,以及最終完整項目的功能需求;②任務目標,介紹本次課學生要完成的主要技術目標和性能目標;③提交物清單,包括各小組完成本次任務須提交的項目文件、站會記錄、項目實施報告。教師借助Java開發平臺Eclipse向學生展示項目完成效果,讓學生對任務要求有直觀清楚的認識,并現場公布本次任務的分組情況。3)召開站會。此過程對應敏捷開發中的迭代開發初級階段。組長帶領開發團隊對任務需求進行分析,掌握大致的工作量;開發團隊的成員進行任務認領,確定本次任務的開發人員、測試人員。教師在小組召開站會期間,為了使小組成員更好地理解和進行迭代開發,克服畏難心理、增強成就感,提醒項目組長將開發任務劃分成盡可能小的模塊;在項目成員確認分工之后,巡查項目組成員個人工作進展情況。4)評審會議。在此過程中,項目成員明確分工開始執行任務,完成之后測試人員進行代碼審查和功能測試,在審查或測試階段如發現任何問題,記錄并反饋給開發人員解決問題。敏捷理念主張采用集體評審的方式來實現產品的開發與運作,通過協商民主的方式就開發過程中的問題反復權衡、共同決策,因此小組在評審會議中,應廣泛汲取成員意見,并達成一致的解決方案。教師在小組進行評審會議期間,提醒項目組解決以下問題:①任務進度的管理;②開發人員代碼的提交、合并;③借助代碼分析工具檢測Java代碼質量,快速找到代碼中的錯誤和潛在缺陷。5)回顧會議。本次任務完成后,項目團隊中的測試人員向教師和其他項目組人員展示階段成果,項目組依據考核評分標準完成組間互評。教師點評并給出改進意見,對巡視過程中發現的典型問題、優秀樣例進行解析和講評,總結課堂實踐環節中的通用性錯誤,要求學生在課后完成本次子任務的項目實施報告并提交至云課堂。
2.3課后考核評價
學生總結本次任務完成情況,撰寫項目實施報告并提交至云平臺;教師通過云平臺發布拓展任務,任務以學生課中出現的錯漏問題為側重點,強化薄弱部分,并適當進階難度。筆者改革傳統的學生評價手段和方法,采用階段評價、過程性評價與目標評價相結合,理論與實踐一體化的評價模式,全過程考核評分細則見表2。評價過程包括課前、課中、課后3個階段,教師結合演示情況和文檔對本階段任務進行綜合評價,學生自評分占30%,教師評價分占70%,其中自評分由組內所有成員的具體業績分組成。
3教學效果
本專業教學團隊已經在2個學期的軟件技術專業理論實踐課程中使用項目驅動的敏捷開發模型,在提升學生編程能力、激發學生學習興趣、提高軟件開發質量等方面,取得了較好的效果,主要體現在以下幾個方面:①編程大賽成績提升顯著。本專業學生參加由工業和信息化部人才交流中心主辦的“藍橋杯”大賽JavaC組賽項,2021年榮獲省賽一、二等獎16人,與2020年的10人、2019年的9人相比,獲獎人數逐年穩步上升,學生的編程能力明顯增強。②項目開發技能得到提升。在實踐過程中,學生以項目組長、測試員、開發人員的身份自愿領取開發任務,體驗了企業真實的開發流程,實現了與行業及市場的接軌,使得其在校就獲得了企業開發經驗。③考核評價客觀公平。由于敏捷開發模型的透明性,每位學生的工作完成情況在實踐過程中一目了然,教師打分結合學生自評、組間互評,保證了評價的公正性。
4結語
校企合作、產教融合的深入改革對學生在校學習方式提出了更多要求,學生有更多的方法和途徑獲取知識,給教師授課提出了更高的要求。敏捷開發模型應用在教學過程中,以學生為中心,利用信息技術的優勢,改變傳統的教學方法,要求學生主動學習、解決問題。該模型也對教師的能力有更高的要求,除了要具有扎實的專業學科知識,還要具備一定的信息技術能力、學習資源設計與開發能力和創新能力,對教師在課堂上的把控能力、引導能力、溝通能力和組織能力等方面也提出了更高的要求,有效促進了教師的職業發展。
作者:許孟杰 徐昶 單位:湖北科技職業學院軟件工程學院