聶艷明+張陽(yáng)+劉全中
摘 要:文章基于“Java EE應(yīng)用開發(fā)技術(shù)”課程的工程特點(diǎn)(實(shí)踐性、項(xiàng)目驅(qū)動(dòng)性和知識(shí)整合性)、學(xué)生的差異化現(xiàn)狀和多樣性需求以及業(yè)界對(duì)綜合性的Java EE應(yīng)用軟件開發(fā)人才的訴求,從課程知識(shí)體系、課程群統(tǒng)籌、綜合實(shí)踐、師資以及資源建設(shè)等方面對(duì)Java EE開發(fā)能力分類培養(yǎng)模式進(jìn)行了探索和實(shí)踐,力求達(dá)到“因材施教”和“因需施教”。自從Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式實(shí)施以來,學(xué)生的就業(yè)率、就業(yè)質(zhì)量以及課程滿意度都得到了較大提升。
關(guān)鍵詞:Java EE應(yīng)用開發(fā)技術(shù);分類培養(yǎng);軟件工程
中圖分類號(hào):G640 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1002-4107(2017)11-0050-03
一、Java EE應(yīng)用開發(fā)能力培養(yǎng)背景
“Java EE應(yīng)用開發(fā)技術(shù)”作為一門高年級(jí)專業(yè)必修課程,其目的是讓學(xué)生具備基于Java EE技術(shù)進(jìn)行企業(yè)級(jí)軟件開發(fā)的高級(jí)專業(yè)技能,具有極強(qiáng)的工程實(shí)踐性;作為教授一種主流的企業(yè)級(jí)應(yīng)用開發(fā)技術(shù),該課程所涉及技術(shù)及其整合的示例需來自更有說服力和針對(duì)性的業(yè)界第一線項(xiàng)目,具有明顯的項(xiàng)目驅(qū)動(dòng)性;課程涉及的基礎(chǔ)包括Web頁(yè)面設(shè)計(jì)、Java等編程基本技能,數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、組件及中間件等基本原理,面向?qū)ο蟆⒃O(shè)計(jì)模式、軟件體系結(jié)構(gòu)等基本思想,具有顯著的知識(shí)整合性。因而,課程教學(xué)必須圍繞該課程的以上三個(gè)特性來進(jìn)行。
當(dāng)前Java EE應(yīng)用開發(fā)能力培養(yǎng)仍存在如下問題:(1)由于課程涉及的知識(shí)點(diǎn)多但同時(shí)規(guī)劃課時(shí)少,很多技術(shù)不能講解,整個(gè)知識(shí)體系的學(xué)習(xí)不夠完整,于是造成了“講快點(diǎn),聽不懂;講慢點(diǎn),講不完”的現(xiàn)狀;(2)課程的教學(xué)理念仍過于局限于Java EE 技術(shù)本身,沒有在觀念上進(jìn)行“先架構(gòu)、后編程”的創(chuàng)新;(3)Java EE開發(fā)能力培養(yǎng)很難按照語(yǔ)言程序設(shè)計(jì)類基礎(chǔ)課程書本上的案例進(jìn)行理論和實(shí)踐的授課,而目前缺乏來源于業(yè)界一線應(yīng)用的綜合性的項(xiàng)目以及設(shè)計(jì)體系;(4)針對(duì)具有不同發(fā)展規(guī)劃的高年級(jí)學(xué)生對(duì)于該課程的期望不一(如進(jìn)入職場(chǎng)和考研深造),教師授課的熱情投入與學(xué)生學(xué)習(xí)的冷漠應(yīng)付(即“一頭熱”)和計(jì)劃就業(yè)學(xué)生的異常期待與規(guī)劃讀研深造學(xué)生的無比煩惱(即“部分熱”)的矛盾亟待解決。(5)課程教學(xué)中授課和實(shí)踐環(huán)節(jié)與社會(huì)需求還存在鴻溝(即“社會(huì)的重實(shí)踐能力需求與學(xué)校的學(xué)院氣教學(xué)方式之間的鴻溝”)。因此,Java EE應(yīng)用開發(fā)的能力培養(yǎng)過程也需要在實(shí)踐教學(xué)體系和師資團(tuán)隊(duì)建設(shè)等方面進(jìn)行深入的實(shí)質(zhì)性創(chuàng)新。
二、Java EE應(yīng)用開發(fā)能力培養(yǎng)現(xiàn)狀
目前,國(guó)內(nèi)絕大多數(shù)示范性軟件學(xué)院以及其他院校的軟件工程專業(yè)都開設(shè)了“Java應(yīng)用開發(fā)技術(shù)”課程。作為IBM精品課程,同濟(jì)大學(xué)軟件學(xué)院的“J2EE企業(yè)級(jí)開發(fā)”課程在項(xiàng)目實(shí)訓(xùn)及代碼訓(xùn)練強(qiáng)化等方面頗具特色[1]。哈爾濱理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院的謝怡寧等提出了諸如任務(wù)驅(qū)動(dòng)等有針對(duì)性的“Java應(yīng)用開發(fā)技術(shù)”課程教學(xué)改革方案[2]。浙江大學(xué)城市學(xué)院計(jì)算機(jī)系的陳觀林等探討了“Java應(yīng)用開發(fā)技術(shù)”課程教學(xué)模式改革的思路[3],提出了采用實(shí)例化教學(xué)方式和引入課程設(shè)計(jì)環(huán)節(jié)以改進(jìn)教學(xué)手段和考核方法。北京石油化工學(xué)院經(jīng)濟(jì)管理學(xué)院的張幸以J2EE 編程實(shí)訓(xùn)課程教學(xué)改革為例闡述了如何在編程技術(shù)的學(xué)習(xí)中掌握管理知識(shí)的方法[4]。濱州學(xué)院的馮君將整個(gè)教學(xué)過程劃分為三個(gè)大的階段[5]:夯實(shí)基礎(chǔ)知識(shí)的階段、培養(yǎng)個(gè)人實(shí)踐動(dòng)手能力的階段、培養(yǎng)團(tuán)隊(duì)合作能力的階段。內(nèi)蒙古工業(yè)大學(xué)的馬志強(qiáng)等通過分析企業(yè)對(duì)Java EE開發(fā)崗位的知識(shí)需求[6],裁減了Java EE技術(shù)規(guī)范,形成了Java核心、Java Web和輕量級(jí)框架的三層知識(shí)體系;按照“先實(shí)踐、再理論、后綜合”的原則。西北農(nóng)林科技大學(xué)的聶艷明等鑒于“Java應(yīng)用開發(fā)技術(shù)”課程具有的工程實(shí)踐性、項(xiàng)目驅(qū)動(dòng)性和知識(shí)整合性[7-8],提出了基于主流開發(fā)模型/框架(即經(jīng)典MVC模型、SSH輕量級(jí)框架以及基于EJB的Java EE重量級(jí)框架)對(duì)比的“Java應(yīng)用開發(fā)技術(shù)”課程教學(xué)方法。以上關(guān)于“Java應(yīng)用開發(fā)技術(shù)”課程教學(xué)改革的研究,都從某一個(gè)或幾個(gè)側(cè)面進(jìn)行了有益探索,但缺乏系統(tǒng)性。文獻(xiàn)則對(duì)高校計(jì)算機(jī)相關(guān)專業(yè)人才分類培養(yǎng)進(jìn)行了有益的探索[9-12],這為Java EE應(yīng)用開發(fā)能力分類培養(yǎng)的探索與實(shí)踐提供了借鑒。
三、Java EE應(yīng)用開發(fā)能力分類培養(yǎng)探索與實(shí)踐
自2010年西北農(nóng)林科技大學(xué)開設(shè)“Java應(yīng)用開發(fā)技術(shù)”課程以來,基于該課程的特點(diǎn)、學(xué)生的多樣性需求和差異化現(xiàn)狀以及社會(huì)對(duì)Java EE應(yīng)用軟件開發(fā)人才的綜合性的能力需求,課程組從課程知識(shí)體系、課程群統(tǒng)籌、綜合實(shí)踐、師資建設(shè)及資源建設(shè)等方面對(duì)西北農(nóng)林科技大學(xué)的Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式進(jìn)行探索和實(shí)踐,力求達(dá)到“因需施教”和“因材施教”目標(biāo)。
(一)分類型的知識(shí)體系
“Java應(yīng)用開發(fā)技術(shù)”課程涵蓋的知識(shí)非常廣泛,包括Java語(yǔ)言程序設(shè)計(jì)、Web設(shè)計(jì)、數(shù)據(jù)庫(kù)原理、計(jì)算機(jī)網(wǎng)絡(luò)、OOAD、軟件工程、設(shè)計(jì)模式、中間件技術(shù)和軟件體系架構(gòu)等。在Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式探索與實(shí)踐中,我們將“Java應(yīng)用開發(fā)技術(shù)”課程知識(shí)體系主要地劃分為可針對(duì)不同培養(yǎng)類型(即初級(jí)入門型、中級(jí)就業(yè)型、高級(jí)就業(yè)型、專業(yè)研究型和學(xué)術(shù)研究型)進(jìn)行自由組合的幾大知識(shí)模塊,如應(yīng)用模型、支撐技術(shù)、基礎(chǔ)MVC(即JSP+Servlet+JavaBean)、輕量框架SSH(即Struts+Spring+Hibernate)、經(jīng)典Java EE框架(即JSF+EJB+JPA)以及開發(fā)技能共七大知識(shí)模塊,不同培養(yǎng)類型對(duì)于上述知識(shí)模塊的涉及還可以區(qū)分為全面掌握、部分了解以及不做涉及(如表1)。
對(duì)于一般學(xué)生,推薦以基于MVC的Java Web開發(fā)基礎(chǔ)模型部分為主,輔以其他兩個(gè)框架的概念介紹;對(duì)于稍有基礎(chǔ)的,建議重點(diǎn)講解基于SSH 的輕量級(jí)框架部分;對(duì)于學(xué)有余力的,增加經(jīng)典Java EE框架部分的內(nèi)容;對(duì)于計(jì)劃在軟件相關(guān)學(xué)術(shù)領(lǐng)域繼續(xù)深造的學(xué)生,則聚焦于如數(shù)據(jù)庫(kù)原理等關(guān)聯(lián)知識(shí)。endprint
(二)重統(tǒng)籌的課程群組
“Java應(yīng)用開發(fā)技術(shù)”課程旨在培養(yǎng)高年級(jí)學(xué)生綜合運(yùn)用所學(xué)基礎(chǔ)知識(shí)和技能解決基于Java EE的軟件開發(fā)過程中遇到的實(shí)際問題,更強(qiáng)調(diào)相關(guān)知識(shí)的融合。因而,課程教學(xué)過程中需與前導(dǎo)基礎(chǔ)課程進(jìn)行密切呼應(yīng)和系統(tǒng)統(tǒng)籌。西北農(nóng)林科技大學(xué)“Java應(yīng)用開發(fā)技術(shù)”課程群是以“Java應(yīng)用開發(fā)技術(shù)”課程為主體,包括“Java 語(yǔ)言程序設(shè)計(jì)”、“數(shù)據(jù)庫(kù)原理”、“計(jì)算機(jī)網(wǎng)絡(luò)”、“Web程序設(shè)計(jì)”、“中間件技術(shù)”、“面向?qū)ο蠓治雠c設(shè)計(jì)”、“軟件工程”與“軟件測(cè)試”等課程,圍繞西北農(nóng)林科技大學(xué)Java EE應(yīng)用開發(fā)能力的培養(yǎng)目標(biāo),根據(jù)當(dāng)前“Java應(yīng)用開發(fā)技術(shù)”課程的教學(xué)發(fā)展、社會(huì)對(duì)Java EE人才的能力需求及西北農(nóng)林科技大學(xué)的實(shí)際基礎(chǔ)和發(fā)展需要而構(gòu)建的關(guān)系密切的課程體系。
西北農(nóng)林科技大學(xué)“Java應(yīng)用開發(fā)技術(shù)”課程群的各相關(guān)課程教學(xué)除自身的要求外,重視對(duì)Java EE關(guān)聯(lián)知識(shí)與技能的強(qiáng)調(diào)(如“Java語(yǔ)言程序設(shè)計(jì)”中的JDBC、“數(shù)據(jù)庫(kù)原理”中關(guān)系與對(duì)象之間的鴻溝、“計(jì)算機(jī)網(wǎng)絡(luò)”中的B/S架構(gòu)和HTTP協(xié)議、“Web程序設(shè)計(jì)”中的超鏈接和表單、“中間件技術(shù)”中的EJB和Corba、“面向?qū)ο蠓治雠c設(shè)計(jì)”中的面向?qū)ο罄砟詈陀美?qū)動(dòng)面向?qū)ο筌浖_發(fā)范型、“軟件工程”和“軟件測(cè)試”中的面向?qū)ο筌浖嚓P(guān)開發(fā)和測(cè)試方法等)?!癑ava應(yīng)用開發(fā)技術(shù)”課程教學(xué)則采用兼顧知識(shí)融合的教學(xué)方法,在自身的理論與實(shí)踐教學(xué)環(huán)節(jié)中注重各相關(guān)課程的關(guān)聯(lián)知識(shí)點(diǎn)的聚焦和提升。
(三)立體化的綜合實(shí)踐
對(duì)于學(xué)生Java EE應(yīng)用開發(fā)能力培養(yǎng),采用立體化、多途徑、開放性的綜合實(shí)踐模式,主要方式包括院企聯(lián)合實(shí)訓(xùn)、深入國(guó)內(nèi)實(shí)習(xí)基地和輸出國(guó)外實(shí)習(xí)基地?!耙詫?shí)際業(yè)務(wù)項(xiàng)目為開發(fā)對(duì)象、以企業(yè)實(shí)際運(yùn)行的RUP剪裁流程為軟件項(xiàng)目開發(fā)過程、以企業(yè)模擬辦公場(chǎng)景為開發(fā)工作環(huán)境”的為期一個(gè)月的Java EE院企聯(lián)合實(shí)訓(xùn),旨在鞏固課堂學(xué)習(xí)的理論知識(shí),構(gòu)建學(xué)生綜合軟件初步開發(fā)能力并加強(qiáng)團(tuán)隊(duì)合作意識(shí)的培養(yǎng),進(jìn)而為學(xué)生畢業(yè)后順利適應(yīng)工作奠定了堅(jiān)實(shí)的基礎(chǔ)。為期16周的實(shí)踐環(huán)節(jié)提供三種可選的執(zhí)行方式,即國(guó)內(nèi)企業(yè)開發(fā)實(shí)踐、海外企業(yè)開發(fā)實(shí)踐和校內(nèi)教師研究實(shí)踐。對(duì)于稍長(zhǎng)周期的實(shí)習(xí),學(xué)生結(jié)合自己的職業(yè)規(guī)劃,可以有選擇性地進(jìn)行不同程度的實(shí)戰(zhàn)訓(xùn)練。如致力于考研的學(xué)生可以選擇由院內(nèi)教師指導(dǎo)的實(shí)際訓(xùn)練,畢業(yè)后去軟件公司的學(xué)生可以選擇去國(guó)內(nèi)公司或海外企業(yè)進(jìn)行實(shí)習(xí)。
(四)多渠道的師資建設(shè)
為了應(yīng)對(duì)Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式的實(shí)施,師資建設(shè)方面遵從“多元化”和“雙師型”的基本原則。應(yīng)對(duì)Java EE的多學(xué)科知識(shí)融合的特性,師資建設(shè)上采用課程群組的方式,教學(xué)團(tuán)隊(duì)中人員具有不同的專業(yè)背景、不同的研究方向、不同的特長(zhǎng),為Java EE 應(yīng)用開發(fā)能力分類培養(yǎng)模式的順利實(shí)施提供了豐富的人力資源和基本的師資保障。由于Java EE應(yīng)用開發(fā)技術(shù)實(shí)踐性強(qiáng),技術(shù)更新快,除組成具有水平多層次、領(lǐng)域互補(bǔ)、經(jīng)歷多樣的師資隊(duì)伍外,還派送教師赴企業(yè)進(jìn)行相關(guān)實(shí)訓(xùn)。與此同時(shí),引入國(guó)內(nèi)軟件開發(fā)和培訓(xùn)企業(yè)、海外軟件開發(fā)企業(yè)等外方師資進(jìn)行充實(shí)。
(五)支撐性的資源建設(shè)
為了有力支撐Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式的有效實(shí)施,我們從教材組織編寫、基本課程資源和輔助教學(xué)資源建設(shè)等方面進(jìn)行建設(shè),已獲批2014年陜西省級(jí)精品資源課程建設(shè)項(xiàng)目——“Java EE技術(shù)”。Java EE課題組編著的教材《Java EE開發(fā)技術(shù)與實(shí)踐教程》由機(jī)械工業(yè)出版社“以高等教育規(guī)劃教材”出版,從三個(gè)技術(shù)/框架(即基于MVC的Java Web開發(fā)基礎(chǔ)模型、基于SSH輕量級(jí)框架和基于經(jīng)典Java EE框架)進(jìn)行內(nèi)容組織,不同基礎(chǔ)的學(xué)生可以側(cè)重不同技術(shù)方向進(jìn)行學(xué)習(xí)。對(duì)于一般基礎(chǔ)的學(xué)生,推薦以基于MVC的Java Web開發(fā)基礎(chǔ)模型部分為主,輔以介紹其他兩個(gè)框架的概念;對(duì)于稍有一點(diǎn)基礎(chǔ)的,建議重點(diǎn)講解基于SSH 的輕量級(jí)框架部分;對(duì)于學(xué)有余力的,作為挑戰(zhàn)增加經(jīng)典Java EE框架部分的內(nèi)容。結(jié)合不同專業(yè)的實(shí)際情況,針對(duì)Java EE中的三種技術(shù)路線,選擇適合本專業(yè)的某種技術(shù)路線為主,其他兩個(gè)技術(shù)路線為輔,進(jìn)行有重點(diǎn)的講授課程。對(duì)于每章的實(shí)驗(yàn),學(xué)生可以選用采用三種技術(shù)路線之一的實(shí)現(xiàn),不同專業(yè)的學(xué)生選擇適合自己專業(yè)的技術(shù)路線完成每次實(shí)驗(yàn)。考試過程中,設(shè)置每一個(gè)考題時(shí),要考慮不同專業(yè)學(xué)生的實(shí)際情況,讓學(xué)生靈活地選擇適合本專業(yè)的技術(shù)路線完成考試。另外,提供微課/微視頻,覆蓋課程重點(diǎn)、難點(diǎn)以及未涉及但相對(duì)較為重要的內(nèi)容,力求對(duì)課堂授課進(jìn)行補(bǔ)充。
四、總結(jié)與展望
基于該課程特點(diǎn)(即工程實(shí)踐性、項(xiàng)目驅(qū)動(dòng)性和知識(shí)整合性)、學(xué)生差異化現(xiàn)狀和多樣性需求(即就業(yè)型和學(xué)術(shù)型)及社會(huì)對(duì)綜合性Java EE應(yīng)用軟件開發(fā)人才的訴求,課程組從課程知識(shí)體系、教學(xué)運(yùn)行、綜合實(shí)踐、師資建設(shè)、資源建設(shè)以及課程群統(tǒng)籌等方面對(duì)我院的Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式進(jìn)行探索和實(shí)踐,力求達(dá)到“因需施教”和“因材施教”。自從實(shí)施Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式以來,學(xué)生的就業(yè)率和就業(yè)質(zhì)量都得到大幅度提高,學(xué)生對(duì)課程的滿意度也逐年上升,并一致認(rèn)為“Java應(yīng)用開發(fā)技術(shù)”課程對(duì)求職及考研幫助都很大。同時(shí),通過探索與實(shí)踐Java EE應(yīng)用開發(fā)能力分類培養(yǎng)模式,課組教學(xué)改革方面的研究能力也得到了極大提升。
參考文獻(xiàn):
[1]同濟(jì)大學(xué)軟件學(xué)院.IBM精品課程——J2EE企業(yè)級(jí)開發(fā)[EB/OL].[0000-00-00].http://sse.#edu.cn/j2ee/,2008.
[2]謝怡寧,羅智勇,王莉莉.J2EE課程教學(xué)改革的探索與實(shí)踐[J].江蘇教育學(xué)院學(xué)報(bào):自然科學(xué)版,2010,(1).
[3]陳觀林,翁文勇.《J2EE架構(gòu)與應(yīng)用開發(fā)》課程的教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)時(shí)代,2008,(4).
[4]張幸.應(yīng)用型本科信息管理專業(yè)基于J2EE編程實(shí)訓(xùn)的探索[C]//第十一屆全國(guó)經(jīng)濟(jì)管理院校工業(yè)技術(shù)學(xué)研究會(huì),西安:2012-09-27.
[5]馮君.基于三階段教學(xué)模式的Java EE框架技術(shù)教學(xué)改革[J].大學(xué)教育,2013,(17).
[6]馬志強(qiáng),李雷孝,邢紅梅等.Java EE軟件開發(fā)方向知識(shí)體系的研究與構(gòu)建[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2014,(4).
[7]聶艷明,劉全中,李宏利等.基于開發(fā)模型對(duì)比的Java EE課程教學(xué)方法研究[J].中國(guó)信息技術(shù)教育,2015,(18).
[8]李宏利,聶艷明,鄒青.“Java EE技術(shù)”課程教學(xué)改革探究[J].黑龍江教育:高教研究與評(píng)估,2015,(10).
[9]馬金嶺.地方高師院校實(shí)施人才分類培養(yǎng)模式探析[J].鄭州大學(xué)學(xué)報(bào):哲學(xué)社會(huì)科學(xué)版,2010,(5).
[10]王潛平,殷兆麟.計(jì)算機(jī)專業(yè)人才分類培養(yǎng)與語(yǔ)言教學(xué)改革思考[J].合肥工業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2008,(5).
[11]任榮,保文星,楊春野.軟件工程特色專業(yè)建設(shè)及人才分類培養(yǎng)模式創(chuàng)新與實(shí)踐[J].教育教學(xué)論壇,2014,(32).
[12]吳長(zhǎng)增,許志紅,鞠志宇.本科人才分類培養(yǎng)模式的構(gòu)建與實(shí)踐[J].創(chuàng)新與創(chuàng)業(yè)教育,2015,(6).endprint