摘要:本文分析國(guó)內(nèi)外高等工程教育“工程化”發(fā)展趨勢(shì),論述現(xiàn)代軟件工程對(duì)人才的迫切要求,提出了構(gòu)建軟件工程綜合實(shí)訓(xùn)課程。針對(duì)該課程,本文詳細(xì)討論了課程建設(shè)的主要內(nèi)容,包括工程項(xiàng)目資源庫(kù)建設(shè)、實(shí)訓(xùn)流程標(biāo)準(zhǔn)化和規(guī)范化建設(shè)、過(guò)程管理和評(píng)價(jià)方法建設(shè)等;經(jīng)過(guò)多年教學(xué)運(yùn)行,實(shí)踐證明收到了良好的效果。
關(guān)鍵詞:軟件工程;課程綜合化;課程建設(shè)
文章編號(hào):1672-5913(2010)08-0143-03
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1 背景及意義
1.1課程綜合化是中國(guó)高等工程教育改革的發(fā)展趨勢(shì)
20世紀(jì)末,美國(guó)高等工程教育界掀起了“工程回歸”的浪潮。由美國(guó)康奈爾、斯坦福、加州伯克利等8所大學(xué)聯(lián)合發(fā)起的高等工程教育改革運(yùn)動(dòng),使高等工程教育的“工程化”改革方向成為國(guó)際工程教育改革的共同選擇?!肮こ袒庇靡环N全新的視角,重新審視工程教育的人才培養(yǎng)模式,用工程實(shí)踐活動(dòng)的本質(zhì)和特點(diǎn)來(lái)對(duì)其進(jìn)行衡量、要求和評(píng)價(jià)。也就是面對(duì)迅速變化的世界,工程教育的主要方向是使建立在分化的學(xué)科基礎(chǔ)上的工程教育經(jīng)過(guò)否定之否定,在更高意義上回歸其涵義,在對(duì)最新科技成果加以吸收、改造、優(yōu)化后,形成綜合創(chuàng)新優(yōu)勢(shì),更加具有工程的系統(tǒng)性和實(shí)踐性。
與發(fā)達(dá)國(guó)家相比,中國(guó)高等工程教育的課程改革目前還存在一些差距。一是,原有的課程體系基本沒(méi)有改變,基礎(chǔ)課設(shè)置較多而綜合性課程設(shè)置較少。二是,課程建設(shè)和課程改革一般都在各課程內(nèi)部進(jìn)行,所謂建設(shè)只是把相關(guān)的課程機(jī)械地組合在一起,并未真正地建立起課程之間的聯(lián)系,更談不上通過(guò)整合教學(xué)內(nèi)容形成新的課程,學(xué)科壁壘依舊存在。如果不解決好這一問(wèn)題,我們所采取的任何加強(qiáng)課程建設(shè)的措施只能使課程本身更加完美,而與其他課程的相互聯(lián)系、相互融合變得更加困難。因此,必須重新架構(gòu)綜合化的高等工程教育課程體系,達(dá)到培養(yǎng)工程師的目標(biāo)。
1,2現(xiàn)代軟件工程的迫切要求
美國(guó)紐約時(shí)報(bào)最為著名的專欄作家之一托馬斯·弗里曼的暢銷書《世界是平的》(The World Is Flal),告知人們?cè)诮裉爝@樣一個(gè)因信息技術(shù)而緊密、方便的互聯(lián)世界中,全球市場(chǎng)、勞動(dòng)力和產(chǎn)品都可以被整個(gè)世界共享,一切都有可能以最有效率和最低成本的方式實(shí)現(xiàn),全球化不可阻擋。在這一過(guò)程中,軟件人才緊缺成為一個(gè)全球性問(wèn)題。如日本最為緊缺的是軟件人才,美國(guó)軟件工程師的平均薪酬相對(duì)是最高的,韓國(guó)每年軟件人才缺口在20萬(wàn)人以上,中國(guó)每年軟件人才缺口在50萬(wàn)人以上。而在軟件業(yè)界存在軟件人才“怪圈”,一方面企業(yè)求賢若渴,另一方面中國(guó)高校培養(yǎng)的人才又不能滿足企業(yè)的需求,相當(dāng)一部分畢業(yè)生在軟件開(kāi)發(fā)的綜合能力、應(yīng)用能力方面與快速發(fā)展的軟件產(chǎn)業(yè)不相適應(yīng),亦即不能滿足現(xiàn)代軟件工程的迫切要求。為此必須改革人才培養(yǎng)模式,包括教育理念、培養(yǎng)目標(biāo)和課程體系,這就需要設(shè)置綜合性的課程,正是在這一背景下,我們構(gòu)建了軟件工程綜合實(shí)訓(xùn)課程。
2 課程構(gòu)建
在課程的構(gòu)建上,我們從需求出發(fā),而這些需求來(lái)源于用人單位、學(xué)生、科學(xué)和技術(shù)發(fā)展的需要等。因此,需要考慮的因素有實(shí)施課程的時(shí)代背景,如所面臨的政治、經(jīng)濟(jì)、科技、文化等因素,以及他們可能的發(fā)展趨勢(shì);學(xué)院的培養(yǎng)目標(biāo)、培養(yǎng)定位、特色和優(yōu)勢(shì)等;學(xué)生的現(xiàn)狀以及他們未來(lái)的職業(yè)發(fā)展方向,以及社會(huì)對(duì)這些職業(yè)方向的要求等。即需求和培養(yǎng)目標(biāo)是我們構(gòu)建這一綜合實(shí)踐性課程的基礎(chǔ)。
有了需求與培養(yǎng)目標(biāo)就可以著手構(gòu)建課程內(nèi)容以實(shí)現(xiàn)培養(yǎng)目標(biāo)。從目標(biāo)到課程內(nèi)容,是一個(gè)重要而復(fù)雜的過(guò)程,需要產(chǎn)業(yè)領(lǐng)域的專家、工程師和教育專家、教學(xué)管理人員等共同商討和研究決定。我們把這一過(guò)程分為三個(gè)基本步驟,第一,討論為了實(shí)現(xiàn)培養(yǎng)目標(biāo),需要培養(yǎng)學(xué)生哪些技能、使他們獲得哪些經(jīng)驗(yàn)。第二,明確課程內(nèi)容怎樣貫穿軟件工程基準(zhǔn)、標(biāo)準(zhǔn)。第三,明確在專業(yè)能力培養(yǎng)過(guò)程中,怎樣培養(yǎng)和評(píng)價(jià)軟件工程師的非專業(yè)技能。
3 課程建設(shè)主要內(nèi)容
軟件工程綜合實(shí)訓(xùn)是非常重要的綜合性的課程。對(duì)教師的要求非常高,特別是對(duì)教師的綜合素質(zhì)和工程能力要求較高。在建設(shè)過(guò)程中,我們邀請(qǐng)成都的軟件研發(fā)企業(yè)和我們一起邊實(shí)施邊建設(shè)。目前,已建設(shè)成熟,主要建設(shè)的內(nèi)容包括工程項(xiàng)目資源庫(kù)建設(shè)、實(shí)訓(xùn)流程標(biāo)準(zhǔn)化和規(guī)范化建設(shè)、過(guò)程管理和評(píng)價(jià)方法建設(shè)等。
3.1工程項(xiàng)目資源庫(kù)建設(shè)
在實(shí)習(xí)實(shí)踐中,傳統(tǒng)的做法是高校教師用一些理想化的假象項(xiàng)目讓學(xué)生進(jìn)行實(shí)驗(yàn)。在培養(yǎng)過(guò)程中,學(xué)生無(wú)法體驗(yàn)到企業(yè)真實(shí)的項(xiàng)目需求,培養(yǎng)的人才離企業(yè)要求有一定的距離。我們意識(shí)到這一問(wèn)題后,提出了首先建設(shè)實(shí)際項(xiàng)目資源庫(kù)。目前,我們已建設(shè)了10多個(gè)完整的西南資源,涉及的行業(yè)領(lǐng)域包括企業(yè)應(yīng)用(工資管理、ERP等)、電信、電子商務(wù)、電子政務(wù)、軟件外包、金融等。項(xiàng)目來(lái)源有兩方面,一方面來(lái)源于與我們合作的企業(yè),另一方面通過(guò)購(gòu)買獲得完整的項(xiàng)目資源,每個(gè)項(xiàng)目包括各種文檔、代碼、基準(zhǔn)、規(guī)范、測(cè)試用例、PCL表、B票等。這些項(xiàng)目資源為該課程的建設(shè)和實(shí)施奠定了堅(jiān)實(shí)的基礎(chǔ)。
3.2實(shí)訓(xùn)流程標(biāo)準(zhǔn)化和規(guī)范化建設(shè)
通過(guò)實(shí)踐,我們總結(jié)出實(shí)訓(xùn)的標(biāo)準(zhǔn)化流程包括下達(dá)實(shí)訓(xùn)任務(wù),制定實(shí)施方案,審核實(shí)施方案,制定實(shí)習(xí)計(jì)劃等環(huán)節(jié)。以2008年對(duì)軟件工程05級(jí)(Java)學(xué)生實(shí)訓(xùn)為例:
(1)首先由院系向教師下達(dá)實(shí)訓(xùn)任務(wù)(若有公司介入,則以協(xié)議的方式),包括任務(wù)目標(biāo)、實(shí)現(xiàn)功能、實(shí)現(xiàn)清單。
?、偃蝿?wù)目標(biāo)。學(xué)生在項(xiàng)目中需完成如下工作:開(kāi)發(fā)解決各種問(wèn)題所需要的邏輯;描述系統(tǒng)各組件之間的關(guān)系;用戶界面設(shè)計(jì)和開(kāi)發(fā);編寫代碼實(shí)現(xiàn)邏輯;準(zhǔn)備測(cè)試案例:進(jìn)行單元測(cè)試和組合測(cè)試;準(zhǔn)備測(cè)試報(bào)告;準(zhǔn)備錯(cuò)誤報(bào)告。
?、趯?shí)現(xiàn)功能。項(xiàng)目完成時(shí)需交付的內(nèi)容:符合規(guī)范說(shuō)明書的經(jīng)過(guò)測(cè)試和具有相應(yīng)功能的代碼;包括項(xiàng)目目標(biāo)、,項(xiàng)目進(jìn)度表、源代碼、類圖、錯(cuò)誤報(bào)告、測(cè)試案例報(bào)告、屏幕格式在內(nèi)的完整文檔。
?、蹖?shí)現(xiàn)清單。功能說(shuō)明書、代碼規(guī)范。
(2)老師或公司接受任務(wù)后制定相應(yīng)的實(shí)施方案,其內(nèi)容包括實(shí)施方法、實(shí)習(xí)內(nèi)容和實(shí)習(xí)要求。
①實(shí)施方法。實(shí)習(xí)時(shí)間:48學(xué)時(shí);團(tuán)隊(duì)組織:以班為單位每個(gè)小組3~5人;指導(dǎo)情況:每個(gè)班由1名技術(shù)人員和1名教師負(fù)責(zé)實(shí)習(xí)指導(dǎo)、管理;授課內(nèi)容:實(shí)習(xí)項(xiàng)目講解、實(shí)習(xí)要點(diǎn)、成果物要求。
②實(shí)習(xí)內(nèi)容。需求分析;概要設(shè)計(jì);詳細(xì)設(shè)計(jì)(數(shù)據(jù)庫(kù)采用SQL);程序編碼(編程語(yǔ)言JAVA);單元測(cè)試;組合測(cè)試;項(xiàng)目驗(yàn)收、總結(jié)、評(píng)價(jià)。
?、蹖?shí)習(xí)要求。按實(shí)習(xí)項(xiàng)目要求配置開(kāi)發(fā)環(huán)境;每個(gè)開(kāi)發(fā)小組按開(kāi)發(fā)計(jì)劃提交相應(yīng)開(kāi)發(fā)階段的開(kāi)發(fā)內(nèi)容的成果物;由實(shí)習(xí)指導(dǎo)小組對(duì)實(shí)習(xí)項(xiàng)目組的每個(gè)小組的開(kāi)發(fā)過(guò)程控制、成果物質(zhì)量、小組合作狀況等給以評(píng)價(jià)。
(3)由院系一級(jí)審核實(shí)施方案,并提交實(shí)施。
(4)老師或公司按照實(shí)施方案再制定詳細(xì)的實(shí)習(xí)計(jì)劃。
3.3過(guò)程管理和評(píng)價(jià)方法建設(shè)
傳統(tǒng)的軟件開(kāi)發(fā),對(duì)軟件質(zhì)量管理重視不夠,導(dǎo)致不成功或失敗的軟件項(xiàng)目很多。當(dāng)代軟件工程認(rèn)為,軟件質(zhì)量貫穿于軟件開(kāi)發(fā)的全過(guò)程,要重視軟件開(kāi)發(fā)的質(zhì)量,必須加強(qiáng)過(guò)程管理,從而誕生了CMM/CMMI的軟件質(zhì)量管理體系。我們認(rèn)為,這種質(zhì)量管理體系不僅適合于管理軟件開(kāi)發(fā),也適合于軟件工程專業(yè)教育,特別是軟件工程專業(yè)的綜合實(shí)訓(xùn)教育。整個(gè)實(shí)訓(xùn)過(guò)程可以看成是一個(gè)軟件開(kāi)發(fā)的生產(chǎn)過(guò)程的全面仿真,在實(shí)施過(guò)程中,在各流程中通過(guò)各種控制措施對(duì)學(xué)生進(jìn)行監(jiān)控,在每一個(gè)實(shí)訓(xùn)環(huán)節(jié)上控制住“偏差”,變單純的“事后把關(guān)”(傳統(tǒng)考試)為“事前預(yù)防”、“事中控制”(過(guò)程管理)和“事后把關(guān)”(多元化評(píng)價(jià))相結(jié)合,從而保證軟件人才培養(yǎng)質(zhì)量。
教學(xué)評(píng)價(jià)是對(duì)受教育的多種要素進(jìn)行價(jià)值評(píng)估,而考試是教學(xué)評(píng)價(jià)的工具和手段,是測(cè)量應(yīng)試者知識(shí)與能力、素質(zhì)與潛力的量尺??荚嚍榻虒W(xué)評(píng)價(jià)提供了量化資料,卻不能替代教學(xué)評(píng)價(jià)。一個(gè)好的教學(xué)評(píng)價(jià)方式要有利于激發(fā)學(xué)生的學(xué)習(xí)積極性,又要有效促進(jìn)學(xué)生能力的培養(yǎng)。根據(jù)軟件工程的特點(diǎn),在軟件工程綜合實(shí)訓(xùn)中,我們參考企業(yè)對(duì)員工績(jī)效的管理方法,建設(shè)了一套評(píng)價(jià)方法。
首先,實(shí)習(xí)的學(xué)生以班為單位,組成一個(gè)團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)完成一個(gè)項(xiàng)目,每個(gè)項(xiàng)目有一名項(xiàng)目總負(fù)責(zé)人,項(xiàng)目按模塊劃分成若干個(gè)小組,每組由一名小組長(zhǎng)和多個(gè)學(xué)生組成,每位學(xué)生根據(jù)組內(nèi)分工負(fù)責(zé)具體的子模塊。學(xué)生在規(guī)定的時(shí)間內(nèi)完成規(guī)定的任務(wù),在每個(gè)工程階段結(jié)束時(shí),小組以電子文檔方式提交成果,學(xué)生自查或者教師督查成果并給出成績(jī)。
第二,學(xué)生的成績(jī)由幾部分組成,一部分是學(xué)生出勤的情況,一部分是對(duì)學(xué)習(xí)表現(xiàn)的評(píng)分,一部分是各個(gè)工程階段的業(yè)務(wù)實(shí)訓(xùn)成績(jī),一部分是模塊完成后的總評(píng)分。
學(xué)生的出勤由小組內(nèi)學(xué)生相互監(jiān)督,最后由組長(zhǎng)形成出勤表,每周統(tǒng)計(jì)一次,每缺一次扣5分,當(dāng)缺勤次數(shù)超過(guò)5次,該門課程不再評(píng)定成績(jī),也不能獲得學(xué)分。
學(xué)生學(xué)習(xí)表現(xiàn)的評(píng)分,總分是20分。關(guān)注的是學(xué)生在學(xué)習(xí)過(guò)程中的表現(xiàn),包括使命感、責(zé)任感、自信心、進(jìn)取心、意志、毅力、氣質(zhì)、團(tuán)結(jié)協(xié)作精神、自我管理能力、交流能力、解決問(wèn)題能力、設(shè)計(jì)創(chuàng)新能力等。
各工程階段業(yè)務(wù)實(shí)訓(xùn)的成績(jī)占40%,各個(gè)工程階段制定了嚴(yán)格的評(píng)分標(biāo)準(zhǔn),各階段的成績(jī)由小組長(zhǎng)根據(jù)評(píng)分標(biāo)準(zhǔn)進(jìn)行評(píng)定。
模塊完成后對(duì)各個(gè)小組完成的模塊要進(jìn)行成績(jī)?cè)u(píng)定。占總評(píng)成績(jī)的40%,首先,學(xué)生由學(xué)生提交實(shí)訓(xùn)任務(wù)報(bào)告書,然后由指導(dǎo)教師或企業(yè)技術(shù)工程師進(jìn)行評(píng)定,根據(jù)軟件工程要求,主要從質(zhì)量、時(shí)間控制、標(biāo)準(zhǔn)和流程、使用編程架構(gòu)及優(yōu)化使用編程架構(gòu)及優(yōu)化四個(gè)方面,對(duì)學(xué)生實(shí)訓(xùn)效果進(jìn)行定量的評(píng)分。
這樣從多方位、多視角來(lái)實(shí)施教學(xué)評(píng)價(jià)活動(dòng),評(píng)價(jià)既關(guān)注結(jié)果,更關(guān)注過(guò)程,也關(guān)注學(xué)生的自我認(rèn)識(shí)和自我發(fā)展,評(píng)價(jià)學(xué)習(xí)不再僅僅依靠考試成績(jī),還包括對(duì)學(xué)習(xí)的態(tài)度、行為等方面的考查。一句話,就是以多維視角的評(píng)價(jià)內(nèi)容和結(jié)果,綜合衡量學(xué)習(xí)的發(fā)展?fàn)顩r。
4 實(shí)施情況
從2005年至2009年,已執(zhí)行了五年,對(duì)33個(gè)班的學(xué)生采用集中授課方式進(jìn)行了實(shí)訓(xùn),如表1所示。
以2005年與四川四凱計(jì)算機(jī)軟件有限公司合作實(shí)訓(xùn)為例,2005年10月實(shí)訓(xùn)完畢后,學(xué)生們?cè)陔S后參加的招聘會(huì)面試中,因?yàn)橛袑?shí)訓(xùn)的經(jīng)歷而增加了優(yōu)勢(shì);也因?yàn)楸M早體驗(yàn)了團(tuán)隊(duì)工作的嚴(yán)密與合作的重要性,使得他們?cè)谌蘸蟮墓ぷ髦心軌蚝芸斓剡m應(yīng),甚至脫穎而出。
在2005年以前,畢業(yè)論文的完成是學(xué)生們感到棘手的事,但通過(guò)軟件工程實(shí)訓(xùn)的培養(yǎng)鍛煉后,學(xué)生的論文質(zhì)量明顯地得到提高。
總的來(lái)看,學(xué)生愿意參加該課程的學(xué)習(xí),通過(guò)學(xué)習(xí)能體驗(yàn)到成功的喜悅,體驗(yàn)到軟件工程的全過(guò)程,增強(qiáng)了信