林丕源, 王 強(qiáng), 肖 磊, 惠興海, 劉財(cái)興
(1.華南農(nóng)業(yè)大學(xué) 軟件學(xué)院,廣東 廣州 510642; 2.四川華迪信息技術(shù)有限公司,四川 成都 611731)
作為高等學(xué)校和專業(yè)教育機(jī)構(gòu),服務(wù)于國(guó)家經(jīng)濟(jì)、社會(huì)發(fā)展,為國(guó)家產(chǎn)業(yè)化鏈條、地方經(jīng)濟(jì)和產(chǎn)業(yè)布局謀發(fā)展,培養(yǎng)高素質(zhì)的專業(yè)人才是其重要職責(zé)與義務(wù)。隨著國(guó)家軟件及IT產(chǎn)業(yè)的快速和深入發(fā)展,國(guó)家亟需大量高素質(zhì)的軟件人才。但是,當(dāng)前我國(guó)軟件人才的培養(yǎng)并沒有很好地滿足軟件及IT產(chǎn)業(yè)對(duì)人才的需求。每年計(jì)算機(jī)及軟件類專業(yè)畢業(yè)學(xué)生的就業(yè)情況,顯示出我國(guó)軟件人才培養(yǎng)的質(zhì)量與定位存在一些問題,主要表現(xiàn)有畢業(yè)生項(xiàng)目工程實(shí)踐能力弱、對(duì)行業(yè)應(yīng)用背景不了解、不懂現(xiàn)代IT企業(yè)的規(guī)范標(biāo)準(zhǔn), 不知道信息技術(shù)服務(wù)標(biāo)準(zhǔn)[1-2]、所學(xué)知識(shí)與實(shí)際應(yīng)用脫節(jié)、無(wú)法達(dá)到企業(yè)的用人要求等。這些問題折射出我國(guó)高等教育在軟件人才培養(yǎng)中所存在的不足,特別是在對(duì)學(xué)生的工程實(shí)踐能力培養(yǎng)模式上,沒有下足功夫,效果不佳,不能滿足軟件企業(yè)對(duì)人才的能力需求。我們認(rèn)為,要培養(yǎng)出軟件企業(yè)所需人才,在培養(yǎng)中應(yīng)該遵循大型軟件企業(yè)的規(guī)范標(biāo)準(zhǔn),從行業(yè)規(guī)范要求入手,重新思考人才培養(yǎng)目標(biāo)及內(nèi)涵、培養(yǎng)方案與模式、管理體制與運(yùn)行機(jī)制,進(jìn)行系統(tǒng)化的改革與創(chuàng)新。
借鑒西方發(fā)達(dá)國(guó)家走過的教育路線經(jīng)驗(yàn),為貫徹落實(shí)《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要(2010—2020年)》[3],為培養(yǎng)合格的軟件工程人才,建立深入的高校和企業(yè)合作培養(yǎng)人才的新機(jī)制,實(shí)現(xiàn)社會(huì)和產(chǎn)業(yè)的實(shí)際需求與高校人才培養(yǎng)的無(wú)縫銜接,是軟件工程教育改革大勢(shì)所趨,這也符合國(guó)家卓越工程師教育培養(yǎng)計(jì)劃的精神。為此,學(xué)校和企業(yè)應(yīng)更好地扮演好各自角色,發(fā)揮好各自優(yōu)勢(shì),形成優(yōu)勢(shì)互補(bǔ);合作的校企雙方需要構(gòu)建一套完善的長(zhǎng)效運(yùn)行保障機(jī)制,建立一支符合人才崗位培養(yǎng)所需的雙師型隊(duì)伍,并采用業(yè)界普遍認(rèn)可的工程規(guī)范來(lái)培養(yǎng)學(xué)生的工程實(shí)踐能力。這不僅是一種教育體制的改革創(chuàng)新,也是加速經(jīng)濟(jì)發(fā)展的催化劑,更是學(xué)校、企業(yè)和學(xué)生的多贏互利模式,具有較大的現(xiàn)實(shí)意義。
華南農(nóng)業(yè)大學(xué)為培養(yǎng)滿足軟件及IT產(chǎn)業(yè)需求的人才,進(jìn)行多年有效的探索和實(shí)踐[4-7],“本科軟件工程人才培養(yǎng)探索與實(shí)踐”于2010年獲廣東省教學(xué)成果二等獎(jiǎng),“貼近產(chǎn)業(yè)的工程化本科軟件人才培養(yǎng)探索與實(shí)踐”于2014年獲廣東省教學(xué)成果一等獎(jiǎng)。
本文以校企合作培養(yǎng)現(xiàn)代軟件企業(yè)所需的軟件工程人才為例,論述我們所探索和實(shí)踐的一種強(qiáng)調(diào)工程規(guī)范的分階段成果交付和交叉的軟件工程實(shí)訓(xùn)模式,它能更好地培養(yǎng)學(xué)生具備軟件企業(yè)所要求的工程實(shí)踐能力。
2010年6月,教育部為貫徹落實(shí)《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要》精神,啟動(dòng)了卓越工程師教育培養(yǎng)計(jì)劃[8]。卓越計(jì)劃的主要目標(biāo)是面向工業(yè)界、面向世界、面向未來(lái),培養(yǎng)造就一大批創(chuàng)新能力強(qiáng)、適應(yīng)經(jīng)濟(jì)社會(huì)發(fā)展需要的高質(zhì)量各類型工程技術(shù)人才。卓越人才教育培養(yǎng)計(jì)劃強(qiáng)調(diào)行業(yè)企業(yè)深度參與培養(yǎng)過程,按通用標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)培養(yǎng)工程人才,強(qiáng)化培養(yǎng)學(xué)生的工程能力和創(chuàng)新能力。
在教育部和各級(jí)教育管理機(jī)構(gòu)的政策倡導(dǎo)下,各高校根據(jù)自身專業(yè)的辦學(xué)特點(diǎn)開展校企合作,提升學(xué)生的綜合技能培養(yǎng)。其中,國(guó)家級(jí)和省級(jí)示范性軟件學(xué)院在軟件工程人才培養(yǎng)中表現(xiàn)突出,走在了校企合作培養(yǎng)工程人才的前列。然而,總的來(lái)說,目前的校企合作還是較為粗放的,在對(duì)軟件工程人才的能力培養(yǎng)上也存在著有待進(jìn)一步探索和解決的問題,可能涉及到深化校企合作和能力培養(yǎng)等方面。
企業(yè)作為市場(chǎng)經(jīng)濟(jì)的經(jīng)營(yíng)主體,盈利是其主要經(jīng)營(yíng)目標(biāo),企業(yè)參與合作培養(yǎng)人才的源動(dòng)力繞不開盈利這一目標(biāo)。目前已主動(dòng)或被動(dòng)地參與軟件工程人才培養(yǎng)的軟件企業(yè),不可避免地會(huì)擔(dān)心合作對(duì)企業(yè)業(yè)務(wù)經(jīng)營(yíng)的影響;在沒有相應(yīng)激勵(lì)政策和法規(guī)約束的機(jī)制下,合作企業(yè)確實(shí)并沒有把人才培養(yǎng)納入自己的價(jià)值鏈中。于是,深入的校企合作人才培養(yǎng)是很難實(shí)現(xiàn)的。
目前軟件企業(yè)不愿意把過多的精力投入到軟件工程人才的工程實(shí)踐能力培養(yǎng)中,尤其不愿意花太多精力通過實(shí)訓(xùn)來(lái)培養(yǎng)學(xué)生,可能存在下列因素:
(1) 軟件企業(yè)接待實(shí)訓(xùn)學(xué)生的數(shù)量有限。由于沒有形成規(guī)模效應(yīng),企業(yè)難以從通過實(shí)訓(xùn)培養(yǎng)學(xué)生中獲得經(jīng)濟(jì)利益。然而,承接實(shí)訓(xùn)的軟件企業(yè)的管理成本卻要增加,它們要安排專人管理學(xué)生,解決學(xué)生吃住等重要問題。
(2) 軟件企業(yè)開展實(shí)訓(xùn)業(yè)務(wù)可能增加巨大風(fēng)險(xiǎn)。例如,學(xué)生在企業(yè)實(shí)訓(xùn)期間一旦發(fā)生安全事故,企業(yè)可能要承擔(dān)相關(guān)費(fèi)用,更可能影響企業(yè)聲譽(yù)。
(3) 大多數(shù)軟件企業(yè)并沒有專門開發(fā)實(shí)訓(xùn)所需的教學(xué)資源。由于沒有專業(yè)化的企業(yè)工程師開發(fā)案例和課程,因此學(xué)生參加實(shí)訓(xùn)很難到達(dá)好理想效果。目前的主要做法是把學(xué)生放到項(xiàng)目中,讓學(xué)生自己跟蹤項(xiàng)目走,缺乏實(shí)質(zhì)性指導(dǎo)、考核、監(jiān)督和效果評(píng)價(jià)機(jī)制。
(4) 軟件企業(yè)在人才培養(yǎng)中不愿付出過高人力成本。處于自身考慮,企業(yè)未必愿意把最有經(jīng)驗(yàn)的優(yōu)秀工程師安排到人才培養(yǎng)崗位,并且即使培養(yǎng)出優(yōu)秀學(xué)生,也可能留不下來(lái)。
要使得上述因素不再制約校企合作,讓企業(yè)能主動(dòng)深入?yún)⑴c通過實(shí)訓(xùn)培養(yǎng)軟件工程人才,只有校企雙方互利共贏,尤其是企業(yè)能從中獲得應(yīng)有的利益,才能實(shí)現(xiàn)校企合作的可持續(xù)發(fā)展。
對(duì)于軟件工程學(xué)生而言,培養(yǎng)其工程實(shí)踐能力是非常重要的[9]。但是,目前在對(duì)軟件工程人才的實(shí)踐技能培養(yǎng)中,參與校企合作的有不少是軟件技能培訓(xùn)公司或培訓(xùn)機(jī)構(gòu),而非真正具有實(shí)力的規(guī)范的軟件研發(fā)企業(yè)。這些培訓(xùn)公司或機(jī)構(gòu)專業(yè)技術(shù)能力較弱,普遍缺乏規(guī)范意識(shí)和實(shí)施能力,自身沒有足夠的不斷獲得的中大型軟件項(xiàng)目支撐和專業(yè)化實(shí)施工作師;它們主要以培養(yǎng)學(xué)生的具體開發(fā)能力為主,忽略了對(duì)學(xué)生進(jìn)行工程規(guī)范訓(xùn)練。
在軟件培訓(xùn)公司對(duì)學(xué)生進(jìn)行軟件開發(fā)實(shí)踐訓(xùn)練中,幾乎是按照中小型公司的粗放式開發(fā)方式展開,每個(gè)學(xué)生被分到一個(gè)項(xiàng)目組,從頭到尾參與一個(gè)項(xiàng)目的需求→設(shè)計(jì)→實(shí)現(xiàn)→測(cè)試→部署的全過程,并伴隨成果交付。其結(jié)果,學(xué)生不能理解每個(gè)階段的交付標(biāo)準(zhǔn),不知道每個(gè)階段到底要交什么成果,也不知道自己每個(gè)階段完成的工件到底符不符合要求。
在這樣的模式中,由于需求、設(shè)計(jì)和編碼都是學(xué)生項(xiàng)目組自己完成,在整個(gè)項(xiàng)目開發(fā)過程中隨意性大,項(xiàng)目經(jīng)理對(duì)項(xiàng)目的管理控制弱,每個(gè)成員根據(jù)自己的理解會(huì)隨時(shí)變更需求和設(shè)計(jì),影響了項(xiàng)目組成員之間的合作。
同時(shí),由于軟件本身的特點(diǎn),本應(yīng)在需求、設(shè)計(jì)階段發(fā)現(xiàn)的問題沒有發(fā)現(xiàn)和及時(shí)解決,很多學(xué)生都覺得反正都是自己完成,錯(cuò)了可以改、漏了可以補(bǔ),因此造成大量問題集中到實(shí)現(xiàn)、測(cè)試階段才發(fā)現(xiàn)。這造成了軟件質(zhì)量嚴(yán)重下降,工作量和成本急劇增加,交付工期延后,最終影響項(xiàng)目的收益,也不符合國(guó)家軟件工程規(guī)范中的軟件開發(fā)與維護(hù)標(biāo)準(zhǔn)[10]。
上述目前普遍采用的實(shí)踐技能培養(yǎng)模式,從工程角度講,是不夠理想的。這種模式?jīng)]有強(qiáng)調(diào)規(guī)范的軟件開發(fā)過程,學(xué)生沒有得到起碼的工程規(guī)范訓(xùn)練,也無(wú)法對(duì)學(xué)生的工作進(jìn)行度量[11]。
軟件開發(fā)是一個(gè)工程化過程。軟件工程的目標(biāo)是找到指導(dǎo)軟件開發(fā)過程進(jìn)而生產(chǎn)出高效的、可靠的軟件產(chǎn)品的原則[12]。因此,要培養(yǎng)合格的軟件工程人才,就應(yīng)該指導(dǎo)學(xué)生懂得并實(shí)踐軟件開發(fā)的工程化過程。當(dāng)開展以實(shí)訓(xùn)方式培養(yǎng)軟件工程人才的教學(xué)時(shí),就應(yīng)該盡量按照工程方法管理好項(xiàng)目過程,即軟件開發(fā)的工程化過程。項(xiàng)目過程中,每個(gè)階段工作任務(wù)明確,成果按時(shí)交付,每項(xiàng)工作都按規(guī)范做好。
由于現(xiàn)代商業(yè)軟件工程項(xiàng)目的大規(guī)模和復(fù)雜性,所組建的項(xiàng)目團(tuán)隊(duì)成員之間必須分工明確,才能實(shí)現(xiàn)軟件開發(fā)滿足用戶需求、分階段及時(shí)交付成果、按期提交無(wú)故障軟件系統(tǒng),并且不超過預(yù)算獲得最大經(jīng)濟(jì)效率。為此,商業(yè)軟件項(xiàng)目開發(fā)是以質(zhì)量保證為基礎(chǔ),以項(xiàng)目過程、方法和工具為基本要素的系統(tǒng)工程。為了保證順利地完成軟件工程項(xiàng)目,必須分階段對(duì)項(xiàng)目階段成果進(jìn)行及時(shí)評(píng)審和交付,以滿足下一個(gè)階段的工作要求。大型的軟件企業(yè),一個(gè)商業(yè)軟件項(xiàng)目的不同階段的工作,通常會(huì)由不同的團(tuán)隊(duì)或成員來(lái)完成,并非一個(gè)團(tuán)隊(duì)從頭到尾完成一個(gè)軟件項(xiàng)目所有階段的工作。
為了使培養(yǎng)出的軟件工程人才能適應(yīng)現(xiàn)代軟件企業(yè)的業(yè)務(wù)需求,經(jīng)過長(zhǎng)期思考,我們提出強(qiáng)調(diào)工程規(guī)范的分階段成果交付和交叉的軟件工程實(shí)訓(xùn)模式。該模式以真實(shí)商業(yè)軟件項(xiàng)目為紐帶,按項(xiàng)目組建學(xué)生項(xiàng)目團(tuán)隊(duì)并分階段開展工作,每個(gè)團(tuán)隊(duì)在每個(gè)階段結(jié)束時(shí)交付工作成果給另一個(gè)團(tuán)隊(duì),項(xiàng)目不同階段的工作在團(tuán)隊(duì)間進(jìn)行交叉。在開展該模式的實(shí)訓(xùn)時(shí),必須有優(yōu)秀的規(guī)范的軟件企業(yè)的深度參與,企業(yè)發(fā)揮其技術(shù)和管理優(yōu)勢(shì),強(qiáng)化學(xué)生工程規(guī)范意識(shí),讓學(xué)生獲得軟件企業(yè)所要求的工程實(shí)踐能力。
依據(jù)軟件能力成熟度模型集成(Capability Maturity Model Integration,CMMI)[13],大型軟件企業(yè)在從事商業(yè)軟件項(xiàng)目開發(fā)活動(dòng)時(shí)遵循的規(guī)范,借鑒歐盟認(rèn)可的信息時(shí)代的技能框架(Skills Framework for the Information Age,SFIA)[14]IT人才標(biāo)準(zhǔn),根據(jù)軟件從業(yè)人員的崗位技能組成軟件項(xiàng)目開發(fā)團(tuán)隊(duì)。通常團(tuán)隊(duì)配置有項(xiàng)目經(jīng)理、需求分析師、系統(tǒng)構(gòu)架師,系統(tǒng)設(shè)計(jì)員、編碼人員、測(cè)試人員、界面設(shè)計(jì)員、配置管理員、質(zhì)量保證員等角色。不同角色承擔(dān)不同的工作職責(zé),需求分析師策劃和完成項(xiàng)目需求開發(fā)工作,系統(tǒng)構(gòu)架師根據(jù)項(xiàng)目需求搭建符合要求的系統(tǒng)構(gòu)架工作,系統(tǒng)設(shè)計(jì)員按照提交的需求工件完成系統(tǒng)設(shè)計(jì)工作、項(xiàng)目開發(fā)人員根據(jù)系統(tǒng)設(shè)計(jì)完成編碼工作。項(xiàng)目團(tuán)隊(duì)角色之間主要通過工作成果完成項(xiàng)目階段交付工作,相關(guān)工作成果必須符合交付標(biāo)準(zhǔn),以確保每個(gè)階段的工作成果都符合要求。
強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉實(shí)訓(xùn)模式,就是學(xué)習(xí)軟件企業(yè)按照CMMI來(lái)組織軟件工程項(xiàng)目開發(fā)的方法進(jìn)行實(shí)訓(xùn),依托軟件企業(yè)的真實(shí)項(xiàng)目將學(xué)生組織成軟件項(xiàng)目開發(fā)團(tuán)隊(duì),每個(gè)學(xué)生在團(tuán)隊(duì)中擔(dān)任不同角色,實(shí)現(xiàn)“做中學(xué)”[15]。每個(gè)團(tuán)隊(duì)在每個(gè)階段結(jié)束時(shí)交付工作成果,通過抽簽將工作成果移交給其他團(tuán)隊(duì),并開展下一個(gè)階段工作。整個(gè)工作過程見圖1。
假設(shè)參加實(shí)訓(xùn)的學(xué)生按照不同的商業(yè)軟件項(xiàng)目組建了三個(gè)軟件項(xiàng)目開發(fā)團(tuán)隊(duì)A、B和C;
按照統(tǒng)一軟件過程(Rational Unified Process,RUP)[16]開發(fā)項(xiàng)目,在先啟階段每個(gè)團(tuán)隊(duì)承擔(dān)不同的商業(yè)項(xiàng)目的需求分析;
在先啟階段工作結(jié)束進(jìn)入精化階段時(shí),團(tuán)隊(duì)A的項(xiàng)目工作階段成果移交給團(tuán)隊(duì)B,團(tuán)隊(duì)B組的項(xiàng)目工作階段成果移交給團(tuán)隊(duì)C,團(tuán)隊(duì)C組的項(xiàng)目工作階段成果移交給團(tuán)隊(duì)A;
在精化階段工作結(jié)束進(jìn)入構(gòu)建階段時(shí),團(tuán)隊(duì)A的項(xiàng)目工作階段成果移交給團(tuán)隊(duì)C,團(tuán)隊(duì)B組的項(xiàng)目工作階段成果移交給團(tuán)隊(duì)A,團(tuán)隊(duì)C組的項(xiàng)目工作階段成果移交給團(tuán)隊(duì)B;
圖1 分階段成果交付交叉實(shí)訓(xùn)模式工作過程
當(dāng)構(gòu)建階段結(jié)束進(jìn)入最后產(chǎn)品化階段時(shí),團(tuán)隊(duì)A、團(tuán)隊(duì)B和團(tuán)隊(duì)C組再回到各團(tuán)隊(duì),各團(tuán)隊(duì)承擔(dān)項(xiàng)目的需要驗(yàn)證、測(cè)試和部署。
以上流程從制度上保證了每個(gè)項(xiàng)目階段結(jié)束后的工作成果必須符合交付標(biāo)準(zhǔn),下一個(gè)階段的團(tuán)隊(duì)才能正常開展工作,團(tuán)隊(duì)之間對(duì)項(xiàng)目的正確理解和信息的準(zhǔn)確傳遞完全依賴階段的工件(包括文檔、原型、模型和程序等),從而避免了每個(gè)階段工作成果隨意更改和變更,客觀上使下一個(gè)階段的團(tuán)隊(duì)對(duì)前一個(gè)階段團(tuán)隊(duì)的工作成果進(jìn)行了監(jiān)督和檢查,符合軟件開發(fā)的管理流程。
現(xiàn)今的軟件工程和計(jì)算機(jī)類專業(yè)的大多數(shù)學(xué)生,比較注重程序編碼,覺得只要編好程序,項(xiàng)目能運(yùn)行就可以部署交付了。但是,在實(shí)際的商業(yè)軟件項(xiàng)目開發(fā)中,程序編碼一般只占整個(gè)項(xiàng)目工作量的30%左右。大型的軟件企業(yè)更加強(qiáng)調(diào)工程規(guī)范,強(qiáng)調(diào)團(tuán)隊(duì)合作和項(xiàng)目成果規(guī)范。從軟件工程看,“項(xiàng)目”較之于“程序”有重要的本質(zhì)的區(qū)別?!绊?xiàng)目”強(qiáng)調(diào)團(tuán)隊(duì)工作成果的規(guī)范,其所包含的內(nèi)容遠(yuǎn)遠(yuǎn)超越“程序”層面,“程序”只是“項(xiàng)目”的一小部分。軟件項(xiàng)目開發(fā)團(tuán)隊(duì)在項(xiàng)目過程中所積累的所有文檔、模式、原型和設(shè)計(jì)圖表等更能體現(xiàn)“項(xiàng)目”的核心,因此理應(yīng)是軟件工程專業(yè)畢業(yè)生應(yīng)該學(xué)習(xí)和掌握的核心技能。
軟件工程專業(yè)畢業(yè)生將就職于軟件企業(yè)作為軟件項(xiàng)目開發(fā)團(tuán)隊(duì)成員,如何能更快更好地融入軟件項(xiàng)目團(tuán)隊(duì)至關(guān)重要。正確理解項(xiàng)目每個(gè)階段的工作任務(wù)和項(xiàng)目分工的角色職責(zé)是關(guān)鍵,強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉實(shí)訓(xùn)模式可以很好地幫助學(xué)生實(shí)現(xiàn)這一目標(biāo)。
該模式以CMMI-3/ISO9001:2008[17]工作規(guī)范作為指南,如圖2所示,重點(diǎn)強(qiáng)化了對(duì)學(xué)生的工程規(guī)范意識(shí)的培養(yǎng)。其中,每個(gè)階段的角色分工和工作成果交付規(guī)范要求十分重要,它們?yōu)檐浖?xiàng)目開發(fā)提供過程管理基礎(chǔ),為后續(xù)人員開展工作提供必須支持。后續(xù)人員只需熟悉標(biāo)準(zhǔn)工件成果,就能開展項(xiàng)目的二次開發(fā)、系統(tǒng)維護(hù)和系統(tǒng)支持等工作,從而避免了項(xiàng)目依賴于個(gè)人能力,避免了項(xiàng)目團(tuán)隊(duì)成員因?yàn)樘酆推髽I(yè)內(nèi)部人事變動(dòng)所帶來(lái)的項(xiàng)目風(fēng)險(xiǎn)。
圖2 CMMI-3/ISO9001:2008工作規(guī)范
強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉軟件工程實(shí)訓(xùn)模式,對(duì)參加實(shí)訓(xùn)的學(xué)生是更具工程價(jià)值的軟件工程項(xiàng)目訓(xùn)練,學(xué)生完成的是真實(shí)商業(yè)項(xiàng)目,體驗(yàn)的是真實(shí)項(xiàng)目過程,扮演的是真實(shí)角色,需要按時(shí)交付負(fù)責(zé)任的工作成果。通過這樣的訓(xùn)練,學(xué)生對(duì)體現(xiàn)“項(xiàng)目”核心的文檔、模式、原型和設(shè)計(jì)圖表等有更真切的體會(huì),對(duì)工程規(guī)范有深刻的認(rèn)識(shí),學(xué)生會(huì)因此而初步具備軟件企業(yè)所要求的工程實(shí)踐能力。
華南農(nóng)業(yè)大學(xué)軟件學(xué)院是廣東省示范性軟件學(xué)院,招生一本學(xué)生;四川華迪信息技術(shù)有限公司是教育部授權(quán)的軟件工程專業(yè)大學(xué)生實(shí)習(xí)實(shí)訓(xùn)基地。從2007年開始,雙方開展實(shí)質(zhì)性合作,共同培養(yǎng)軟件工程專業(yè)學(xué)生。目前,經(jīng)過雙方合作,華南農(nóng)業(yè)大學(xué)軟件學(xué)院軟件工程專業(yè)是廣東省特色專業(yè)、廣東省專業(yè)綜合改革試點(diǎn)專業(yè)、廣東省人才培養(yǎng)模式創(chuàng)新實(shí)驗(yàn)區(qū)專業(yè),雙方合作建設(shè)的工程教育中心成為國(guó)家級(jí)大學(xué)生校外實(shí)踐教育基地和廣東省大學(xué)生實(shí)踐教學(xué)基地。
華南農(nóng)業(yè)大學(xué)軟件學(xué)院和四川華迪信息技術(shù)有限公司在多年密切合作的基礎(chǔ),經(jīng)過深入交流、探討和精心準(zhǔn)備,于2013年開展了強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉實(shí)訓(xùn)模式的實(shí)踐。
應(yīng)用該模式,2013年華南農(nóng)業(yè)大學(xué)軟件學(xué)院軟件工程專業(yè)的116名學(xué)生,按不同商業(yè)軟件項(xiàng)目組建成18個(gè)軟件項(xiàng)目開發(fā)團(tuán)隊(duì),在四川華迪信息技術(shù)有限公司參加為期3個(gè)月的實(shí)訓(xùn)。在實(shí)訓(xùn)中,公司使用企業(yè)真實(shí)項(xiàng)目,讓學(xué)生經(jīng)歷真實(shí)工程過程,學(xué)生在團(tuán)隊(duì)中擔(dān)任真實(shí)角色,每個(gè)階段實(shí)現(xiàn)工作成果交付和交叉,對(duì)項(xiàng)目過程和工作成果進(jìn)行評(píng)估、考核和驗(yàn)收,整個(gè)實(shí)訓(xùn)過程遵循CMMI-3/ISO9001:2008規(guī)范。
在實(shí)訓(xùn)過程中,我們保持對(duì)學(xué)生跟蹤調(diào)查,收集學(xué)生的心得體會(huì)、意見反饋和總結(jié)材料。學(xué)生對(duì)強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉實(shí)訓(xùn)模式高度認(rèn)可。實(shí)踐表明,實(shí)訓(xùn)取得了令人滿意的效果??偨Y(jié)該實(shí)訓(xùn)模式所獲得的成功,主要體現(xiàn)在以下幾個(gè)方面:
(1) 強(qiáng)化了學(xué)生對(duì)軟件開發(fā)標(biāo)準(zhǔn)化以及規(guī)范性、軟件工程的工程化過程及過程完整性應(yīng)用的理解。
(2) 學(xué)生懂得了項(xiàng)目團(tuán)隊(duì)成員之間的溝通和協(xié)調(diào)工作機(jī)制,學(xué)習(xí)和實(shí)現(xiàn)了項(xiàng)目團(tuán)隊(duì)成員之間和項(xiàng)目團(tuán)隊(duì)之間的有效溝通。
(3) 流程上對(duì)項(xiàng)目團(tuán)隊(duì)之間的規(guī)范約束,確保了軟件質(zhì)量。項(xiàng)目團(tuán)隊(duì)在完成每個(gè)階段成果后,相互之間對(duì)移交的成果開展同行評(píng)審并相互考核,迫使每個(gè)項(xiàng)目團(tuán)隊(duì)自覺按照規(guī)范要求工作。
(4) 通過階段交叉直觀暴露了每個(gè)項(xiàng)目團(tuán)隊(duì)在各階段的學(xué)習(xí)“盲區(qū)”,學(xué)生更深刻地體會(huì)到文檔和工件在軟件工程中的重要性,培養(yǎng)了學(xué)生項(xiàng)目管理經(jīng)驗(yàn)。
(5) 所有學(xué)生一致認(rèn)為做好需求開發(fā)和需求管理是項(xiàng)目成功最重要要素之一。因?yàn)轫?xiàng)目需求貫穿整個(gè)項(xiàng)目開發(fā)周期,整個(gè)項(xiàng)目要做什么,不做什么,做到什么程度,在需求階段必須進(jìn)行范圍界定,同時(shí)在后期的項(xiàng)目開發(fā)過程中對(duì)變化的需求應(yīng)進(jìn)行嚴(yán)格管理,做到項(xiàng)目需求在需求→設(shè)計(jì)→實(shí)現(xiàn)→測(cè)試→部署各階段之間正反追溯。
當(dāng)然,強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉實(shí)訓(xùn)模式無(wú)論對(duì)學(xué)生還是軟件企業(yè)也帶來(lái)了新的挑戰(zhàn)。
(1) 參加實(shí)訓(xùn)的學(xué)生幾乎都是沒有任何軟件工程項(xiàng)目經(jīng)驗(yàn)的,加上對(duì)于軟件開發(fā)過程的理解不足,工作交叉在各個(gè)項(xiàng)目團(tuán)隊(duì)中第一個(gè)階段推動(dòng)較為困難,需要企業(yè)工程師不斷進(jìn)行跟蹤管理和強(qiáng)化指導(dǎo),必要時(shí)進(jìn)行干預(yù)來(lái)推動(dòng)項(xiàng)目。
(2) 在商業(yè)軟件企業(yè)中這種模式是基于項(xiàng)目團(tuán)隊(duì)組成員之間和項(xiàng)目團(tuán)隊(duì)之間技能水平符合崗位要求的情況下開展的工作模式;但參加實(shí)訓(xùn)的學(xué)生并不具備這樣的條件,如何讓學(xué)生盡快理解和融入這種實(shí)訓(xùn)模式,對(duì)企業(yè)組織管理者提出了更高的要求。
(3) 為保證該模式的實(shí)訓(xùn)工作有效實(shí)施,實(shí)訓(xùn)前校企雙方必須根據(jù)學(xué)生的知識(shí)結(jié)構(gòu)詳細(xì)訂制切實(shí)可行的實(shí)訓(xùn)目標(biāo)、實(shí)訓(xùn)內(nèi)容、實(shí)施方案、保障措施、工程師配備等。
(4) 企業(yè)工程師在整個(gè)項(xiàng)目推動(dòng)過程中,要嚴(yán)格按照工程規(guī)范進(jìn)行,并引導(dǎo)學(xué)生盡快進(jìn)入角色,讓學(xué)生進(jìn)入自主的、積極主動(dòng)的工作方式,在整個(gè)實(shí)踐過程中真切體會(huì)到以后正式崗位的職責(zé),從而在心理上建立一種自信而努力的態(tài)度。即在“授人以魚”的同時(shí),實(shí)現(xiàn)“授人以漁”。
強(qiáng)調(diào)工程規(guī)范的分階段成果交付交叉軟件工程實(shí)訓(xùn)模式,以真實(shí)商業(yè)軟件項(xiàng)目組建軟件項(xiàng)目開發(fā)團(tuán)隊(duì),整個(gè)實(shí)訓(xùn)工作過程符合大型軟件企業(yè)項(xiàng)目開發(fā)的CMMI規(guī)范,實(shí)現(xiàn)分階段成果交付和工作交叉,對(duì)項(xiàng)目過程進(jìn)行有效管理。該模式必須有優(yōu)秀的規(guī)范的軟件企業(yè)的深度參與,軟件企業(yè)發(fā)揮其技術(shù)和管理優(yōu)勢(shì),實(shí)現(xiàn)對(duì)學(xué)生進(jìn)行工程規(guī)范訓(xùn)練,讓學(xué)生初步具備現(xiàn)代軟件企業(yè)所要求的工程實(shí)踐能力。
利用該模式進(jìn)行軟件工程項(xiàng)目實(shí)訓(xùn),參加實(shí)訓(xùn)的學(xué)生能清楚地理解軟件項(xiàng)目開發(fā)每個(gè)階段的工作成果、交付標(biāo)準(zhǔn),工作任務(wù)的分工、職責(zé)和團(tuán)隊(duì)合作關(guān)系,清楚理解每個(gè)階段訓(xùn)練目標(biāo)和具體內(nèi)容,真實(shí)感受到商業(yè)軟件項(xiàng)目的開發(fā)要求和工作規(guī)范。
華南農(nóng)業(yè)大學(xué)軟件學(xué)院在四川華迪信息技術(shù)有限公司的實(shí)踐證明,該軟件工程實(shí)訓(xùn)模式是成功的。
[1] 國(guó)家信息技術(shù)服務(wù)標(biāo)準(zhǔn)工作組. 中國(guó)信息技術(shù)服務(wù)標(biāo)準(zhǔn)(ITSS)白皮書第二版[EB/OL]. 工業(yè)和信息化部軟件服務(wù)公司, 2014. http://www.itss.cn/
[2] 國(guó)家信息技術(shù)服務(wù)標(biāo)準(zhǔn)工作組. 中國(guó)信息技術(shù)服務(wù)標(biāo)準(zhǔn)(ITSS)白皮書第一版[EB/OL]. 工業(yè)和信息化部軟件服務(wù)公司, 2010. http://www.itss.cn/
[3] 新華社授權(quán)發(fā)布. 國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要(2010-2020年)[EB/OL].新華社北京7月29日電. http://news.xinhuanet.com /edu/2010-07/29/c_12389320.htm
[4] 林丕源, 劉才興,張明武,徐建民. 軟件工程專業(yè)的實(shí)踐教學(xué)改革初探[J]. 實(shí)驗(yàn)室研究與探索, 2007, 26(12): 238-240, 247.
LIN Pi-yuan, LIU Cai-xing, ZHANG Ming-wu, XU Jian-min. Employment obtaining oriented reform of software engineering major practice teaching[J]. Research and Exploration in Laboratory, 2007, 26(12): 238-240, 247.
[5] 林惠強(qiáng),劉才興,林丕源. 軟件工程課程啟發(fā)式教學(xué)的研究與實(shí)踐[J]. 實(shí)驗(yàn)室研究與探索, 2008, 27(5): 112-114, 133.
LIN Hui-qiang, LIU Cai-xing, LIN Pi-yuan. Research and practice of the elicitation teaching method of software engineering course[J]. Research and Exploration in Laboratory, 2008, 27(5): 112-114, 133.
[6] 林丕源, 劉才興.本科軟件人才培養(yǎng)探索與實(shí)踐[J].計(jì)算機(jī)教育, 2009(16): 77-79.
LIN Pi-yuan, LIU Cai-xing. Exploration and practice of software talent cultivation for bachelor students[J]. Computer Education, 2009(16): 77-79.
[7] 林丕源,劉財(cái)興,黃大乾.以問題求解能力為核心的IT人才培養(yǎng)途徑探析[J]. 黑龍江高教研究, 2012, 30(8): 126-129.
LIN Pi-yuan, LIU Cai-xing. Exploration and analysis of IT talent cultivation approaches centered on problem-solving ability[J]. Heilongjiang Researches on Higher Education, 2012, 30(8): 126-129.
[8] 教育部網(wǎng)站. 教育部23日啟動(dòng)實(shí)施“卓越工程師教育培養(yǎng)計(jì)劃”[EB/OL]. 中央政府門戶網(wǎng)站,2010年06月23日. http://www.gov.cn/gzdt/2010-06/23/content_1635114.htm
[9] (美)Roger S Pressman. 軟件工程:實(shí)踐者的研究方法[M]. 鄭人杰、馬素霞等譯. 7版. 北京:機(jī)械工業(yè)出版社,2011.
[10] 中國(guó)質(zhì)檢出版社第四編輯室. 計(jì)算機(jī)軟件工程國(guó)家標(biāo)準(zhǔn)匯編-軟件開發(fā)與維護(hù)卷[M]. 2版. 北京:中國(guó)標(biāo)準(zhǔn)出版社,2011.
[11] Capers Jones. Applied Software Measurement: Global Analysis of Productivity and Quality[M]. 3rd Edition. McGraw-Hill Osborne Media, 2008.
[12] J. Glenn Brookshear. Computer Science An Overview [M]. 11th Edition. Addison-Wesley 2012, Massachusetts, p299.
[13] CMMI Product Team. CMMI for Development [EB/OL]. Software Engineering Institute, Carnegie Mellon University, 2010. http://cmmiinstitute.com/cmmi-solutions/cmmi-for-development/
[14] The SFIA Foundation. The Skills Framework for Information Age [EB/OL]. http://www.sfia-online.org/
[15] 盧 葦, 邢薇薇. 產(chǎn)學(xué)研結(jié)合做中學(xué)育人[J]. 高等工程教育研究, 2011(5): 32-39, 71.
Lu Wei, Xing weiwei. Cooperation among Industries-Universities -Research institutes and education through practices[J]. Research in Higher Education of Engineering, 2011(5): 32-39, 71.
[16] IBM Rational Team. RUP: Best practices for design, implementation and effective project management [EB/OL]. http://www-01.ibm.com /software/rational/rup/
[17] ISO 9000-Quality management [EB/OL]. http://www.iso.org/iso/home/standards/management-standards/iso_9000.htm
加快解決經(jīng)濟(jì)社會(huì)發(fā)展對(duì)高質(zhì)量多樣化人才需要與教育培養(yǎng)能力不足的矛盾、人民群眾期盼良好教育與資源相對(duì)短缺的矛盾、增強(qiáng)教育活力與體制機(jī)制約束的矛盾,為教育事業(yè)持續(xù)健康發(fā)展提供強(qiáng)大動(dòng)力。
——摘自《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要》