謝景明 孫 庚
摘要:J2EE是一門綜合的企業級軟件開發技術課程。本文介紹了J2EE課程的目標與定位,分析了J2EE課程的重點與難點,從課程結構、項目案例、教學方式和評價體系四個方面探討了項目驅動的進階式J2EE課程教學的設計方法,并討論了J2EE課程對軟件開發人員職業素質的培養要點,為高職院校實施J2EE教學提供一種可行的參考做法。
關鍵詞:J2EE課程;教學設計;項目案例;職業素質
中圖分類號:G642 文獻標識碼:B
1J2EE課程的目標與定位
J2EE是Sun公司主導提出的企業級應用框架,為開發具有跨平臺性、可擴展性、高穩定性的軟件系統提供強大的支持,已在政府、金融、通信、電力等多個行業得到廣泛應用,例如電子商務、電子政務系統。目前國內對J2EE工程師需求量很大,IDC統計數據顯示J2EE人才占軟件開發人才需求的60%左右。當前遇到的一個困局是:社會迫切需要大量的程序員,但一些高職院校所培養的學生卻難以適應企業的要求,學生畢業后較少從事專業對口的軟件開發工作。
廣州番禺職業技術學院在計算機軟件技術專業開設了J2EE課程,目標是提高學生的職業能力,培養高素質的Java應用型人才。通過課程的學習,將學生積累的基礎知識轉化為實踐知識,為他們走向工作崗位后能盡快上手提供重要保障。
本課程的先修課程包括Java、Java Web開發技術(JSP、Servlet)、數據庫、軟件工程、計算機網絡等。內容主要講述J2EE主流的開發方法,培養學生具備使用J2EE開發企業級系統的能力,具體要求如下:
(1) 能搭建J2EE開發平臺,熟練使用一種主流的開發工具、J2EE應用服務器和數據庫;
(2) 能利用J2EE的核心技術開發四層體系結構的軟件系統;
(3) 能利用J2EE主流的框架Struts +Hibernate+Spring進行系統開發;
(4) 具有良好的團隊協作能力,能按照軟件工程步驟完整完成一個J2EE軟件項目。
2J2EE課程的重點與難點分析
J2EE是一門涉及面廣、實踐性要求高的技術課程,在校學生往往缺乏實際軟件項目的鍛煉,容易對J2EE技術
的用途產生困惑,難以理解J2EE的復雜實現。市面上的書籍通常偏重于代碼技巧的實現,缺少對實際項目的詳細講解。相對于數據結構、計算機組成原理、操作系統等傳統基礎課程,J2EE是一門發展中的新技術,真正深入開展J2EE教學的高職院校并不多,在教學內容和教學方法等方面還需要積極進行探索。
J2EE課程的重點與難點體現在需要綜合運用多種知識來實現系統的功能,具體分析如下:
(1)J2EE體系結構:典型的J2EE四層體系結構是由客戶層、Web層、業務層和數據層自上而下組成,每一層要求運用不同的技術,只有領會J2EE體系結構的精髓才能更好地運用J2EE技術進行軟件開發;
(2)J2EE技術規范的理解以及應用:J2EE包含了十三種核心技術,分別為JNDI、JMS、JDBC、EJB、JTA、JavaMail、RMI、Java IDL/CORBA、JSP、Servlet、XML、JTS、JTF,每項技術又包含了很多新的概念以及API;
(3) 框架技術的運用:J2EE的框架種類多,MVC的思想是將部件分離為模型、視圖和控制器三部分,Struts、Spring是MVC的一種實現框架,而Hibernate是提供數據訪問的持久層框架,把他們結合起來將能夠建立更靈活的軟件系統,但熟練運用這些技術需要反復的實踐;
(4) 工具的使用:學生需要掌握J2EE IDE的開發使用方法、J2EE應用服務器和數據庫的配置管理技能,而且還能夠綜合運用這些工具進行代碼編寫、調試以及部署。
3項目驅動的進階式J2EE課程教學設計
3.1進階式課程結構
根據J2EE技術規范和應用經驗,通過對J2EE知識點的內在關系以及重點、難點進行分析,提出了按入門、提高、深化到鞏固的四階段教學內容實施計劃,課程單元的教學安排從能力目標、工作任務、知識點、方法、實踐、
總結六個主要方面逐步深化展開(見圖1),其中工作任務是實現課程能力培養目標的舉措,知識點是通過項目案例引出,進而歸納出完成工作任務的一般方法,最后以具體任務的實踐以及總結來深化學生對技能的掌握。

從圖1可看出J2EE涉及的內容很多,按照高職院校常規的課時安排,很難在一門課程內對每一部分內容都作詳細的講解,因此建議通過三門課程來共同完成J2EE的教學,其中第一、二階段由一門課程完成,實現第1節所討論的J2EE課程能力1和2的培養;第二、三階段分別由一門課程完成,相應實現能力3和4的培養(見表1),具體在每個課程單元的教學活動中還需要做進一步的細化。

3.2項目驅動的案例設計
J2EE技術較為抽象,若把案例貫穿于整個教學內容的實施過程中,將有利于學生對知識點的理解與掌握,因此項目案例的設計是J2EE課程效果的關鍵。J2EE的項目類型很多,案例的選取應具備以下幾個特征:
(1) 針對性:難度與高職學生能力相匹配,適合于教學,具有易學性,能讓學生易于領會J2EE的開發思想;
(2) 典型性:包含大部分J2EE的重要技術和實際中常用的方法,能夠和教程的知識點緊密配合,案例能夠完整貫穿于整個教學過程;
(3) 綜合性:能夠體現軟件工程知識,有項目背景、用途、業務關系的詳細描述。
實際項目的業務關系通常較為復雜,不適宜直接照搬用于教學,應根據課堂特點進行裁剪,根據各階段的能力培養目標將一個大項目劃分為多個單獨可以直接執行的子系統或者模塊。建議以學生熟悉的業務作為教學案例,例如圖書管理、網上購物等,通過由淺入深的引導,逐步實施,讓學生在一個個任務的完成過程中逐漸掌握完整J2EE系統的實現方法。圖2是一個網上購物系統的教學案例設計示意,其中在第一階段側重于增強學生對J2EE技術的了解和認識,在第二、三階段側重于使用不同的技術對比實現某些挑選出的相同模塊,在第四階段側重于從軟件開發過程的全局角度完整地實現網上購物系統。

一個案例由背景、功能演示、實現步驟、代碼解釋四部分組成,可為J2EE課程提供多個互為補充的不同類型案例。同時,對案例涉及到的先修課程或者講述過的內容應舉一反三,將知識點的傳授貫穿于整個教學活動過程中,使學生能夠溫故而知新。
3.3實踐為主的教學方式
相對于普通的計算機基礎課程,J2EE課程更偏向于應用。現有的J2EE工具較多,建議在教學中采用主流的開源工具:Eclipse+Tomcat+JBoss+MySQL。市面上的J2EE教材往往只是側重于某一方面,建議從幾本教材中選取相應的內容進行教學。在內容講解上,應根據高職學生的特點,強調知識的可應用性,把握住理論傳授的深度,不糾纏在概念細節方面。教學過程以實踐為主線、理論為輔,通過實踐來逐步領會理論知識,對此應為實踐安排更多的課時。教學方法是綜合采用多種教學手段實施項目案例的講解和實踐指導,下面對重點部分作討論:
項目案例應先演示后再詳細講解,以便學生有直觀的印象和體會。知識點的傳授圍繞著“為什么引出該知識點,他解決了什么問題、有哪些主要特性、怎樣使用,與相似知識點有何差異”。為了將知識點講透,應給出工作任務的多種解決方法,并對方法的優缺點進行對比說明,同時列舉典型的不當或者錯誤代碼,以加深學生的認識。
實踐指導環節,應耐心指導學生,及時解決學生上機實踐中出現的問題,鼓勵他們多動手、多思考,引導他們積極自我總結開發經驗。同時需要對實踐內容把好關,為學生提供清晰的實現步驟和注意事項。先讓學生參加規模較小的練習,到后面再逐步深入實現一個規模較大的完整系統。
3.4分側重點的評價方法
根據J2EE的進階式課程結構,對每一階段的學習效果應有相應的評估標準:
(1) 對于第一、二階段的教學,建議采取平時作業占30%,考試成績占70%,考試由筆試和上機操作組成,強調對基礎知識,基本技能的考核;
(2) 對于第三階段的教學,建議采取平時項目占70%,考試成績占30%,考試以上機操作為主,強調平時訓練的重要性,側重對學生個人的綜合技能考核;
(3) 對于第四階段的教學,建議采取平時項目占100%,考核學生團隊合作共同完成一個完整項目的能力。以學生答辯的形式進行,教師和其它學生團隊一起對其進行評價,以達到相互學習提高的目的。
4對職業素質的綜合培養
為了取得更好的J2EE教學效果,讓學生真正掌握一項能夠服務社會的技能,順利走上軟件開發的職業道路,除了知識的傳授之外,在教學實施中還應對學生進行以下幾方面的職業素質培養:
(1) 培養學生的學習興趣:從學生實際情況出發,充分調動他們的學習主動性,并消除他們的畏難心理,是課程教學成功實施的關鍵。針對學生沒有企業工作經驗、對企業級的應用開發感覺陌生、基礎薄弱的情況,應采取從簡到難的步驟進行傳授,多以形象的圖例從多個角度來啟發他們的想象力,開闊他們的思路和眼界;
(2) 培養學生的自學能力:引導學生借助書籍、互聯網等工具獨立解決學習中遇到的問題,教導他們養成良好的學習方法,扎實掌握實現一個軟件系統的要領,以便于將來即使是使用其他工具語言來開發軟件,也能夠快速上手;
(3) 培養學生的耐心和細心:用J2EE開發系統的代碼
量往往較大,一個不經意的錯誤可能需要花費幾天的時間才能夠調試出來,因此既要求學生具有編寫良好規范代碼的習慣,也需要他們有吃苦的精神,調試程序時,能夠沉得住氣,仔細查找錯誤;
(4) 培養學生的團隊合作精神:模擬軟件公司的開發組織形式和項目管理方法,將學生分為若干個小組,每個成員在小組當中充當一定的角色,例如項目經理、系統分析師、程序員等,讓學生在團隊的合作中完成一個軟件系統的開發。鼓勵各個團隊之間相互進行競爭,以便讓學生在適當的壓力環境下更好地得到成長。
5結束語
為了培養具有競爭力的程序員,滿足社會對計算機人
才的需求,應增強學生對應用型知識的掌握能力。J2EE是當前主流的軟件開發技術,對學習的要求較高,需綜合運用編程語言、數據庫、軟件工程、計算機網絡等多門知識,積極探索該項技術的教學方法迫切且非常有意義。本文下一步的工作是在教學中繼續深入探索基于工作任務的J2EE教學方法,使學生更好地掌握運用J2EE技術進行企業級系統開發的相關知識和技能,從而達到以點帶面、觸類旁通的效果,為IT行業培養更多的技術應用型合格人才。
參考文獻:
[1] Sun Microsystems. The Java EE 5 Tutorial For Sun Java SystemApplication Server 9.1[EB/OL]. http://www.sun.com.
[2] 姜大源.當代德國職業教育主流教學思想研究[M].北京:清華大學出版社,2007.
[3] 趙強.J2EE應用開發(WebLogic+JBuilder)[M].2版. 北京:電子工業出版社,2006.