張向梨,王海燕,梁 敏,張亞嬌
陜西師范大學(xué)教育學(xué)院,西安 710062
“軟件工程是指通過工程化的方法來開發(fā)軟件以解決軟件危機(jī)”[1]。依據(jù)軟件工程方法論和建構(gòu)主義學(xué)習(xí)理論來設(shè)計(jì)與開發(fā)適應(yīng)網(wǎng)絡(luò)教育和遠(yuǎn)程教育快速發(fā)展步伐的新型網(wǎng)絡(luò)教育資源,有助于引導(dǎo)設(shè)計(jì)者和開發(fā)者以專業(yè)化方式合作開發(fā)高質(zhì)量的網(wǎng)絡(luò)教育資源。該文按照Moodle平臺(tái)網(wǎng)絡(luò)課程的設(shè)計(jì)與開發(fā)流程,圍繞軟件工程的原則,以《信息技術(shù)基礎(chǔ)》課程為例,以西安市某高級(jí)中學(xué)高一20名學(xué)生為研究對(duì)象,實(shí)施進(jìn)一步的實(shí)踐和結(jié)果分析。
軟件工程的原則是指圍繞工程的設(shè)計(jì)、支持以及管理,等,在軟件設(shè)計(jì)開發(fā)過程中應(yīng)該遵循的原則。著名的軟件工程專家Boehm B W結(jié)合多位學(xué)者的觀點(diǎn),提出了軟件工程的七條基本原則:用分階段的生命周期計(jì)劃嚴(yán)格管理、堅(jiān)持進(jìn)行階段評(píng)審、實(shí)行嚴(yán)格的產(chǎn)品控制、采用現(xiàn)代程序設(shè)計(jì)技術(shù)、結(jié)果應(yīng)能清楚地審查、開發(fā)小組的人員應(yīng)該少而精、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性[2]。后來有學(xué)者在此基礎(chǔ)上提出四條軟件工程原則:選取適宜的開發(fā)模型、采用合適的設(shè)計(jì)方法、提供高質(zhì)量的工程支持、重視開發(fā)過程的管理[3]。此外,軟件工程的原則還包括以需求為核心,等。
王忠華等研究提出的網(wǎng)絡(luò)教育資源開發(fā)的一般流程,包括“需求分析、教學(xué)設(shè)計(jì)、結(jié)構(gòu)和功能設(shè)計(jì)、素材編輯制作、教學(xué)應(yīng)用”等階段[4];張進(jìn)寶等提出“基于瀑布模型思想的網(wǎng)絡(luò)課程設(shè)計(jì)與資源開發(fā)模型”[5]。該文結(jié)合二者的觀點(diǎn)將基于Moodle平臺(tái)的網(wǎng)絡(luò)課程的生命周期分為:制定計(jì)劃、需求分析、可行性分析、設(shè)計(jì)與實(shí)現(xiàn)、測試與維護(hù),并采用瀑布模型對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)與開發(fā)。
根據(jù)軟件工程原則,制定嚴(yán)格的開發(fā)和評(píng)審計(jì)劃對(duì)開發(fā)優(yōu)質(zhì)網(wǎng)絡(luò)課程是非常關(guān)鍵的。開發(fā)計(jì)劃評(píng)審技術(shù)PERT(program evaluation and review technique)相比于傳統(tǒng)的項(xiàng)目管理方法甘特圖,更能夠直觀地反映工序之間的關(guān)系以及影響計(jì)劃進(jìn)度的關(guān)鍵因素。通過各個(gè)階段的時(shí)間點(diǎn),可以得到系統(tǒng)開發(fā)計(jì)劃進(jìn)度的關(guān)鍵路徑,并且能夠在工序進(jìn)度發(fā)生變化時(shí),反映出對(duì)整個(gè)工程的影響,從而進(jìn)行靈活的調(diào)整,實(shí)現(xiàn)動(dòng)態(tài)的計(jì)劃管理[3]。
依據(jù)軟件工程原則,用戶的需求是網(wǎng)絡(luò)課程建設(shè)的核心,但是在需求分析的過程中要實(shí)行嚴(yán)格的產(chǎn)品控制,主要是實(shí)行基準(zhǔn)配置管理,也稱作變更控制:有關(guān)修改軟件的建議,要按照嚴(yán)格的規(guī)程進(jìn)行評(píng)審,獲得批準(zhǔn)以后才能實(shí)施修改,避免隨意修改。
2.2.1 用戶需求分析 Moodle平臺(tái)支持的用戶有系統(tǒng)管理員、課程管理員、教師、助教、學(xué)員等主要角色。系統(tǒng)管理員主要管理控制整個(gè)站點(diǎn),負(fù)責(zé)對(duì)教師、課程管理員等角色的授權(quán);課程管理員負(fù)責(zé)Moodle平臺(tái)課程體系的建設(shè)與規(guī)劃;教師主要負(fù)責(zé)課程內(nèi)容建設(shè)、組織開展在線教學(xué),教師可以授權(quán)給助教以及批準(zhǔn)學(xué)生入學(xué);助教負(fù)責(zé)幫助教師進(jìn)行在線的教學(xué),比如回答論壇的問題,等;學(xué)員除了完成在線學(xué)習(xí),還要完成與學(xué)習(xí)有關(guān)的討論,等。
除了對(duì)各個(gè)用戶進(jìn)行系統(tǒng)需求分析外,還要收集用戶對(duì)課程的需求。對(duì)課程的需求主要采用內(nèi)置問卷和訪談的方式。如每一個(gè)章節(jié)課程結(jié)束后都有“本章學(xué)習(xí)體驗(yàn)”問卷,如圖1中的③④,從實(shí)用性、深思(學(xué)生對(duì)課程的自我反思)、互動(dòng)性、教師的支持、學(xué)生的支持、解釋的清晰度五個(gè)維度對(duì)學(xué)生“希望發(fā)生的”和“實(shí)際發(fā)生的”兩個(gè)方面進(jìn)行調(diào)查,了解學(xué)生對(duì)每個(gè)章節(jié)的滿意程度及需求。在課程的首頁也設(shè)置有“需求留言區(qū)”,如圖1中的①,在這里,學(xué)生、教師等用戶可以對(duì)自己的需求進(jìn)行留言。隨后,通過對(duì)教師和學(xué)員等重要角色從資源、活動(dòng)等方面進(jìn)行深度訪談,進(jìn)一步了解用戶更深層次的需求。
主要包括人員、硬件資源、軟件資源、經(jīng)費(fèi)等方面的分析。依據(jù)軟件工程的原則,網(wǎng)絡(luò)課程開發(fā)人員要精而少,要利用先進(jìn)的技術(shù)手段在現(xiàn)有的硬件和軟件資源條件下開發(fā)出最優(yōu)的課程。
圖1 課程頁面
2.3.1 人員分析 網(wǎng)絡(luò)課程的開發(fā)和運(yùn)行需要的人員主要有指導(dǎo)教師、學(xué)生、課程維護(hù)人員。該網(wǎng)絡(luò)課程的教師有三位,一位是對(duì)Moodle有長期研究的教授,另一位是長期從事課程改革和中小學(xué)信息技術(shù)應(yīng)用方面研究的教授,還有一位是長期從事《信息技術(shù)基礎(chǔ)》授課的一線在職教師;學(xué)生也就是授課對(duì)象,主要是西安市某高級(jí)中學(xué)的高一學(xué)生,他們對(duì)信息技術(shù)已經(jīng)有一定的了解。網(wǎng)絡(luò)課程的開發(fā)和運(yùn)行有資深的指導(dǎo)教師,有專門的研究團(tuán)隊(duì)。
2.3.2 硬件資源分析 開發(fā)基于Moodle的網(wǎng)絡(luò)課程需要一臺(tái)服務(wù)器、一個(gè)用于進(jìn)行遠(yuǎn)端控制的計(jì)算機(jī)、網(wǎng)絡(luò)環(huán)境即能夠使服務(wù)器鏈接到外網(wǎng)(或內(nèi)網(wǎng))的設(shè)備。服務(wù)器的配置越高,平臺(tái)的運(yùn)行效率就越好,支持并發(fā)在線訪問量也越大。并且需要安裝操作系統(tǒng),linux操作系統(tǒng)運(yùn)行效率高一些。另外,在制作視頻課程時(shí)需要一些攝像工具,等。
2.3.3 軟件資源分析 開發(fā)基于Moodle的網(wǎng)絡(luò)課程需要的軟件資源有Moodle安裝包和Moodle運(yùn)行環(huán)境。Moodle安裝包可以在Moodle官方網(wǎng)站(http://download.Moodle.org/)下載。由于Moodle是利用php開發(fā)的Web軟件,因此其運(yùn)行環(huán)境需要相應(yīng)的Web服務(wù)器、數(shù)據(jù)庫、php運(yùn)行程序。Moodle安裝包、計(jì)算機(jī)配置、Moodle運(yùn)行環(huán)境三者要相互匹配。
2.3.4 經(jīng)費(fèi)分析 網(wǎng)絡(luò)課程的開發(fā)和運(yùn)行需要高配置的服務(wù)器、高內(nèi)存,如果服務(wù)器內(nèi)存不足,將會(huì)嚴(yán)重影響運(yùn)行速率,甚至可能導(dǎo)致崩潰。另外,對(duì)于一個(gè)實(shí)用的網(wǎng)絡(luò)課程項(xiàng)目,測試與維護(hù)的費(fèi)用占到非常大的比重。
網(wǎng)絡(luò)課程的設(shè)計(jì)與實(shí)現(xiàn)主要分為概要設(shè)計(jì)、概念數(shù)據(jù)模型CDM設(shè)計(jì)、課程詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)。在開發(fā)過程中,應(yīng)重視對(duì)開發(fā)過程的支持和管理。
2.4.1 功能結(jié)構(gòu)設(shè)計(jì) Moodle主要功能包括網(wǎng)站管理、課程管理、學(xué)習(xí)管理三大部分。網(wǎng)站管理包括對(duì)服務(wù)器、外觀等的管理;課程管理具有強(qiáng)大的功能,如教學(xué)資源設(shè)計(jì)、教學(xué)活動(dòng)設(shè)計(jì)、各類教學(xué)測驗(yàn)設(shè)計(jì)、教育統(tǒng)計(jì),等[6];學(xué)習(xí)管理包括對(duì)學(xué)生的成績、進(jìn)程跟蹤等方面。
2.4.2 概念數(shù)據(jù)模型CDM設(shè)計(jì) 概念數(shù)據(jù)模型CDM設(shè)計(jì)是開發(fā)工程中的一個(gè)重要階段,此階段以系統(tǒng)需求分析中所建的用戶分析圖例為基礎(chǔ),將現(xiàn)實(shí)世界中需求信息抽象成信息世界中的實(shí)體與聯(lián)系,建立相對(duì)應(yīng)的UML對(duì)象類圖。
2.4.3 課程詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) “學(xué)習(xí)資源、學(xué)習(xí)活動(dòng)是網(wǎng)絡(luò)課程的兩個(gè)核心要素”[7]。在Moodle中資源的主要形式有:文件、圖書、網(wǎng)頁、文件夾、IMS內(nèi)容包、URL、標(biāo)簽;活動(dòng)的主要形式有:教程、Wiki協(xié)作、聊天、投票、問卷調(diào)查、數(shù)據(jù)庫、作業(yè)、外部工具、討論區(qū)、測驗(yàn)、詞匯表、SCORM課件、互動(dòng)評(píng)價(jià)。劉名卓博士根據(jù)“成就動(dòng)機(jī)理論”得出網(wǎng)絡(luò)課程設(shè)計(jì)和開發(fā)應(yīng)注意“構(gòu)建良好的學(xué)習(xí)環(huán)境”、“形成良好的教師助學(xué)機(jī)制”、“形成積極的交互機(jī)制”[8]。筆者認(rèn)為,設(shè)計(jì)一門好的基于Moodle的網(wǎng)絡(luò)課程,需要根據(jù)教學(xué)目的對(duì)Moodle資源和活動(dòng)進(jìn)行有效的組合。圖2是第二章“信息的獲取”設(shè)計(jì)。
圖2 第二章“信息的獲取”設(shè)計(jì)界面圖
在建立網(wǎng)站并且上傳完課程資料后,分別讓不同用戶使用。主要以問卷調(diào)查的方式對(duì)用戶體驗(yàn)進(jìn)行調(diào)查;其次輔以訪談的方式來收集用戶體驗(yàn)的效果;最后不斷地修改和完善網(wǎng)站的各個(gè)功能。這個(gè)過程是不斷重復(fù)的,以此不斷滿足用戶的需求。
2.5.1 測試 測試包括對(duì)硬件、軟件、網(wǎng)絡(luò)及課程的測試,規(guī)范化的測試過程應(yīng)包括制定計(jì)劃、編制大綱、設(shè)計(jì)方案、實(shí)施測試、生成報(bào)告。并且測試過程由專人負(fù)責(zé)執(zhí)行,測試不應(yīng)局限于獲得數(shù)據(jù),測試應(yīng)在現(xiàn)實(shí)環(huán)境中針對(duì)各個(gè)用戶的體驗(yàn)進(jìn)行。圖3是“信息的獲取”章節(jié)體驗(yàn)問卷調(diào)查結(jié)果。說明該章節(jié)的互動(dòng)性、教師的支持、學(xué)生的支持、解釋的清晰度方面都基本符合學(xué)生的期望,但是在實(shí)用性方面有待提高。在后期教師就需要對(duì)第二章節(jié)內(nèi)容進(jìn)行改善,使內(nèi)容更加貼近學(xué)生的生活。根據(jù)軟件工程的原則,網(wǎng)絡(luò)課程開發(fā)團(tuán)隊(duì)要“承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性”,并針對(duì)測試結(jié)果進(jìn)行不斷地改進(jìn)。
圖3 章節(jié)學(xué)習(xí)體驗(yàn)問卷調(diào)查結(jié)果
2.5.2 網(wǎng)絡(luò)課程的維護(hù) 網(wǎng)絡(luò)課程測試完成之后,需要專家、課程教師、助教和學(xué)生合作進(jìn)行維護(hù),如圖4所示。學(xué)生將自己學(xué)習(xí)過程中的問題及需求反映給助教或者課程教師;助教與課程教師、專家進(jìn)行溝通,以滿足學(xué)生的需求;課程教師與助教溝通,并改善自己的課程設(shè)計(jì);專家通過與課程教師溝通,針對(duì)測試出現(xiàn)的問題提供技術(shù)指導(dǎo)和理論指導(dǎo)。
圖4 網(wǎng)絡(luò)課程的完善模式圖
軟件工程方法研究在降低軟件生產(chǎn)成本、改進(jìn)軟件產(chǎn)品質(zhì)量、提高軟件生產(chǎn)率等方面取得了長足進(jìn)展[9]。應(yīng)用于教育中,“使知識(shí)得到更有效的傳遞,使學(xué)生獲得更貼身的個(gè)性化服務(wù)”[10]。軟件工程的工程化和管理思想對(duì)于規(guī)范教育領(lǐng)域的研究、“構(gòu)建高質(zhì)量的社會(huì)化遠(yuǎn)程學(xué)習(xí)環(huán)境”有重要的意義。該文從軟件工程的理念出發(fā),按照Moodle平臺(tái)網(wǎng)絡(luò)課程設(shè)計(jì)與開發(fā)的流程,圍繞軟件工程的原則,以具體的課程為例,進(jìn)行了進(jìn)一步的實(shí)踐和結(jié)果分析,以期為讀者提供借鑒和參考。
[1]林銳.軟件工程思想[EB/OL].http://down.51cto.com/data/228510,2000-07-29
[2]湯銘端.軟件工程與軟件可靠性第一講軟件工程的基本原則[J].質(zhì)量與可靠性,2001,(1):42-45
[3]嵇春梅.基于軟件工程的系統(tǒng)設(shè)計(jì)與開發(fā)[J].數(shù)字技術(shù)與應(yīng)用,2011,(10):125-126
[4]王忠華,李艷麗.基于軟件工程的網(wǎng)絡(luò)教育資源開發(fā)流程構(gòu)建[J].現(xiàn)代教育技術(shù),2009,(7):111-113
[5]張進(jìn)寶,李松,馬江艦.基于“瀑布模型”思想的網(wǎng)絡(luò)課程設(shè)計(jì)與資源開發(fā)模型[J].現(xiàn)代遠(yuǎn)程教育研究,2010,(1):64-67,80
[6]黎加厚.Moodle課程設(shè)計(jì)[M].上海:上海教育出版社,2007:9
[7]鄒應(yīng)貴,袁松鶴,蔡永.網(wǎng)絡(luò)教育精品課程的整體結(jié)構(gòu)設(shè)計(jì)與核心要素建設(shè)研究[J].中國電化教育,2009,(7):67-73
[8]劉名卓.網(wǎng)絡(luò)課程的可用性研究[D].上海:華東師范大學(xué),2010:49-53
[9]李君麗.應(yīng)用軟件工程方法開發(fā)標(biāo)準(zhǔn)化網(wǎng)絡(luò)課程[J].中國遠(yuǎn)程教育,2009,(4):71-74
[10]陳立,黃麗娟.軟件工程方法在遠(yuǎn)程教育中的應(yīng)用[J].軟件導(dǎo)刊,2011,(6):190-191