孫 旋 張泊平
摘要:軟件工程是一門理論性和實踐性都很強(qiáng)的課程?!绊椖俊獙?dǎo)師制”實踐教學(xué)模式,不僅有利于軟件工程教學(xué)資源的合理利用、提高教學(xué)管理水平和促進(jìn)師資隊伍整體建設(shè),更有利于高素質(zhì)創(chuàng)新型應(yīng)用人才的培養(yǎng)。
關(guān)鍵詞:軟件工程;項目——導(dǎo)師制;過程導(dǎo)向;項目驅(qū)動
軟件工程是一門理論性和實踐性都很強(qiáng)的課程?!耙赃^程為導(dǎo)向,以項目為驅(qū)動的導(dǎo)師制”實踐教學(xué)模式(以下簡稱為“項目——導(dǎo)師制”實踐教學(xué)模式),是借鑒自然科學(xué)基金課題負(fù)責(zé)制的方式,由專業(yè)教師領(lǐng)銜負(fù)責(zé),根據(jù)軟件工程實踐教學(xué)大綱、教學(xué)內(nèi)容制定實踐課題,并組織相關(guān)專業(yè)教師、技術(shù)員組成實踐課題組,確定實踐課題名稱、實踐目的、實踐內(nèi)容,由學(xué)生自主選擇課題和實驗導(dǎo)師。這一實踐教學(xué)模式不僅有利于軟件工程教學(xué)資源的合理利用、提高教學(xué)管理水平和促進(jìn)師資隊伍整體建設(shè),更有利于高素質(zhì)創(chuàng)新型應(yīng)用人才的培養(yǎng)。
一、軟件工程教學(xué)存在的問題
在教學(xué)過程中,軟件工程長期存在著“學(xué)生什么都學(xué)過,卻什么都不會”的情況。對于軟件工程,學(xué)生既熟悉又陌生,他們對軟件工程的框架也僅是粗淺地了解,做起來感到無從下手,存在著教學(xué)過程與實際應(yīng)用需求嚴(yán)重脫節(jié)的情況。
目前,軟件工程教學(xué)存在的問題主要表現(xiàn)在,傳統(tǒng)軟件工程課程雖有實驗教學(xué)的要求,但大多數(shù)只是停留在組織學(xué)生編寫軟件項目若干設(shè)計文檔這個單一環(huán)節(jié)上。由于中學(xué)過早實施了文理分家,導(dǎo)致理工科學(xué)生的文檔編寫能力相對較差,因而有些學(xué)生對于文檔編寫既不擅長,也不感興趣。另外,受大學(xué)學(xué)時的限制,要真正完成軟件工程各階段文檔的編寫,實施起來也相對比較困難。為此,我們構(gòu)建了“項目——導(dǎo)師制”軟件工程實踐教學(xué)模式,引入貫穿性的舉例作為學(xué)生實踐的模板,從而推動了軟件工程教學(xué)。
二、“項目——導(dǎo)師制”軟件工程實踐教學(xué)模式的構(gòu)建
“項目——導(dǎo)師制”實踐教學(xué)模式:相對宏觀的教學(xué)設(shè)計而言,分為理論基礎(chǔ)準(zhǔn)備、實訓(xùn)項目過程引導(dǎo)和課程設(shè)計三個階段,它從一個比較高的層次上提出該階段的宏觀任務(wù)、教學(xué)要求、教學(xué)實施方法、檢驗教學(xué)效果的方法以及教師在該階段所扮演的角色;在微觀的課堂設(shè)計中,主要是通過精心設(shè)計實例、加強(qiáng)巡回指導(dǎo)來實踐,從而推動課堂教學(xué)。
1以過程為導(dǎo)向的課程教學(xué)內(nèi)容
采用行動導(dǎo)向組織教學(xué),以開發(fā)包括各種數(shù)據(jù)處理功能在內(nèi)的“軟件工程學(xué)習(xí)網(wǎng)站”實訓(xùn)項目為引導(dǎo),把整個課程教學(xué)內(nèi)容分成項目可行性分析、項目需求分析、概要設(shè)計、詳細(xì)設(shè)計、編程實現(xiàn)、軟件測試、軟件運(yùn)行和維護(hù)、軟件評價、軟件項目管理、課程設(shè)計等教學(xué)模塊,使理論教學(xué)與實踐在這個案例中融為一體。
通過提出具體問題(展示結(jié)果),然后講解解決問題應(yīng)用的基本知識和采用的方法,再提出具體問題(展示結(jié)果),由教師歸納與延伸提出新問題,達(dá)到學(xué)生獨(dú)立解決問題的目的。
教學(xué)過程按模塊進(jìn)行,有的模塊需要兩個學(xué)時,有的需要4個學(xué)時,我們根據(jù)課時需要,安排多個課時連上,每個教學(xué)模塊通過“軟件工程學(xué)習(xí)網(wǎng)站”實現(xiàn)。
(1)教師精心挑選開發(fā)案例,提出問題
由教師精心挑選開發(fā)案例,展示“軟件工程學(xué)習(xí)網(wǎng)站”案例的功能、運(yùn)行效果,讓學(xué)生了解本系統(tǒng)的開發(fā)目標(biāo),明確在項目中應(yīng)完成哪些功能,讓學(xué)生盡可能多地發(fā)現(xiàn)軟件開發(fā)中的各種問題,最終求得解決問題的方法。
(2)教師講解并指導(dǎo)學(xué)生討論
教師講解并指導(dǎo)學(xué)生討論是解決這一問題的基本方法和基本思路。必須講到解決這一問題時所應(yīng)用到的知識和技能,教師講解這些知識和技能的應(yīng)用時以本模塊所要完成的“軟件工程學(xué)習(xí)網(wǎng)站”的任務(wù)為案例,講解這一開發(fā)階段應(yīng)完成的任務(wù)。
(3)學(xué)生動手編寫開發(fā)階段相應(yīng)的文檔
為讓學(xué)生自己動手編寫出開發(fā)階段相應(yīng)的文檔,教師要通過多種形式給予指導(dǎo),可以讓學(xué)生展開討論,或?qū)W(xué)生進(jìn)行分組,由同一小組的幾名學(xué)生合作來完成。
(4)教師指導(dǎo)學(xué)生解決模塊問題
教師進(jìn)行歸納,把學(xué)生的感性認(rèn)識逐步上升到理性認(rèn)識,對屬于本模塊的開發(fā)技能或者是一些成功的開發(fā)經(jīng)驗而項目中又沒有應(yīng)用到的,教師就要加以延伸和拓展,延伸與拓展要自然過度、適可而止。這樣,隨著案例細(xì)化程度的逐漸降低,學(xué)生個性的分析設(shè)計能力就能逐步得到提高。
(5)教師進(jìn)行軟件工程課程設(shè)計與總結(jié)
案例結(jié)束時由教師進(jìn)行總結(jié)。教師可先以學(xué)生論壇的形式作為問題的初步提出和解決的平臺,以專題報告和會議的形式進(jìn)行總結(jié),然后,讓學(xué)生解決同類性質(zhì)的問題,要求學(xué)生另行完成其他系統(tǒng)或應(yīng)用程序的開發(fā),即提出新的問題、布置軟件工程課程設(shè)計任務(wù)。這樣,就使學(xué)生體驗了案例開發(fā)的整個過程,激發(fā)了學(xué)生自己動手的欲望。
2,以項目為驅(qū)動的實踐教學(xué)流程
(1)結(jié)合具體的開發(fā)項目進(jìn)行設(shè)計,班級按導(dǎo)師和選定的項目進(jìn)行分組,每個項目小組選出項目負(fù)責(zé)人或項目經(jīng)理,在導(dǎo)師指導(dǎo)下準(zhǔn)備實踐。
(2)實驗課上,在項目導(dǎo)師的指導(dǎo)下,學(xué)生獨(dú)立完成實驗內(nèi)容。指導(dǎo)教師對每個實踐課題的研究意義、研究內(nèi)容、國內(nèi)外相關(guān)實驗項目的應(yīng)用情況、技術(shù)路線等進(jìn)行系統(tǒng)講授:學(xué)生分工合作,學(xué)習(xí)軟件開發(fā)小組的組織和管理,明確項目開發(fā)各階段的任務(wù),熟悉軟件開發(fā)環(huán)境,培養(yǎng)團(tuán)隊精神,共同完成該項目的設(shè)計任務(wù)。項目中的每項任務(wù)都要落實到個人,實驗在規(guī)定的時間內(nèi)由學(xué)生獨(dú)立完成。另外,學(xué)生在學(xué)校機(jī)房的機(jī)器應(yīng)固定下來,并安裝好相應(yīng)的軟件,上課沒有特殊情況不得缺席。
(3)每個項目小組都必須按照國家《計算機(jī)軟件開發(fā)規(guī)范》中給定的文檔規(guī)范標(biāo)準(zhǔn),提供項目綜合開發(fā)報告。
(4)建立客觀、科學(xué)的評價考核機(jī)制。如聘請專家及相關(guān)學(xué)科教師隨機(jī)聽課,觀察學(xué)生實驗過程,認(rèn)真評審打分,并以無記名問卷調(diào)查方式了解學(xué)生對“項目——導(dǎo)師制”實踐教學(xué)模式教學(xué)效果的評價,以便改進(jìn)。
三、“項目——導(dǎo)師制”軟件工程實踐教學(xué)模式實施的效果
“項目——導(dǎo)師制”實踐教學(xué)模式已在許昌學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院中實施,教學(xué)成效顯著。為進(jìn)一步了解“項目——導(dǎo)師制”實踐教學(xué)模式的教學(xué)效果,我們課程組設(shè)計了《許昌學(xué)院軟件工程項目實訓(xùn)調(diào)查表》,其內(nèi)容包括培養(yǎng)項目開發(fā)意識及課程的有關(guān)情況、培養(yǎng)項目開發(fā)興趣、培養(yǎng)項目開發(fā)的能力、培養(yǎng)團(tuán)隊精神、進(jìn)行問卷調(diào)查和提高自信心等6個方面,每一項內(nèi)容在調(diào)查問卷上設(shè)為“很大幫助”“有一定幫助”“一般”“沒有幫助”4個檔次。我們共發(fā)放調(diào)查表161份,回收有效調(diào)查表161份。調(diào)查發(fā)現(xiàn),學(xué)生認(rèn)為軟件工程項目實訓(xùn)對自己有“很大幫助”的占43%,有“一定幫助”的占52%,“一般”的占5%,“沒有幫助”的為0。這一數(shù)據(jù)表明,通過實訓(xùn)有95%的學(xué)生認(rèn)為軟件項目開發(fā)意識和習(xí)慣得到了培養(yǎng),提高了對軟件項目開發(fā)的興趣。
我們又針對動手能力在調(diào)查問卷上將每一項調(diào)查設(shè)為“有很大提高”“有一定提高”“一般”“沒有提高”4個檔次。調(diào)查顯示,通過實訓(xùn),89%的學(xué)生的軟件項目開發(fā)能力得到了培養(yǎng)和提高,26%的學(xué)生的團(tuán)隊精神得到了鍛煉,34.2%的學(xué)生的自信心得到了提升。
學(xué)生在“項目——導(dǎo)師制”實踐教學(xué)模式下進(jìn)行學(xué)習(xí)時,表現(xiàn)出比過去更大的參與熱情和更強(qiáng)的學(xué)習(xí)主動性,提高了按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和規(guī)范進(jìn)行軟件開發(fā)的綜合能力和軟件項目的管理能力,綜合素質(zhì)明顯提高,特別是在基礎(chǔ)技能、團(tuán)隊協(xié)作、資料收集、人際交往、項目規(guī)劃等方面明顯具備了較強(qiáng)的能力,在就業(yè)等方面具備了更強(qiáng)的競爭力,更加適合在現(xiàn)代軟件企業(yè)中發(fā)展。同時也應(yīng)看到,“項目——導(dǎo)師制”實踐教學(xué)模式是普通項目驅(qū)動教學(xué)模式的繼承與發(fā)展,在教學(xué)理論和實踐方面還不夠成熟,需繼續(xù)深入探究和不斷創(chuàng)新,才能使軟件工程教學(xué)改革取得豐碩的成果。