文章編號(hào):1962-5913(2008)11-0040-03
摘要:針對(duì)目前軟件工程人才需求的特點(diǎn),我院對(duì)比了學(xué)校人才培養(yǎng)模式與企業(yè)人才需求的差距,結(jié)合“軟件工程”課程教學(xué)和科研的實(shí)際體會(huì),選擇了啟發(fā)式教學(xué)模式并加以實(shí)踐,本文介紹了我院的探索和實(shí)踐效果。
關(guān)鍵詞:軟件工程;教學(xué)實(shí)踐;啟發(fā)式
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1現(xiàn)狀的分析與討論
1.1人才的培養(yǎng)與企業(yè)需求之間的差距
軟件工程人才培養(yǎng)在現(xiàn)階段應(yīng)體現(xiàn)國際性、多元化、本地化和工程化的特點(diǎn)。目前,企業(yè)對(duì)IT人才的需求主要有:(1)有編程開發(fā)經(jīng)驗(yàn)的人——編程和測試人員;(2)有編程項(xiàng)目開發(fā)經(jīng)驗(yàn)的人——系統(tǒng)設(shè)計(jì)人員;(3)有系統(tǒng)整合項(xiàng)目開發(fā)經(jīng)驗(yàn)的人——網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)人員;(4)有銷售經(jīng)驗(yàn)的人——銷售前技術(shù)支持;(5)有項(xiàng)目管理經(jīng)驗(yàn)的人——項(xiàng)目經(jīng)理;(6)有項(xiàng)目服務(wù)和技術(shù)支持經(jīng)驗(yàn)的人——技術(shù)支持。
IT技術(shù)的發(fā)展使企業(yè)對(duì)人才提出越來越高的要求,其中最重要的是到崗就能產(chǎn)生效益的人才。然而,現(xiàn)在45%的畢業(yè)生不能一次性就業(yè);同時(shí)50%的企業(yè)招聘不到所需要的人才;對(duì)于所招聘到的人才,往往也需要進(jìn)行3~6個(gè)月的培訓(xùn)。傳統(tǒng)的教育模式與企業(yè)的人才需求越來越尖銳化(見表1)。
1.2 “軟件工程”教學(xué)現(xiàn)狀分析
目前,“軟件工程”的教學(xué)主要存在的問題:(1)軟件工程教育觀念落后,教學(xué)計(jì)劃陳舊,致使社會(huì)需求與培養(yǎng)環(huán)節(jié)脫節(jié),學(xué)生難以參與軟件開發(fā)的全過程,難以想象軟件工程在軟件開發(fā)中的折衷與權(quán)衡;(2)學(xué)生難以體會(huì)到軟件工程中關(guān)于反面經(jīng)驗(yàn)的總結(jié),學(xué)生很少有機(jī)會(huì)或有意識(shí)地去考察一些不好的軟件系統(tǒng);(3)對(duì)軟件工程教育質(zhì)量觀的片面評(píng)價(jià),傳統(tǒng)的軟件工程教育質(zhì)量觀是以軟件知識(shí)理論的多寡及深淺為主要的質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn);(4)學(xué)生知識(shí)積累程度和流行技術(shù)引入之間存在矛盾,教學(xué)理論與應(yīng)用實(shí)踐環(huán)節(jié)的脫節(jié)。
而鑒于教學(xué)時(shí)間是一個(gè)“常量”,教師無法面面俱到地講述相關(guān)內(nèi)容或者指導(dǎo)系統(tǒng)的實(shí)驗(yàn)。為此,必須提高學(xué)生學(xué)習(xí)的主動(dòng)性和積極性,教師通過引導(dǎo)、啟發(fā)的方式,讓學(xué)生主動(dòng)去獵取相關(guān)知識(shí),并通過課堂的演講、討論、提問和實(shí)驗(yàn)等途徑進(jìn)行消化吸收。
2軟件工程啟發(fā)式教學(xué)模式
2.1啟發(fā)式教學(xué)模式
所謂啟發(fā)式教學(xué),是指在教學(xué)過程中,以學(xué)生自主學(xué)習(xí)和合作討論為前提,以教材為基礎(chǔ),在教師的啟發(fā)引導(dǎo)下,學(xué)生自由表達(dá)觀點(diǎn)、置疑探究問題,并通過個(gè)人、小組、集體等多種形式的解難釋疑活動(dòng),用所學(xué)知識(shí)解決實(shí)際問題的教學(xué)形式。
如圖1所示,啟發(fā)式教學(xué)特別重視培養(yǎng)學(xué)生的自學(xué)能力,發(fā)展創(chuàng)造性思維,開發(fā)學(xué)生智力,并通過自我探究,掌握科學(xué)方法和學(xué)會(huì)學(xué)習(xí),為終身學(xué)習(xí)奠定基礎(chǔ)。教師作為啟發(fā)式教學(xué)的引導(dǎo)者,其任務(wù)是調(diào)動(dòng)學(xué)生的積極性,促使他們自己去獲取知識(shí)、發(fā)展能力,做到自己去發(fā)現(xiàn)問題、提出問題、分析問題、解決問題。因此,對(duì)老師的要求也提高了,不僅需要具備專業(yè)的理論知識(shí),而且還需要有一定的實(shí)戰(zhàn)經(jīng)驗(yàn)。與此同時(shí),教師還要為學(xué)生的學(xué)習(xí)創(chuàng)設(shè)合適的情境,營造相應(yīng)的氛圍,促進(jìn)學(xué)生討論的欲望,把握討論的深度,評(píng)價(jià)成效。學(xué)生作為學(xué)習(xí)的主人,根據(jù)教學(xué)的條件,明確討論目標(biāo),思考相關(guān)問題,掌握方法,敞開思路,交流內(nèi)容,最后總結(jié)學(xué)習(xí)的結(jié)果。整個(gè)教學(xué)過程可以多樣化,結(jié)合書本的理論與案例,輔助實(shí)驗(yàn)及企業(yè)論壇,讓學(xué)生能夠用理論知識(shí)指導(dǎo)實(shí)踐,在實(shí)踐中能對(duì)理論知識(shí)進(jìn)行消化、吸收,甚至升華。
啟發(fā)式教學(xué)與“案例式”教學(xué)的最大差別在于強(qiáng)調(diào)了學(xué)生的參與和自主學(xué)習(xí),不再是“填鴨式”的教學(xué)或者“傳授經(jīng)驗(yàn)”的教學(xué),而是一種讓學(xué)生在相應(yīng)環(huán)境中自我提高,自我成長,自我學(xué)習(xí)的過程。教師的角色也相應(yīng)地有所變化,課堂不再是教師個(gè)人演講的舞臺(tái),而是一個(gè)真正實(shí)現(xiàn)“師生互動(dòng)”交流的平臺(tái)。
2.2軟件工程啟發(fā)式教學(xué)模式的實(shí)施
(1) 吸收消化CCSE2004,更新教案。軟件工程課程的教學(xué)內(nèi)容至少應(yīng)該覆蓋ACM CC2004中所列的七項(xiàng)核心內(nèi)容。在課堂教學(xué)中可以介紹一些目前先進(jìn)的軟件開發(fā)工具和環(huán)境(如UML建模語言、Rational Rose工具等)。
(2) 樹立軟件工程觀念,調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,采用案例輔助教學(xué)。案例式教學(xué)貫穿于“軟件工程”的全過程,除了通過案例來講解軟件工程的原理和方法外,還必須讓學(xué)生動(dòng)手動(dòng)腦參與案例分析。教師在課堂上要有意識(shí)地組織學(xué)生分組討論。培養(yǎng)學(xué)生的自主學(xué)習(xí)能力,鼓勵(lì)學(xué)生通過案例提出各種問題,并指導(dǎo)學(xué)生查找、閱讀相關(guān)的資料和國家的GB系列規(guī)范和標(biāo)準(zhǔn)。
(3) 結(jié)合真實(shí)案例進(jìn)行綜合性實(shí)驗(yàn),注重興趣的培養(yǎng),讓學(xué)生在學(xué)習(xí)理論的同時(shí),開始做綜合性實(shí)驗(yàn),培養(yǎng)實(shí)際開發(fā)能力。教師結(jié)合實(shí)驗(yàn)課題進(jìn)行教學(xué),學(xué)生分成若干小組選擇題目進(jìn)行設(shè)計(jì)。
(4) 教學(xué)手段多樣化、現(xiàn)代化。在教學(xué)中不僅利用多媒體,而且通過“軟件工程網(wǎng)站”擴(kuò)展了課堂教學(xué),方便學(xué)生和教師在網(wǎng)上進(jìn)行交流和答疑,變有限學(xué)時(shí)的教學(xué)為在讀期間的全程教學(xué)。
3啟發(fā)式模式在教學(xué)中的實(shí)踐
3.1培養(yǎng)目標(biāo)的制定
我院的培養(yǎng)目標(biāo)為:培養(yǎng)計(jì)算機(jī)基礎(chǔ)知識(shí)扎實(shí)、外語過硬、工程實(shí)踐能力強(qiáng)、專業(yè)知識(shí)厚實(shí)、了解信息產(chǎn)業(yè)動(dòng)態(tài)和新技術(shù)、具有國際競爭力和市場競爭力的創(chuàng)新型的軟件工程師。該目標(biāo)符合SWEBOK、學(xué)生的現(xiàn)實(shí)和市場對(duì)工程人才的需求。為了保證培養(yǎng)目標(biāo)的完成,學(xué)院不僅對(duì)多門專業(yè)課采用了英文原版教材,還聘請(qǐng)國內(nèi)外知名軟件企業(yè)管理人員和技術(shù)人員授課或舉辦講座,另外在“課程實(shí)驗(yàn)—課程設(shè)計(jì)—工程設(shè)計(jì)—畢業(yè)設(shè)計(jì)”的實(shí)驗(yàn)體系基礎(chǔ)上,提出了重點(diǎn)完成“軟件工程項(xiàng)目復(fù)現(xiàn)”和“畢業(yè)設(shè)計(jì)”兩大任務(wù)。
3.2啟發(fā)式教學(xué)模式在課堂中的運(yùn)用
目前國內(nèi)的教材對(duì)項(xiàng)目組織、軟件成熟度、軟件構(gòu)架、項(xiàng)目風(fēng)險(xiǎn)等重要內(nèi)容未給予足夠的論述,因此在結(jié)合新知識(shí)、新技術(shù)的同時(shí),要引導(dǎo)啟發(fā)學(xué)生積極思考,不斷地對(duì)比傳統(tǒng)技術(shù)與新技術(shù)的差別。
例如,在講解統(tǒng)一過程開發(fā)方法時(shí),課前先把“結(jié)構(gòu)化過程”開發(fā)的和“面向?qū)ο蟆钡陌咐o兩組學(xué)生,讓他們準(zhǔn)備在課間討論各自案例的開發(fā)過程。課間討論過程中,我們發(fā)現(xiàn)很多學(xué)生并不能很好地理解整個(gè)過程,為此我們對(duì)RUP與傳統(tǒng)的瀑布模型進(jìn)行了比對(duì)(見圖2),通過一步一步的提問、討論等,引導(dǎo)學(xué)生理解開發(fā)過程中各階段主要“做什么”。
接著,讓兩組學(xué)生介紹不同開發(fā)過程的主要特征及應(yīng)該注意的地方,并讓另一組進(jìn)行提問,而教師引導(dǎo)討論的方向。當(dāng)學(xué)生難以理解UML在整個(gè)面向?qū)ο蠼V械牡匚粫r(shí),利用“逆反思維”,引導(dǎo)學(xué)生一起總結(jié)UML各元素與使用場合的對(duì)應(yīng)關(guān)系(見圖3),同時(shí)帶出“需要時(shí)再添加”的“增量迭代”原理。
3.3啟發(fā)式模式在實(shí)驗(yàn)中的運(yùn)用
通過項(xiàng)目開發(fā)的實(shí)驗(yàn),提高學(xué)生在實(shí)際工作中需要的專業(yè)技術(shù)技能,培養(yǎng)與其他學(xué)生交流、合作的技能,獲得項(xiàng)目開發(fā)的經(jīng)驗(yàn)。為此在設(shè)計(jì)實(shí)驗(yàn)時(shí),學(xué)生可以根據(jù)已有的項(xiàng)目進(jìn)行“項(xiàng)目的復(fù)現(xiàn)”,也可以結(jié)合我校的“挑戰(zhàn)杯”、“創(chuàng)新實(shí)驗(yàn)”等項(xiàng)目的申請(qǐng),要求團(tuán)隊(duì)開發(fā)(建議每組3人)。
根據(jù)教學(xué)經(jīng)驗(yàn),綜合性實(shí)驗(yàn)越早布置越好(建議第6周開始)。實(shí)驗(yàn)環(huán)節(jié)不僅要求學(xué)生能夠掌握課堂所學(xué)到的東西,而且要求對(duì)開發(fā)過程的整體把握。例如要求學(xué)生利用RUP提供的VSS(Visual Source Safe)對(duì)配置進(jìn)行管理,為項(xiàng)目開發(fā)建立了清晰的過程框架,確保團(tuán)隊(duì)開發(fā)人員有共同的認(rèn)識(shí)(如圖4所示)。實(shí)驗(yàn)中,要求學(xué)生基于Rose2003對(duì)項(xiàng)目進(jìn)行建模(如圖5所示)。
這樣,學(xué)生邊聽課邊實(shí)踐,有比較充裕的時(shí)間進(jìn)行課外自學(xué)和獨(dú)立思考,從而正確地運(yùn)用知識(shí)設(shè)計(jì)出一個(gè)比較科學(xué)、合理的系統(tǒng)。當(dāng)然,指導(dǎo)學(xué)生的課程設(shè)計(jì)和上機(jī)輔導(dǎo)所花費(fèi)的時(shí)間和精力遠(yuǎn)比理論教學(xué)付出的多,但所收到的效果卻比較好。理論課講完了,課程設(shè)計(jì)也基本結(jié)束,學(xué)生們能從理論和實(shí)踐的結(jié)合上,加深對(duì)軟件工程知識(shí)難點(diǎn)、重點(diǎn)的理解,進(jìn)一步深刻理解軟件過程和系統(tǒng)消化理論知識(shí),訓(xùn)練項(xiàng)目設(shè)計(jì)的思路,鍛煉實(shí)際開發(fā)能力,培養(yǎng)嚴(yán)格規(guī)范的項(xiàng)目開發(fā)方法和步驟,體驗(yàn)文檔編寫整理、階段性評(píng)審總結(jié)以及軟件測試等各個(gè)方面的工作流程,直接培養(yǎng)了學(xué)生從事實(shí)際開發(fā)的能力。
參考文獻(xiàn)
[1] 王志和,袁飛勇. 軟件工程課程教學(xué)改革的探究[J]. 電腦知識(shí)與技術(shù)—教育論壇,2006,(5):211-212.
[2] 蘇丹. 軟件工程教育的特點(diǎn)與問題[J]. 牡丹江師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2006,3(55):64-66.
[3] 楊波. “軟件工程”課程教學(xué)探討[J]. 科技廣場,2004,(9):23-26.
[4] 林丕源,劉才興. 消化吸收SWEBOK,制定科學(xué)的軟件工程專業(yè)教學(xué)計(jì)劃[J]. 高等農(nóng)業(yè)教育,2006,6(6):60-62.
[5] 尹鋒. “軟件工程”課程教學(xué)改革初探[J]. 長沙大學(xué)學(xué)報(bào),2004,4(18):77-80.