劉 方
(安徽工商職業學院電子信息系,安徽 合肥 230041)
高職軟件開發類課程實踐教學環節的改革
劉 方
(安徽工商職業學院電子信息系,安徽 合肥 230041)
針對目前高職計算機軟件開發類課程實踐教學中存在的不足,從其實踐教學的內容構建,項目設計和過程實施等方面,提出了采用項目化實訓等相應的改革措施,并以Java程序設計課程的實踐教學為例作了闡述。
實踐教學;軟件開發;項目化實訓;項目設計
高職軟件專業的教學目標,是為IT行業培養能從事軟件開發、測試和維護的技能人才,要實現這一教學目標,構建一套有效的實踐教學模式尤為重要。
計算機軟件類課程一般分為專業基礎類課程以及技術開發類課程,軟件基礎類課程如數據結構、操作系統、數據庫原理,它們主要擔負著基本理論和原理的講授;軟件開發類課程如面向對象程序設計、Web程序設計、軟件工程等課程,則承擔著具體的專業技術實現、方法應用的講授及訓練。這二類課程都是實踐性很強的課程,其中軟件開發類課程,更強調動手和實踐,更強調解決工程問題,尤其是在培養學生的技術應用能力和職業行為能力方面,起著很重要的作用。
但是目前高職軟件專業的技術開發類課程的實踐教學內容,在教學設計上還是或多或少受著學科型模式的影響,與軟件行業需求往往錯位,實踐教學內容零散,層次不合理,學生通常還是通過一個個小程序,來驗證課本上的例題。實訓教學缺少合適的載體,“項目”的概念不強,缺乏“完整”的成果。對于在開發過程中如何運用參考文檔和使用開發工具也缺乏認識,更不用說運用軟件工程的思想來進行指導開發和開展團隊合作。這樣的培養效果,顯然容易造成學生所學知識實用性不強,動手實踐能力差,難以適應崗位需要。
因此,積極探索高職計算機軟件開發類課程實踐教學環節的改革,有效地構建和組織好其實踐教學的內容,過程和方法,促進學生較快地掌握專業技能和提高職業素質,是搞好教學質量工程的一項重要任務。
從事軟件行業,項目開發能力是關鍵,也是實踐教學的主要訓練內容。高職計算機軟件開發類課程的實踐教學,在內容設置上應最大限度地涵蓋必備的專業知識,職業技術方法和職業素質,其內容構建應遵循以下幾點:
一是實踐教學內容的確定應以職業能力培養為主線,內容和形式應盡量接近學生將來的職崗需求。實訓的內容應以學生就業為導向,強調技術和技能的實用性和針對性。對將來主要從事軟件藍領工作的本專業學生來說,尤其要加強帶有崗位實踐特征的實訓內容建設,如代碼編寫,軟件測試,文檔書寫,團隊合作等崗位能力實訓。為此,在實踐教學內容構建上,應采取項目案例驅動方式,讓學生在“做中學”,在動手實踐中消化和整合各知識點,積累開發經驗,實現學習目標。
二是實踐教學內容的安排上,應充分考慮高職學生的認知特點和學識基礎不均衡的現狀。在項目教學和實訓實施上應采取循序漸近的方式,包括所選實訓項目的難度和規模的適當性,對案例和項目的剪裁及序化,以及根據課程的特點,對實訓項目的實施是釆取分層遞進實施或采用貫穿項目、雙線并行策略等。
三是實踐教學內容的設計上,應以高職專業培養進程為依據,以書本知識點為基礎,應保證實訓項目的內容及實現能夠覆蓋該課程所包含的知識點。項目完成后,能使學生對所學的知識形成一條清晰的脈絡,從而搭建起該課程知識結構的框架,項目完成所形成的成果展示,能讓學生有一種成就感,從而起到強化其學習興趣的作用。
實踐教學的項目設計至關重要,作為實訓的載體,它直接影響到課程的教學效果。軟件開發類課程的實訓項目選取,不僅要考慮符合課程教學的目標定位,還要考慮項目本身所能涵蓋的知識點,考慮學生對所選項目的熟悉程度,以及考慮項目中所遺漏的知識點等問題。這里,我們以軟件開發類課程中的《Java程序設計》實踐教學項目設計為例,作一探討。
首先,在項目的選取上,一般有二種方式:一是選用來自企業的真實項目經剪裁后作為實訓原型,另外也可以采用一個模擬項目作為貫穿課程的實訓項目。具體選用哪種,這要根據該課程教學的目標定位,并結合課程的特點綜合分析后進行確定。例如,Java程序設計課程是Java平臺系列課程中的核心課程,但其課程特點,又不同于其后繼的JSP、J2EE等應用開發課程。后者的實訓安排,能較好地適用來自企業的實際項目,而高職類的Java程序設計的教學內容,主要是面向對象程序設計的基本方法和Java技術基礎,不易支撐企業的真實項目,于是,我們則可以采用一個精心構思的,適合教學的模擬整體項目貫穿于實訓,亦獲得較好效果。
其次,項目的選材,要從學生已有的知識和經驗出發,難度要適中。很顯然,一個陌生領域內的開發項目或在選定的實訓項目中含有無課程背景的技術單元,都會讓學生產生難以切入的無助感,容易挫傷其學習的積極性。
第三,項目的設計,應緊扣實訓教學內容,要保證項目的實現能覆蓋課程所包含的基本知識點和基本技能點。本著“項目引領,任務分層驅動”的原則,整體項目可以合理劃分為一個個相對獨立又相互聯系的子項目,每個子項目重點實現若干相關知識點。學生在完成了各項目單元后,也就水到渠成地把握了整體項目所串接的課程知識點。
根據上述思路,在Java程序設計課程的實訓教學中,我們采用項目化實訓方式,設計一個完整的項目案例 —《員工信息管理系統》的開發來貫穿始終,項目劃分為六個階段,每個項目單元實現幾個知識點,六個單元基本涵蓋了課堂主要知識點,同時考慮教學過程總是循序漸進的,項目的劃分上也連貫地對應課程中的每個章節,從而使學生達到了邊學邊練的效果。
本項目采用了RUP技術,分為六個階段完成,每個項目單元都是一個完整的工作過程,都對項目進行功能上拓展,最終以綜合項目的實現為目標:
2.1 項目單元一
實踐內容:根據要求編寫接口IEmployee和類Employee及相關屬性,操作方法并調試運行。
項目功能拓展:創建項目中第一個類Employee,以及測試該類的驅動模塊。
相關知識點:接口,類,實現關系,屬性,get和set方法的定義
2.2 項目單元二
實踐內容:編寫類EmployeeGroup,使用集合類Map完成增、刪、改、查操作。
項目功能拓展:用Map類來管理員工數據。
相關知識點:Map容器類的使用
2.3 項目單元三
實踐內容:修改Employee類,使用try-catch塊捕獲異常,并編寫類EmployeeJunitTestCase測試Employee類。
項目功能拓展:為項目增加異常處理和單元測試功能。
相關知識點:try-catch異常捕獲,Junit工具進行測試
2.4 項目單元四
實踐內容:編寫類EmployeeGroupDAO實現文件讀寫處理及串行化操作
項目功能拓展:用文件來保存項目中的員工數據。
相關知識點:文件緩沖流讀寫處理,對象串行化操作
2.5 項目單元五
實踐內容:編寫類EmployeeWindow,使用Java Swing控件對象完成Java界面布局設計。
項目功能拓展:為項目設計圖形用戶界面。
相關知識點:Swing控件(按鈕,圖片框等)進行界面設計,事件響應處理
2.6 項目單元六
實踐內容:編寫類Employee,BaseDAO,Em ployeeDAO,ConnectionFactory和EmployeeDAOTest完成對數據庫的操作。
項目功能拓展:用數據庫來保存員工信息數據。
相關知識點:JDBC API的使用
以上項目單元基本覆蓋了除多線程之外的教學內容,項目的設計體現了面向對象的編程思想和開發方法。
軟件開發類課程的實踐教學過程的實施,要以項目導向,任務驅動的教學方法為主導,教、學、做一體化,師生互動,讓學生在一個個典型的“任務”的驅動下展開實訓,引導學生在對“任務”的分析和解決中,循序漸進地完成新的課程知識體系的建構。同時輔以啟發式、討論式、情景式等其它教學法。
由于高職軟件類各課程的特點和教學目標不盡相同,因而其實踐教學過程既存在共性,又呈現個性。例如,在Java程序設計課程的項目實訓中,為了保證預期效果的取得,在教學過程中我們注意處理好以下幾點:
3.1 把握好實訓項目實施的進程控制。項目是一個過程,并且學生的能力訓練、素質滲透、知識運用都是在過程中完成的,因此要設計好進程控制方案。首先,我們通過設置一套項目任務分解卡(或項目實訓指導書)來牽引和控制每個階段的進程。項目任務分解卡對每個階段都提出明確的任務,目標和具體成果,包括項目需求,技術方案(系統設計,編碼,測試等)。其次,教師要及時加強檢查、指導和考核,并要求學生提交相關文檔及編寫的代碼來檢驗每階段的實踐成果。第三,項目結束時,增加類似畢業設計的簡要答辯環節,以總結、交流與講評。
3.2 運用新學習的知識來獨立完成項目設計,對高職學生來說還是有一定難度的,為了引導學生能較快的切入,我們采取了下列措施:一是在講授環節,采用一個與實踐項目類似的案例—“學生成績管理系統”作為教學用同步項目,由于示例項目的相似性,則大大降低了學生完成任務的難度;二是在布置實訓任務時,教師事先可給學生展示該實踐項目完成后的框架和界面,讓他們對項目有一個完整概念和感性認識,以增強其開發成功的信念。三是運用項目驅動教學方法不能弱化基本概念的教學。學生開發技能的提升,需要建立在對概念的深入理解和對基本原理的真正掌握上。因此在Java程序設計課程的初期(1-2章中),我們則通過安排一些單項的編程和小案例(如簡易計算器等)的實訓練習,來強化對Java基本語法、數據類型、程序結構等的掌握,從而為第3章開始的貫穿項目的開發作好鋪墊。
3.3 在實訓教學組織模式上,讓學生是以個體還是以團隊合作方式參與實施,這同樣要依據項目的類型而定。對在《軟件工程》、《JSP》等課程實訓中,一些較復雜的綜合實踐項目,應采用小組分工合作方式;而象Java程序設計課程中,這種規模較適中、且以訓練關鍵基礎知識和基本技能為主的項目實訓,我們則要求學生必須做到個人獨立完成。
3.4 在軟件開發類課程的項目實訓中,要突出工程化的思想,要強調遵守軟件工程的要求,重視并滲透對職業素質的培養。要積極建設校內仿真實訓環境(即模仿軟件企業開發環境),同時還要適時引入一些先進的集成開發工具 (如在Java程序設計課程中,適時引入Eclipse等工具),讓學生熟悉和掌握業界主流開發工具和技術,以適應將來的職場需要。
高職教育的特點決定了實踐教學是整個教學過程的重要環節,是培養學生掌握如何做、怎么做的關鍵環節。高職軟件開發類課程實踐教學環節的改革,應當以職業能力培養為主題,遵循高職學生的認知特點,將核心實訓技術向其職崗需求延伸。近三屆學生的教學實踐也表明,項目化實訓能明顯提高軟件開發類課程的實踐教學效果。為此,我們應當積極地從其實踐教學的內容構建,實訓項目設計和過程實施等方面,續續加以探討、總結和完善,以進一步提高軟件類課程的教學質量。
[1]文益民,杜飛明,李健.計算機類專業實訓教學項目化研究[J].計算機教育,2010,(18):137-140.
[2]白德淳,羅大偉.高職軟件技術專業實踐教學體系的研究與構建[J].教育與職業,2007,(7):167-168.
[3]周龐榮,于訓全.高職軟件技術專業實踐教學體系的構建[J].職業教育研究,2009,(1):108-109.
REFORM OF PRACTICE TEACHING OF HIGHER VOCATIONAL COURSES IN SOFTWARE DEVELOPMENT
LIU Fang
(Department of Electronic and Information,Anhui Business Vocational College,Hefei Anhui 230041)
Because there are some shortcoming of higher vocational college in the current practice teaching of computer software development,this article proposes to the corresponding reform measure of project training such as construction of practice teaching content,project design,process implementation and so on.Besides,the article describe the practice teaching of Java programming course.
practice teaching;software development;project training;project design
G642
A
1672-2868(2012)03-0133-04
2012-03-11
劉方(1980-),男,安徽安慶人。安徽工商職業學院講師,碩士,研究方向:軟件工程與軟件開發。
責任編輯:松 水