公務(wù)員期刊網(wǎng) 論文中心 正文

敏捷開發(fā)在高職軟件課程教學(xué)中應(yīng)用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了敏捷開發(fā)在高職軟件課程教學(xué)中應(yīng)用范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

敏捷開發(fā)在高職軟件課程教學(xué)中應(yīng)用

摘要:針對(duì)傳統(tǒng)教學(xué)的問題,提出把當(dāng)前軟件開發(fā)領(lǐng)域最流行的“敏捷開發(fā)模型”應(yīng)用在高職軟件技術(shù)專業(yè)課程教學(xué)中,將Java課程與前端課程HTML網(wǎng)頁設(shè)計(jì)相銜接,基于教師團(tuán)隊(duì)進(jìn)行全局教學(xué)內(nèi)容的設(shè)計(jì)與優(yōu)化,結(jié)合高職院校學(xué)生特點(diǎn),介紹具體教學(xué)實(shí)施過程,最后通過教學(xué)效果說明教學(xué)改革的有效性。

關(guān)鍵詞:敏捷開發(fā);高職;軟件技術(shù);Java語言

0引言

隨著軟件技術(shù)的發(fā)展和軟件應(yīng)用環(huán)境的變化,軟件開發(fā)過程表現(xiàn)出明顯的迭代式特點(diǎn)。敏捷開發(fā)作為一種輕量級(jí)開發(fā)方法,具有迭代性特征,廣泛應(yīng)用于工業(yè)界軟件開發(fā)過程,也推動(dòng)了相關(guān)大學(xué)課程的教學(xué)改革。近幾年,基于敏捷開發(fā)的教學(xué)實(shí)踐在部分本科院校已經(jīng)展開[1-3],在提升本科院校學(xué)生軟件工程能力方面取得了一定成效,但新的教學(xué)模式也面臨著諸多挑戰(zhàn),特別是針對(duì)目前高職院校學(xué)生普遍存在的職業(yè)理想模糊、職業(yè)能力不足、缺乏團(tuán)隊(duì)精神的現(xiàn)象,學(xué)生個(gè)人發(fā)展和能力提升受阻,無法適應(yīng)崗位需求和社會(huì)發(fā)展的需要[4]。如何將敏捷開發(fā)模型有效融入高職軟件教學(xué)體系,如何管理和評(píng)價(jià)基于團(tuán)隊(duì)項(xiàng)目的敏捷開發(fā)過程,是當(dāng)下高職院校教師面臨的重要課題。Java作為一種編程語言,在軟件工業(yè)領(lǐng)域得到廣泛應(yīng)用,并且常年占據(jù)軟件工業(yè)程序設(shè)計(jì)語言排名榜首,近幾年隨著JavaWeb網(wǎng)站、安卓系統(tǒng)應(yīng)用APP的爆炸式增長(zhǎng),Java語言獲得了更廣泛的市場(chǎng)需求。Java程序設(shè)計(jì)作為計(jì)算機(jī)專業(yè)及電子信息類等其他專業(yè)的入門級(jí)專業(yè)課程,是學(xué)習(xí)動(dòng)態(tài)網(wǎng)站開發(fā)、安卓APP、小程序設(shè)計(jì)的重要先行課程,是軟件開發(fā)的基礎(chǔ),具有較高的實(shí)踐要求,對(duì)于初學(xué)者,很多內(nèi)容具有一定難度,如面向?qū)ο笕筇匦?、抽象類和接口、集合框架、文件流等,理論知識(shí)單調(diào)枯燥、晦澀難懂,學(xué)生在學(xué)習(xí)理論知識(shí)時(shí)可能面臨一些困難[5]。

1教學(xué)內(nèi)容改革

高職院校軟件技術(shù)專業(yè)方向主要包括Web前端、程序開發(fā)、軟件測(cè)試、軟件維護(hù)等方向,涉及的課程有常用辦公軟件使用、計(jì)算機(jī)網(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é)生的知識(shí)深度和知識(shí)結(jié)構(gòu)存在缺陷,難以滿足企業(yè)對(duì)人才的需求[6]。本校Java編程技術(shù)基礎(chǔ)和HTML網(wǎng)頁設(shè)計(jì)兩門課程,是軟件技術(shù)相關(guān)專業(yè)學(xué)生的專業(yè)基礎(chǔ)課,分別對(duì)應(yīng)軟件功能的后臺(tái)開發(fā)和前端效果實(shí)現(xiàn)。在教學(xué)內(nèi)容的選取上,采用“項(xiàng)目驅(qū)動(dòng),案例教學(xué),一體化課堂”的教學(xué)模式展開,充分考慮本院?,F(xiàn)有的教學(xué)條件,以人才培養(yǎng)方案要求為總體目標(biāo),與軟件技術(shù)專業(yè)前端課程對(duì)接,尋求貼近社會(huì)實(shí)際工作、規(guī)模適中的項(xiàng)目作為任務(wù)載體,根據(jù)學(xué)生學(xué)習(xí)能力選擇適合高職院校學(xué)生的開發(fā)項(xiàng)目。根據(jù)這一思路,可以將學(xué)生在HTML網(wǎng)頁制作前端課程中學(xué)習(xí)的購物網(wǎng)站經(jīng)過精心組織和設(shè)計(jì),根據(jù)其后臺(tái)功能需求轉(zhuǎn)換為Java教學(xué)項(xiàng)目,啟動(dòng)界面如圖1所示,學(xué)生具有購物平臺(tái)的經(jīng)歷,對(duì)直觀掌握“JD購物商城”項(xiàng)目的需求有益。按照項(xiàng)目的開發(fā)流程和項(xiàng)目的功能模塊,課程共設(shè)計(jì)9個(gè)子任務(wù)(見表1),每個(gè)任務(wù)均經(jīng)過整體規(guī)劃,分步實(shí)施,涵蓋Java課程的所有知識(shí)點(diǎn)。共18個(gè)學(xué)習(xí)模塊,總計(jì)72課時(shí),并針對(duì)每個(gè)學(xué)習(xí)模塊進(jìn)行單元教學(xué)設(shè)計(jì),每經(jīng)過一輪敏捷開發(fā),就完成一個(gè)學(xué)習(xí)模塊,讓學(xué)生“所見即所得”。當(dāng)前任務(wù)完成不僅擴(kuò)充前一個(gè)任務(wù)內(nèi)容,還引出下一次任務(wù)需求;循序漸進(jìn)地實(shí)現(xiàn)完整的項(xiàng)目,不僅考慮到學(xué)生的編程能力,還體現(xiàn)知識(shí)的組織連貫性、項(xiàng)目的完整性。

2教學(xué)實(shí)施

將軟件開發(fā)的敏捷開發(fā)模型應(yīng)用在課程與教學(xué)領(lǐng)域,積極主動(dòng)、有效率地響應(yīng)學(xué)生個(gè)體差異以及不斷變化的學(xué)習(xí)需求。在教學(xué)中,首先將學(xué)生作為課程開發(fā)團(tuán)隊(duì)的重要成員并貫穿始終;其次對(duì)學(xué)習(xí)需求進(jìn)行分解和細(xì)化,做到準(zhǔn)確掌握;另外通過站會(huì)、協(xié)商民主的方式對(duì)課程開發(fā)中的問題反復(fù)權(quán)衡、共同決策,讓學(xué)生廣泛參與到問題發(fā)現(xiàn)與應(yīng)對(duì)的過程中。在重點(diǎn)培養(yǎng)技能型人才的高職院校,將敏捷開發(fā)模型應(yīng)用到軟件開發(fā)的課程項(xiàng)目中,開發(fā)過程以學(xué)生發(fā)展為核心,將軟件技術(shù)專業(yè)知識(shí)應(yīng)用在項(xiàng)目產(chǎn)品中,通過不斷迭代循環(huán)完善項(xiàng)目功能,提升學(xué)生的職業(yè)能力和團(tuán)隊(duì)精神。在此開發(fā)模式下,項(xiàng)目被分割為多個(gè)小項(xiàng)目,每個(gè)小項(xiàng)目都具備可集成、可視、可運(yùn)行的效果,最終實(shí)現(xiàn)開發(fā)項(xiàng)目的整體運(yùn)行。在教學(xué)過程中,教師和學(xué)生共同按照開發(fā)流程從下發(fā)任務(wù)、日常站會(huì)(DailyMeeting)、評(píng)審會(huì)議(SprintReviewMeeting)、回顧會(huì)議4個(gè)核心過程逐步展開,并演變出具體的教學(xué)模型(如圖2所示)。在實(shí)施過程中,劃分成3個(gè)階段:課前準(zhǔn)備、敏捷開發(fā)和課后拓展,讓學(xué)生體驗(yàn)到軟件開發(fā)企業(yè)的工作流程和方法,實(shí)現(xiàn)從校到企的良好過渡。

2.1課前準(zhǔn)備

1)教師課前準(zhǔn)備。教師在授課之前,準(zhǔn)備本次任務(wù)的“需求說明書”文檔,并對(duì)任務(wù)中涉及的新知識(shí)點(diǎn)“for循環(huán)語句”“while循環(huán)語句”“break”“continue”“return”等關(guān)鍵字,提前在云平臺(tái)發(fā)布預(yù)習(xí)任務(wù)(學(xué)習(xí)MOOC、觀看微視頻、閱讀資料、完成測(cè)評(píng)),設(shè)置任務(wù)截止時(shí)間。任務(wù)結(jié)束之后收集學(xué)生反饋的信息(學(xué)習(xí)時(shí)長(zhǎng)、測(cè)試結(jié)果),云平臺(tái)根據(jù)考核權(quán)重,自動(dòng)核算學(xué)生課前預(yù)習(xí)成績(jī)。教師根據(jù)學(xué)生課前成績(jī)進(jìn)行分組,4~5人組成一個(gè)項(xiàng)目開發(fā)團(tuán)隊(duì),將課前成績(jī)排名靠前的學(xué)生任命為項(xiàng)目組長(zhǎng),負(fù)責(zé)帶領(lǐng)整個(gè)團(tuán)隊(duì)進(jìn)行本次任務(wù)開發(fā)。教師結(jié)合學(xué)生在課前任務(wù)中遇到的問題,準(zhǔn)備課堂教學(xué)的側(cè)重點(diǎn)。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ù)“猜年齡游戲”,在云平臺(tái)發(fā)起頭腦風(fēng)暴討論活動(dòng),實(shí)現(xiàn)自我知識(shí)建構(gòu)。學(xué)生提前記住相應(yīng)語法規(guī)則,讀懂、對(duì)比相關(guān)的Java程序,完成對(duì)知識(shí)點(diǎn)記憶、理解和初步應(yīng)用的目標(biāo)。

2.2課堂教學(xué)

以“任務(wù)三注冊(cè)和登錄”中的子任務(wù)“用戶登錄功能實(shí)現(xiàn)”教學(xué)實(shí)施為例,課堂教學(xué)流程的組織情況如下。1)分析易錯(cuò)案例。根據(jù)學(xué)生課前在云平臺(tái)提交的作業(yè)情況,請(qǐng)學(xué)生對(duì)課前發(fā)布的易錯(cuò)案例“猜年齡游戲”進(jìn)行分析,教師適當(dāng)補(bǔ)充并提問。經(jīng)過教學(xué)實(shí)施發(fā)現(xiàn),學(xué)生在分析過程中,普遍對(duì)for循環(huán)的條件控制理解不夠深刻,不能靈活運(yùn)用循環(huán)設(shè)置“猜3次錯(cuò)誤就退出游戲”。2)下發(fā)任務(wù)。教師下發(fā)“用戶登錄功能實(shí)現(xiàn)”任務(wù)書,任務(wù)書內(nèi)容包括:①任務(wù)簡(jiǎn)介,介紹目前“JD購物商城”項(xiàng)目的進(jìn)展情況,以及最終完整項(xiàng)目的功能需求;②任務(wù)目標(biāo),介紹本次課學(xué)生要完成的主要技術(shù)目標(biāo)和性能目標(biāo);③提交物清單,包括各小組完成本次任務(wù)須提交的項(xiàng)目文件、站會(huì)記錄、項(xiàng)目實(shí)施報(bào)告。教師借助Java開發(fā)平臺(tái)Eclipse向?qū)W生展示項(xiàng)目完成效果,讓學(xué)生對(duì)任務(wù)要求有直觀清楚的認(rèn)識(shí),并現(xiàn)場(chǎng)公布本次任務(wù)的分組情況。3)召開站會(huì)。此過程對(duì)應(yīng)敏捷開發(fā)中的迭代開發(fā)初級(jí)階段。組長(zhǎng)帶領(lǐng)開發(fā)團(tuán)隊(duì)對(duì)任務(wù)需求進(jìn)行分析,掌握大致的工作量;開發(fā)團(tuán)隊(duì)的成員進(jìn)行任務(wù)認(rèn)領(lǐng),確定本次任務(wù)的開發(fā)人員、測(cè)試人員。教師在小組召開站會(huì)期間,為了使小組成員更好地理解和進(jìn)行迭代開發(fā),克服畏難心理、增強(qiáng)成就感,提醒項(xiàng)目組長(zhǎng)將開發(fā)任務(wù)劃分成盡可能小的模塊;在項(xiàng)目成員確認(rèn)分工之后,巡查項(xiàng)目組成員個(gè)人工作進(jìn)展情況。4)評(píng)審會(huì)議。在此過程中,項(xiàng)目成員明確分工開始執(zhí)行任務(wù),完成之后測(cè)試人員進(jìn)行代碼審查和功能測(cè)試,在審查或測(cè)試階段如發(fā)現(xiàn)任何問題,記錄并反饋給開發(fā)人員解決問題。敏捷理念主張采用集體評(píng)審的方式來實(shí)現(xiàn)產(chǎn)品的開發(fā)與運(yùn)作,通過協(xié)商民主的方式就開發(fā)過程中的問題反復(fù)權(quán)衡、共同決策,因此小組在評(píng)審會(huì)議中,應(yīng)廣泛汲取成員意見,并達(dá)成一致的解決方案。教師在小組進(jìn)行評(píng)審會(huì)議期間,提醒項(xiàng)目組解決以下問題:①任務(wù)進(jìn)度的管理;②開發(fā)人員代碼的提交、合并;③借助代碼分析工具檢測(cè)Java代碼質(zhì)量,快速找到代碼中的錯(cuò)誤和潛在缺陷。5)回顧會(huì)議。本次任務(wù)完成后,項(xiàng)目團(tuán)隊(duì)中的測(cè)試人員向教師和其他項(xiàng)目組人員展示階段成果,項(xiàng)目組依據(jù)考核評(píng)分標(biāo)準(zhǔn)完成組間互評(píng)。教師點(diǎn)評(píng)并給出改進(jìn)意見,對(duì)巡視過程中發(fā)現(xiàn)的典型問題、優(yōu)秀樣例進(jìn)行解析和講評(píng),總結(jié)課堂實(shí)踐環(huán)節(jié)中的通用性錯(cuò)誤,要求學(xué)生在課后完成本次子任務(wù)的項(xiàng)目實(shí)施報(bào)告并提交至云課堂。

2.3課后考核評(píng)價(jià)

學(xué)生總結(jié)本次任務(wù)完成情況,撰寫項(xiàng)目實(shí)施報(bào)告并提交至云平臺(tái);教師通過云平臺(tái)發(fā)布拓展任務(wù),任務(wù)以學(xué)生課中出現(xiàn)的錯(cuò)漏問題為側(cè)重點(diǎn),強(qiáng)化薄弱部分,并適當(dāng)進(jìn)階難度。筆者改革傳統(tǒng)的學(xué)生評(píng)價(jià)手段和方法,采用階段評(píng)價(jià)、過程性評(píng)價(jià)與目標(biāo)評(píng)價(jià)相結(jié)合,理論與實(shí)踐一體化的評(píng)價(jià)模式,全過程考核評(píng)分細(xì)則見表2。評(píng)價(jià)過程包括課前、課中、課后3個(gè)階段,教師結(jié)合演示情況和文檔對(duì)本階段任務(wù)進(jìn)行綜合評(píng)價(jià),學(xué)生自評(píng)分占30%,教師評(píng)價(jià)分占70%,其中自評(píng)分由組內(nèi)所有成員的具體業(yè)績(jī)分組成。

3教學(xué)效果

本專業(yè)教學(xué)團(tuán)隊(duì)已經(jīng)在2個(gè)學(xué)期的軟件技術(shù)專業(yè)理論實(shí)踐課程中使用項(xiàng)目驅(qū)動(dòng)的敏捷開發(fā)模型,在提升學(xué)生編程能力、激發(fā)學(xué)生學(xué)習(xí)興趣、提高軟件開發(fā)質(zhì)量等方面,取得了較好的效果,主要體現(xiàn)在以下幾個(gè)方面:①編程大賽成績(jī)提升顯著。本專業(yè)學(xué)生參加由工業(yè)和信息化部人才交流中心主辦的“藍(lán)橋杯”大賽JavaC組賽項(xiàng),2021年榮獲省賽一、二等獎(jiǎng)16人,與2020年的10人、2019年的9人相比,獲獎(jiǎng)人數(shù)逐年穩(wěn)步上升,學(xué)生的編程能力明顯增強(qiáng)。②項(xiàng)目開發(fā)技能得到提升。在實(shí)踐過程中,學(xué)生以項(xiàng)目組長(zhǎng)、測(cè)試員、開發(fā)人員的身份自愿領(lǐng)取開發(fā)任務(wù),體驗(yàn)了企業(yè)真實(shí)的開發(fā)流程,實(shí)現(xiàn)了與行業(yè)及市場(chǎng)的接軌,使得其在校就獲得了企業(yè)開發(fā)經(jīng)驗(yàn)。③考核評(píng)價(jià)客觀公平。由于敏捷開發(fā)模型的透明性,每位學(xué)生的工作完成情況在實(shí)踐過程中一目了然,教師打分結(jié)合學(xué)生自評(píng)、組間互評(píng),保證了評(píng)價(jià)的公正性。

4結(jié)語

校企合作、產(chǎn)教融合的深入改革對(duì)學(xué)生在校學(xué)習(xí)方式提出了更多要求,學(xué)生有更多的方法和途徑獲取知識(shí),給教師授課提出了更高的要求。敏捷開發(fā)模型應(yīng)用在教學(xué)過程中,以學(xué)生為中心,利用信息技術(shù)的優(yōu)勢(shì),改變傳統(tǒng)的教學(xué)方法,要求學(xué)生主動(dòng)學(xué)習(xí)、解決問題。該模型也對(duì)教師的能力有更高的要求,除了要具有扎實(shí)的專業(yè)學(xué)科知識(shí),還要具備一定的信息技術(shù)能力、學(xué)習(xí)資源設(shè)計(jì)與開發(fā)能力和創(chuàng)新能力,對(duì)教師在課堂上的把控能力、引導(dǎo)能力、溝通能力和組織能力等方面也提出了更高的要求,有效促進(jìn)了教師的職業(yè)發(fā)展。

作者:許孟杰 徐昶 單位:湖北科技職業(yè)學(xué)院軟件工程學(xué)院