摘要:本文研究了本科生的軟件工程綜合實(shí)踐教學(xué)環(huán)節(jié)的改革,提出相關(guān)的解決方案,實(shí)踐證明,這些解決方案對(duì)于解決學(xué)生的動(dòng)手能力有利。
關(guān)鍵詞:軟件工程;教學(xué)改革;課程實(shí)驗(yàn);綜合實(shí)踐
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913 (2007) 22-0123-03
1引言
我系原有的教學(xué)計(jì)劃[1]中,軟件工程課程體現(xiàn)設(shè)置上僅有“軟件工程導(dǎo)論”一門課程,在大四上學(xué)期開設(shè)。這一教學(xué)安排的思路是,在前面基礎(chǔ)課程學(xué)習(xí)完成后,為學(xué)生在大四開始畢業(yè)設(shè)計(jì)做準(zhǔn)備。當(dāng)時(shí)做此設(shè)計(jì)的思路有兩個(gè)出發(fā)點(diǎn):第一,這一教學(xué)設(shè)計(jì)是針對(duì)大學(xué)擴(kuò)招之前的,因此是適用的。但自從高校擴(kuò)招以后,特別是在近幾年,由于就業(yè)的壓力越來越大,企業(yè)對(duì)學(xué)生動(dòng)手能力和項(xiàng)目實(shí)踐能力要求越來越高,與這一教學(xué)設(shè)計(jì)相關(guān)的綜合實(shí)踐教學(xué)環(huán)節(jié)越來越不適應(yīng)社會(huì)發(fā)展的需要;第二,這一教學(xué)設(shè)計(jì)在傳統(tǒng)的以手工方式逐行編寫應(yīng)用程序的背景和需求相適應(yīng),但隨著大型軟件工程工具和環(huán)境的出現(xiàn),以及應(yīng)用系統(tǒng)的規(guī)模越來越大,應(yīng)用越來越復(fù)雜,這一傳統(tǒng)的軟件工程教學(xué)無法適應(yīng)這一形勢(shì),這反映在這一教學(xué)設(shè)計(jì)所提供的知識(shí)、體系等等,遠(yuǎn)遠(yuǎn)無法適應(yīng)社會(huì)要求學(xué)生不僅掌握軟件工程技術(shù)層面的知識(shí)和技能,還要掌握與軟件工程相關(guān)的項(xiàng)目管理等方面的知識(shí)化技能這一需要。這意味著,原有的軟件工程綜合實(shí)踐教學(xué)環(huán)節(jié)急需要進(jìn)行改革。本文將闡述我們?cè)谶@一環(huán)節(jié)改革中的一些思考和做法。
2軟件工程理論教學(xué)環(huán)節(jié)的改革
在新的教學(xué)計(jì)劃[2]中,我們強(qiáng)化了軟件工程課程教學(xué),我們的思想是將原有的單一軟件工程課程分解為多層次、多方位的軟件工程課程,在教學(xué)活動(dòng)中,以交互式啟發(fā)式教學(xué)為手段,以案例教學(xué)貫串整個(gè)過程。這一點(diǎn)主要可以體現(xiàn)在以下幾個(gè)環(huán)節(jié)和方面。
第一,將軟件工程的思想貫串本科生專業(yè)學(xué)習(xí)過程。在學(xué)生學(xué)習(xí)了程序設(shè)計(jì)語言和數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)課程之后,我們?cè)诖蠖聦W(xué)期開始開設(shè)“軟件工程導(dǎo)論”,課程內(nèi)容以軟件工程思想的建立為目標(biāo),在以結(jié)構(gòu)化方法學(xué)為主線的講授軟件工程技術(shù)核心內(nèi)容的同時(shí),引入軟件項(xiàng)目管理基礎(chǔ),使得學(xué)生在技術(shù)學(xué)習(xí)的同時(shí),注意到項(xiàng)目管理在軟件開發(fā)中的重要作用。
第二,在大三下學(xué)期開設(shè)面向?qū)ο筌浖こ?。在這一學(xué)期,由于學(xué)生已經(jīng)學(xué)習(xí)了C++面向?qū)ο蟪绦蛟O(shè)計(jì)等課程和軟件工程導(dǎo)論等課程,因此涉及到面向?qū)ο笾械母拍钜呀?jīng)不再是學(xué)習(xí)中的難點(diǎn),這樣我們可以將教學(xué)的重點(diǎn)放在以UML(統(tǒng)一建模語言)和RUP(統(tǒng)一建模過程)的學(xué)習(xí)與使用上,在此基礎(chǔ)上,我們將教學(xué)的重點(diǎn)放在面向?qū)ο蟮男枨螳@取和需求分析、面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)、對(duì)象設(shè)計(jì)和面向?qū)ο鬁y(cè)試等方面。在技術(shù)學(xué)習(xí)的同時(shí)依舊重視項(xiàng)目管理,并引入配置管理(如版本管理)等進(jìn)一步的管理知識(shí)。
第三,在大四上學(xué)期開設(shè)軟件工程課程設(shè)計(jì)課程。這一課程的教學(xué)將以案例分析和最終系統(tǒng)實(shí)現(xiàn)為目標(biāo)。這一階段的實(shí)踐活動(dòng)將大三面向?qū)ο筌浖こ讨幸呀?jīng)初具規(guī)模的系統(tǒng)加以實(shí)現(xiàn)。在教學(xué)活動(dòng)的組織上,我們以交互式和啟發(fā)式教學(xué)為主導(dǎo),我們會(huì)在課堂上將部分時(shí)間留給學(xué)生討論,教師則啟發(fā)學(xué)生討論并點(diǎn)評(píng)學(xué)生的過程,在課程的后半段時(shí)間還會(huì)專門留出時(shí)間給以項(xiàng)目組為主體團(tuán)隊(duì)演示自己的系統(tǒng)。
第四,在大四下學(xué)期開學(xué),將安排學(xué)生參加為期一月左右的實(shí)訓(xùn)。在選擇培訓(xùn)公司上,我們堅(jiān)持選擇大型、有項(xiàng)目經(jīng)驗(yàn)的公司作為依托,以其一線工程師作為實(shí)訓(xùn)教師,并堅(jiān)持按公司管理制度對(duì)學(xué)生以項(xiàng)目團(tuán)隊(duì)形式進(jìn)行管理,并按公司指定的軟件工程文檔模板作為學(xué)生項(xiàng)目的文檔寫作依據(jù),按公司對(duì)員工的方式管理、驗(yàn)收和評(píng)價(jià)學(xué)生的項(xiàng)目,讓學(xué)生真正體會(huì)到IT公司的企業(yè)文化,這為學(xué)生的就業(yè)面試奠定了良好的基礎(chǔ)。
第五,為配合上述教學(xué)活動(dòng),我們?cè)谡麄€(gè)專業(yè)教學(xué)中增加了很多軟件工程類的選修課程,如軟件項(xiàng)目管理、基于構(gòu)件的軟件開發(fā)、軟件測(cè)試與軟件質(zhì)量保障等。這些課程極大豐富了學(xué)生的知識(shí),開擴(kuò)了學(xué)生的眼界。
第六,配合軟件工程課程群教學(xué),大力開展ACM/ICPC競(jìng)賽活動(dòng),吸引更多的本科生參加到以程序設(shè)計(jì)為主的專業(yè)學(xué)習(xí)中來,這不僅能夠?yàn)閷W(xué)校選拔更多的優(yōu)秀人才參加亞洲區(qū)國際大學(xué)生程序設(shè)計(jì)競(jìng)賽,而且對(duì)于本科生學(xué)風(fēng)的改善起到積極的推動(dòng)作用。現(xiàn)在,有越來越多的學(xué)生參加到ACM競(jìng)賽這項(xiàng)活動(dòng)中來,其優(yōu)秀者代表學(xué)校參賽,兩次取得了亞洲區(qū)ACM/ICPC比賽銅牌,極大提高了學(xué)校和系里的聲譽(yù),也為我系學(xué)生的就業(yè)起到了積極作用。
3軟件工程課程實(shí)驗(yàn)教學(xué)環(huán)節(jié)的改革
為了配合軟件工程理論課程教學(xué)改革,我們強(qiáng)化和改革了軟件工程綜合實(shí)踐環(huán)節(jié)。針對(duì)上述四個(gè)不同學(xué)期,安排不同層次的實(shí)驗(yàn)內(nèi)容和實(shí)踐活動(dòng)。
針對(duì)大二下學(xué)期開始開設(shè)“軟件工程導(dǎo)論”,我們?cè)谶@一階段的教學(xué)實(shí)驗(yàn)以小型應(yīng)用項(xiàng)目和小型團(tuán)隊(duì)為主,主要開發(fā)工具是高級(jí)程序設(shè)計(jì)語言,學(xué)生描述處理對(duì)象的主要依據(jù)是數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí)(如正文編輯器開發(fā))和以文件存放數(shù)據(jù)為主的學(xué)生管理系統(tǒng)等。這一階段的實(shí)驗(yàn)教學(xué)目標(biāo)是學(xué)生通過課程上機(jī)熟悉理論知識(shí),并熟悉和掌握各種CASE工具的使用,建立軟件工程的概念和思想,培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神和項(xiàng)目管理的基本概念。
針對(duì)大三下學(xué)期開設(shè)面向?qū)ο筌浖こ?,我們?cè)谶@一階段的教學(xué)實(shí)驗(yàn)以中型項(xiàng)目為背景,結(jié)合相關(guān)Rational產(chǎn)品和技術(shù),通過實(shí)際的系統(tǒng)項(xiàng)目實(shí)踐和大量上機(jī)實(shí)驗(yàn),讓學(xué)生在開發(fā)實(shí)際項(xiàng)目的過程中,掌握軟件工程生命周期各階段的理論和方法,了解基于RUP開發(fā)信息系統(tǒng)的過程、工具和方法。進(jìn)一步加強(qiáng)學(xué)生的對(duì)軟件工程理論的理解,提高學(xué)生的工程實(shí)踐能力。具體實(shí)驗(yàn)教學(xué)內(nèi)容覆蓋項(xiàng)目管理、配置管理、需求分析、系統(tǒng)分析設(shè)計(jì)、測(cè)試、部署各階段實(shí)驗(yàn),及相應(yīng)的主流工具(如MS Project、Rational Rose、ClearCase、Test Manager)的使用。但本階段已經(jīng)將項(xiàng)目的開發(fā)重點(diǎn)放在了需求分析、系統(tǒng)和對(duì)象設(shè)計(jì)、測(cè)試用例的設(shè)計(jì)上。整個(gè)實(shí)驗(yàn)環(huán)節(jié)將以團(tuán)隊(duì)開發(fā)活動(dòng)和過程改進(jìn)為主,實(shí)現(xiàn)方面并不要求學(xué)生實(shí)現(xiàn)整個(gè)系統(tǒng)功能。由于課程實(shí)踐部分在面向?qū)ο筌浖こ痰慕虒W(xué)中占有非常重要的地位,對(duì)學(xué)生理解和掌握面向?qū)ο筌浖こ趟枷牒屠碚撚惺种匾淖饔茫时菊n程實(shí)驗(yàn)成績占總課程成績的40%。通過讓學(xué)生提交開發(fā)過程中的各種模型、制品,及審查實(shí)驗(yàn)報(bào)告等方式,按各個(gè)實(shí)驗(yàn)?zāi)K及其所占分值的比例加權(quán)求和,給出學(xué)生的實(shí)驗(yàn)成績。
大四上學(xué)期開設(shè)的軟件工程課程設(shè)計(jì)我們?cè)诮虒W(xué)方式上采用案例式教學(xué)法,即設(shè)計(jì)采用了一個(gè)具有代表性的、結(jié)合軟件工程生命周期各階段理論的實(shí)際案例——某大學(xué)的選課系統(tǒng),使其貫穿于整個(gè)教學(xué)過程當(dāng)中。通過實(shí)際案例的演示,激發(fā)了學(xué)生的學(xué)習(xí)熱情,讓學(xué)生積極去思考問題,通過課堂討論、教師點(diǎn)評(píng)等方式,變被動(dòng)接受為主動(dòng)思考、積極參與的學(xué)習(xí)模式,提高了學(xué)生的學(xué)習(xí)自主性和創(chuàng)新能力。在本課程的課程實(shí)踐中,我們將學(xué)生分成4人左右的小組,以實(shí)現(xiàn)一個(gè)完整的應(yīng)用系統(tǒng)為主。在這一過程中,我們始終貫串以團(tuán)隊(duì)為合作前提,以交互和啟發(fā)為手段,以交流和通透為主線,以完成一個(gè)完整的項(xiàng)目為最終目標(biāo),以真正實(shí)現(xiàn)一個(gè)項(xiàng)目。本課程實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)力圖能為學(xué)生留有充分的創(chuàng)新空間,積極鼓勵(lì)學(xué)生進(jìn)行創(chuàng)新設(shè)計(jì)??己说姆椒ㄒ蚤_發(fā)文檔審核、程序現(xiàn)場(chǎng)演示與答辯等方式進(jìn)行綜合考核評(píng)定,激發(fā)學(xué)生的學(xué)習(xí)成就感,培養(yǎng)工程化軟件素養(yǎng),強(qiáng)化交流表達(dá)能力等綜合素質(zhì)的提高。
在大四下學(xué)期開學(xué)的實(shí)訓(xùn),我們更是將學(xué)生置身于實(shí)際的公司所營造的企業(yè)文化氛圍之中,讓學(xué)生經(jīng)歷一次實(shí)踐洗禮。通過畢業(yè)設(shè)計(jì)實(shí)踐,讓學(xué)生在畢業(yè)設(shè)計(jì)中,深入體會(huì)和掌握軟件工程的思想,實(shí)踐相應(yīng)領(lǐng)域的開發(fā)過程、方法和工具,提高對(duì)所學(xué)技術(shù)和方法的掌握和應(yīng)用能力,為成為職業(yè)優(yōu)秀的軟件開發(fā)人員或進(jìn)一步深造打下堅(jiān)實(shí)的基礎(chǔ)。
4軟件工程綜合實(shí)踐教學(xué)環(huán)節(jié)的改革
在本節(jié)所介紹的綜合實(shí)踐教學(xué)環(huán)節(jié)主要指實(shí)訓(xùn)環(huán)節(jié)。計(jì)算機(jī)專業(yè)本科生的綜合實(shí)踐環(huán)節(jié)非常重要,但也是實(shí)際教學(xué)管理中一個(gè)非常困難的環(huán)節(jié)。我系的綜合實(shí)踐環(huán)節(jié)存在著多種運(yùn)作模式的演化。
在2002年以前,本科生的綜合實(shí)踐環(huán)節(jié)主要是在系內(nèi)完成,這一階段的主要情況是學(xué)生人數(shù)不多,且總體素質(zhì)和基礎(chǔ)較好,每一位指導(dǎo)教師指導(dǎo)的學(xué)生人數(shù)平均在4人左右,而老師也能夠就自己的研究或課題提出若干可以研究的內(nèi)容交給學(xué)生進(jìn)行研究和實(shí)現(xiàn),在這一實(shí)踐環(huán)節(jié)的支持下,學(xué)生的畢業(yè)論文也能夠?qū)懙幂^為深入,論文總體質(zhì)量較高。從2003年開始,由于應(yīng)屆學(xué)生人數(shù)的激增,出現(xiàn)了一位指導(dǎo)教師需同時(shí)指導(dǎo)10人左右的局面,這時(shí)的學(xué)生從總體上看,其基礎(chǔ)和能力弱于往屆。我們采用與前面相同的指導(dǎo)制度,但效果并不理想。從2004年開始,為了配合本科教學(xué)評(píng)估,學(xué)校要求將畢業(yè)生全部置于校外實(shí)訓(xùn)/實(shí)習(xí)基地進(jìn)行綜合實(shí)踐。我們?cè)诋?dāng)?shù)睾屯獾胤謩e建立了4個(gè)較大基地,將大部分學(xué)生遣入其中進(jìn)行實(shí)習(xí)。其結(jié)果是,除了少數(shù)負(fù)責(zé)任的單位外,很多實(shí)習(xí)單位將學(xué)生用在“打雜”上。小部分自己找實(shí)習(xí)單位的學(xué)生還存在著作弊的現(xiàn)象。為此,我們?cè)?005年的開始,修改了軟件工程綜合實(shí)踐教學(xué)環(huán)節(jié),針對(duì)全體學(xué)生,在市內(nèi)選擇合格企業(yè)在校外進(jìn)行實(shí)訓(xùn),其實(shí)訓(xùn)內(nèi)容和安排由系教學(xué)委員會(huì)認(rèn)定,將考核權(quán)利下放給實(shí)訓(xùn)單位,這一改革極大地提高了學(xué)生的積極性和參與意識(shí),使得學(xué)生正式和企業(yè)進(jìn)行了直接接觸,初步感受到了企業(yè)文化。但由于該企業(yè)實(shí)訓(xùn)用的場(chǎng)地較少,全系學(xué)生分6批次才完成整個(gè)實(shí)訓(xùn),這加大了我們?cè)诠芾砩系碾y度。從2006年開始,我們又進(jìn)一步改革了軟件工程綜合實(shí)踐環(huán)節(jié),選擇了實(shí)力更強(qiáng)的校外IT企業(yè)進(jìn)行合作,在校內(nèi)使用我系的大型機(jī)房和設(shè)備,完全按照企業(yè)崗前培訓(xùn)的模式,在整個(gè)實(shí)訓(xùn)過程中融入企業(yè)文化,而實(shí)訓(xùn)不僅講技術(shù)和工具方面的內(nèi)容,還引入企業(yè)管理模式和競(jìng)爭機(jī)制。這極大提高了學(xué)生的團(tuán)隊(duì)合作精神和學(xué)生使用實(shí)際工具的能力,也迅速地將學(xué)生所學(xué)理論和知識(shí)轉(zhuǎn)化為實(shí)戰(zhàn)能力,提高了學(xué)生分析和解決問題的能力。這一綜合實(shí)踐環(huán)節(jié)得到了學(xué)生的認(rèn)同,其實(shí)訓(xùn)經(jīng)驗(yàn)在學(xué)生的就業(yè)過程中成為直接的資源,極大提高了學(xué)生的自適應(yīng)力和競(jìng)爭力。
在2007年,我們將在以往成功經(jīng)驗(yàn)的基礎(chǔ)上,進(jìn)一步改革我們的綜合實(shí)踐方法,引入多個(gè)企業(yè)進(jìn)行競(jìng)爭,以便為學(xué)生提供更加廣泛的選擇。
5結(jié)束語
經(jīng)過近幾年的改革和探索,我們的這一教學(xué)計(jì)劃實(shí)現(xiàn)了最初構(gòu)思的效果,現(xiàn)在越來越多的學(xué)生到了國內(nèi)外知名IT企業(yè)就業(yè),達(dá)到了我們對(duì)工程應(yīng)用型人才培養(yǎng)的目標(biāo)?,F(xiàn)以近三年的學(xué)生就業(yè)情況加以說明,具體情況參加下表所示,表中的數(shù)字說明,學(xué)生到企業(yè)、部隊(duì)等基層單位去的人數(shù)大為增加,這從某種層面上講,學(xué)生對(duì)自己的動(dòng)手能力更有自信了,也說明了我們的教學(xué)改革初見了成效。
參考文獻(xiàn)
[1] 華中師范大學(xué)教務(wù)處編. 華中師范大學(xué)本科人才培養(yǎng)方案[M]. 武漢:華中師范大學(xué)出版社,2005.
[2] 華中師范大學(xué)教務(wù)處編. 華中師范大學(xué)本科(打通)人才培養(yǎng)方案[M]. 2006.
葉俊民(1965-),男,教授,博士,主要研究領(lǐng)域?yàn)檐浖こ蹋浖问交椒?/p>
E-mail:jmye@mail.ccnu.edu.cn
本研究得到湖北自然科學(xué)基金面上項(xiàng)目(編號(hào):2007ABA034)和華中師范大學(xué)?;?2006AA22)資助。