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