吳曉姝
遼寧廣播電視大學( 沈陽 110034 )
軟件工程是一門研究工程化方法構建和維護有效的、實用的和高質量的軟件的科學。也是一門綜合性、實踐性很強的課程。軟件工程新技術、新方法的掌握對于學生在今后軟件開發的實踐中起著至關重要的作用。因此在教學過程中讓學生了解和掌握軟件開發中的方法學和工程學知識,并應用于實踐,使其順應當今軟件人才的需求和發展的成為了教學中的首要目標。
目前國內高校對軟件工程的課程的教學,仍延續著以往“填鴨式”的傳統授課方式,即教師以講授理論知識為主,學生被動地聽課,而在實驗環節由學生自己動手設計一個項目。因此,整個教學過程重理論輕實踐,而實驗環節的效果遠遠到不到教學的預期效果,主要原因有以下幾個方面:
(1)從課程內容上來看,軟件工程作為一門綜合性應用學科,是用來指導計算機軟件開發和維護的,它具有涵蓋知識面廣,與實踐應用結合緊密的特點。而在實際教學過程中,由于有些教師缺乏實際完整的項目開發經驗,致使理論教學只能照本宣科,不能把實際項目涉及到的技術點通過生動有趣的方式教授,當然學生也就不能真正的利用所學到的理論知識應用于實驗環節的項目設計上。
(2)從實踐環節來看,學生只能按照教師規定的課程內容來“照貓畫虎”式的被動性套用知識點,做完后仍然云山霧罩,不知道如何利用軟件工程方法來完成一個完整的軟件開發過程,與實際的工程實踐有明顯的差別。
(3)從實踐項目上來看,目前很多的教學上的教學實踐項目基本上使用的都是虛擬課題為課程設計、實訓和畢業設計的題目,此類題目一是不能讓良莠不齊的學生很好的完成項目計劃,教學模式也不能因材施教,二是題目本身就與現有軟件開發需求和技術相脫節,使學生開始就無從下手,導致設計開發的軟件和撰寫的文檔在結構和內容等方面錯誤百出。
因此如何組織好軟件工程教學環節、實驗環節、實踐環節,對于培養新型的合格的軟件人才具有重要的意義。
所謂“項目先導式”的教學模式,是指課堂以講授理論知識為基礎,介紹項目案例為主,討論為輔,以項目開發帶動軟件工程理論的學習,又以軟件工程的理論來指導軟件開發的實踐,在很大程度上提高學生的自主能力,增強實踐開發能力。實驗設計以實際項目開發為主,模擬軟件企業先進的軟件項目管理和開發過程,進行“應用軟件的開發實踐”。讓學生得到全面、系統和規范的軟件工程實踐的訓練,培養創造性的軟件設計能力和綜合分析、解決問題的能力。
“項目先導式”的教學模式主要體現在以下幾個方面:
(1)采用實際項目案例的教學方法。
實際項目案例教學法易于提高學生的學習興趣,對于枯燥的理論內容融入了一些案例,使得學生更容易在熟悉的內容上吸收所學的知識點,消除畏難情緒,并積極參與課堂的討論,并在教師的引導下,使得學生掌握軟件開發的方法和理論。通過案例教學也可為后續的實驗和實踐環節的教學打好基礎。使得學生在今后的項目設計中對軟件開發方法的應用駕輕就熟。
(2)采用課堂分組討論的教學形式。
軟件生命周期的可行性研究和需求分析環節都要求開發人員和用戶進行充分的交流。因此在軟件工程的教學中可以讓學生分成不同的小組參與教學過程,發表自己的看法,而且給予這種角色的討論,學生不僅掌握了需求分析的基本方法,充分認識了需求分析的重要性,最終會大大地激發了學生的學習興趣和學習自信心。在這個過程中,老師可以邊檢查邊糾正學生在各自角色扮演中的明顯錯誤,然后安排時間讓學生課上介紹自己分析的結果。
(3)精心設計實踐內容
按照學生的實際能力,專門設計一套符合課程要求及實際開發現狀的完整的課程設計方案,為學生的課程設計這個重要實踐環節提供指導。規范實驗和課程設計報告,按照軟件工程的要求,從問題定義、可行性分析、需求分析、總體設計、詳細設計、調試分析、用戶使用說明說、測試結果等幾個方面組織材料,要求學生盡量采用模塊化、信息隱蔽、局部化和模塊獨立等實現程序,這種規范對學生基本程序設計素質和良好的程序設計習慣的培養,以及科學嚴謹的工作作風的訓練能起到很好的促進作用。
以學生為主體,項目驅動案例貫穿——提供CRM、ERP中型項目實戰訓練。模擬組建項目開發團隊、測試小組、質量控制小組及由教師參與的項目管理小組。以訓練為主,培養學員獨立分析問題、解決問題、總結問題的能力和習慣,技能上講解業務流程、行業應用、主流框架技術,按照企業常用的開發模式、管理流程,組織進行實戰訓練。
(1)根據不同學生的特點、優勢及項目組職位的要求,激勵學生針對自己不同的興趣、個人條件、就業方向等方面有目的的培養自身的專業素養。使學生的學習狀態有被動到主動,更利于對知識的吸收和理解。
(2)從項目的可行性分析開始,依據企業啟動和開發項目的整套流程,由學生擔任項目經理、系統分析師、軟件工程師、測試工程師、項目管理人員等。而教師應監控、指導整個項目的運行和管理,以確保項目的成功運行。在整個項目的啟動和實施的過程中,把學生實際項目所需的技術能力、項目的規范度和職業素質作為明確的培訓目標,而利用實戰演練把企業當前使用最廣泛、最主流的技術和技能引進項目中,使學生了解這些技術,更利于進入社會后的就業,自主性的把所學知識轉化為企業實際生產力。
(3)實踐教學和實際企業項目的有機結合,融合了軟件專業的多門課程的內容,使學生在實踐項目中,以興趣為先,實際為導向,增強了所學知識的有效性、延展性,并具備了一定的項目能力(包括調試能力、文檔編寫能力、測試能力等)和綜合技術素質(包括對軟件生命周期的理解、對設計模式的理解、必備的行業知識和經驗等,更讓教師所講的枯燥的理論知識變得生動、鮮活起來。
“項目先導式”教學模式,不僅能讓學生在學習軟件工程課程時將各門專業課程知識進行無縫聯接,提高理論學習的興趣,避免學生只能紙上談兵的學習,也更貼近企業用人上對知識架構在實際項目應用的對接,使其在知識面的掌握上更加深入。當然,“項目先導式”教學模式還有待完善,以便更好的培養適應企業實戰情境的合格軟件人才。
[1]齊治昌 軟件工程學科的建議與軟件工程本科教學.中國大學教育,2006(2).
[2]余陽,湯庸.軟件工程實例化教學探索.中山大學學報論叢,2003,23(5).
[3]沈備軍,顧春華等.軟件工程教學思考與改革.化工高等教育,2005(4).
[4]閆曉薇.軟件工程教學策略的探討.福建電腦,2009(7).
[5]戚世貴,徐盡等.軟件工程的項目工程實踐驅動教學改革.時代教育,2008(3).
[6]遲江波,殷瑋.淺談軟件工程在教學軟件開發中的應用.職業教育,2008(6).