王穎 吳雅琴
摘 要:《軟件工程》是高等學校計算機相關專業的一門重要的專業必修課,該課程涉及面廣、內容豐富,其自身特點決定了該課程的知識不是完全可以從書本和課堂上學會的。要想達到這門課程的教學目的,就必須同時加強課堂教學和實踐教學兩個環節。
關鍵詞:軟件工程 課堂教學 實踐教學
中圖分類號:G642 文獻標識碼:A 文章編號:1672-3791(2014)07(a)-0157-01
《軟件工程》是一門理論與實踐結合緊密的計算機專業的課程,以軟件的說明、開發、維護和管理為主要內容,使學生能夠熟練掌握軟件工程的基本原理、技術和典型的方法,并為今后參與大型軟件開發項目打下堅實的基礎。
《軟件工程》與其他的計算機專業課有很大的區別,它并不是一個完全的計算機的概念,該課程涉及多個領域的知識,如計算機科學、工程學、經濟學、管理學等,內容非常豐富。因此,該課程除了針對計算機專業的學生,在很多領域也都有所開設,比如我們學校的理學院,為金融、數軟、信軟專業的學生也開設了該課程。
1 《軟件工程》的教學現狀
《軟件工程》是一門理論性和實踐性都很強的課程,具有很強的綜合性和時效性。但是傳統的教學方式就是以教師課堂授課為主,學生被動地聽課;而且重理論、輕實踐,主要給學生講解許多理論知識,但沒有說明如何將理論知識與實踐相結合,學生難以參與軟件開發的全過程;教學中所舉的案例相對獨立,前后沒有銜接,缺乏完整性、實用性,常常讓學生感到迷惑不解。沒有任何軟件開發實踐經驗的學生會對軟件工程的抽象理論容易感到枯噪乏味,上課積極性、主動性不高,甚至對軟件工程的用途產生困惑,因而產生厭學心理。同時,學生的情緒反過來會影響老師的積極性,使課堂氣氛非常沉悶,導致課程的教學目的很難達到。
2 《軟件工程》教學的改進對策
為了改善《軟件工程》的教學效果,充分調動學生的積極性,改變以往難學、難教的局面,必須在教學方法等各方面上進行相應的改進。
2.1 教學方式的改進
在《軟件工程》教學中,理論課應當采取案例教學模式,實踐課則采取項目教學模式,也就是案例教學和項目教學相結合的一種綜合教學方法,因材施教,會收到事半功倍的效果。案例教學法應貫穿于理論教學的全過程中,以教師的講解為主,按照知識點把課程獨立劃分成一個個典型案例,引導學生進行分析與討論,提高學生的參與性。這種方法是將基本原理、實際案例(教務管理系統、圖書管理系統、通訊錄管理系統等)、關鍵技術與工具等有機結合,可以將復雜抽象枯燥的概念變得生動有趣。
要想達到《軟件工程》的教學目的,就必須讓學生親自動手參與軟件的分析與設計,實踐環節必不可少。除了課內實驗外,在課程結束后還安排綜合設計的環節。實踐教學中就要采取項目驅動的教學模式。把一個項目劃分成若干個子項目,然后把相關的知識點融入到這些子項目中。實踐活動應以團隊小組合作的形式進行,每個小組要完成一個子項目,需要5~6人分工合作,分別扮演項目經理、系統分析員、程序員和測試員等不同角色,然后運用軟件工程中的技術、方法,并按照軟件過程規范分階段實施,逐步完成項目的開發計劃、可行性研究、需求分析、概要設計、詳細設計、編碼、測試、用戶手冊和總結報告的書寫。通過這種方式,充分調動學生的學習積極性,鍛煉學生的分析問題、解決問題,合作交流、表達寫作等綜合能力,提高了實踐能力和創新能力。
2.2 教學內容的改進
教學內容是教師和學生交流的信息承載,教學內容的表述程度直接影響教師和學生對這門學科的把握程度。
目前,《軟件工程》課程教學大多數采用是以結構化方法為主要內容的面向過程的教材,這里面涉及很多抽象的高深理論,但是學生所學習的大多數程序設計語言都是面向對象的,如C++、JAVA等,《軟件工程》教材理應與時俱進,教學方式應以面向對象為主,使學生掌握從OOA、OOD到OOP軟件開發的基本過程,掌握面向對象的建模工具Microsoft Visio或Rational Rose和建模語言UML等內容。
另外,軟件工程是一門邊緣學科,涉及的領域很多。但就目前諸多的《軟件工程》教材來看,在內容取舍、知識結構、章節安排、實踐環節等多方面存在嚴重缺陷,其教學內容上較少體現軟件工程與其他計算機課程的綜合。因此,在教學內容的安排上應注意與其他相關課程內容的相互滲透。
2.3 學習時間的保障
《軟件工程》這門課在我們學校的舊版培養計劃中,被安排在大四的第一學期開設,只有40學時的授課,對于這樣一門理論性和實踐性都很強的學科來說,實驗環節的缺失是軟件工程課程所面臨的一個很大的挑戰。另外,一般大四的本科生一邊要做畢業設計,一邊要準備考研,還要找工作,甚至一些學生干脆就到某些公司上班實習,這也就導致安排在大四的課程出勤率不高,學生的學習積極性不高,當然學習的效果就不好。在近兩年執行的新版培養計劃中,《軟件工程》這門課調至大三第一學期開設,首先保證了出勤率,而且增加了16個學時的實驗學時,后續還有為期兩周的《軟件工程實訓》,實現了理論與實踐的相結合。當然,要想學好《軟件工程》這門課,這些實踐時間還是有限的,因此,延長實踐課的時間是非常必要的。
2.4 考核手段的改進
《軟件工程》原有的考核方式就是理論考核,因為早期沒有實踐環節,課程結束后只能給學生出份試卷,考查一下理論知識的掌握程度。為了增強軟件工程課程的教學的有效性,增加了實踐環節,實踐環節的成績也應該算在總成績中,因此,應該把考核方式調整為理論知識加實訓考核方式。必要時也可采取軟件工程建模、完成開發文檔、結合軟件工程知識答辯這種以實驗為主的新的考核方法,該實驗性考核方法以考促學,效果也是值得肯定的。
總之,在上述方式得以實現的基礎上,我們還準備建立《軟件工程》課程的專業網站,給學生學習提供一個網絡教學資源和平臺。在該網站上可以進行課件下載、習題布置、網上答疑、學生社區等功能,為學生學習該門課程提供了更好的條件。學生可以利用這樣一個平臺完成網上自學、討論交流、提交作業、在線測試、教學效果評價等功能,充分發揮學生在學習過程中的主體作用。
參考文獻
[1] 程線,李功網,戴國梁.《軟件工程》課程探究式課堂教學的實踐與思考[J].中山大學學報論叢,2005,25(1):172-175.
[2] 劉強.“軟件工程”課程教學改革的探索與實踐[J].理工科通訊,2008(8).
[3] 于國樹,嚴志安.如何把握軟件工程課的課堂節奏[J].學園,2013(22):81.
[4] 孫知信.軟件工程課程模塊化教學改革的實踐與思考[J].南京郵電學院學報:社會科學版,2004,6(2):39-42.
[5] 趙輝,李萬龍,鄭山紅,等.“項目導向案例驅動”的軟件工程教學模式[J].計算機教育,2012(10):89-92.