羅培中
【摘 要】目前部分獨立學院存在師資力量不足,學生對傳統的英語單詞學習方法厭倦等問題,開發一套能夠適應獨立學院學生單詞學習的系統有較高的實用意義。我們結合獨立學院的特點,采用開源軟件Spring、Hibernate、Jquery等技術開發了一套英語單詞學習軟件,實現了系統基本信息批量導入導出、考試自動組卷、成績自動批改、學生自主練習等單詞學習功能,能夠滿足高并發考試的需求。通過壓力測試,教師、學生實際使用,效果良好。
【關鍵詞】獨立學院;英語單詞;學習系統
單詞學習是英語學習中最重要的一環,目前部分獨立學院存在師資力量不足,學生對傳統的英語單詞學習方法厭倦等問題,已有的單詞學習軟件內容與獨立學院英語教學的內容不一致,沒有專門的針對獨立學院學生的英語單詞學習系統。為了解決這一問題,通過總結多年教學活動實踐經驗,開發一套能夠適應獨立學院學生的單詞學習的“教”與“學”的單詞學習系統有較高的實用意義。
一、獨立學院英語單詞學習系統開發
(一)系統開發的需求
我們結合獨立學院的特點,對英語單詞學習系統進行了詳細的系統功能分析,選擇使用開源軟件Spring、Hibernate、Jquery等技術進行開發英語單詞學習軟件。主要從以下幾個方面滿足系統功能需求:
1.批量導入數據功能
批量導入數據功能可以批量導入單詞學習系統所需的班級信息、學生信息、教師信息、管理員信息、題庫信息、題目信息等基本信息。解決這些信息分布在各個不同的應用系統中,數據格式、數據結構等諸多不一致等問題,這樣可以降低獨立學院教師的工作強度,提高工作效率。
2.自動組卷功能
自動組卷功能,同時支持計算機抽題和人工出題方式,教師可以選擇不同的單詞試題難度、所屬單元等條件,為不同班級的學生,指定英語單詞題目,完成自動組卷任務。
3.自動批改功能
自動批改是指當學生完成答題后,由計算機根據不同題型自動批改試卷。該功能設置自動批改選擇題、判斷題的正確率達到100%,完型填空等簡單類型主觀題正確率達到95%。在計算進自動批改后,為了保證批改的正確性,還可由教師進行人工校對或人工批改。
4.學生練習功能
學生練習是指學生可以從不同難度的題庫中自行抽取不同類型的題目進行練習,系統自動判斷學生練習結果,對提高英語單詞學習的重復率和提高學生的學習興趣有很好的作用。
5.高并發需求
單詞學習系統按全校統一組織英語單詞考試測算,要能滿足3000學生同時在線考試的要求,以學生登錄系統為例:當3000學生同時登錄,按每個學生30K的網絡數據傳輸量計算,將產生大約90M網絡數據傳輸量,將產生大約1分鐘的延時,這樣就會存在部分學生登陸超時的問題。另外系統要求能每秒并發批改60個學生提交的試卷,這對服務器的CPU資源是一個較大的壓力,所以在系統架構設計的時候必須充分考慮并發需求。
(二)系統架構的選擇
英語單詞系統需實現批量導入、自動組卷、自動批改、高并發等需求,為了實現以上需求,我們引入了MVC的架構開發思想,使用了hibernate、spring、jquery等開源軟件實現。同時為了減少系統的前期投入,我們使用了虛擬化服務器,并對虛擬化設備所在的網絡流量負載和服務器資源占用都進行了優化,提升了系統運行的效率。此外,為了應對高并發的學生登錄、試卷提交的情況,我們使用了encache等對象緩存技術,在數據庫和應用層均使用緩存方式增強了系統的并發性能。
二、獨立學院英語單詞學習系統實現
(一)Hibernate模型組件開發
針對數據持久化的問題,我們使用了Hibernate作為持久化框架,該框架可以根據數據定義語言自動生成相應的實體類和操作類。其優勢在于對SQL語言的事物處理、數據庫的連接超時機制管理的編程比較方便,可以使用annotation進行配置,極大的降低了開發難度。因為我們在系統批改試卷時使用了mysql的一些臨時表,而hibernate對Mysql數據庫的臨時表不能實現熱配置,為了解決這一問題,我們對hibernate框架的源代碼進行了一些修改,實現了臨時表創建、刪除、修改和插入數據時hibernate的配置文件的動態映射機制。
(二)Spring業務邏輯組件開發
Spring作為當今較流行的web開發框架,目前實現了MVC架構的所有層次,為了簡化開發,我們只使用了Spring AOP和Spring Bean實現業務邏輯,具有面向切面編程思想的Spring AOP可以方便解決用戶登錄、字符編碼等問題,Spring Bean實現的業務邏輯在使用了面向對象編程思想,并且使每個業務邏輯對應一個函數,極大的提高了開發效率和降低了測試難度。為了同時兼容PC、手機平臺,我們規定所有的業務邏輯函數都使用Json格式通信。為了降低系統并發帶來的系統負擔,我們在spring層也采用了緩存技術,實現針對大數據量訪問的不同業務對象進行緩存。
(三)Jquery界面組件開發
在視圖層我們使用了Jquery對Json格式數據進行解析,同時Jquery對操作網頁元素非常方便,特別是Jquery的過濾器功能,能夠批量選擇我們需要的多個元素。為了解決Jquery在首次訪問英語單詞系統的時候需要下載35k的數據,而導致學生開始考試時網絡數據流量較大問題,我們在Jquery官網上對Jquery進行了定制化的裁剪。同時采用Nginx服務器負載均衡,部署多個Jquery下載站點。
三、獨立學院英語單詞學習系統測試
因為該系統將同時支撐全校3000學生英語單詞期末測試,一旦在考試過程中出現系統宕機等問題將造成較大的影響。而同時組織如此大規模的人工測試并不現實,為了驗證系統的正確性,保證系統在考試中能夠正常使用,我們在開發之前,就針對所有的業務邏輯功能開發了相應的單元測試模塊。后來發現,這種做法減少了集成測試和確認測試過程中的工作量。在開發管理的過程中,因為我們項目組由6個成員組成,開發水平不盡一致,所以我們在整個系統開發過程中使用了持續集成的概念,搭建了jenkins持續集成服務器,規定項目組所有成員每次提交代碼必須通過相應的單元測試,體現了敏捷開發中的測試先行的原則。在系統確認測試的過程中,使用loader runner等工具,錄制模擬登錄腳本和考試過程提交腳本,并對其進行了壓力測試。這些測試腳本模擬了在高并發和網絡延時大的情況下系統的工作狀態,找到薄弱環節進行修正。
四、結語
綜上所述,該系統的開發解決了獨立學院英語單詞“教”與“學”中具體存在的問題。通過測試,并實際使用,得到教師、學生的良好反饋。當然,該系統還存在一些問題,例如不支持手寫輸入等功能,將有待再進一步開發、完善。
【參考文獻】
[1]詹海寶,張立國. 大學英語詞匯鎖屏移動學習軟件的設計與應用[J]. 中國遠程教育,2015,(04):43-48.
[2]張蓉. 英語單詞系統設計與開發[J]. 電子測試,2014,(16):8-10.
[3]胡一平,高佳佳,陸宏. 英語詞匯自適應測試系統中詞匯難度的判定[J]. 現代教育技術,2016,(03):100-106.
[4]鄔顯豪,徐彬凌,胡大川,錢誠,韓戴鴻. 基于J2EE架構電子政務系統的研究和開發研究[J]. 電子技術與軟件工程,2016,(12):81.