摘要:闡述了在高職軟件工程教學中采用項目驅(qū)動的軟件工程課程教學模式的必要性和合理性,對項目驅(qū)動的高職軟件工程教學模式進行了設(shè)計,還介紹了該教學模式下的考核方案,最后指出了為完善該教學模式需要進一步解決的問題。
關(guān)鍵詞:項目驅(qū)動;軟件工程;教學模式
中圖分類號:G712文獻標識碼:A文章編號:1009-3044(2012)24-5828-02
軟件工程是用工程、科學和數(shù)學的原則與方法研制、維護計算機軟件的有關(guān)技術(shù)與管理方法[1]。其研究范圍十分廣泛,既包括軟件開發(fā)中的方法、技術(shù),也包括軟件開發(fā)工具及軟件項目管理等[2]。
軟件工程課程是高職院校計算機軟件專業(yè)的核心課程之一,它對學生多方面的專業(yè)能力養(yǎng)成起到了重要作用,如系統(tǒng)分析設(shè)計能力、編程能力、溝通協(xié)作能力、軟件項目管理能力等。該課程的教學效果直接決定了學生能否勝任畢業(yè)后的軟件開發(fā)工作。這些都對軟件工程的授課提出了很高的要求,但這一要求與高職軟件工程課程的現(xiàn)實授課情況有較大的差距。該文將探討項目驅(qū)動的高職軟件工程課程教學模式在高職軟件工程教學模式中的應(yīng)用,以期為提高高職軟件工程教學效果提供可行方案。
1采用項目驅(qū)動的高職軟件工程課程教學模式的必要性和合理性
雖然目前各高職院校軟件專業(yè)普遍開設(shè)了軟件工程這門課,但授課效果不盡如人意,這其中很大一部分原因在于課程教學模式不合理,主要存在如下問題:
1)教學以講授理論知識為主,且各個知識點缺乏有機聯(lián)系,學生難以對各知識點有深刻的理解。
2)實驗多為單一的工具實驗,且為單人完成,學生難以通過實驗培養(yǎng)軟件工程要求的核心能力。
3)教師對軟件項目管理的介紹較少,且對于這一部分缺乏有效的實驗環(huán)節(jié),故學生難以掌握軟件項目管理的技能。
要解決以上問題,需要對課程教學模式進行改革,完全顛覆以往傳統(tǒng)的軟件工程課程教學
模式。經(jīng)過教學實踐,筆者認為,采用項目驅(qū)動的課程教學模式是一個合理、有效的舉措。項目驅(qū)動的課程教學模式是指用一個完整的、真實有效的軟件項目的開發(fā)過程貫穿、牽引軟件工程課程的整個教學過程,該軟件項目的開發(fā)是以學生為主體,在教師指導下完成。
眾所周知,軟件工程中最重要的原則是工程化原則。傳統(tǒng)的教學模式由于缺乏真實的項目來驅(qū)動,各理論知識點、實踐技能點之間缺乏有機的聯(lián)系,學生不可能通過課程學習掌握工程化原則所需的技能。而引入項目驅(qū)動的教學模式后,將眾多的知識點和技能點融合在一個完整的軟件項目開發(fā)中,開發(fā)一個軟件項目的過程基本囊括了軟件工程化所需的絕大多數(shù)知識和技能目標。
特別是,軟件項目由多名學生組成項目組,分工合作完成,這極大培養(yǎng)了學生的溝通合作能力,而溝通合作是工程化原則所要求的重要能力。
此外,由于學生要完成真實的項目,且有時間、成本、質(zhì)量上的制約,故需要掌握軟件項目管理的眾多技能,而項目管理亦是工程化原則所要求的重要能力。
所以,項目驅(qū)動的教學模式能有效地解決上文中列出的當前軟件工程教學中存在的幾個問題,或者簡單地說,項目驅(qū)動的教學模式有利于培養(yǎng)學生在軟件開發(fā)過程中應(yīng)用工程化原則的能力,亦即達成軟件工程課程的核心目標。實際上,項目驅(qū)動的教學模式與當下流行的CDIO工程教育理念的“做中學”的精神是十分類似的。
總的來說,在高職軟件工程課程教學模式改革中,采用項目驅(qū)動的課程教學模式是合理的。
2項目驅(qū)動的高職軟件工程教學模式的設(shè)計
項目驅(qū)動的高職軟件工程教學模式包括課堂教學環(huán)節(jié)、實驗環(huán)節(jié)、實訓環(huán)節(jié)三個有機組成部分。對該三部分詳細介紹如下。
2.1課堂教學環(huán)節(jié)
雖然項目驅(qū)動的教學模式強調(diào)以學生為主體來完成項目,但是考慮到高職學生的自主學習能力稍顯薄弱,以及軟件工程課程本身的復(fù)雜性,為了提高教學效率,讓學生能盡快掌握眾多的知識目標和技能目標,課堂教學環(huán)節(jié)仍是不可缺少的重要教學環(huán)節(jié)。課堂教學環(huán)節(jié)一般應(yīng)采用一體化教學,在機房進行。教師應(yīng)從來自合作企業(yè)的眾多項目中精選一個項目作為主教學案例貫穿課堂教學的始終,這可以有效避免過去教學中眾知識點和技能點分散、缺乏有機聯(lián)系的問題,讓學生系統(tǒng)、全面地掌握軟件工程的各知識和技能目標。
教師還可在課堂教學的不同階段根據(jù)需要適當補充一些案例,如在講授人機界面設(shè)計時,可在主教學案例的基礎(chǔ)上補充一些網(wǎng)站或應(yīng)用系統(tǒng)作為案例,引導學生對之進行分析、評價,提出改進方案。
主教學案例的選擇應(yīng)特別慎重,應(yīng)是貼合實際、難以適中的,且有一定的規(guī)模,能基本覆蓋本課程的所有知識目標和技能目標。主教學案例是來自合作企業(yè)的項目,但教師必須結(jié)合教學的需求對其作適當?shù)恼{(diào)整和裁剪。這對教師駕馭項目的能力提出了較高的要求。
值得注意的是,主教學案例對應(yīng)的項目與該文所說的“項目驅(qū)動”中的“項目”不是一回事,后者是以學生為主體,主要是通過課堂外自主學習以及實訓環(huán)節(jié)來完成,其時間跨度為整個學期,各項目組學生在學期初就選定項目,在學習軟件開發(fā)相關(guān)階段的知識和技能的同時完成選定項目的初步開發(fā),在實訓環(huán)節(jié)再做最后的一些調(diào)整和優(yōu)化,這將在后文中加以詳述。
課堂教學是以主教學案例為主線進行,但最終目的并不是讓學生掌握該案例對應(yīng)的知識和技能,而是通過案例的深入學習,為學生自主進行選定的目標項目的開發(fā)奠定堅實的基礎(chǔ)。所以可以這樣認為,不管是課堂教學環(huán)節(jié)、實驗環(huán)節(jié)(其作用是幫助學生掌握教師在課堂教學環(huán)節(jié)講授的知識點和技能點,將在后文中介紹),還是實訓環(huán)節(jié),都是為學生自主完成選定項目的開發(fā)而設(shè)置的。用項目組選定的目標項目的開發(fā)來驅(qū)動所有的教學環(huán)節(jié)(包括課堂教學環(huán)節(jié)、實驗環(huán)節(jié)和實訓環(huán)節(jié)),這就是項目驅(qū)動的軟件工程的課程教學模式的實質(zhì)。
2.2實驗環(huán)節(jié)
實驗環(huán)節(jié)是課堂教學環(huán)節(jié)的重要補充,實驗環(huán)節(jié)的作用是幫助學生掌握教師在課堂教學環(huán)節(jié)講授的知識點和技能點。這里所說的實驗主要是指章節(jié)實驗,章節(jié)實驗以驗證型實驗為主,還包含少量綜合型和設(shè)計型實驗[3]。并不要求實驗環(huán)節(jié)以一個項目作為主線來進行。實驗環(huán)節(jié)的內(nèi)容可由教師根據(jù)教學需要靈活安排,應(yīng)注重培養(yǎng)學生的獨立思考能力和解決問題的能力。
實驗環(huán)節(jié)與課堂教學環(huán)節(jié)都是在機房即一體化教學環(huán)境中進行,可以很方便地進行切換。一般說來,如果講授的某技能點比較簡單,教師可壓縮課堂教學環(huán)節(jié)的時間,以實驗環(huán)節(jié)為主;相反地,若某技能點比較復(fù)雜,課堂教學環(huán)節(jié)的時間則應(yīng)相應(yīng)延長。但應(yīng)做到對所有的技能點,都有實驗環(huán)節(jié)作支撐。
實驗環(huán)節(jié)應(yīng)該規(guī)范化,要通過實驗任務(wù)書來規(guī)范和指導學生的實驗過程,實驗任務(wù)書應(yīng)詳細列出實驗學時、實驗?zāi)康暮鸵蟆嶒炄蝿?wù)、實驗方法和步驟、應(yīng)提交的電子(或紙質(zhì))文檔等。
2.3實訓環(huán)節(jié)
實訓環(huán)節(jié)安排在學期靠后,以一個學期16個教學周為例,可將14周左右時間用于軟件工程的課堂教學環(huán)節(jié)、實驗環(huán)節(jié),2周左右用于實訓環(huán)節(jié)。各項目組在實訓環(huán)節(jié)最終完成學期初選定的軟件項目開發(fā)的全過程。
值得注意的是,表面上看,實訓環(huán)節(jié)時間很短,但實訓環(huán)節(jié)對應(yīng)的軟件項目的開發(fā)過程其實在學期初就已經(jīng)開始了。在學期初,教師就從來自合作企業(yè)的項目中挑選3~4個項目作為備選項目,這些項目難易適中,規(guī)模與主教學案例對應(yīng)的項目相仿,或比后者稍小。學生自由組合成5~6人的項目組,從備選項目中選擇其中一個項目來完成。教師可對項目組的成員進行適當調(diào)整,確保每個項目組都有能力較強的學生和能力一般的學生,有順利完成項目開發(fā)全過程的可能性。
在課堂教學和實驗環(huán)節(jié)的每一階段,項目組在學習教學案例的相關(guān)知識、技能點的同時完成選定項目的相應(yīng)階段的開發(fā)工作。比如說,教師在講授UML建模之后,各項目組就會嘗試對選定項目進行UML建模;又如教師在講授使用某種工具對軟件進行功能測試后,項目組會嘗試對選定的軟件項目使用該工具進行功能測試。這些工作主要是在課后完成,即項目組成員在充分掌握教師講授的該階段開發(fā)對應(yīng)的相關(guān)知識點和技能點后,有針對性地利用圖書館或電腦查閱一些資料,再利用項目組成員自己的電腦來完成選定項目的相應(yīng)階段的開發(fā)工作。
到課堂教學及實驗環(huán)節(jié)結(jié)束的時候,各項目組的項目開發(fā)已經(jīng)基本結(jié)束,但為了給各項目組創(chuàng)造一個集中實踐、交流的環(huán)境,實訓環(huán)節(jié)是不可缺少的,只是這個實訓環(huán)節(jié)不是一個嚴格意義上的實訓環(huán)節(jié),因為項目開發(fā)的大多數(shù)工作都已在之前完成。在實訓環(huán)節(jié),各項目組經(jīng)過了幾乎是一個學期的學習和實踐,完成軟件項目開發(fā)的各方面能力已經(jīng)比學期初有很大提高,對選定項目的階段性任務(wù)的解決方案或成果文檔可能會進行一些調(diào)整,還有可能對軟件功能進行進一步的擴充及對系統(tǒng)性能進行進一步的優(yōu)化,又或是通過更合理的測試方案發(fā)現(xiàn)軟件系統(tǒng)中更多的問題并加以糾正等等。以上這些均是在實訓環(huán)節(jié)中可做的工作。此外,項目組的所有成員可以通過集中的實訓環(huán)節(jié)充分交流意見、取長補短、共同提高。
在實訓環(huán)節(jié)的最后階段,應(yīng)組織項目驗收,在項目驗收之初,每個項目組應(yīng)提交項目的各種文檔資料,項目驗收首先由各項目組的組長向教師及其他項目組介紹展示項目的整體功能及特點,特別是展示有創(chuàng)造性的工作成果,然后項目組中每位學生都應(yīng)陳述和展示自己所做的具體工作,最后是項目答辯,教師以及其他項目組的學生可對該項目進行有針對性的提問,項目組成員負責解答。教師根據(jù)每位學生的工作成果質(zhì)量和答辯情況給出綜合評分。
3項目驅(qū)動的高職軟件工程課程教學模式的考核方案
采用項目驅(qū)動的軟件工程課程教學模式后,考核方案也應(yīng)做相應(yīng)的調(diào)整??刹捎萌缦碌目己朔桨福撼銮诤驼n堂表現(xiàn)占10%,項目評分占40%,平時實驗和作業(yè)完成情況占20%,期末考試占30%。
其中,對學生實踐能力的考核應(yīng)主要放在項目驗收和平時實驗考核中進行,而對學生理論知識的考核則應(yīng)主要放在期末考試中進行。
4結(jié)束語
教學實踐表明,項目驅(qū)動的高職軟件工程課程教學模式收到了較好的教學效果,學生學習該課程的積極性明顯提高,利用軟件工程的原則進行規(guī)范的軟件開發(fā)的能力大大提高。但為了收到更好的教學效果,在采用項目驅(qū)動的高職軟件工程課程教學模式時,還有大量的工作要做。如,教師應(yīng)建立具備一定規(guī)模的教學案例庫,才能在軟件工程各階段的教學中更加深入淺出、收放自如;又比如,為了讓學生完成的軟件項目既貼合實際,又難易適中,需要教師在選擇項目、裁剪項目上下功夫;而且軟件工程是一個飛速進展的學科,因此教師在選擇教學案例和供學生完成的項目時,應(yīng)注意及時調(diào)整,以融入最新的理論知識和技能目標。
參考文獻:
[1]齊治昌,等.軟件工程[M].北京:高等教育出版社,1997:7.
[2]曹薇.高職院校軟件工程課程改革探析[J].高教論壇,2008(2):134-136.
[3]李彤,趙娜.基于CDIO的軟件工程國家精品課程建設(shè)[J].計算機教育,2012(1):14-19.