李 楠,張 燕,趙宇軒,肖曉霞
(湖南中醫(yī)藥大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410208)
《中醫(yī)診斷學(xué)》是中醫(yī)相關(guān)專業(yè)學(xué)生的一門必修課程,學(xué)生在學(xué)習(xí)過程中不僅要學(xué)習(xí)望聞問切四診法,還要建立唯物辨證思想,熟練掌握診察病情、判斷病證的方法和技能。其內(nèi)容抽象、重點繁瑣,學(xué)生在學(xué)習(xí)過程中較難掌握課程的核心思想,經(jīng)過死記硬背后的學(xué)習(xí)效果甚微。[1]根據(jù)對大學(xué)生移動學(xué)習(xí)的需求分析,開發(fā)一款有效學(xué)習(xí)《中醫(yī)診斷學(xué)》、提升用戶體驗度、促進中醫(yī)學(xué)子交流的移動端平臺企足而待。因此,本文的主要目的是開發(fā)一套能夠輔助學(xué)生用戶進行《中醫(yī)診斷學(xué)》課程學(xué)習(xí),滿足學(xué)生隨時隨地的學(xué)習(xí)需求,方便教師和學(xué)生進行交流的移動學(xué)習(xí)系統(tǒng)。
國外移動學(xué)習(xí)主要集中在歐洲和北美部分發(fā)達國家。國外的移動學(xué)習(xí)研究項目包括:應(yīng)用于中小學(xué)教育領(lǐng)域的歐洲Learning2GO項目,把課堂學(xué)習(xí)延伸到了戶外;[2]瑞典Vaxjo大學(xué)用Java和XML技術(shù)開發(fā)的C-Notes項目支持學(xué)生移動協(xié)作學(xué)習(xí);[3]芬蘭赫爾辛基大學(xué)的移動學(xué)習(xí)項目UniWap為學(xué)習(xí)者和教師提供了一個可操作的移動學(xué)習(xí)環(huán)境,學(xué)習(xí)者和教師能夠通過智能手機隨時隨地訪問教學(xué)和學(xué)習(xí)資源;斯坦福大學(xué)學(xué)習(xí)實驗室(SLL)針對語言學(xué)習(xí),開發(fā)出了移動學(xué)習(xí)模塊,其模塊包括了單詞、測驗和生詞訓(xùn)練等功能,并且每個模塊的持續(xù)時間被控制在30s-10min之間;[4]新墨西哥大學(xué)開發(fā)的Mentira是一款結(jié)合GPS并貼近真實社會的游戲,使用者在游戲里與人物進行交流,從而提高使用者的西班牙語交流能力[5]等。
國內(nèi)的移動學(xué)習(xí)研究相對國外起步較晚,但在最近幾年也取得了不錯的成就。如:應(yīng)用于英語學(xué)習(xí)領(lǐng)域的百詞斬、扇貝單詞;實現(xiàn)資源共享,提供快捷問答交互功能的百度作業(yè)幫、學(xué)霸君;提供豐富課程資源的在線移動課堂滬江網(wǎng)校、網(wǎng)易云課堂;為社會考試而生的提分利器駕考寶典、粉筆公考等。
從上述的研究實例可以看出,移動學(xué)習(xí)的研究范圍已經(jīng)應(yīng)用到基礎(chǔ)教育、高校教育的補充、社會考試等領(lǐng)域,可以說是非常廣泛。但目前市場上應(yīng)用于中醫(yī)學(xué)習(xí)方面的移動學(xué)習(xí)系統(tǒng)還比較少,特別是只針對《中醫(yī)診斷學(xué)》的移動學(xué)習(xí)系統(tǒng)幾乎沒有,所以積極開展《中醫(yī)診斷學(xué)》課程移動學(xué)習(xí)系統(tǒng)的研究尤為必要。
結(jié)合不同操作系統(tǒng)的移動終端使用量,選擇Android這一開源的開發(fā)平臺進行開發(fā)?!吨嗅t(yī)診斷學(xué)》師生交互式智能學(xué)習(xí)系統(tǒng) (以下稱為“中診學(xué)習(xí)小助手”)面向的主要用戶是中醫(yī)院校的教師和學(xué)生,我們通過發(fā)放問卷、訪談的方式,結(jié)合國內(nèi)外先進的學(xué)習(xí)理念以及當前學(xué)習(xí)類App的特點,總結(jié)出學(xué)生的學(xué)習(xí)需求、教師的教學(xué)需求。
學(xué)生的學(xué)習(xí)需求主要為視頻學(xué)習(xí)、習(xí)題檢測和互動交流等。我們挖掘出以下5個功能:①系統(tǒng)學(xué)習(xí)。采用微課式教學(xué)方法,[6]基于中醫(yī)診斷學(xué)界泰斗朱文峰教授主講的《中醫(yī)診斷學(xué)》視頻資源,把視頻進行分解,劃分為相對獨立的知識模塊,每個學(xué)習(xí)視頻用10min-15min來闡述一個獨立小知識點,有助于學(xué)生利用碎片時間隨時學(xué)習(xí),提高學(xué)習(xí)效率。另外,每個視頻還應(yīng)配有知識概要、入門習(xí)題以及可供下載的資源。②名師講解。這是中醫(yī)診斷學(xué)系統(tǒng)理論的擴展部分,采用視頻學(xué)習(xí)的方式,視頻內(nèi)容可以是名師的教學(xué)心得、病案分析、中醫(yī)診斷學(xué)的現(xiàn)代研究進展等,用于擴充學(xué)生的知識面。③習(xí)題檢測。應(yīng)提供進階練習(xí):入門習(xí)題對應(yīng)于系統(tǒng)學(xué)習(xí)模塊的每個視頻,即每個知識點;精通習(xí)題采用遺傳算法進行智能組卷,根據(jù)用戶選擇的難易程度組出更適合學(xué)生的個性化試卷,這也是本系統(tǒng)的亮點之一;大師習(xí)題是看圖辯證的習(xí)題,由于辯證是一個動態(tài)的過程,所以該處習(xí)題的圖片采用的是GIF動圖。④你問我答。給學(xué)生和教師提供交流社區(qū),以發(fā)帖的形式提出問題、解答問題、分享學(xué)習(xí)經(jīng)驗和心得。⑤個人中心。學(xué)生用戶可以在此對個人信息進行管理。
教師的教學(xué)需求主要為查看學(xué)生學(xué)習(xí)情況、互動交流、分享資源等。我們挖掘出以下3個功能:①查看學(xué)生學(xué)習(xí)情況。以柱狀圖和餅狀圖的形式展示學(xué)生的學(xué)習(xí)情況,一目了然。②你問我答。該功能同學(xué)生用戶的你問我答。③個人中心。對教師來說,在此模塊除了能對個人信息進行管理外,還提供了上傳資源的功能,實現(xiàn)資源共享。
本系統(tǒng)還需設(shè)置后臺管理員,后臺管理員通過后臺管理系統(tǒng)實現(xiàn)對用戶、視頻、題庫、問答資源的管理。
圖1 系統(tǒng)功能模塊圖
(1)系統(tǒng)功能模塊設(shè)計
中診學(xué)習(xí)小助手分為學(xué)生端App、教師端App以及后臺管理系統(tǒng)3個子系統(tǒng),分別針對學(xué)生、教師、管理員三種不同的用戶。
學(xué)生端App分為名師講解、系統(tǒng)學(xué)習(xí)、習(xí)題檢測、你問我答、個人中心5個功能模塊;教師端App分為查看學(xué)生學(xué)習(xí)情況、你問我答、個人中心3個功能模塊;后臺管理系統(tǒng)分為用戶管理、視頻資源管理、題庫資源管理、問答資源管理4個功能模塊。其中,每個模塊實現(xiàn)不同的功能,模塊與模塊之間有一定的聯(lián)系,使用者可以根據(jù)自己的需求選擇相應(yīng)的模塊使用系統(tǒng)。系統(tǒng)的功能模塊圖如圖1所示。
(2)技術(shù)架構(gòu)設(shè)計
本系統(tǒng)的學(xué)生端App、教師端App與服務(wù)器端進行交互,是基于C/S架構(gòu)的智能學(xué)習(xí)平臺,后臺管理系統(tǒng)通過瀏覽器與服務(wù)器端進行交互,即B/S架構(gòu)。在系統(tǒng)的整體設(shè)計上,采用兩種架構(gòu)結(jié)合的方式——擴展化的B/S架構(gòu)。[7]
系統(tǒng)分為終端層、服務(wù)器端接入層、服務(wù)器端業(yè)務(wù)層、服務(wù)器端數(shù)據(jù)層。通過這種分層的形式,實現(xiàn)了前后端的分離,降低了各層之間的耦合度,使得代碼更加簡潔,同時也便于系統(tǒng)后期的優(yōu)化和維護工作。本系統(tǒng)的終端有瀏覽器終端和移動終端兩種類型,用于顯示界面、向服務(wù)器發(fā)送請求;服務(wù)器端接入層主要負責接收終端的請求以及給終端發(fā)送響應(yīng);服務(wù)器端業(yè)務(wù)層用于處理各種業(yè)務(wù)邏輯;服務(wù)器端數(shù)據(jù)層與數(shù)據(jù)庫進行交互,為上層提供數(shù)據(jù)訪問服務(wù)。為了提高代碼的復(fù)用度,每一層都將提供一個通用的接口Java實現(xiàn)類。
終端與服務(wù)器的通訊采用HTTP協(xié)議,用Servlet技術(shù)接收或響應(yīng)請求,JSON作為數(shù)據(jù)傳輸?shù)母袷?。針對通信安全的問題,采用MD5數(shù)據(jù)加密算法對私密信息進行加密處理。
(3)數(shù)據(jù)庫設(shè)計
系統(tǒng)采用SQL Server 2005數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的存儲。系統(tǒng)數(shù)據(jù)庫包括用戶表、章表、視頻表、習(xí)題表、問題表、回答表、錯題表、資源表。
數(shù)據(jù)庫中存在以下實體類:用戶、視頻、習(xí)題、問題、回答、資源等,這些實體中存在“一對一”“一對多”以及“多對多”的關(guān)系。在設(shè)計表結(jié)構(gòu)時,把存在“一對一”關(guān)系的放在一張表中,存在“一對多”關(guān)系的拆分在兩張表中,對于“多對多”的實體,建立一張中間表,將其拆分成“一對一”和“一對多”的關(guān)系。
本著建立冗余較小、結(jié)構(gòu)合理的數(shù)據(jù)庫的原則,在設(shè)計數(shù)據(jù)庫時遵循了三大范式:①數(shù)據(jù)庫中的每張表的每一個字段都保證了其原子性,滿足了第一范式。②數(shù)據(jù)庫中的每張表的每一個字段都和所在表的主鍵相關(guān),而不能僅滿足主鍵的一部分,即一個表中只能保存一種數(shù)據(jù),如有多種數(shù)據(jù)應(yīng)進行拆分,用多張表進行存儲,這就滿足了第二范式。③數(shù)據(jù)庫中的每一張表的每一個字段都和主鍵直接相關(guān),而不能間接相關(guān),滿足第三范式。另外,考慮到在查詢數(shù)據(jù)時的性能,適當增加了一些數(shù)據(jù)冗余,以達到時間性能的要求。
Android客戶端與服務(wù)器端數(shù)據(jù)交互的主要工作流程為:Android客戶端通過HTTP協(xié)議,采用POST或者GET方法向服務(wù)器提交數(shù)據(jù)請求。服務(wù)器將數(shù)據(jù)請求通過服務(wù)器的Servlet子類HttpServlet對象提交給服務(wù)器的業(yè)務(wù)邏輯部分處理,服務(wù)器的業(yè)務(wù)邏輯部分根據(jù)Android客戶端的要求進行運算,將運算的結(jié)果封裝成JSON格式,再通過服務(wù)器端的HttpServlet響應(yīng)到Android客戶端。Android客戶端將接收到的JSON格式的數(shù)據(jù)進行解析后顯示在UI界面上。[8-10]
通過服務(wù)器端的授權(quán)訪問,采用HTTP協(xié)議從服務(wù)器獲取課程視頻的資源路徑,并使用Vitamio框架,通過調(diào)用其提供的接口,訪問資源路徑進行視頻播放。
在設(shè)計系統(tǒng)時,在習(xí)題檢測的精通模塊,要求進行智能組卷,試卷要滿足用戶的難度需求,區(qū)分度高。針對這樣的多目標多約束求最優(yōu)解問題,分析了多種算法,發(fā)現(xiàn)遺傳算法非常適合解決此類問題。
遺傳算法的過程類似于基因演化:①隨機產(chǎn)生N個個體作為初始種群,設(shè)置最大迭代次數(shù);②計算個體適應(yīng)度,如果個體適應(yīng)度符合期望值或迭代次數(shù)達到最大值,則輸出最優(yōu)解并結(jié)束,否則進入下一步;③依據(jù)適應(yīng)度、采用輪盤賭的方式選擇父代個體;④按照一定的交叉概率和交叉方法生成新的子代;⑤按照一定的變異概率和變異方法生成新的子代;⑥交叉和變異產(chǎn)生了新一代的種群,返回到步驟②。其流程圖如圖2所示。
考慮到使用傳統(tǒng)的遺傳算法進行組卷時會出現(xiàn)迭代后期效率慢、易陷入局部最優(yōu)等問題,本系統(tǒng)在設(shè)計時對遺傳算法進行了一些改進。在編碼時,采用了分段實數(shù)的編碼方案;在執(zhí)行選擇操作時,融入了精英保留策略;在執(zhí)行交叉操作時,采用了分段單點交叉的方式。
圖2 遺傳算法的流程圖
學(xué)生端App和教師端App使用魅族MX5手機安裝直接運行進行測試,測試機參數(shù)見表1。后臺管理系統(tǒng)采用Google瀏覽器訪問網(wǎng)站運行進行測試。測試用例及結(jié)果見表2。
表1 測試機性能參數(shù)表
表2 測試用例表
測試結(jié)果表明,各個模塊的功能基本實現(xiàn)。在測試過程中,系統(tǒng)沒有出現(xiàn)崩潰的情況,性能良好,能夠滿足學(xué)生的學(xué)習(xí)需求和教師的教學(xué)需求。
本文針對《中醫(yī)診斷學(xué)》內(nèi)容抽象、重點繁瑣的特點,從移動學(xué)習(xí)的理論入手,對系統(tǒng)進行需求分析、總體設(shè)計和關(guān)鍵技術(shù)研究,使用Android Studio和MyEclipse開發(fā)了一套基于Android系統(tǒng)的《中醫(yī)診斷學(xué)》課程移動學(xué)習(xí)系統(tǒng),為中醫(yī)專業(yè)學(xué)生的學(xué)習(xí)提供了科學(xué)有效的資源、方法,給學(xué)生和教師提供更好的學(xué)習(xí)交流平臺,有助于提高學(xué)生的學(xué)習(xí)效率和學(xué)習(xí)效果。另外,本文采用的設(shè)計理念和實現(xiàn)方法符合移動學(xué)習(xí)系統(tǒng)的設(shè)計原則,適合大多數(shù)課程的學(xué)習(xí)情況。只需少量修改即可運用于其他課程或?qū)W科的學(xué)習(xí),具有一定的實用和參考價值。但由于時間和技術(shù)等原因,本系統(tǒng)的智能組卷模塊還未完整實現(xiàn),這是系統(tǒng)下一步需要完善的部分。