鄭英姿
(廣東技術師范學院天河學院 廣東廣州 510540)
《軟件工程》教學改革的研究
鄭英姿
(廣東技術師范學院天河學院 廣東廣州 510540)
《軟件工程》是計算機科學與技術專業一門重要的專業課程,本文分程析了軟件工程課程的特點,針對軟件工程教學中存在的問題,進行了教學改革的探索和研究,在優化教學內容、采用案例教學法、加強軟件工程實踐環節、加強教師隊伍建設、加大實驗室的建設力度等方面提出了改革建議,通過軟件工程的教學改革,使件工程課程能夠適應社會發展的需求,提高學生學習的興趣,培養學生的團隊協作意識和創新精神,提高學生實際的軟件開發能力,為更深入地學習和今后從事軟件工程實踐打下良好的基礎。
軟件工程 教學問題 教學改革
(1)教學內容陳舊
很多軟件工程的教材在形式上進行了更新,從第一版更新到了第四版,但在具體內容上沒有太大的變化,使學生從書本學到的內容與實際軟件開發脫節,無法掌握最新的開發技術、方法和工具。
(2)教學重點內容模糊
軟件工程課程內容應該包括:軟件工程概述、軟件模型、過程和傳統方法學、面向對象的方法學、軟件項目管理、軟件工具等部分,實現了理論的實踐性和知識的綜合性的全面統一。目前很多高校教師在教學過程中,重點內容與非重點內容比較模糊,主要講解傳統方法學,對于采用面向對象技術開發軟件的講解很少。
(3)教學方式陳舊
很多教師在教學中通常以理論為主,而輕視了實踐過程,沒有將軟件工程中的理論與實踐開發相結合,沒有將理論知識貫穿于軟件實際開發中,沒有充分進行工程實踐過程,整個教學過程枯燥乏味,導致學生不清楚軟件工程在實踐中的應用,不清楚如何利用軟件工程的原理、技術和方法開發軟件系統,認為學習這門課程的意義不大。
(4)學生基礎較差,學習積極性不高
軟件工程本身是一門比較難學的課程,而學生基礎普遍較差,學習積極性和主動性不高,對學習有畏難情緒,軟件工程是一門多學科交叉的課程,在學習軟件工程之前,需要學習前置課程,包括面向對象的程序設計語言,數據結構、數據庫原理等,由于前置課程的學習不夠扎實,許多知識體系不能連貫起來,學生在學習軟件工程時,情緒比較低落。
(5)教學實踐環節存在難度
在教學中,如果只是單純的進行枯燥模糊的課堂教學,而學生沒有親身開發體驗,學生僅憑課堂和書本得來的知識理解軟件工程很難,以至于學完之后覺得用處不大。要讓學生相信和理解軟件工程對軟件開發的重要性,就是在學習期間完成一個中型左右的軟件開發。但這種方法又相對復雜耗時,加上這門課一般在大三下學期以后開設,時間上來不及,并不適合初次接觸軟件工程的學生的教學實踐。
1.優化教學內容
教師在教學備課時,不能拘泥于一本教材,而且教材最好是在近兩年出版的,在教學備課當中,多參考資料,講解新概念、新技術、新方法和新工具,采用CDIO工程教育理念,通過課程組形成的教學團隊精心設計教學。在教學基礎方面讓給學生講解軟件工程相關概念、軟件過程等,在應用部分重點講解當前比較流行的統一開發過程、面向對象技術和UML語言。
2.采用案例教學法
這門課程理論知識多,內容抽象,教師在講解課程內容時,如何使這門課程上得有聲有色,學生聽得津津是道,除了優化課程教學內容,有較強的表達能力以外,還要采用好的教學方法。
在本課程的教學中,我們都是以案例為導向,對軟件生命周期的基本任務、軟件模型的教學,舉出三個案例,結合我們的理論知識,要求學生分析出三個案例分別適合采用哪種軟件模型、以及原因。通過教師工資支付系統案例講解如何采用傳統方法學對軟件進行分析、設計、實現,面向對象方法學的講解,貫穿的案例是ATM自動取款機系統。
3.加強軟件工程實踐環節
針對每部分的教學內容設計實驗,在開學初要求每班學生自由組隊,分成若干小組,教師提供項目的題目,每組選一個題目,緊跟教學的進度,進行項目的分析、設計和實現,讓學生初步認識到如何在實踐中應用軟件工程的知識。
對于本課程的課程設計,可邀請企業的工程師到學校來擔任課程設計的老師,按照企業開發的模式讓學生進行項目開發,項目以團隊開發的形式進行,每個小組選一個組長,組長負責規劃進度、分工,小組成員按照軟件項目開發各階段進行分工合作,這樣來鍛煉他們的團隊協作精神和相互溝通能力,讓學生了解企業的實踐開發軟件的流程。
鼓勵學生到軟件公司參加培訓、實習、兼職,親身體驗到企業軟件開發全過程,提高實踐能力,增強對軟件工程技術、方法和原理的理解。
4.加強教師隊伍建設
教師隊伍建設是衡量一個學校教學和學術的重要指標,在教學過程中,教師扮演很重要的角色,把提高教師的綜合素質作為本課程建設的一個重要內容,對于計算機這個日新月異的專業,教學內容不斷向“基、精、深、新、能”發展,這就要求教師樹立新的教學理念,學校應該多提供機會讓老師進修、培訓,派骨干教師參加企業軟件項目實踐,教師把學習掌握的新技術、新理念融入到課堂教學中,讓教學的內容更加實用性和先進性,學校還可以采取開辦講座的形式拓展教師的知識面,提高軟件工程教學質量。
5.加大實驗室的建設力度
學校要加大軟件工程實驗室的建設力度。軟件工程是一個實踐性和綜合性非常高的課程,需要一個設備完善、開發工具軟件多樣化、輔助軟件豐富、學生能夠穩定連續進行實驗的環境支撐。
以上軟件工程的教學改革已在我校進行了實施,對教學的課件進行了多次修改,融合了很多軟件工程的新技術,新理念,將軟件工程與UML、Rational Rose等結合起來進行講解,加強軟件工程實踐環節,在課程設計中,準備了20多個設計的題目,將學生分成了若干個開發小組,要求學生在老師的指導下完成設計做品和設計論文,最后進行答辯;寒暑假期間,積極組織學生到軟件企業培訓實習,了解企業的開發流程,增強對軟件工程技術、方法和原理的理解。
通過多年的努力,不斷的改進教學的課件,;精心進行教學設計,使本課程在內容上緊跟時代的最新技術,激發學生的興趣和潛能,使學生掌握軟件開發和維護的方法學,掌握軟件開發的過程和先進的軟件項目管理方法,通過實踐性教學環節,提高學生實際的軟件開發能力和工程素養,培養學生的團隊協作意識和創新精神,為更深入地學習和今后從事軟件工程實踐打下良好的基礎。