張錦 劉宏
摘 要:通過軟件工程專業(yè)特點分析,討論目前軟件工程人才培養(yǎng)所處的困境,介紹了新工科背景下三階段迭代式軟件工程人才培養(yǎng)模式。該模式在教學安排上分3階段實施:在教學目標上迭代式推進,在實踐教學上以項目為核心,在教學組織上以課程群模式展開。該模式踐行了產(chǎn)學合作協(xié)同育人的思想,在模式拓展上支持“本碩一體”的自然延伸,并在實際人才培養(yǎng)中得到了較為廣泛的認可。
關(guān)鍵詞:軟件工程;人才培養(yǎng)模式;新工科;軟技能;軟件工程能力
DOI: 10. 11907/rjdk.192446
開放科學(資源服務)標識碼(OSID):
中圖分類號:TP434
文獻標識碼:A
文章編號:1672-7800(2020)001-0011-04
0 引言
軟件工程自1968年被提出以來,已經(jīng)走過50多年的歷程[1-2]。國外對軟件工程的理論研究、工具開發(fā)、產(chǎn)業(yè)發(fā)展等已相對成熟,特別是在人才培養(yǎng)方面已形成相對完備的培養(yǎng)模式與體系。我國軟件產(chǎn)業(yè)從零逐步發(fā)展為萬億級規(guī)模。軟件工程專業(yè)發(fā)展集中反映了一個新專業(yè)從無到有、從萌芽到逐步成熟的過程,對該專業(yè)發(fā)展進行回顧對當下如火如荼的新專業(yè)設(shè)立與建設(shè)極具參考價值。
從1980年中國首屆工程研討會開始,我國軟件工程專業(yè)發(fā)展大致經(jīng)歷了3個階段。
第一階段:萌芽階段(1980-2000年)。1980年代北京大學等部分高校試辦了軟件工程專業(yè),但并沒有大規(guī)模設(shè)立,有的高校在學科調(diào)整時重新將軟件工程并人計算機科學與技術(shù)專業(yè),此時國內(nèi)軟件工程專業(yè)從屬于計算機科學與技術(shù)范疇;第二階段:跨越式發(fā)展階段(2000-2015年)。2000年,為適應中國經(jīng)濟結(jié)構(gòu)戰(zhàn)略性調(diào)整,實現(xiàn)軟件產(chǎn)業(yè)和軟件人才培養(yǎng)的跨越式發(fā)展,國務院發(fā)布了18號文件《國務院關(guān)于印發(fā)鼓勵軟件產(chǎn)業(yè)和集成電路產(chǎn)業(yè)發(fā)展的若干政策的通知》,對軟件工程專業(yè)發(fā)展起到了決定性影響。2001年經(jīng)教育部和國家計委批準,全國成立了35所示范性軟件學院,軟件工程教育迅速發(fā)展壯大[3-4]。教育部出臺了一系列政策,賦予國家示范性軟件學院自主招生考試等自主權(quán),軟件工程碩士規(guī)模迅速擴大,出現(xiàn)了多個學院積極招收軟件工程專業(yè)碩士的局面。2011年軟件工程被列為與計算機科學與技術(shù)并列的一級學科,并形成了本、碩、博三級完整的人才培養(yǎng)體系。在此期間,高校在為產(chǎn)業(yè)發(fā)展培養(yǎng)大量軟件高級人才的同時,出現(xiàn)了培養(yǎng)目標模糊、培養(yǎng)質(zhì)量不高、培養(yǎng)過程混亂等問題,軟件學院自主招生權(quán)逐步被取消;第三階段:調(diào)整優(yōu)化階段(2016至現(xiàn)在)。2016年教育部開展學科評估以來,諸多高校主動優(yōu)化學科布局,對學位點進行動態(tài)調(diào)整撤銷及增列。軟件工程專業(yè)自2016年連續(xù)三年被撤銷數(shù)量位居前列(其中2016、2017和2018全國分別有35個、14個、19個軟件工程博士/碩士學位點被撤銷),引發(fā)了社會上所謂“軟件工程危機”的關(guān)注和討論。而實際上,這種調(diào)整讓高校更關(guān)注所辦專業(yè)的質(zhì)量,綜合評估學科現(xiàn)有基礎(chǔ)、發(fā)展規(guī)劃后進行的調(diào)整是軟件工程必經(jīng)的調(diào)整和優(yōu)化階段。
實際上軟件工程人才需求旺盛,軟件工程專業(yè)危機是偽命題[5]。統(tǒng)計顯示,2018年我國軟件和信息技術(shù)服務業(yè)實現(xiàn)收入超過6萬億元,增速14.2%,居國民經(jīng)濟各行業(yè)之首;從業(yè)人員超過600萬;行業(yè)薪酬持續(xù)上漲,工資總額增長13.4%。與此同時,大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)等新領(lǐng)域的開辟,為軟件工程提供了更加廣闊的發(fā)展空間,對高素質(zhì)軟件工程人才的需求更為迫切。但現(xiàn)有軟件工程人才培養(yǎng)模式與行業(yè)需求之間差距明顯,亟需從新的視角審視軟件工程專業(yè)特點,改革軟件工程人才培養(yǎng)模式。在該背景下,從3個方面對軟件工程專業(yè)進行分析:①軟件工程專業(yè)與計算機科學與技術(shù)專業(yè)之間的關(guān)系;②軟件工程專業(yè)教育特點;③高校軟件工程專業(yè)教育現(xiàn)狀。在此基礎(chǔ)上,提出一種3階段迭代式軟件工程人才培養(yǎng)模式,并對軟件工程人才培養(yǎng)模式設(shè)計的關(guān)鍵問題進行探討。
軟件工程專業(yè)源于計算機科學與技術(shù)專業(yè),二者聯(lián)系緊密。首先是相似之處,軟件工程是從計算機科學與技術(shù)專業(yè)發(fā)展而來的,皆屬于計算機類下一級學科。同時,計算機科學與技術(shù)一級碩士點設(shè)置有計算機軟件與理論二級學科,與軟件工程專業(yè)之間重疊明顯。此外,軟件工程的學科范圍從狹義的軟件拓展到“計算機硬件之外的范疇”,以及“軟件定義一切”的理念,這與計算機科學與技術(shù)專業(yè)之間有更多交叉之處;其次是區(qū)別方面,軟件工程是與計算機科學與技術(shù)并列的一級學科,擁有完備的本碩博三級人才培養(yǎng)目標,在專業(yè)側(cè)重、人才培養(yǎng)、研究領(lǐng)域等方面差異明顯。特別是兩個專業(yè)在碩博階段具有相對清晰的劃分,在人才培養(yǎng)方面具有明顯的專業(yè)特點,但在本科人才培養(yǎng)方面,相當多的高?;蚪處煵⑽瓷钊肟紤]兩個專業(yè)人才之間的差異,導致兩個專業(yè)之間相似度很高、專業(yè)個性極度缺乏。同時將兩個專業(yè)融會貫通地糅合起來也是可行的,需要學生具有扎實的基礎(chǔ),教師具有兩個領(lǐng)域的背景,從而可游刃有余地使學生培養(yǎng)在兩個專業(yè)之間自由轉(zhuǎn)換,但相當部分高?;?qū)W生難以具備這樣的條件。因此明確軟件工程專業(yè)特點,對于培養(yǎng)計劃調(diào)整和優(yōu)化極為必要[6]。
相比于計算機科學與技術(shù)專業(yè),軟件工程專業(yè)教育有兩方面的特點:①對軟件工程能力要求較高;②對軟技能要求較高。軟件工程能力可以包括從簡單到復雜逐步深入的3個層面能力,即程序設(shè)計能力、軟件能力和軟件工程能力。程序設(shè)計能力指在算法層面具備解決復雜問題的算法設(shè)計和實現(xiàn)能力;軟件能力指具備獨立設(shè)計和實現(xiàn)小型軟件系統(tǒng)(涵蓋數(shù)據(jù)庫、軟件體系結(jié)構(gòu)、網(wǎng)絡(luò)服務等)的能力;軟件工程能力指在軟件能力基礎(chǔ)之上,具備組織小規(guī)模團隊進行協(xié)作開發(fā)的能力,以及針對復雜問題構(gòu)建較復雜軟件系統(tǒng)的能力。這3種逐層遞進的能力是軟件工程專業(yè)人才應當具備的核心能力要求。軟技能可以狹義定義為表達能力、溝通能力、協(xié)調(diào)能力這3個方面。表達能力指能夠清晰、準確、簡要地表達自己的思路,能夠讓別人聽得懂自己;溝通能力指能夠快速、準確理解對方的意思,并作出合適的響應,能夠聽懂別人所表達的意思;協(xié)調(diào)能力指能夠組織、管理一定規(guī)模的項目團隊,讓組員各司其職,發(fā)揮出“1+1>2”的團隊能力,該能力是軟件工程專業(yè)人才應當具備的內(nèi)在核心能力。
但目前在高校專業(yè)水平評估體系之下,依靠高?,F(xiàn)有資源難以有效完成對學生上述兩方面能力的培養(yǎng),其主要困難在于缺乏高素質(zhì)的師資團隊、真實的項目環(huán)境。在示范性軟件學院設(shè)立之初,機制上給予了較高的自由度,軟件學院采用多種方式構(gòu)建具有軟件工程能力的教師團隊,包括引入一批來自企業(yè)的軟件專家加入教師團隊、外聘企業(yè)技術(shù)專家主講部分課程等。彼時軟件學院財務獨立、教師職稱評定可以體現(xiàn)軟件工程特點,學生軟件工程能力培養(yǎng)較為突出。但當前環(huán)境下,相當一批軟件學院參考或完全列歸信息學院/計算機學院,職稱評定轉(zhuǎn)向以SCI論文、科研項目類指標為主,這是軟件工程方向教師不太擅長的領(lǐng)域,這些舉措不僅導致吸引企業(yè)技術(shù)專家加盟變得極為困難,而且大幅降低了原有教學團隊積極性。此外,軟技能培養(yǎng)必須依托真實項目,才能收到最佳效果。而目前高校以課程為主的教學模式,注重理論課堂教學、實踐教學從屬理論教學的導向,使實踐教學效果大打折扣、流于形式。
1 基于新工科理念的三階段迭代式軟件工程人才培養(yǎng)模式
2016年6月教育部首次提出“新工科”,對上述問題的解決給出了信號,隨后在“復旦共識”、“天大行動”、“北京指南”系列探討和推廣工作中,逐步明確了新工科應具備的內(nèi)涵特征,即前瞻性、引領(lǐng)性、開放性、實踐性、交叉性、通寬性等。在該背景下,一種三階段迭代式軟件工程人才培養(yǎng)模式被提出[5,7]。針對軟件工程專業(yè)人才培養(yǎng)存在的問題,該模式進行了較為全面的設(shè)計,并在實踐教學中進行徹底嘗試。該模式包括3個相互銜接的部分:三階段的本科人才培養(yǎng)計劃設(shè)計、以課程群為紐帶的課程教學控制、以企業(yè)實際項目為載體的實踐教學探索,如圖1所示。
(1)三階段的本科人才培養(yǎng)計劃設(shè)計。本科人才培養(yǎng)計劃是人才培養(yǎng)依據(jù)和基礎(chǔ)。三階段教學目的以軟件工程能力和軟技能能力兩方面核心能力的培養(yǎng)為出發(fā)點。在設(shè)計培養(yǎng)計劃時,從教學時間、教學理念、教學內(nèi)容3方面著手。三階段教學時間設(shè)計中,將本科四年劃分為“1+1+1”3個階段,即第一階段的一年是入門階段;第二階段的兩年是綜合提升階段;第三階段的一年是效果展現(xiàn)、評估和迭代改進階段。三階段教學內(nèi)容設(shè)計中,第一階段是前兩學年的理論準備階段,第二階段是第三學年的技術(shù)掌握階段,第三階段是第四學年在企業(yè)的綜合提升階段。三階段專業(yè)理念教育中,第一階段是大一時進行的專業(yè)啟蒙階段,第二階段是大二和大三時的專業(yè)拓展階段,第三階段是大四時的專業(yè)綜合提升階段。
通過三階段的分段設(shè)計,進一步明確每階段的主要任務,將人才培養(yǎng)任務進一步細化;同時,將目標的實現(xiàn)落實到具體課程環(huán)節(jié)、實踐環(huán)節(jié),通過教學過程管理保證培養(yǎng)目標的實現(xiàn)。
(2)課程群為紐帶的課程教學控制[8]。課程質(zhì)量和效率是人才培養(yǎng)最基礎(chǔ)的組成單元。課程教學控制部分包括幾個方面。首先,在教學內(nèi)容上,基于課程群在多門關(guān)聯(lián)課程之間相互協(xié)調(diào)統(tǒng)籌安排,以實現(xiàn)教學資源、教學效果、教學內(nèi)容優(yōu)化配置,提高課程教學質(zhì)量和效率;其次,在教學形式上,選擇特定課程、以軟件項目為載體培養(yǎng)學生的軟件工程能力。項目式課程教學在教學內(nèi)容上成為銜接課程群內(nèi)多門課程的紐帶,形成高內(nèi)聚的大課,提高課程質(zhì)量,同時可夠鍛煉學生軟件能力及溝通、表達、協(xié)調(diào)等軟技能。在教學考核上,建立以過程考核為核心的評估方式。這種評估方式更符合軟件過程原理,將之前重視書面結(jié)果的理念更新為重視過程實質(zhì)的理念。
(3)以企業(yè)實際項目為載體的實踐教學探索。針對高校難以提供實際項目環(huán)境的困境,在人才培養(yǎng)模式中引入企業(yè)資源共同進行人才培養(yǎng)。其核心在于3點。首先,基于三階段教學計劃安排,將大四第一學期作為企業(yè)實踐學期,在實踐效果良好時可以將實踐環(huán)節(jié)延長到大四第二學期。在教學安排中,至少需4個月的時間進行企業(yè)實踐,低于兩個月的企業(yè)實踐基本上流于形式;其次,需有足夠的企業(yè)資源,使接納全部學生進入企業(yè)成為可能。企業(yè)如果讓學生真正進入項目,會進行一定篩選,每家企業(yè)接納的學生數(shù)一般以10人左右為宜;最后,實際管理以企業(yè)為主、教師參與。所謂以企業(yè)為主,是讓學生融入團隊、遵循企業(yè)規(guī)章制度、感受軟件企業(yè)氛圍,為實際工作作好準備;同時,以企業(yè)為主,是希望企業(yè)為學生實習提供更多資源支持,包括實習薪資提供、技術(shù)培訓等。
2 培養(yǎng)成效及潛在問題
2.1 人才培養(yǎng)成效分析
本文軟件工程專業(yè)人才培養(yǎng)模式已在湖南師范大學軟件工程專業(yè)實施,并在多個方面取得了較好收效。
(1)在軟件工程所有年級同時實施新的專業(yè)培養(yǎng)計劃,極大提高了培養(yǎng)計劃的時效性,這在學校所有專業(yè)中是首次。培養(yǎng)計劃設(shè)計以課程群為單位,模塊化特征較好,避免培養(yǎng)計劃制定中被具體某一門課限制的問題;培養(yǎng)計劃特別考慮了軟件領(lǐng)域技術(shù)更新快的特點,設(shè)置了相對通用的課程,保持培養(yǎng)計劃相對穩(wěn)定。
(2)獨立設(shè)置的實踐環(huán)節(jié)加強了學生軟件工程能力。在大二和大三單獨設(shè)置以實踐為主的課程,集中在每學期最后3周左右以團隊形式完成一個具有一定規(guī)模的軟件系統(tǒng)。在提升學生軟件工程能力、軟技能的同時,學生也熟悉了常見的軟件工具。
(3)企業(yè)項目實踐提升了學生軟技能。企業(yè)環(huán)境是一個全新環(huán)境,學生在這個環(huán)境下會遇到之前難以預計的各種問題,這對學生是一個全新體驗和挑戰(zhàn)。
(4)在該模式下培養(yǎng)的學生在競賽中取得突破,獲得了較好成績。在2019年8月的湖南省大學生程序設(shè)計競賽中,本校2016級軟件工程專業(yè)3位學生組團,以企業(yè)項目為藍本參加應用開發(fā)類競賽,獲得了省級一等獎。這對軟件工程專業(yè)是新的突破,而且3位同學可據(jù)此進入保送讀研的序列,大大激發(fā)了其他年級學生的學習積極性。
(5)學生就業(yè)機會明顯增加。在實習期間,優(yōu)秀學生可爭取到4 000元左右的實習薪資,而且企業(yè)主動為學生提供轉(zhuǎn)正機會。
2.2 問題討論
在人才培養(yǎng)模式的實施與迭代過程中,出現(xiàn)了很多值得探討的問題。
(1)學生積極性和學習意識不高。培養(yǎng)模式能否成功的關(guān)鍵在于能否真正提高學生能力,而學生積極性不高是教學改革中碰到的棘手問題。在實踐環(huán)節(jié)實施時,學生出現(xiàn)種種狀況,包括:平時實踐能力差,不敢去企業(yè)實習的情況;沉迷于游戲、荒廢學業(yè),沒有企業(yè)接收的情況;試圖以考研為由降低實踐要求等。以上問題普遍存在,涉及到大學整體培養(yǎng)導向、教學考評、高校就業(yè)排名等。就目前情況而言,嚴格考核、擠出水分,切實提高學生學習自覺性是趨勢,也是唯一有效方案。
在推進過程中,項目組采用多種方式共同解決問題,包括:在企業(yè)實踐環(huán)節(jié)安排教師團隊全程跟進,協(xié)調(diào)企業(yè)和學生之間的問題;在低年級協(xié)同學工辦推行導師制,挑選教師作為學生在整個大學期間的學業(yè)導師,限定一位導師指導不超過5位本科生,加強專業(yè)理念教育等。
(2)企業(yè)資源支撐問題。2016級軟件工程專業(yè)接近60位同學分布在6家企業(yè),上述企業(yè)均與教師團隊有前期各種類型的合作,企業(yè)對參與實習的同學提供對應實習薪資,在企業(yè)實踐方面投入較大,在目前的實習規(guī)模方面合作比較順利。但這種人才培養(yǎng)模式在推廣過程中可能存在問題,特別是對于IT產(chǎn)業(yè)不發(fā)達的城市,難以有合適、數(shù)量足夠的實踐企業(yè),這是制約性因素。
(3)培養(yǎng)模式的長效機制問題。本文提出的人才培養(yǎng)模式需要長期、穩(wěn)定、足夠的教學資源投入才能保證培養(yǎng)模式持續(xù)推進,需要在學校和學院層面形成可預期的長效機制。目前培養(yǎng)模式的持續(xù)推進依托教學團隊多個基金項目支持。整個人才培養(yǎng)過程需教師團隊投入大量精力,包括項目選題、需求討論、設(shè)計評審、代碼檢查等,但這些教學投入在目前的教學評價體系內(nèi)難以被量化認可,若不能形成長效機制將難以長期持續(xù)推進。
3 結(jié)語
“軟件工程專業(yè)危機”引發(fā)了一系列社會討論,促使教育工作者從更理性的視角觀察軟件工程專業(yè)。本文首先簡單梳理了我國軟件工程專業(yè)發(fā)展概況,表明軟件工程目前發(fā)到一定階段,必然經(jīng)歷合理調(diào)整與優(yōu)化,該專業(yè)發(fā)展的社會需求依然強勁,前景依然光明。同時,本文分析了軟件工程作為一級學科與計算機科學與技術(shù)學科之間的區(qū)別與聯(lián)系,特別指明在人才培養(yǎng)方面軟件工程關(guān)注的核心能力。在此基礎(chǔ)上,闡述了一種著眼于軟件工程人才核心能力的培養(yǎng)模式——三階段迭代式軟件工程人才培養(yǎng)模式。本文不僅總結(jié)了該模式基本理念、實施過程以及實施效果,同時指出該模式實施中存在的核心問題,包括學習積極性和學習意識問題、企業(yè)資源支持問題、培養(yǎng)模式長效機制問題。
參考文獻:
[1]楊芙清.軟件工程教育的思索與實踐[C].2007年全國高校軟件工程專業(yè)教育年會,2007: 9-15.
[2] 楊芙清.中國軟件工程歷程與發(fā)展[R].深圳:深圳大學,第十七屆全國軟件與應用學術(shù)會議,2018.
[3]盧葦,邢薇薇.產(chǎn)學研結(jié)合做中學育人——中國示范性軟件學院十年巡禮之二[J].高等工程教育研究,2011(5):32-39,71.
[4] GONG S Y,LI D,YIN N. et al.International collaborative programs inSoftware Colleges of China[J]. Computer Education, 2016(8):51-54.
[5]張錦,蔡美玲,竇亞玲,等.面向工程教育認證的三階段迭代式軟件工程人才培養(yǎng)模式研究[J].計算機工程與科學,2018,40(1):118 -123.
[6] 孫艷春,王立福,梅宏.軟件工程本科教學的探索與實踐[J].計算機教育.2009(16):112-115.
[7] 張錦,劉宏.以項目為核心的軟件工程專業(yè)人才培養(yǎng)模式研究[J].計算機教育,2019(8):76-80.
[8]張錦,蔡美玲,楊曉春,等.基于課程群的項目式軟件工程課程教學模式[J].計算機教育,2019,(8):45-50.
(責任編輯:江艷)
基金項目:湖南省教育廳創(chuàng)新平臺開放基金項目(15K082);湖南省教育廳教改項目(湘教通[2018]436號、湘教通[2019]291號);湖南省研究生培養(yǎng)創(chuàng)新實踐基地項目(湘教通[2019]248號);湖南省研究生教改項目(JG2018A012);國家教育部產(chǎn)學合作協(xié)同育人項目( 201702001043.201801037136)
作者簡介:張錦(1979-),男,博士,湖南師范大學信息科學與工程學院教授、博士生導師,研究方向為軟件工程、人工智能;劉宏(1963-),男,湖南師范大學信息科學與工程學院教授、博士生導師,研究方向為人工智能、智能家居。本文通訊作者:張錦。