摘 要:目前Java軟件技術人才呈現供求不平衡的尷尬局面,本文分析了這種局面產生的原因,針對高等職業院校的教學提出了的三種相應的措施。
關鍵詞:Java開發人才 高職院校
一、JAVA技術人才的需求現狀
隨著Internet技術的快速發展,Java成為互聯網的標準編程模式以及分布式企業級應用的事實標準。以Java2平臺為核心的J2EE、J2SE和J2ME三大平臺,在世界上形成了一股巨大的Java應用浪潮。據全球市場調查分析顯示:目前已經有25億部電子設備采用Java技術,Java智能卡發行量已經達到10億張;采用Java技術的手機達7億多部;7億臺PC機應用了Java技術;140家電信運營商支持Java技術。
Java技術應用的廣泛,使得軟件產業對Java技術人才的需求也變得越來越大。2006年根據文華學院與上海信息服務人才培訓中心聯合進行的一項調查統計,僅上海地區,各級水平的Java技術人才缺口就達到18—20萬人,以此推斷,全國Java技術人才的缺口應該在60萬人左右。[1][2]
事實上,近幾年隨著Java應用的擴展,國家為加快軟件人才,尤其是“軟件藍領”的培養,2003年教育部在批準清華大學等35所本科院校試辦軟件學院的基礎上,又發文試辦了35所示范性軟件職業技術學院。目前,除了示范性軟件職業技術院校培養的軟件人才外,在全國1047所高職(專科)院校中80%以上的學校都開辦了計算機專業。
然而,雖然Java人才的薪水較高,但目前對該類人才需求旺盛的IT企業卻很難招聘到合格的Java人員。每年全國高校畢業的計算機專業學生有數十萬之多,但卻難以滿足軟件產業的直接需要。一方面IT企業招不到合格的Java開發人員,另一方面高校計算機專業畢業學生無法正常就業,在供求表面“平衡”的情況下,卻出現了實際供求不平衡的尷尬局面。
二、需求現狀產生的原因
出現上述供求不平衡的最根本原因就是國內計算機專業的畢業生在讀期間沒有掌握實用的技能與經驗,距離企業的實際用人需求有較大的差距。
當前,大學的學科教育仍然以基本概念和原理的教學為主。盡管高校已經意識到Java的就業前景,開設了各種關于Java的應用課程,但概念原理式的教學方式使得學生最多只能算是了解了Java的基本知識和基本技術。然而作為軟件產業,它需要的是直接面對問題、解決問題的技能。它與傳統的大學教育有一個根本的矛盾:前者需要的是應用技術型人才,但是后者產生的人才以研究型為主。作為Java軟件技術開發人員,他需要做到根據企業需求進行相應的開發,除了了解Java語言的基礎知識外,更重要的是要具有相應領域的開發能力,包括圖形界面的開發、Web組件的開發、移動應用的開發以及Web服務的開發等。一個Java程序員至少要具備以上四項能力中的一項,才可能滿足企業對人才的需求。
然而,大學生走出校門進入軟件企業后需要經過較長時間訓練和企業再學習才能成為成熟的軟件人才,這無法滿足中小企業的招人就用的實際需求。
針對這種情況,高職院校提出了培養“軟件藍領”的方略,但在實際培養過程中仍然存在著各種問題。如培養方式很模糊,并沒有形成定位準確、以技術應用為主導、面向市場的軟件人才培養模式,在實際培養過程中出現了兩種傾向:一是盲目向本科看齊,套用傳統學術教育的培養模式,致使培養出來的軟件人才有理論、無實踐,不具備技術應用能力;另一種傾向是不考慮教育的層次性、滯后性,不分辨市場需求的真實性、飽和度,盲目跟進市場。[4]
此外,培養課程的設置、教學方法多年來并無過多變化,學科體系的烙印仍然明顯,過分重視學生的基礎知識,只強調遵循知識系統上的銜接性。雖然采取了模塊式教學,但其模塊也只是將不同的課拼湊在一起;在教學方法方面,雖然基本上采用了理論與上機實踐相結合的授課方法,但仍然是以書本知識的講授為主,對學生職業技能以及動手能力方面的培養相對不足。
三、高職院校應如何應對
面對如此尷尬的局面,高等職業技術院校究竟該采取何種正確合適的策略來培養學生才能更適合社會的需要?
1. 提高軟件專業人才培養標準
大學的學科教育難以解決軟件產業的成熟軟件人才的培養,其根本出路就是建立直接面向軟件產業的職業教育體制,解決軟件產業的不同層次的軟件人才培養。只有對軟件產業的成熟軟件人才進行分層和定位,才能發揮高等職業技術院校和軟件學院的各自優勢,制定相應的培養標準。
我國目前的高等職業技術院校定位在專科層次,擔當軟件產業的底層人才的培養,主要是軟件編程工程師、軟件測試工程師、文檔編寫工程師等軟件產業生產第一線的技術型和技能型人才,以培養計算機軟件領域的“藍領”人才為目標,將人才規格定位為掌握常用軟件應用開發技巧,了解軟件項目開發的基本流程,能夠從事計算機初級編碼、程序調試、軟件技術服務和銷售的專業人員。
(1)軟件編程工程師
軟件編程工程師就是根據軟件設計師的設計思想和系統架構,熟練地使用某種編程語言的編程技巧和細微技術來實現設計要求,注重的是編程能力的訓練,除了修完教學計劃規定的課程外,還需獲得著名的開發工具廠商的認證和程序員資格考試,爭取在校內完成人才規格的培養。
(2)軟件測試工程師
軟件測試工程師是按照軟件設計師的功能設計要求,采用相應的軟件測試方法來驗證軟件編程工程師的實現是否達到了設計要求,注重的是測試方法和測試技能的訓練,很多組織軟件測試的費用占到了整個軟件開發費用的30%到50%,高質量的軟件和軟件測試密不可分。
(3)文檔編寫工程師
文檔編寫工程師根據軟件設計師的功能設計和編程工程師的功能實現制作最終用戶支持文檔,包括用戶使用手冊、幫助文本和發布說明等。
從以上的分析可以看出,高等職業技術院校軟件專業所培養的人才是軟件產業的底層人才,都和軟件項目的實施角色有關,因此在培養方向上,應該重點偏向軟件項目所涉及的中底層技術領域,提供正確的技術導向,重視面向管理的軟件工程教育。
2.設計合理的教學計劃
為了適應軟件產業的需要,在教學計劃的制定和課程設置上應緊密配合,完全打破學科教育體制,采用項目培訓模式,提供相應的專題,讓知識點融于專題當中,具有針對性地學一點,提高一步。
為培養新形勢下的軟件產業人才,一般高職院校軟件專業的教學計劃按照理論、實踐連個方面進行課程組合:
(1)加強理論知識的設置。設置“Java面向對象程序設計、網頁制作、JSP、SQL server、J2EE企業級應用開發-web serviceEJB、J2EE框架技術開發-StrutsJSF”。
(2)開設實訓課程。
結合兩條主線的共同需要,對專業教學計劃進行大膽的改進和論證,刪除或壓縮學科性強的理論課程,設置“數據庫開發技術、現代軟件工程與UML應用技術、軟件質量保證與測試、軟件文檔寫作、軟件項目管理與配置管理”等課程,讓課程主線更加清晰,各課程的教學內容要點以軟件產業的底層軟件人才培養標準來設定。
3.實行先進的教學方法
在設計了合理的教學計劃后,需要進行有針對性的先進的教學方法的設計,如項目教學法。這種教學法通過師生共同實施一個完整的“項目”工作來完成。
在軟件產業的職業教育中,項目是指一個具體的具有實際應用的軟件項目。針對一個學期的課程組設計一個綜合項目,知識點包含每個課程的主要知識點,再對每個課程分解出分項目,讓知識點融于項目之中。根據項目制定每個課程的授課計劃,為了使之協調,就要讓各個課程教學之間互通交流,避免傳統的教學中一個學期的各個課程的教學互不相干、互不影響,各個學期之間的課程沒有系統性。
采用項目實戰教學法,在每個教學單元的教學需要轉變教師和學生的角色和觀念,教師先做項目經理(Project Manager),然后才是教師;學生先當項目成員(A member of team),再做學生。[3]
(1)在一個單元的開始,項目經理介紹本單元要完成的任務(task),對任務進行分解,對一些關鍵問題和難點做出說明,講解任務涉及的知識要點,示范演示操作流程;
(2)規定時間,對項目成員作出規范要求,組織和協調成員積極動手、勤于思維,經過高強度的教學,項目成員之間會參差不齊,反映出各種問題、疑惑和不理解;
(3)留出一定的時間,項目經理的角色變化為教師,統一解決學生的問題,對各種現象理清思路,進行總結,歸納出任務的知識內容,讓學生帶著問題思考,在問題解決之后對知識的理解會更為深刻。
然后,教師對下一單元的任務提出要求,提示需要準備的知識點和參考資料,充分挖掘學生的潛力,讓學生利用課余時間搜集資料,主動學習,應對下一單元的高強度訓練。
由此可見,擔當這一任務的教師必須具有資深的軟件項目開發經驗,同時又要具有豐富的教學經驗,也就是雙師型的教師。
在一個學期的課程組之間,在擔任課程組的教師中選定一個總負責,協調課程組的授課計劃,把握課程之間的項目,綜合利用課程間的知識體系。這樣就完全改觀了傳統課程教學割裂的現象,改變了過去學生不了解所學課程具體用途的弊端。
通過以上的教學實踐,與傳統教學法培養的同期學生相比,改革后培養的學生在綜合能力、實踐和應用能力、職業素質等方面都明顯高于傳統教學法培養的學生,大部分的學生可達到軟件人才較高質量的標準。
總之,以就業為向導,推進面向知識、能力、素質的培養模式,是軟件專業技術人才教育改革的新嘗試,其目的就是為了在嚴峻的就業形勢下,軟件專業技術人才能夠適應社會主義市場經濟的需要。
參考文獻:
[1]桑紅石,沈緒榜.Java硬件實現技術現狀及發展.計算機科學,2001年04期.
[2]單文仁.Java在我國的應用現狀和發展趨勢科技成果縱橫.2007年02期.
[3]王倩,王曉煜.應用型軟件人才培養的Java課程教學改革的探索.商場現代化,2007年36期.
[4]王昕.關于高職計算機應用專業java教學改革的探索網絡與信息.2008年01期.