[摘要]《軟件工程》是計算機(jī)專業(yè)的一門重要的專業(yè)必修課,是指導(dǎo)軟件開發(fā)與維護(hù)的一門綜合性課程。結(jié)合實(shí)際教學(xué)的體會,根據(jù)軟件工程教學(xué)的現(xiàn)狀,分析教學(xué)中存在的問題,對教學(xué)方法的改進(jìn)和教學(xué)實(shí)踐等方面進(jìn)行論述,并提出一些建議。
[關(guān)鍵詞]軟件工程 教學(xué) 改革
中圖分類號:G64文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0910177-01
一、引言
軟件工程是一門理論性和實(shí)踐性非常強(qiáng)的課程,是指導(dǎo)軟件開發(fā)和維護(hù)的一門綜合性課程。通過本課程的學(xué)習(xí),使學(xué)生了解如何將工程方法運(yùn)用于軟件開發(fā)和維護(hù)中,為從事軟件開發(fā)和維護(hù)提供方法上的指導(dǎo)。對該課程的掌握程度將直接影響學(xué)生畢業(yè)后的軟件開發(fā)能力,所以高等院校對軟件工程的教學(xué)非常重視。然而在實(shí)際教學(xué)中,這門課程的教學(xué)效果并不令人滿意。理論講授太多,實(shí)際的軟件系統(tǒng)示例不足,學(xué)生覺得課程枯燥乏味,很難達(dá)到教學(xué)目的。本文首先分析了教學(xué)中存在的問題,然后提出了一些改進(jìn)的措施。
二、軟件工程教學(xué)中存在的問題
(一)教材內(nèi)容老化。軟件工程發(fā)展迅速,新的技術(shù)、方法和工具不斷涌現(xiàn),而教材內(nèi)容的更新卻遠(yuǎn)遠(yuǎn)跟不上這種發(fā)展。目前高等院校使用教材有的還停留在對面向過程的結(jié)構(gòu)化方法的詳細(xì)論述上,有的連項(xiàng)目組織、軟件成熟度、軟件構(gòu)架、項(xiàng)目風(fēng)險等十分重要的內(nèi)容都未給予足夠的論述。這些很大程度上制約了課程的教學(xué)效果。因此,教材內(nèi)容如何保持與先進(jìn)技術(shù)的同步更新,這是有待解決的問題。
(二)教學(xué)方法單一,難以激發(fā)學(xué)生興趣。軟件工程中基本概念、原理、方法較多,理論性較強(qiáng),當(dāng)前課程的教學(xué)主要采取將學(xué)生集中起來,以課堂講授為主,教學(xué)內(nèi)容一般是重理論而輕實(shí)踐,學(xué)生缺乏感性認(rèn)識。學(xué)生在接受抽象的理論和原則時,難以將抽象的理論和現(xiàn)實(shí)生活聯(lián)系起來,容易產(chǎn)生枯燥乏味的感覺,難以激發(fā)學(xué)生的學(xué)習(xí)興趣。
(三)缺乏實(shí)踐經(jīng)驗(yàn)。該課程要求老師在教學(xué)中要將理論與實(shí)踐相結(jié)合。很多高校的軟件工程課程在教學(xué)中雖然設(shè)置有實(shí)踐環(huán)節(jié),但受到時間以及教學(xué)環(huán)境的限制,無法真正完成一個完整的項(xiàng)目。學(xué)生由于缺乏實(shí)踐的驗(yàn)證,無法體會課堂上所學(xué)理論的實(shí)際意義,難以做到學(xué)以致用。
(四)教師隊(duì)伍自身水平有限。該課程要求授課教師必須具備一定的軟件開發(fā)經(jīng)驗(yàn),在講授時靈活地將理論和實(shí)踐相結(jié)合,使學(xué)生直觀地感覺到課程的實(shí)際意義。但是,在很多高等院校中,教師的核心任務(wù)是教學(xué),承擔(dān)的科學(xué)研究相對較少。教師自身從事軟件項(xiàng)目開發(fā)經(jīng)驗(yàn)不足,對于軟件工程理論、技術(shù)、方法的理解不足,因此很難將理論講的淺顯易懂。這就要求教師要不斷加強(qiáng)學(xué)習(xí),提高自身的水平和能力。
三、教改方案
(一)選擇合適的教材。教材是教學(xué)內(nèi)容的載體。軟件開發(fā)技術(shù)的發(fā)展日新月異,教材難免存在一定的滯后性。因此在選擇教材時,不僅要注重介紹經(jīng)典的軟件工程原理方法,還應(yīng)該考慮到當(dāng)前流行的軟件工程特點(diǎn)、方法及發(fā)展方向,把目前實(shí)用的一些原理技術(shù)作為重點(diǎn)。目前國內(nèi)適合軟件工程課程的教材不多,軟件工程書籍或者純粹闡述軟件工程理論方法,或者僅僅介紹具體的開發(fā)技術(shù)、開發(fā)語言、開發(fā)環(huán)境。根據(jù)國內(nèi)軟件工程教材現(xiàn)狀,授課老師一方面在學(xué)校經(jīng)濟(jì)條件允許基礎(chǔ)上引進(jìn)國外優(yōu)秀的原版軟件工程教材,采取英文教學(xué)。另一方面,可以收集一些軟件公司的成功案例和自身的科研成果自編教材。
(二)激發(fā)學(xué)生的興趣。提高學(xué)生的學(xué)習(xí)興趣,對教學(xué)效果的保障具有重要的意義。軟件工程包含了較多的理論內(nèi)容,是一門理論聯(lián)系實(shí)際的綜合性課程。初學(xué)者往往感到學(xué)習(xí)內(nèi)容雜、知識點(diǎn)多,重點(diǎn)內(nèi)容不好把握。學(xué)生沒有實(shí)際開發(fā)軟件的經(jīng)驗(yàn),看到軟件設(shè)計的題目往往有畏難情緒。因此,提高學(xué)生的學(xué)習(xí)興趣,消除畏難情緒,進(jìn)而提高學(xué)生的學(xué)習(xí)積極性就顯得尤為重要。在具體教學(xué)過程中,可以在相應(yīng)的理論部分引入軟件項(xiàng)目實(shí)例,例如在講述信息管理系統(tǒng)時,可以演示目前學(xué)生正在使用的選課系統(tǒng);講述C2C系統(tǒng)原理時,可以列舉網(wǎng)絡(luò)淘寶系統(tǒng)等等。通過案例可以激發(fā)學(xué)生學(xué)習(xí)興趣,調(diào)動課堂氣氛。
(三)加強(qiáng)實(shí)踐環(huán)節(jié)。軟件工程是一門實(shí)踐性很強(qiáng)的課程,因此在教學(xué)中加強(qiáng)實(shí)踐環(huán)節(jié),對提高教學(xué)效果非常重要。我們應(yīng)該從如下幾個方面加強(qiáng)學(xué)生的實(shí)踐能力:
首先,應(yīng)加強(qiáng)學(xué)生的分析與設(shè)計能力。在講解理論知識的同時,適當(dāng)?shù)卣乙粋€實(shí)際的小項(xiàng)目,要求學(xué)生以獨(dú)立或者合作的方式完成一個中型軟件項(xiàng)目的研發(fā)和測試工作,使學(xué)生經(jīng)歷軟件工程開發(fā)全過程,掌握軟件開發(fā)中使用到的各種工具,初步具有對真實(shí)系統(tǒng)的分析與設(shè)計能力。其次,在實(shí)踐性教學(xué)環(huán)節(jié)中,可以采取循序漸進(jìn)的方式向?qū)W生講授軟件開發(fā)的過程。在課前將選擇的項(xiàng)目案例劃分為幾個模塊,教師使用成熟的開發(fā)工具向?qū)W生演示其中幾個模塊的開發(fā)過程,接著讓學(xué)生自己動手實(shí)現(xiàn)類似的簡單模塊,讓學(xué)生置身于模擬的真實(shí)環(huán)境中,學(xué)習(xí)如何解決問題。從而培養(yǎng)了學(xué)生分析和解決問題的能力。最后,加強(qiáng)學(xué)校和企業(yè)的合作。邀請企業(yè)中有實(shí)際經(jīng)驗(yàn)的資深軟件工程師、專家以切身體驗(yàn)作講座。通過企業(yè)和院校聯(lián)合培養(yǎng)的方式,鼓勵學(xué)生以實(shí)習(xí)的方式參與企業(yè)軟件的研發(fā)工作,這樣可使學(xué)生切實(shí)感受到該課程的重要性,盡早接觸軟件工程的實(shí)際問題,了解軟件開發(fā)的全過程,提高實(shí)踐能力,增強(qiáng)對軟件工程技術(shù)、方法和原理的理解。
(四)提高教師隊(duì)伍的素質(zhì)。師資隊(duì)伍整體水平,決定了教學(xué)質(zhì)量的高低。軟件工程的思想、方法、技術(shù)更新速度快,要求任課教師必須具有較高的獲取新知識的能力。學(xué)校應(yīng)在條件允許的情況下,多給教師外出充電的機(jī)會,接觸新型的技術(shù)與理念。軟件工程本身是一門實(shí)踐性很強(qiáng)的課程,要求教師具有有大型系統(tǒng)分析能力以及實(shí)踐開發(fā)經(jīng)驗(yàn)。學(xué)??梢赃x派相關(guān)授課教師進(jìn)入大型知名軟件公司參與軟件系統(tǒng)的研發(fā),積累軟件設(shè)計和開發(fā)實(shí)際經(jīng)驗(yàn),為日后的教學(xué)工作打下基礎(chǔ)和鋪墊。也可以邀請軟件研發(fā)領(lǐng)域的優(yōu)秀軟件工程師、系統(tǒng)分析員擔(dān)任兼職教師。讓軟件工程師、系統(tǒng)分析員給學(xué)生講述他們的經(jīng)驗(yàn)和教訓(xùn),以此來拓展學(xué)生視野,開闊學(xué)生的知識面。
四、結(jié)束語
本文結(jié)合目前軟件工程教學(xué)的現(xiàn)狀,分析高等院校軟件工程課程中存在的不足。同時筆者結(jié)合教學(xué)的經(jīng)驗(yàn)和體會,提出了一些關(guān)于課程教學(xué)改革建議。教學(xué)中的問題是客觀存在的,課程改革本身就是一項(xiàng)復(fù)雜的工程,要做的事情還有很多。相信隨著各教學(xué)部門對軟件工程教學(xué)的關(guān)注和重視,隨著教學(xué)改革的深入開展,課程教學(xué)會越來越合理,培養(yǎng)的人才也能更好的滿足社會需求。
參考文獻(xiàn):
[1]IEEE Computer Society.SWEBOK[S].Angela Burgess,2007.
[2]沈備軍、李超,反思和抽象在“軟件工程中人的因素”課程學(xué)習(xí)中的應(yīng)用[J].計算機(jī)教育,2006(1):52-56.
[3]王竹云,軟件工程與課程實(shí)踐[J].計算機(jī)時代,2006.12.
[4]潘婭,軟件工程教學(xué)方法探討[M].西南科技大學(xué)高教研究,2006,02.
[5]張艷蘇,學(xué)院“軟件工程”教學(xué)改革探討[M].科技信息,2007,27.
作者簡介:
李建卓(1982-),男,助教,就職于寶雞文理學(xué)院計算機(jī)系。