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