




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
以企業(yè)需求為導(dǎo)向的Java框架技術(shù)課程教學(xué)改革研究 鄧澤林 (長沙理工大學(xué)計(jì)算機(jī)與通信工程學(xué)院,湖南長沙410076) 摘要:傳統(tǒng)的Java框架技術(shù)教學(xué)受教學(xué)計(jì)劃、師資水平等因素的限制,教學(xué)效果和學(xué)生就業(yè)情況不佳,針對這一現(xiàn)狀,提出以企業(yè)需求為導(dǎo)向進(jìn)行教學(xué)計(jì)劃的優(yōu)化和教學(xué)大綱的修訂,以保證足夠的課時(shí)用于深入地分析框架內(nèi)核原理和框架項(xiàng)目的實(shí)踐,同時(shí)探討提升教師能力的途徑以更好地進(jìn)行Java框架技術(shù)的教學(xué)。 關(guān)鍵詞:軟件工程;框架技術(shù);軟件開發(fā);教學(xué)改革 基金項(xiàng)目:長沙理工大學(xué)校級教改課題“軟件工程專業(yè)實(shí)踐教學(xué)改革研究”(JG1427)。 作者簡介:鄧澤林,男,講師,研究方向?yàn)檐浖こ獭C(jī)器學(xué)習(xí),zl_dengsina.。 0引言 軟件工程專業(yè)是一門實(shí)踐要求高、與企業(yè)需求密切關(guān)聯(lián)的專業(yè),其課程的教學(xué)質(zhì)量直接關(guān)系學(xué)生的專業(yè)素質(zhì)和就業(yè)質(zhì)量,因此,大量的教學(xué)人員從各個(gè)方面對軟件工程教學(xué)進(jìn)行改革探討1。如提出以企業(yè)需求為導(dǎo)向的Java課程教學(xué)改革,著眼于提高學(xué)生實(shí)踐能力2-3;提出提升教學(xué)團(tuán)隊(duì),提高系列課程的教學(xué)效果4;提出軟件工程專業(yè)實(shí)踐教學(xué)改革,提高學(xué)生的實(shí)踐能力5;探討軟件工程教學(xué)改革與學(xué)生能力評估,以求更好、更客觀地反映教學(xué)效果。 在軟件工程專業(yè)的課程中,Java框架技術(shù)是一門實(shí)用性非常強(qiáng)、軟件企業(yè)大量需要的軟件開發(fā)技能。Java框架技術(shù)封裝了一些軟件開發(fā)過程常用的功能,并提供了Java對象生命周期管理,使得軟件從業(yè)人員可以忽略這些基礎(chǔ)功能的編程,而將程序開發(fā)的重點(diǎn)放在軟件項(xiàng)目業(yè)務(wù)邏輯上,從而大大加快軟件開發(fā)的速度和周期,降低軟件開發(fā)的風(fēng)險(xiǎn)和費(fèi)用,因此,當(dāng)前Java企業(yè)的用人需求中幾乎都要求企業(yè)員工熟悉并掌握常用框架。為了應(yīng)用框架開發(fā)高質(zhì)量的軟件項(xiàng)目,軟件企業(yè)不僅要求軟件從業(yè)人員很好地掌握應(yīng)用框架技術(shù)進(jìn)行軟件開發(fā)的能力,而且要求其深入理解框架技術(shù)原理,從而更好地掌控軟件開發(fā)的過程,優(yōu)化軟件的運(yùn)行性能。 雖然Java框架技術(shù)有著如此重要的地位,但當(dāng)前其教學(xué)仍然存在很多問題。 1教學(xué)中的問題 1.1課程地位不受重視,學(xué)習(xí)效果較差 軟件工程專業(yè)由于工程化的特點(diǎn),要求學(xué)生不僅能編寫簡單的邏輯,而且要具備從事大型工程化項(xiàng)目的開發(fā)與管理能力。Java框架技術(shù)雖然非常適合進(jìn)行大型企業(yè)級項(xiàng)目的開發(fā),但在教學(xué)過程中卻沒有受到應(yīng)有的重視,主要體現(xiàn)在課程開設(shè)時(shí)間晚、課時(shí)較少等,導(dǎo)致學(xué)生學(xué)習(xí)效果差。 1.2教學(xué)大綱比較淺顯,難以做到深入淺出 Java框架技術(shù)封裝了很多技術(shù)細(xì)節(jié)與技巧,深入理解框架技術(shù)非常必要。當(dāng)前的教學(xué)大綱比較注重教授學(xué)生框架的基本配置與操作,沒有進(jìn)行框架原理的解構(gòu)與模擬,導(dǎo)致學(xué)生對框架技術(shù)理解不足,缺乏對框架的掌控能力。 1.3教師水平存在差距,缺乏教師提升計(jì)劃 Java框架技術(shù)的深入教學(xué)不僅要求教師具有扎實(shí)的Java語言程序設(shè)計(jì)基礎(chǔ),還要求其最好有軟件企業(yè)工作經(jīng)歷和領(lǐng)導(dǎo)項(xiàng)目開發(fā)的成功案例,這個(gè)要求對于很多教師來說偏高,但目前很少有相應(yīng)的計(jì)劃對教師從不同的方面進(jìn)行提升,以保障本課程的成功教學(xué)。 1.4課程時(shí)間比較短,難以實(shí)施大型軟件項(xiàng)目 Java框架技術(shù)的教學(xué)需要實(shí)施比較大型的項(xiàng)目來保障學(xué)生的學(xué)習(xí)效果,但目前來看存在困難。大型項(xiàng)目需要較多時(shí)間進(jìn)行需求分析、組織管理、實(shí)施、評估等,由于課程時(shí)間短,難以安排足夠的時(shí)間來完成企業(yè)級的軟件開發(fā)。 2教學(xué)改革措施 2.1修訂教學(xué)計(jì)劃 導(dǎo)致本門課程開設(shè)時(shí)間晚的原因在于學(xué)生需要在本門課程之前學(xué)習(xí)doNet系列課程,如C#程序設(shè)計(jì)、ASP.NET開發(fā)技術(shù)等課程。實(shí)際上,企業(yè)并不需要員工同時(shí)熟悉J2EE和doNet,只需要熟悉其中一個(gè)方向即可。根據(jù)企業(yè)這一需求特點(diǎn),可以將J2EE和doNet并行開設(shè)為專業(yè)方向選修課程,學(xué)生選擇其中一個(gè)方向進(jìn)行學(xué)習(xí)。這樣,Java框架技術(shù)課程可以和C#程序設(shè)計(jì)同步開設(shè),選擇學(xué)習(xí)Java框架技術(shù)的學(xué)生不需要學(xué)習(xí)C#程序設(shè)計(jì),Java框架技術(shù)的學(xué)習(xí)可以在第2學(xué)年開始;同時(shí),由于不需要學(xué)習(xí)C#程序設(shè)計(jì),則可以將本門課程的課時(shí)分配給Java框架技術(shù),這幾乎使Java框架技術(shù)的學(xué)習(xí)時(shí)間增加了1倍,有力地保證課程的深入學(xué)習(xí)。 此時(shí),能夠用于Java框架技術(shù)教學(xué)的時(shí)間達(dá)到80課時(shí)左右。為了進(jìn)行全面深入的理論教學(xué)和實(shí)踐教學(xué),可利用這80個(gè)課時(shí)開設(shè)2門課程,一門是用于理論教學(xué)的Java框架技術(shù)(48學(xué)時(shí)),另一門是用于項(xiàng)目實(shí)踐的Java框架技術(shù)實(shí)踐(32學(xué)時(shí))。教學(xué)計(jì)劃的優(yōu)化不僅強(qiáng)調(diào)Java框架技術(shù)的重要性,而且使學(xué)生能夠花費(fèi)更多的時(shí)間用于框架技術(shù)的學(xué)習(xí)和實(shí)踐。 2.2制定教學(xué)大綱的主要思路 Java框架技術(shù)的教學(xué)必須要有一定的深度和廣度,這不僅要求學(xué)生能夠使用框架技術(shù)進(jìn)行軟件項(xiàng)目開發(fā),而且要進(jìn)一步強(qiáng)化Java開發(fā)技術(shù),并利用這些基本的開發(fā)技術(shù)來解構(gòu)框架的內(nèi)核,深入掌握框架的原理和工作流程。 教學(xué)大綱要求對目前流行的Struts、Spring和Hibernate等框架進(jìn)行講解,主要包括內(nèi)核解析和框架應(yīng)用的知識點(diǎn)。 1)Struts框架。 首先,利用Struts框架做簡單功能實(shí)現(xiàn),使學(xué)生對Struts框架的功能有簡單直觀的了解,分析Struts的配置文件信息,了解核心組件的功能。 然后,提出Struts框架的模擬實(shí)現(xiàn)。為了讓框架模擬的功能與實(shí)際接近,在模擬環(huán)節(jié)中直接使用Struts的配置文件,并利用Java語言從零開始實(shí)現(xiàn)這一框架的主要功能。功能模擬應(yīng)用到很多基礎(chǔ)知識,這些知識在前期教學(xué)中沒有一個(gè)好的大型案例來進(jìn)行整合,學(xué)生的知識結(jié)構(gòu)比較松散;而通過框架功能模擬,應(yīng)用這些比較常用的技術(shù)來開發(fā)一個(gè)具有實(shí)用功能的框架,使得學(xué)生能夠重新審視自己學(xué)過的內(nèi)容,激發(fā)學(xué)生的想象力,提高其綜合素質(zhì)。 最后,按照常規(guī)思路講解Struts框架的應(yīng)用知識點(diǎn),包括標(biāo)簽、國際化、輸入驗(yàn)證等功能,通過這種深入淺出的教學(xué)方式使學(xué)生更好地使用框架進(jìn)行應(yīng)用開發(fā)。 2)Hibernate框架。 Hibernate框架用于數(shù)據(jù)訪問,集成了JDBC、對象關(guān)系映射(Object-RelationMapping,ORM)、查詢、Lazy、緩存、事務(wù)處理等功能,學(xué)習(xí)難度較大。Hibernate的數(shù)據(jù)訪問細(xì)節(jié)對用戶是透明的,其ORM功能能夠?qū)?shù)據(jù)表格中的數(shù)據(jù)行直接封裝成實(shí)體對象,而無須顯示使用JDBC的API。這個(gè)特點(diǎn)使得學(xué)生極易陷入誤區(qū),認(rèn)為Hibernate是有別于JDBC的另外一種數(shù)據(jù)訪問技術(shù),Hibernate的教學(xué)首先要打破這種誤區(qū)。 首先,解析Hibernate的配置文件,并使用合適的數(shù)據(jù)結(jié)構(gòu)將其存儲于內(nèi)存中,然后根據(jù)加載的類名找到對應(yīng)的配置信息,反射構(gòu)建對象,并使用配置文件中的字段與類的屬性之間的映射關(guān)系自動(dòng)生成SQL語句,使用JDBC進(jìn)行數(shù)據(jù)庫查詢,遍歷查詢得到的數(shù)據(jù)集中的每一行數(shù)據(jù),獲得每一行中每一列的數(shù)據(jù),并通過數(shù)據(jù)庫元數(shù)據(jù)(Metadata)確定字段名稱,利用映射關(guān)系定位到相應(yīng)的屬性名稱,調(diào)用與該屬性對應(yīng)的set方法,通過反射調(diào)用該方法進(jìn)行數(shù)據(jù)封裝,最后以O(shè)bject的形式返回反射構(gòu)建的對象,即可實(shí)現(xiàn)與Hibernate相同的ORM功能。通過這一功能模擬,在深入解析Hibernate的核心技術(shù)的同時(shí),使學(xué)生深入認(rèn)識到Hibernate的本質(zhì)。 在深入了解Hibernate的功能之后,學(xué)生對Hibernate的工作原理不再感到神秘,此時(shí),再按常規(guī)思路講解Hibernate的其他功能,如關(guān)聯(lián)、查詢語句HQL、緩存、繼承、數(shù)據(jù)庫鎖等技術(shù)點(diǎn),通過這種教學(xué)方法使學(xué)生完全掌握Hibernate的原理和應(yīng)用。 3)Spring框架。 Spring框架主要負(fù)責(zé)系統(tǒng)運(yùn)行過程中Java對象的管理,并能與Struts、Hibernate等框架進(jìn)行整合,進(jìn)行系統(tǒng)集成開發(fā)。 Spring的核心功能主要包括控制反轉(zhuǎn)(InverseofControl,IoC)和面向切面編程(AspectOrientedProgramming,AOP)。IoC控制對象的構(gòu)建,并在程序運(yùn)行過程中將對象注入其他依賴的對象中。此時(shí),程序的運(yùn)行控制權(quán)將由原來程序自身控制轉(zhuǎn)移到由Spring容器控制,所以稱為控制反轉(zhuǎn)??刂品崔D(zhuǎn)功能相對簡單,可以在分析Spring配置文件的基礎(chǔ)上通過應(yīng)用反射等機(jī)制加以實(shí)現(xiàn)。而AOP則比較復(fù)雜,不宜在課堂上編程實(shí)現(xiàn),但教師仍然可以講解相關(guān)知識,特別是通過動(dòng)態(tài)代理技術(shù)講解揭示在已有流程上切入邏輯的原理與方法。 2.3師資培養(yǎng)與提高 從以上教學(xué)大綱的設(shè)計(jì)思路來看,框架技術(shù)的教學(xué)不僅要求學(xué)生熟練使用框架技術(shù),而且對框架核心技術(shù)的理解與實(shí)現(xiàn)也要深入理解,這些要求決定了教師需要有很強(qiáng)的編程能力以及一定的企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn),這可能超過了部分教師自身的知識結(jié)構(gòu)和實(shí)踐經(jīng)驗(yàn)。為此,教師須不斷提升自身的實(shí)踐能力和教學(xué)能力,可以從以下3個(gè)方面進(jìn)行: (1)強(qiáng)化Java基礎(chǔ)編程??蚣芗夹g(shù)由于封裝了核心細(xì)節(jié),對于很多學(xué)習(xí)者來說都比較神秘,因此,教師首先要自己解構(gòu)框架核心技術(shù)。核心技術(shù)的相關(guān)知識點(diǎn)包括常用設(shè)計(jì)模式(如模板模式、靜態(tài)代理模式、動(dòng)態(tài)代理模式、ThreadLocal模式等)以及框架技術(shù)常用的反射機(jī)制。學(xué)習(xí)了核心技術(shù)后,教師要學(xué)會通過反射技術(shù)結(jié)合表單屬性、數(shù)據(jù)庫字段等信息,實(shí)現(xiàn)對象的自動(dòng)創(chuàng)建與封裝,在此基礎(chǔ)上,動(dòng)手模擬實(shí)現(xiàn)Struts、Hibernate等框架,深入掌握框架的核心技術(shù)和主要流程原理。 (2)參與企業(yè)項(xiàng)目開發(fā)。軟件工程專業(yè)一般與企業(yè)存在良好的交流與互動(dòng),特別是與企業(yè)存在緊密的合作關(guān)系。Java框架技術(shù)課程的教師要利用合作企業(yè)的資源,參與到企業(yè)項(xiàng)目中去,以此來積累軟件項(xiàng)目開發(fā)的經(jīng)驗(yàn)。企業(yè)項(xiàng)目一般都會使用框架,雖然可能是Struts、Spring、Hibernate之外的框架,但這些框架的使用具有一定的共通性。通過參與企業(yè)項(xiàng)目的開發(fā),教師掌握和理解軟件項(xiàng)目中框架的常用操作、項(xiàng)目管理等,有利于更好地進(jìn)行課堂教學(xué)和項(xiàng)目實(shí)踐。 (3)內(nèi)部交流與外部培訓(xùn)。負(fù)責(zé)Java系列課程教學(xué)的教師要經(jīng)常進(jìn)行教學(xué)方法、相關(guān)技術(shù)的探討與交流,實(shí)現(xiàn)團(tuán)隊(duì)教師整體能力的提升;同時(shí),利用假期積極參與外部培訓(xùn)機(jī)構(gòu)的軟件工程相關(guān)內(nèi)容培訓(xùn),跟進(jìn)目前本專業(yè)的技術(shù)發(fā)展,為Java框架技術(shù)的教學(xué)帶來更多實(shí)用的知識。 2.4實(shí)踐教學(xué)過程控制 在對框架技術(shù)進(jìn)行深入的教學(xué)之后,學(xué)生較好地理解與掌握了框架的主要工作原理和操作,接下來需要對Struts、Spring和Hibernate框架進(jìn)行整合,實(shí)施大型項(xiàng)目的開發(fā),以確保學(xué)生能夠?qū)⒖蚣軕?yīng)用至實(shí)際開發(fā)中。由于增加了Java框架技術(shù)實(shí)踐課程,所以有足夠的課時(shí)用于軟件項(xiàng)目的開發(fā),主要步驟如下: (1)在Java框架技術(shù)課程的后期,提供若干具有實(shí)際應(yīng)用背景的項(xiàng)目,如網(wǎng)上商城、固定資產(chǎn)管理、客戶關(guān)系管理等供學(xué)生選擇,同步提供項(xiàng)目需求供學(xué)生進(jìn)行系統(tǒng)分析。 (2)在Java框架技術(shù)實(shí)踐的第一次課,學(xué)生需要對系統(tǒng)進(jìn)行需求分析和用例分析,在較好地掌握項(xiàng)目需求并進(jìn)行ER分析之后,按照三范式的要求設(shè)計(jì)出數(shù)據(jù)庫。 (3)學(xué)生整合Struts、Spring、Hibernate框架,按照MVC(Model-View-Control)架構(gòu)設(shè)計(jì)項(xiàng)目代碼的分層結(jié)構(gòu),用Struts進(jìn)行數(shù)據(jù)顯示及輸入和流程控制,利用Hibernate進(jìn)行數(shù)據(jù)訪問,使用Spring進(jìn)行業(yè)務(wù)邏輯的管理和控制。為了解耦合各層代碼,學(xué)生需要設(shè)計(jì)每層代碼接口并公布,上層代碼通過接口調(diào)用下層代碼,下層代碼的實(shí)現(xiàn)對上層代碼透明,這樣,修改每層代碼實(shí)現(xiàn)不會影響上層代碼,有利于系統(tǒng)的后期維護(hù)和組件替換。 (4)項(xiàng)目代碼開發(fā)和系統(tǒng)測試。利用30個(gè)左右課時(shí)保證項(xiàng)目的實(shí)施,實(shí)現(xiàn)系統(tǒng)的主要功能。系統(tǒng)功能測試是一個(gè)比較專業(yè)的學(xué)問,學(xué)生目前并沒有掌握,因此,本階段學(xué)生只需要檢測主要流程是否符合程序預(yù)期即可。 (5)項(xiàng)目驗(yàn)收。驗(yàn)收采用項(xiàng)目答辯的形式進(jìn)行,學(xué)生需要對自己的作品進(jìn)行講解,演示作品的主要功能,與驗(yàn)收老師進(jìn)行良好的互動(dòng),講解項(xiàng)目實(shí)踐過程中的困難、解決方法、個(gè)人的創(chuàng)新與心得體會以及對框架技術(shù)的理解。項(xiàng)目驗(yàn)收不僅能很好地控制項(xiàng)目的過程和質(zhì)量,而且對提高學(xué)生的交流能力、產(chǎn)品推介能力也有很大幫助。 3結(jié)語 通過重新設(shè)置教學(xué)大綱,學(xué)生深入理解每個(gè)框架的核心機(jī)制與原理,在理解的基礎(chǔ)上更好地進(jìn)行框架技術(shù)應(yīng)用的學(xué)習(xí);通過教師的培養(yǎng)與提升,授課教師強(qiáng)化了理論知識和應(yīng)用能力,使得課程的教學(xué)能夠深入淺出;通過實(shí)踐過程的控制,學(xué)生不僅可以進(jìn)一步加深對框架技術(shù)的理解,還可以利用框架技術(shù)進(jìn)行大規(guī)模的軟件開發(fā),更好地掌握框架技術(shù)。 這一系列的措施,讓學(xué)生在學(xué)完Java框架技術(shù)后對Java語言、數(shù)據(jù)庫技術(shù)、設(shè)計(jì)模式、框架技術(shù)有了更好的綜合應(yīng)用能力,綜合素質(zhì)明顯改善。從學(xué)生對本門課程的評價(jià)來看,他們從本門課程學(xué)習(xí)到的東西遠(yuǎn)高于其預(yù)期,顯著地提升了學(xué)習(xí)Java語言的興趣;從學(xué)生的就業(yè)質(zhì)量來看,很多學(xué)生都簽約了著名的軟件企業(yè),且就業(yè)待遇高。這些成績都說明本文的改革措施具有積極效果,達(dá)到了預(yù)期要求。 參考文獻(xiàn): 1鄧澤林,謝中科,胡寧靜.以企業(yè)需求為導(dǎo)向的Java程序設(shè)計(jì)教學(xué)改革
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木材定金合同范本
- 會計(jì)臨時(shí)勞務(wù)合同范本
- 勞務(wù)派遣合同范本購買
- 協(xié)議證明合同范本
- 業(yè)委會與物業(yè)委托合同范本
- 別墅規(guī)劃合同范本
- 區(qū)域保護(hù)合同范本
- 農(nóng)村房子修繕承包合同范本
- 公園門衛(wèi)服務(wù)合同范本
- 包裝費(fèi)合同范本
- 物業(yè)服務(wù)行業(yè)禮儀培訓(xùn)
- 退市新規(guī)解讀-上海證券交易所、大同證券
- 教育部中國特色學(xué)徒制課題:現(xiàn)代職業(yè)教育體系建設(shè)背景下中國特色學(xué)徒制治理體系與資源配置研究
- 22陳涉世家 司馬遷 公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì) 度部編版初中語文九年級下冊
- 2021年飽和蒸汽及過熱蒸汽焓值表
- 《抗戰(zhàn)中的英雄人物》課件
- 外墻真石漆施工方案
- 森林防火安全生產(chǎn)工作
- 護(hù)理工作十四五規(guī)劃
- 《服裝市場營銷》課件
- 網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估報(bào)告模板
評論
0/150
提交評論