劉庚 陳濱 黃彬彬 張萬軍
【摘要】杭州電子科技大學(xué)在軟件工程教學(xué)改革的過程中提出了“理論+實訓(xùn)”的培養(yǎng)模式旨在促進和提高我校軟件工程專業(yè)的本科培養(yǎng)質(zhì)量,并開發(fā)了相應(yīng)的實訓(xùn)平臺TPS。本文從取得的成績及存在的問題兩方面對“理論+實訓(xùn)”的培養(yǎng)模式進行了全面的總結(jié),并通過問卷的形式收集同學(xué)們對該教學(xué)模式的評價。
【關(guān)鍵詞】軟件工程培養(yǎng)模式“理論+實訓(xùn)”模式
1引言
軟件工程專業(yè)是一個實踐性非常強的專業(yè),其很多的專業(yè)課和專業(yè)選修課具有很強的實踐性。這些課程,如《軟件工程》、《軟件質(zhì)量保證與測試》、《基于CMMI的軟件工程》、《群體軟件工程-TSP》、《個體軟件工程PSP》,老師講授的時候覺得是在“空講理論”,而對于沒有任何軟件工程實踐經(jīng)驗的學(xué)生來說是像在聽“天書”。但這些課程開設(shè)的成功與否直接影響到畢業(yè)生的質(zhì)量、競爭力和未來發(fā)展,直接影響學(xué)校的教學(xué)質(zhì)量和學(xué)校聲譽。杭州電子科技大學(xué)在軟件工程教學(xué)改革的過程中提出了“理論+實訓(xùn)”的培養(yǎng)模式,并搭建了實訓(xùn)平臺,旨在促進和提高軟件工程專業(yè)本科省的培養(yǎng)質(zhì)量。
2 原有培養(yǎng)模式綜述
IT技術(shù)改變了世界,軟件已經(jīng)無處不在。對于軟件工程師的培養(yǎng)是各個國家IT教育的重中之重。如何培養(yǎng)合格的、優(yōu)秀的軟件工程師是教育界研究的熱點。在軟件工程專業(yè)的教育上,各個國家都在進行不懈的探索,其中比較流行的3個培養(yǎng)模式是:
對軟件人才的培養(yǎng),傳統(tǒng)的軟件人才培養(yǎng)模式類似于瀑布軟件開發(fā)模型,即瀑布型軟件人才培養(yǎng)模式。在我國高等院校軟件工程專業(yè)的教學(xué)模式中,大學(xué)4年的培養(yǎng)周期一般是:公共基礎(chǔ)課—〉專業(yè)基礎(chǔ)課—〉專業(yè)理論課—〉畢業(yè)設(shè)計(論文)與實踐。這種單向的、線性的培養(yǎng)模式,缺乏反饋與迭代,這種模式對產(chǎn)業(yè)和技術(shù)快速發(fā)展變化缺乏有效的彈性配合,與產(chǎn)業(yè)發(fā)展主線難以形成有機融合。
另外有人提出螺旋式軟件人才培養(yǎng)模式,這種模式打破先基礎(chǔ)后產(chǎn)業(yè)、先理論后實踐的培養(yǎng)過程,建立理論、實踐、工程的培養(yǎng)過程,整個過程以教學(xué)環(huán)節(jié)、實驗教學(xué)環(huán)節(jié)、工廠實踐環(huán)節(jié)形成能力培養(yǎng)的螺旋學(xué)習(xí)環(huán)節(jié),見圖1所示。螺旋式培養(yǎng)模式是一個比較理想的IT人才培養(yǎng)模式,但在具體的實踐上卻遇到了重重困難,其主要原因是:一是去企業(yè)實習(xí)必要性不強;二是軟件人才培養(yǎng)的校企合作存在巨大困難;三是螺旋式培養(yǎng)模式過于重視工廠實踐,不適合培養(yǎng)高水平的軟件分析師和架構(gòu)師;四是由于擴招,專業(yè)學(xué)生太多,全部安排去公司實習(xí)是不可能完成的任務(wù)。
從2000年起,麻省理工學(xué)院和瑞典皇家工學(xué)院等四所大學(xué)組成的跨國研究獲得Knut and Alice Wallenberg基金會近2000萬美元巨額資助,經(jīng)過四年的探索研究,創(chuàng)立了 CDIO 工程教育理念。CDIO代表構(gòu)思(Conceive)、設(shè)計(Design)、實現(xiàn)(Implement)和運作(Operate),它以產(chǎn)品研發(fā)到產(chǎn)品運行的生命周期為載體 ,讓學(xué)生以主動的、實踐的、課程之間有機聯(lián)系的方式學(xué)習(xí)工程。CDIO培養(yǎng)大綱將工程畢業(yè)生的能力分為工程基礎(chǔ)知識、個人能力、人際團隊能力和工程系統(tǒng)能力四個層面,大綱要求以綜合的培養(yǎng)方式使學(xué)生在這四個層面達到預(yù)定目標。迄今為止已有幾十所世界著名大學(xué)加入了CDIO組織,按CDIO模式培養(yǎng)的學(xué)生深受社會與企業(yè)歡迎,取得了良好效果。
3 杭電軟工的理論+實訓(xùn)的模式
杭州電子科技大學(xué)從1984年就開設(shè)計算機科學(xué)與技術(shù)專業(yè)(軟件方向),2015年以IT特色進入浙江省重點建設(shè)的5所大學(xué)行列,在中國的IT教育領(lǐng)域具有舉足輕重的地位。為了鞏固及加強我校在培養(yǎng)高質(zhì)量的軟件工程專業(yè)人才方面的領(lǐng)先地位,以培養(yǎng)工程實用創(chuàng)新型人才為目標,前軟件工程學(xué)院以先進的教育理念為指導(dǎo),通過借鑒CMU/SEI軟件工程類人才培養(yǎng)體系,與CDIO教育體系結(jié)合,在2010-2014期間進行《基于CMMI的軟件工程》精品課程建設(shè),構(gòu)建了軟件工程專業(yè)課程教學(xué)的“理論+實訓(xùn)”教學(xué)方法。
3.1 取得的成果
課程組進行立體化教材的建設(shè)和實踐,自主開發(fā)了“一個網(wǎng)站,兩個課件,三個平臺”。徹底改革傳統(tǒng)教學(xué)結(jié)構(gòu),實現(xiàn)了有效培養(yǎng)面向企業(yè)崗位技能的E-learning教育體系。構(gòu)建起了一個相對完備的立體化課程體系,建設(shè)了一個“教師易教、學(xué)生樂學(xué)、技能實用”的多元立體化教材系統(tǒng)及內(nèi)容豐富的網(wǎng)絡(luò)資源系統(tǒng)。
為了滿足國家卓越工程師中軟件工程培養(yǎng)的需求,特別是對軟件工程的實踐部分,以微軟的Windows Server 2008 R2、SQL Server 2008作為基礎(chǔ)軟件平臺,對微軟的SharePoint Service 3.0和Team Foundation Server 2010進行深度定制,開發(fā)了一套合適于團隊項目開發(fā)實訓(xùn)、班級統(tǒng)一授課(普通專業(yè)課)實訓(xùn)的過程框架。該框架在授課過程中,可以根據(jù)不同專業(yè)課的需要進行個性化定制,目的是實現(xiàn)教與學(xué)的資源共享、知識共享、無障礙溝通。
學(xué)生在機房輸入http://10.65.7.81/sites/portal/CMMI/default.aspx(目前該平臺已經(jīng)轉(zhuǎn)移到“杭電云研究中心的”云平臺上,網(wǎng)址改為http://tps.hdu.edu.cn),然后依據(jù)要求輸入用戶名和密碼即可進入學(xué)院的實訓(xùn)平臺。根據(jù)自己所學(xué)的課程,可以選擇進入相關(guān)的課程網(wǎng)站,在課程網(wǎng)站上可以訪問和下載相關(guān)的課程資料,同時也可以進入自己的班級課程網(wǎng)站或?qū)嵱?xùn)小組網(wǎng)站。
在4年的重點課程建設(shè)中,嚴格執(zhí)行“《基于CMMI的軟件工程》課程師資隊伍培養(yǎng)計劃”,培養(yǎng)了一個優(yōu)秀的教學(xué)團隊。教學(xué)隊伍共12人,是一支知識結(jié)構(gòu)、年齡結(jié)構(gòu)、職稱結(jié)構(gòu)及學(xué)歷結(jié)構(gòu)比較合理的隊伍。其中具有高級職稱教師有6名,占總?cè)藬?shù)的50%,高級職稱教師平均年齡為45歲,職稱結(jié)構(gòu)合理;課程組教師大部分年齡在40歲以下,均具有碩士以上學(xué)位,年齡結(jié)構(gòu)學(xué)歷結(jié)構(gòu)合理。《基于CMMI的軟件工程》課程組教師四年來多次參加CMU/SEI舉辦的培訓(xùn),有3位教師拿到CMU/SEI認證證書;另外,課程組中有多位教師來自國內(nèi)知名IT企業(yè),具有豐富的軟件開發(fā)經(jīng)驗。
四年來,課題組成員總共主持教學(xué)類項目5項;取得教學(xué)成果及榮譽2項;公開發(fā)表教改論文7篇;參加SEI及移動應(yīng)用開發(fā)培訓(xùn)2次;出版了《基于CMMI的軟件工程教程》、《基于CMMI的軟件工程實訓(xùn)指導(dǎo)》、《ASP.NET案例教程實訓(xùn)指導(dǎo)》和《基于CMMI的軟件工程及實訓(xùn)指導(dǎo)》等教材4部,其中《基于CMMI的軟件及實訓(xùn)指導(dǎo)》為浙江省十一五重點建設(shè)項目教材。
2015年6月12日-19日期間我們利用“問卷星”問卷調(diào)查網(wǎng)絡(luò)進行一次問卷調(diào)查,共收集了58份電子調(diào)查問卷。首先我們對同學(xué)們是否曾經(jīng)使用過該實訓(xùn)系統(tǒng)進行調(diào)查分析,其中35個同學(xué)以前沒有使用過該系統(tǒng),23個已經(jīng)使用該系統(tǒng),對該系統(tǒng)具有一定的了解;然后對實訓(xùn)課程的總體評價是,27個對該系統(tǒng)評價等級為“優(yōu)”,其它27個為“良”,4個“中”,如圖2所示。
我們在問卷中設(shè)計了“你認為實訓(xùn)系統(tǒng)有哪些優(yōu)點”的可多選問題,給出4個勾選項及2個隨意填寫項。4個勾選項目是:能滿足系統(tǒng)實訓(xùn)要求、系統(tǒng)很實用、功能完整、說明書和系統(tǒng)是匹配。在這58份調(diào)查問卷中,同學(xué)反饋結(jié)果如圖3所示。67.24%勾選了“實訓(xùn)系統(tǒng)能滿足課程實訓(xùn)的要求”,51.72%的同學(xué)勾選了“系統(tǒng)很實用”。37.93%的同學(xué)勾選“功能完整”。22.41%的同學(xué)勾選“說明書和系統(tǒng)是匹配的”??梢娡瑢W(xué)們對本實訓(xùn)系統(tǒng)是相當滿意的。
3.2 存在的問題
《基于CMMI的軟件工程》在課題組多年的悉心建設(shè)下,盡管取得了一定的成績,但仍存在一些課題有待改進,這主要表現(xiàn)在以下幾個方面:
由于軟件工程具有很強的實踐性,課程的實訓(xùn)內(nèi)容不但要鞏固理論又要接實踐的地氣,這使得任課教師在確定實訓(xùn)案例的時候難以把握案例的難度和工作量,實訓(xùn)案例的吸引力和后續(xù)的可繼續(xù)利用性也難以保證。部分實踐材料參考了現(xiàn)有的公開資料,學(xué)生可以輕易搜尋到答案。所以確定新案例及案例庫的建設(shè)是軟件工程實訓(xùn)的一個重要的課題。目前市面上有很多的相關(guān)的圖書,如李龍澍等老師編寫的《軟件工程課程設(shè)計》[3]及熊慶宇編寫的《軟件工程實訓(xùn)項目案例I》[3]及《軟件工程實訓(xùn)項目案例II》[4]等可以做為重要的參考資料。
教學(xué)計劃上規(guī)定的課外實訓(xùn)學(xué)時難以落地。以《基于CMMI的軟件工程》課程的實訓(xùn)為例,實訓(xùn)內(nèi)容涉及(1)熟悉開發(fā)環(huán)境、(2)組建項目小組、(3)項目立項、(4)需求收集、需求分析、(5)項目詳細策劃、(6)建立配置庫、(7)系統(tǒng)設(shè)計、(8)系統(tǒng)實現(xiàn)與測試、(9)測試計劃及測試用例、系統(tǒng)測試、(10)項目總結(jié)等10項內(nèi)容。教學(xué)計劃安排是32學(xué)時,但實際完成則需要76學(xué)時。這76個學(xué)時是按照項目小組的人數(shù)、在大家分工合理密切配合的前提條件下才能完成。32學(xué)時實訓(xùn)效果是可控的,必定有固定的場地,有老師的監(jiān)督指導(dǎo)。而其余44課時的課外實訓(xùn),由于沒有固定的場地和環(huán)境,學(xué)生只有自找場地。本來在固定的場地固定的群組完成的實訓(xùn),由于時間和場地的原因,同一項目組的同學(xué)如盤散沙,教師也是鞭長莫及,原本設(shè)立的項目小組組長也無力監(jiān)督本小組的同學(xué),導(dǎo)致實訓(xùn)時間和效果難以得到保證,學(xué)生無暇領(lǐng)會實踐的過程在實踐中的重要意義。
根據(jù)教學(xué)經(jīng)驗,《基于CMMI的軟件工程》實踐課程師生比不能超過1:40,即每40個學(xué)生配置一名輔導(dǎo)教師。但實際的授課過程中,受到課程教務(wù)安排和學(xué)生選課傾向的影響,往往大于這個比率,使得教學(xué)難度增加、實訓(xùn)效果很難達到良好的預(yù)期效果。
基于傳統(tǒng)的一課一練的思路,我們對《軟件工程》、《軟件質(zhì)量保證與測試》、《基于CMMI的軟件工程》、《群體軟件工程-TSP》、《個體軟件工程PSP》等分別設(shè)置了實訓(xùn)內(nèi)容,但實訓(xùn)內(nèi)容有很多相同的部分,大多都是開發(fā)一個某某系統(tǒng),需要完成相同的軟件周期,其差別僅在于:(1)系統(tǒng)規(guī)模的大小及難度不同;(2)所關(guān)注的側(cè)重點不同,如基于CMMI的軟件工程關(guān)注過程文檔,PSP關(guān)注與開發(fā)人員自身的相關(guān)內(nèi)容。這些課程的實訓(xùn)共有的現(xiàn)象是:系統(tǒng)的開發(fā)成果粗糙,系統(tǒng)的架構(gòu)、功能和界面等雷同,實訓(xùn)時間不足。未來可以通過課程間的整合,多門課程圍繞一個實訓(xùn)案例開展聯(lián)合實訓(xùn)。
現(xiàn)在“挑戰(zhàn)杯”、“創(chuàng)業(yè)大賽”、“服務(wù)外包”等創(chuàng)業(yè)類競賽種類繁多。那些有想法、學(xué)習(xí)成績好、動手能力強的學(xué)生成了同學(xué)中的明星和老師眼中的紅人。他們早早主動或被動的被一些項目導(dǎo)師給“求包”或“被包”了。在課程的實訓(xùn)中有些學(xué)生直接提出不參加工程實訓(xùn)的申請,理由也很簡單及充分:“我們也在做類似的工作”;有些直接拿出自己的參賽題目直接要求“自我命題”,這類項目往往代碼都有了,倒過來補寫軟件開發(fā)過程中的相關(guān)文檔。
在2015年6月12日至19日的調(diào)查問卷中,我們同時也設(shè)計了“你認為系統(tǒng)有哪些缺點”的問項,希望從同學(xué)們那里聽到意見、批評和建議。和問題3的設(shè)計一樣,我們也是給出4個勾選項目及2個隨意填寫的項目。反饋的結(jié)果如圖4所示。結(jié)果顯示53.45%的同學(xué)對于“進入系統(tǒng)要輸入很長的網(wǎng)址”這個缺點有強烈的共鳴;32.67%的同學(xué)認為說明書不清晰;6.9%的同學(xué)認為說明書和實際功能不匹配;32.76%的同學(xué)認為有些功能和實際不匹配。
我們在問卷調(diào)查中專門設(shè)置了一項“對于基于CMMI的課程實訓(xùn),你的其它建議”來彌補格式化問卷的缺陷,讓參與調(diào)查的同學(xué)對我們的實訓(xùn)系統(tǒng)提意見。雖說這是個可選回答項,但我們收到21個同學(xué)的反饋,占36%。同學(xué)們的回答基本上可歸納如下幾個方向:關(guān)于系統(tǒng)功能,有4位同學(xué)反映:“實訓(xùn)系統(tǒng)有很多功能不完善、系統(tǒng)有點太過復(fù)雜、一些不必要的功能應(yīng)該刪去”;關(guān)于實訓(xùn)內(nèi)容安排方面有3位同學(xué)建議:“多些實例講解、多給一些前輩的實訓(xùn)經(jīng)驗和例子、可以用一些案例來分析,這樣我們理解的更好!”;關(guān)于實訓(xùn)的組織方面有4位同學(xué)對于實訓(xùn)過程中的分組進行了吐槽,認為“應(yīng)該合理安排實訓(xùn)時間及具體任務(wù),應(yīng)該重視如何分組,不然有些人忙死,有些人“打醬油””;最后關(guān)于實訓(xùn)中實踐和理論進行融合方面有3位同學(xué)建議:實訓(xùn)也要注意加強理論指導(dǎo),而不是直接“照葫蘆畫瓢”,不是只把模板DOWN下來,機械的填寫內(nèi)容后再UPLOAD上去。
4 結(jié)論和展望
軟件工程專業(yè)教學(xué)實訓(xùn)平臺為學(xué)生的實訓(xùn)搭建了堅實的基礎(chǔ),為杭電的軟件工程人才培養(yǎng)做了很多的開端和鋪墊。目前已經(jīng)完成了“硬件”建設(shè)部分,現(xiàn)在已經(jīng)進入了“軟件”建設(shè)階段,我們認為未來應(yīng)該在此良好的“硬件基礎(chǔ)”上,著力研究課程群的劃分、各科內(nèi)容的相互劃分和協(xié)調(diào),授課教師小組的建設(shè)及案例庫建設(shè)等。
參考文獻:
[1]李龍澍,鄭斌.軟件工程課程設(shè)計.北京:機械工業(yè)出版,2010.
[2]李超,盧軍.螺旋式軟件人才培養(yǎng)模式探索與實踐.北京:科學(xué)出版社,2008.
[3]熊慶宇.軟件工程實訓(xùn)項目案例I.重慶:重慶大學(xué)出版社,2013.
[4]熊慶宇.軟件工程實訓(xùn)項目案例II.重慶:重慶大學(xué)出版社,2013.