【摘要】軟件工程是計算機(jī)專業(yè)的一門專業(yè)課。傳統(tǒng)的教學(xué)方式重理論、輕實踐,教學(xué)效果較差。本文分析了軟件工程課程教學(xué)特點、行動導(dǎo)向教學(xué)方法、然后將行動導(dǎo)向教學(xué)法應(yīng)用在軟件工程課程教學(xué)中進(jìn)行研究和探索。
【關(guān)鍵詞】軟件工程 行動導(dǎo)向教學(xué)法
【中圖分類號】G71 【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2013)10-0241-01
《軟件工程》是計算機(jī)專業(yè)的一門專業(yè)課。該課程是將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運行和維護(hù)的全過程及上述方法的研究[1]。通過軟件工程課程的學(xué)習(xí),使學(xué)生能夠在掌握軟件工程的理論、技術(shù)、方法、標(biāo)準(zhǔn)和規(guī)范的同時,可以有效地策劃和管理軟件開發(fā)活動,為學(xué)生參加大型軟件開發(fā)項目打下堅實基礎(chǔ)。
一、《軟件工程》課程教學(xué)分析
(一)《軟件工程》課程的傳統(tǒng)教學(xué)模式。目前,國內(nèi)高校對于該課程的傳統(tǒng)教學(xué)方法是以教師課堂授課為主,學(xué)生被動地聽課,教學(xué)內(nèi)容一般是重理論而輕實踐。即使配備課程實驗,學(xué)生也只是編寫一些規(guī)定的文檔,其開發(fā)方式和手段基本上與軟件工程的要求脫節(jié)。很多學(xué)生在學(xué)習(xí)該課程時,感到內(nèi)容抽象枯燥,甚至覺得本課程沒什么實用價值。
(二)《軟件工程》課程的教學(xué)特點。軟件工程不是一門速成的學(xué)科,其本身的特點決定了它不是完全可以從書本和課堂上學(xué)會的,理解和實踐是非常重要的。軟件工程是一門方法論性質(zhì)的課程,有一定的軟件開發(fā)經(jīng)歷,再學(xué)習(xí)本課程才能體會方法含義。然而學(xué)生通常缺乏實際軟件項目的開發(fā)經(jīng)歷,難以將抽象理論與實際開發(fā)聯(lián)系起來。
二、行動導(dǎo)向教學(xué)法
行動導(dǎo)向是德國職業(yè)教育的主導(dǎo)范式,也稱為行為導(dǎo)向,主要通過具體的項目實施和實踐訓(xùn)練等方式培養(yǎng)適應(yīng)信息社會和知識經(jīng)濟(jì)對勞動者要求的綜合職業(yè)能力。它要求學(xué)生能在教師的引導(dǎo)下,自主尋找解決問題的方法,得到正確的結(jié)果,主要表現(xiàn)在“做中學(xué)”和“學(xué)中做”,最后進(jìn)行成果展示和自我評價,從而達(dá)到鍛煉學(xué)生各種能力的目的[2]。
行動導(dǎo)向教學(xué)提供了多種教學(xué)方法:四階段教學(xué)法、角色扮演法、模擬教學(xué)法、項目教學(xué)法、引導(dǎo)課文教學(xué)法、頭腦風(fēng)暴法、思維導(dǎo)圖法、任務(wù)教學(xué)法、案例教學(xué)法等等。
三、行動導(dǎo)向教學(xué)法在《軟件工程》教學(xué)中的應(yīng)用
(一)將軟件工程思想滲透到專業(yè)學(xué)習(xí)過程中。《軟件工程》是一門理論與實踐聯(lián)系緊密的學(xué)科,學(xué)生在實際的項目中去體會、感受軟件工程的思想和技術(shù)。我們應(yīng)該從單一課程中跳出來,在專業(yè)計劃中將軟件工程的內(nèi)容與前、后課程有機(jī)的融合在一起。
專業(yè)教學(xué)計劃的第三學(xué)期開設(shè)的語言課程為《VB.NET程序設(shè)計》,本學(xué)期最后一周設(shè)置《VB.NET應(yīng)用程序開發(fā)實訓(xùn)》,在程序開發(fā)過程中,可將軟件開發(fā)流程知識點滲透進(jìn)去。第四學(xué)期開設(shè)《軟件工程》課程,本課程案例就采用上學(xué)期VB.NET實訓(xùn)的項目。這樣學(xué)生既鞏固了上學(xué)期的課程,又很熟悉項目,用該項目介紹軟件工程思想,學(xué)生理解起來不吃力。本課程設(shè)置理論教學(xué)和實踐教學(xué)兩部分:前十二周用于理論教學(xué),后四周用于實踐教學(xué)。實踐教學(xué)采用項目教學(xué)法,學(xué)生分組開發(fā)一個小項目,最終上交文檔和程序,并分組答辯。在本課程結(jié)束后,有兩周的綜合實訓(xùn),完全可以采用軟件工程的思想和技術(shù)應(yīng)用的實訓(xùn)的開發(fā)中。這樣就形成了“實踐+理論+實踐+綜合實踐”新的教學(xué)方法。
(二)行動導(dǎo)向教學(xué)法在理論教學(xué)中的應(yīng)用。
1.案例教學(xué)法。案例教學(xué)法是將基本原理、企業(yè)案例、關(guān)鍵技術(shù)與工具等有機(jī)結(jié)合,使抽象枯燥的內(nèi)容變得生動有趣。例如在學(xué)軟件工程進(jìn)度管理時,案例分析:已知一個具體的項目進(jìn)度網(wǎng)絡(luò)圖、項目工期表,由于一些事情發(fā)生,導(dǎo)致最后工期延誤。首先,教師介紹案例,學(xué)生明確工作任務(wù);然后,學(xué)生分組討論導(dǎo)致工期延誤的原因,如果不延誤工期,應(yīng)采取哪些措施;最后各組闡述自己觀點,認(rèn)識軟件工程進(jìn)度控制的重要性。教師要在整個過程中給學(xué)生適當(dāng)?shù)膸椭莆赵u價方法和技巧。
2.角色扮演法。角色扮演教學(xué)法是一種模擬情景的行動導(dǎo)向式教學(xué)方法。例如在將需求分析階段,設(shè)定準(zhǔn)備開發(fā)某一軟件,在了解用戶需求的情境。參與的人員有:客戶、用戶、投資人、產(chǎn)品經(jīng)理、設(shè)計人員、測試人員,系統(tǒng)分析員。系統(tǒng)分析員提問,其他人員回答。學(xué)生可以扮演上述角色,根據(jù)自己扮演的角色提出自己關(guān)注的問題,最終整理用戶需求以文檔形式匯報。教師在整個過程中控制節(jié)奏、指導(dǎo)文檔編寫、評價學(xué)生表現(xiàn)。
3.任務(wù)教學(xué)法。任務(wù)教學(xué)法讓學(xué)生通過具體的工作任務(wù)來訓(xùn)練專業(yè)技能,構(gòu)建專業(yè)理論知識。例如:軟件工程中數(shù)據(jù)流圖畫法。老師首先介紹本節(jié)課程任務(wù)學(xué)會數(shù)據(jù)流圖。然后介紹圖書管理系統(tǒng)項目的數(shù)據(jù)流圖[3]、數(shù)據(jù)流圖的基本組成,布置任務(wù):設(shè)計房產(chǎn)經(jīng)營管理系統(tǒng)數(shù)據(jù)流圖、設(shè)計火車軟硬臥鋪訂票系統(tǒng)數(shù)據(jù)流圖。學(xué)生分組挑選任務(wù),運用剛剛講解知識點,設(shè)計、繪制數(shù)據(jù)流圖。最后教師點評。
(三)行動導(dǎo)向教學(xué)法在實踐教學(xué)中應(yīng)用。 實踐教學(xué)主要采用項目教學(xué)法。項目教學(xué)法是師生通過共同實施一個完整的“項目”工作而進(jìn)行的教學(xué)行動。通過項目教學(xué)法,學(xué)生能夠充分地把不同專業(yè)領(lǐng)域的知識結(jié)合起來,從而獲取必要的技能與知識。
1.教師公布實踐項目,項目開發(fā)要求,項目上交日期,成績評定標(biāo)準(zhǔn)。
2.學(xué)生組建約5人的開發(fā)團(tuán)隊,按照軟件工程管理設(shè)置項目經(jīng)理、設(shè)計開發(fā)進(jìn)度、開發(fā)階段責(zé)任人等工作。分析實踐項目給出的問題描述,完成軟件需求規(guī)格說明。根據(jù)軟件需求規(guī)格說明,設(shè)計軟件系統(tǒng)的總體結(jié)構(gòu),將模塊開發(fā)任務(wù)分配到人。
3.根據(jù)模塊,編寫所有相關(guān)文檔,測試和調(diào)式代碼。在模塊開發(fā)完成后,進(jìn)行整合。
4.將提出一個變更請求,每個團(tuán)隊根據(jù)變更請求修改,然后對系統(tǒng)進(jìn)行包裝和銷售。
加強(qiáng)過程管理,實行每天例會制度,例會上盡量討論問題,學(xué)會溝通技巧和解決沖突的方法。所有任務(wù)都是面向整個團(tuán)隊的,每個團(tuán)隊所有成員都要接受同一個成績。在關(guān)鍵階段實行階段評審機(jī)制,并將上述階段產(chǎn)品置于配置管理的控制之下,嚴(yán)格控制項目開發(fā)進(jìn)度,保證按時交付最終產(chǎn)品。
四、結(jié)束語
行動導(dǎo)向教學(xué)是先進(jìn)的職教方法,該方法對老師課前準(zhǔn)備提出很高的要求,設(shè)計課程單元,選擇教學(xué)方法,設(shè)計簡短、有趣的案例等等。但是實踐效果較好,行動導(dǎo)向教學(xué)法在《軟件工程》教學(xué)過程中激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的實踐和團(tuán)隊協(xié)作能力,應(yīng)該在軟件工程課程中繼續(xù)推進(jìn)行動導(dǎo)向教學(xué)法的研究。
參考文獻(xiàn):
[1]張忠林. 基于項目驅(qū)動模式下的“軟件工程”教學(xué)改革[J]. 計算機(jī)教育,2009,2:53-55
[2]趙建勛.基于行動導(dǎo)向的“Java 程序設(shè)計”教學(xué)研究與實踐[J].蘭州教育學(xué)院學(xué)報,2012, 7:136-137
[3]杜文潔.軟件開發(fā)流程實訓(xùn)教材[].中國水利水電出版社,2009