国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

系統(tǒng)化方法在JAVAEE教學(xué)中的運(yùn)用

2012-04-29 07:25:07高志升謝春芝
電腦知識(shí)與技術(shù) 2012年30期

高志升 謝春芝

摘要:針對(duì)普通本科院校軟件工程專業(yè)學(xué)生在學(xué)習(xí)JAVA EE課程中存在的只注重語法、具體技術(shù)細(xì)節(jié),不注重方法的學(xué)習(xí),不能從總體上掌握軟件開發(fā)的思想,不具備運(yùn)用系統(tǒng)化的思想分析、解決問題的能力的問題。我們通過對(duì)自頂向下系統(tǒng)化的方法的理解與分析,并將其運(yùn)用到JAVA EE課程教學(xué)中,提出了“自頂向下,由總體到局部,由抽象到具體”的JAVA EE教學(xué)模式,通過精心設(shè)計(jì)教學(xué)過程和教學(xué)內(nèi)容,使學(xué)生從總體上把握J(rèn)AVA EE系統(tǒng)開發(fā)中的具體內(nèi)容。通過教學(xué)實(shí)踐,大部分學(xué)生掌握了JAVA EE系統(tǒng)開發(fā)的思想,并能夠靈活運(yùn)用所學(xué)知識(shí)解決實(shí)際問題,取得了良好的學(xué)習(xí)效果。

關(guān)鍵詞:系統(tǒng)化方法;軟件開發(fā)思想;JAVA EE軟件開發(fā)

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)28-7244-04

1 JAVA EE課程教學(xué)及現(xiàn)狀

JAVA EE是當(dāng)前非常流行的一種企業(yè)級(jí)應(yīng)用軟件開發(fā)框架,為開發(fā)具有跨平臺(tái)性、可擴(kuò)展性的、分布式和易于系統(tǒng)集成的軟件系統(tǒng)提供強(qiáng)大的支持,已經(jīng)在金融、證劵、電信、政府等多個(gè)行業(yè)得到廣泛的應(yīng)用,例如業(yè)務(wù)開通系統(tǒng)、電子政務(wù)系統(tǒng)等[1]。面對(duì)巨大的市場(chǎng)需求,大多數(shù)軟件工程專業(yè)都已將JAVA EE程序設(shè)計(jì)課程作為一門核心課程。

我院從2008年以來將JAVA EE程序設(shè)計(jì)課程作為軟件工程專業(yè)的一門專業(yè)必修課。在學(xué)習(xí)這門課程之前學(xué)生已經(jīng)學(xué)習(xí)了C/C++程序設(shè)計(jì),JAVA程序設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu),軟件工程,數(shù)據(jù)庫等課程。JAVA EE是一門涉及知識(shí)面廣、實(shí)踐性要求強(qiáng)的一門課程,不同于.NET一棧式思想,JAVA EE得到了眾多開源社區(qū),商業(yè)公司的支持和發(fā)展,涉及的知識(shí)點(diǎn)和技術(shù)標(biāo)準(zhǔn)眾多。主要有JAVA EE的體系結(jié)構(gòu),JAVA EE的十三種核心技術(shù),框架技術(shù)的應(yīng)用等。我們結(jié)合我院學(xué)生的特點(diǎn)以及與著名軟件公司從事JAVA軟件開發(fā)的一線軟件工程師討論后將JAVA EE程序設(shè)計(jì)課程教學(xué)內(nèi)容定為:按照標(biāo)準(zhǔn)JAVA EE 6 平臺(tái)標(biāo)準(zhǔn)進(jìn)行教學(xué),內(nèi)容主要包括JAVA EE的體系結(jié)構(gòu),MVC設(shè)計(jì)模式,SERVLET,JSP,JAVABEAN,數(shù)據(jù)庫編程,EJB編程等,注重基礎(chǔ)知識(shí),重點(diǎn)培養(yǎng)學(xué)生的編程能力。

過去教學(xué)過程中主要存在的問題有:

(1)教師以考試和習(xí)題為驅(qū)動(dòng),讓學(xué)生記住語法規(guī)則,學(xué)生只注重語法規(guī)則的學(xué)習(xí),沒有重視對(duì)編程能力的培養(yǎng)。造成學(xué)生對(duì)知識(shí)的靈活運(yùn)用能力較差,不具有舉一反三的能力

(2)實(shí)踐課程只注重對(duì)課本上一些簡(jiǎn)單實(shí)驗(yàn)的實(shí)現(xiàn),只能起到語法驗(yàn)證正確性的作用,沒有系統(tǒng)性和連貫性。

(3)教師很少向?qū)W生灌輸全面系統(tǒng)的思想,教師在教學(xué)過程中只注重演示書上的代碼例子,講解代碼的語法。沒有系統(tǒng)化地講解清楚相關(guān)的原理,前后相關(guān)的體系結(jié)構(gòu)和程序設(shè)計(jì)的思想過程。

針對(duì)以上問題,近年來我們?cè)贘AVA EE教學(xué)過程采用“自頂向下,由總體到局部,由抽象到具體”的思想設(shè)計(jì)教學(xué)內(nèi)容和教學(xué)過程。將系統(tǒng)化方法的思想應(yīng)用到教學(xué)過程。

2 系統(tǒng)化方法指導(dǎo)JAVA EE教學(xué)的意義

系統(tǒng)化方法是指用系統(tǒng)的觀點(diǎn)來認(rèn)識(shí)和處理問題的各種方法的總稱,它是一般科學(xué)方法論中的重要內(nèi)容[2]。系統(tǒng)論的思想由貝塔朗菲等人提出并完善,其改變了人類的思維方式,反映了現(xiàn)代科學(xué)發(fā)展的趨勢(shì),在各行各業(yè)都得到了深入而廣泛的應(yīng)用。溫伯格于1975年在《系統(tǒng)化思維導(dǎo)論》一書中給出了系統(tǒng)化思維方法的定義:“這種思維先于專門的學(xué)科知識(shí)的存在而存在—有時(shí)繞過專門的學(xué)科知識(shí),有時(shí)又把專門的學(xué)科知識(shí)綜合起來。我們把這種思維和教育方法稱為一般系統(tǒng)論的方法?!盵3] 《系統(tǒng)化思維導(dǎo)論》一書的靈感來源他40年的軟件設(shè)計(jì)和管理生涯,因此系統(tǒng)化的思想指導(dǎo)軟件開發(fā),指導(dǎo)軟件開發(fā)人才的培養(yǎng)是合適的。運(yùn)用系統(tǒng)化的思想于JAVA EE教學(xué)具有重要的意義:

(1)促使學(xué)生掌握系統(tǒng)化的學(xué)習(xí)方法。通過系統(tǒng)化觀點(diǎn)組織JAVA EE教學(xué)內(nèi)容、教學(xué)過程。在教學(xué)過程中培養(yǎng)學(xué)生在軟件開發(fā)過程中必須具備的系統(tǒng)化分析,系統(tǒng)化設(shè)計(jì)的思維能力。

(2)增強(qiáng)學(xué)生的學(xué)習(xí)興趣。讓學(xué)生一開始就看到事物的全貌和整體,通過講解各個(gè)知識(shí)點(diǎn)的核心原理,讓學(xué)生理解事物的本質(zhì)。只有學(xué)生掌握了原理,才能排除對(duì)JAVA EE中繁雜的語法規(guī)則、眾多的技術(shù)手段的恐懼,才能培養(yǎng)其將所學(xué)知識(shí)進(jìn)行舉一反三的能力。學(xué)生一旦脫離書本也能做出程序,就會(huì)極大的增強(qiáng)他們的信心,從而增強(qiáng)學(xué)習(xí)的興趣。

3 JAVA EE系統(tǒng)化教學(xué)內(nèi)容組織及過程

近年來我們通過系統(tǒng)化的思想,在JAVA EE教學(xué)過程中提出“自頂向下,由總體到局部,由抽象到具體”的系統(tǒng)化方法教學(xué)模式。并利用該方法精心組織教學(xué)內(nèi)容和教學(xué)過程。下面主要介紹我們?cè)趲讉€(gè)主要知識(shí)點(diǎn)和重要問題上的教學(xué)措施。

3.1 框架與非框架

學(xué)生通過互聯(lián)網(wǎng)和圖書可以了解到一些JAVA EE軟件開發(fā)框架,例如:Struts,Spring以及Hibernate等。我們?cè)谶x擇教學(xué)內(nèi)容上又是基于重視基礎(chǔ)的想法,從而沒有將這些框架選進(jìn)教學(xué)內(nèi)容。因此在講解JAVA EE體系結(jié)構(gòu)的時(shí)候?qū)⑹裁词强蚣?、框架的原理、框架的作用以及框架的缺點(diǎn)等內(nèi)容介紹給同學(xué)。在講授過程中結(jié)合如圖1的圖示講授框架之間的對(duì)比和在JAVA EE程序設(shè)計(jì)中的作用。并鼓勵(lì)JAVA基礎(chǔ)好的同學(xué)首先簡(jiǎn)單應(yīng)用這些框架。

通過講解可以排除學(xué)生心中為什么不學(xué)主流框架的疑惑,讓學(xué)生明白堅(jiān)實(shí)基礎(chǔ)的重要性。

3.2 MVC設(shè)計(jì)模式

MVC設(shè)計(jì)模式是所有面向?qū)ο蟪绦蛟O(shè)計(jì)語言都因該遵循的規(guī)范。MVC思想是將一個(gè)應(yīng)用劃分為三個(gè)基本部分:Model(模型)、View(視圖)、Controller(控制器),它們以最少的耦合協(xié)同工作,從而提高應(yīng)用的可擴(kuò)展性、可重用性和可維護(hù)性[4]。我們?cè)诮虒W(xué)過程中結(jié)合圖2,詳細(xì)向?qū)W生詳細(xì)闡述MVC的原理,機(jī)制和優(yōu)缺點(diǎn)。

在我們教學(xué)內(nèi)容中,控制器采用Servlet實(shí)現(xiàn),視圖采用JSP實(shí)現(xiàn),具體業(yè)務(wù)邏輯采用原始Java類、JavaBean或EJB實(shí)現(xiàn)。整個(gè)MVC實(shí)現(xiàn)過程如下:

(1)所有的HTTP請(qǐng)求都將映射到一個(gè)Servlet上。

(2)Servlet根據(jù)URL選擇合適的Controller來處理請(qǐng)求,獲得返回的Model和View。

(3)Servlet將Model綁定到Request中,然后交給View渲染。

(4)view將渲染后的頁面返回給用戶,完成請(qǐng)求處理。

完成MVC原理的講解后,使學(xué)生明白Servlet、JSP、JavaBean、EJB和原始Java類等組件在整個(gè)JAVA EE應(yīng)用體系中的作用。同時(shí)完成理論的講解后,向?qū)W生演示幾個(gè)MVC模式的簡(jiǎn)單例子的實(shí)現(xiàn)過程。并要求完成對(duì)應(yīng)的實(shí)驗(yàn)題目。

3.3 Web框架

Web頁面的設(shè)計(jì)不是JAVA EE課程教學(xué)的重點(diǎn)內(nèi)容,在我們的教學(xué)內(nèi)容設(shè)計(jì)中這部分主要要求學(xué)生自學(xué)。但是一個(gè)美觀、專業(yè)的頁面可以增強(qiáng)學(xué)生學(xué)習(xí)的積極性,提高學(xué)生學(xué)習(xí)的成就感,從而增強(qiáng)學(xué)習(xí)的興趣。我們采用的方法是首先用一定時(shí)間講明HTML,CSS和JAVASCRIPT的作用,闡述清楚“結(jié)構(gòu)”和“表現(xiàn)”相分離的原則和優(yōu)勢(shì),讓學(xué)生從總體上明白相關(guān)知識(shí)和原理。闡明現(xiàn)代Web設(shè)計(jì)中RIA(Rich Internet Application,富集網(wǎng)絡(luò)應(yīng)用程序)技術(shù)的重要性,讓學(xué)生明白JAVASCRIPT在其中扮演的重要作用。組織學(xué)生自學(xué)相關(guān)知識(shí)點(diǎn)后,模仿制定的網(wǎng)站完成一個(gè)自己的Web框架,并要求以后所有的實(shí)驗(yàn)都在這個(gè)框架下完成。教學(xué)中我們發(fā)現(xiàn)通過這個(gè)過程的要求和訓(xùn)練,學(xué)生都能在后序的JAVA EE課程設(shè)計(jì),畢業(yè)設(shè)計(jì)中使用Web框架完成相應(yīng)得項(xiàng)目開發(fā)。

3.4 Servlet原理與應(yīng)用

在學(xué)習(xí)Servlet具體語法細(xì)節(jié)和應(yīng)用之前,我們首先讓學(xué)生系統(tǒng)地,總體地掌握以下三個(gè)方面的重要內(nèi)容:

(1)組件和容器的思想:教學(xué)過程中我們發(fā)現(xiàn),大部分學(xué)生沒有很好地掌握面向?qū)ο蟮乃枷?,?xí)慣性地采用面向過程的思想思考程序設(shè)計(jì)中的問題。多次被學(xué)生問到諸如“Servlet的程序入口在那里?”等問題。所以對(duì)組件和容器思想的掌握和理解是學(xué)習(xí)JAVA EE開發(fā)多層次體系結(jié)構(gòu)的企業(yè)應(yīng)用程序的關(guān)鍵。在這一部分我們結(jié)合Servlet的工作原理向?qū)W生講解明白組件和容器思想的重要作用,工作原理。容器是組件的運(yùn)行環(huán)境,為組件提供命名服務(wù)、數(shù)據(jù)庫連接、持久化、事務(wù)支持、安全服務(wù)等基礎(chǔ)功能。組件通過調(diào)用容器提供的標(biāo)準(zhǔn)服務(wù)來與外界交互。

(2)Servlet的生命周期:通過Servlet工作過程的分析講解,讓學(xué)生明白Servlet的原理,避免學(xué)生知其然而不知其所以然。只有掌握了Servlet的工作原理,明白了客戶端、容器、Servlet實(shí)例之間交互的過程和底層機(jī)制,學(xué)生才能克服神秘感,才能真正掌握Servlet,并靈活應(yīng)用。Servlet整個(gè)過程如圖3所示。

客戶機(jī)將請(qǐng)求發(fā)送到容器,容器通過配置文件實(shí)例化相應(yīng)的Servlet,并為Servlet進(jìn)程創(chuàng)建線程。容器將封裝請(qǐng)求發(fā)送到Servlet。Servlet創(chuàng)建響應(yīng)信息并發(fā)送給容器,容器將響應(yīng)發(fā)回客戶機(jī)。

(3)Servlet編程接口:傳統(tǒng)的教學(xué)方法通過實(shí)例講解Servlet API的使用方法。造成的問題是學(xué)生對(duì)Servlet的上下文不清晰,只能使用實(shí)例中出現(xiàn)的API,不具備根據(jù)具體問題使用沒有出現(xiàn)的API。所以我們?cè)诮虒W(xué)中通過圖4和相關(guān)內(nèi)容將Servlet的編程接口及相關(guān)關(guān)系為學(xué)生闡述清楚。

3.5 JSP原理與應(yīng)用

詳細(xì)學(xué)習(xí)了Servlet后,學(xué)習(xí)JSP的核心內(nèi)容就是JSP和Servlet的異同。通過和Servlet的對(duì)比教學(xué)使學(xué)生全面理解并掌握J(rèn)SP編程。容器接收到客戶端的請(qǐng)求后,首先判斷JSP文件是否修改或第一次創(chuàng)建,如果是則容器會(huì)調(diào)用JSP解釋器將JSP文件轉(zhuǎn)換為Servlet。反之則將請(qǐng)求傳遞給對(duì)應(yīng)的Servlet。也即是說,JSP在容器內(nèi)就是通過Servlet實(shí)現(xiàn)的。在教學(xué)過程中通過對(duì)比容器生成的JSP對(duì)應(yīng)Servlet代碼和JSP代碼的映射關(guān)系,使學(xué)生明白JSP的核心底層工作原理。

3.6 EJB原理

EJB教學(xué)是本課程的難點(diǎn)內(nèi)容,我們?cè)诮虒W(xué)過程主要通過對(duì)EJB和容器關(guān)系、原理講解,EJB和Javabean在工作原理上的本質(zhì)區(qū)別的講解,各種EJB的生命周期的講解,EJB的優(yōu)點(diǎn)和缺點(diǎn)的講解以及通過EJB構(gòu)建分布式應(yīng)用的程序的完整過程的演示,讓學(xué)生掌握EJB編程。

3.7 數(shù)據(jù)庫編程

數(shù)據(jù)庫編程是JAVA EE的重點(diǎn)內(nèi)容,教學(xué)過程中,我們發(fā)現(xiàn)學(xué)生總是對(duì)具體語法細(xì)節(jié)進(jìn)行死記硬背,對(duì)于實(shí)驗(yàn)中到底使用哪一種DBMS的問題糾纏不清。所以我們?cè)诮虒W(xué)中,深入地講解JDBC接口和JDBC驅(qū)動(dòng)的關(guān)系和相關(guān)原理,應(yīng)用程序、應(yīng)用服務(wù)器和DBMS三者之間的關(guān)系以及交互過程,JDBC驅(qū)動(dòng)程序的4種類型(JDBC-ODBC橋,本地API,JDBC網(wǎng)絡(luò)純JAVA驅(qū)動(dòng)程序和本地協(xié)議純JAVA驅(qū)動(dòng)程序)的分析比較。最后通過具體實(shí)例向?qū)W生對(duì)比演示連接、訪問、操作ORACLE、SQL SERVER、MYSQL等多種DBMS的異同。使學(xué)生從原理上、總體上把握數(shù)據(jù)庫編程的系統(tǒng)化思想。

4 教學(xué)效果

通過“自頂向下,由總體到局部,由抽象到具體”的教學(xué)方法的應(yīng)用,增強(qiáng)了學(xué)生的自信心,排除了對(duì)軟件項(xiàng)目開發(fā)的恐懼感。對(duì)我院109名學(xué)生作了統(tǒng)計(jì)表明經(jīng)過JAVA和JAVA EE課程學(xué)習(xí),絕大數(shù)學(xué)生在后續(xù)的畢業(yè)設(shè)計(jì)中選擇JAVA EE。同時(shí)大多數(shù)學(xué)生選擇JAVA作為自己的就業(yè)方向。

5 結(jié)論

針對(duì)我院學(xué)生在學(xué)習(xí)JAVA EE中存在的問題,我們運(yùn)用系統(tǒng)化方法提出了“自頂向下,由總體到局部,由抽象到具體”的教學(xué)模式,通過系統(tǒng)化的方法設(shè)計(jì)教學(xué)內(nèi)容,力爭(zhēng)使學(xué)生掌握J(rèn)AVA EE的核心技術(shù)原理,培養(yǎng)學(xué)生的系統(tǒng)化思想,提高學(xué)生在項(xiàng)目開發(fā)過程中的分析問題解決問題的能力。實(shí)踐表明,我們的方法起到了一定的效果。實(shí)踐中我們還注意到在JAVA教學(xué)之前的前期課程中學(xué)生對(duì)程序設(shè)計(jì)思想和面向?qū)ο蟮睦斫鈱?duì)JAVA EE的教學(xué)是十分重要的?;A(chǔ)差的學(xué)生可能會(huì)感覺總體的思想和原理過于抽象難懂。這是我們今后教學(xué)中要重視的問題。

參考文獻(xiàn):

[1] 謝景明,孫庚.項(xiàng)目驅(qū)動(dòng)的進(jìn)階式J2EE課程教學(xué)設(shè)計(jì)探討[J].計(jì)算機(jī)教育,2009,22:59-30.

[2] 李朝霞,付禾芳.基于系統(tǒng)化思維培養(yǎng)的計(jì)算機(jī)基礎(chǔ)實(shí)踐教學(xué)[J].計(jì)算機(jī)現(xiàn)代化,2010,08:56-58.

[3] 馬寧,白燕.系統(tǒng)化程序設(shè)計(jì)思維培養(yǎng)模式初探[J].計(jì)算機(jī)教育,2005,3::25-28.

[4] 何成萬,李健,焦素廷.基于MVC模式的科研成果管理系統(tǒng)開發(fā)[J].武漢工程大學(xué)學(xué)報(bào),2009(31):79-81.

株洲市| 惠安县| 三原县| 门源| 台北市| 平乐县| 泗阳县| 古浪县| 宁安市| 中宁县| 凌海市| 石城县| 洪湖市| 华坪县| 巴林右旗| 台前县| 百色市| 和田市| 林甸县| 青阳县| 许昌市| 绥棱县| 玉屏| 镇巴县| 沙坪坝区| 益阳市| 靖江市| 赞皇县| 沿河| 平原县| 宁陵县| 法库县| 昔阳县| 开阳县| 衡山县| 棋牌| 凤城市| 靖西县| 正宁县| 岗巴县| 托里县|