劉軍,龔偉
軟件工程專業(yè)是一個新興的IT類專業(yè),肩負(fù)著培養(yǎng)高素質(zhì)軟件工程人才,振興我國軟件行業(yè)的重大使命。軟件工程專業(yè)非常強調(diào)所培養(yǎng)人才的工程性、實踐性和創(chuàng)新性,以及不同于其他工科專業(yè)人才的獨特特性,即人的協(xié)作性。CDIO(Conceive、Design、Implement and Operate)工程教育模式是近年來國際工程教育改革的最新成果,是“做中學(xué)”和“基于項目教育和學(xué)習(xí)”的集中概括和抽象表達,也體現(xiàn)了建構(gòu)主義所主張的以學(xué)生為中心,強調(diào)學(xué)生對知識的主動探索、主動發(fā)現(xiàn)和主動建構(gòu)的教育理念?;贑DIO理念構(gòu)建軟件工程專業(yè)的人才培養(yǎng)模式,培養(yǎng)高素質(zhì)的軟件工程人才,已成為許多軟件工程教育工作者的共識。
軟件工程專業(yè)關(guān)于其CDIO人才培養(yǎng)模式的實踐,在本質(zhì)上,就是要求教育實踐者要回答“教什么”和“如何教”這兩大根本性問題。但在解決這兩大問題的教學(xué)實踐中,許多院校的軟件工程專業(yè)出現(xiàn)了許多共性問題,往往陷入“有好的想法和思路,但是沒有好的人員和實施環(huán)境”的情況,突出表現(xiàn)在以下幾點:
(1)專業(yè)的培養(yǎng)目標(biāo)和規(guī)格不能完全體現(xiàn)當(dāng)前軟件產(chǎn)業(yè)對人才的需要,需要進一步明晰和具體化。許多院校的培養(yǎng)方案往往只是泛泛地闡述了專業(yè)培養(yǎng)目標(biāo)和規(guī)格,其闡述往往是“培養(yǎng)具有行業(yè)競爭力的復(fù)合型、應(yīng)用型高級軟件工程人才”、“具有較強的實踐動手能力,能從事信息技術(shù)領(lǐng)域相關(guān)工作的高素質(zhì)應(yīng)用型專門人才?!敝T如此類的籠統(tǒng)描述。而對于什么樣的人才,才是社會和行業(yè)認(rèn)可或需要的,高素質(zhì)人才、復(fù)合型、應(yīng)用型高級軟件工程人才,即人才培養(yǎng)規(guī)格并未作出具體的測量標(biāo)準(zhǔn),產(chǎn)生這個問題的原因在于缺乏與行業(yè)接軌,無法對培養(yǎng)目標(biāo)和規(guī)格作出具體的限定。
(2)從教學(xué)內(nèi)容和教學(xué)案例的角度看,部分專業(yè)課程內(nèi)容沒有與時俱進,案例仍顯單一,與實踐的結(jié)合未能完全改善,缺乏豐富的低、中、高等不同層次的新穎課程案例的支持,導(dǎo)致學(xué)生所學(xué)的相關(guān)專業(yè)技術(shù)比較陳舊,在課程實踐中沒有真正專業(yè)的實例作為參考,影響CDIO“做中學(xué)”的教學(xué)效果。以“C語言程序設(shè)計”課程為例,多數(shù)院校的教師都是基于微軟的 VC(Visual C++)或者 VS(Visual Studio)開發(fā)環(huán)境來講述C語言程序設(shè)計,但VC和VS都不支持C語言的C99標(biāo)準(zhǔn),更不支持C11標(biāo)準(zhǔn),無法基于這些環(huán)境講解C語言新標(biāo)準(zhǔn)的教學(xué)內(nèi)容。同時,大部分的教授方式類似于我國的英語教學(xué)一樣,往往局限于C語言的語法,沒有通過不同的項目案例來支撐C語言的學(xué)習(xí)過程,許多學(xué)生學(xué)習(xí)了C語言,仍然不清楚C語言以后會有什么用。這些課程的教學(xué)內(nèi)容及其案例的改進,需要行業(yè)一線的開發(fā)工程師參與和溝通。
(3)從課程知識體系的角度看,相關(guān)課程群的建設(shè)和融合仍需進一步的建設(shè)。課程群的建設(shè)和融合缺少真正的有經(jīng)驗從業(yè)者的建議和論證,因此相關(guān)課程群中課程之間知識點的銜接,取舍以及更新還有待進一步的分析確認(rèn)。例如:大多數(shù)院校的課程群體系,往往只是避免了部分重復(fù)講解基礎(chǔ)的內(nèi)容,但課程主體大多還是按照教材體系進行獨立的講解,缺乏一種學(xué)科知識體系上的連接和融合,沒有形成有效的課程群。從完整軟件生命周期的角度看,課程群應(yīng)該根據(jù)軟件開發(fā)的自身體系和當(dāng)前業(yè)界發(fā)展趨勢,制定相關(guān)的課程群知識體系,取舍更新相關(guān)教學(xué)內(nèi)容。而這個目標(biāo)的達成,更加需要行業(yè)的高級人才,如項目經(jīng)理、軟件團隊Leader的意見、建議和參與。
(4)大多數(shù)高校師資隊伍的工程經(jīng)驗的缺乏,導(dǎo)致部分課程的開設(shè)效果大打折扣。由于許多高校比較看重教師的科研能力,在引進教師的條件上,往往限制為高學(xué)歷的博士和高職稱的教授,而對工程經(jīng)驗沒有加以要求,導(dǎo)致了許多教師往往只具備理論領(lǐng)域的科研能力,非常欠缺工程經(jīng)驗,沒辦法在工程性很強的課程中起到引領(lǐng)的作用。例如,諸如《軟件體系結(jié)構(gòu)實踐》、《軟件需求工程》、《軟件測試》、《軟件過程與管理》等類似的課程,如果不是有著大量項目經(jīng)驗的教師來講授,其教學(xué)效果會受到嚴(yán)重影響。這部分的課程,仍然需要行業(yè)一線優(yōu)秀的項目經(jīng)理和團隊Leader來參與。
(5)在學(xué)生的專業(yè)實踐上,許多院校缺少專業(yè)的企業(yè)技術(shù)支持和職業(yè)體驗,學(xué)生專業(yè)實踐和創(chuàng)新活動無法受到軟件產(chǎn)業(yè)的真正從業(yè)者的幫助與影響,無法體驗CDIO所要求的真實職業(yè)環(huán)境和氛圍。由于軟件廣泛應(yīng)用于其他行業(yè),在不同的領(lǐng)域背景下,其軟件開發(fā)的活動經(jīng)驗也有所不同,需要多個相關(guān)領(lǐng)域的軟件從業(yè)人員參與到學(xué)生的實踐創(chuàng)新活動中。
(6)在學(xué)生專業(yè)素養(yǎng)的培養(yǎng)上,學(xué)生的協(xié)作性培養(yǎng)未能得到質(zhì)的改善,學(xué)生在公司中的實習(xí)實踐效果不佳。協(xié)作性的培養(yǎng)在各個高校軟件工程專業(yè)的人才培養(yǎng)中長期被忽視,這已成為學(xué)生在實習(xí)實踐中體現(xiàn)出的最嚴(yán)重的專業(yè)素養(yǎng)問題。這個問題源于缺乏真正的職業(yè)環(huán)境,學(xué)生缺乏這方面的專業(yè)訓(xùn)練,這仍然需要通過企業(yè)參與才能更好地解決。
(7)學(xué)生對軟件行業(yè)的了解甚少,無法跟蹤分析行業(yè)前沿及其發(fā)展趨勢,不能很好地進行職業(yè)規(guī)劃。例如,當(dāng)前的IT熱點領(lǐng)域“云計算與大數(shù)據(jù)”、“移動互聯(lián)網(wǎng)”、“互聯(lián)物網(wǎng)(Web of Things)”到底發(fā)展的情況如何,相關(guān)前沿技術(shù)“Hadoop”、“HTML5”、“Android與IOS”等等的前景怎樣,除了少部分與企業(yè)聯(lián)系較為緊密的院校經(jīng)常通過邀請業(yè)界人士講學(xué)來作出一些講解之外,大多數(shù)院校完全單靠教師和學(xué)生自身去理解和獲取相關(guān)信息,存在較大的局限性,學(xué)生無法在此基礎(chǔ)上分析和規(guī)劃自身的專業(yè)發(fā)展路線。
通過對以上的問題產(chǎn)生的緣由進行分析,我們發(fā)現(xiàn),學(xué)校培養(yǎng)的軟件人才最終需要在公司企業(yè)的環(huán)境中工作,通過加強與公司企業(yè)的聯(lián)合培養(yǎng),可以有效地深化軟件工程專業(yè)CDIO人才培養(yǎng)模式的改革。但是,在傳統(tǒng)的校企合作方式上,大多數(shù)高校僅僅是在實習(xí)期間將學(xué)生派遣到公司中,盡管這種合作方式在人才培養(yǎng)上起到一定的作用,但對于諸如前述的人才培養(yǎng)問題未能起到應(yīng)有的作用。為此,我們提出了“校企結(jié)合,深化軟件工程專業(yè)CDIO人才培養(yǎng)模式的建設(shè)”專業(yè)建設(shè)思路。比起傳統(tǒng)的校企合作,校企結(jié)合在人才的聯(lián)合培養(yǎng)上更為深入,其具體措施包括下述的幾個方面:
(1)與企業(yè)工程師相結(jié)合,促進上文所列問題前5點的解決。這種措施非常靈活,可以通過聘請知名企業(yè)的高級工程師,參與到相關(guān)課程的教學(xué)內(nèi)容的確定和更新上,同時可以提供相關(guān)來自實際工作場景的技術(shù)運用實例,豐富各種層次的教學(xué)案例支持,可以讓學(xué)生在實踐中參考學(xué)習(xí)到企業(yè)所需的技術(shù)。同時,還可以讓有經(jīng)驗的企業(yè)工程師一起討論課程群中相關(guān)課程之間知識點的銜接,取舍以及更新,完善課程群的建設(shè)。與企業(yè)工程師的交流還可以了解當(dāng)今業(yè)界對畢業(yè)生的專業(yè)技能和素養(yǎng)的要求,有助于制定與時俱進的培養(yǎng)目標(biāo)和規(guī)格。在條件允許的情況下,還可以邀請企業(yè)工程師來校舉辦技術(shù)講座甚至任教,幫助學(xué)生真正接觸真正的從業(yè)者。
(2)與企業(yè)項目經(jīng)理相結(jié)合,促進上文所列問題(1)、(4)、(6)的解決。軟件作為特殊的產(chǎn)品,其設(shè)計與開發(fā)不同傳統(tǒng)意義上的生產(chǎn)制造,軟件項目的管理也不是一個像機械制造那樣的機械過程。在影響軟件項目的 4 個 P(Person、Product、Process 和 Project)中,最關(guān)鍵的因素是人的因素,許多軟件項目的失敗不僅僅是因為技術(shù)、資金和時間的問題,其中人的因素往往在其中顯得更為突出。一個沒有凝聚力的開發(fā)團隊往往在項目的起始就孕育了失敗的基因,因此軟件人才的協(xié)作性對于組織一個好的團隊至關(guān)重要。學(xué)校聘請軟件項目經(jīng)理,讓其介紹真實的職業(yè)環(huán)境和從業(yè)要求,讓學(xué)生了解到軟件項目的復(fù)雜性和團隊協(xié)作的重要性,是培養(yǎng)高層次軟件人才的有效途徑。同時,與企業(yè)項目經(jīng)理的交流也可為軟件工程人才培養(yǎng)的目標(biāo)和規(guī)格提供了真實的參考來源。在條件可能的情況下,甚至聘請相關(guān)的軟件項目經(jīng)理作為項目管理相關(guān)的教師,帶領(lǐng)部分學(xué)生項目團隊,最終會讓學(xué)生將協(xié)作成為其職業(yè)習(xí)慣,這將對學(xué)生的職業(yè)生涯產(chǎn)生重大的影響。
(3)與企業(yè)內(nèi)部培訓(xùn)部門相結(jié)合,促進上文所列問題(4)、(5)的解決。大多數(shù)知名軟件企業(yè)都有內(nèi)部的培訓(xùn)部門,其職責(zé)是為企業(yè)中的各個崗位培訓(xùn)合格的員工。學(xué)??梢耘c企業(yè)培訓(xùn)部門合作,對缺乏工程實踐經(jīng)驗的高校教師進行專業(yè)的培訓(xùn),對渴望了解企業(yè)崗位需求的學(xué)生進行詳細(xì)的介紹和引導(dǎo)。如有可能,還可以讓高校教師在培訓(xùn)合格之后,在企業(yè)相關(guān)崗位上參與企業(yè)真正的項目,積累更多的實踐經(jīng)驗。
(4)與企業(yè)高管相結(jié)合,促進上文所列問題(1)、(7)的解決。通過經(jīng)常性地聘請企業(yè)高級管理人才到學(xué)校交流、講學(xué),對于開拓師生的專業(yè)視野,深入地了解業(yè)界前沿動態(tài)和技術(shù)發(fā)展趨勢,具有非常大的促進作用。這類交流和講學(xué),不僅對學(xué)校在對學(xué)生的培養(yǎng)目標(biāo)和具體規(guī)格上起到很好的指引作用,還可以為學(xué)生制定其職業(yè)發(fā)展規(guī)劃,甚至思索其專業(yè)創(chuàng)業(yè)計劃起著很好的引導(dǎo)作用。
(5)與企業(yè)結(jié)合,共建實習(xí)基地,開展專業(yè)競賽,促進上文所列問題(4)、(6)、(7)的解決。這類合作屬于傳統(tǒng)的校企合作,學(xué)校在實習(xí)期將學(xué)生派遣到相關(guān)企業(yè)實習(xí),或者開展由企業(yè)命題的專業(yè)競賽。盡管這類傳統(tǒng)的合作對于人才的培養(yǎng)作用有限,但是,如果通過前述的各種層次的校企結(jié)合,學(xué)生不論是進行企業(yè)實習(xí),還是參與專業(yè)競賽,其人才培養(yǎng)的效果將會得到極大的提高,相關(guān)的公司企業(yè)也會歡迎經(jīng)過前述方式培養(yǎng)出來的實習(xí)生,甚至希望優(yōu)秀的實習(xí)生或獲獎?wù)咦罱K成為公司的員工。
從2010年開始,我校軟件工程專業(yè)進行了CDIO人才培養(yǎng)模式的初步探索。在提出“多層次校企結(jié)合,深化軟件工程專業(yè)CDIO人才培養(yǎng)模式的建設(shè)”專業(yè)建設(shè)思路之后,我校積極實施上述相關(guān)的建設(shè)舉措,先后與多個公司企業(yè)進行了多個層次的合作,對軟件工程專業(yè)CDIO人才培養(yǎng)模式進行了深入的建設(shè):
(1)聘請富士康科技集團、HP和Oracle等公司的工程師、項目Leader、企業(yè)高管和項目經(jīng)理作為專業(yè)發(fā)展顧問,多次邀請相關(guān)的企業(yè)人員為學(xué)生作專業(yè)講座以及IT前沿發(fā)展趨勢分析的交流活動,并就專業(yè)的培養(yǎng)目標(biāo)和規(guī)格的具體內(nèi)容和標(biāo)準(zhǔn),課程群的建設(shè)內(nèi)容和方式方法上征求他們的意見和建議,并作出相應(yīng)的修訂。
(2)與Intel、H3C和北京博創(chuàng)多家著名IT公司校企聯(lián)合辦學(xué),共建相關(guān)行業(yè)學(xué)院、實驗室、認(rèn)證中心:
?與Intel公司聯(lián)合成立“Intel軟件學(xué)院”,派遣相關(guān)教師到Intel公司的大連培訓(xùn)部門進行 “多核多線程”課程的培訓(xùn),并改革相關(guān)專業(yè)課程,將《多核多線程技術(shù)》、《基于英特爾凌動?平臺的嵌入式應(yīng)用開發(fā)》等Intel軟件學(xué)院的課程嵌入到本科課程體系中。
?與H3C公司合作成立了重慶師范大學(xué)-H3C網(wǎng)絡(luò)學(xué)院,建立H3CNE和H3CSE的培訓(xùn)點和認(rèn)證考試點,將相關(guān)教師派送到H3C公司北京網(wǎng)絡(luò)部培訓(xùn),多次邀請了H3C公司的高級工程師和項目經(jīng)理到學(xué)校進行網(wǎng)絡(luò)技術(shù)講座和交流,并將網(wǎng)絡(luò)學(xué)院的課程嵌入到本科的課程體系中,以培養(yǎng)高層次的網(wǎng)絡(luò)工程技術(shù)人才。
?與北京博創(chuàng)、中國電子協(xié)會合作,建立”嵌入式工程師聯(lián)合實驗室”和“嵌入式軟件工程師認(rèn)證中心”,派送相關(guān)的教師到北京博創(chuàng)公司的開發(fā)部門跟蹤培訓(xùn),成立了校級的“嵌入式系統(tǒng)創(chuàng)新實驗室”,帶領(lǐng)學(xué)生研發(fā)出了多個有一定應(yīng)用價值的嵌入式系統(tǒng),并多次獲得“博創(chuàng)杯”全國大學(xué)生嵌入式設(shè)計大賽的一、二、三等獎,形成了特色的嵌入式軟件人才培養(yǎng)基地。
(3)與安博(Ambow)教育集團進行深度的校企合作,采取“訂單”方式聯(lián)合共建軟件工程(服務(wù)外包方向)專業(yè)。具體的合作方式如下:
?基于CDIO教學(xué)理念,共同制訂知識體系、課程體系、實習(xí)實訓(xùn)體系。
?公共基礎(chǔ)和專業(yè)基礎(chǔ)課程教學(xué)由學(xué)院安排教師承擔(dān),專業(yè)主干課程和專業(yè)方向課程教學(xué)由安博教育集團派遣富有項目開發(fā)經(jīng)驗的工程技術(shù)人員承擔(dān)。
?實習(xí)實訓(xùn)由安博教育集團統(tǒng)一安排在相關(guān)IT企業(yè)進行。
(4)與富士康科技集團、旭碩、用友、所羅門、和山外山等公司企業(yè)展開多方面的交流合作:
?建立了學(xué)校與企業(yè)專家互訪交流機制,包括:邀請學(xué)校專家到企業(yè)擔(dān)任顧問;企業(yè)資深人員到學(xué)校開設(shè)專業(yè)講座;結(jié)合理論與實務(wù),共組研究課題;根據(jù)企業(yè)實際需求與行業(yè)未來發(fā)展,提供教學(xué)方向建議。
?建立學(xué)生的實習(xí)實訓(xùn)基地,提供就業(yè)機會,目前已多次與這些公司聯(lián)合開展了參觀、交流、實習(xí)、招聘相關(guān)的活動,有多名學(xué)生已被錄用為這些企業(yè)的正式員工,并有部分學(xué)生已成為了這些公司的技術(shù)總監(jiān)和項目經(jīng)理。
?通過收集企業(yè)領(lǐng)導(dǎo)和實習(xí)學(xué)生的反饋,多方面了解行業(yè)需求情況,獲得了許多對于課程群建設(shè)有意義的建議和意見。
與上述公司企業(yè)的校企結(jié)合實踐目前還處于初步階段,但在某些方面已體現(xiàn)出了階段性成果。例如,在課程群的深入建設(shè)中,我校通過邀請多個公司的高管交流講學(xué),師生在云計算和移動互聯(lián)網(wǎng)的相關(guān)領(lǐng)域增進了了解,在CDIO的一體化課程計劃中,初步形成了軟件工程課程群、云計算技術(shù)課程群、嵌入式與移動終端課程群。這些課程群中,各個課程之間不再是以前那種相對獨立的情況,而是按照軟件工程學(xué)科自身的知識體系來組織和銜接,避免了傳統(tǒng)的割裂的局面。例如,當(dāng)前的軟件工程課程群包含了《軟件工程I:語言與需求》、《軟件工程II:建模與分析》、《軟件工程III:設(shè)計與實現(xiàn)》、《“開源軟件杯”創(chuàng)新作品大賽》等四門課程,這四門課程在傳統(tǒng)上對應(yīng)為 《面向?qū)ο蟪绦蛟O(shè)計》、《軟件工程導(dǎo)論》、《UML面向?qū)ο蠼Ec設(shè)計》、《軟件工程課程設(shè)計》4門傳統(tǒng)課程,這些傳統(tǒng)課程具有獨立的教材,講授已往往獨立,缺少必要的聯(lián)系,學(xué)生學(xué)習(xí)之后,往往需要經(jīng)歷很長的時間才能慢慢將其融合在一起,甚至大部分學(xué)生根本無法將它們連接在一起?,F(xiàn)在經(jīng)過與多個公司企業(yè)的工程師和項目經(jīng)理交流之后,將原有的四門課程組合成了現(xiàn)在的軟件工程課程群。
盡管我校軟件工程專業(yè)的建設(shè)當(dāng)前只取得了一些階段性的成果,但也初步展現(xiàn)出了該專業(yè)建設(shè)思路的可操作性和有效性,例如在實施教學(xué)改革的2010、2012、2013級學(xué)生中,相關(guān)學(xué)生多次獲得全國性獎項、畢業(yè)年級學(xué)生的就業(yè)率和質(zhì)量較好、多人考上了985高校的研究生,考研成功率達50%。他山之石,可以攻玉,“多層次校企結(jié)合,深化軟件工程專業(yè)CDIO人才培養(yǎng)模式的建設(shè)”是我們對軟件工程專業(yè)建設(shè)進行探索的結(jié)晶,希望能夠?qū)ζ渌盒5南嚓P(guān)專業(yè)建設(shè)提供一個借鑒和思考。
軟件工程專業(yè)CDIO人才培養(yǎng)模式的目標(biāo)是吸引學(xué)生學(xué)習(xí)軟件工程,并將它們培養(yǎng)成真正的軟件工程師。但是由于軟件工程的特殊性,單靠學(xué)校的獨立教育,或者簡單的校企合作來培養(yǎng)軟件人才,是遠(yuǎn)遠(yuǎn)達不成這個目標(biāo)的。我們認(rèn)為,通過上述多層次的校企結(jié)合,深化軟件工程專業(yè)CDIO人才培養(yǎng)模式的建設(shè),最終才能讓學(xué)生在專業(yè)技能上、團隊協(xié)作上得到有效的鍛煉,成長為企業(yè)所期望的 “來之即用”、“來之好用”,具有工程性、實踐性、創(chuàng)新性和協(xié)作性的高級軟件工程人才。
[1]Roger S Pressman.軟件工程:實踐者的研究方法[M].北京:機械工業(yè)出版社,2011.
[2]Edward F Crawley,Johan Maimqvist,et al.重新認(rèn)識工程教育[M].北京:高等教育出版社,2009.