劉庚 陳濱 黃彬彬 張萬軍



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