謝景明 孫 庚
摘要:J2EE是一門綜合的企業(yè)級(jí)軟件開發(fā)技術(shù)課程。本文介紹了J2EE課程的目標(biāo)與定位,分析了J2EE課程的重點(diǎn)與難點(diǎn),從課程結(jié)構(gòu)、項(xiàng)目案例、教學(xué)方式和評(píng)價(jià)體系四個(gè)方面探討了項(xiàng)目驅(qū)動(dòng)的進(jìn)階式J2EE課程教學(xué)的設(shè)計(jì)方法,并討論了J2EE課程對(duì)軟件開發(fā)人員職業(yè)素質(zhì)的培養(yǎng)要點(diǎn),為高職院校實(shí)施J2EE教學(xué)提供一種可行的參考做法。
關(guān)鍵詞:J2EE課程;教學(xué)設(shè)計(jì);項(xiàng)目案例;職業(yè)素質(zhì)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1J2EE課程的目標(biāo)與定位
J2EE是Sun公司主導(dǎo)提出的企業(yè)級(jí)應(yīng)用框架,為開發(fā)具有跨平臺(tái)性、可擴(kuò)展性、高穩(wěn)定性的軟件系統(tǒng)提供強(qiáng)大的支持,已在政府、金融、通信、電力等多個(gè)行業(yè)得到廣泛應(yīng)用,例如電子商務(wù)、電子政務(wù)系統(tǒng)。目前國(guó)內(nèi)對(duì)J2EE工程師需求量很大,IDC統(tǒng)計(jì)數(shù)據(jù)顯示J2EE人才占軟件開發(fā)人才需求的60%左右。當(dāng)前遇到的一個(gè)困局是:社會(huì)迫切需要大量的程序員,但一些高職院校所培養(yǎng)的學(xué)生卻難以適應(yīng)企業(yè)的要求,學(xué)生畢業(yè)后較少?gòu)氖聦I(yè)對(duì)口的軟件開發(fā)工作。
廣州番禺職業(yè)技術(shù)學(xué)院在計(jì)算機(jī)軟件技術(shù)專業(yè)開設(shè)了J2EE課程,目標(biāo)是提高學(xué)生的職業(yè)能力,培養(yǎng)高素質(zhì)的Java應(yīng)用型人才。通過課程的學(xué)習(xí),將學(xué)生積累的基礎(chǔ)知識(shí)轉(zhuǎn)化為實(shí)踐知識(shí),為他們走向工作崗位后能盡快上手提供重要保障。
本課程的先修課程包括Java、Java Web開發(fā)技術(shù)(JSP、Servlet)、數(shù)據(jù)庫(kù)、軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)等。內(nèi)容主要講述J2EE主流的開發(fā)方法,培養(yǎng)學(xué)生具備使用J2EE開發(fā)企業(yè)級(jí)系統(tǒng)的能力,具體要求如下:
(1) 能搭建J2EE開發(fā)平臺(tái),熟練使用一種主流的開發(fā)工具、J2EE應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù);
(2) 能利用J2EE的核心技術(shù)開發(fā)四層體系結(jié)構(gòu)的軟件系統(tǒng);
(3) 能利用J2EE主流的框架Struts +Hibernate+Spring進(jìn)行系統(tǒng)開發(fā);
(4) 具有良好的團(tuán)隊(duì)協(xié)作能力,能按照軟件工程步驟完整完成一個(gè)J2EE軟件項(xiàng)目。
2J2EE課程的重點(diǎn)與難點(diǎn)分析
J2EE是一門涉及面廣、實(shí)踐性要求高的技術(shù)課程,在校學(xué)生往往缺乏實(shí)際軟件項(xiàng)目的鍛煉,容易對(duì)J2EE技術(shù)
的用途產(chǎn)生困惑,難以理解J2EE的復(fù)雜實(shí)現(xiàn)。市面上的書籍通常偏重于代碼技巧的實(shí)現(xiàn),缺少對(duì)實(shí)際項(xiàng)目的詳細(xì)講解。相對(duì)于數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、操作系統(tǒng)等傳統(tǒng)基礎(chǔ)課程,J2EE是一門發(fā)展中的新技術(shù),真正深入開展J2EE教學(xué)的高職院校并不多,在教學(xué)內(nèi)容和教學(xué)方法等方面還需要積極進(jìn)行探索。
J2EE課程的重點(diǎn)與難點(diǎn)體現(xiàn)在需要綜合運(yùn)用多種知識(shí)來實(shí)現(xiàn)系統(tǒng)的功能,具體分析如下:
(1)J2EE體系結(jié)構(gòu):典型的J2EE四層體系結(jié)構(gòu)是由客戶層、Web層、業(yè)務(wù)層和數(shù)據(jù)層自上而下組成,每一層要求運(yùn)用不同的技術(shù),只有領(lǐng)會(huì)J2EE體系結(jié)構(gòu)的精髓才能更好地運(yùn)用J2EE技術(shù)進(jìn)行軟件開發(fā);
(2)J2EE技術(shù)規(guī)范的理解以及應(yīng)用:J2EE包含了十三種核心技術(shù),分別為JNDI、JMS、JDBC、EJB、JTA、JavaMail、RMI、Java IDL/CORBA、JSP、Servlet、XML、JTS、JTF,每項(xiàng)技術(shù)又包含了很多新的概念以及API;
(3) 框架技術(shù)的運(yùn)用:J2EE的框架種類多,MVC的思想是將部件分離為模型、視圖和控制器三部分,Struts、Spring是MVC的一種實(shí)現(xiàn)框架,而Hibernate是提供數(shù)據(jù)訪問的持久層框架,把他們結(jié)合起來將能夠建立更靈活的軟件系統(tǒng),但熟練運(yùn)用這些技術(shù)需要反復(fù)的實(shí)踐;
(4) 工具的使用:學(xué)生需要掌握J(rèn)2EE IDE的開發(fā)使用方法、J2EE應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)的配置管理技能,而且還能夠綜合運(yùn)用這些工具進(jìn)行代碼編寫、調(diào)試以及部署。
3項(xiàng)目驅(qū)動(dòng)的進(jìn)階式J2EE課程教學(xué)設(shè)計(jì)
3.1進(jìn)階式課程結(jié)構(gòu)
根據(jù)J2EE技術(shù)規(guī)范和應(yīng)用經(jīng)驗(yàn),通過對(duì)J2EE知識(shí)點(diǎn)的內(nèi)在關(guān)系以及重點(diǎn)、難點(diǎn)進(jìn)行分析,提出了按入門、提高、深化到鞏固的四階段教學(xué)內(nèi)容實(shí)施計(jì)劃,課程單元的教學(xué)安排從能力目標(biāo)、工作任務(wù)、知識(shí)點(diǎn)、方法、實(shí)踐、
總結(jié)六個(gè)主要方面逐步深化展開(見圖1),其中工作任務(wù)是實(shí)現(xiàn)課程能力培養(yǎng)目標(biāo)的舉措,知識(shí)點(diǎn)是通過項(xiàng)目案例引出,進(jìn)而歸納出完成工作任務(wù)的一般方法,最后以具體任務(wù)的實(shí)踐以及總結(jié)來深化學(xué)生對(duì)技能的掌握。
從圖1可看出J2EE涉及的內(nèi)容很多,按照高職院校常規(guī)的課時(shí)安排,很難在一門課程內(nèi)對(duì)每一部分內(nèi)容都作詳細(xì)的講解,因此建議通過三門課程來共同完成J2EE的教學(xué),其中第一、二階段由一門課程完成,實(shí)現(xiàn)第1節(jié)所討論的J2EE課程能力1和2的培養(yǎng);第二、三階段分別由一門課程完成,相應(yīng)實(shí)現(xiàn)能力3和4的培養(yǎng)(見表1),具體在每個(gè)課程單元的教學(xué)活動(dòng)中還需要做進(jìn)一步的細(xì)化。
3.2項(xiàng)目驅(qū)動(dòng)的案例設(shè)計(jì)
J2EE技術(shù)較為抽象,若把案例貫穿于整個(gè)教學(xué)內(nèi)容的實(shí)施過程中,將有利于學(xué)生對(duì)知識(shí)點(diǎn)的理解與掌握,因此項(xiàng)目案例的設(shè)計(jì)是J2EE課程效果的關(guān)鍵。J2EE的項(xiàng)目類型很多,案例的選取應(yīng)具備以下幾個(gè)特征:
(1) 針對(duì)性:難度與高職學(xué)生能力相匹配,適合于教學(xué),具有易學(xué)性,能讓學(xué)生易于領(lǐng)會(huì)J2EE的開發(fā)思想;
(2) 典型性:包含大部分J2EE的重要技術(shù)和實(shí)際中常用的方法,能夠和教程的知識(shí)點(diǎn)緊密配合,案例能夠完整貫穿于整個(gè)教學(xué)過程;
(3) 綜合性:能夠體現(xiàn)軟件工程知識(shí),有項(xiàng)目背景、用途、業(yè)務(wù)關(guān)系的詳細(xì)描述。
實(shí)際項(xiàng)目的業(yè)務(wù)關(guān)系通常較為復(fù)雜,不適宜直接照搬用于教學(xué),應(yīng)根據(jù)課堂特點(diǎn)進(jìn)行裁剪,根據(jù)各階段的能力培養(yǎng)目標(biāo)將一個(gè)大項(xiàng)目劃分為多個(gè)單獨(dú)可以直接執(zhí)行的子系統(tǒng)或者模塊。建議以學(xué)生熟悉的業(yè)務(wù)作為教學(xué)案例,例如圖書管理、網(wǎng)上購(gòu)物等,通過由淺入深的引導(dǎo),逐步實(shí)施,讓學(xué)生在一個(gè)個(gè)任務(wù)的完成過程中逐漸掌握完整J2EE系統(tǒng)的實(shí)現(xiàn)方法。圖2是一個(gè)網(wǎng)上購(gòu)物系統(tǒng)的教學(xué)案例設(shè)計(jì)示意,其中在第一階段側(cè)重于增強(qiáng)學(xué)生對(duì)J2EE技術(shù)的了解和認(rèn)識(shí),在第二、三階段側(cè)重于使用不同的技術(shù)對(duì)比實(shí)現(xiàn)某些挑選出的相同模塊,在第四階段側(cè)重于從軟件開發(fā)過程的全局角度完整地實(shí)現(xiàn)網(wǎng)上購(gòu)物系統(tǒng)。
一個(gè)案例由背景、功能演示、實(shí)現(xiàn)步驟、代碼解釋四部分組成,可為J2EE課程提供多個(gè)互為補(bǔ)充的不同類型案例。同時(shí),對(duì)案例涉及到的先修課程或者講述過的內(nèi)容應(yīng)舉一反三,將知識(shí)點(diǎn)的傳授貫穿于整個(gè)教學(xué)活動(dòng)過程中,使學(xué)生能夠溫故而知新。
3.3實(shí)踐為主的教學(xué)方式
相對(duì)于普通的計(jì)算機(jī)基礎(chǔ)課程,J2EE課程更偏向于應(yīng)用?,F(xiàn)有的J2EE工具較多,建議在教學(xué)中采用主流的開源工具:Eclipse+Tomcat+JBoss+MySQL。市面上的J2EE教材往往只是側(cè)重于某一方面,建議從幾本教材中選取相應(yīng)的內(nèi)容進(jìn)行教學(xué)。在內(nèi)容講解上,應(yīng)根據(jù)高職學(xué)生的特點(diǎn),強(qiáng)調(diào)知識(shí)的可應(yīng)用性,把握住理論傳授的深度,不糾纏在概念細(xì)節(jié)方面。教學(xué)過程以實(shí)踐為主線、理論為輔,通過實(shí)踐來逐步領(lǐng)會(huì)理論知識(shí),對(duì)此應(yīng)為實(shí)踐安排更多的課時(shí)。教學(xué)方法是綜合采用多種教學(xué)手段實(shí)施項(xiàng)目案例的講解和實(shí)踐指導(dǎo),下面對(duì)重點(diǎn)部分作討論:
項(xiàng)目案例應(yīng)先演示后再詳細(xì)講解,以便學(xué)生有直觀的印象和體會(huì)。知識(shí)點(diǎn)的傳授圍繞著“為什么引出該知識(shí)點(diǎn),他解決了什么問題、有哪些主要特性、怎樣使用,與相似知識(shí)點(diǎn)有何差異”。為了將知識(shí)點(diǎn)講透,應(yīng)給出工作任務(wù)的多種解決方法,并對(duì)方法的優(yōu)缺點(diǎn)進(jìn)行對(duì)比說明,同時(shí)列舉典型的不當(dāng)或者錯(cuò)誤代碼,以加深學(xué)生的認(rèn)識(shí)。
實(shí)踐指導(dǎo)環(huán)節(jié),應(yīng)耐心指導(dǎo)學(xué)生,及時(shí)解決學(xué)生上機(jī)實(shí)踐中出現(xiàn)的問題,鼓勵(lì)他們多動(dòng)手、多思考,引導(dǎo)他們積極自我總結(jié)開發(fā)經(jīng)驗(yàn)。同時(shí)需要對(duì)實(shí)踐內(nèi)容把好關(guān),為學(xué)生提供清晰的實(shí)現(xiàn)步驟和注意事項(xiàng)。先讓學(xué)生參加規(guī)模較小的練習(xí),到后面再逐步深入實(shí)現(xiàn)一個(gè)規(guī)模較大的完整系統(tǒng)。
3.4分側(cè)重點(diǎn)的評(píng)價(jià)方法
根據(jù)J2EE的進(jìn)階式課程結(jié)構(gòu),對(duì)每一階段的學(xué)習(xí)效果應(yīng)有相應(yīng)的評(píng)估標(biāo)準(zhǔn):
(1) 對(duì)于第一、二階段的教學(xué),建議采取平時(shí)作業(yè)占30%,考試成績(jī)占70%,考試由筆試和上機(jī)操作組成,強(qiáng)調(diào)對(duì)基礎(chǔ)知識(shí),基本技能的考核;
(2) 對(duì)于第三階段的教學(xué),建議采取平時(shí)項(xiàng)目占70%,考試成績(jī)占30%,考試以上機(jī)操作為主,強(qiáng)調(diào)平時(shí)訓(xùn)練的重要性,側(cè)重對(duì)學(xué)生個(gè)人的綜合技能考核;
(3) 對(duì)于第四階段的教學(xué),建議采取平時(shí)項(xiàng)目占100%,考核學(xué)生團(tuán)隊(duì)合作共同完成一個(gè)完整項(xiàng)目的能力。以學(xué)生答辯的形式進(jìn)行,教師和其它學(xué)生團(tuán)隊(duì)一起對(duì)其進(jìn)行評(píng)價(jià),以達(dá)到相互學(xué)習(xí)提高的目的。
4對(duì)職業(yè)素質(zhì)的綜合培養(yǎng)
為了取得更好的J2EE教學(xué)效果,讓學(xué)生真正掌握一項(xiàng)能夠服務(wù)社會(huì)的技能,順利走上軟件開發(fā)的職業(yè)道路,除了知識(shí)的傳授之外,在教學(xué)實(shí)施中還應(yīng)對(duì)學(xué)生進(jìn)行以下幾方面的職業(yè)素質(zhì)培養(yǎng):
(1) 培養(yǎng)學(xué)生的學(xué)習(xí)興趣:從學(xué)生實(shí)際情況出發(fā),充分調(diào)動(dòng)他們的學(xué)習(xí)主動(dòng)性,并消除他們的畏難心理,是課程教學(xué)成功實(shí)施的關(guān)鍵。針對(duì)學(xué)生沒有企業(yè)工作經(jīng)驗(yàn)、對(duì)企業(yè)級(jí)的應(yīng)用開發(fā)感覺陌生、基礎(chǔ)薄弱的情況,應(yīng)采取從簡(jiǎn)到難的步驟進(jìn)行傳授,多以形象的圖例從多個(gè)角度來啟發(fā)他們的想象力,開闊他們的思路和眼界;
(2) 培養(yǎng)學(xué)生的自學(xué)能力:引導(dǎo)學(xué)生借助書籍、互聯(lián)網(wǎng)等工具獨(dú)立解決學(xué)習(xí)中遇到的問題,教導(dǎo)他們養(yǎng)成良好的學(xué)習(xí)方法,扎實(shí)掌握實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的要領(lǐng),以便于將來即使是使用其他工具語言來開發(fā)軟件,也能夠快速上手;
(3) 培養(yǎng)學(xué)生的耐心和細(xì)心:用J2EE開發(fā)系統(tǒng)的代碼
量往往較大,一個(gè)不經(jīng)意的錯(cuò)誤可能需要花費(fèi)幾天的時(shí)間才能夠調(diào)試出來,因此既要求學(xué)生具有編寫良好規(guī)范代碼的習(xí)慣,也需要他們有吃苦的精神,調(diào)試程序時(shí),能夠沉得住氣,仔細(xì)查找錯(cuò)誤;
(4) 培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神:模擬軟件公司的開發(fā)組織形式和項(xiàng)目管理方法,將學(xué)生分為若干個(gè)小組,每個(gè)成員在小組當(dāng)中充當(dāng)一定的角色,例如項(xiàng)目經(jīng)理、系統(tǒng)分析師、程序員等,讓學(xué)生在團(tuán)隊(duì)的合作中完成一個(gè)軟件系統(tǒng)的開發(fā)。鼓勵(lì)各個(gè)團(tuán)隊(duì)之間相互進(jìn)行競(jìng)爭(zhēng),以便讓學(xué)生在適當(dāng)?shù)膲毫Νh(huán)境下更好地得到成長(zhǎng)。
5結(jié)束語
為了培養(yǎng)具有競(jìng)爭(zhēng)力的程序員,滿足社會(huì)對(duì)計(jì)算機(jī)人
才的需求,應(yīng)增強(qiáng)學(xué)生對(duì)應(yīng)用型知識(shí)的掌握能力。J2EE是當(dāng)前主流的軟件開發(fā)技術(shù),對(duì)學(xué)習(xí)的要求較高,需綜合運(yùn)用編程語言、數(shù)據(jù)庫(kù)、軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)等多門知識(shí),積極探索該項(xiàng)技術(shù)的教學(xué)方法迫切且非常有意義。本文下一步的工作是在教學(xué)中繼續(xù)深入探索基于工作任務(wù)的J2EE教學(xué)方法,使學(xué)生更好地掌握運(yùn)用J2EE技術(shù)進(jìn)行企業(yè)級(jí)系統(tǒng)開發(fā)的相關(guān)知識(shí)和技能,從而達(dá)到以點(diǎn)帶面、觸類旁通的效果,為IT行業(yè)培養(yǎng)更多的技術(shù)應(yīng)用型合格人才。
參考文獻(xiàn):
[1] Sun Microsystems. The Java EE 5 Tutorial For Sun Java SystemApplication Server 9.1[EB/OL]. http://www.sun.com.
[2] 姜大源.當(dāng)代德國(guó)職業(yè)教育主流教學(xué)思想研究[M].北京:清華大學(xué)出版社,2007.
[3] 趙強(qiáng).J2EE應(yīng)用開發(fā)(WebLogic+JBuilder)[M].2版. 北京:電子工業(yè)出版社,2006.