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