【摘 要】Moodle系統(tǒng)從誕生之初就受到了全世界的關(guān)注,在信息化學(xué)習(xí)高速發(fā)展的今天Moodle系統(tǒng)更是持續(xù)更新。由于其開放源代碼的特性,使得全世界的Moodle系統(tǒng)支持者都可以為其進(jìn)行設(shè)計(jì)和開發(fā)。本文通過對Moodle系統(tǒng)的活動模塊進(jìn)行分析與開發(fā),從需求分析、接口設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)方面闡述了設(shè)計(jì)的成果。
【關(guān)鍵詞】Moodle系統(tǒng) 模塊開發(fā) 需求分析 接口設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)
Moodle系統(tǒng)是2002年由Martin Dougiamas創(chuàng)建的一個(gè)開源的網(wǎng)絡(luò)學(xué)習(xí)平臺,Moodle的運(yùn)行平臺為LAMP,四個(gè)字母分別代表著Linux、Apache,MySQL和PHP。由于他的開源性質(zhì),使其在全世界范圍極受歡迎[1]。
一、Moodle的功能模塊
(一)Moodle的整體特性。在Moodle平臺上使用的ADODB可以支持多種數(shù)據(jù)庫;在課程支持上可以進(jìn)行分類檢索;平臺保密性能極好;模塊化結(jié)構(gòu)種類豐富并且持續(xù)更新;方便教師跟蹤教學(xué)等[2]。
(二)網(wǎng)站管理。網(wǎng)站管理的主要功能是主體和語言的選擇。
(三)用戶管理。用戶管理方面可以通過高級權(quán)限設(shè)置低級權(quán)限用戶;在認(rèn)證機(jī)制方面可以提供多種選擇;通過權(quán)限的設(shè)置可以添加課程等;另外可以分別指定用戶界面的默認(rèn)語言;選擇時(shí)區(qū)等[3]。
(四)課程管理。教師可以對課程進(jìn)行設(shè)置;添加活動,包括測驗(yàn)、投票、作業(yè)以及討論等;在主頁顯示最新動態(tài);記錄用戶活動情況;打分等。
(五)作業(yè)模塊。教師可以設(shè)置作業(yè)期限以及分?jǐn)?shù)上限;學(xué)生可以上傳作業(yè);教師可以選擇打分或者重新提交。
(六)其他模塊。其他模塊主要是為了提供學(xué)生和教師的交流。
二、Moodle的功能模塊開發(fā)
(一)開發(fā)工具的選擇和編寫規(guī)則
1.開發(fā)工具。本文中以目標(biāo)設(shè)計(jì)活動模塊為例,開發(fā)工具選擇Zend studio、Dreamweaver和Xmlspy進(jìn)行開發(fā),運(yùn)行環(huán)境為windows xp+MySQL+Apache+php。
2.編寫規(guī)則。代碼文件必須使用擴(kuò)展名.php;模版文件使用擴(kuò)展名.html;保留版權(quán)聲明,特殊情況可以加入自己的版權(quán);必須包含主控文件config.php;不準(zhǔn)使用標(biāo)準(zhǔn)全局變量。
以上為基本規(guī)則,在不同要求下會有特殊規(guī)則存在。
(二)功能模塊的設(shè)計(jì)——以目標(biāo)設(shè)定活動模塊為例
1.需求分析
教師需求模塊:本模塊需要具有的功能有查看學(xué)生狀態(tài)分為三種:完成、取消和未完成;評論目標(biāo);修改目標(biāo)。學(xué)生需求模塊:本模塊需要具有的功能有設(shè)定目標(biāo);更新目標(biāo)狀態(tài)分為三種:完成、取消和未完成;查看評論。
2.接口設(shè)計(jì)
通過Moodle類庫中的admun.lib連接相關(guān)功能接口。
(1)數(shù)據(jù)庫的插入
接口的使用。數(shù)據(jù)庫采用的接口是../lib/admunlib.php文件內(nèi)定義的gade_aetivity_mudoles()函數(shù)。
插入方法。依照Moodle的xmIdb.dtd或xmIdb.xds來設(shè)計(jì)xmI文件,將其命名為instaII.xInI之后創(chuàng)建一個(gè)新的名為mod的文件夾,在mod文件夾下再新建db文件夾,將instaII.xmI文件放入,之后進(jìn)入管理員頁面,點(diǎn)擊notlflcetion,XML文件定義的數(shù)據(jù)對象將自動安裝到數(shù)據(jù)庫之中。
(2)設(shè)計(jì)頁面。 接口。定義繼承子類Moodlefrom,建立相關(guān)的主題。
實(shí)現(xiàn)方法。定義兩個(gè)php文件,分別命名為lb.php和from_hendlar.php,定義相關(guān)的類并輸出表單。
(3)權(quán)限。通過對具體環(huán)境的分次判定權(quán)限實(shí)現(xiàn)權(quán)限多次檢查,保證不會出現(xiàn)越權(quán)處理的情況。通過定義aceess.php,并放置于模塊文件目錄db下。通過aceess.php定義每個(gè)層次用戶的權(quán)限。在通過函數(shù)get_centcxt_instenec和hes_cepeblilty進(jìn)行相關(guān)判斷。
3.功能的實(shí)現(xiàn)
(1)教師功能的實(shí)現(xiàn)。通過以上代碼的編寫和編譯之后將制定文件放于固定位置,之后執(zhí)行,發(fā)現(xiàn)通過測試,并且可實(shí)現(xiàn)相應(yīng)功能。
(2)學(xué)生功能的實(shí)現(xiàn)。通過以上代碼的編寫和編譯之后將制定文件放于固定位置,之后執(zhí)行,發(fā)現(xiàn)通過測試,并且可實(shí)現(xiàn)相應(yīng)功能。
通過以上過程的工作可以發(fā)現(xiàn),Moodle平臺具有很多優(yōu)點(diǎn),在計(jì)算機(jī)語言選擇上要求不高同時(shí)整體模塊化設(shè)計(jì)也方便了二次開發(fā),通過搜索引擎可以輕松找到相關(guān)的開發(fā)數(shù)據(jù),對于軟件支持者來說非常友好。
三、總結(jié)
通過對Moodle系統(tǒng)模塊的擴(kuò)展開發(fā),總結(jié)其中相關(guān)的要點(diǎn)并進(jìn)行分析可以發(fā)現(xiàn)Moodle系統(tǒng)作為一個(gè)開源軟件的優(yōu)秀性。并且其作者也沒有在軟件放出之后就放棄該軟件,陸續(xù)進(jìn)行軟件的更新。并且由于全世界支持者的熱心開發(fā),使得Moodle系統(tǒng)已經(jīng)非常完善。Moodle軟件對資源和教學(xué)設(shè)計(jì)的理念在世界上是非常先進(jìn)的,在針對Moodle的二次開發(fā)中涉及到了html設(shè)計(jì)、CSS設(shè)計(jì)以及基本語言描述。同時(shí)二次開發(fā)是一次有針對性的開發(fā),是通過集合所有軟件使用者的智慧不斷完善Moodle平臺的過程。
由于軟件系統(tǒng)太過龐大,所以筆者本次開發(fā)僅僅進(jìn)行了非常少的一部分研究,但是對于以后的后續(xù)開發(fā)來說本次開發(fā)為其打下一個(gè)良好的基礎(chǔ),觸類旁通,只要進(jìn)行過一次開發(fā)之后,后續(xù)的工作也就容易開展了,希望Moodle能在以后的學(xué)習(xí)中為更多的學(xué)生提供良好的環(huán)境。
參考文獻(xiàn):
[1]汪基德,張莉.Moodle國內(nèi)研究新進(jìn)展[J].遠(yuǎn)程教育雜志,2011(05).
[2]張靜鵬,田麗君.基于Moodle的高校圖書館用戶培訓(xùn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].圖書館學(xué)研究,2010(09).
[3]張雪云,馬志強(qiáng).國內(nèi)Moodle平臺研究綜述[J].開放教育研究,2010(06).
作者簡介:
高曼如(1988-09),男,漢族,籍貫:浙江溫州 工作單位:溫州大學(xué)城市學(xué)院 工作單位所在的省、市及郵編:浙江省溫州市325000 職務(wù):信息化建設(shè)研究員 職稱:助理工程師 學(xué)位:理學(xué)學(xué)士 研究方向:E-Learning,WEB軟件架構(gòu),WEB軟件開發(fā)