◆王秀珍 陳 萍
(中國人民解放軍陸軍軍官學(xué)院)
軟件工程課程教學(xué)方法探討
◆王秀珍 陳 萍
(中國人民解放軍陸軍軍官學(xué)院)
軟件工程,是計算機(jī)專業(yè)的基礎(chǔ)課程,它對學(xué)員以后從事軟件開發(fā)起著舉足輕重的作用,因此我們要重視軟件工程課程的教學(xué)。立足學(xué)院計算機(jī)教育的現(xiàn)狀和當(dāng)今軍隊對IT人才的需求,并結(jié)合自身擔(dān)任軟件工程課程的教學(xué)工作,提出了一系列行之有效的教學(xué)方法。有效地使用這些教學(xué)方法可以激發(fā)學(xué)員的學(xué)習(xí)興趣,提高學(xué)習(xí)效率,促進(jìn)學(xué)員、教員和教學(xué)資源之間的知識交互,并使得理論與實踐能緊密融合。
軟件工程 教學(xué)方法 主動性 創(chuàng)造性
軟件工程是一門理論性和實踐性都很強(qiáng)的學(xué)科,軟件工程課程的教學(xué)分為兩種形式:理論教學(xué)和實踐教學(xué)。教學(xué)的目的是幫助學(xué)員獲得用知識和技能解決實踐問題的能力。理論教學(xué)必須為學(xué)員提供指導(dǎo),來促進(jìn)學(xué)員高級思維能力的發(fā)展,培養(yǎng)學(xué)員的自主學(xué)習(xí)能力以及在團(tuán)隊協(xié)作中共同解決復(fù)雜問題的能力。
軟件工程課程內(nèi)容繁雜,理論與技術(shù)方法眾多,課程中涉及的概念、原理比較抽象、復(fù)雜,理解困難,學(xué)員在學(xué)習(xí)過程中容易感到枯燥、乏味,難以激發(fā)學(xué)習(xí)熱情,所以教員在實際的教學(xué)過程中應(yīng)注意多種教學(xué)方法的合理運(yùn)用,以提高教學(xué)效果。
理論教學(xué)方法就是在理論課的講述過程中所用到的教學(xué)方法。筆者在理論課的講述中,所用到的教學(xué)方法大致有下列幾種:多媒體教學(xué)、案例教學(xué)、啟發(fā)-探索式教學(xué)。
信息化社會必然要求有適合信息化社會的教育條件?!肮び破涫?,必先利其器?!倍嗝襟w就是一種已經(jīng)打造好的教學(xué)“利器”,我們要充分利用好多媒體資源以增大課堂的信息量,拓寬學(xué)員的知識面,提高教學(xué)效率。在多媒體教學(xué)中,節(jié)省了大量板書的時間,教員可以經(jīng)常采用“提問一回答”的交互方式,鼓勵學(xué)員提出問題和討論問題,充分發(fā)揮學(xué)員的思考威力,增加了教學(xué)的靈活性,更有利于引導(dǎo)學(xué)員思維,增強(qiáng)師生間的交流,形成教與學(xué)的互動,促進(jìn)教與學(xué)的相長。
案例教學(xué)法就是在理論教學(xué)中引入實際案例,將復(fù)雜抽象的概念用具體生動的案例進(jìn)行詮釋。同傳統(tǒng)的教學(xué)方法相比,案例教學(xué)法具有親驗性、啟發(fā)性、參與性、實踐性等特點,是培養(yǎng)學(xué)員創(chuàng)新和實踐能力的重要手段。
軟件工程課程具有強(qiáng)烈的工程和項目背景,在軟件工程理論教學(xué)過程中,如果單純地講解空洞乏味的原理、概念和方法,會使缺乏軟件開發(fā)實際經(jīng)驗的學(xué)員有種“丈二和尚摸不著頭腦”的感覺,遇到具體項目時無法下手。案例教學(xué)不僅可以幫助學(xué)員學(xué)會軟件工程的思想、方法和技術(shù),而且可以加強(qiáng)學(xué)員團(tuán)隊合作能力的培養(yǎng),有利于啟發(fā)學(xué)員創(chuàng)新潛能、提高學(xué)員實際解決問題的能力,達(dá)到事半功倍的效果。
軟件開發(fā)的典型案例,是幫助學(xué)員掌握軟件工程方法、進(jìn)行軟件開發(fā)的最好范例。在教學(xué)過程中,教員應(yīng)精心選擇與專業(yè)有關(guān)、學(xué)員熟悉、且功能完整的案例(如部隊公文管理系統(tǒng),軍事訓(xùn)練信息管理系統(tǒng),學(xué)員學(xué)籍管理系統(tǒng),聯(lián)合作戰(zhàn)指揮信息系統(tǒng)等),將這些經(jīng)典的案例貫穿于理論知識的講解中,使學(xué)員真正理解書中的理論知識,建立軟件開發(fā)的系統(tǒng)化與工程化觀念和質(zhì)量意識。
例如,在講授需求分析這章時,可以以學(xué)員較熟悉的“學(xué)員學(xué)籍管理系統(tǒng)”作為討論案例,先要求他們按軟件工程學(xué)的思想和方法認(rèn)真做好需求分析,然后組織課堂討論,進(jìn)而得出需求分析的步驟:需求獲取、需求建模、編寫需求說明文檔、需求驗證。在這個過程中,同學(xué)們能夠深刻理解和掌握需求分析的方法和步驟,并充分認(rèn)識到需求分析的重要性。
在講授軟件工程技術(shù)這章時,可以結(jié)合軍事訓(xùn)練系統(tǒng)管理系統(tǒng)案例,講解需求工程、軟件體系結(jié)構(gòu)設(shè)計、用戶界面設(shè)計、詳細(xì)設(shè)計、軟件測試等內(nèi)容。將枯燥的理論與實際緊密結(jié)合,變抽象為具體,有利于學(xué)員充分理解和掌握各知識點。
啟發(fā)-探索式教學(xué)是通過教員的提問,引導(dǎo)啟發(fā)學(xué)員進(jìn)行深入思考、分析和討論,促進(jìn)學(xué)員積極探索。對于基礎(chǔ)理論部分采用啟發(fā)-探索式教學(xué)更能讓學(xué)員深刻理解和體會抽象的理論知識,通過課堂互動討論,營造活躍、輕松的課堂氣氛,同時,也鍛煉了學(xué)員的分析能力和團(tuán)隊交流合作能力、學(xué)會探求知識的方法。
啟發(fā)-探索式教學(xué)是一切教學(xué)方法的靈魂,如何把啟發(fā)-探索式教學(xué)的指導(dǎo)思想融入到講授中去是關(guān)鍵。筆者十分注重啟發(fā)-探索式學(xué)習(xí),上課時提出一個或幾個有意義的問題,鼓勵學(xué)員課后查閱資料,讓學(xué)員與軟件從業(yè)人員進(jìn)行接觸與交流,從而真正體會到當(dāng)前軟件工程理論在實際項目中的應(yīng)用。
例如,在講解軟件過程這部分內(nèi)容時,在學(xué)員了解各個軟件過程模型的特點之后,給出一系列實例讓學(xué)員來選擇開發(fā)模型,分析討論什么樣的開發(fā)模型適合什么樣的實例開發(fā),使學(xué)員深刻理解每個模型的優(yōu)缺點。通過實例分析,啟發(fā)學(xué)員如何探求知識,逐步培養(yǎng)學(xué)員提出問題、解決問題的能力,通過教與學(xué)的互動作用,充分調(diào)動學(xué)員的學(xué)習(xí)主動性、創(chuàng)造性。
實踐教學(xué)方法就是在實踐課的指導(dǎo)過程中所用到的教學(xué)方法。筆者在指導(dǎo)實踐課時,所用到的教學(xué)方法大致有下列幾種:項目驅(qū)動教學(xué)、任務(wù)驅(qū)動教學(xué)、案例-任務(wù)驅(qū)動教學(xué)。
項目驅(qū)動教學(xué)法,是指在軟件項目實施過程中導(dǎo)入軟件工程的基本概念、原理、技術(shù)和方法。項目驅(qū)動實踐教學(xué)要求學(xué)員以開發(fā)團(tuán)隊的方式開發(fā)一個具有一定規(guī)模的軟件系統(tǒng),使學(xué)員接觸到實際的問題和環(huán)境,熟悉一個軟件開發(fā)項目的全過程。項目驅(qū)動教學(xué)增強(qiáng)了學(xué)員對軟件開發(fā)項目的感性認(rèn)識和興趣,從而學(xué)會在真實復(fù)雜條件下,利用所學(xué)理論知識解決實際問題,側(cè)重培養(yǎng)學(xué)員發(fā)現(xiàn)問題、獨立分析問題和解決問題的能力以及團(tuán)隊合作精神。
實踐項目內(nèi)容應(yīng)該具有可操作性和適當(dāng)?shù)碾y度,可操作性保證學(xué)員都能完成實驗,幫助學(xué)員樹立學(xué)習(xí)信心,適當(dāng)?shù)碾y度有助于培養(yǎng)優(yōu)秀學(xué)員進(jìn)一步鉆研的精神。
例如,讓學(xué)員開發(fā)一個自己經(jīng)常使用的系統(tǒng)“在線考試系統(tǒng)”。在軟件分析時期,首先進(jìn)行此項目可行性分析,然后對幾種過程模型進(jìn)行分析和對比,選擇合適的過程模型。在這階段過程中,就導(dǎo)入軟件工程的基本概念、可行性研究的任務(wù)和步驟、軟件生命周期的劃分及軟件過程模型的分類等。在需求分析階段,通過對需求獲取過程來導(dǎo)入需求獲取的方法、進(jìn)行系統(tǒng)分析的方法、應(yīng)注意的問題等。在軟件設(shè)計時期,導(dǎo)入概要設(shè)計和詳細(xì)設(shè)計的概念、步驟和方法等。在編碼與測試時期,通過對該項目的編碼和測試使學(xué)員理解如何選擇程序設(shè)計語言,如何測試及調(diào)試軟件,導(dǎo)入軟件測試的技術(shù)和方法等。另外,可以使用建模工具和測試工具進(jìn)行軟件的分析、設(shè)計和測試,使用配置管理工具將所產(chǎn)生的各種文檔控制在有序管理之下。
任務(wù)驅(qū)動教學(xué)法是將軟件工程整個課程學(xué)習(xí)內(nèi)容劃分為若干個特定的任務(wù),每個任務(wù)包含特定的知識點,并且在實踐環(huán)節(jié)中完成設(shè)定任務(wù)的教學(xué)法。采用任務(wù)驅(qū)動教學(xué)方法,只要完成了課程中設(shè)定的任務(wù),就可以掌握全課程學(xué)習(xí)的內(nèi)容。軟件工程課程的實踐內(nèi)容需要以小組為單位在課外完成,結(jié)合學(xué)員在理論基礎(chǔ)、能力素質(zhì)、個人興趣等方面的能力,激發(fā)出學(xué)員學(xué)習(xí)的積極性和創(chuàng)新意識,推進(jìn)學(xué)員自主學(xué)習(xí)的動力、有利于各小組技能水平的不同表現(xiàn),有利于不同層次學(xué)員實踐創(chuàng)新能力和專業(yè)素質(zhì)的全面提高。
筆者在學(xué)員進(jìn)行課程設(shè)計時采用了任務(wù)驅(qū)動教學(xué),其基本過程為:提出任務(wù)、分析任務(wù)、學(xué)員操作、交流討論、鞏固創(chuàng)新、總結(jié)等。例如,以小組為單位讓學(xué)員用不同的語言編程實現(xiàn)給定的設(shè)計任務(wù),不同開發(fā)小組可以選相同的設(shè)計課題也可以選不同的設(shè)計課題。小組既有分工到個人成員的特定任務(wù),也有需要共同協(xié)作才能完成的任務(wù)。在課程設(shè)計的過程中,對應(yīng)于軟件生命周期的各個階段,學(xué)員在開發(fā)過程中體驗不同階段所承擔(dān)的不同角色和需要完成的任務(wù),同時強(qiáng)調(diào)目標(biāo)管理、時間管理、合作意識、團(tuán)隊意識、工作意識、品質(zhì)意識、等方面的重要性。
案例-任務(wù)驅(qū)動教學(xué)法,顧名思義是案例教學(xué)法和任務(wù)驅(qū)動教學(xué)法相互結(jié)合的一種綜合教學(xué)方法。案例-任務(wù)驅(qū)動教學(xué)法以“案例”為引導(dǎo),以“任務(wù)”為驅(qū)動,將教學(xué)內(nèi)容分解于一個個任務(wù)模塊中,在任務(wù)的實現(xiàn)過程中完成真正意義上的知識建構(gòu)。
在軟件工程實踐課中合理、有效地使用案例-任務(wù)驅(qū)動教學(xué)法能夠充分調(diào)動學(xué)員學(xué)習(xí)的積極性,提高學(xué)員實踐能力和創(chuàng)新能力,最終達(dá)到使學(xué)員有效地實現(xiàn)對當(dāng)前所學(xué)知識的意義建構(gòu)的目的。
案例-任務(wù)驅(qū)動教學(xué)的基本過程為:選擇并設(shè)計案例、剖析案例提出任務(wù)、實現(xiàn)任務(wù)和總結(jié)評價。例如,選擇學(xué)員熟悉的“學(xué)員管理系統(tǒng)”為案例,本系統(tǒng)目的是為了實現(xiàn)學(xué)員管理信息化,其基本功能應(yīng)包括:(1)學(xué)員基本資料管理、軍事素質(zhì)管理、獎懲管理、成績管理、內(nèi)務(wù)管理、職務(wù)管理等;(2)實現(xiàn)多條件檢索;(3)生成交叉報表。再把每個基本功能細(xì)化成任務(wù)模塊,如成績管理基本功能可以劃分成成績的錄入、成績的查詢、成績的修改和成績的備份等任務(wù)模塊。對于比較簡單或單一的任務(wù),學(xué)員可以查閱有關(guān)的教材、資料進(jìn)行自主學(xué)習(xí)實現(xiàn)。對于綜合性較強(qiáng)、難度較大的任務(wù),可以通過小組討論、交流進(jìn)行協(xié)作學(xué)習(xí)。當(dāng)學(xué)員完成任務(wù)時,教員應(yīng)對其學(xué)習(xí)成果進(jìn)行展示、分析和評價。
軟件工程課程具有較強(qiáng)的實踐性,是各種開發(fā)經(jīng)驗的總結(jié)與提煉。通過探討和采用多種教學(xué)與實踐方法,重視學(xué)生對知識的理解和運(yùn)用,避免死記硬背,提高了學(xué)生的主動性和創(chuàng)造性,效果明顯。
[1]路陽,董宏麗.軟件工程案例教學(xué)淺議[J].長江大學(xué)學(xué)報(自然科學(xué)版)理工卷,2010,6(7):386-387.
[2]朱新峰,李斌.軟件工程課程教學(xué)研究[J].江淮工學(xué)院學(xué)報(社會科學(xué)版.教育論壇),2010,8(8):96-98.
[3]張靜,裴春琴,宗春梅.《軟件工程》課程教學(xué)改革探討[J].現(xiàn)代計算機(jī),2010,(9):84-85.
[4]周應(yīng)強(qiáng),易俗,田寶勇.案例-任務(wù)式教學(xué)模式在計算機(jī)基礎(chǔ)教學(xué)中的探索與實踐[J].計算機(jī)教育,2009,(13):167.