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