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