一、軟件工程實(shí)踐框架構(gòu)建
校企結(jié)合的軟件工程實(shí)踐框架包括教學(xué)大綱、案例庫(kù)、教師團(tuán)隊(duì)、考核標(biāo)準(zhǔn)、交流平臺(tái)和實(shí)施反饋6個(gè)部分。
1、教學(xué)大綱
軟件工程實(shí)踐作為軟件工程專(zhuān)業(yè)本科階段最后一門(mén)2學(xué)分的必修課程,是學(xué)生進(jìn)入企業(yè)實(shí)習(xí)前的軟件工程綜合訓(xùn)練,安排在大三暑假集中2周完成,之后學(xué)生進(jìn)入企業(yè)進(jìn)行為期1年的企業(yè)實(shí)習(xí)。教學(xué)目標(biāo)是培養(yǎng)學(xué)生的文檔撰寫(xiě)能力和團(tuán)隊(duì)合作精神,對(duì)學(xué)生進(jìn)行規(guī)范化軟件開(kāi)發(fā)和管理的訓(xùn)練。教學(xué)內(nèi)容應(yīng)盡量覆蓋目前軟件應(yīng)用熱點(diǎn),教學(xué)實(shí)施采用開(kāi)放性原則,即任課教師可以根據(jù)當(dāng)年的軟件應(yīng)用熱點(diǎn)和企業(yè)師資狀況,選定該年的教學(xué)實(shí)踐內(nèi)容。
2、案例庫(kù)
案例庫(kù)是整個(gè)實(shí)踐教學(xué)的基礎(chǔ),以往的實(shí)踐課程多采用教師提供的虛擬案例,很難體現(xiàn)實(shí)際工程中面臨的一系列問(wèn)題;而有效的案例必須來(lái)自實(shí)際項(xiàng)目需求,這些案例可以源于企業(yè)實(shí)際項(xiàng)目,也可以源于教師的應(yīng)用研究課題,真正做到將實(shí)踐課程融入實(shí)際工作環(huán)境。實(shí)踐案例的內(nèi)容主要分為3類(lèi):軟件應(yīng)用類(lèi)(如手機(jī)移動(dòng)軟件開(kāi)發(fā))、面向領(lǐng)域軟件開(kāi)發(fā)類(lèi)(如面向金融領(lǐng)域的軟件開(kāi)發(fā))以及軟件方法應(yīng)用類(lèi)(如敏捷軟件開(kāi)發(fā)方法)。在滿(mǎn)足課程教學(xué)目標(biāo)的前提下,實(shí)踐案例的篩選要能充分體現(xiàn)軟件企業(yè)開(kāi)發(fā)中面臨的典型問(wèn)題,如需求不穩(wěn)定等。實(shí)踐案例覆蓋的應(yīng)用領(lǐng)域要寬且涉及的領(lǐng)域知識(shí)能讓學(xué)生在短期內(nèi)理解。每個(gè)案例所涉及的技術(shù)難度和案例規(guī)模要適中,能方便學(xué)生在兩周內(nèi)完成并讓參與實(shí)踐的學(xué)生有成就感。此外,還要考慮實(shí)踐案例實(shí)施時(shí)間和場(chǎng)地的影響等因素,在案例建設(shè)中對(duì)實(shí)際案例進(jìn)行剪裁,以滿(mǎn)足上述要求。由于不同軟件項(xiàng)目采用的模型或方法不同,其實(shí)際開(kāi)發(fā)過(guò)程可能差異很大。軟件過(guò)程模型既決定軟件項(xiàng)目管理需要監(jiān)控的里程碑點(diǎn),又影響過(guò)程執(zhí)行中需要使用的相關(guān)模板,因此案例庫(kù)建設(shè)很重要的一部分內(nèi)容是針對(duì)不同的實(shí)踐案例,根據(jù)采用的過(guò)程模型,確定項(xiàng)目執(zhí)行中的監(jiān)控點(diǎn)和成果的展現(xiàn)形式,開(kāi)發(fā)相關(guān)標(biāo)準(zhǔn)和模板。案例庫(kù)的建設(shè)是一個(gè)不斷豐富的過(guò)程。為激發(fā)學(xué)生主動(dòng)參與實(shí)踐過(guò)程的積極性,要保證每年的實(shí)踐案例不重復(fù)。
3、教師團(tuán)隊(duì)
軟件工程實(shí)踐應(yīng)該以學(xué)生實(shí)踐為主、教師講評(píng)和答疑為輔的方式實(shí)施教學(xué)。在實(shí)踐過(guò)程中,學(xué)生如果沒(méi)有積極主動(dòng)參與,那么將無(wú)法達(dá)到目的;教師的指導(dǎo)作用不容忽視,學(xué)生軟件開(kāi)發(fā)、過(guò)程理解與項(xiàng)目管理等方面的經(jīng)驗(yàn)不足,需要教師及時(shí)引導(dǎo)。指導(dǎo)教師要適時(shí)開(kāi)展講座、及時(shí)評(píng)審文檔并解答學(xué)生在實(shí)踐中遇到的各種問(wèn)題,還有更重要的一點(diǎn)是教師要作為客戶(hù)回答學(xué)生提出的各種有利于澄清需求的問(wèn)題。實(shí)踐的成功實(shí)施必須依賴(lài)于好的實(shí)踐教學(xué)團(tuán)隊(duì)。軟件學(xué)院教師實(shí)踐經(jīng)驗(yàn)的局限很難讓學(xué)生體會(huì)實(shí)際的軟件開(kāi)發(fā)過(guò)程,企業(yè)教師雖然可以彌補(bǔ)這一缺陷,但因企業(yè)教師的不穩(wěn)定性致使所積淀的實(shí)踐成果很難延續(xù)。為了使學(xué)院教師也能在實(shí)踐教學(xué)中不斷成長(zhǎng),我們組建了以學(xué)院教師為主、企業(yè)教師為輔的校企結(jié)合的實(shí)踐教學(xué)團(tuán)隊(duì)。學(xué)院教師負(fù)責(zé)教學(xué)大綱的修訂、課程的組織安排、案例庫(kù)的建設(shè)、規(guī)范化的指導(dǎo)和充當(dāng)現(xiàn)場(chǎng)客戶(hù)等工作,而企業(yè)教師則負(fù)責(zé)提供企業(yè)案例、在校內(nèi)建立模擬企業(yè)環(huán)境以及進(jìn)行實(shí)踐現(xiàn)場(chǎng)指導(dǎo)等工作。在企業(yè)教師的聘請(qǐng)上,我們以軟件學(xué)院現(xiàn)有的企業(yè)實(shí)習(xí)基地單位為突破口,同時(shí)借助軟件行業(yè)協(xié)會(huì)等支持,積極與企業(yè)聯(lián)系,探討企業(yè)參與實(shí)踐教學(xué)的可能方式。為不斷促進(jìn)實(shí)踐教學(xué)的開(kāi)展,軟件工程實(shí)踐教學(xué)團(tuán)隊(duì)每年定期與合作企業(yè)商討當(dāng)年實(shí)踐教學(xué)案例的選擇和實(shí)施方式,同時(shí)共同完成當(dāng)年實(shí)踐教學(xué)工作。在校企結(jié)合的教師團(tuán)隊(duì)中,學(xué)院教師相對(duì)穩(wěn)定,企業(yè)教師則根據(jù)每年選定的實(shí)踐案例需要進(jìn)行動(dòng)態(tài)調(diào)整,聘請(qǐng)最熟悉該實(shí)踐案例的高水平企業(yè)工程師參與實(shí)踐教學(xué),以保證實(shí)踐教學(xué)效果。
4、考核標(biāo)準(zhǔn)
考核標(biāo)準(zhǔn)是實(shí)踐參與者的指揮棒,它充分體現(xiàn)了實(shí)踐的最終意圖,既要減少“打醬油”現(xiàn)象,又要扭轉(zhuǎn)“大作業(yè)式”軟件開(kāi)發(fā)局面。團(tuán)隊(duì)開(kāi)發(fā)要充分調(diào)動(dòng)每個(gè)人的積極性,這樣才能在有限的時(shí)間內(nèi)向用戶(hù)交付更多的功能。此外,通過(guò)考核內(nèi)容引導(dǎo)學(xué)生關(guān)注用戶(hù)的需要,這也是實(shí)際軟件項(xiàng)目關(guān)注的重點(diǎn)。在實(shí)踐中向?qū)W生滲透“向用戶(hù)交付價(jià)值”的思想,即軟件開(kāi)發(fā)者向用戶(hù)交付的不僅僅是軟件功能,更重要的是要向用戶(hù)交付可以為其創(chuàng)造價(jià)值或節(jié)約資源的軟件功能。向用戶(hù)交付不想要或不感興趣的功能是一種資源浪費(fèi),因?yàn)槊恳粋€(gè)軟件功能的開(kāi)發(fā)都需要投入時(shí)間、人力等成本。與學(xué)生大作業(yè)中的虛擬題目不同,軟件開(kāi)發(fā)者追求的目標(biāo)是以最小代價(jià)向用戶(hù)交付滿(mǎn)意軟件。基于上述思想,軟件工程實(shí)踐課程的考核可以在基本考核標(biāo)準(zhǔn)基礎(chǔ)上進(jìn)行適當(dāng)微調(diào),形成個(gè)人成績(jī)。基本考核標(biāo)準(zhǔn)是以團(tuán)隊(duì)為單位從過(guò)程實(shí)施和最后成果演示兩個(gè)方面進(jìn)行課程考核。過(guò)程實(shí)施部分主要考核各團(tuán)隊(duì)是否按時(shí)提交階段性成果以及階段性成果的撰寫(xiě)質(zhì)量;最后成果演示部分主要考核各團(tuán)隊(duì)最后的交付軟件或原型系統(tǒng)及其相關(guān)文檔的最終稿。最終將過(guò)程實(shí)施和最后成果演示兩部分成績(jī)按一定比例形成團(tuán)隊(duì)成績(jī)。學(xué)生個(gè)人成績(jī)也受所采用的過(guò)程模型的影響,如敏捷過(guò)程模型強(qiáng)調(diào)團(tuán)隊(duì)的成績(jī)就是個(gè)人的成績(jī),而瀑布模型比較適合分層管理思想,學(xué)生個(gè)人成績(jī)可以在團(tuán)隊(duì)成績(jī)基礎(chǔ)上,根據(jù)個(gè)人對(duì)團(tuán)隊(duì)所做貢獻(xiàn)的業(yè)績(jī)系數(shù)進(jìn)行調(diào)整。
5、交流平臺(tái)
在整個(gè)實(shí)踐過(guò)程中,教師與學(xué)生之間需要頻繁交流:教師需要定期發(fā)布通知、上傳文檔模板、監(jiān)控項(xiàng)目進(jìn)展情況、解答學(xué)生問(wèn)題;學(xué)生需要針對(duì)實(shí)踐中遇到的問(wèn)題尋求教師或同學(xué)的幫助,同時(shí)根據(jù)計(jì)劃按時(shí)提交階段成果。為了教師與學(xué)生之間能夠順暢交流,整個(gè)實(shí)踐過(guò)程需要實(shí)時(shí)監(jiān)控,實(shí)踐支持平臺(tái)也必不可少。在實(shí)踐教學(xué)平臺(tái)建設(shè)中,我們從開(kāi)發(fā)與維護(hù)的可持續(xù)性、學(xué)生使用的便利性等方面反復(fù)論證,確定“以學(xué)院現(xiàn)有的信息化平臺(tái)為基礎(chǔ)”的建設(shè)原則,在學(xué)院的“協(xié)同工作與學(xué)習(xí)系統(tǒng)”中實(shí)現(xiàn)“教學(xué)輔助”功能并向企業(yè)教師開(kāi)放。該平臺(tái)不僅實(shí)現(xiàn)了課件、作業(yè)的上傳和下載,還成為學(xué)生獲取教學(xué)補(bǔ)充材料和師生教學(xué)互動(dòng)的直接渠道,具體網(wǎng)址為http://soft.buaa.edu.cn/eCollege/Index.aspx。
6、實(shí)施反饋
校企結(jié)合的軟件工程實(shí)踐框架為軟件工程實(shí)踐教學(xué)建設(shè)與實(shí)施提供了依據(jù),但它只是一個(gè)框架,規(guī)定了軟件工程實(shí)踐課程教學(xué)的基本內(nèi)容。每次具體實(shí)施都是對(duì)該框架的一次驗(yàn)證,并且可以根據(jù)實(shí)施情況對(duì)框架進(jìn)行優(yōu)化和完善,因此將實(shí)施反饋?zhàn)鳛樵摽蚣艿闹匾M成部分,要求每年課程實(shí)施完成后根據(jù)當(dāng)年教學(xué)主題的不同,開(kāi)發(fā)有針對(duì)性的調(diào)查問(wèn)卷,以及時(shí)了解課程的實(shí)施效果,為持續(xù)提升后續(xù)實(shí)踐教學(xué)質(zhì)量提供動(dòng)力并指明方向。
二、框架應(yīng)用
依據(jù)前面提出的軟件工程實(shí)踐框架,通過(guò)與IT行業(yè)敏捷軟件開(kāi)發(fā)實(shí)踐實(shí)施最好的Thought-Works(斯特沃克)公司進(jìn)行多次洽談,北京航空航天大學(xué)軟件學(xué)院軟件工程實(shí)踐教學(xué)團(tuán)隊(duì)于2012年4月確立2012年暑期軟件工程實(shí)踐的具體實(shí)施方案,確定由7人構(gòu)成的校企結(jié)合指導(dǎo)教師團(tuán)隊(duì)對(duì)2009級(jí)本科生進(jìn)行敏捷方法實(shí)踐訓(xùn)練。
1、實(shí)踐準(zhǔn)備
為了使學(xué)院教師和企業(yè)教師能很好地合作,在實(shí)踐準(zhǔn)備階段,學(xué)院教師團(tuán)隊(duì)一行3人花費(fèi)2周共累計(jì)5天的時(shí)間進(jìn)入企業(yè)體驗(yàn)生活,與來(lái)自企業(yè)的4名具有豐富開(kāi)發(fā)經(jīng)驗(yàn)的教師組成7人的實(shí)踐教師指導(dǎo)團(tuán)隊(duì)。以該公司為某國(guó)際機(jī)構(gòu)開(kāi)發(fā)的一個(gè)有關(guān)慈善業(yè)務(wù)管理系統(tǒng)項(xiàng)目為實(shí)踐案例材料,對(duì)其剪裁后,形成了此次實(shí)踐教學(xué)案例并配備50頁(yè)文字材料,提供已運(yùn)行系統(tǒng)的鏈接網(wǎng)址。為規(guī)范整個(gè)實(shí)踐過(guò)程,實(shí)踐教師指導(dǎo)團(tuán)隊(duì)根據(jù)此次實(shí)踐主題,制定了詳細(xì)到天的教學(xué)實(shí)施計(jì)劃,明確給出教師、團(tuán)隊(duì)的具體工作內(nèi)容以及每個(gè)階段的提交物,確定學(xué)院教師與企業(yè)教師的工作重點(diǎn),同時(shí)開(kāi)發(fā)實(shí)踐交付物相關(guān)文檔的模板。
2、應(yīng)用效果
2012年6月15日—7月30日,我們依照上述思想對(duì)大三139名本科生組成的14個(gè)團(tuán)隊(duì)講授軟件工程實(shí)踐課程。在6月15日的實(shí)踐啟會(huì)后,向?qū)W生下發(fā)案例的相關(guān)材料、教學(xué)實(shí)施計(jì)劃及相關(guān)標(biāo)準(zhǔn)、模板,讓學(xué)生在實(shí)踐前就明確驗(yàn)收標(biāo)準(zhǔn)。為了增強(qiáng)實(shí)際項(xiàng)目開(kāi)發(fā)氛圍,我們要求學(xué)院指導(dǎo)教師和學(xué)生每天按時(shí)到實(shí)踐場(chǎng)地。學(xué)院指導(dǎo)教師每天到實(shí)踐現(xiàn)場(chǎng)不定期考查各團(tuán)隊(duì)進(jìn)度、批改審閱學(xué)生提交的階段成果,針對(duì)開(kāi)發(fā)出現(xiàn)的技術(shù)與管理問(wèn)題進(jìn)行現(xiàn)場(chǎng)指導(dǎo),從客戶(hù)角度回答與需求相關(guān)的問(wèn)題。企業(yè)指導(dǎo)教師則按計(jì)劃在各階段點(diǎn)到實(shí)踐現(xiàn)場(chǎng)作團(tuán)隊(duì)指導(dǎo)和總體點(diǎn)評(píng)。在第一、第二階段的評(píng)審會(huì)上,除了指導(dǎo)教師針對(duì)每個(gè)組作點(diǎn)評(píng)外,還邀請(qǐng)做得好的團(tuán)隊(duì)介紹成功經(jīng)驗(yàn),供其他組借鑒。第三階段的驗(yàn)收包括軟件功能演示和小組答辯。學(xué)院指導(dǎo)教師依據(jù)最初計(jì)劃,對(duì)學(xué)生的文檔和軟件產(chǎn)品給出綜合成績(jī)。為了了解校企結(jié)合實(shí)踐教學(xué)的效果,我們?cè)谡n后進(jìn)行針對(duì)教師、教學(xué)等各個(gè)方面的問(wèn)卷調(diào)查,軟件工程實(shí)踐課調(diào)查問(wèn)卷見(jiàn)表1。學(xué)生對(duì)企業(yè)教師在實(shí)踐指導(dǎo)中的作用給予充分肯定,滿(mǎn)意度達(dá)到96.3%;對(duì)學(xué)院教師在實(shí)踐中的指導(dǎo)和評(píng)審也很滿(mǎn)意,但是相對(duì)來(lái)說(shuō),學(xué)生對(duì)學(xué)院教師的實(shí)踐準(zhǔn)備不是很滿(mǎn)意。產(chǎn)生該結(jié)果的原因在于:一是學(xué)生對(duì)案例內(nèi)容生疏,與以往由學(xué)生自己提供實(shí)踐項(xiàng)目不同,此次則由教師提供實(shí)踐項(xiàng)目并且在實(shí)踐啟動(dòng)會(huì)后才下發(fā)相關(guān)材料;二是對(duì)“客戶(hù)意圖”理解不夠,與以往大作業(yè)中自己既是客戶(hù)又是開(kāi)發(fā)者不同,此次實(shí)踐項(xiàng)目的客戶(hù)是指導(dǎo)教師,他們對(duì)案例需求具有解釋權(quán)。很多學(xué)生在開(kāi)發(fā)中遇到需求不清楚的問(wèn)題時(shí)沒(méi)有與教師積極交流,而是“臆斷”需求,導(dǎo)致在階段性檢查中由于沒(méi)有正確理解“客戶(hù)”需求而受挫。此外,學(xué)生普遍反映時(shí)間太短,但這恰好符合軟件開(kāi)發(fā)項(xiàng)目的實(shí)際情況,軟件開(kāi)發(fā)中最緊缺的資源莫過(guò)于時(shí)間。學(xué)生對(duì)此次實(shí)踐的整體滿(mǎn)意度為95.56%,還是很高的。這表明以教師為輔、學(xué)生為主的校企結(jié)合教學(xué)模式以及對(duì)學(xué)生實(shí)踐能力和團(tuán)隊(duì)協(xié)作能力的培養(yǎng)方式得到了學(xué)生的充分肯定。對(duì)于該調(diào)查中的兩個(gè)開(kāi)放問(wèn)題:“你認(rèn)為此次實(shí)踐值得發(fā)揚(yáng)的方面有哪些?需要改進(jìn)的方面有哪些?”學(xué)生認(rèn)為最值得發(fā)揚(yáng)的是企業(yè)教師參與實(shí)踐的指導(dǎo),最需要改進(jìn)的是延長(zhǎng)實(shí)踐持續(xù)時(shí)間。該反饋再次驗(yàn)證了校企結(jié)合模式的有效性。
三、結(jié)語(yǔ)
軟件工程實(shí)踐課程是對(duì)本科生3年來(lái)所學(xué)軟件工程理論的綜合訓(xùn)練,對(duì)即將進(jìn)入企業(yè)實(shí)習(xí)的本科生非常重要。實(shí)踐過(guò)程越接近目前軟件開(kāi)發(fā)企業(yè)現(xiàn)狀,越能縮短學(xué)生適應(yīng)企業(yè)的時(shí)間。開(kāi)放的軟件工程實(shí)踐框架為更新實(shí)踐教學(xué)內(nèi)容注入了新的活力,企業(yè)教師的引入彌補(bǔ)了學(xué)院教師實(shí)踐知識(shí)的局限性,源于企業(yè)的真實(shí)案例極大地調(diào)動(dòng)了學(xué)生的積極性,面向用戶(hù)價(jià)值的驗(yàn)收與考核標(biāo)準(zhǔn)引導(dǎo)學(xué)生要立足用戶(hù)開(kāi)發(fā)軟件,充分利用信息化平臺(tái)等手段實(shí)現(xiàn)師生線(xiàn)上和線(xiàn)下交流。對(duì)于一名合格的軟件工程師,這些訓(xùn)練必不可少,并且做得越早越好。為了能持續(xù)地提高該課程教學(xué)效果,我們還需要在真實(shí)案例的建設(shè)和校企教師團(tuán)隊(duì)特別是高水平企業(yè)教師的深度參與等方面不斷努力。
作者:林廣艷 賈經(jīng)冬 譚火彬 單位:北京航空航天大學(xué) 軟件學(xué)院