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