許航 王東來
摘 要:該文根據(jù)Java語言教學的特點,設計了一種基于SSH框架的Java在線學習平臺。旨在為學生構(gòu)建一種全新的學習方式,提供一種不受時空約束的學習環(huán)境,系統(tǒng)采用B/S模式,為學生提供在線編程練習環(huán)境,在線編輯環(huán)境,編譯檢錯功能。學生借助在線學習平臺可以進行Java知識的在線練習、在線復習、技術(shù)溝通和知識共享,從而成為傳統(tǒng)課堂教學有力補充。
關(guān)鍵詞:在線學習平臺 在線編譯 在線練習
中圖分類號:G71 文獻標識碼:A 文章編號:1672-3791(2016)02(b)-0015-02
信息技術(shù)的變革正逐漸改變學生的學習方式, 高校學生是接收新知識新技術(shù)最活躍的群體,傳統(tǒng)的課程教學網(wǎng)站只是把教學的各種資源放在網(wǎng)絡上,學生自主學習,對于學習的效果是否有促進作用,并沒有明顯的表現(xiàn)出來。為了更好地輔助課堂教學,提高學生學習的積極性,將學習與生活融合為一體,使學生更好地獲得知識,開發(fā)一套移動學習系統(tǒng)勢在必行。
Java語言的學習不僅要掌握一定的基本理論知識,還要強化實際的編程訓練,只有通過大量的編程訓練才能掌握這門編程語言并運用到實際應用開發(fā)中去。開發(fā)基于Web技術(shù)的Java在線學習平臺的主要目的是改變學生的學習習慣和學習興趣,開拓學生學習環(huán)境,改變以往學生學習編程語言必須使用臺式電腦或筆記本的學習方式,學生只要有能上網(wǎng)的訪問終端(臺式機,筆記本、平板電腦、手機)就可以在有網(wǎng)情況下進行在線學習,改善課程教學網(wǎng)站教學資源的利用率。
該文針對Java語言的教學實際設計了Java在線學習的教學輔助系統(tǒng)。實現(xiàn)了課堂教學與編程實踐相結(jié)合、傳統(tǒng)教學與在線學習相結(jié)合,通過在線學習平臺能夠有效地補充學生課堂學習的不足,提高學生學習技術(shù)、應用技術(shù)的能力。
1 學習平臺總體設計
常規(guī)的應用系統(tǒng)主要有兩個方面的功能,一個是面對用戶訪問的功能,一個是面對管理員進行管理的功能。該在線學習平臺系統(tǒng)也由兩部分功能構(gòu)成:面向?qū)W生用戶的Java在線學習平臺和面向教師或管理員用戶的系統(tǒng)后臺管理中心。
Java在線學習平臺主要為學生提供媒體學習、試題練習、程序訓練、作業(yè)系統(tǒng)、學情反饋以及信息管理六個功能模塊,如圖1所示。
系統(tǒng)后臺管理中心由學生管理、課程管理、作業(yè)管理、題庫管理、學情反饋以及信息管理模塊組成,如圖2所示。
2 學習平臺框架設計
該文所述的Java在線學習平臺在設計和實現(xiàn)過程中采用了目前業(yè)界流行的JavaEE輕量級解決方案:SSH(struts+spring+
hibernate)框架,其中使用Struts作為系統(tǒng)的整體基礎架構(gòu),負責MVC的分離,在Struts框架的模型部分,控制業(yè)務跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn)為基本的Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現(xiàn),采用Hibernate架構(gòu)實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和Hibernate。通過使用SSH框架不僅可以大幅度降低開發(fā)難度和工作量,還可使應用系統(tǒng)在靈活性、適應性和穩(wěn)定性方面有良好的表現(xiàn)。
根據(jù)目前的技術(shù)發(fā)展,在系統(tǒng)開發(fā)過程中主要采用XHTML、CSS、JQuery、和Jsp五種頁面設計技術(shù)來完成網(wǎng)頁的設計和布局;同時采用最新版Eclipse IDE for Java EE Developers作為集成開發(fā)環(huán)境;采用Tomcat應用服務器作為系統(tǒng)的運行平臺,保證了學習平臺在不同的終端下都能在線訪問。
3 系統(tǒng)功能設計
3.1 用戶管理模塊設計
用戶管理模塊主要用于設定用戶的權(quán)限,該系統(tǒng)根據(jù)實際需求將用戶分為學生、教師(系統(tǒng)管理員)兩種。教師(系統(tǒng)管理員)從系統(tǒng)后臺管理中心登錄,學生則從Java在線學習平臺登錄。因此,用戶管理模塊主要包括用戶登錄和用戶信息管理功能。
3.2 媒體學習環(huán)境模塊設計
媒體學習環(huán)境模塊由基礎學習資料模塊、訓練及測試模塊和深入學習模塊構(gòu)成?;A學習資料模塊包括在教學大綱和教學課件基礎上,結(jié)合各類經(jīng)典的Java書籍、教程和網(wǎng)絡資料,經(jīng)過重新編輯形成的電子書以及經(jīng)典代碼分析功能構(gòu)成;訓練和測試模塊由學情測試、試題訓練和編程題鏈接功能構(gòu)成;深入學習模塊提供的是網(wǎng)絡資源鏈接,由各類社區(qū)資料鏈接和優(yōu)秀的博客鏈接構(gòu)成。
3.3 試題練習環(huán)境模塊設計
試題練習環(huán)境涉及試題資源管理和試題練習兩大模塊。試題資源管理模塊位于系統(tǒng)后臺管理中心,教師可進行試題錄入、歸類、編輯等操作;試題練習模塊位于Java學習平臺系統(tǒng)中,由試題練習和作業(yè)系統(tǒng)構(gòu)成。
試題練習由成卷練習、組卷練習和專項訓練構(gòu)成,試題以單選、多選、判斷等客觀題為主,作業(yè)系統(tǒng)由單選、多選、判斷、編程訓練、解答題構(gòu)成。其中編程訓練、解答題的解答通過網(wǎng)頁鏈接的形式呈現(xiàn)。
3.4 程序訓練環(huán)境模塊設計
程序訓練環(huán)境實現(xiàn)的主要目的是能夠在線編輯并運行Java代碼,本功能是通過后臺代碼在應用服務器實現(xiàn)的。主要由Java源程序編譯檢錯、邏輯檢錯、前臺編輯環(huán)境和類結(jié)構(gòu)分析四部分構(gòu)成。
(1)Java源程序動態(tài)編譯功能的實現(xiàn)。
該文采用從內(nèi)存中動態(tài)編譯程序?qū)崿F(xiàn)Java的動態(tài)編譯。JavaCompiler接口可以編譯內(nèi)存中的Java代碼然后使用reflection運行編譯后的Java代碼,整個過程都在內(nèi)存中進行。
(2)在線編譯Java代碼功能的實現(xiàn)。
為了能夠在線編譯、加載并運行Java源程序,該系統(tǒng)采取的實現(xiàn)方法是應用程序接受數(shù)據(jù),編輯源代碼生成.java文件并保存到硬盤上,然后調(diào)用API執(zhí)行編譯操作生成.class文件,最后通過JVM 各級classloader調(diào)用完成加載操作并運行。
詳細的實現(xiàn)流程如下。
①服務器端應用程序接受客戶端傳來的數(shù)據(jù)并與生成Test.java文件。
②創(chuàng)建JavaCompiler對象javaCompiler來得到當前系統(tǒng)的編譯器。
③獲取一個文件管理器,使文件管理器與文件連接起來。
④創(chuàng)建編譯任務對象Task,并執(zhí)行編譯操作任務。
⑤最后運行編譯后的程序。
(3)Java程序編譯檢測功能的實現(xiàn)。
對Java源代碼進行編譯檢測一般通過四個步驟實現(xiàn):服務器端應用程序接受程序數(shù)據(jù)→將接受的數(shù)據(jù)生成.java文件→創(chuàng)建進程并動態(tài)編輯已生成的文件→結(jié)果反饋。
(4)Java程序邏輯檢測功能的實現(xiàn)。
Java源程序邏輯檢測是一個復雜的過程。服務器應用程序首先接收Java源程序并執(zhí)行邏輯檢錯操作。如果源程序順利通過編譯檢測,服務器應用程序為了能對其進行用例測試,需要對源代碼中的輸入輸出接口進行接管。輸入輸出接口接管工作是為了滿足測試用例模塊的運行需要,將源程序中可能存在的鍵盤輸出類System.Out和輸入類System.In類分別轉(zhuǎn)換成類Java.io.FileOutputStream和類Java.io.FileInputStream。在完成輸入輸出接管工作后,還需要對其進行安全性檢測,主要是判斷程序中是否存在死循環(huán)等影響系統(tǒng)安全的因素。隨后系統(tǒng)才能對源代碼功能進行用例測試。用例測試是邏輯檢測模塊中最重要的組成部分,系統(tǒng)應用程序通過用例檢測模塊和數(shù)據(jù)庫進行交互,進而判斷程序的邏輯正確性。最后向客戶端反饋測試結(jié)果。
3.5 學情反饋的設計與實現(xiàn)
在學生使用Java在線學習平臺時,系統(tǒng)會收集學生使用系統(tǒng)產(chǎn)生的數(shù)據(jù),并對釆集的數(shù)據(jù)進行抽樣、統(tǒng)計等處理,最后將結(jié)果以不同的形式反饋給用戶,進而實現(xiàn)對學生學習情況較為準確的評估。
教師可以在系統(tǒng)后臺管理中心查看反饋結(jié)果,可以得到學生的學習進度、學習問題反饋、作業(yè)完成情況以及課后試題測試的結(jié)果。
學生可以登錄Java在線學習平臺查看反饋結(jié)果,可以查看自己的媒體學習進度、自己未完成的課程內(nèi)容、成績排名、知識結(jié)構(gòu)完整度評估等信息。
4 結(jié)語
該文在結(jié)合當前Java語言課程教學現(xiàn)狀和對業(yè)界相關(guān)工作崗位對Java技術(shù)的需求分析基礎上,設計實現(xiàn)了Java在線學習平臺。一門編程技術(shù)的學習,非實踐不能得也!通過本平臺可以強化教師Java語言課程的教學效果,有效提高學生學習Java技術(shù)的效率。
參考文獻
[1] 吳元君.基于Android的移動學習平臺開發(fā)與實現(xiàn)[J].滁州學院學報,2015(2):59-62.
[2] 盧冶.基于Android的Java程序設計移動學習平臺[J].計算機教育,2014(11):60-64.
[3] 牛雪蓮.基于Android的英語聽力移動學習平臺設計與實現(xiàn)[J].自動化與儀器儀表,2016(2):41-42.
[4] 武玉坤.基于Android移動學習平臺的設計[J].計算機光盤軟件與應用,2013(1):20-21.
[5] 李海峰.基于HTML5+jQueryMobile的移動學習平臺WebApp研究與實現(xiàn)[J].信息通信,2014(5):84-85.
[6] 鄭巍.基于HTML5的課程資源管理移動網(wǎng)站的設計[D].大連理工大學,2014.
[7] 尤丹妹.基于移動平臺的學習資源設計與開發(fā)[J].微型機與應用,2015(7):83-85.
[8] 張林衡.虛擬學習社區(qū)的設計與實現(xiàn)[D].北京交通大學,2014.
[9] 楊博.網(wǎng)絡教學平臺的設計與實現(xiàn)[D].吉林大學,2014.