李福琳
(廣東科技學院,廣東 東莞 523083)
軟件工程課程不僅是一門指導軟件開發(fā)與維護的實踐性課程,也是一門實踐性課程。通過本課程的學習,使這些專業(yè)的學生能夠理解和掌握軟件開發(fā)的方法和技術(shù),具備軟件開發(fā)人員所需的專業(yè)技能,為從事計算機軟件開發(fā)和維護提供科學的方法。軟件工程是一門綜合性學科,教學內(nèi)容除計算機軟件知識外,還涉及項目管理、管理學、經(jīng)濟學、心理學、人機工程學等相關(guān)知識。軟件工程是計算機科學與技術(shù)及信息相關(guān)專業(yè)的核心專業(yè)課程。教學目的是使學生掌握軟件工程的基本概念、基本原理和基本方法,了解軟件項目開發(fā)和維護的一般過程和規(guī)范,并要求學生要掌握軟件開發(fā)和維護的相關(guān)技術(shù)、方法和工具,從而為學生今后從事軟件開發(fā)和維護工作打下結(jié)實的理論基礎(chǔ)。在課程體系中,軟件工程是一門非常重要的課程。軟件工程課程的教學內(nèi)容和內(nèi)容的設(shè)計為學生在學習本專業(yè)的同時奠定了堅實的實踐性基礎(chǔ),也直接影響到學生職業(yè)能力的培養(yǎng),從而影響學生畢業(yè)后未來的就業(yè)選擇。
傳統(tǒng)的軟件工程課程教學方法以教師講授為主,以知識灌輸?shù)男问?,輔以實驗和課程設(shè)計任務,并安排一些課外作業(yè)。這種方式讓學生覺得這門課既無聊,又枯燥,往往為了應付作業(yè)而并不能理解做作業(yè)的真正意義是什么,無論你從理論課堂上還是從作業(yè)本身,當中都得不到真正的知識,學生只能死記硬背一些概念,無法真正啟動實踐。課程理論與實踐應該緊密結(jié)合,但傳統(tǒng)的軟件工程教學的實踐性和可操作性較差。學生們普遍反映,他們雖然可以在課堂上理解課程內(nèi)容,但要想將理論課程的知識結(jié)合到實際操作當中的練習時,學生往往會覺得無從下手,沒有思緒。久而久之,會覺得這門課沒有實用性,脫離實際需求,認為教學內(nèi)容太抽象,不能理解這門課程的重點,所以很容易厭倦對本專業(yè)繼續(xù)學習的動力。從學生實踐的角度來看,學生很難將軟件工程各個環(huán)節(jié)的內(nèi)容有機地結(jié)合起來,不能進行全方位的實踐訓練。實驗內(nèi)容相對單一,難以滿足教學大綱的要求。
教師在整理教學內(nèi)容的基礎(chǔ)上,應簡明地列出本專業(yè)課程的知識重點,帶領(lǐng)學生認清整個軟件工程課程的知識點和課程的結(jié)構(gòu)體系,各單元與各章節(jié)建立嚴格的邏輯聯(lián)系,實現(xiàn)知識點教學與案例同時進行分析、演示,從理論教學上引申出實際的優(yōu)秀案例,通過對市面上優(yōu)秀案例的演示、分析來加深學生對理論知識的理解。同時,鑒于軟件工程課程的實踐特點,專業(yè)教師不僅要有扎實的理論基礎(chǔ),而且要有豐富的相關(guān)實際項目的開發(fā)經(jīng)驗。教師需要對教學內(nèi)容進行與時俱進的創(chuàng)新教學內(nèi)容,在整改教學模式的過程中列出實際的成功案例,通過分享成功案例的相關(guān)經(jīng)驗,再布置合理的作業(yè),根據(jù)學生的特點進行分組,啟發(fā)同學們對軟件開發(fā)的積極性,以便在教學過程中活學活用。教師應不斷提高軟件工程的理論知識,同時要實時關(guān)注軟件工程技術(shù)的最新發(fā)展,定期走訪和學習軟件開發(fā)公司,了解和掌握最新的軟件開發(fā)技術(shù)。
軟件工程教學涉及理論教學和實踐教學。教學目標的定位應基于學生,學校和社會的條件和環(huán)境。教學質(zhì)量和效果取決于教學系統(tǒng),教學過程和教學方法。隨著軟件工程技術(shù)的飛速發(fā)展,大量新技術(shù)、新方法層出不窮。教師應時??偨Y(jié)教學內(nèi)容,并依據(jù)當下軟件市場變化的需求,根據(jù)經(jīng)驗將教學內(nèi)容進行歸納總結(jié),并形成清晰的文件,在學習過程中分享給學生。同時,還應精心設(shè)計多媒體課件,并在學期初分發(fā)給學生,以便于學生自學,可以隨時進行預覽。軟件工程這門課程應采用多媒體教學的方式,并適當增加課時數(shù)。課程開設(shè)的時間宜拉長一點,最好能橫跨兩個學期,以便使學生有充裕的時間對所學的內(nèi)容進行消化與鞏固,同時又有充分的課外時間完成課外實踐任務。加強實踐教學環(huán)節(jié)的同時也要重視培養(yǎng)學生的實踐能力和創(chuàng)新能力。從歷年來畢業(yè)生就業(yè)情況和對人才市場的調(diào)查和反饋中,只有少數(shù)畢業(yè)生可以勝任本專業(yè)領(lǐng)域的工作,并能夠長期從事本專業(yè)相關(guān)的工作,相反,大多數(shù)畢業(yè)生的競爭優(yōu)勢不如與經(jīng)過崗位培訓的高職學生。鑒于此,有必要加強實踐教學的教學內(nèi)容,并突出學生的創(chuàng)新意識和獨立完成任務能力的培養(yǎng)。
學生需要通過完成設(shè)計軟件和運行軟件的項目任務來實現(xiàn)學習的目標。這一階段對應于學生培養(yǎng)任務模擬、軟件應用、的過程。在完成任務為最終目標的驅(qū)動下,引導學生自主地去進一步深入學習教材的內(nèi)容,并積極掌握此項軟件設(shè)計的項目從設(shè)計到開發(fā)所需的專業(yè)知識和技能。另一方面,學生在完成任務的過程中體驗到一系列軟件開發(fā)的樂趣,并從中獲得成就感,并對本專業(yè)有了正面的積極的認識,對學生而言一個完整的設(shè)計軟件的項目,有利于培養(yǎng)學生善于實踐的能力。軟件工程綜合實踐是學生對軟件開發(fā)過程的模擬體驗?,F(xiàn)代軟件開發(fā)大多以團隊合作的方式進行。通過對實際項目開發(fā)的比較,學生可以根據(jù)實際項目的設(shè)計、研發(fā)到軟件最終運行的整個過程了解到自身的優(yōu)勢。同時,在整個教學和引導的過程中,敦促學生完成軟件開發(fā)任務按時質(zhì)量和數(shù)量,以便真正達到理論與實際運用相結(jié)合的目的。因此,對于學生來說,有必要建立一個軟件項目開發(fā)團隊并分配成員的角色。
為了適應中國軟件產(chǎn)業(yè)發(fā)展的情況,中國許多高校在中國及時開設(shè)了軟件工程專業(yè),招募了大量的軟件工程畢業(yè)生。然而,從就業(yè)市場的反饋表明,許多軟件工程畢業(yè)生的水平和質(zhì)量之間仍然存在巨大差距和企業(yè)的實際需求。學校應加強與企業(yè)合作的粘性,甄選有實力和有規(guī)模的正規(guī)企業(yè)進行長期穩(wěn)定的合作。學校應真正對學生未來的就業(yè)負起責任,教師應及時了解軟件行業(yè)的動態(tài)和實際需求,并及時地修改教學大綱和人才培養(yǎng)模式,校方應定期邀請軟件開發(fā)公司高級技術(shù)人員為學生們進行授課指導,學校還應定期派教師到軟件開發(fā)公司進行觀察和學習,并派學生到軟件開發(fā)公司進行實習和學習。而對于軟件工程的課程設(shè)計,可以邀請軟件開發(fā)公司的技術(shù)人員擔任講師。加強校企合作的模式不僅可以提高學生對本專業(yè)的學習興趣,而且可以實現(xiàn)為優(yōu)質(zhì)的企業(yè)定向培養(yǎng)優(yōu)質(zhì)人才的培養(yǎng)目標,充分為學生提供校企合作過程中的就業(yè)信息,為學生畢業(yè)后的就業(yè)方向提供有靠保障。
通過將理論講解采用案例教學法,學生的實踐采用任務驅(qū)動教學法。通過教學實踐表明,該方法能充分調(diào)動學生學習的自主性,可以提高學生對本專業(yè)的學習興趣,提高軟件工程課程教學的學習效果。畢業(yè)生從事軟件開發(fā)的比例大大提高,教學效果也有顯著提高。通過多年的教學改革與實踐,可以發(fā)現(xiàn)學生對學習軟件工程課程的積極性有了很大的提高,極大地促進了相關(guān)課程的課程設(shè)計和畢業(yè)設(shè)計。
在軟件工程的教學內(nèi)容中注入設(shè)計良好的教學案例,可以有效地改善軟件工程教材內(nèi)容偏重于理論而弱化軟件開發(fā)實踐的現(xiàn)狀。探究式軟件開發(fā)教學模式可以激發(fā)學生的學習積極性,拓展學生的學科知識,提高學生綜合分析和解決問題的能力,將軟件工程的基本技能與軟件項目的研究與開發(fā)相結(jié)合,培養(yǎng)學生分析、設(shè)計、實施軟件項目的能力和團隊合作意識。