景 雯 張 杰 傅文博
山西大同大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)工程學(xué)院 山西大同 037009
軟件工程課程教學(xué)內(nèi)容具有較強(qiáng)的理論性和抽象性,并注重專業(yè)知識(shí)的時(shí)效性和軟件的研發(fā)實(shí)踐性[1,2]。合格的計(jì)算機(jī)方向的畢業(yè)生需要具有較強(qiáng)的軟件研發(fā)能力和創(chuàng)新意識(shí),符合市場(chǎng)需求,在專業(yè)的軟件專業(yè)理論基礎(chǔ)上,深刻把握軟件行業(yè)和軟件項(xiàng)目的內(nèi)涵;此外,還應(yīng)具有較強(qiáng)的溝通交流能力、團(tuán)隊(duì)協(xié)作精神等。傳統(tǒng)教學(xué)存在重視理論和技術(shù)、輕視實(shí)踐、忽視運(yùn)作等問(wèn)題,基礎(chǔ)知識(shí)教學(xué)存在偏重理論、各內(nèi)容知識(shí)整合難度較大,以及教材知識(shí)時(shí)效性不強(qiáng)的問(wèn)題。
CDIO(Conceive,Design,Implement,Operate)由構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)作構(gòu)成,強(qiáng)調(diào)產(chǎn)品的全過(guò)程指導(dǎo)工程教學(xué)。本文將根據(jù)CDIO理念對(duì)軟件工程課程的教學(xué)改革與創(chuàng)新進(jìn)行探討,采用問(wèn)卷調(diào)查的方式對(duì)某校CDIO教學(xué)模式實(shí)踐情況進(jìn)行調(diào)查,并分析實(shí)施CDIO教學(xué)模式前后的學(xué)生滿意度,以及影響軟件工程課程教學(xué)質(zhì)量和效率的關(guān)鍵因素。實(shí)踐證明,CDIO教學(xué)模式改變了傳統(tǒng)的以教師主導(dǎo)“填鴨式”的教學(xué)模式,培養(yǎng)學(xué)生的主動(dòng)性學(xué)習(xí)能力,豐富教學(xué)內(nèi)容,優(yōu)化教學(xué)體系,提升了軟件工程教學(xué)質(zhì)量與效率。
國(guó)內(nèi)許多高校都開(kāi)設(shè)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)或其他涉及軟件開(kāi)發(fā)類的專業(yè),這些專業(yè)的課程體系基本上都具有“一體化、分階段、多層次”的特征,既培養(yǎng)專業(yè)基礎(chǔ)知識(shí),又注重實(shí)踐的專業(yè)實(shí)踐層次能力[3]。軟件工程課程將計(jì)算機(jī)知識(shí)、技術(shù)和工程管理方法等進(jìn)行有效融合,并將其運(yùn)用在軟件開(kāi)發(fā)過(guò)程中[4,5]。該課程的教學(xué)目的是提高軟件研發(fā)的質(zhì)量和效率,實(shí)現(xiàn)產(chǎn)學(xué)研的工業(yè)化生產(chǎn)。通過(guò)本課程的學(xué)習(xí),熟悉并掌握項(xiàng)目確定、項(xiàng)目需求分析、概要詳細(xì)設(shè)計(jì)、代碼設(shè)計(jì)和軟件測(cè)試等軟件研發(fā)工作中的各個(gè)環(huán)節(jié);學(xué)生能夠考慮研發(fā)成本和項(xiàng)目進(jìn)度,研發(fā)出具有可修改性、可靠運(yùn)行、可維護(hù)且滿足用戶需求的軟件工具,并進(jìn)行全過(guò)程管理的能力,進(jìn)一步提高軟件的研發(fā)質(zhì)量與效率,實(shí)現(xiàn)軟件的社會(huì)化生產(chǎn)。
軟件工程課程教學(xué)內(nèi)容具有較強(qiáng)的理論性和抽象性,并注重專業(yè)知識(shí)的時(shí)效性和軟件的研發(fā)實(shí)踐性。因此教學(xué)過(guò)程中,不僅要深入學(xué)習(xí)軟件算法相關(guān)概念、原理和方法等專業(yè)知識(shí),還要注重軟件研發(fā)實(shí)踐,學(xué)以致用,參透軟件工程的原理和方法[6]。軟件工程學(xué)科的理論性較強(qiáng),并強(qiáng)調(diào)實(shí)踐。注重“點(diǎn)”與“面”的結(jié)合,強(qiáng)調(diào)基本概念和專業(yè)知識(shí)的理解與掌握,要求具備軟件項(xiàng)目需求分析、研發(fā)、實(shí)現(xiàn)和維護(hù)等技能。
在軟件工程課程學(xué)習(xí)過(guò)程中,需要明確課程內(nèi)容、原理及特點(diǎn),提高學(xué)生的學(xué)習(xí)積極性和主動(dòng)性;培養(yǎng)學(xué)生善于協(xié)作、善于研究、善于主動(dòng)學(xué)習(xí)的能力,培養(yǎng)其創(chuàng)新和開(kāi)拓意識(shí)及能力,提升軟件工程師分析問(wèn)題、解決問(wèn)題的能力。然而現(xiàn)階段軟件工程課程教學(xué)以教師課堂授課為主導(dǎo),學(xué)生主動(dòng)性不突出,聽(tīng)課方式較為被動(dòng),教學(xué)內(nèi)容重理論而輕實(shí)踐,即傳統(tǒng)教學(xué)模式存在問(wèn)題主要體現(xiàn)在基礎(chǔ)知識(shí)教學(xué)偏理論、各內(nèi)容知識(shí)整合難度較大、知識(shí)時(shí)效性不強(qiáng)以及工程實(shí)踐較弱等方面,如圖1所示。
圖1 傳統(tǒng)教學(xué)模式存在的問(wèn)題
現(xiàn)階段軟件工程教學(xué),專業(yè)實(shí)踐不夠,使得專業(yè)知識(shí)聯(lián)系實(shí)際工作不夠緊密[7]。因此,學(xué)生感覺(jué)軟件工程的原理課程和教學(xué)內(nèi)容方法較為空洞、枯燥。教學(xué)過(guò)程缺乏典型實(shí)例支撐,知識(shí)和技能不易掌握導(dǎo)致較難在實(shí)踐中應(yīng)用。軟件工程教學(xué)內(nèi)容涉及需求分析、框架設(shè)計(jì)、算法實(shí)現(xiàn)和軟件測(cè)試維護(hù)等多個(gè)環(huán)節(jié),各內(nèi)容自成體系,學(xué)生對(duì)上述知識(shí)的有效整合存在困難。在軟件構(gòu)思與設(shè)計(jì)能力、團(tuán)隊(duì)協(xié)作、溝通交流等方面培養(yǎng)不足。以教師講授為主的傳統(tǒng)的填鴨式教學(xué)方法,不夠重視學(xué)生的主觀能動(dòng)性和互動(dòng)參與性;實(shí)踐教學(xué)中,學(xué)生被動(dòng)按照作業(yè)模式進(jìn)行練習(xí),強(qiáng)調(diào)背誦記憶、應(yīng)付考試,使得學(xué)生的分析問(wèn)題、解決問(wèn)題的能力不足,缺乏必要的軟件工程實(shí)訓(xùn)。
CDIO教育理念突出培養(yǎng)學(xué)生的工程能力,包括專業(yè)基礎(chǔ)知識(shí)、專業(yè)能力、項(xiàng)目團(tuán)隊(duì)協(xié)作和企業(yè)-社會(huì)環(huán)境下的構(gòu)思運(yùn)作四個(gè)方面[8]。CDIO培養(yǎng)大綱如圖2所示。CDIO通過(guò)綜合培養(yǎng)方式使學(xué)生掌握扎實(shí)的專業(yè)理論知識(shí)和技術(shù)技能,培養(yǎng)軟件研發(fā)全過(guò)程管控能力和軟件系統(tǒng)建造與運(yùn)行能力。
圖2 CDIO培養(yǎng)大綱
CDIO繼承和發(fā)展了發(fā)達(dá)國(guó)家的工程教育理念,提出了軟件工程師的能力培養(yǎng)、實(shí)施指引以及實(shí)踐過(guò)程和結(jié)果檢驗(yàn)等標(biāo)準(zhǔn)。CDIO以軟件運(yùn)行的全過(guò)程為載體,鼓勵(lì)學(xué)生主動(dòng)進(jìn)行學(xué)習(xí)。CDIO教學(xué)模式突出學(xué)生主體,強(qiáng)調(diào)理論聯(lián)系實(shí)際,調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性和主動(dòng)性。通過(guò)技能培養(yǎng)、操作實(shí)訓(xùn),促進(jìn)并鞏固其專業(yè)知識(shí)的學(xué)習(xí)。團(tuán)隊(duì)合作,鍛煉其團(tuán)隊(duì)協(xié)作能力和個(gè)人交際能力。CDIO教學(xué)模式從培養(yǎng)方案、教學(xué)目標(biāo)、課程體系等方面,培養(yǎng)軟件工程人才的專業(yè)基礎(chǔ)知識(shí)的學(xué)習(xí)能力和工程實(shí)踐能力,強(qiáng)調(diào)個(gè)人專業(yè)技能與交流溝通技能。
CDIO教學(xué)模式能夠改變傳統(tǒng)的以教師主導(dǎo)“填鴨式”的教學(xué)模式,突出學(xué)生的主動(dòng)性學(xué)習(xí),讓學(xué)生在“做中學(xué)”和“基于項(xiàng)目的教育和學(xué)習(xí)”,同時(shí)讓每個(gè)學(xué)生都參與到班內(nèi)組建的軟件項(xiàng)目組中,模擬完成若干在教學(xué)周期內(nèi)可控和具有操作性的軟件項(xiàng)目。
以CDIO的理念組織教學(xué)過(guò)程,豐富教學(xué)內(nèi)容,優(yōu)化教學(xué)體系,提升軟件工程教學(xué)質(zhì)量與效率。
第一,加強(qiáng)基礎(chǔ)知識(shí)教學(xué)。要結(jié)合學(xué)生特點(diǎn)和軟件工程課程特點(diǎn)設(shè)計(jì)教學(xué)內(nèi)容。通過(guò)增加工程案例教學(xué)內(nèi)容、“互聯(lián)網(wǎng)+”等手段,教授軟件工程重點(diǎn)基礎(chǔ)知識(shí)內(nèi)容,采用發(fā)散式方法,激發(fā)學(xué)生的主動(dòng)性和參與性。根據(jù)軟件工程課程培養(yǎng)目標(biāo),重點(diǎn)教授該學(xué)科的相關(guān)概念、原則、方法和實(shí)現(xiàn)工具,適當(dāng)剔除不必要的內(nèi)容,保留基礎(chǔ)部分,簡(jiǎn)化學(xué)生較難理解的深?yuàn)W內(nèi)容;完善與補(bǔ)充相關(guān)技術(shù)研究,跟進(jìn)最新技術(shù)方法動(dòng)態(tài)。
第二,要加強(qiáng)工程能力培養(yǎng)。轉(zhuǎn)變應(yīng)試教育的理念,突出工程能力的培養(yǎng),使得學(xué)有所用,而不是僅僅為了畢業(yè)。著重培養(yǎng)學(xué)生的工程價(jià)值觀,激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力,培養(yǎng)學(xué)生軟件研發(fā)邏輯思維,提高其團(tuán)隊(duì)協(xié)同合作能力,加深所學(xué)知識(shí)的實(shí)際運(yùn)用,激發(fā)學(xué)習(xí)積極性。分析現(xiàn)階段教學(xué)的薄弱環(huán)節(jié),找準(zhǔn)切入點(diǎn);結(jié)合自身情況建立合適的工程能力培養(yǎng)方案,提高教學(xué)質(zhì)量和效率。
第三,充分利用多媒體教學(xué)、“互聯(lián)網(wǎng)+”、移動(dòng)客戶端微課堂等,搭建全方位、立體的教學(xué)環(huán)境,加強(qiáng)培養(yǎng)學(xué)生挖掘信息、分析、應(yīng)用及處理信息的能力,促進(jìn)其自我探究和知識(shí)建構(gòu)。將企業(yè)軟件成功或失敗研發(fā)的典型工程案例引入課程教學(xué),豐富內(nèi)容,激發(fā)興趣;學(xué)生小組內(nèi)部互動(dòng),分析討論典型案例,教師側(cè)重指導(dǎo)學(xué)生需要關(guān)注的關(guān)鍵點(diǎn)和問(wèn)題;根據(jù)CDIO模式組織課堂形式,播放學(xué)習(xí)視頻、挑戰(zhàn)賽和綜合討論等環(huán)節(jié),鍛煉學(xué)生的分析問(wèn)題能力和交流溝通能力。
將CDIO教學(xué)模式實(shí)踐應(yīng)用于某校。在實(shí)踐前,采用問(wèn)卷調(diào)查方式摸底學(xué)生需求,深入分析影響軟件工程課程教學(xué)質(zhì)量和效率的關(guān)鍵因素。調(diào)查結(jié)果顯示,師生間的互動(dòng)程度、課程內(nèi)容和授課條件對(duì)軟件工程課程教學(xué)的影響程度分別為40%、34%和26%,結(jié)果如圖3所示。
圖3 學(xué)生需求分析調(diào)研(教學(xué)效果因素)
結(jié)合我校軟件工程課程特點(diǎn)和學(xué)校資源情況,將CDIO教學(xué)模式引入本校軟件工程教學(xué)工作中,有效促進(jìn)了學(xué)生間互動(dòng)、師生互動(dòng),提高學(xué)生的綜合能力,提高人才培養(yǎng)質(zhì)量。如圖4所示,學(xué)生對(duì)課堂效果的滿意度從實(shí)施前的75%提升至98%,課程內(nèi)容滿意度從實(shí)施前的67%提升至94%,實(shí)踐質(zhì)量滿意度從實(shí)施前的45%提升至90%。
圖4 CDIO教學(xué)模式的學(xué)生滿意度
基于CDIO理念的軟件工程課程組織教學(xué),能夠很好地激發(fā)學(xué)生的自主學(xué)習(xí)能力、創(chuàng)新能力和思維能力,提高學(xué)生的綜合研發(fā)能力,提升軟件工程師分析問(wèn)題、解決問(wèn)題的能力。
基于CDIO理念的軟件工程課程改革,能夠讓學(xué)生經(jīng)歷理論、技術(shù)、研發(fā)和應(yīng)用的全過(guò)程,提高其理論專業(yè)水平、技術(shù)能力、軟件實(shí)現(xiàn)能力和工程運(yùn)作能力等,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的綜合研發(fā)能力。CDIO通過(guò)綜合培養(yǎng)方式使學(xué)生掌握扎實(shí)的專業(yè)理論知識(shí)和技術(shù)技能,培養(yǎng)軟件研發(fā)全過(guò)程管控能力和軟件系統(tǒng)建造與運(yùn)行能力。