陸敬科
(宿遷學(xué)院科技處,江蘇 宿遷 223800)
CDIO(構(gòu)思-設(shè)計(jì)-實(shí)現(xiàn)-運(yùn)作)工程教育模式是模擬工廠的產(chǎn)品開發(fā)到產(chǎn)品實(shí)施和運(yùn)行的生命周期為載體,在課程教學(xué)和實(shí)習(xí)實(shí)踐活動中發(fā)揮學(xué)生的主觀能動性[1]。2000年,由麻省理工領(lǐng)銜的研究機(jī)構(gòu)經(jīng)過四年的研究,確立了CDIO工程教育模式理念,CDIO工程教育模式從工程基礎(chǔ)知識、個(gè)人專業(yè)技能、團(tuán)隊(duì)合作能力和工程系統(tǒng)能力四個(gè)方面要求學(xué)生達(dá)到預(yù)期目標(biāo)。2005年,CDIO工程教育模式被引入到我國,然后很多大學(xué)用該模式來指導(dǎo)教學(xué)工作,并且CDIO工程教育改革模式與中國特色理論被引入到職業(yè)教育、本科教育和研究生教育實(shí)踐中;2008年,教育部成立“CDIO工程教育模式研究與實(shí)踐小組”[2];2009年,國內(nèi)許多高校運(yùn)用CDIO理論進(jìn)行人才培養(yǎng)模式改革,并取得了豐碩的成果,這為進(jìn)一步推動CDIO理論的全面普及,提高我國高校的教學(xué)質(zhì)量提供了實(shí)踐和理論支持;2016年,“CDIO工程教育聯(lián)盟”正式成立,我國共有一百多所高校加入,其中大部分都是部署院校。本文以軟件工程專業(yè)為例,分析CDIO理論在創(chuàng)新創(chuàng)業(yè)人才培養(yǎng)方面的相關(guān)經(jīng)驗(yàn)和成果,以期為國內(nèi)高校教育改革和理論研究提供參考。
隨著國家示范性高校建設(shè)的不斷推進(jìn),CDIO工程教育理念逐漸被引入到軟件工程專業(yè)人才培養(yǎng)模式中,即以企業(yè)實(shí)踐和項(xiàng)目為主導(dǎo)的工程人才培養(yǎng)模式。在這種培養(yǎng)模式下,結(jié)合當(dāng)前國內(nèi)軟件工程產(chǎn)業(yè)發(fā)展需求,如何把企業(yè)需求轉(zhuǎn)化為課程,然后再高效、完整地傳授給學(xué)生,使學(xué)生能夠成為一名合格的從業(yè)者,是值得研究的。
以“軟件項(xiàng)目制”為軟件工程專業(yè)培養(yǎng)模式,結(jié)合地方產(chǎn)業(yè)發(fā)展需求承接或提煉出軟件開發(fā)項(xiàng)目,以此來鍛煉學(xué)生的動手能力和對專業(yè)知識的理解能力。從學(xué)生的角度來看,專業(yè)課程所學(xué)習(xí)的枯燥無味知識點(diǎn)不再是單純的理解和記憶,而是必須通過理解和掌握知識點(diǎn)后,通過實(shí)踐鍛煉的檢驗(yàn),才能驗(yàn)證知識點(diǎn)是否正確的一個(gè)有趣的學(xué)習(xí)過程。知識內(nèi)容涉及多個(gè)專業(yè)課程,并且項(xiàng)目實(shí)施過程高度模擬了軟件公司的項(xiàng)目開發(fā)過程。它使軟件專業(yè)的學(xué)生可以提高他們在項(xiàng)目開發(fā)環(huán)境中的專業(yè)能力,并且各種培訓(xùn)項(xiàng)目之間有一定程度的相關(guān)性或連續(xù)性,以形成一系列實(shí)用的開發(fā)項(xiàng)目。軟件公司的實(shí)際項(xiàng)目通常被認(rèn)為是更全面的,并且所使用的技術(shù)是當(dāng)前流行的主流技術(shù),因此必須在教學(xué)上進(jìn)行一些簡化并且必須權(quán)衡取舍。
團(tuán)隊(duì)協(xié)作能力培養(yǎng)有助于團(tuán)隊(duì)和個(gè)人成長壯大,一個(gè)優(yōu)秀的團(tuán)隊(duì)需要適當(dāng)?shù)闹贫忍岣吖ぷ餍?、明確職責(zé)和分工等。宿遷學(xué)院信息工程學(xué)院院風(fēng)是“團(tuán)結(jié)奮進(jìn)”,“團(tuán)結(jié)奮進(jìn)”同樣也適用于軟件團(tuán)隊(duì)的開發(fā)過程中,對團(tuán)隊(duì)文化建設(shè)有著積極的促進(jìn)作用。
創(chuàng)新創(chuàng)業(yè)團(tuán)隊(duì)成員之間因?yàn)樾愿癫缓希瑢?dǎo)致團(tuán)隊(duì)解散[3]。群體性的創(chuàng)新創(chuàng)業(yè)團(tuán)隊(duì)通常是由一些交情好的同學(xué)、朋友或者伙伴組成,在這種情況下,團(tuán)隊(duì)成員的性格和處事方式容易被掩蓋,再加上大家都是初次創(chuàng)業(yè)沒有成功經(jīng)驗(yàn),容易形成表面上看每個(gè)人都在努力工作,但真正全身心投入的只有個(gè)別人,同時(shí)由于團(tuán)隊(duì)內(nèi)缺乏溝通,沒有形成合力,這種情況注定會導(dǎo)致創(chuàng)業(yè)團(tuán)隊(duì)解散。
“沒有規(guī)矩,不成方圓”,切實(shí)可行的制度,是團(tuán)隊(duì)能夠良好運(yùn)轉(zhuǎn)的保障。團(tuán)隊(duì)制度是大家共同商議和決策的結(jié)果,主要包括利潤分配方案、日??记谥贫?、會議制度、代碼審核制度等。
合理分工,物盡所用,讓每個(gè)團(tuán)隊(duì)成員都行動起來,在進(jìn)行軟件項(xiàng)目開發(fā)中,很少有一個(gè)項(xiàng)目是一個(gè)人能很好地完成的。例如:按照軟件開發(fā)流程周期來合理的劃分分工,在軟件項(xiàng)目實(shí)踐開發(fā)過程中需要有管理好業(yè)務(wù)需求的人員,然后他還需要將項(xiàng)目業(yè)務(wù)需求轉(zhuǎn)換為開發(fā)文檔,開發(fā)文檔再由程序員用開發(fā)語言實(shí)現(xiàn),再交給測試人員完成測試,并由外圍操作人員部署到外部服務(wù)的開發(fā)環(huán)境中,每個(gè)過程都是不同的專業(yè)領(lǐng)域,所有過程由開發(fā)經(jīng)理負(fù)責(zé)協(xié)調(diào)和管理。
宿遷學(xué)院軟件工程專業(yè)為培養(yǎng)學(xué)生團(tuán)隊(duì)協(xié)作精神,成立了軟件工程學(xué)習(xí)小組,由專業(yè)課教師負(fù)責(zé)召集專業(yè)方向感興趣的同學(xué),定期組織研討會議,共同完成實(shí)戰(zhàn)項(xiàng)目,經(jīng)過1-2年的實(shí)踐鍛煉,學(xué)生的團(tuán)隊(duì)意識、學(xué)習(xí)能力、動手能力等方面得到明顯加強(qiáng),并且在各類省內(nèi)外軟件競賽中經(jīng)常獲獎。
在項(xiàng)目開發(fā)階段,與客戶之間保持良好、高效的溝通非常重要[4]??蛻艏皶r(shí)向軟件開發(fā)人員傳遞新的需求和想法,使軟件開發(fā)團(tuán)隊(duì)能夠盡早糾正軟件中的問題和缺陷,盡量減少因?yàn)樾枨罅私獠煌暾鴰淼呢?fù)面影響??梢哉f,軟件開發(fā)人員與用戶之間準(zhǔn)確、高效、流暢的溝通是軟件項(xiàng)目走向成功的必經(jīng)之路。
隨著軟件產(chǎn)品規(guī)模的不斷擴(kuò)大和軟件產(chǎn)品復(fù)雜性的不斷增加,軟件項(xiàng)目開發(fā)中會出現(xiàn)很多問題,如成本和工程周期難以控制、產(chǎn)品可靠性差、無法滿足業(yè)務(wù)需求等。許多軟件項(xiàng)目的失敗在于開發(fā)人員不了解軟件客戶的真實(shí)需求,與用戶的有效溝通太少。充分了解軟件客戶對軟件操作流程、界面設(shè)計(jì)、業(yè)務(wù)功能等方面的要求,是軟件開發(fā)成敗的關(guān)鍵因素。
軟件開發(fā)過程共分為五個(gè)階段,分別是需求分析階段、系統(tǒng)設(shè)計(jì)階段、編寫代碼階段、系統(tǒng)測試階段和實(shí)施運(yùn)營階段,各個(gè)階段之間存在遞進(jìn)關(guān)系,如果需求分析階段不準(zhǔn)確,肯定會導(dǎo)致最后做出來的軟件產(chǎn)品不適合客戶的需要,這就要求每個(gè)階段必須準(zhǔn)確無誤,并且客戶對同一個(gè)需求每天的想法都在變化,如何和客戶簽訂需求分析合同,尤為關(guān)鍵,會影響到項(xiàng)目的成敗和軟件的開發(fā)周期。
通過召開需求分析說明會,可和客戶之間充分溝通。需求分析說明會上充分了解用戶對于軟件開發(fā)業(yè)務(wù)、技術(shù)、應(yīng)用、數(shù)據(jù)庫、硬件環(huán)境等各個(gè)方面的要求。會后將客戶需求整理成文檔,再次反饋給用戶進(jìn)行問卷調(diào)查。問卷調(diào)查后,對用戶提供的調(diào)查問卷進(jìn)行分類整理,對于其中一些已經(jīng)定義的需求,寫出它們并提供給客戶確認(rèn)。對于一些模糊的需求,應(yīng)該去拜訪相關(guān)人員。
簽訂開發(fā)合同,明確需求分析階段的權(quán)利與責(zé)任,在進(jìn)入需求分析階段后,翔實(shí)記錄客戶的每一項(xiàng)需求,對收集到的信息加以處理,盡可能以界面方式來展示功能流程,為客戶展示功能、性能、操作接口、與其他軟件的接口等需求,并且設(shè)計(jì)出不同層次人員能夠看懂的分析報(bào)告文檔。例如:領(lǐng)導(dǎo)層給出整體組織結(jié)構(gòu)圖,開發(fā)層面人員給出整體系統(tǒng)業(yè)務(wù)流程圖、數(shù)據(jù)流程圖和實(shí)體關(guān)系圖。宿遷學(xué)院軟件工程專業(yè)成立的軟件工程學(xué)習(xí)小組按照項(xiàng)目制度進(jìn)行管理,從需求分析到最后的實(shí)施運(yùn)營階段又分別成立五個(gè)小組,讓學(xué)生充分感受模擬軟件公司真實(shí)開發(fā)的場景,一個(gè)開發(fā)周期結(jié)束后,學(xué)生的工程實(shí)踐能力明顯增強(qiáng),效果良好。