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