郭衛斌,虞慧群,李建華,羅勇軍
(華東理工大學 計算機科學與工程系,上海 200237)
教育部公布的2015年中國大學畢業生就業報告將建筑學、軟件工程、網絡工程等7個專業列為本科就業綠牌專業[1](綠牌是指失業量較小,就業率、薪資和就業滿意度綜合較高的專業,為需求增長型專業)。高層次、實用性、復合型、具有國際競爭力的軟件工程人才的培養,要求學生具備一定的國際化視野、較強的工程實踐能力和創新意識。研究探索新形勢下的軟件工程人才培養模式及方法,將為規劃部署教學條件和實習基地建設,培養既有扎實的理論基礎,又有一定的工程實踐能力、管理能力和技術創新能力的高素質軟件工程專門人才,奠定良好的基礎。
通過對軟件行業、企業調研和畢業生質量的問卷調查反饋、查閱文獻可知,目前國內關于軟件工程人才培養亟須解決如下問題[2-3]:①人才培養目標內涵不清晰。缺少以規范、精確的方式對培養目標和培養要求進行詳細清晰地定義。②課程體系與專業素質培養不協調,忽視軟件產業發展對先進技術應用與工程經驗學習的需要,實踐課程體系缺乏以解決實際問題為背景的知識綜合應用與工程能力訓練。③教學模式與培養途徑與工程實際能力培養不適應,忽視工程環境中以問題求解為導向的主動學習,缺少啟發式教學和基于實際工程項目的案例教學。④管理體制和運行機制與高素質人才培養不匹配。任課教師缺乏實際工程經驗,難以支撐工程創新能力培養計劃的實施,運行機制很難讓企業參與人才培養過程。
(1)軟件產業是信息社會的支柱產業之一,也是上海等大中城市優先發展的產業,該產業需要大批既有扎實的理論基礎又有實踐經驗的高級專門人才。但目前,我國軟件行業人才缺口較大,就業形勢非常好,具有很大的需求潛力。
(2)通過多年發展,個別高校建立了自己的學科優勢,可以為軟件工程人才的培養提供實踐經驗。以華東理工大學為例,該校在軟件工程領域具有較好的科研和教學積累,承接多項國家級高科技項目,在可信計算與信息安全、計算機網絡信息處理和商業自動化等領域,形成了自己的研究特色;許多教師畢業于計算機軟件與理論專業,具有豐富的軟件開發從業經歷,具備組織開發大中型軟件項目的經驗和能力,在老師的帶領下,該專業的學生在各種國際、國內競賽中成績突出。
(3)當前,國家正在開展新工科專業的研究與實踐,聚焦國家發展戰略,建設發展新工科,進行高等教育改革,推動學科專業交叉融合,加強復合型工程技術人才培養,成為當前高校的一項重要任務。國家當前和未來產業發展的需要以及工程教育改革的新形勢為軟件工程專業開展改革與實踐提供了恰當的切入點和良好的契機。
在重點培養學生的軟件開發能力和軟件工具應用能力的基礎上,進一步加強軟件項目設計能力、項目組織與管理能力、項目團隊協作能力、技術創新與管理創新能力等能力的培養。
基于以上定位,依照科學分層、合理配置、全面培養、突出創新的原則,構建以學生的全面發展為中心,以培養工程意識、工程興趣、工程能力和創新精神為核心,對軟件工程專業的人才培養規格、理論教學體系、實踐教學體系、教學方式方法、管理與運行機制等進行改革,建立面向專業全體學生、符合專業規范和學校特色的華東理工大學軟件工程本科專業人才培養體系。
(1)從知識結構、學科能力和專業素質等方面制訂適合本校學生特點的軟件工程人才培養規格。
(2)結合CDIO(conceive構思、design設計、implement實現、operate運作)理念,整合課程體系,構建以學生培養質量為中心、以工程創新能力為導向的“寬基礎、精方向、重創新”的理論教學體系,強化創新創業實踐訓練,構建漸進性階梯式軟件工程實踐教學體系。
(3)以實際工程項目的問題定義、可行性分析、需求建模、系統設計、實現與測試為主線,強調學生探索、教師指導下的問題求解,實踐以軟件需求為導向、以問題求解為主線的項目驅動的教學方法。
(4)建設多元化師資隊伍、引入績效考核機制、創新產學研合作教育模式等。
(1)內涵建設是當前我國高等教育改革的核心,培養符合國家經濟建設需要的高素質軟件工程專門人才的工程實踐能力和創新意識是內涵改革的重要任務。按照軟件產業的人才需求特點,從基礎知識與工程技術、專業技能與素質、團隊協作與溝通、軟件系統與產品等方面凝練出軟件工程人才應具有的知識結構、能力結構和素質結構。
(2)CDIO是由麻省理工學院等機構提出的先進工程教育模式,它以產品研發到產品運行的生命周期為載體,讓學生以主動的、實踐的、課程之間有機聯系的方式學習工程,以培養其工程基礎知識、個人能力、人際團隊能力和工程系統能力[4-5]。在構建軟件工程人才培養體系時,力求反映CDIO理念、理論與實踐教學體系合理實現CDIO大綱要求,以使學生在上述4個層面達到預期目標。
(3)結合在線課程、翻轉課堂和混合式教學等新興教學模式,開展基于項目驅動、以問題求解為導向的案例式、啟發式、探究式教學,使學生通過課前自學、課堂深入引導和課堂研討等形式啟發學生開展自我探索式學習、增強學習的內驅力。
依照以知識傳授為載體、以能力培養為導向、以素質提升為目標的原則,建立以工程創新能力培養為核心的軟件工程本科人才培養體系,包括軟件工程知識體系和人才培養規格、軟件工程理論課程體系、軟件工程實踐教學體系和軟件工程創新訓練體系4個部分。
IEEE最新發布的軟件工程知識體系(SWEBOK)包括軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程的工具與方法、軟件質量等10個知識域,這些知識域貫穿軟件產品生命周期的全過程[6]。
按照國際軟件規范標準、國家軟件產業需求和軟件工程專業特點,基于SWEBOK從基礎知識與工程技術、專業技能與素質、團隊協作與溝通、軟件系統與產品4個方面制訂軟件工程人才培養規格。規格包括知識結構(工具性知識、人文社科知識、自然科學知識、工程學知識、經濟管理知識、專業技術基礎知識和專業知識等)、能力結構(獲取知識能力、應用知識能力、創新能力等)和素質結構(思想道德素質、文化素質、專業素質、身心素質等)。
在此基礎上,對這些知識、能力與素質進行梳理,形成與畢業要求的對應關系矩陣,依此判斷人才培養目標的達成度。
在制訂課程體系時,通過專題研討、在校生交流、專家訪談、校友座談、走訪用人單位和問卷調查等方式,征集學生、企業和行業對軟件人才的需求特點,據此不斷改革課程體系和調整教學執行計劃。軟件工程專業的理論課程體系由學科基礎課程、專業核心課程和方向選修課程3個層次組成,如圖1所示。在劃分3個層次的邊界時,既要考慮對計算機科學與技術一級學科的傳承,又要體現軟件工程的學科特點[6-9]。

圖1 軟件工程專業的理論課程體系
學科基礎課程主要培養學生在簡單、普適的環境下進行軟件開發的基礎能力,訓練學生的初步和基本的工程能力,一般在第1—3學期開設。專業核心課程包括計算機系統技術課程和軟件工程方法課程兩部分。其中,計算機系統技術課程培養學生運用軟件工程方法解決某種計算環境下具體軟件設計問題的能力;軟件工程方法課程可按照自底向上或者自頂向下的方式講授軟件設計的內容,培養學生在軟件工程專門領域解決復雜軟件設計問題的能力,一般在4—6學期開設。方向選修課程是指按照專業方向模塊開設不同的研究型課程,強調專業知識與實際應用領域的結合,根據專業和學校的具體情況,可分為數據科學、數字媒體、物聯網工程和信息分析等4個方向模塊,分類培養學生綜合運用領域知識的能力和科學研究能力,一般在第7學期開設。
(1)將工程意識和工程實踐能力的培養貫穿課內實驗、實訓、課外實踐和畢業設計等環節,同時加大課程實驗環節的比重,加強實踐動手能力的培養,優化課程實驗體系與內容,使其具有層次性、階段性和系統性。
(2)將實踐教學分為學科基礎實驗、軟件過程訓練和綜合實踐3個層次,全方位培養學生計算機硬件、軟件,網絡與信息安全方面的工程實踐能力。第1層次的實踐從認識開始,逐步增加設計型實驗,使學生具備一定的實驗能力和初步的工程意識;第2層次的實踐包括課程實驗、課程設計、項目實訓和專題實踐等環節,目標是培養學生熟悉軟件工程過程;第3層次的實踐包括軟件職業實踐和畢業設計,培養學生專業知識的綜合應用能力和工程開發能力。
(3)建立不同層次、課程模塊與畢業要求的對應關系矩陣。
(4)對實驗室與實訓基地的硬件、實驗場所、實驗大綱與指導、實踐教學隊伍與管理隊伍、實踐教學管理制度等進行系統的實踐環境建設研究。
(5)創新性項目實踐活動包括科研實踐、創新創業活動、學科競賽和畢業設計等環節,目標是培養學生的知識運用能力、信息獲取與選擇能力和創新能力。
(1)改革理論與實踐教學方法,通過分組討論、頭腦風暴、逆向思考等形式進行創新思維和創新方法訓練。
(2)通過項目驅動進行軟件工程技術研究方法的訓練。以教師真實的科研項目或工程項目為驅動,強化學生的批判性思維和創造性思維能力,建立學生自主研究和創新的機制,增強學生的創新意識,培養其團隊協作精神。
(3)變詳細講授為問題求解討論。圍繞學生預習內容講解知識點的關鍵性原理,幫助學生理解重點難點問題,鞏固基礎知識。利用啟發式提問以及重點分析的方式進行引導,啟發學生深度思考,舉一反三,鼓勵學生進行發散性思考,培養學生的探索能力。
(4)建立先進的能力考核與評價機制。改革考核方式與考試內容,減少客觀題型,增加有利于能力提高的主觀設計類題目的比例,重視學生的綜合素質評價,通過多元化方式對學生的工程實踐與創新能力進行考核和評價。
(5)將科技競賽、科學研究、校企合作等納入實踐教學模塊。以科技競賽為切入點,形成學生自覺參加實踐活動的機制,以校企合作為突破,實現常態化的工程訓練。
(1)聘請行業專家和校外教師參與授課和實踐指導,鼓勵教師參加國內相關的教學研討會和培訓班,選派青年教師到企業參與產學研踐習計劃、赴國外進行教學研修,形成理論水平高、工程實際經驗豐富的軟件工程師資隊伍。
(2)構建量化評價培養目標達成度的機制。該機制共包括評價對象、評價原理、評價依據、評價機構和人員、評價周期及評價合格標準等6個部分,如圖2所示。

圖2 畢業要求達成度評價模型
(3)培養質量監控和持續改進。圍繞培養目標確立課程體系和實踐環節,制定各教學環節的質量標準,建立規范的教學管理體系,制定并執行科學的管理方法和規章制度,確保培養目標的實現,如圖3所示。

圖3 軟件工程專業教學管理體系架構
為持續提高專業人才的培養質量,優化人才培養目標,還可建立相應的質量跟蹤反饋體系,及時了解課程體系、實踐環節、教學管理等存在的不足,社會對人才培養的新要求等,持續改進人才培養質量。
工程創新能力培養是當前教育界的熱門話題之一。華東理工大學軟件工程專業利用新專業建設的契機,從知識體系、人才培養規格、理論課程體系、實踐教學體系、創新訓練體系等方面,對該專業進行了卓有成效的探索和實踐,為專業的下一步建設和改革積累了較好的成果和經驗。下一階段,課程改革將對軟件工程課程體系進行深入的研究與整合,構建更加合理的分層次多模塊的軟件工程專業實踐教學體系。
[1]麥克思研究院. 2016年中國本科生就業報告[M]. 北京: 社會科學文獻出版社, 2016.
[2]盧葦, 李紅梅, 張紅延. 精英型軟件工程師人才培養模式的探索與實踐[J]. 中國大學教學, 2010(2): 17-19.
[3]孫琦龍. 創新型軟件工程人才培養體系研究與實踐[J]. 軟件工程師, 2015, 18(10): 62-64.
[4]汪軍, 強俊. 基于CDIO理念的軟件工程專業人才培養模式的研究[J]. 重慶工商大學學報, 2015, 32(6): 70-74.
[5]李彤, 趙娜. CDIO軟件人才培養教學團隊建設[J]. 計算機教育, 2011(7): 63-65.
[6]教育部高等學校軟件工程專業教學指導分委員會. 高等學校軟件工程專業規范[M]. 北京: 高等教育出版社, 2011.
[7]印桂生, 董宇欣, 韓敏霞. 面向產業的軟件工程人才培養體系研究[J]. 教育教學論壇, 2013(33): 247-248.
[8]徐玲, 文俊浩, 熊慶宇. 軟件工程人才培養模式的探索與實踐[J]. 現代教育技術, 2013, 23(8): 118-121.
[9]呂歡歡, 郭偉, 張輝, 等. 面向卓越軟件工程人才培養的實踐教學體系研究[J]. 計算機教育, 2016(1): 38-42.