秦曉薇,劉 燕
(赤峰學(xué)院計(jì)算機(jī)與信息工程學(xué)院,內(nèi)蒙古赤峰024000)
軟件工程課程教學(xué)改革探索與實(shí)踐
秦曉薇,劉 燕
(赤峰學(xué)院計(jì)算機(jī)與信息工程學(xué)院,內(nèi)蒙古赤峰024000)
軟件工程課程的教學(xué)效果直接影響學(xué)生將來(lái)從事軟件項(xiàng)目開(kāi)發(fā)和管理的能力.本文根據(jù)軟件工程的學(xué)科特點(diǎn),結(jié)合精品課建設(shè)要求,闡述了課程定位和培養(yǎng)目標(biāo),提出了理論和實(shí)踐教學(xué)內(nèi)容、方法及考核方式教學(xué)改革的思想和方法,通過(guò)實(shí)踐不僅提高了教學(xué)質(zhì)量,而且培養(yǎng)了學(xué)生的軟件開(kāi)發(fā)能力和綜合素質(zhì).
軟件工程;教學(xué)改革;教學(xué)方法;現(xiàn)代化教學(xué)理念
軟件工程是研究軟件系統(tǒng)構(gòu)建的方法、技術(shù)、過(guò)程、工具、規(guī)范及管理的學(xué)科,在計(jì)算機(jī)軟件和信息管理領(lǐng)域具有重要地位.目前,我國(guó)軟件產(chǎn)業(yè)發(fā)展迅速,人才需求旺盛[1].如何培養(yǎng)符合需求的合格軟件工程人才成為高校教育者必須思考的問(wèn)題.本校自2003年開(kāi)始培養(yǎng)本科生,就把該課程列為一門重點(diǎn)建設(shè)課程,課題組結(jié)合多年的教學(xué)經(jīng)驗(yàn),不斷在課程定位,理論和實(shí)踐教學(xué)內(nèi)容、方法及考核方式方面進(jìn)行改革探索和實(shí)踐,取得了很好的效果.
軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)軟件理論與技術(shù)方向的重要學(xué)科專業(yè)必修課.本課程包括理論教學(xué)與實(shí)踐教學(xué)兩部分,特別強(qiáng)調(diào)理論與實(shí)踐相結(jié)合的現(xiàn)代教學(xué)理念,精心設(shè)計(jì)教學(xué)方案,注重激發(fā)學(xué)生的興趣、挖掘?qū)W生的潛能,培養(yǎng)學(xué)生的分析問(wèn)題和解決問(wèn)題能力.
本課程以培養(yǎng)工程型應(yīng)用人才為目標(biāo),通過(guò)理論教學(xué)環(huán)節(jié),使學(xué)生建立系統(tǒng)的、完整的專業(yè)理論知識(shí)體系,掌握軟件開(kāi)發(fā)及維護(hù)的技術(shù),理解軟件工程過(guò)程和先進(jìn)的軟件項(xiàng)目管理方法.通過(guò)實(shí)踐教學(xué)環(huán)節(jié),培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神和創(chuàng)新意識(shí),提高學(xué)生實(shí)際的軟件開(kāi)發(fā)能力和工程素養(yǎng),使其具備現(xiàn)代軟件工程師所需要的綜合素質(zhì).
軟件工程產(chǎn)生于20世紀(jì)60年代末,是一個(gè)年輕的學(xué)科,但發(fā)展速度非???,新方法、新技術(shù)和新工具層出不窮.這就需要根據(jù)學(xué)科的發(fā)展動(dòng)向,在教學(xué)過(guò)程中不斷更新教學(xué)內(nèi)容,增加對(duì)主流的方法、技術(shù)和工具的講授.
早期的軟件工程方法以結(jié)構(gòu)化分析和設(shè)計(jì)為主,由于分析和設(shè)計(jì)之間銜接困難,現(xiàn)在已經(jīng)逐漸被面向?qū)ο蠓椒ㄋ娲?因此,課程組在教學(xué)內(nèi)容上進(jìn)行優(yōu)化,以主流的面向?qū)ο蠓椒ㄗ鳛榻虒W(xué)重點(diǎn),并結(jié)合課程組教師多年從事面向?qū)ο蠹夹g(shù)教學(xué)和科研的經(jīng)驗(yàn),進(jìn)行深入全面的講解,培養(yǎng)學(xué)生的軟件工程思想.
軟件項(xiàng)目的各階段文檔是評(píng)審和驗(yàn)證軟件質(zhì)量的依據(jù),它是軟件的一個(gè)重要組成部分.軟件開(kāi)發(fā)人員必須掌握軟件項(xiàng)目文檔的撰寫方法和技巧,這是一個(gè)合格的軟件開(kāi)發(fā)人員必備的基本素質(zhì).因此,本課程增加了軟件項(xiàng)目文檔撰寫規(guī)范這部分內(nèi)容,主要講授文檔的撰寫原則及標(biāo)準(zhǔn),并為學(xué)生提供適合面向?qū)ο蠓椒ǖ奈臋n模板,要求學(xué)生按照此模板根據(jù)規(guī)范撰寫軟件項(xiàng)目文檔,從而掌握文檔撰寫的方法和技巧.
在本課程開(kāi)設(shè)初期,沒(méi)有安排實(shí)踐課學(xué)時(shí),軟件開(kāi)發(fā)階段的任務(wù)都是作為課后作業(yè),由每個(gè)學(xué)生來(lái)完成,而不是采取小組團(tuán)隊(duì)的形式.因此,學(xué)生之間缺乏必要的溝通和討論,團(tuán)隊(duì)協(xié)作精神也得不到很好的鍛煉,作業(yè)質(zhì)量也不是很高.為了使學(xué)生能夠深刻理論和掌握本課程的基本理論和相關(guān)技術(shù),掌握軟件過(guò)程的各個(gè)階段的任務(wù)和關(guān)系,本課程增加了實(shí)踐課學(xué)時(shí),并做了詳細(xì)規(guī)劃,模擬軟件開(kāi)發(fā)過(guò)程,將學(xué)生分為5-7人的小組,每組負(fù)責(zé)一個(gè)軟件項(xiàng)目,按照軟件過(guò)程模型的各階段進(jìn)行實(shí)踐,要求提交階段性的產(chǎn)品,最終完成一個(gè)小型軟件系統(tǒng).通過(guò)實(shí)踐課使學(xué)生能夠結(jié)合理論知識(shí),和前期掌握開(kāi)發(fā)技術(shù),提升綜合運(yùn)用各類知識(shí)、技術(shù)的能力.學(xué)生在完成軟件項(xiàng)目設(shè)計(jì)的同時(shí),還掌握了研究問(wèn)題的科學(xué)方法,為今后從事軟件開(kāi)發(fā)工作打下扎實(shí)的基礎(chǔ).
4.1 多種教學(xué)方法相結(jié)合
軟件工程課程的內(nèi)容復(fù)雜、抽象性和理論性很強(qiáng),學(xué)習(xí)難度大.針對(duì)這一特點(diǎn),課程組對(duì)每個(gè)知識(shí)點(diǎn)進(jìn)行深入研究,在教學(xué)方法的選擇上,采用多媒體教學(xué)方法、啟發(fā)式教學(xué)方法、案例教學(xué)方法及實(shí)踐綜合訓(xùn)練等多種教學(xué)方法相結(jié)合的方式,力求直觀再現(xiàn)復(fù)雜知識(shí)結(jié)構(gòu),降低知識(shí)難度,激發(fā)學(xué)習(xí)興趣,提高教學(xué)質(zhì)量.
4.1.1 多媒體教學(xué)與實(shí)踐綜合訓(xùn)練相結(jié)合
對(duì)于“軟件需求規(guī)格說(shuō)明”這一知識(shí)點(diǎn),采用多媒體教學(xué)方法,詳細(xì)講述軟件需求規(guī)格說(shuō)明的概念及所涵蓋的內(nèi)容.但是僅限于課堂的講解,學(xué)生還是很難對(duì)這部分內(nèi)容有深刻的認(rèn)識(shí)和理解,因此,采用了兩種方法解決這個(gè)問(wèn)題.
(1)讓學(xué)生針對(duì)學(xué)期綜合設(shè)計(jì)項(xiàng)目,小組成員之間相互討論,完成項(xiàng)目的需求分析,在討論中掌握需求獲取、歸納和分析的方法.
(2)將前幾屆學(xué)生已經(jīng)完成的軟件需求文檔作為學(xué)習(xí)資料,提供給學(xué)生,通過(guò)對(duì)資料的學(xué)習(xí)、觀摩,理解需求規(guī)格說(shuō)明的意義和撰寫方法.
這樣,通過(guò)多媒體教學(xué)與實(shí)踐綜合訓(xùn)練相結(jié)合,即有理論知識(shí)的講授,又有實(shí)踐資料的學(xué)習(xí),更有實(shí)踐工作的真正參與,使學(xué)生能夠順利掌握學(xué)習(xí)內(nèi)容,達(dá)到理想的教學(xué)效果.
4.1.2 案例教學(xué)與啟發(fā)式教學(xué)相結(jié)合
對(duì)于“用UML進(jìn)行基于用例的系統(tǒng)分析與設(shè)計(jì)”這一知識(shí)點(diǎn)時(shí),采用案例教學(xué)方法,以小型圖書(shū)資料管理系統(tǒng)和自動(dòng)售貨機(jī)管理系統(tǒng)這兩個(gè)小型的信息管理系統(tǒng)為例,進(jìn)行重點(diǎn)分析.在講解過(guò)程中,則主要采用啟發(fā)式教學(xué)方法,以教師為主導(dǎo),提出系統(tǒng)設(shè)計(jì)目標(biāo),并結(jié)合實(shí)際案例給出系統(tǒng)分析和設(shè)計(jì)的問(wèn)題列表,利用問(wèn)答的形式,引導(dǎo)學(xué)生給出每個(gè)問(wèn)題的答案,經(jīng)過(guò)全體同學(xué)的討論,總結(jié)得出系統(tǒng)分析和設(shè)計(jì)的結(jié)果.在此基礎(chǔ)上,由教師適當(dāng)?shù)挠枰匝a(bǔ)充和完善.課堂氣氛活躍,分析討論過(guò)程熱烈,極大地調(diào)動(dòng)了學(xué)生的學(xué)習(xí)積極性.
通過(guò)案例教學(xué)與啟發(fā)式教學(xué)相結(jié)合,教師在上理論課時(shí)做到有的放矢,不但展開(kāi)了教學(xué)內(nèi)容,而且激發(fā)了學(xué)生的學(xué)習(xí)興趣,更好地培養(yǎng)了學(xué)生的實(shí)踐創(chuàng)新能力.
4.2 實(shí)踐教學(xué)活動(dòng)的設(shè)計(jì)
軟件工程課程的實(shí)踐教學(xué)效果如何,直接關(guān)系到本專業(yè)學(xué)生今后從事軟件項(xiàng)目開(kāi)發(fā)和管理的能力.因此,加強(qiáng)軟件工程課程的實(shí)踐教學(xué)勢(shì)在必行.實(shí)踐教學(xué)強(qiáng)調(diào)理論與實(shí)踐相結(jié)合的教學(xué)理念,由“理論教學(xué)內(nèi)容強(qiáng)化與訓(xùn)練”和“軟件項(xiàng)目實(shí)訓(xùn)”兩個(gè)實(shí)踐教學(xué)環(huán)節(jié)構(gòu)成.
4.2.1 理論教學(xué)內(nèi)容強(qiáng)化與訓(xùn)練
理論教學(xué)內(nèi)容強(qiáng)化與訓(xùn)練的目標(biāo)是鞏固所學(xué)的理論知識(shí),使學(xué)生認(rèn)識(shí)到理論指導(dǎo)實(shí)踐的重要作用.課程組通過(guò)案例講解、課后作業(yè)講評(píng)、提供教學(xué)資源等方法,使學(xué)生深刻、全面、熟練的掌握軟件工程抽象的理論知識(shí),并能夠在實(shí)踐中自覺(jué)的運(yùn)用軟件工程的思想進(jìn)行軟件項(xiàng)目的開(kāi)發(fā).同時(shí)教授學(xué)生使用相應(yīng)的CASE工具,如軟件開(kāi)發(fā)繪圖工具Visio、軟件分析設(shè)計(jì)與建模工具Rose等,并利用用友公司的ERP實(shí)訓(xùn)沙盤,使學(xué)生了解企業(yè)的運(yùn)營(yíng)模式,為項(xiàng)目實(shí)訓(xùn)的實(shí)施提供支持.
4.2.2 軟件項(xiàng)目實(shí)訓(xùn)
軟件項(xiàng)目實(shí)訓(xùn)是一項(xiàng)綜合性的工程設(shè)計(jì)型實(shí)踐,按照軟件工程的人員管理方法,將學(xué)生分為5-7人的項(xiàng)目開(kāi)發(fā)小組,模擬軟件企業(yè)的軟件項(xiàng)目管理和開(kāi)發(fā)過(guò)程,每個(gè)成員根據(jù)其愛(ài)好和特長(zhǎng)由項(xiàng)目負(fù)責(zé)人分配不同的開(kāi)發(fā)角色,完成某個(gè)軟件過(guò)程階段性的任務(wù),提交軟件過(guò)程制品.通過(guò)對(duì)一個(gè)完整軟件項(xiàng)目開(kāi)發(fā)的全過(guò)程實(shí)踐,培養(yǎng)學(xué)生綜合性的軟件工程能力.在實(shí)施上采取與課程理論教學(xué)同步進(jìn)行,分階段實(shí)施.教師隨時(shí)對(duì)課程設(shè)計(jì)過(guò)程進(jìn)行監(jiān)控,通過(guò)面對(duì)面答疑或網(wǎng)絡(luò)在線答疑方式進(jìn)行指導(dǎo).
通過(guò)實(shí)踐教學(xué)活動(dòng)的實(shí)施,使學(xué)生將所學(xué)的理論、方法和技術(shù)有機(jī)地結(jié)合起來(lái),深切體會(huì)到軟件過(guò)程管理、配置管理、測(cè)試管理及軟件過(guò)程制品的真正含義以及在軟件工程過(guò)程中的作用,并自覺(jué)在未來(lái)的開(kāi)發(fā)工作中運(yùn)用.
課程組從培養(yǎng)目標(biāo)出發(fā),認(rèn)真討論軟件工程考試改革辦法,確定了以筆試考核與軟件項(xiàng)目實(shí)踐考核相結(jié)合,綜合評(píng)定的方法.筆試考核主要考察學(xué)生對(duì)軟件工程理論知識(shí)的掌握和理解程度,選擇開(kāi)卷考試方式,卷面試題有30%具有綜合性,并有40%的實(shí)踐設(shè)計(jì)題,讓學(xué)生有充分的創(chuàng)造空間.軟件項(xiàng)目實(shí)踐考核主要考察學(xué)生的綜合應(yīng)用能力和團(tuán)隊(duì)合作精神,采用小組自評(píng)和學(xué)期末項(xiàng)目組答辯的形式.在答辯前,各小組先進(jìn)行組內(nèi)評(píng)定,由小組負(fù)責(zé)人組織組員根據(jù)各自的角色分工及完成情況,進(jìn)行打分,然后,各組通過(guò)答辯,由教師確定答辯分?jǐn)?shù).軟件項(xiàng)目實(shí)踐的成績(jī)由組內(nèi)自評(píng)分?jǐn)?shù)和答辯分?jǐn)?shù)綜合評(píng)價(jià)給出,避免了評(píng)分的主觀性和片面性.
本課程的總成績(jī)由平時(shí)成績(jī)、軟件項(xiàng)目實(shí)踐成績(jī)和筆試成績(jī)構(gòu)成,其中,平時(shí)成績(jī)占10%,軟件項(xiàng)目實(shí)踐成績(jī)占30%,筆試成績(jī)占60%.在總成績(jī)中加大了軟件項(xiàng)目實(shí)踐成績(jī)的比例,使得學(xué)生更加重視項(xiàng)目實(shí)訓(xùn)環(huán)節(jié)的學(xué)習(xí),學(xué)習(xí)興趣得到激發(fā),實(shí)際的軟件開(kāi)發(fā)能力也得到加強(qiáng),同時(shí)也培養(yǎng)了團(tuán)隊(duì)合作精神和創(chuàng)新意識(shí).
經(jīng)過(guò)多年的教學(xué)改革探索和實(shí)踐,優(yōu)化了軟件工程課程的教學(xué)內(nèi)容,及時(shí)補(bǔ)充本學(xué)科的新方法和新技術(shù),在教學(xué)過(guò)程中將多種教學(xué)方法有效結(jié)合,充分激發(fā)了學(xué)生的學(xué)習(xí)興趣,增加了學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,教學(xué)質(zhì)量也得到提高.通過(guò)實(shí)踐教學(xué)的增加和強(qiáng)化,較好地解決了理論知識(shí)與實(shí)踐脫節(jié)的問(wèn)題,為學(xué)生實(shí)際動(dòng)手能力的提高提供了很好的鍛煉平臺(tái),同時(shí)也強(qiáng)化了學(xué)生的理論知識(shí),提高了其分析問(wèn)題和解決問(wèn)題的能力,培養(yǎng)了其進(jìn)行探究性、協(xié)作性學(xué)習(xí)的能力和團(tuán)隊(duì)合作精神,為其適應(yīng)軟件產(chǎn)業(yè)發(fā)展需求和順利就業(yè)提供了必要的前期準(zhǔn)備.
軟件工程理論性和實(shí)踐性強(qiáng),且發(fā)展迅速,因此,在及時(shí)調(diào)整教學(xué)內(nèi)容的同時(shí),還要積極探索新的教學(xué)方法和手段,設(shè)計(jì)符合實(shí)際情況的教學(xué)方案,才能不斷提高課程的教學(xué)質(zhì)量,培養(yǎng)出符合軟件產(chǎn)業(yè)發(fā)展需求的合格人才.
〔1〕陳登坤.中國(guó)軟件產(chǎn)業(yè)自主創(chuàng)新及人才需求趨勢(shì)[J].中國(guó)教育信息化,2010(1):89-90.
〔2〕Ann E.K.Sobel.Computing Curricula—Software Engineering Volume[C].IEEE Computer Society and ACMEducation Board,April 30,2003.
〔3〕孫水華,鄭磊,林志強(qiáng).以行業(yè)需求為導(dǎo)向的應(yīng)用型本科軟件工程專業(yè)課程體系構(gòu)建[J].2011(14):16-18.
〔4〕沈備軍.軟件工程教學(xué)模式的研究與實(shí)踐[J].計(jì)算機(jī)教育,2005(1):39-42.
〔5〕文俊浩.軟件工程人才培養(yǎng)體系研究與實(shí)踐[J].高等工程教育研究,2005(4):63-65.
〔6〕陳云芳,孫力娟.軟件工程專業(yè)課程體系研究[J].高等工程教育研究,2009(2):140-144.
G642
A
1673-260X(2013)08-0236-02
高等學(xué)校專業(yè)綜合改革試點(diǎn)項(xiàng)目