樊銀亭,劉小明
(中原工學院計算機學院,河南 鄭 州 4 50007)
軟件產業作為我國的基礎性、戰略性產業,在促進國民經濟和社會信息化發展中具有重要的地位和作用。2011年以來,國務院及相關部委出臺了《關于印發進一步鼓勵軟件產業和集成電路產業發展若干政策的通知》[1]等一系列文件,對軟件和信息服務業都提出了明確的要求。全球軟件技術和產業格局也孕育著新一輪重大變革,我國軟件和信息技術服務業將迎來創新突破、應用深化、融合發展的戰略機遇。
近年來,軟件行業飛速發展,對軟件從業人員也提出了更高的要求。盡管軟件人才的數量日益增多,但高端軟件人才的匱乏卻嚴重制約著我國IT行業的發展,主要原因是國內計算機軟件人才的培養還停留在傳統的理工科人才培養模式中,普遍缺少對學生工程實踐能力的訓練,同時也缺乏進行工程能力培養所需的教學環境和質量保障,培養出的學生難以滿足IT企業的需求。
隨著軟件工程專業招生規模的不斷增加,迫切需要對該專業的教學體系進行改革,逐步建立工程化的實踐教學體系,著力培養學生的工程開發能力和職業素質[2],進而形成一個融基礎理論、實驗教學、工程應用為一體的培養機制,讓學生的專業知識、研發水平和創新能力得到全面發展。本文將對軟件工程專業實踐教學體系及培養質量保障進行理論和實踐研究,希望對軟件工程專業建設具有一定的借鑒意義。
實踐教學是培養學生工程開發及應用能力的重要途徑。軟件工程專業應以實際需求為導向,以培養學生動手能力為核心,創建一套與實際應用需求相結合的工程化實踐教學體系[3]。通過實驗、課程設計、實訓和實習4個環節,以專業實驗室和實習基地為依托,以案例庫為驅動,完善質量評價體系和管理機制,確保這一教學體系得以實施。
軟件工程強調采用工程化的方法設計和開發軟件,要求培養學生能勝任分析、設計、開發、測試、管理等多種角色,使學生熟練掌握軟件工程知識與技能,具備作為軟件工程師從事軟件行業所需的專業能力。因此,在軟件工程教學實踐中,按照這個目標逐步培養學生軟件工程開發和管理能力[4]。
軟件工程專業實驗課主要有驗證性實驗和設計性實驗,驗證性實驗以通過在課程中精心設計的驗證性實驗鞏固和加深學生對于特定理論知識點的理解程度,如章節單元內的理論知識驗證或模擬實驗;設計性實驗通過設計性實驗循序漸進地強化學生的構思、設計、實施和操作能力,如團隊級綜合軟件工程課程實踐。前者適應于專業基礎課,后者則適用于專業實踐課。實驗教學,應多以實際案例分解成對應章節的實驗,把軟件工程理論和方法逐步貫穿于實驗過程中,使學生由低層到高層,由局部到整體,由簡單到復雜逐步掌握軟件工程實踐能力。
在規劃課程實驗時,必須提高專業教學中的實驗分量,除少數側重理論教學的專業課外,80%以上的專業課應包含實驗環節,實驗成績應占總成績的30%以上;部分實踐性較強的課程可以以上機考試為最終考核方式。
課程設計是某一課程的綜合性實踐教學環節,如JAVA程序設計課程的課程設計,一般是完成一項涉及本課程主要內容的綜合性、應用性的JAVA程序開發題目。課程設計以一門課程為基礎,綜合應用該課程的專業知識,以開發一個系統為目標,讓一個團隊共同參與完成的系統性實踐過程。課程設計一般以課程剛結束后進行,時間為3周,讓學生充分培養需求分析、軟件設計、軟件實現、軟件測試和項目管理的能力。
軟件工程人才是面向企業需求的,需要具備個人開發能力、團隊協作能力、系統研發能力[4]。實訓教學環節的訓練建立在基礎理論、課程學習和實驗動手能力鍛煉的基礎上,為學生培養綜合能力提供了良好環境。
實訓環節完全模擬企業開發的實際環境,項目也以實際案例為依托,團隊自由組建并按所需角色分配;采用和企業銜接的最新的軟件技術和架構,如 Spring,Ajax,Ext js等框架;實訓平臺采用企業最流行的產品,如數據庫服務器用Oracle,應用服務器采用Tomcat。
實訓過程有專門的帶隊老師負責實訓全過程的管理,學生的考勤直接和實訓成績掛鉤。項目開發中,項目組長制定詳盡的每日、每周、每月的開發計劃和進度。小組都要定期開會研究開發中遇到的問題,并記錄在案。這個環節鍛煉了學生分析問題的能力、獨立設計的能力、團隊協作的能力和溝通交流的能力。
實習是在真實的技術環境中培養工程應用能力,實踐、重復、反饋的方式遠勝于講授的方式。實習要求學生能夠在企業環境中完成項目開發。一般有兩種方式:第一,學生“走出去”,到企業參與實際項目研發;第二,學校“引進來”工程項目,學生在校內參與實際項目的研發。前者表示學生在實習期間,完成一定工作量的項目和案例,這樣在專業技術和溝通交流能力方面能得到較大提高。后者在校內建立研發基地,開展以導師為核心,學生為主體,項目研發為主線的系統的教學活動,提高學生軟件開發和項目管理等專業實踐能力,培養學生的科研創新意識,通過這種方式搭建產學研緊密結合的一體化平臺[5]。
中原工學院已經構建了以社會需求為導向的人才培養目標、以校企合作為平臺的人才培養模式、以提升學生競爭力為主線的人才培養方案,以創新教學管理為目標的人才培養保障機制,形成了一個面向工程領域、符合軟件產業發展特點、以市場需求為導向的軟件人才培養體系。
經過多年的實踐與探索,學校積累了一些軟件工程專業工程能力培養的成功經驗。
為培養高素質的軟件工程專業應用人才,學校注重師資隊伍建設,建設了一支專兼職結合的、具有豐富業界實踐經驗、結構合理的專業教師隊伍。(1)積極聘請企業具有豐富實踐經驗的高級工程技術人員作為兼職教師以及實習的校外指導教師,為提高工程能力培養的雙導師制提供強有力的支撐。(2)提高教師的學歷層次和實踐能力:我校的教師中具有博士學位或博士在讀的教師占教師總數的50%以上,具有國內外企業工作經歷的人數占50%左右。
學校應根據市場需求,適時調整培養計劃,開設社會需求的課程,講解流行軟件,滿足社會的需求。(2)加強雙語教學,積極引進和使用國外原版教材,適應國際化的需要。
建立校內實訓基地,引進IBM、Microsoft、Intel等國際知名企業的設計案例及相關先進設備,讓學生在真實的案例設計與實現中得到鍛煉,已成功培養了多批學生,取得了良好的實訓效果。為學生創造職場工作的真實模擬環境,一方面有助于學生系統地接受實戰強化訓練,深刻領悟社會對人才的真實要求,縮短就業后的適應期,增強在企業的競爭力,另一方面可以借助項目的分工與合作,培養學生的團隊協作能力。
在產學研相結合方面,積極開展校內外多途徑的產學研合作辦學模式,經過多年的探索與實踐,形成了校企合作的人才培養體系。學校已與20余家企業建立了產學合作聯盟,與Oracle、超星、百度等企業建立了穩定的專業實踐基地。通過校企合作,可以深入了解企業的最新需求與發展戰略,及時調整并設置符合企業要求的專業課程等內容。
軟件工程專業實踐課程體系和培養質量保障要不斷適應社會需求變化,適時滿足企業動態需求,這樣才能培養出滿足社會需要的工程化軟件專業人才。軟件工程專業經過2年的改革和實踐,取得了顯著成效:就業率和畢業生社會認可度都不斷提高。未來的研究工作在于如何優化課程體系,如何進一步增強學生創新能力,這些都是軟件工程專業面臨的新課題。
[1]國務院.鼓勵軟件產業和集成電路產業發展的若干政策[Z].國發[2011]l8號.
[2]駱斌,張大良,邵棟.軟件工程專業的課程體系設計[J].中國大學教學,2005(1):32-34.
[3]鄭耿忠,劉秋梅.軟件工程專業實踐教學體系構建探索[J].電腦知識與技術,2009,5(27):7690-7691.
[4]陳朔鷹,李志強,李仲君.軟件工程實踐類課程體系的建設和探索[J].北京理工大學學報:社會科學版,2007,9(S1):85-88.
[5]賈宗福.軟件工程專業應用型人才培養模式的探索與實踐[J].計算機教育,2009(10):1-5.