楊金龍,李志華,袁運浩
(江南大學 物聯網工程學院,江蘇 無錫 214122)
軟件工程項目指導教學改革與探討
楊金龍,李志華,袁運浩
(江南大學 物聯網工程學院,江蘇 無錫 214122)
項目指導教學模式已成為軟件工程課程教學的主流模式,但如何應用項目指導教學,提高教學效率仍是一個值得探討的課題。本文對軟件工程課程存在的問題進行分析,提出以教師為核心,學生為主體,從案例設計、問題引導和項目實戰等幾個方面展開討論,為下一步提高新時期軟件工程教學效果奠定基礎。
軟件工程;教學改革;項目指導;模塊漸增
軟件工程是計算機科學與技術專業的一門核心專業課程,其教學目標旨在培養學生采用規范的軟件工程方法和思想開發項目和管理項目的能力,具備作為軟件工程師的專業能力。但軟件工程課程的綜合性、理論性、實踐性都比較強,教學手段單一,對沒有項目經歷的本科生來說,很難深刻體會課程中所涉及的比較抽象的工程化原理和方法,導致學生對該課程沒有興趣,降低了學習該課程的效率。
目前,軟件工程課程主要存在問題有以下幾個方面。
1.從內容上來說,軟件工程課程的綜合性比較強較強,涉及計算機專業相關的其他課程,以及管理學和經濟學等多個領域,主要研究軟件定義、開發、維護技術和軟件管理方法等,學生要想在短時間內全面掌握各種知識比較困難。
2.從理論的實踐方面來說,目前教學中,普遍存在理論教學與具體實踐脫節的現象。到最后僅采取考試的方式進行考核,學生將不重視實踐,也只能死記硬背課本知識,感到課程空洞乏味,最終失去對該課程的學習興趣。軟件工程課程是根據人們開發軟件產品的經驗總結出來的理論課程,具有很強的實踐性,如果缺少實踐的指導,光講授理論,對于沒有項目開發經歷的本科生來說,理解起來比較困難,過于抽象。
3.從備課和授課角度來說,可能會存在教學方法不當,往往是單純的教學方式為主,對于純粹的理論知識,如果沒有具體案例和軟件開發實踐作支撐,學生只能被動地聽,導致整個教學過程枯燥乏味,學生感覺該課程學了沒有用。此外,如果授課教師缺乏項目經驗,沒有自身實踐的直觀感受時,即使采用案例分析方式教學,也很難靈活地將理論和實踐充分結合起來,從而導致學生也很難理解抽象的案例,達不到應有的效果。
4.從項目實戰角度來說,很多學校也安排了相應的實驗課或者課程設計,但是大多是驗證性實驗,實驗素材比較零散、不系統,導致學生難以做到學以至用,無法解決實際問題。此外,在項目的執行過程中,缺少對學生的過程管理,導致學生只是為了應付工作而完成任務,沒有真正按照規范的軟件開發原理和方法完成項目,失去了項目實戰的意義。
5.從計算機軟件行業來看,軟件的開發技術和開發平臺更新的速度非常快,如果教材內容陳舊,或教師科研與教學脫節,未能及時把握新的軟件開發技術動態,僅講解經典的理論方法,導致學生所學的知識與實際需求脫節;軟件開發平臺落后,新的軟件工程技術與技術的綜合應用匱乏,導致教學與實際市場中軟件開發不匹配的現象。
針對上述問題,本文將從自身課堂教學實踐出發,探討如何以案例和項目指導教學,以提高學生對軟件工程課程的學習興趣,從而實現良好的師生互動,提高教學質量的效果。
1.完善教學內容體系,加強課程間的相互融合。對于計算機學科來說,很多課程之間的關聯性很大,且前后存在一定的支撐關系。軟件工程課程大多開設在本科生三年級的上學期,這時候學生應該具備了基本的編程能力,面向對象的開發能力,這恰好為軟件工程課程的開設奠定了基礎,對于學生來說,也正好可以通過軟件工程課程的學習,糾正之前編程中存在的不良習慣,培養他們分析問題,規范編程,采用軟件工程技術測試和調試代碼的能力,養成良好的技術文檔管理習慣。因此,教師在教學之前,要充分了解學生的知識結構,可以將之前學期和本學期的課程內容與軟件工程課程融合起來。當然,也可以鼓勵學生,將軟件工程技術原理和方法滲透到其他課程學習,充分實現計算機學科課程之間的相互融合,從更高層次引導學生,增強課程的學習效果。教學內容體系的完善,需要集大家的智慧,教師團隊在一起研討確定。但是,要想達到課程之間的完美融合,首先,需要任課老師具有完善的知識結構,甚至在開課前,需要和其他相關課程的任課老師進行溝通,先實現任課老師之間備課融合。其次,在課堂上,可以適當啟發學生,探討如何將軟件工程所學理論方法應用到所學的其他相關課程中,或者是將其他課程中涉及的例子直接拿到軟件工程的課堂中來加以討論,采用規范的方法處理,以提高課程的學習效率。
2.問題引導,師生互動。軟件工程課程具有較強的知識綜合性,且理論性和工程性也都比較強,如果按照傳統的講授模式教學,對毫無項目開發經歷的學生來說,理解起來將有點困難,往往會導致學生對該課程失去學習興趣。此外,光從課堂理論教學來說,教師也很難面面俱到講解全部內容。因此,有必要充分鼓勵和引導學生進行課外學習和探討,但要有效地調動學生課堂和課外學習的積極性,就需要教師充分備課,精心備課,備學生、備教材,備課堂、備課外,設計合理的問題啟發和引導學生,采用課外時間學生帶著問題學習,課堂時間帶著問題討論的方式,真正實現師生互動的教師模式,以達到提高課程的學習效率。在設計問題時,關鍵是要有針對性,循序漸進,使得學生通過對該問題的解決,能夠加深對軟件工程方法和原理的理解,或達到擴展和延伸知識的目的。課堂上可以采取討論,教師根據學生在課外時間對問題解決的具體情況進行總結和補充,并適當啟發學生,進一步激發學生對該課程進行自主學習的興趣。
3.案例設計,模塊漸增。對應軟件工程案例設計來說,案例設計是否合理,將直接影響課堂教學效果和學生對知識的全面掌握情況。從軟件工程的生命周期來說,項目開發主要分為三個階段:軟件定義、軟件開發和軟件維護階段。所以,在教學案例設計上主要應該考慮兩個方面,一是項目要讓學生易于理解,資料易于搜索。如學生選課系統開發,圖書館管理系統開發,校園一卡通智能系統開發等,都是學生身邊的案例,學生便于取材和理解。二是課題案例教學中,盡量保持案例項目的完整性,采用模塊漸增的教學模式,使得學生能從完整的案例項目中了解項目開發的各個環節,掌握各個環節的開發方法。隨著課程的推進,逐漸展示給學生一個完整的軟件產品,有利于學生對產品整體框架的把握。如果對不同模塊采用不同的項目案例,可能會導致學生無法從項目完整性上理解軟件工程的開發原理、方法及產品的整體架構,起不到應有的效果。
因此,對應教師在學期開始的時候,應該設計好課堂的教學完整案例,分模塊貫穿在學期中不同課堂的教學中,提高教學質量。當然在案例設計和選則上,可以同時設計多個完整案例進行并行或相互交叉融合分析和講解,加深學生對開發過程的全面理解。
4.項目實戰,過程跟蹤。課堂案例分析,學生只能從虛擬的角度把握開發的技術原理和方法,但要讓學生真正地掌握軟件工程的開發技術,還需要進行項目實戰。結合項目教學,能真正激發學生的學習興趣和求知欲望,培養學生分析問題和解決問題的能力。關于項目實戰可以分為兩個階段,或者說兩個層次。一個是從課程開始階段,教師為每個學生配備一個項目課題,可以是簡單點的,讓學生邊學習邊做項目,實現課堂和課外相結合,且可以讓每個學生都能體會項目中的各種管理和開發角色。隨著軟件定義、開發和維護環節的學習,學生的項目也將逐漸完成。另外一個階段是,課程理論部分介紹完,進行項目實戰訓練,采取分組的方式,從人員安排、任務分配、項目計劃實施等,讓學生真正融入真實項目開發的環境,培養學生團隊合作能力、項目實施和管理能力。當然,對于教師來說,需要對每個小組項目的進展情況進行過程跟蹤,及時與小組進行溝通和討論,引導小組順利完成項目。最后采取小組答辯、教師參與、小組之間討論等打分方式進行考評,指出各個小組的不足,并討論在今后項目中如何避免,分享每個小組之間成功的經驗,為今后更好地開發項目作鋪墊。
5.教學與科研良性互動。做好教學和科研的良性互動,讓學生在“學習中研究,研究中學習”,以提高學生的動手能力和就業競爭力。教師在教學過程中,也要積極探索和研究教學與科研的互動關系,探究新型的教學模式,及時把握市場發展動態,更新自己的知識結構,學習新的軟件開發原理和方法,摒棄一味向學生傳授知識的觀念,注重擴大學生的視野,通過給學生提供大量的中外文參考書目、期刊資料以及網絡資源等,激發學生自我完善和科研創新熱情,引導學生參加課題組成員主持的科研項目,參加大學生的各種競賽,鼓勵學生參加課外科技活動和實踐活動,將軟件工程開發原理和方法推廣應用到科研和課外實踐的各種項目開發中,努力培養學生的創新能力及發現問題、解決問題的能力。
本文針對目前軟件工程教學過程中存在的一些問題,分別從教學內容體系完善方面,教學中問題引導方面,案例設計和項目實踐方面做了初步研究,結合自身教學實踐,給出了簡單建議。目前,國內關于軟件工程課程的教學模式還存在許多不足,還需要相關的研究人員做進一步的研究。
[1]盧瑩,林蔭.《軟件工程》課程教學改革和實踐[J].教育教學論壇,2014,(2).
[2]高洪江.高校軟件工程課程教學改革分析 [J].數字化用戶,2013,(26).
[3]郝愛語.《軟件工程》項目式教學改革[J].企業導報,2009,(11). [4]張海藩.軟件工程[M].北京:清華大學出版社,2012.
G642.0
A
1674-9324(2014)40-0044-02
江南大學2013年校級本科教育教學改革研究項目(項目編號:JGB2013041,JGB2013044)。
楊金龍(1981-),男,江蘇連云港人,博士,副教授,研究方向:模式識別,信息融合,軟件工程等。