摘要:本文針對(duì)軟件工程專業(yè)實(shí)踐教學(xué)的問題,結(jié)合CDIO教學(xué)理念提出了軟件工程專業(yè)實(shí)踐能力訓(xùn)練體系。即建立軟件實(shí)踐教學(xué)的管理平臺(tái),設(shè)置相應(yīng)的成績(jī)考核體系,建立創(chuàng)新型教學(xué)團(tuán)隊(duì),為軟件工程人才培養(yǎng)提供經(jīng)驗(yàn)。
關(guān)鍵詞:實(shí)踐教學(xué);CDIO;項(xiàng)目管理平臺(tái):創(chuàng)新性教學(xué)團(tuán)隊(duì)
國家示范性軟件學(xué)院的培養(yǎng)目標(biāo)是培養(yǎng)“多層次、實(shí)用性、復(fù)合型和國際化”的軟件工程人才。如何培養(yǎng)軟件技術(shù)人才所必需的實(shí)踐能力、工程能力和創(chuàng)新能力,一直是軟件人才培養(yǎng)所面臨的課題。目前,大多數(shù)軟件學(xué)院都設(shè)置了實(shí)踐教學(xué)課程體系,并開設(shè)了工程實(shí)踐環(huán)節(jié),但普遍缺乏對(duì)實(shí)踐教學(xué)環(huán)節(jié)的過程管理,效果并不盡如人意,具體表現(xiàn)如下:
(1)實(shí)踐教學(xué)體系設(shè)置不夠完善,缺乏對(duì)實(shí)踐教學(xué)的過程管理,沒有建立配套的成績(jī)考核體系。
(2)不重視工程化思想的培養(yǎng),沒有很好利用先進(jìn)的實(shí)踐管理平臺(tái)跟蹤管理學(xué)生實(shí)踐項(xiàng)目。
(3)缺乏具備行業(yè)工程領(lǐng)域背景和國際化背景的高水平創(chuàng)新實(shí)踐教學(xué)團(tuán)隊(duì)。
因此,如何完善實(shí)踐教學(xué)體系。建設(shè)實(shí)踐管理平臺(tái),培養(yǎng)創(chuàng)新性的教學(xué)團(tuán)隊(duì),把突出理論教學(xué)向“實(shí)踐引領(lǐng)理論”教學(xué)過渡,是我們亟需解決的問題。
1 實(shí)踐能力訓(xùn)練體系的構(gòu)建
在設(shè)計(jì)軟件工程專業(yè)實(shí)踐課程體系過程中,我們依據(jù)國際先進(jìn)的CDIO工程教育模式,把實(shí)踐教學(xué)按照課程實(shí)驗(yàn)、項(xiàng)目實(shí)踐、工程實(shí)訓(xùn)幾個(gè)階段設(shè)計(jì),進(jìn)行了全面改革。
CDIO工程教育理念是融構(gòu)思(conceive)、設(shè)計(jì)(Design)、實(shí)施(Implement)和運(yùn)行(Operate)能力于一體培養(yǎng)人才的模式。構(gòu)思、設(shè)計(jì)、實(shí)施和運(yùn)行涵蓋了現(xiàn)代工業(yè)產(chǎn)品從構(gòu)思研發(fā)到運(yùn)行改良乃至終結(jié)廢棄的生命全過程,以此全過程為載體,培養(yǎng)的不僅是學(xué)生的理論知識(shí)和專業(yè)技能,而且包括終身學(xué)習(xí)能力、團(tuán)隊(duì)交流能力和大系統(tǒng)掌控能力[3-4]。
我們把CDIO工程教育理念引入到軟件工程專業(yè)時(shí),通過實(shí)驗(yàn)、實(shí)踐、實(shí)訓(xùn)一體化的工程能力訓(xùn)練體系,完成CDIO能力的培養(yǎng)。如圖1所示,我們?cè)O(shè)定了明確的階段培養(yǎng)目標(biāo):即熟練的程序員(程序上熟悉軟件工程原理和方法的軟件設(shè)計(jì)者(軟件)——應(yīng)用解決方案的優(yōu)秀團(tuán)隊(duì)成員(系統(tǒng)),并將這一思想貫穿到人才培養(yǎng)計(jì)劃的各個(gè)環(huán)節(jié)。
根據(jù)這一思想,我們?cè)O(shè)置了相應(yīng)的實(shí)踐課程體系。如圖2所示,把實(shí)踐性教學(xué)分為課程實(shí)驗(yàn)、項(xiàng)目實(shí)踐和工程實(shí)訓(xùn)。其中課程實(shí)驗(yàn)包括設(shè)計(jì)性實(shí)驗(yàn)和驗(yàn)證性實(shí)驗(yàn);項(xiàng)目實(shí)踐一為了提高學(xué)生的軟件開發(fā)能力,讓學(xué)生能夠熟練掌握至少一種編程語言,增強(qiáng)信心,因而項(xiàng)目不大,適合學(xué)生個(gè)體獨(dú)立完成,時(shí)間安排在大學(xué)二年級(jí)。通過項(xiàng)目實(shí)踐一的培養(yǎng),學(xué)生的學(xué)習(xí)熱情大大提高,學(xué)習(xí)目標(biāo)更明確。


工程實(shí)訓(xùn)一為了讓學(xué)生熟悉軟件工程研發(fā)的全過程,周期為3周左右。學(xué)院可以聘請(qǐng)軟件開發(fā)公司的項(xiàng)目經(jīng)理指導(dǎo)實(shí)訓(xùn),用軟件工程的理論指導(dǎo)軟件開發(fā),最終使學(xué)生完成需求分析、建模、設(shè)計(jì)、代碼編寫、測(cè)試、部署全過程。
在工程實(shí)訓(xùn)一的基礎(chǔ)上,需要進(jìn)一步提升自我管理、協(xié)調(diào)及團(tuán)隊(duì)合作精神,因此項(xiàng)目實(shí)踐二以小組成員分工協(xié)作方式共同開發(fā)一個(gè)完整的項(xiàng)目,進(jìn)行分析、設(shè)計(jì)和編碼文檔,學(xué)生的學(xué)習(xí)活動(dòng)在項(xiàng)目開發(fā)的過程及軟件工程方法的驅(qū)動(dòng)下完成。
最后,學(xué)生通過工程實(shí)訓(xùn)二,即企業(yè)實(shí)踐參與實(shí)際的軟件開發(fā)工作,全面提升軟件開發(fā)素質(zhì),完成由學(xué)生到軟件開發(fā)工程師的角色轉(zhuǎn)換。在工程實(shí)訓(xùn)二中,可以安排學(xué)生進(jìn)入企業(yè)實(shí)習(xí)基地實(shí)習(xí),模擬企業(yè)真實(shí)開發(fā)環(huán)境,嚴(yán)格按照企業(yè)管理模式管理、考核,讓學(xué)生體會(huì)實(shí)際項(xiàng)目開發(fā)的工作氛圍和職業(yè)要求,提高團(tuán)隊(duì)協(xié)作意識(shí)和溝通技能,養(yǎng)成良好的工程習(xí)慣,全面提升就業(yè)競(jìng)爭(zhēng)力。
2 項(xiàng)目實(shí)踐管理平臺(tái)的搭建
沒有高質(zhì)量的開發(fā)過程,就沒有高質(zhì)量的軟件。軟件工程過程化的管理是保證實(shí)踐教學(xué)的重要環(huán)節(jié)。我們建設(shè)了完善的項(xiàng)目實(shí)踐管理平臺(tái),對(duì)學(xué)生實(shí)踐過程開展科學(xué)、規(guī)范化的過程管理,組成如圖3所示。包括知識(shí)管理(wiki)、源代碼管理、錯(cuò)誤跟蹤管理、源代碼統(tǒng)計(jì)、軟件測(cè)試管理、項(xiàng)目進(jìn)度管理。這幾個(gè)管理平臺(tái)并非獨(dú)立管理軟件,而是通過統(tǒng)一認(rèn)證平臺(tái)集成各管理子系統(tǒng),實(shí)現(xiàn)單點(diǎn)登錄及統(tǒng)一用戶權(quán)限管理。
(1)知識(shí)管理。主要為學(xué)生提供學(xué)習(xí)交流的平臺(tái),學(xué)生可以在該平臺(tái)上設(shè)計(jì)項(xiàng)目計(jì)劃、工作方案,撰寫工作日志,提高團(tuán)隊(duì)合作交流能力及獨(dú)立解決問題的能力。
(2)源代碼管理。用來管理程序源代碼和文檔,為項(xiàng)目開發(fā)團(tuán)隊(duì)提供一個(gè)管理軟件整個(gè)生命周期的平臺(tái),有效實(shí)現(xiàn)了團(tuán)隊(duì)的協(xié)作和服務(wù)。
(3)源代碼統(tǒng)計(jì)。為教師提供監(jiān)管學(xué)生提交的程序代碼的平臺(tái),教師可以隨時(shí)檢查學(xué)生提交的代碼,統(tǒng)計(jì)完成代碼量情況等,實(shí)施過程控制。
(4)錯(cuò)誤跟蹤管理及軟件測(cè)試管理。幫助學(xué)生管理軟件測(cè)試過程中發(fā)現(xiàn)的錯(cuò)誤,可以與源代碼管理平臺(tái)間進(jìn)行有效的整合。測(cè)試人員可以將測(cè)試過程中發(fā)現(xiàn)的錯(cuò)誤及時(shí)反饋給開發(fā)人員,隨時(shí)監(jiān)督程序的修改狀況,提高管理效率,保證項(xiàng)目的順利實(shí)施。
(5)項(xiàng)目進(jìn)度管理。幫助學(xué)生有效管控項(xiàng)目進(jìn)度,減少項(xiàng)目溝通、協(xié)調(diào)、進(jìn)度反饋會(huì)議,及時(shí)發(fā)現(xiàn)和管理項(xiàng)目問題。
實(shí)踐教學(xué)管理平臺(tái)支持環(huán)境覆蓋了企業(yè)中軟件開發(fā)平臺(tái)的主要功能,有效實(shí)施了實(shí)踐教學(xué)過程和質(zhì)量保障過程的統(tǒng)一管理,也為學(xué)生實(shí)踐軟件工程理論和方法提供了有力的底層支撐。在項(xiàng)目實(shí)踐教學(xué)中,我們采用符合軟件產(chǎn)業(yè)界標(biāo)準(zhǔn)的軟件過程規(guī)范,制定了開發(fā)流程、文檔模板和評(píng)審標(biāo)準(zhǔn),讓學(xué)生能夠切身經(jīng)歷項(xiàng)目開發(fā)的完整過程,深刻理解軟件工程系列課程的理論和方法,提高實(shí)戰(zhàn)技能和團(tuán)隊(duì)協(xié)作能力。
3 考核體系的建立
成績(jī)考核是實(shí)踐教學(xué)的重要環(huán)節(jié),抓好這一環(huán)節(jié),能對(duì)學(xué)生掌握的知識(shí)進(jìn)行正確合理的評(píng)估,提高教學(xué)質(zhì)量。實(shí)踐教學(xué)的考核方式不同于傳統(tǒng)的考核方法,它更側(cè)重于對(duì)學(xué)生的實(shí)踐動(dòng)手能力、綜合運(yùn)用能力、文檔寫作能力、團(tuán)隊(duì)協(xié)作及創(chuàng)新能力的考核L7 J。
項(xiàng)目實(shí)踐、工程實(shí)訓(xùn)l成績(jī)可以從下面幾個(gè)方面進(jìn)行重點(diǎn)考核:
(1)業(yè)務(wù)能力(滿分60分)。
·完成項(xiàng)目進(jìn)度能力。
·項(xiàng)目完成質(zhì)量。
·文檔的規(guī)范性。
·英文閱讀能力。
(2)綜合素質(zhì)(滿分40分)。
·工作積極主動(dòng)性。
·學(xué)生的自我成長(zhǎng)能力。
·制度、紀(jì)律的遵守。
·團(tuán)隊(duì)協(xié)作能力。
上面的每一項(xiàng)考核均可以劃分為優(yōu)、良、中、差四個(gè)等級(jí),并采用不同的分?jǐn)?shù)權(quán)重,最終得到一個(gè)總的實(shí)踐分?jǐn)?shù)。這種考核結(jié)果能夠比較全面地反映學(xué)生的實(shí)踐學(xué)習(xí)情況,促進(jìn)學(xué)生的全面發(fā)展。
4 創(chuàng)新實(shí)踐教學(xué)團(tuán)隊(duì)的建立
提高實(shí)踐教學(xué)質(zhì)量,需要建立一支具有行業(yè)背景、國際化的創(chuàng)新實(shí)踐教學(xué)團(tuán)隊(duì)。防止實(shí)踐類課程蛻變?yōu)槔碚摻虒W(xué),教師必須有新的教學(xué)理念、講授模式和課程管理機(jī)制。同時(shí),軟件工程系列課程的特點(diǎn)要求教師要成為一名具有豐富開發(fā)經(jīng)驗(yàn)的項(xiàng)目管理人員。在實(shí)踐教學(xué)中,教師不再是課堂講授者,而更像一位工程項(xiàng)目經(jīng)理,負(fù)責(zé)提出項(xiàng)目的要求、檢查項(xiàng)目(學(xué)生)的開發(fā)進(jìn)度、監(jiān)督開發(fā)過程、評(píng)定軟件質(zhì)量。在課堂集中教學(xué)中,教師又像一位主持人,召開的是項(xiàng)目進(jìn)度匯報(bào)會(huì)、技術(shù)交流會(huì)、軟件演示會(huì)等。
創(chuàng)新型實(shí)踐教學(xué)團(tuán)隊(duì)的建立需要一批高素質(zhì)的教師,教師要掌握最新的軟件技術(shù),使用主流的軟件開發(fā)平臺(tái),對(duì)教師能力有較高要求。所以,要重視對(duì)教師的培養(yǎng)工作,鼓勵(lì)和資助年輕教師攻讀學(xué)位和進(jìn)修,通過團(tuán)隊(duì)合作、以老帶青的形式,提升青年教師的研究能力和教學(xué)水平。為保證教師團(tuán)隊(duì)的整體質(zhì)量,我們通過各種方式提高教師團(tuán)隊(duì)的工程領(lǐng)域背景和國際化背景,主要包括:
(1)研究中心負(fù)責(zé)前沿技術(shù)研究并開發(fā)原型系統(tǒng),企業(yè)負(fù)責(zé)將其產(chǎn)品化并進(jìn)行市場(chǎng)推廣。
(2)派研究生和高年級(jí)本科生到軟件企業(yè)從事研究和軟件項(xiàng)目開發(fā)。
(3)組織教師參加企業(yè)新技術(shù)培訓(xùn)。
(4)定期組織教師與企業(yè)研發(fā)人員開展軟件新技術(shù)和項(xiàng)目管理經(jīng)驗(yàn)交流。
(5)定期派教師到國外進(jìn)修或參加國際交流會(huì)議。
通過以上機(jī)制,參與項(xiàng)目開發(fā)的教師不斷總結(jié)項(xiàng)目開發(fā)中的各種問題,撰寫總結(jié)報(bào)告,積累項(xiàng)目開發(fā)經(jīng)驗(yàn),并將其運(yùn)用于課堂教學(xué)之中,豐富教學(xué)內(nèi)容。同時(shí),結(jié)合行業(yè)工程背景和國際化背景,凝練軟件工程開發(fā)項(xiàng)目,提取軟件開發(fā)案例,建立軟件工程項(xiàng)目案例教學(xué)資源,實(shí)現(xiàn)案例教學(xué),最終實(shí)現(xiàn)教師與開發(fā)人員之間的“零距離”。同時(shí),在軟件工程系列課程中,教師采用項(xiàng)目開發(fā)中積累的案例傳授開發(fā)經(jīng)驗(yàn),讓學(xué)生真正理解軟件工程系列課程的理論知識(shí)和方法,掌握軟件工程的最新技術(shù),建立軟件開發(fā)的系統(tǒng)化與工程化觀念和質(zhì)量意識(shí),實(shí)現(xiàn)“科研帶動(dòng)教學(xué),教學(xué)促進(jìn)科研”,二者相得益彰。
5 結(jié)論
實(shí)踐教學(xué)是培養(yǎng)復(fù)合型軟件工程人才的重要環(huán)節(jié)。我們依據(jù)國際先進(jìn)的CDIO工程教育理念,注重培養(yǎng)學(xué)生的工程創(chuàng)新思維和創(chuàng)新能力,針對(duì)實(shí)踐教學(xué)設(shè)計(jì)并逐步建立了具有可操作性、行之有效的實(shí)踐課程體系,收到了良好的教學(xué)效果。同時(shí),我們還建立了對(duì)學(xué)生實(shí)踐教學(xué)進(jìn)行有效監(jiān)督的項(xiàng)目實(shí)踐管理平臺(tái),實(shí)現(xiàn)了對(duì)實(shí)踐教學(xué)環(huán)節(jié)的過程控制:新的成績(jī)考核體系能全面反映學(xué)生的綜合素質(zhì),促進(jìn)學(xué)生的發(fā)展;具有行業(yè)背景、國際化的創(chuàng)新實(shí)踐教學(xué)團(tuán)隊(duì)的建立機(jī)制也保障了實(shí)踐教學(xué)的有效實(shí)