張 錦,劉 宏
(湖南師范大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410081)
自從2016年教育部發(fā)布每年的動態(tài)調(diào)整撤銷和增列的學(xué)位授權(quán)點名單以來,軟件工程屢次引發(fā)社會關(guān)注和討論。2016年,全國共有35個軟件工程博士/碩士學(xué)位點被撤銷,是撤銷學(xué)位點最多的專業(yè);2017年,全國有14個軟件工程學(xué)位點被撤銷;2018年,全國有19個軟件工程學(xué)位點被撤銷,是撤銷學(xué)位點第二多的專業(yè)。所謂軟件工程專業(yè)危機,是由于擔心軟件工程專業(yè)可能會被取消所引發(fā)的爭議而提出的概念。這引起了“軟件工程專業(yè)危機”業(yè)內(nèi)的討論,實際上該問題自軟件工程專業(yè)被設(shè)立就存在,而且教育界和產(chǎn)業(yè)界對該問題的理解明顯不同[1-2]。高校主動撤銷軟件工程專業(yè)源于專業(yè)評估的壓力,目的是集聚資源著力發(fā)展主流專業(yè);產(chǎn)業(yè)界之所以批評軟件工程專業(yè)源于高校難以培養(yǎng)符合企業(yè)需要的軟件工程人才。實際數(shù)據(jù)表明,軟件行業(yè)發(fā)展迅猛,急需大量高素質(zhì)的軟件工程人才,從這個角度來看,軟件工程專業(yè)危機是偽命題,核心在于如何解決人才問題。根據(jù)工信部統(tǒng)計數(shù)據(jù),我國軟件和信息技術(shù)服務(wù)業(yè)2018年實現(xiàn)收 入63 061億元,增速14.2%居國民經(jīng)濟各行業(yè)之首;從業(yè)人員643萬人,同比增長4.2%,工資總額增長13.4%。
這種反差現(xiàn)象說明,軟件工程專業(yè)的發(fā)展空間是廣闊的,但人才培養(yǎng)模式與預(yù)期相比有明顯差距,亟待從新的視角提出解決思路。軟件工程專業(yè)自從提出以來就一直面臨種種爭議,業(yè)內(nèi)學(xué)者同樣在持續(xù)結(jié)合不同階段教育教學(xué)的新思路推進軟件工程專業(yè)的教育教學(xué)研究。在大規(guī)模開放在線課程(massive open online course,MOOC)階段,軟件工程專業(yè)由于其特點較早就開始借助MOOC促進教學(xué)改革[3],文獻[4]提出在軟件工程專業(yè)結(jié)合MOOC與傳統(tǒng)教學(xué)構(gòu)造課程體系與培養(yǎng)方案,建立混合式教學(xué)模式的保障與質(zhì)量評價體系。在工程教育認證日益受到重視的背景下,成果導(dǎo)向教育(Outcome-Based Education,OBE)理念得到了廣泛認同,以工程能力為核心的教育產(chǎn)出成為評估工程教育質(zhì)量的重要標準。文獻[5]基于OBE理念對清華大學(xué)軟件工程專業(yè)教學(xué)方案進行了改造和優(yōu)化,特別給出了具體到課程層面的教學(xué)設(shè)計;文獻[6]探索了在軟件工程專業(yè)基于OBE進行一體化實踐教學(xué)體系改革的嘗試;文獻[7]探索了基于OBE理念在軟件工程專業(yè)進行集中實踐教學(xué)的實踐。正在如火如荼推進的新工科建設(shè)中,軟件工程專業(yè)同樣應(yīng)當走在前列[8]。文獻[9]在新工科建設(shè)中強調(diào)企業(yè)的作用,提出深度校企融合才能培養(yǎng)出實踐能力強并具有創(chuàng)新意識的軟件工程人才,因此需要企業(yè)在人才培養(yǎng)目標定位、教學(xué)實施、就業(yè)等育人過程中充分發(fā)揮作用。
本文提出以項目為核心的軟件工程專業(yè)人才培養(yǎng)模式,該模式契合工程教育認證的基本理念并結(jié)合軟件工程自身的專業(yè)特點,以軟件工程綜合能力培養(yǎng)為核心,能為工程教育認證提供堅實基礎(chǔ),符合新工科專業(yè)建設(shè)的內(nèi)在要求;其核心特征可以歸結(jié)為“理念堅實、項目為核、實踐為體、本碩一體”這4個方面。本文應(yīng)用該模式的理念對湖南師范大學(xué)軟件工程專業(yè)進行了教學(xué)改革與實踐。結(jié)果表明,該模式有效提高了軟件工程專業(yè)的吸引力,同時學(xué)生的學(xué)習(xí)積極性、實踐能力等都有明顯提升。
軟件工程人才培養(yǎng)模式是一個復(fù)雜而多變的課題,其內(nèi)涵會隨著多種因素而變化。就目前專業(yè)發(fā)展的整體環(huán)境而言,以下3方面認識是學(xué)界和業(yè)界較為一致的觀點,即軟件工程人才培養(yǎng)應(yīng)當關(guān)注實踐能力培養(yǎng),特別是團隊合作所需要的軟技能;注重校企合作,緊跟業(yè)界最新進展;具備扎實計算機基礎(chǔ),能迅速適應(yīng)和融入不同行業(yè)。當然構(gòu)建各類軟件工程人才培養(yǎng)模式的目標是滿足不同階段的需求,其中:短期目標是以企業(yè)為主,培養(yǎng)高質(zhì)量軟件工程人才滿足產(chǎn)業(yè)需要;中期目標是滿足工程教育認證要求,提升專業(yè)水準;長期目標是培養(yǎng)軟件工程能力,滿足新工科建設(shè)需要。
以項目為核心的軟件工程專業(yè)人才培養(yǎng)模式具有如下4方面核心特征。
(1)理念堅實,即在培養(yǎng)體系設(shè)計時強調(diào)軟件工程專業(yè)理念,傳遞準確而深刻的專業(yè)理念,并讓其跟隨學(xué)生的整個職業(yè)生涯。這與之前學(xué)界所強調(diào)的“寬基礎(chǔ)、淡化專業(yè)”的理念不是背道而馳,而是互補關(guān)系。首先,專業(yè)理念教育強調(diào)專業(yè)能力培養(yǎng),源于專業(yè)但不拘泥于專業(yè),更強調(diào)學(xué)生基于專業(yè)能力迅速適應(yīng)所從事的行業(yè),一通百通;其次,技術(shù)更新速度加快,但專業(yè)理念相對穩(wěn)定,更能適應(yīng)長期的從業(yè)需求。
(2)項目為核,即在培養(yǎng)體系中設(shè)計不同的項目貫穿整個培養(yǎng)階段,依托項目培養(yǎng)項目能力。實際上,小到個人每日工作安排、大到探月工程,均可以項目為單位。項目是IT行業(yè)的常見的基本單元,或大或小或簡單或復(fù)雜的項目將伴隨著IT從業(yè)人員的整個職業(yè)生涯。毫無疑問,在工作中將項目做到優(yōu)秀,將是對個人能力的極大肯定;同樣,培養(yǎng)項目能力是最自然的人才培養(yǎng)要求,而通過項目本身來培養(yǎng)將是最為直接和有效的培養(yǎng)方式。
(3)實踐為體,即將實踐環(huán)節(jié)提升到與理論教學(xué)同等重要的程度形成理論與教學(xué)相互支撐的平衡局面,恢復(fù)實踐在軟件工程學(xué)科中載體、實體和主體的地位。軟件工程專業(yè)自身是從實踐中發(fā)展而來的,實踐是軟件工程專業(yè)的核心與靈魂之一。實踐是檢驗軟件理論、方法和工具是否有效的途徑,“最佳實踐”這一名詞是對軟件工程實踐性的簡要而準確的概括。在培養(yǎng)計劃設(shè)計中,需要考慮不同層次、不同目標、不同難度的實踐,并考慮與相關(guān)理論課程進行融合。
(4)本碩一體,即貫通本碩界限,構(gòu)造“教學(xué)與科研一體、本科與研究生一體、理論與實踐一體”的互動形態(tài)。高水平科研與高質(zhì)量本科教學(xué)是相輔相成的,對于軟件工程這一實踐特性突出的學(xué)科而言更是如此。高效實用的軟件工具、軟件系統(tǒng)、軟件方法既是研究的范疇,也自然能為本科教學(xué)所用。形成教學(xué)與科研、本科與研究生、理論與實踐的有機融合是提出教學(xué)模式的核心和目的之一。
專業(yè)理念相關(guān)的教育,不只在軟件工程專業(yè)極為缺乏,在許多其他專業(yè)均是如此。其原因是多方面的,包括對立看待“寬基礎(chǔ)”和“精專業(yè)”二者之間的關(guān)系;不在低年級開設(shè)專業(yè)導(dǎo)論課程;對專業(yè)特點認識不足,將其與計算機專業(yè)混淆在一起;缺乏專業(yè)自主性,專業(yè)基礎(chǔ)薄弱等。同時存在計算機和軟件兩個專業(yè)的高校中,上述問題相當普遍。
為此,課題組從3個層面構(gòu)建專業(yè)理念教育體系:①在時間上,建立從大一到大四貫徹始終的專業(yè)理念內(nèi)容體系,保證在每個學(xué)年都有專門課程承載專業(yè)理念教育。②在內(nèi)容上,根據(jù)專業(yè)理解程度對應(yīng)的專業(yè)理念教育內(nèi)容逐步深入。大一側(cè)重理解軟件工程自身內(nèi)容;大二側(cè)重理解軟件工程對個體的要求;大三側(cè)重軟件工程對團隊的要求;大四側(cè)重軟件工程對從業(yè)人員的要求。③在形式上,采用專家講座、企業(yè)實習(xí)、專業(yè)課程等多種形式,讓學(xué)生從更多的維度、不同的視角理解軟件工程。
項目是該人才培養(yǎng)模式的核心,需要以項目為載體提升學(xué)生的工程能力,包括團隊協(xié)作能力、軟技能、獨立解決問題的能力等。為了滿足不同年級、不同水平的培養(yǎng)需要,需要多層次的項目群。①針對年級不同,項目側(cè)重各不相同,大一項目以個體程序設(shè)計能力為主;大二項目以小規(guī)模軟件設(shè)計實現(xiàn)能力為主;大三項目以具有一定規(guī)模和難度的軟件系統(tǒng)設(shè)計實現(xiàn)為主;大四項目以具有實際項目背景的軟件項目為主。②針對項目類型,建立了多種形態(tài)的軟件項目以適應(yīng)不同水平和需求的學(xué)生。比如在大三年級可以設(shè)立具有一定復(fù)雜度的軟件項目,如傳統(tǒng)軟件系統(tǒng)開發(fā)項目;具有實際需求的軟件項目;結(jié)合算法研究類軟件項目;基于開源代碼標注與提升的軟件項目。為了提升學(xué)生的溝通能力、表達能力、協(xié)調(diào)能力等軟技能,要求學(xué)生組成項目團隊共同完成具有一定難度的項目。項目團隊必須分工明確、相互協(xié)作,在有限時間內(nèi)完成具有一個質(zhì)量要求的項目,在此過程中培養(yǎng)在課堂理論講述中無法鍛煉的軟件工程能力。
實踐既可以是一種方式,也可以是一種能力。無論是工程教育認證,還是新工科建設(shè),都高度重視實踐環(huán)節(jié)。由于軟件的特殊性,實踐在軟件工程中的重要性更為凸顯;相比于其他工科專業(yè),如何強調(diào)實踐在軟件工程中的重要性都不為過;很難想象不具備基本編碼能力的人被稱為軟件工程人才。由于軟件的抽象性和不可見性,類似于操作系統(tǒng)、編譯原理、網(wǎng)絡(luò)等課程中的基本原理,如果不通過實踐是很難深刻理解和掌握的。
因此,提出的人才培養(yǎng)模式特別強化在軟件工程人才培養(yǎng)中,恢復(fù)實踐的主體地位;更進一步,課題組將探索以實踐為核心、理論為輔助的教學(xué)模式。為了恢復(fù)實踐的主體地位,在培養(yǎng)計劃中調(diào)整如下:①在覆蓋度上,對所有專業(yè)課程均設(shè)置實踐環(huán)節(jié),按照兩倍的理論課時安排實踐內(nèi)容。②在集中度上,以課程群方式組合相關(guān)課程,同一課程群可以共享同一個實踐項目。③在重視程度上,在計算工作量時,將實踐課時和理論課時同等對待,激發(fā)教師積極性;同時將實踐分數(shù)占比提高到不低于50%,強化學(xué)生對實踐的重視度。④在形式上,設(shè)計了分散實踐、集中實踐、企業(yè)實踐等形式以適應(yīng)不同階段的實踐需要。集中實踐是在每個學(xué)年的學(xué)期末安排至少3周的實踐時間,全部用于單獨實踐;調(diào)整教學(xué)計劃,將大四一整年空出來安排學(xué)生到企業(yè)參與實踐。
對于軟件工程專業(yè)而言,教學(xué)與科研是自然互通的,但相比于國外,目前國內(nèi)軟件工程的科研水準滯后于軟件行業(yè)發(fā)展,難以為軟件產(chǎn)業(yè)發(fā)展提供足夠的支撐;這也在相當程度上影響了軟件工程教育水準的提升。同時,國內(nèi)目前軟件工程專業(yè)的碩士研究生有一批是跨專業(yè)考生,或者調(diào)劑生,其基礎(chǔ)距離軟件工程研究有一定差距,需要盡快補足短板才能為研究提供基本能力支撐。在培養(yǎng)模式設(shè)計時考慮采取如下措施:①將科研課題以項目形式引入本科教學(xué),以項目為載體將研究生和本科生搭配,增加項目的研究性。②要求跨專業(yè)研一學(xué)生參與本科的集中實踐,與本科生組成項目組補足軟件工程能力訓(xùn)練。③選拔部分優(yōu)秀生進入單獨組建的本科創(chuàng)新創(chuàng)業(yè)實驗室,與研究生一起組隊參與相關(guān)競賽,以賽代練。④依托企業(yè)共建產(chǎn)學(xué)研究基地,派駐本科生和研究生進入企業(yè)完成相關(guān)項目。
基于本文提出的軟件工程專業(yè)人才培養(yǎng)模式,項目組在湖南師范大學(xué)軟件工程專業(yè)進行了實踐驗證。為此,項目組對軟件工程專業(yè)2016級培養(yǎng)計劃進行了全面修訂,以保證人才培養(yǎng)模式的順利實施。同時,課題組解決了諸多教學(xué)協(xié)調(diào)問題,在2016、2017、2018 3個年級同時實施了新的人才培養(yǎng)模式。表1是2016級培養(yǎng)計劃在課程方面進行的修訂,不同學(xué)校可以根據(jù)各自特點進行有針對性的調(diào)整。需要指出的是,學(xué)校一般4年左右對培養(yǎng)計劃做一次全面更新,以保證教學(xué)穩(wěn)定性;但對于軟件工程專業(yè)并不適合,其原因主要是軟件技術(shù)更新速度很快,4年時間一般都更新了一代,容易導(dǎo)致學(xué)校所學(xué)技術(shù)已經(jīng)被淘汰這類問題。
通過培養(yǎng)計劃等調(diào)整一系列教學(xué)調(diào)整重組,湖南師范大學(xué)軟件工程專業(yè)在各個年級、分階段實施了所提出的人才培養(yǎng)模式,并取得了預(yù)期成效,具體包括如下4個方面。
(1)實現(xiàn)了從大一到大四全程貫徹軟件工程專業(yè)理念教育。在培養(yǎng)計劃中,4個年級根據(jù)學(xué)生所處的不同階段,設(shè)置對應(yīng)的專業(yè)理念教育課程,讓學(xué)生逐步明確軟件工程專業(yè)的內(nèi)涵和本質(zhì)。其中:將軟件項目管理/C++(12160157,48課時)拆分為兩門課,即軟件項目規(guī)劃與實踐(16課時,計劃在第2學(xué)期開設(shè))和IT項目管理(32課時,仍然在第6學(xué)期開設(shè)),分別對應(yīng)大一和大三年級的專業(yè)理念教育的載體課程;大二學(xué)年第三學(xué)期開設(shè)計算機系統(tǒng)基礎(chǔ)(二)(將原第七學(xué)期開始的云計算理論及應(yīng)用課程調(diào)整而來)作為專業(yè)理念教育的載體課程;大四學(xué)年通過完整的企業(yè)實踐落實專業(yè)理念教育。通過完整的專業(yè)理念教育讓學(xué)生初步理解軟件工程的基本概念、知識體系與學(xué)科范疇,理解軟件工程技術(shù)與過程管理,以及軟件工程專業(yè)的職業(yè)素養(yǎng)和要求,為從事軟件行業(yè)相關(guān)工作打下堅實基礎(chǔ)。

表1 培養(yǎng)計劃異動申請
(2)突破原先從屬于理論的實踐教學(xué)模式,切實加強實踐教學(xué)的主體地位。在每個學(xué)期均選擇一門或幾門課程構(gòu)成課程群(大三將軟件工程、系統(tǒng)分析與設(shè)計、軟件綜合實踐(二)3門課組合為課程群),集中一個月進行以項目為載體的軟件工程實踐教學(xué)。在內(nèi)容上將關(guān)聯(lián)課程組合為項目實踐提供支持;在考核上將實踐權(quán)重增加到不低于60%;在形式上,團隊考核和個人考核相結(jié)合。根據(jù)培養(yǎng)計劃安排,在第三學(xué)期和第五學(xué)期將專業(yè)課考試提前,分別為軟件綜合實踐(一)和軟件綜合實踐(二)預(yù)留4周時間進行集中工程實踐,切實提高實踐教學(xué)質(zhì)量,為第七學(xué)期的企業(yè)實踐訓(xùn)練提供支撐。
(3)深度貫徹產(chǎn)學(xué)合作、協(xié)同育人思路,切實提高學(xué)生綜合素養(yǎng)。調(diào)整培養(yǎng)計劃,將大四學(xué)年全部用于企業(yè)合作,展開全面深入的產(chǎn)學(xué)合作協(xié)同育人行動。與國內(nèi)知名軟件企業(yè)合作,通過面試、筆試等環(huán)節(jié)讓本科生和研究生直接參與企業(yè)的真實項目實踐,在真實工作環(huán)境中提高綜合素養(yǎng),解決目前大四學(xué)年的課程教學(xué)質(zhì)量差、教師教授熱情不高、學(xué)生難以集中精力學(xué)習(xí)等實際問題。通過實際的企業(yè)實踐,讓學(xué)生提前熟悉職場、適應(yīng)工作氛圍,鍛煉溝通、表達等軟技能,解決理論與實踐分離的問題,破解學(xué)生動手能力差、大四理論課程質(zhì)量不高等問題。
(4)建設(shè)以軟件工程能力培養(yǎng)為目標的項目群。課題組建設(shè)了多層次的項目群,以適應(yīng)不同年級、不同水平的學(xué)生。同時,以項目為核心和載體,讓學(xué)生在項目進行過程中充分理解軟件工程的專業(yè)理念、實踐在軟件工程中的核心地位以及團結(jié)協(xié)作能力,在組成項目團隊完成項目的過程中全面提升軟件工程能力。
基于所提出的人才培養(yǎng)模式進行的初步實踐取得了明顯效果。2018年下半年全校性的專業(yè)互轉(zhuǎn)中,軟件工程專業(yè)首次成為所有信息類專業(yè)中申請轉(zhuǎn)入人數(shù)最多、轉(zhuǎn)出人數(shù)最少的專業(yè)(2018級新生60人,實際轉(zhuǎn)入學(xué)生共計15人,湖南師范大學(xué)轉(zhuǎn)專業(yè)公示名單,http://jwc.hunnu.edu.cn/article/?type=detail&id=2014);其中申請轉(zhuǎn)入人數(shù)超過學(xué)校分配指標。這充分說明,所提出的人才培養(yǎng)模式和專業(yè)理念得到了學(xué)生的充分認可,專業(yè)吸引力明顯增強。同時,在2016級軟件工程專業(yè)貫徹該教改理念之后對學(xué)生進行的教學(xué)調(diào)研數(shù)據(jù)表,學(xué)生對教改的滿意度、以項目為核心的團隊形式的實踐方式以及個人能力提升度等方面的評價有明顯提高。
以項目為核心的軟件工程人才培養(yǎng)模式的特點可以歸納為“理念堅實、項目為核、實踐為體、本碩一體”,通過該模式在湖南師范大學(xué)軟件工程專業(yè)的實施,初步實施并取得了較好的效果,得到了學(xué)生的認可和關(guān)注。在后續(xù)實施中,將著重從如下幾方面著手:①進一步強化科研與教學(xué)的緊密度,探索更有深度的培養(yǎng)模式并融合科研因素;②加強項目的引領(lǐng)作用,考慮將IT項目管理課程覆蓋到大一到大三,提高項目管理能力;③拓展校企合作,充分發(fā)揮大四一年企業(yè)實踐的價值。