




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