趙建保,李向陽,劉 琳,彭 華,李祝莉
(廣東農(nóng)工商職業(yè)技術學院,廣東 廣州510507)
引言
Moodle(Modular Object-Oriented Dynamic Learning Environment)是一個全球性的開源軟件開發(fā)項目,基于社會建構主義理念,采用PHP技術開發(fā),其核心為活動和資源。Moodle用于構建網(wǎng)絡課程、學習管理系統(tǒng)和虛擬學習環(huán)境。Moodle可運行在Windows、Mac和Linux多種系統(tǒng)平臺。發(fā)布于2013年11月18日的Moodle 2.6版本具有以下特征:能適應大規(guī)模學習者的部署;支持論壇、詞匯表、維基、作業(yè)、測驗、投票等20種不同的教學活動類型,以建立課程的協(xié)作社區(qū),允許學習者控制部分內(nèi)容;支持課程內(nèi)容發(fā)布、布置作業(yè)和組織課程考試;靈活的角色定義和權限分配策略,能給學生更加靈活的控制權限。Moodle廣泛用于大學、中學、政府部門、醫(yī)療單位等機構和個人。[1]
項目指在特定資源與要求約束下有待完成的任務,資源約束體現(xiàn)在項目資源、人員、環(huán)境方面,要求約束體現(xiàn)在時間、費用、性能等方面。項目管理是指為達到項目目標而對任務和資源進行規(guī)劃、組織以及管理等一系列相關活動的整體。項目管理對象為項目任務、項目時間、項目成本、項目質(zhì)量、人力資源等管理。項目生命周期由項目立項、項目啟動、項目規(guī)劃與實施、項目收尾和維護5個階段。[2]在職業(yè)教育項目教學中的項目遴選階段,通過評估項目實施要求與學生能力素質(zhì)現(xiàn)狀,并遵循適度拔高和分層遞進原則,確定實施項目可行性,再確定入選項目的項目目標和能力素質(zhì)目標,然后從項目實施管理的角度評估項目所需資源并制作項目實施計劃,項目化網(wǎng)絡課程應在現(xiàn)有網(wǎng)絡課程系統(tǒng)基礎上增加對項目注冊、項目啟動、項目實施管理和項目評審4個模塊。Moodle雖然可以滿足我們大部分網(wǎng)絡課程建設需求,但在項目教學本身的特殊性和教學環(huán)境的差異性,直接使用Moodle建設項目化網(wǎng)絡課程仍存在很多不足和不適應。為此,基于Moodle平臺為進行二次開發(fā)尤其必要,二次開發(fā)重點不是對Moodle的核心代碼和模塊進行修改,而是圍繞Moodle的核心代碼進行外部功能模塊的設計和開發(fā)以滿足項目化網(wǎng)絡課程的需求。[3]
依據(jù)項目生命周期和項目教學實踐需求,項目教學流程可分解為項目注冊、項目啟動、項目實施管理和項目評審4個階段,如圖1所示。[4][5]
圖1 項目教學流程
項目注冊模塊功能需求。支持設置項目基本信息、客戶信息、項目資源信息、項目時間及交付標準功能,支持項目庫變更管理功能。
項目啟動模塊功能需求。支持從項目庫選取項目,確定被選項目具體時間要求、人員分組及任務安排、資源分配及項目評審方案。
項目實施管理模塊功能需求。支持基于日歷和甘特圖的時間管理、人員及分組變更管理、資源變更管理、項目文檔管理和溝通管理。
項目評審模塊功能需求。支持基于項目實施過程的過程性評價,支持基于項目成果的終結性評價功能。
對Moodle進行模塊化架構分析和數(shù)據(jù)庫模型分析之后,建立在Moodle網(wǎng)站管理和課程管理架構基礎上,通過二次開發(fā)實現(xiàn)項目管理功能,模塊由項目注冊、項目啟動、項目實施和項目評審4個子模塊構成,系統(tǒng)架構如圖2所示。
圖2 系統(tǒng)架構
原moodle數(shù)據(jù)庫數(shù)據(jù)表基礎上,增加表名為mdl_project、mdl_project_categories、mdl_project_instances、mdl_project_grade共4張數(shù)據(jù)表。mdl_project數(shù)據(jù)表用于存儲已經(jīng)注冊項目的信息;mdl_project_categories數(shù)據(jù)表用于存儲項目類型;mdl_project_instances數(shù)據(jù)表用于存儲已經(jīng)啟動的具體項目;mdl_project_grade數(shù)據(jù)表用于存儲項目評審結果。
先在Windows平臺配置WAMP環(huán)境,即Windows、Apache、MySQL和PHP組合,再從Moodle官方網(wǎng)站下載Moodle的最新Windows版本并安裝,最后安裝Moodle社區(qū)推薦的開發(fā)工具是Eclipse或者是Net beans。
Moodle文件系統(tǒng)可以分為Moodle代碼、Moodle數(shù)據(jù)庫和Moodle數(shù)據(jù)三個數(shù)據(jù)區(qū)域。[6]其中Moodle代碼部分主要由核心API、插件兩大部分構成,核心API及功能如表1所示。[7]
表1 核心API及功能
Moodle社區(qū)制定了開發(fā)規(guī)范,除要求遵循一般軟件開發(fā)規(guī)范外,還規(guī)定了文件命名、類命名、代碼編寫的風格、縮進、代碼換行、變量命名、數(shù)組、字符串的引號、函數(shù)定義、條件語句長度控制、絕對路徑、數(shù)據(jù)庫基本結構和安全等問題,所有模塊的開發(fā)都應該遵循這個規(guī)范,如采用4個空白縮進而不使用制表位縮進、主語句頂格寫,數(shù)組對象使用復數(shù)形式等。[8]
項目注冊表單時可分為4個表單分組:(1)項目基本信息:有項目編號、項目名稱、項目類型、項目目標和項目注冊時間。(2)客戶信息:客戶公司名稱、客戶公司地址、客戶聯(lián)系人姓名、客戶聯(lián)系人電話、客戶聯(lián)系人電子郵件。(3)項目資源信息。(4)項目描述。先通過require_login()函數(shù)請求用戶登錄,獲取要添加項目所屬的課程并驗證用戶對該課程的操作權限。注冊表單制作可通過擴展Form API的moodleform類來構建,$mform-ffgt;addElement()添加表單元素,$m form-ffgt;setType()設定表單數(shù)據(jù)提交類型,$mform-ffgt;setDefault()設置表單默認值,通過$m form-ffgt;addRule()函數(shù)完成表單數(shù)據(jù)驗證,$this-ffgt;add_action_buttons()增加表單的提交按鈕。表單數(shù)據(jù)提交后通過moodle_database類中定義的全局對象$DB-ffgt;insert_record($table,$dataobject,$returnid=true,$bulk=false)實現(xiàn)數(shù)據(jù)插入,其中$table變量是存儲項目的數(shù)據(jù)庫表名稱,對象$dataobject是表單提交后獲得的數(shù)據(jù),各表單屬性name值必須跟數(shù)據(jù)庫字段名稱保持一致,否則無法將注冊表單數(shù)據(jù)插入到數(shù)據(jù)庫,導致項目注冊失敗。
項目啟動本質(zhì)上是將項目庫中被選項目實例化,主要包括項目分解、資源分解和時間規(guī)劃3項工作。項目分解將項目分解形成任務模塊,確定任務名稱、任務說明、任務明細目標和成果驗收標準。資源分解依此為各任務提供配套的資源及項目成員,時間規(guī)劃確定各任務工期、周期性任務、里程碑事件、任務時序關系和項目進度計劃。項目資源的具體實現(xiàn)時,先讀取項目注冊時添加的文檔資源列表,然后通過File API的$mform-ffgt;addElement(’filemanager’,’files’,get_string(’selectfiles’),null,$filemanager_options)創(chuàng)建文檔管理表單。指派項目人員及分工可通過Moodle原有的用戶分組管理來實現(xiàn)。項目進度計劃通過Calendar API的calendar_event()類設置里程碑事件,也可以使用PHP圖形庫jpgraph的Grantt Charts來創(chuàng)建。[9]
項目實施管理依據(jù)項目進度計劃執(zhí)行以確保最終交付,主要包括時間管理、人員變更管理、資源變更管理、文檔管理和溝通管理。時間管理通過日歷事件及甘特圖進行項目監(jiān)控,人員變更管理通過用戶管理模塊來完成,資源變更管理和文檔管理可File API實現(xiàn)項目進度報告提交和資源變更等功能,對于已經(jīng)保存到資源庫文檔,直接從庫中鏈接,不需要再次上傳。溝通管理通過給項目添加論壇(Forum)來實現(xiàn),或者基于用戶選課信息發(fā)送電子郵件,也可以建立QQ群和討論組,實現(xiàn)項目成員間的溝通管理。
項目進入收尾階段,項目導師檢查項目執(zhí)行狀態(tài),督促項目小組提交項目文檔,組織人員對項目成果進行評審,項目成果評價應遵循以下原則:評價內(nèi)容既要涵蓋基礎知識和基本技能,又要包括過程與方法、情感、態(tài)度與價值觀的全面性原則;形成性評價與終結性評價相結合的多元化評價原則;教師、企業(yè)、本人和同學共同參與的評價主體多元化原則??蓪㈨椖磕芰Ψ纸獬蓪I(yè)能力、方法能力、社會能力、項目日志與答辯和項目成果5項指標,如表2所示。[10]據(jù)此建立評表登記表單將項目成績存入Moodle數(shù)據(jù)庫中,通過評審后解散項目小組。
課題組將生產(chǎn)性實訓基地承接的網(wǎng)頁設計、網(wǎng)站開發(fā)、影音制作和平面設計等系列項目注冊到項目化網(wǎng)絡課程系統(tǒng),實現(xiàn)了從項目啟動、項目實施管理、項目評審的集成化管理,改進了以往項目管理模式和效率,達到指導老師方便管、學生方便做,保障了項目實施和項目教學的效果。
表2 項目評審表單項目
[1]M oodle.About M oodle[EB/OL].(2014-1-023)[2014-1-25].http://docs.moodle.org/26/en/About_Moodle.
[2]九州書源.Project 2010項目管理從入門到精通[M].北京:清華大學出版社,2012:14-15.
[3]劉平.M oodle系統(tǒng)應用與開發(fā)[D].江南大學,2009.
[4]鄭欽晶.“住宅公寓設計”課程項目教學模式的構建研究[J].職教通訊,2013(33):46-50.
[5]張會斌.Project 2010企業(yè)項目管理實踐[M].北京:人民郵電出版社,2011.
[6]王新勇.Moodle的二次開發(fā)研究與應用[D].成都理工大學,2010.
[7]Moodle.MoodleDocs[EB/OL].(2013-12-10)[2014-3-4].http://docs.moodle.org/dev/Main_Page.
[8]Moodle.Coding style[EB/OL].(2013-11-9)[2014-2-27].http://docs.moodle.org/dev/Coding_style.
[9]Asial Corporation.JpGraph-M ost powerful PHPdriven charts[EB/OL].[2014-2-27]http://jpgraph.net/features/gallery.php.
[10]趙建保.高職能力型課程學習評價指標體系構建[J].職業(yè)技術教育,2010(34):51-54.