韓蘭靈+劉玉琴+高朋
摘 要:移動設備能便捷承載、收發(fā)音頻文件等媒體數(shù)據(jù),可隨時隨地滿足日語學習中大量語境輸入和語言訓練的需求?;诎沧肯到y(tǒng)的日語聽力作業(yè)系統(tǒng),利用移動設備的優(yōu)點而設計開發(fā)。主要是為日語學習者提供便捷的日語聽力訓練平臺,同時也幫助教師統(tǒng)計和觀察日語學習者的聽解能力,從而對學習者進行更有針對性的教學指導,對傳統(tǒng)的聽力課堂教學是有益的補充,本文主要介紹該系統(tǒng)實現(xiàn)的概要以及結果的總結。
關鍵詞:日語教學;日語聽力;移動學習;安卓(Android)
中圖分類號:TP315 文獻標志碼:A 文章編號:1673-8454(2015)17-0083-03
引言
2012年北大的賈積有教授就提出了便攜式電子學伴[1]的概念,時至今日,移動平臺已經(jīng)非常成熟,出現(xiàn)了很多應用于教學的移動應用,例如輔助日語發(fā)音學習軟件[2]以及安卓平臺英語學習資源[3]的制作。與電腦相比,智能手機成為學生幾乎人人必備的便攜式工具,移動端的聽力練習系統(tǒng)可以輔助完成如上課題。結合軟件學院的特色,有必要開發(fā)一個基于安卓的日語聽力作業(yè)系統(tǒng)。學習者通過觸手可及的移動設備輔助學習,加強日常訓練,同時采集到的數(shù)據(jù)也能夠在教師一方反饋,幫助教師獲取學習者的學習動態(tài),對傳統(tǒng)的教學方式形成有益的補充,可以提高教學效率與效果。
一、可行性分析
為了給日語學習者提供更加方便的日語聽力訓練的平臺,手機APP是選擇之一。作為一個搭建在智能平臺上的應用,可為教師和學習者節(jié)省很多時間,比如拷貝音頻、布置作業(yè)、批改作業(yè)等,這些都可以在云端完成;日語學習者只需要按照服務器分發(fā)的作業(yè)完成對應的訓練;服務器能夠自動批改,統(tǒng)計對錯,產(chǎn)生各類統(tǒng)計數(shù)據(jù),讓教師將更多的關注放在如何為學生提供更有針對性的指導上,而不必花費大量的時間人工批改作業(yè),對于師生來說是雙贏的工具。這款應用首先在Android系統(tǒng)上實現(xiàn),待功能成熟以后可以開始兼容IOS和Windows Phone。從技術可行性上來說,軟件學院擁有得天獨厚的優(yōu)勢,日語學習者均擁有編程背景,通過一定程度學習,可以掌握并勝任下文提到的三個方向中的任意一個,并且從親歷學習的角度提出設計需求。整個項目需要一個服務器和相應的開發(fā)環(huán)境,可以得到學校的保障,并且有大學生創(chuàng)新項目的支持。雖然整個項目的工程量較大,但不斷打磨可以完成。
二、需求分析
對于該項目的需求,總體分為三大部分——針對教師、日語學習者、服務端。教師主要包括閱卷、審查等功能;日語學習者包含了聽寫、上傳作業(yè)等功能;服務端需要對這些應用的功能提供對應的支持。
教師方面的功能在Web端實現(xiàn),包括修改題庫、添加題目、設置考試模式、查看日語學習者成績、分數(shù)變化趨勢等等,在Web上實現(xiàn)一個類似于后臺管理的頁面。
日語學習者方面的功能在手機上實現(xiàn),可以拉取最新的作業(yè),進行聽力訓練并提交答案,保留答題的歷史。
服務端作為整個應用的支撐需要完成對日語學習者數(shù)據(jù)的采集、日語學習者和教師資源的管理,還有對應的統(tǒng)計信息的功能,方便教師查閱。整體功能概括如表1所示。
三、概要設計
1.數(shù)據(jù)庫設計
后端服務運行在一臺服務器上作為整個系統(tǒng)的支撐,需要管理整個系統(tǒng)的用戶、學校、教師信息以及對應的作業(yè)管理的信息和成績,這些數(shù)據(jù)以典型的關系型數(shù)據(jù)庫MySQL來存儲,圖1展示了數(shù)據(jù)庫的關系設計圖。
題庫和每個日語學習者的作業(yè)都是一一映射的,添加和修改題庫通過一個全局對象來存儲,每個日語學習者有自己單獨的作業(yè)副本,這些副本的屬性相對于全局的作業(yè)來說,多了日語學習者對作業(yè)的完成情況和對應作業(yè)的成績。作業(yè)可以重復發(fā)布,有利于教師重復利用題庫,所以將作業(yè)分為兩類——存儲在題庫中的題目和布置給日語學習者的每日作業(yè),統(tǒng)計成績時依據(jù)該日語學習者的每日作業(yè)來計算對應的數(shù)據(jù)。如果要達到更強的針對性可以添加班級、學校對象來進行更加細致的作業(yè)劃分,這樣作業(yè)可以按照班級和日期來投放,有利于分類和管理。
2.交互設計
除此之外,整個系統(tǒng)的時序交互重點在日語學習者的學習交互、教師的管理和統(tǒng)計事件上,圖2展示不同業(yè)務對應事件的時序關系。
日語學習者交互主要是更新手機端布置的聽力材料并及時完成對應的訓練,把答案提交以后,遠程服務器會同步更新內(nèi)容并統(tǒng)計相應的數(shù)據(jù),而教師則可以管理對應的題庫,查看學生成績和分發(fā)每日作業(yè),主要的流程按照這樣的時序進行。
3.技術架構
(1)Web端
后端采取ThinkPHP這款PHP Web框架,該框架是中國技術人員開發(fā)的,有豐富的文檔和案例,便于新手上手,其次該款框架設計優(yōu)良,適合本應用,該框架整體遵循MVC(見圖3)原則即模型(Model)、視圖(View)、控制器(Controller),模型這一層主要和上面提到的數(shù)據(jù)庫打交道,負責對原始的數(shù)據(jù)庫操作進行封裝,利用ORM(Object Relational Mapping,面向?qū)ο笥成浼夹g),將這些純粹的SQL數(shù)據(jù)庫查詢語句封裝成相應數(shù)據(jù)對象的方法,比如日語學習者的添加,可以作為日語學習者類的一個方法,這樣就能在數(shù)據(jù)操作上和其他的部分相互解耦,提高程序的可擴展性。視圖部分采取ThinkPHP自帶的模板引擎,能夠提高網(wǎng)頁內(nèi)容的重用率,同時可以節(jié)省重復開發(fā)的時間,另外能夠做到動態(tài)顯示相應的數(shù)據(jù),模板引擎依賴于數(shù)據(jù)層的數(shù)據(jù),通過邏輯操作以顯示相應的界面內(nèi)容。
這是從Web的角度出發(fā),因為整個管理系統(tǒng)搭建在Web上。但是整個服務的主體還是手機應用,所以作為服務端,必要的應用層的接口是要存在的,而框架也有對應的數(shù)據(jù)封裝,能夠很好地承載數(shù)據(jù)的請求,控制承擔Web界面和手機應用后臺請求的路由以及相應請求處理的主體,通過程序的主要流程都在控制器內(nèi)完成,包括作業(yè)文件存儲、成績統(tǒng)計等類似的輸入輸出操作和CPU計算操作。
(2)移動端
手機應用使用傳統(tǒng)原生的Android開發(fā)工具鏈,使用Java語言進行開發(fā),當中也采取了一定的開源UI框架,涉及ListView、Button控件和網(wǎng)絡傳輸庫等。使用優(yōu)秀的開源框架大大縮短開發(fā)時間,可以將精力集中在業(yè)務邏輯主體上,而不用過多擔心細枝末節(jié),但是相應的代價是要熟悉一套新的API,這個學習曲線相對于不用庫的曲線會更大,而且產(chǎn)生的問題在自己不熟悉的領域很難第一時間捕捉并解決掉。進行一定的權衡,使用開源框架優(yōu)于重復純手工完成所有工作。
一些優(yōu)秀的開源Android庫可以參考Github上面的一個索引,里面包括了大量的UI庫和網(wǎng)絡工具庫以及圖形庫,可以挑選適合自己的庫來進行開發(fā)。[4]本應用主要采用的是里面的ListView類庫和http工具庫。ListView類庫主要為了實現(xiàn)手機應用的主要界面的列表內(nèi)容,網(wǎng)絡庫則是用于與服務器溝通。與服務器的通信方式采用HTTP,并且數(shù)據(jù)格式按照JSON的格式傳輸,前后端統(tǒng)一格式和方法以后,就可以采取統(tǒng)一的約定進行開發(fā)。
要注意的是,該應用的幾個關鍵點技術或者邏輯有音頻的播放以及相應的作業(yè)數(shù)據(jù)同步。音頻播放需要考慮具體的網(wǎng)絡環(huán)境,比如連接的是內(nèi)網(wǎng)的話,網(wǎng)絡狀態(tài)比較好可以采取在線播放,這樣可以節(jié)省APP的存儲代價,但是又要提供下載的接口方便本地重復播放,這樣設計網(wǎng)絡接口的時候就要提供兩種模式,這在手機端需要資源播放設置不同模式,音頻的在線播放在服務端是基于HTTP協(xié)議的Range頭信息,只要服務器能夠支持斷點續(xù)傳,那么手機就可以實現(xiàn)在線播放。
四、集成測試
引用百度百科來說:集成測試[5],也叫組裝測試或聯(lián)合測試。在單元測試的基礎上,將所有模塊按照設計要求(如根據(jù)結構圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。實踐表明,一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常工作。一些局部反映不出來的問題,在全局上很可能暴露出來。
早期所有的代碼需要經(jīng)過單元測試,也就是寫相應的測試用例來保證一個函數(shù)或者一個模塊的可用性,集成測試則是將所有模塊組合在一起進行測試,這個過程是交付驗收之前必須經(jīng)歷的過程。在校園環(huán)境下,很大程度依賴于實際試用期反應的問題,同時結合一些自動化測試的方法來進行一些主要功能可用性的測試,經(jīng)過一段時間的試用期和自動化測試后,該產(chǎn)品相對來說可以得到很大保障,能夠維持穩(wěn)定運行。
在集成測試之前,在代碼上加入了單元測試,保證每個模塊在解耦的同時能夠保持可用性,為下個階段的集成測試做準備。單元測試主要集中測試了,Web網(wǎng)頁的網(wǎng)絡請求是否可達、管理平臺上對于作業(yè)的增刪改查是否有效、郵件注冊是否成功、聽力文件是否能夠和數(shù)據(jù)庫同步而不產(chǎn)生錯誤等一系列功能,具體體現(xiàn)在必要的自動化測試的代碼上,用測試代碼測試實現(xiàn)代碼。
在初步完成項目的代碼實現(xiàn)之后,需要進行集成測試。集成測試首先一部分是在項目上線的工程中,人工模擬各個流程,不僅僅是成功的流程,應該嘗試可能發(fā)生的不同情況,包括極限測試、壓力測試等等,例如上傳的文件是否進行了格式檢查、是否禁止了非選項內(nèi)答案的上傳、是否限制了文件的大小、是否在斷網(wǎng)的情況下產(chǎn)生提示、使用流量的時候是否可行等等,這些都是生產(chǎn)條件下可能沒有考慮的問題,都要在實際的測試當中發(fā)現(xiàn)。在完成了集成測試以后,需要對代碼進行必要的修改,以防止錯誤的情況在真實的生產(chǎn)環(huán)境中使用。
五、結語
該應用的開發(fā)能夠輔助傳統(tǒng)的課堂聽力教學,為學生高效利用零散的時間進行聽力練習提供便捷的平臺,有效促進日語學習。但是整個實現(xiàn)過程做了一些嘗試,也走了很多彎路,比如Android原生應用的優(yōu)點在于使用原生接口,運行效果可以得到保障,但是跨平臺卻難以實現(xiàn),最初設計應該綜合考慮應用的移植,例如將該應用遷移到微信平臺[6]上,或者使用跨平臺的技術[7],例如PhoneGap(現(xiàn)Cordova),或者讓Web應用依賴內(nèi)嵌瀏覽器的方法來達到兼容IOS和WP的目的,最初的原型設計就應該綜合考慮這些因素。在時間和人力有限的條件下,很難像互聯(lián)網(wǎng)公司一樣針對多個平臺均開發(fā)原生的應用,如果較早采取有效的跨平臺方法,可以免去很多后顧之憂。
參考文獻:
[1]賈積有.高性價比的便攜式智能電子學伴及其在傳統(tǒng)教室的應用探討[J].中國電化教育, 2012(3):120-126.
[2]劉玉琴,江波,姜國海.移動終端輔助日語發(fā)音學習軟件的設計與實現(xiàn)[J].中小學電教, 2014(10):68-70.
[3]張寶,陳穎.利用App Inventor制作中小學安卓平臺學習資源實例分析[J].中小學信息技術教育,2014(6).
[4]優(yōu)秀Android開源項目集合 [DB/OL].https://github.com/Trinea/android-open-project.
[5]百度百科[EB/OL].http://baike.baidu.com/view/106652.htm.
[6]張志禎.移動學習的跨平臺開發(fā)技術[J].中國教育網(wǎng)絡,2013(6):29-32.
[7]姚壵.基于微信平臺的任務型對外漢語聽說課教學初探[R].數(shù)字化漢語教學(第九屆中文教學現(xiàn)代化國際研討會),2014.7:313-318.
(編輯:王天鵬)