1. 首頁
  2. 職業/專業/職能

軟體工程專業Java語言教學改革的論文

軟體工程專業Java語言教學改革的論文

1前言

軟體工程專業是一門實用性強、與企業緊密關聯的專業,其教學質量決定了所培養學生的專業素養和軟體從業能力,因此,大量的教學人員從各個方面對軟體工程教學進行改革探討。文獻[1]提出以企業需求為導向的Java課程教學改革,著眼於提高學生實踐能力;文獻[2-3]提出基於教學團隊增強系列課程的教學效果;文獻[4]提出軟體工程專業實踐教學改革,提高學生的實踐能力;文獻[5]提出軟體工程教學改革與學生能力評估的探討,更客觀地反映教學效果。在軟體工程專業中,Java相關課程構成一組系列課程。這些課程之間相互關聯,前修課程的教學效果直接影響後續課程的教學質量。因此,系列課程的教學計劃、教學大綱、教學團隊等元素要整體規劃、統一安排,將多門課程的教學方案做成一個整體,使得各課程之間能夠緊密銜接、階段專案之間合理進階,最終改善Java系列課程的整體教學效果。

2教學中的問題

課程之間銜接不夠緊密,課程安排不合理傳統Java系列課程在安排上存在如下問題。

1)課程安排不夠緊密。在這些課程之間還要穿插DoNet課程,如C#語言程式設計、ASP.NET程式設計等,因此,學生在學習一段時間的Java課程後,又需要進行一段時間DoNet課程的學習,使得之前學習的Java知識容易被遺忘,教學效果差。

2)課程安排不合理。如JavaWeb程式設計與XML與Web應用這兩門課程的講解內容都是Web開發,可以合併為一門課程,而Java框架技術則是一門重要的企業級開發課程,沒有配置足夠的課時來保證課程的教學質量。教師之間缺乏交流,教學內容銜接不夠Java系列課程較多,參與教學的教師較多,教師之間沒有進行頻繁有效的交流,這不僅使得教師之間難以形成良好的團隊教學氛圍,而且影響了教學效果。

1)教學內容銜接不夠順暢。不同課程的教師往往按照自己的理解進行課程的講解,沒有考慮到該課程的教學如何為後續課程的學習打下堅實基礎。

2)教學案例進階不夠。不同教師的教學案例設計只考慮到本課程的教學需要,沒有考慮本課程在整個系列課程中的位置,使得不同課程的教學案例之間幾乎不存在繼承性和延續性,導致整體教學難以有效地進階,無法將學生的能力提升到一個新的高度。實踐環節不夠深入,難以提升學生的動手實踐能力實踐環節是保障學生動手能力的重要環節,安排適合每門課程的階段專案是非常必要的。目前的教學沒有考慮不同課程的實踐重點,只注重完成相似功能的專案,難以深入全面地改善學生的實踐能力。

3教學改革措施

修訂教學計劃針對傳統Java教學中課程之間銜接不夠緊密,課程安排不合理的問題,對教學計劃進行修訂,主要內容如下。

1)基礎知識部分。該部分的課程為Java程式設計,課程主要講解Java語言的基礎,設定課時為64課時,開設時間為第一學年第二學期。

2)高階開發部分。本部分的課程將JavaWeb程式開發與XML與Web應用合併為Java高階程式設計,教學內容主要是結合Web開發技術講解抽象的元件開發技術,如表單封裝、資料庫模板、資料庫連線池、分頁等常用元件的編寫。本環節安排的課時為80課時,開設時間為第二學年第一學期。

3)企業級開發部分。企業開發部分的課程為Java框架技術(40學時)和Java框架技術實踐(32學時),開設時間為第二學年的第二學期。透過這一系列的教學計劃修訂,在沒有總體增加課時的基礎上達到對Java系列課程教學方案的最佳化,使得Java系列課程能夠儘早、連續地開出,而且每門主要課程的學習課時得到顯著增加,有力地保證教學質量的提升。基於教學團隊開發教學內容參與Java系列課程教學的教師自動組建教學團隊,按照團隊制訂的教學大綱進行教學是保證Java系列課程深入有效開展的重要因素。因此,制訂符合每個階段課程的教學大綱是非常重要的。具體來說,每個階段的教學內容和教學案例如下所示。

1)Java程式設計階段:本階段的知識點涉及較多,主要是Java基本程式設計思想以及為後續課程準備的知識點,如多執行緒、反射、設計模式等,主要內容如下所示。

①類與物件:掌握必要的抽象思維,學會類的編寫和物件的使用;掌握類的繼承與多型,學會使用多型進行程式設計。相應的案例是利用多型對不同的形狀物件計算面積。

②集合類:掌握常用的集合類及相關的資料結構,理解集合框架的結構及集合記憶體動態增長原理,理解迭代模式。案例是程式設計模擬實現ArrayList類。

③輸入輸出:掌握字元、位元組的輸入輸出,理解裝飾者模式。案例是程式設計將學生物件輸出到外部檔案。

④多執行緒:多執行緒的建立、併發控制等。案例是利用多執行緒模擬多使用者取錢業務。

⑤反射機制:掌握利用反射建立物件、反射呼叫物件方法。案例是將檔案中的學生資訊自動封裝為學生物件。

⑥設計模式:模板模式和動態代理模式。案例是利用動態代理模式實現中介賣票程式。

2)Java高階程式設計階段。本階段利用第一階段的學習內容開展深入的學習,以Web開發為基礎講解重要元件的程式設計實現,如利用反射、模板模式和動態代理模式實現表單封裝元件、JDBCTemplate元件、分頁元件等,主要內容如下所示。

①DHTML:掌握HTML標籤、CSS、Javascript語法,特別是Javascript面向物件的特徵。案例是製作網上商城主頁。

②Web伺服器:介紹Web伺服器Tomcat,並使用網路程式設計的方法模擬伺服器的響應。

③資料庫訪問技術:掌握利用JDBCAPI進行資料庫操作,結合模板模式來重構資料訪問的程式碼。案例是利用模板模式、反射機制等實現JDBCTemplate元件;結合動態代理模式實現資料庫連線池元件,並利用多執行緒測試多使用者環境下程式的效能。

④Web開發技術:掌握Servlet的開發方法,掌握客戶端引數的傳遞和獲取。案例是結合反射機制實現表單自動封裝元件。

⑤標籤技術:掌握JavaBean、EL表示式和標準標籤,掌握資料顯示的方法。案例是使用反射和JavaBean實現分頁元件。

3)Java框架技術階段。本階段主要講解Struts、Spring和Hibernate三個框架的使用,其創新點在於透過利用Java高階程式設計階段編寫的元件來對框架主要功能進行模擬實現,主要內容如下。

①Struts框架:掌握Struts的基本使用方法,理解Struts的工作流程,掌握Struts標籤、國際化、輸入驗證等。案例是利用表單封裝元件、反射機制、多型、XML等技術實現Struts框架功能。

②Hibernate框架:掌握Hibernate主要功能,特別是物件—關係對映ORM功能、快取、HQL查詢、資料庫鎖、繼承、關聯等。案例是利用JDBCTemplate元件和XML解析實現Hibernate的ORM功能;利用CGLib動態代理模式模擬實現Hibernate的延遲載入(Lazy)功能。

③Spring框架:掌握Spring的主要功能,包括控制反轉IoC、面向切面程式設計AOP等。案例是利用AOP實現系統日誌管理、資料庫事務管理。

④框架整合:將Struts、Spring、Hibernate框架進行整合,並利用團隊開發環境進行專案開發。從這個教學大綱的設計來看,基於團隊開發的教學大綱在內容上是無縫銜接的,將Java系列的主要課程整合為一個整體,有利於快速進階,改善學生的知識結構,提高學生的程式設計素質,達到企業用人需求。階段專案的設計對於每門課程,設計合適的、遞進的階段專案,對於深入掌握相關知識點,強化學生的動手能力是至關重要的。

1)Java程式設計階段。本階段課程主要涉及Java語言的程式設計基礎,綜合掌握相應的知識點對於理解Java程式設計思想、後續Java課程的學習有重要的作用。這一階段知識點眾多,而且受知識結構的限制,難以實施大規模的專案,為此,考慮將這些零碎的知識點結合起來,形成一個有實際意義的遊戲專案——《飛機大戰》。透過遊戲的開發,學生可以在介面上看到程式中物件的狀態,直觀地瞭解程式執行的過程;而且透過遊戲開發,可以提高學生的'程式設計興趣;更重要的是,遊戲集合了眾多知識點,這為學生深入掌握和應用這些知識點提供了一個良好的平臺。

2)Java高階程式設計階段。本階段主要進行可複用Java元件的開發,因此,專案的設計與考查側重於Java元件的實踐。這一階段的專案是《網上商城》,該專案的背景清楚,學生大都具有使用網上商城的經歷,這能夠直觀地幫助學生了解專案的需求背景。將Web元件開發技術應用至《網上商城》的開發,不僅可以使學生深入地掌握Java程式設計思想,而且可以大大加快軟體專案的開發。專案在考查時不僅需要檢視專案的外觀、功能等因素,還需要了解學生在實踐中是否設計、開發並應用了Java元件,這對於提高學生的抽象思維能力以及動手實踐能力具有重要的意義。

3)Java框架技術階段。本階段主要是框架技術的使用,需要設計大型的企業級開發專案,並利用Java框架技術實踐課程來保證專案的實施質量。本階段的專案為《企業固定資產管理》,透過提供專案需求,使學生掌握軟體需求分析的步驟和方法,提高學生的系統分析能力和實踐能力。透過第二、三階段課程的學習,學生能夠深入理解框架的原理,而透過第三階段專案的開發,則能使學生熟練掌握軟體開發的步驟與方法、框架技術的使用,從而達到企業的用人需求。

4結束語

本文針對Java語言系列課程在教學過程中出現的問題,提出一系列的最佳化方案。透過最佳化已有課程,使Java系列課程能夠儘早、連續地開出;透過建設Java教學團隊,設計了符合Java系列課程特點的教學大綱,使得Java系列課程的知識點形成一個漸進的整體;透過階段專案的設計,使得學生能夠在不同的階段開發側重點不同的專案,顯著提高學生的動手實踐能力。透過這一系列的改革措施,學生在學完Java系列課程後對Java語言、資料庫技術、設計模式、框架技術具有更好的綜合應用能力,對於提高學生的綜合素質有明顯的改善作用。