高雁翔
(大同煤炭職業(yè)技術學院 教務處,山西 大同037003)
軟件工程教學方法探索
高雁翔
(大同煤炭職業(yè)技術學院 教務處,山西 大同037003)
目前,軟件工程教學過程中存在一些問題,教師應結合自身的實際教學經(jīng)驗,對軟件工程的教學策略進行設計和分析,并應用于實際教學,以期取得更良好的教學效果。
軟件工程教學 ;教學策略; 方法探索
軟件工程是高等學校計算機教學計劃中的一門核心課程,是研究軟件開發(fā)與軟件管理的綜合性工程學科,工程實踐性非常強,學習掌握軟件開發(fā)與維護的原則、技術及方法,了解軟件經(jīng)濟學、軟件管理學的基本理論已成為信息社會對人才培養(yǎng)的要求之一。
學生要掌握軟件工程理論需要具備一定的實踐經(jīng)驗,這使得大多數(shù)沒有經(jīng)歷項目實踐的學生在課程學習的時候普遍感到困難,對概念、原理、方法的理解不深。如何有效地開展軟件工程課程教學,成為廣大教育者思考和探索的問題。
目前,軟件工程教學過程中存在的問題有:
1.教學方法陳舊。教學主要以教師講為主,學生聽為輔,培養(yǎng)出來的學生缺乏自主探索知識的能力,缺乏運用知識解決實際問題的能力,不能很好地調(diào)動學生學習的積極性,造成學生學習興趣下降,達不到預期的教學目的。
2.教學內(nèi)容落伍,教學中所舉案例相當獨立,前后沒有銜接,缺乏完整性、實用性,更讓學生感到迷惑不清,對于“項目”的概念理解不充分,孤立地使用一些案例當作項目在實施,這樣會使教學內(nèi)容發(fā)散,過程整體性不鮮明,沒有及時增加軟件工程發(fā)展的新知識、新方向,禁錮學生視野的拓展。
3.從軟件工程的教材來看,過于強調(diào)基礎理論,忽視了工程管理、實踐、運作和配置管理的重要性,與實踐嚴重脫節(jié),無法滿足軟件企業(yè)發(fā)展的需要。
長期以來,這些教學上存在的問題使我們培養(yǎng)的計算機專業(yè)的學生存在著“什么都學過,卻什么都不會”的尷尬局面。
針對上面提到的軟件工程教學中存在的問題,結合實際教學經(jīng)驗總結,要改變軟件工程教學現(xiàn)狀,達到理想的教學效果,根源在于改變教學內(nèi)容安排與教學方式,合理設計教學,激發(fā)學生學習興趣及學習的主動性。可以從以下幾個方面著手:
1.合理設置教學內(nèi)容。在每一個章節(jié)的開始,教師應以該內(nèi)容環(huán)節(jié)為要點對軟件生命周期模型進行分析,找準該章節(jié)在整個周期中的地位與作用,同時也起到了知識的復習與鞏固作用。比如軟件工程中,介紹了很多用圖形表示問題的技術,包括系統(tǒng)流程圖(System-Flowchart)、數(shù)據(jù)流圖(DataFlowDiagram)、層次圖(Hierarchychart)、 結 構 圖(Structurechart)、Warni-er 圖 、Jackson圖、N—S圖、PAD圖等。如何畫這些圖,如何利用這些圖清晰地表達出問題所在,這些圖各適用于表示什么樣的問題,相近圖的相同點和不同點,各適用在什么場合。這些問題都需要學生將所有知識點融會貫通,才能較好地掌握。
2.板書與多媒體輔助教學相結合。板書在課堂教學過程中起到畫龍點睛、提綱挈領、引領學生學習的作用。必要的板書是必不可少的,但板書教學形式單一,而采用多媒體輔助教學,可提供模板式報告文檔,變看不見、摸不著的理論為具體化的報告文檔;
例如,在教學講授學生成績管理系統(tǒng)的數(shù)據(jù)流圖(DFD圖)繪制時可采用多媒體輔助教學手段。首先給出繪制頂層DFD圖的任務,啟發(fā)誘導學生探究質(zhì)疑找出頂層圖中的加工(學生成績管理系統(tǒng))、輸入(查詢請求、成績、課程和學生信息)、輸出(查詢結果)、外部實體(學生和教務人員)并在頭腦中形成自己繪制的頂層圖后,再通過投影將頂層DFD圖呈現(xiàn)在學生面前。然后分別給出繪制下層DFD圖的任務并啟發(fā)誘導學生探究質(zhì)疑繪制后,借助多媒體逐步展現(xiàn)各層DFD圖。
在授課方式上,為激發(fā)學生的學習興趣以及產(chǎn)生良好的教學效果,在分析數(shù)據(jù)流圖、盒圖的用途及畫法的問題中,可以通過實際圖例對比分析,并對比介紹層次圖和層次方框圖的區(qū)別及聯(lián)系。
3.注重文檔編寫能力的培養(yǎng)。軟件工程一個重要的特點是規(guī)范化與文檔化。在軟件開發(fā)過程中需要撰寫大量的分析設計文檔來對軟件的開發(fā)過程與質(zhì)量進行有效的控制與管理。對于理工科學生來說,往往文檔編寫能力較差,因此在教學中應要求學生高質(zhì)量地完成相應開發(fā)文檔的編寫,以提高其文檔撰寫能力和水平。
4.在課程設計中進行項目開發(fā)的實戰(zhàn)訓練?!败浖こ獭闭n本身是一門設計課程,基本概念、方法和原則應該熟練掌握,但更重要的是,如果只是單獨的進行枯燥模糊的課堂教學,而不給學生進行親身項目開發(fā)的體驗,學生是很難理解和相信軟件工程技術的好處,以至于學完了之后覺得用處不大。所以,學生必須參加一個從計劃、分析、設計到編碼、測試、維護的軟件開發(fā)全過程,以便從中得到實際的從事軟件開發(fā)的訓練和經(jīng)驗。在教學過程中先給出一些學生熟悉的,容易理解的具體例子,例如“教材銷售系統(tǒng)”、“學生學籍管理系統(tǒng)”、“圖書館管理系統(tǒng)”等。學生對這些系統(tǒng)所應具有的功能比較熟悉,再以這些例子為基礎講授“軟件工程”的方法和原則。在教學中宜采用“學生思考—小組討論—總結提高”的三步學習方法。
首先,將學生適當分組后,每組任選一個例子,由學生獨立思考,給出解決方案。學生對具體案例進行必要的基礎知識的了解,認真閱讀案例,熟悉軟件開發(fā)過程各階段的基本任務。在案例的分析過程中,用軟件工程的傳統(tǒng)途徑—生命周期方法學作為理論指導。要提醒學生注意尋找其中的因果關系,只有弄清問題產(chǎn)生的原因,才可能找到問題的合理解決手段。這種教學方法可以充分調(diào)動學生的積極性,激發(fā)他們的求知欲。
其次,組織學生進行討論。分組討論是課程設計教學中非常重要的環(huán)節(jié),本質(zhì)上是一種概念或想法的交流。圍繞案例的重點,難點,疑點,進行討論。每個學生可以自由的抒發(fā)己見,相互啟迪,互相借鑒,重點是想法的交流。要求每個學生簡要介紹自己對軟件開發(fā)所做的分析設計,并提出自己對該軟件開發(fā)流程的看法,分析各自解決方案的優(yōu)劣,供大家討論與切磋,可以按照案例中所提出的問題一個一個討論。
最后,由教師進行總結和評價,總結歸納是軟件工程課程設計教學的最后階段,要求學生要對每個案例寫出學習報告。該報告中包含學生在閱讀案例中所得到的具體收獲;通過分析與設計軟件,提出自己所解決的實際問題;對理論上軟件工程概念和案例中的實際是否一一相對應;以及對軟件工程仍然存在的困惑。通過反思進一步加深對案例的認識,真正做到理論和實踐的相結合。教師指出該案例所涉及的理論知識及其應用方法,就學生提出的問題進行解答。
經(jīng)過可行性研究、需求分析、設計、編碼、測試與維護幾個階段,最后給出完整系統(tǒng)的軟件(包括應有的各種文檔和調(diào)試通過的源程序代碼)。這樣將學習內(nèi)容寓于問題之中,啟發(fā)學生進行積極思考,使學生成為主動的、積極的知識探究者,在一定程度上激發(fā)學生的創(chuàng)新思維,培養(yǎng)了學生的創(chuàng)新能力,從而更深刻地理解課程。
5.設置綜合的成績考核方式。軟件工程作為實踐性很強的工程學科,考核的目的是以考核手段為導向,促進學生對軟件工程知識的學習和軟件開發(fā)能力的提升。在實驗成績評價體系中,可按學生掌握基礎知識情況、解決問題能力、創(chuàng)新能力等多方面進行評價。采取的評定方案是:平時成績以課內(nèi)實驗的成績?yōu)橹?,評定依據(jù)是:各軟件開發(fā)小組提交的文檔和最終開發(fā)好的軟件,并參考每個小組成員在項目中的貢獻。在卷面考試里,除了考查一些軟件工程的重要原理和概念外,重點檢測學生的軟件分析與設計能力,綜合設計題目占到試卷分值的50%以上。
軟件工程這門課教學效果的最終檢驗是看學生是否具備軟件工程基本素養(yǎng),是否能夠在軟件開發(fā)實踐中綜合運用軟件工程知識,是否已準備好融入規(guī)模、規(guī)范、工程化的開發(fā)團隊。
在課堂上采用以學生參與為主、理論與實踐相結合的教學模式,學生能夠積極主動地參與到軟件工程的教學中,全面深刻地掌握軟件工程的原理、概念和方法,并且培養(yǎng)自身實踐、創(chuàng)新能力及團隊合作精神,為日后工作打下結實基礎。
[1]于彬等.高職軟件工程課程改革的研究與實踐 [J].福建電腦,2010,(1):177.
[2]欒好利,楊政“.軟件工程”項目教學改革方案研究[J].計算機教育,2009(4):52-53.
[3]張海藩.軟件工程導論(第五版)[M].北京:清華大學出版社,2008.
[責任編輯:郭一鶴]
G710
B
1671-6531(2011)08-0128-02
高雁翔,女,大同煤炭職業(yè)技術學院教務處助教,研究方向為計算機教學。