□張毅
以DRUPAL構建基于網絡的畢業設計輔導系統
□張毅
畢業設計輔導是遠程教育中學生完成畢業設計的重要環節,本文從學生的角度對畢業設計輔導系統進行全面的分析與設計,選取開源的DRUPAL系統框架,充分利用該系統全模塊化的優勢來實現基于網絡的畢業設計輔導系統的復雜功能,從而對遠程教育畢業設計提供支持服務。
畢業設計;輔助系統;Drupal
畢業設計是遠程教育中的重要的一環,利用網絡開展畢業設計輔導是遠程教育學習支持服務中關注的熱點。傳統的遠程教育畢業設計輔導系統功能簡單,大多只有信息發布和查詢、提交等相關功能,對學生完成畢業設計(論文)過程的直接輔導很少。真正的面向學生的輔導系統功能應多樣化,而且操作便利。本文使用UML中的用例(Use Case),站在學習者的角度對輔導過程加以分析。系統的參與者包括:STU(做畢業設計的學生)、TUTOR(論文指導老師)、ACD(教學管理員)如圖1所示:

圖1 遠程教育畢業設計輔導系統例圖
與STU相關的用例有5個,分別是寫作、參考資料下載、知識記錄、特殊工具應用和交流用例,用例寫作包括兩個子例是分別是寫開題報告與撰寫論文。另外有四個擴展用例,分別是開題報告的擴展用例即提交開題報告、參考資料下載的擴展用例即資料搜索,知識記錄的擴展用例即Feed聚合和移動學習。與TUTOR相關的用例是交流,交流有三個子例分別對應著對開題報告的交流、論文撰寫過程中的交流和學生與學生的交流。與教學管理人員相關的用例是查收開題報告和查看師生之間交流情況。
本研究的畢業設計輔導支持系統采用B/S結構以適應遠程教育的要求。通過Internet,學生可以在不同地點,以不同網絡接入方式請求服務,所有數據都保持到服務器端,方便學生隨時訪問,系統提供的各種服務和資源可隨時共享,具有易用性、共享性、安全性和靈活性的特點。系統采用三層架構有利于系統標準化,有利于各層邏輯的復用,開發人員只需關注所在的那一層,容易用新的技術實現來更換原來實現的部分。輔導系統的設計包括資源子系統、學生子系統和教師子系統三部分,系統結構如圖2所示:

圖2 輔導系統結構圖
Drupal是一個基于PHP語言的內容管理系統,與一般的學習管理系統不同,它是一個高度模塊化的開源Web內容管理系統,重點建立在合作之上,是一個可擴展的,適應標準的,保持簡潔代碼和較小腳本的系統。[1]Drupal的所有文本數據以及圖形、音頻等其它文件類型的文本指針都以數據庫的形式儲存,用戶可以通過瀏覽器對Drupal發送請求,而Drupal則動態的從數據庫中讀取數據生成靜態網頁發送給用戶。Drupal的功能異常強大,幾乎可以完成任何你想讓它完成的事情,Drupal高度模組化的設計提供極大的彈性,它甚至被開發人員視為一種開發框架。
Drupal的系統所設置的一般功能包括:聯合協作文檔編寫 (CollaborativeBook)、友好 URL(Friendly URLs)、模塊(Modules)、個性化(Personalization)、基于許可權限的用戶組管理系統(Role based permission system)、內容索引及搜索(Searching)等。Drupal強大的功能在于支持模塊擴展,正因為有了它,可以實現想到的任何應用。此外, Drupal擁有強大的在線幫助系統以及完善的文檔庫,并且Drupal是完全開源的,Drupal基于GPL許可發布,所以任何人都可以修改它、再發布它、使用它。
Drupal配合Mysql和Apache應用較多,穩定性和兼容性得到國內外許多應用的證實,Drupal的整體架構符合軟件架構體系中的三層架構思想。
1.畢業設計輔導系統的Mysql數據庫實現
畢業設計輔導系統為學生、老師提供個性化的支持,幫助學生高質量、高效地完成論文。系統采用完全模塊化的Drupal框架,所涉及到的數據表較多,主要包括資源子系統、學生個人頁面及教師個人頁面,各個模塊功能與數據庫表相互對應(如圖3所示)。
圖3 中三大模塊的每一個功能并非完全獨立,它們之間相互協調工作,有些功能對應數據庫中的一類表而不是一個數據表。為了方便設計與操作,人為將其劃分出來。Drupal采用mysql數據庫,在數據字段命名上有其自己的規范,除了上圖所描述的數據表以外,系統還自帶一套邏輯表。Drupal系統默認安裝了許多底層數據表,在實現時需結合對應的數據字典修改相應的數據表。

圖3 模塊功能與數據庫表相互對應圖
2.資源子系統的實現
資源子系統是畢業設計輔導系統的重要組成部分,資源來源包括教師提供的相關資料、案例分析和例文等。外部鏈接資源庫包括:高校數字化圖書館,外部擴展搜索(如:Google學術),站內搜索,Feed聚合器搜集實時有用信息。資源系統為學生畢業設計(論文)提供多形式,多類別的資源,資源系統不是完全獨立的,而與其他子系統協同工作。
本系統支持每位教師為資源庫添加資源,在添加時候選擇分類,最后系統將所有分類資源呈現出來供學生參閱,學生可以根據上載資源時所設定的標簽來搜索自己所需的資源。本功能主要用到Drupal中常用模塊Taxonomy、CCK和Views。資源內容類型建立后,系統結合分類模塊設置術語標簽,再用Views將內容按需求呈現出來,添加后的資源匯總到分類資源庫,點擊資源庫導航欄中的條目進入資源分類展示頁面。
資源子系統中一個重要的功能是方便學生有效精確地檢索資源,資源搜索包括對系統內部資源的檢索和外接搜索引擎,例如:Baidu、Google及Yahoo。內部檢索利用Drupal系統的search模塊,外部檢索利用外部API接口。搜索功能與其他子系統協同工作。
Feed聚合器可以為學生聚合所需的信息,學生可以自己添加聚合的種子,如管理學專業的學生可以添加一個有feed種子的權威站點,系統會將聚合的信息發送到學生頁面,方便學生隨時查閱最新信息,為學生提供一個“活資源”。本功能的實現需綜合利用cck、views和aggregator模塊。
3.學生子系統的實現
學生個人頁面是學生接觸的主要頁面,在底層運行的是學生個人系統,包括學生寫作系統與個人管理系統。寫作系統提供在線寫作功能,應用的模塊包括CCK及其擴展模塊、Views及其擴展模塊、Books模塊。先利用CCK結合Book Page類型創建文章類型,再用創建新的Views來提取所需信息,并將其呈現給學生及教師。用文章類型創建的文章節點允許訪客訪問及評論,文章在導航欄中以章節的形式呈現大綱,訪問者可以靈活地定位到具體章節,在線寫作導航頁面效果如圖4所示:

圖4 在線寫作頁面圖
當學生對個人信息、文章、收藏論文、筆記本和所加入的學習共同體進行管理時,可以利用筆記本功能記錄零碎的信息,方便記錄論文撰寫過程的思路。筆記本功能由筆記系統支持,學生自己建立筆記節點。系統將節點統一存儲主要涉及到CCK及其擴展模塊、Views及其擴展模塊中。由CCK模塊結合Page類型創建筆記類型,用Views將學生創建的筆記類型節點顯示出來。在訪問控制方面,需要利用Flite模塊進行篩選。在個人管理系統中采用Author Pane用戶管理模塊、Flag Friend用戶關聯模塊和Flag Note書簽收藏模塊進行信息管理。
4.教師子系統的實現
教師個人頁面是教師指導學生完成畢業設計工作的主要活動場所,教師頁面由系統的教師子系統支撐,系統需要聚合每位教師指導的學生信息及論文情況,本研究主要采用評論的方式對學生論文進行評閱,教師與學生交流并提供指導性意見。教師指導界面如圖5所示:

圖5 教師指導頁面
與學生個人管理系統類似,教師子系統同樣集成了教師個人管理系統,管理教師個人信息和教師所指導的學生信息,并跟蹤學生的論文寫作進度。
5.交流功能的實現
交流功能是畢業設計輔導系統的關鍵性功能,本系統實現了同步和異步的交流功能,以多種交流方式來彌補師生間交流的不足。同步交流方面主要靈活利用第三方插件,教師與學生可以通過插件所提供的多種方式的交流如MSN、QQ、TM、Yahoo!、Skype等。
異步交流除了對學生的文章進行評論這種方式外,系統還設置了論壇討論區,能方便地將一些公共性問題設為主題開展討論。教師和學生都可以創建討論主題,并有權限對主題進行修改,這一功能主要應用了系統的forum模塊實現。
6.后臺管理實現
Drupal提供了靈活的后臺管理機制,管理員賬號具有最高權限,包括所有設置、創建及編輯權限。本研究通過對系統基本信息的設置和對Drupal中靈活的區塊設置,以構建方便簡潔的管理界面(如圖6)。
訪問控制也是本系統中較為重要的部分,系統所涉及的用戶角色較多,各種角色之間的區別較大,所擁有的權限也不盡相同。利用Drupal提供的權限群組管理,可以對不同角色權限進行整體設置或修改,也可以對特殊賬戶進行特殊處理。考慮到系統的安全性問題,可以制定相應的訪問規則,防止受到惡意攻擊。
Drupal后臺中可以很直接地管理上傳資源及查詢所有用戶的活動情況,方便教務管理老師監控導師與學生在做論文過程中指導過程的詳細情況。

圖6 用戶管理界面
本研究設計的網絡畢業設計輔導系統主要用于輔導網院學生基于Internet完成畢業設計。首先,系統為每位學生和導師分配獨立賬號,通過此賬號關聯學生個人頁面和導師個人頁面。同一個導師的學生連同他們的導師組成一個基于網絡的學習組,并通過本系統開展協作學習,學生登錄其個人頁面完成資料搜集與查詢,開題報告和各章節的寫作,并通過實時或非實時的方式與小組中其他同學交流。教師登錄其個人頁面可了解小組中學生當前論文的完成狀態,通過實時與非實時的方式指導學生研究,學生最終通過不斷的積累、討論、修改完成畢業設計。在完成畢業設計的整個過程,網院教學管理員通過后臺可查看所有學習組的狀態,實時跟蹤所有學習組的完成進度,為學習小組提供所需的學習支持服務。
本系統在中山大學網絡教育學院09級開展畢業設計階段,請50位學生試用本系統,筆者和中山大學6名教育技術學專業的研究生作為輔導老師開展輔導,組成6個學習組,列舉19個選題進行試用。系統在使用過程中通過平臺建立了意見反饋專貼,邀請試用者對系統功能及使用情況進行在線反饋。
調查表明,本研究設計的畢業設計輔導系統能有效滿足開展學生畢業設計輔導工作的要求,系統具有功能完備、先進性、可擴展性、開發靈便等特性,能較好實現核心功能。但使用中也發現一些體現個性化的功能尚未實現,原型所呈現出來的系統不夠完善,在界面上和功能上還有待改善。
網絡畢業設計輔導系統在設計上包含了Web2.0、移動學習、社會性學習的思想,Drupal高度模塊化開發給系統實現帶來很大便利,能完全實現所有設計的功能,所實現的系統具有功能完備的優勢,在輔導系統的使用中,可以不斷設計和改進新的模塊以增強其功能,具有極強的擴展性。Drupal還可用于教育領域的其它平臺建設,它為教師提供了各種有用的工具,如在線指導、協作學習、教學評價、資源庫、播客、虛擬實驗室等,需進一步挖掘其潛力。[2]
[1]John K.VanDyk.Pro Drupal Development(drupal 6.x用戶手冊)[Z].
[2]Bill Fitzgerald.Drupal for Education and E-Learning,[M].Birmingham,UK:Packt Publishing Ltd,2008.
G40-057
B
1009—458x(2012)02—0087—04
2011-10-30
張毅,碩士,工程師,廣東環境保護工程職業學院(528216)。
責任編輯 柯 南