軟件工程教學(xué)若干問題的思考淺研
本文關(guān)鍵詞:軟件工程教學(xué)若干問題的思考,由筆耕文化傳播整理發(fā)布。
當(dāng)前位置: 【中國碩士論文網(wǎng)】 >> 工程碩士論文 >> 軟件工程碩士論文 >> 軟件工程教學(xué)若干問題的思考淺研
軟件工程教學(xué)若干問題的思考淺研
來源:
【摘要】文章分析了《軟件工程》課程及教學(xué)的特點,討論了目前《軟件工程》教學(xué)過程中幾個比較突出的問題,提出了提高軟件工程教學(xué)效果的幾點建議。
【關(guān)鍵詞】軟件工程;UML建模;案例教學(xué);CMM
(一)引言
《軟件工程》是計算機科學(xué)與技術(shù)及相關(guān)專業(yè)必修的一門重要的專業(yè)課程,作者根據(jù)教學(xué)過程中的體會分析了《軟件工程》課程及教學(xué)的特點,討論了目前《軟件工程》教學(xué)過程中幾個比較突出的問題,提出了提高軟件工程教學(xué)效果的幾點建議。
(二)軟件工程課程教學(xué)的特點
1.軟件工程課程特點
《軟件工程》是計算機專業(yè)的一門工程性課程,是計算機科學(xué)與技術(shù)領(lǐng)域的重要學(xué)科。本課程主要講述建造軟件系統(tǒng)的方法、技術(shù)、流程、工具及規(guī)范等。通過學(xué)習(xí)可以使學(xué)生掌握軟件工程的基本概念、基本原理、實用的開發(fā)方法和技術(shù);了解軟件工程各領(lǐng)域的發(fā)展動向;如何用工程化的方法開發(fā)軟件項目,在開發(fā)過程中應(yīng)遵循的流程、準則、標準和規(guī)范。作為一門實踐性和綜合性很強的課程,它是各種開發(fā)經(jīng)驗的總結(jié)與提煉。該課程對培養(yǎng)學(xué)生的軟件素質(zhì),提高學(xué)生的軟件開發(fā)能力具有重要的意義。
2.軟件工程教學(xué)特點
軟件工程是一門教學(xué)難度比較大的課程。主要原因有以下幾點:第一,軟件工程作為一門指導(dǎo)計算機軟件開發(fā)與維護的工程學(xué)科,研究的范圍很廣,包括技術(shù)方法、工具和管理等許多方面;第二,軟件工程是一門邊緣學(xué)科,涉及的領(lǐng)域很多,如計算機科學(xué)、系統(tǒng)工程學(xué)、管理學(xué)、經(jīng)濟學(xué)等,內(nèi)容十分豐富;第三,軟件工程是一個年輕的領(lǐng)域,尚未形成成熟的教學(xué)模式,教材也少有提供較為成熟的設(shè)計訓(xùn)練實踐內(nèi)容。因此,教師往往把重點放在課堂教學(xué)上,同時應(yīng)加強軟件工程教學(xué)中的實踐環(huán)節(jié),讓學(xué)生真正能夠?qū)W以致用。
(三)軟件工程教學(xué)中幾個比較突出的問題
1.課程方面存在的問題
(1)對軟件工程人才培養(yǎng)模式與目標認識存在偏差
印度、美國、以色列等軟件強國的成功經(jīng)驗表明,合理的軟件人才結(jié)構(gòu)應(yīng)成高、中、低的金字塔型,即處于高端的軟件項目經(jīng)理和系統(tǒng)分析師,位于中間層次的項目管理人員和軟件工程師,處于低端的程序編寫人員。而中國的軟件人才則呈明顯的橄欖形,高端人才和低層人才都大量匱乏。我國高校計算機本科教育所培養(yǎng)的大都是處于中間層次的軟件人員,系統(tǒng)分析和項目組織管理做不了,基礎(chǔ)的代碼編寫又不愿意干。筆者認為,當(dāng)前高校計算機教育應(yīng)實行“層次發(fā)展”戰(zhàn)略,一流綜合性大學(xué)主要承擔(dān)計算機科學(xué)與技術(shù)研究方面高層次人才培養(yǎng)任務(wù),一般院校更多立足低端計算機人才培養(yǎng)任務(wù)。
(2)教學(xué)內(nèi)容與實際相脫節(jié)
自1968年提出“軟件工程”這個詞以來,30多年來軟件工程的發(fā)展已經(jīng)歷了四代!暗谝淮笔莻鹘y(tǒng)的軟件工程,體現(xiàn)的是結(jié)構(gòu)化的分析與設(shè)計方法, “第二代”是面向?qū)ο蟮能浖こ蹋?“第三代”是引入“軟件過程”概念的軟件工程, “第四代”是基于構(gòu)件開發(fā)方法的軟件工程。軟件工程的發(fā)展速度是驚人的,但是許多院,F(xiàn)有教學(xué)內(nèi)容相對陳舊,仍然以傳統(tǒng)的軟件開發(fā)方法為主。原因是考慮到知識的延續(xù)性,由于學(xué)生從結(jié)構(gòu)化的程序設(shè)計語言開始學(xué)習(xí),這類傳統(tǒng)的知識比較容易被接受。而現(xiàn)代的軟件工程內(nèi)容豐富,不斷涌現(xiàn)新的開發(fā)方法與技術(shù),如構(gòu)件技術(shù)、UML建模等。這些知識實用性高,但受到學(xué)生知識結(jié)構(gòu)和實踐經(jīng)驗的限制并不容易被接受,同時也不可能在軟件工程這一門課中完全講授,這樣勢必造成學(xué)生的學(xué)習(xí)時效性差,跟不上信息產(chǎn)業(yè)技術(shù)發(fā)展的步伐,造成學(xué)非所用。
(3)教學(xué)安排方面存在的問題
軟件工程教學(xué)內(nèi)容上較少體現(xiàn)軟件工程與其他計算機課程的綜合。軟件工程與其他計算機課程,如程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫以及操作系統(tǒng)等課程都是相互作用和影響的。因此,在教學(xué)內(nèi)容的安排上應(yīng)該注意其它相關(guān)課程內(nèi)容的相互滲透。
教學(xué)時間跨度上,學(xué)生接觸這門課的時間不夠。軟件工程課一般只有一個學(xué)期,而且在這一個學(xué)期里學(xué)生不只學(xué)這一門課,同時還有不少其他課程。不容易滿足軟件工程課對實踐的長期要求。軟件工程課程與其他課程銜接得不是很理想。軟件工程的學(xué)習(xí)應(yīng)有一些先修課程如程序設(shè)計、數(shù)據(jù)結(jié)構(gòu);還應(yīng)具備操作系統(tǒng)、數(shù)據(jù)庫、編譯原理的一些知識。哪些課程應(yīng)先學(xué),哪些課程可以并行,并行的課程在時間上如何與軟件工程課程銜接等,都是課程安排時需要考慮的問題。
2.學(xué)生方面存在的問題
(1)學(xué)生對軟件工程的抽象理論容易感到枯燥乏味
這門課不涉及具體軟件項目及軟件算法。不像程序設(shè)計課程能帶給學(xué)生智力上的快感,激發(fā)學(xué)生的興趣和熱情。而且由于開發(fā)經(jīng)驗所限,學(xué)生很難在頭腦中將軟件工程的抽象理論和實際聯(lián)系起來,因此較難對這門課程產(chǎn)生興趣。在接受抽象的理論時,容易產(chǎn)生枯燥乏味的感覺。
(2)實踐環(huán)節(jié)比較薄弱
在課程的教學(xué)中,如果只是一味地進行枯燥抽象的課堂講授,而較少給學(xué)生提供實驗尤其是項目實踐的體驗,學(xué)生則很難理解,覺得用處不大,因此極易產(chǎn)生厭學(xué)情緒。產(chǎn)生這種現(xiàn)狀的原因是課程的總課時不充足,缺乏相應(yīng)的軟件工程實驗軟件,學(xué)生上機實驗比較困難;而且有些實踐內(nèi)容顯得太復(fù)雜太耗時,對教師和學(xué)生的要求都很高,不太適合初次接觸軟件工程的學(xué)生。
(3)學(xué)生難以參與軟件開發(fā)的全過程
例如,學(xué)生很少有機會去參與真正的軟件維護?删S護性是軟件工程一項重要的質(zhì)量指標,可維護性的保證依賴于維護階段前面的各階段。但學(xué)生開發(fā)的系統(tǒng)大多只是給任課教師大概地檢查一下,一般不會交付使用,沒有經(jīng)受用戶的真正嚴格的檢驗,代碼里面的很多錯誤被隱藏起來了。這些錯誤可能來源于編碼前面的各個階段,可能來源于需求分析、設(shè)計或編碼階段等等。但如果學(xué)生看不到錯誤,也就不能對這些錯誤進行維護修正,不能體會到自己前面各階段工作對可維護性造成的影響。
3.教師方面存在的問題
(1)教師的業(yè)務(wù)素質(zhì)有待提高
從授課教師的角度來講,要講好這門課也是有一定難度的。首先教師對軟件工程本身要有深刻的理解,有一定的軟件開發(fā)經(jīng)驗,最好有一定的項目和工程背景,這樣教師能從自己的開發(fā)實踐中理解軟件工程的基本原理與方法,講授時就能結(jié)合實際,可操作性強,學(xué)生能直觀地感覺到該門課程的重要性,從而產(chǎn)生強烈的學(xué)習(xí)興趣。因此從教學(xué)上來說需要從實踐的環(huán)節(jié)出發(fā),以開發(fā)實例來講清楚理論,而不是照本宣科,這就對授課教師提出了較高的要求。
(2)教學(xué)方法不能適應(yīng)人才培養(yǎng)的需要
軟件工程學(xué)是軟件開發(fā)、運行、維護的系統(tǒng)化方法學(xué)。該課程的實施應(yīng)是理論與實踐密切結(jié)合,在實踐中使學(xué)生對所學(xué)的軟件開發(fā)理論加以理解、通過實踐對軟件的開發(fā)技術(shù)有進一步的認識和掌握。然而在國內(nèi)的絕大多數(shù)院校的教學(xué)過程中,以及相關(guān)的教材中都未提供規(guī)模適度且適于學(xué)生進行工程實踐的例程。另外,我們的許多教學(xué)環(huán)節(jié),如課程體系構(gòu)建、教學(xué)內(nèi)容設(shè)計、實踐環(huán)節(jié)及內(nèi)容安排、師資隊伍素質(zhì)及配備等,都比較忽視程序設(shè)計、軟件工程規(guī)范化教學(xué)和訓(xùn)練,致使培養(yǎng)的學(xué)生制作開發(fā)的程序風(fēng)格迥異,缺乏規(guī)范。這些都影響軟件人才的質(zhì)量。
(四)提高軟件工程教學(xué)效果的幾點建議
以上分析了軟件工程課程及教學(xué)的特點,列舉和說明了在課程的內(nèi)容設(shè)置、教學(xué)安排、學(xué)生學(xué)習(xí)、教師授課方面存在的不足。概括地講,這些不足可歸結(jié)為四點:第一,教學(xué)內(nèi)容和教學(xué)安排不甚合理;第二,學(xué)生興趣和熱情不高;第三,學(xué)生實踐經(jīng)驗缺乏;第四、授課教師缺乏經(jīng)驗。要改變現(xiàn)狀、提高教學(xué)效果,筆者認為應(yīng)該改進教學(xué)內(nèi)容和教學(xué)安排.激發(fā)學(xué)生學(xué)習(xí)興趣和熱情,加強教學(xué)實踐環(huán)節(jié),提高授課教師業(yè)務(wù)素質(zhì)。下面提出了提高軟件工程教學(xué)效果的幾點建議。
1.提高對軟件工程課程重要性的認識
從目前軟件應(yīng)用層面上看,隨著經(jīng)濟和科技的深入發(fā)展,對新的軟件的需求以及對已投入運行的軟件進行維護的需求正在急劇膨脹,但迄今為止,開發(fā)及維護軟件的成本仍然居高不下,軟件質(zhì)量無法得到可靠的保證,軟件的生產(chǎn)率尚無法跟上時代的要求,并且已經(jīng)成為不僅是計算機系統(tǒng)開發(fā)而且也是計算機應(yīng)用發(fā)展的瓶頸。
從軟件工程技術(shù)本身看,在計算機系統(tǒng)研究及軟件開發(fā)的早期所形成的一些錯誤概念和做法, 已嚴重地阻礙了計算機軟件的開發(fā)。軟件工程學(xué)即是研究軟件開發(fā)與維護的普遍原理和技術(shù)的工程學(xué)科。美國計算學(xué)會ACM在2001年2月制定的CC2001草案中,再次將軟件工程列入計算機專業(yè)中的14大知識點之一,由此可見軟件工程在計算機學(xué)科中的地位。軟件工程是一門十分重要的計算機專業(yè)課程,當(dāng)務(wù)之急是提高在計算機學(xué)科中的地位,具體應(yīng)體現(xiàn)在課程的修讀類別及教學(xué)時數(shù)上,將該課程作為計算機科學(xué)與技術(shù)專業(yè)的必修課程,學(xué)時數(shù)宜控制在5O學(xué)時左右。
2.促進教學(xué)內(nèi)容與實際相結(jié)合
通過建設(shè)精品課程搞好教材建設(shè),選擇最先進、最權(quán)威的教材,編寫吸收最新科研成果的教材。不論采用校內(nèi)外優(yōu)秀出版教材還是國外教材,都會建設(shè)一批配套的教學(xué)輔助材料。例如,編寫或介紹一些參考書、實驗指導(dǎo)書、外文讀物等等。此外,特別強調(diào)要指導(dǎo)學(xué)生查閱文獻、閱讀大量與課程教學(xué)內(nèi)容相關(guān)的參考資料,以培養(yǎng)學(xué)生掌握學(xué)科最新發(fā)展動態(tài)和開拓知識的能力。精品課程的建設(shè),力圖形成立體的課程結(jié)構(gòu),集教學(xué)平臺、實踐環(huán)節(jié)、學(xué)習(xí)專欄、學(xué)科前沿、學(xué)科專題等于一體,代表了最先進最全面的教學(xué)內(nèi)容和方法,使教學(xué)跟上軟件工程發(fā)展的步伐。
3.激發(fā)學(xué)生學(xué)習(xí)興趣和熱情
這可以從課堂氣氛、內(nèi)容選擇、語言表達三個方面入手。課堂氣氛方面,應(yīng)鼓勵學(xué)生多參與,不能總讓學(xué)生被動地聽,在講解時應(yīng)盡量營造探究氣氛,增強教師與學(xué)生的交流互動。內(nèi)容選擇方面,可以選一些容易引起學(xué)生興趣的素材。例如,筆者在課堂上講到編碼風(fēng)格這一章時,拿了一個自己編寫的俄羅斯方塊游戲程序給學(xué)生看。由于這種游戲?qū)W生普遍都感興趣,因此在講解這個程序中的編碼風(fēng)格時,學(xué)生注意力都很集中,收到了較好的教學(xué)效果。語言表達方面,可以在講課時多用一些形象、有趣的事例或類比來說明或代替那些抽象、枯燥的理論陳述。
4.加強和重視案例教學(xué)
通過工程實踐掌握軟件開發(fā)、維護的理論和技術(shù),既快捷又簡單易懂,將復(fù)雜抽象的概念用具體生動的實例進行詮釋,能夠收到事半功倍的效果。精心設(shè)計規(guī)模和難度適當(dāng),符合教學(xué)要求的案例,是這門課程的教學(xué)活動中一個重要環(huán)節(jié)。具體案例的選擇最好是一個實際的工程項目實例,有成功的經(jīng)驗,也有失敗的教訓(xùn)。以實際工程項目需求為背景,可以將學(xué)生分為多個項目小組,各小組應(yīng)獨立完成項目的需求調(diào)查、需求規(guī)范說明、系統(tǒng)分析設(shè)計、直至最終提交產(chǎn)品等各階段的任務(wù)。要求各個小組嚴格按照軟件過程規(guī)范,設(shè)計需求調(diào)查提綱,編寫詳盡的需求規(guī)范說明書,選擇恰當(dāng)?shù)姆媳卷椖繉嶋H的軟件過程技術(shù)、工具,制訂出完善的項目管理措施,合理配置項目組的成員,層層推進,,按時提交產(chǎn)品以及相關(guān)的文檔資料。
5.不斷提高教師自身的理論水平
計算機技術(shù)的發(fā)展非常迅速,理論知識的更新頻率越來越快。 《軟件工程》既包括原理、方法,也包括技術(shù)和管理。軟件工程的方法從傳統(tǒng)的結(jié)構(gòu)化方法和面向結(jié)構(gòu)的Jackson方法,發(fā)展到面向?qū)ο蟮能浖こ谭椒ǎM而到基于Web技術(shù)的軟件工程方法,變化很大。在技術(shù)方面,軟件復(fù)用、構(gòu)件接口等新技術(shù)也逐漸發(fā)展和完善,成為傳統(tǒng)的結(jié)構(gòu)化技術(shù)之后的主流技術(shù)。此外,為了保證軟件的質(zhì)量,軟件工程領(lǐng)域中項目管理這一部分,也越來越受到重視,在CMM(軟件能力成熟度模型)指導(dǎo)之下的軟件開發(fā)的過程管理方法越來越科學(xué),軟件質(zhì)量和開發(fā)過程的評估體系也逐漸完善。這些新的理論、方法和技術(shù)都需要該門課程的教師不斷學(xué)習(xí)、更新和實踐,以提高自身的理論和科研水平。
(五)結(jié)束語
以上是從課程的內(nèi)容設(shè)置、教學(xué)安排、學(xué)生學(xué)習(xí)、教師授課等方面考察分析了軟件工程教學(xué)中存在的不足。要改進軟件工程課程的教學(xué),除了要遵循教育學(xué)的普遍規(guī)律,合理安排課程內(nèi)容外,還要培養(yǎng)學(xué)生的學(xué)習(xí)興趣,重視理論和實際相結(jié)合,注重提高授課教師自身的業(yè)務(wù)素質(zhì)。
中國碩士論文網(wǎng)提供大量免費工程碩士論文,如有業(yè)務(wù)需求請聯(lián)系客服人員
您現(xiàn)在閱讀的文章:《軟件工程教學(xué)若干問題的思考淺研》由提供,轉(zhuǎn)載請保留鏈接。
前一篇: 獨立學(xué)院軟件工程教學(xué)方法談?wù)f
后一篇: 軟件工程課程群設(shè)計淺說
本文關(guān)鍵詞:軟件工程教學(xué)若干問題的思考,由筆耕文化傳播整理發(fā)布。
本文編號:63067
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/63067.html