


摘要:軟件外包業務是軟件行業發展的新增長點,目前迫切需要軟件外包人才。本文提出軟件人才培養的Java語言程序設計教學改革方案,以軟件外包工作過程為導向,開發軟件外包人才的課程培養方案,然后以軟件外包項目驅動課程整體設計和單元設計,通過團隊協作方式完成項目實踐任務,最終完成軟件外包人才的培養過程,取得良好成果。
關鍵詞:軟件外包;人才培養;Java程序設計;課程改革
1研究背景
在全球新一輪產業轉移的大潮中,服務外包成為新的重要推動因素。西安是首批獲得“中國服務外包基地城市”稱號的城市之一,是我國著名的國家軟件產業基地、國家軟件出口基地。預計從2011到2015年,西安軟件外包產業發展增長速度為年均35%。2015年,軟件及服務外包總收入將達到1 100億元,從業人員將達到22萬人,預計實現出口金額為8.35億美元,稅收為38.5億元,企業3 000家[1]。軟件外包業務已經成為西安經濟發展的新增長點。
妨礙剛剛起步的西安軟件外包產業加速發展的癥結,是軟件外包人才的嚴重匱乏。出現這些現象的根本原因,是高校計算機專業課程設置大都偏重于理論和基礎知識,更新周期很長,課堂所授內容與軟件企業需求嚴重錯位,學生實踐動手能力欠缺。目前,Java是流行的面向對象的網絡程序設計語言,是軟件外包項目開發的主流技術,企業需要大量的Java技術人才。
2軟件外包人才培養模式的研究
美國現代教育家John Dewey認為,教育即生活、教育即生長、教育即經驗的改造,提出了“做中學”(Learning by doing)的理論[2]。我們的Java程序設計課程教學改革以“做中學”為理論指導,將外包企業的軟件項目引入Java語言程序設計課程教學中,采用“以軟件外包工作過程為導向的課程開發,以軟件外包項目為驅動的課堂教學,Teamwork協作的項目實踐”的教學方式。該研究將課堂知識從灌輸型轉向啟發引導型、學生主動參與型,激發學生的學習興趣,提升學生的實際動手能力,培養企業需要的軟件外包人才。
2.1軟件外包工作過程為導向的課程開發
基于軟件外包工作過程導向的Java語言程序設計課程開發的實質,是把外包軟件開發典型工作的工作過程轉換為Java課程的內容制定過程[3]。因此,制定Java語言程序設計課程內容的時候,需要掌握外包軟件開發各項工作任務的生產過程,設計以典型外包軟件工作任務為核心的授課內容,編制相關的教學方案。根據Java程序設計技術發展情況,在教學過程中動態整合課程內容體系,強化實踐教學,重新架構“知識、能力、素質”課程內容。基于軟件外包工作過程導向的Java語言程序設計課程模型如圖1所示。
1) 市場調研階段。
該階段對外包行業、企業的人才需求進行調研,在此基礎上確定課程定位和課程改革的思路等;對軟件外包工作任務進行分析,掌握具體的工作內容,以及完成該任務需要的職業能力,凝練出典型的工作任務,從而實現工作領域向行動領域的轉換。
2) 培養目標確立階段。
該階段以校企合作的培養模式為基礎,明確課程培養目標。根據軟件外包工作的任務和生產實際,判斷Java課程學習的內容和經過課程學習后是否能勝任本專業所涉及的崗位和工作任務。通過分析行動領域,按照職位職責確定學習領域的內容。
3) 課程開發階段。
該階段是整個模型的核心部分,要解決Java程序設計課程設置的原則、課程載體的選擇、課程內容的重構、課程情境的創設、課程的實施與評價等問題。完成從學習領域到學習情境的轉換,然后依此進行課程教學。
2.2軟件外包項目驅動教學方式
我們在Java語言程序設計課程中采用軟件外包項目驅動的教學方式。首先,教師對軟件外包項目的知識點進行分析,然后將軟件外包項目劃分為若干個典型案例,不同教學階段案例的功能和難度都是不同的。在課程教學中,教學單元由典型的軟件外包項目案例構成,以案例引導學生掌握知識點。學生在課堂上進行案例模仿,課后進行案例實踐。教師與學生對
案例進行總結和評價,實現整個軟件項目的實踐。通過“軟件外包項目教學—知識歸納—軟件外包項目實踐—總結講評”循環進行,提高教學效果,培養軟件外包人才,整個過程如圖2所示。
我們根據Java語言本身的特點,以教材的內容為主線,選擇合適的、真實的軟件外包項目,案例教學貫穿始終。這些案例具有一定的深度,使學生通過案例的實踐,能夠參與實際軟件項目的開發。Java語言程序設計的內容可以分為三個部分,第一部分為基礎知識部分,主要包括面向對象的基礎知識和Java基本語法知識;第二部分為基礎應用部分,主要包括I/O輸入輸出流、對象群體的組織、多線程、用戶圖形界面;第三部分為高級應用部分,主要包括數據庫編程、網絡編程和Web編程等[4]。這三部分我們都采用案例式教學方法,將課堂教學模擬成一個具體項目開發的過程,以項目的開發為主線,按照項目的開發開展教學,讓學生帶著任務和問題去學。
由于第一部分講述的是基本知識和基本概念,不能形成一個獨立的項目,所以在講授本部分內容時,我們將用到的案例與第二部分基礎應用的用戶圖形界面結合起來。用戶圖形界面部分的案例采用了經典的游戲案例——雷電游戲的開發,游戲主要有戰機類和敵機類,這些類的屬性有飛機編號、生命值、彈藥、位置、等級等,方法有攻擊、飛行等。這樣一個具體的項目,能夠把非常抽象、枯燥的面向對象程序設計的類和對象的概念及作用表示得很清楚,達到傳統教學方法達不到的教學效果,具體的章節和項目的對應關系如表1所示。
2.3基于Teamwork的項目實踐
Teamwork即團隊協作。在軟件外包項目的實踐中,將全體師生看作是一個大團隊運作,將學生分成多個小的團隊,整個項目實踐過程體現為師生之間的交流與協作,共同完成課程的專業學習。就具體一個團隊來看,成員根據項目進行分工,開展項目實踐計劃。在項目實踐中,該團隊內的成員協作學習,多次相互交流,通過學習能力強的成員拉動,消除個體學習能力較弱學生的一些學習阻礙,使他們擁有彼此接近的專業能力,團隊內成員的整體能力得到提高。學生小組完成項目實踐,進行實踐評價。在整個過程中,教師起到指導和監督的作用。
在Java程序設計的項目案例實踐中,我們采用Teamwork的軟件開發方法提高學生的團隊協作能力。全班同學5人分成一組,稱為項目小組。每組學生的學習能力各不相同,選出一名學習能力強的學生擔任組長,負責本組工作。由組長和組員一起討論案例,共同制定案例實踐的計劃和人員分工。接下來,就按照軟件工程的流程開始作需求分析、系統設計、編碼、測試。老師和軟件外包專家對學生的實踐結果進行評價,每個小組作經驗總結。在整個過程中,教師在進行全程引導,引導學生如何解決問題,并在項目完成后總結各組的得失,評選出優秀團隊,激勵所有學生。
3結語
軟件外包業務已經成為我國軟件行業發展的新增長點,制約其發展的主要原因是軟件外包人才的缺乏。通過實施以軟件外包工作過程為導向的課程開發,以軟件外包項目驅動課堂教學,Teamwork的項目實踐的Java程序設計教學改革方案,首先以軟件外包工作過程為導向,建立軟件外包人才培養方案,然后以軟件外包項目驅動課程整體設計和單元設計,通過Teamwork協助完成項目實踐任務。該教學模式在實際教學中已經取得了一定成效,但也出現一些新的問題,如教學課時量不夠等,還有待在以后的教學中進一步解決。
參考文獻:
[1]