謝曉蘭+程小輝+谷曉峰
摘 要:本文通過分析目前高校軟件工程專業課程的建設現狀,對其所存在的一系列弊病做了闡述,最終提出了面向軟件工程的課程群建設的建議。依據目前軟件行業的人才需求特點,有針對性地將軟件工程專業分為三個層面,并分別對不同層面的課程群建設的思路與方法進行了論述,對軟件工程課程群的建設具有一定的研究價值。
關鍵詞:軟件工程;課程群;人才需求;三個層面
中圖分類號:TP311.523 文獻標識碼:A
一、引言
軟件工程作為一門綜合的交叉性新興工程學科,在目前社會中應用于多個層面,例如,各種各樣的操作系統、游戲開發、嵌入式系統、數據庫,還有風靡全球的電子商務,等等。而計算機軟件的應用也同樣深入到各個行業當中,促進了經濟和社會的發展,也提高了工作效率和生活效率,可以說與我們的生活息息相關。
對于軟件工程專業來說,其課程設置基本上涵蓋了軟件需求工程、設計、編程、測試和維護的全部內容。隨著高等教育規模的不斷擴大,畢業生的就業面臨困境。同時,IT行業也難以招收到適應企業發展的人才。所以,通過課程群建設對軟件工程專業的人才培養模式進行改革,從而培養出適應社會需要的高素質、實用型且具有競爭能力的軟件工程高級應用型人才,可行且有必要。
二、軟件工程課程建設現狀
目前,軟件行業正處于一個高速成長期,技術與管理都日趨成熟。而軟件工程專業伴隨著行業的發展也一直在不斷地調整。雖然軟件工程專業的開設也有一定的年頭了,但目前我國高校軟件工程專業課程體系建設仍存在一系列問題。如課程融合不夠緊密,即使教學大綱已經針對專業特點進行了相應的課程安排,如在教材選擇、實驗內容方面均有突破,但是仍沒有突出專業的特點,沒有將整個專業進行整合編排,大部分都是停留在單一化的課程模式,沒有形成一條通順的知識鏈,要么內容重復,要么出現斷層現象。而在實驗教學方面,重心偏離,教學課時不足,對于教材所匹配的例子所辦也過于單一,并不能使學生在做實驗的同時對相關理論知識有較全面的認知。
前年的美國IT xpo峰會和去年的IT互聯網人才招聘趨勢論壇上,與會人士對軟件行業人才需求都做了討論,編碼能力、實踐理念、團隊精神、英語讀寫能力,這些都是必須具備并且要達到一定水準的。然而,目前我國大部分普通高校的軟件工程專業對軟件人才的培養并沒有跟上其發展的進度。如課程內容明顯與行業現狀脫節,學生的理論學習效果不明顯,更別說實際操作能力了。因此,軟件工程教學需要對目前軟件行業人才需求做出的響應,理論和實踐必須雙管齊下。
目前軟件行業陷入企業招人難和畢業生找工作難的雙重困境,其主要原因是學生不能滿足軟件企業不斷地對軟件人才提出新的、更高的軟件工程能力要求。針對上述高校軟件工程專業課程建設中存在的一系列弊病,我們在這里提出面向軟件工程的課程群建設教學改革,通過一些方法來解決問題。
三、建設思路與方法
從三個層面上劃分軟件工程可分為程序級、系統級、管理級。針對不同層面的不同側重點,教學改革與課程群的建設也同樣要有針對性。
1.程序級
一項工程首要任務就是打好基礎,而程序級作為軟件工程的基礎級,對學生編程能力、調試能力、維護能力的培養是高校軟件工程專業課程群建設的重點。
目前高校開設的軟件工程的專業基礎課有C語言程序設計、Java語言程序設計、面向對象程序設計、計算機電路、數據結構、工程數學、離散數學、數據庫系統概論、軟件集成開發環境、計算機組成原理與實驗、操作系統、計算機網絡、軟件工程、編譯原理、系統分析與設計和軟件質量保證與測試等課程。作為剛接觸軟件工程的大學生,專業基礎課尤為重要。只有基礎好,根基牢,才能完成上層建筑的構造。所以整個軟件工程的課程群建設首要任務是完成程序級的基礎課程群建設。
針對此層面的課程群建設,可以編程能力、調試能力、維護能力三大能力為核心展開,形成知識點—知識鏈—知識面—知識網絡體的360度全方位課程群,打破獨立性,去除單一化,避免課程與課程之間的內容重復或前后脫節,在有限學時打好牢固基礎。
2.系統級
作為軟件工程的第二個層面,系統級主要是理解掌握一個完整的軟件開發過程、系統分析和設計的主要方法,這是在以程序級的專業基礎課程群建設上進行的實踐性升級,換句話說,就是系統級是以實踐與實用為核心的課程群建設。
首先,提出理論與實驗平衡發展穿插教學的方式。目前很多高校多半還是以理論教學為主,實踐教學為輔,且多是先集中授課后安排實驗,致使學生總有一種實驗跟不上理論、理論融不入實驗的無力感。教師對單一課程的實驗內容安排要進行減與加的整合,減去過于簡單的小實驗,加入其他課程的實驗內容,讓學生在做實驗的時候能有一個整體性的感知,而不是出現斷層。在項目實踐過程中,學生對軟件開發和軟件測試技術的整個過程都會有一個更全面和清晰的認識,當結合理論知識來學習時,更容易讓學生加深記憶和理解。對于團隊合作,項目管理方面也能讓學生提前有所認識和熟悉,為將來的職業發展做好鋪墊。
然后,我們提出以學科競賽起帶頭作用的實踐與理論的結合。實踐是檢驗真理的唯一標準,作為軟件工程專業的大學生,參加相關的學科競賽是對理論與實踐結合的完整體驗。例如,“中國軟件杯”全國大學生軟件設計大賽、“藍橋杯”全國軟件和信息技術專業人才大賽、“英特爾杯”全國大學生軟件創新大賽、微軟“創新杯”全球大學生競賽、全國高校移動互聯網應用開發創新大賽、Android全國大學生移動互聯網創業挑戰賽、“發現杯”全國大學生互聯網軟件設計大獎賽等,這些都是今年具有一定影響力和權威性的比賽。在整個比賽期間,學校針對某項競賽做新的實驗教學內容編排、課時調整、課程授課先后調整,使學生對軟件開發的整個過程的認知有一個質的飛躍。
3.管理級
所謂管理級,就是通過項目管理課程,了解工程中質量、成本、進度的管理情況,具有風險意識。這里我們可以引進校外企業進行合作,邀請校外優秀軟件企業進校園不定期地宣講相關知識,讓同學們提前對軟件行業項目管理方面有所認識和了解,讓學生能夠理論聯系實際,更好地學習,同時,也可讓學生提前做好職業定位與確定目標。
軟件產品在我們生活中無處不在,而軟件行業的不斷壯大,必然使得我們要時刻跟上其前進的步伐。針對高校的軟件工程專業的教學改革是必然要走的路,而課程群的建設是目前軟件工程專業教育的發展方向。本文對目前軟件工程專業課程建設中存在的一系列問題,按照目前軟件行業對人才需求特點,將軟件工程從三個層面進行了劃分,即程序級、系統級和管理級。針對每一個不同的層面我們提出了不同的課程群建設思路,從而形成切實有效的軟件工程課程群建設辦法,希望能夠在專業課程建設上有所建樹,從而提高軟件工程專業教學質量,提高軟件工程人才的培養水平。
參考文獻:
[1]呂會慶,張 巍.軟件工程專業課程群建設教學實踐[J].計算機教育,2012,(14):27-29.
[2]彭佳紅,曹曉蘭,程 妍.軟件工程專業課程體系與課程群研究[J].高等農業教育,2013,(2):74-76.