一、軟件工程教學中存在的主要問題
在軟件工程教學中主要存在三方面的問題:
1、軟件開發技術飛速發展,新方法、新技術、新工具、新平臺不斷出現,給軟件工程教學帶來了諸多問題:課時不變,教學內容偏多,教材的更新跟不上技術的發展。
2、教學過程仍然以教師“教”為中心,在教師的指導下完成課程的相關實驗及課程設計的學習。軟件工程課程可操作性差、理論多、內容抽象、難理解,很難充分調動學生學習的積極性和自主性,導致理論與實踐脫節。
3、學習軟件工程的學生幾乎都沒有軟件開發的經驗,對于管理學的知識更是不知所然,加上有的教師也沒有完整項目軟件開發的經驗,要讓學生做到“學中做,做中學”,真的是難上加難。
二、三元整合的教學思維
軟件工程課程主要介紹了軟件問題定義、項目計劃、需求分析、設計、維護等軟件開發過程中的各種問題。通過市場調查、觀摩學習、講座、校企合作,發現軟件行業在軟件設計、軟件維護、軟件測試三方面就業崗位多,人才缺口大。結合學生學習的特點,參照國家相關職業標準,確定軟件工程,培養人才方向崗位定位在軟件設計、軟件測試、軟件維護三個崗位,因此教學中將重點放在軟件設計、軟件維護、軟件測試上。文中以“學生信息管理系統”項目為載體,將項目開發過程中用到的各項工作技能按照工作過程分解任務,項目分解成一個個的子案例,以任務分解的方式完成技能的案例教學,體現工作過程的完整性。三個崗位的工作任務、職業能力、知識結構之間的關系。整個教學過程是一個循序漸進的過程,每個崗位有明確的工作任務,每個工作任務對應不同的職業能力,知識的表現形式也就不同。為了與崗位工作任務相適應,在項目教學中培養學生的職業能力,使學生做到“學中做,做中學”;在設計教學項目案例上做到項目難度適中、易理解、易操作、易掌握、有針對性和代表性,并且包含上述三個工作崗位的工作任務與職業能力相關知識,最終達到項目驅動,任務分解的教學目的,同時學生也能進一步理解工作過程中需要掌握的技能。
三、三元整合在教學中的應用
案例教學、項目驅動、任務分解的教學方法有各自特點,如何將這些教學方法整合在一個具體的項目中,并發揮其優點是教學中要重點解決的問題。將“學生信息管理系統”項目進行分解,每一個子項目對應一個具體的工作任務。對每個子項目按以下的教學步驟進行教學:
1、項目分解,確定每一個子項目的工作任務根據項目完成的時間限制、要求,將項目分解成子項目,不同的子項目對應不同的工作任務。如“學生信息管理系統”可分解為“學生管理、課程管理、成績管理、信息查詢”四個子項目,且每個子項目對應不同的工作任務。把工作任務獨立、花費時間少的稱為小任務;反之,工作任務需要多個教學單元經過綜合實踐才能完成的,稱為大任務。在教學中又可將大任務分解為小任務,通過分析總結,最終使學生能掌握自上而下逐步求精分析問題解決問題的能力。
2、理論講解,案例演示教師結合案例演示,講解子項目中對應的工作任務,讓學生真實理解工作過程中這個子項目到底要做些什么,怎么做,哪些知識是已知的,哪些知識是未知的,提出問題,充分調動學生的好奇心與求知欲。
3、學生分組討論,協同合作根據學生興趣、成績、實踐動手能力將學生分成4到5個人為一個小組。小組成員共同討論完成項目的開發。工作任務完成過程中,讓學生輪換擔當不同的角色,使其能體驗不同角色在不同階段的職責與任務,既培養學生團隊協作能力,又發揮了各自特長,調動了學生的積極性,從而提高了學習興趣。
4、學生各自完成工作任務通過項目分工,團隊中的每個成員都有明確的任務,結合教師的案例演示進行工作任務的模擬練習,讓學生對工作任務的完成有了真正的認識,從而培養學生的職業能力。
5、總結工作任務成果,評審驗收首先,學生對自己完成的子項目進行展示、總結,哪些完成,哪些沒有完成,原因在什么地方;其次,教師對每個團隊項目完成的情況進行比較,并將各團隊工作成果與案例演示中的工作成果進行比較,總結規律和技巧,使團隊中的每個學生知道自己在做什么,做得如何,哪些地方需要改進,哪些知識需要完善,自己發揮了什么作用,將實踐上升到理論高度,進而培養學生的職業能力。
6、拓展第二課堂,培養學生的研究、創新性學習能力在案例教學與學生實踐的基礎上,學生對工作過程中所要完成的工作任務有了基本的了解和認識。對于學習興趣高、實踐能力強的同學,選擇自己感興趣的方面跟老師一起參加項目研發,在教師的指導下,了解跟蹤軟件開發新技術發展趨勢,更加深入了解軟件工程精髓,進而培養自己創新性學習能力。
四、總結
本文講述了“案例教學、項目驅動、任務分解”三元整合的創新教學思維模式,并應用到教學中。該思維模式將學生對知識的理解、知識的表現形式、任務的完成、能力的培養提高到實踐層面,同時實踐促進理論知識的研究,讓學生體會到“做中學,學中做”的樂趣,進而培養其團隊協作、研究、創新性學習能力。
作者:曹陽 單位:陜西理工學院數學與計算機科學學院