摘要:為了快速有效并且高質(zhì)量地開發(fā)網(wǎng)絡(luò)課程,在明確基于開源系統(tǒng)的網(wǎng)絡(luò)課程相關(guān)概念的基礎(chǔ)上,結(jié)合實踐經(jīng)驗,探討了基于開源系統(tǒng)的網(wǎng)絡(luò)課程開發(fā)環(huán)節(jié)中技術(shù)應(yīng)用的具體策略和方法,提出了基于開源系統(tǒng)的軟件開發(fā)的六種技術(shù)策略。
關(guān)鍵詞:開源系統(tǒng);網(wǎng)絡(luò)課程開發(fā);技術(shù)應(yīng)用;應(yīng)用策略
0 引言
網(wǎng)絡(luò)課程的開發(fā)主要由兩個部分組成,一是課程的內(nèi)涵建設(shè),亦即網(wǎng)絡(luò)課程的內(nèi)容設(shè)計;二是課程的技術(shù)應(yīng)用,亦即網(wǎng)絡(luò)課程的程序開發(fā)。內(nèi)涵建設(shè)是核心,是基礎(chǔ),是網(wǎng)絡(luò)課程的靈魂;技術(shù)應(yīng)用是必要條件,是助推器。人們認識到了網(wǎng)絡(luò)課程內(nèi)涵建設(shè)的核心作用,都非常關(guān)注網(wǎng)絡(luò)課程的內(nèi)涵建設(shè),而對網(wǎng)絡(luò)課程技術(shù)應(yīng)用的研究則顯得不足。網(wǎng)絡(luò)課程的設(shè)計水平參差不齊,應(yīng)用效果不盡人意,對網(wǎng)絡(luò)課程技術(shù)應(yīng)用研究的忽視是其重要的原因?;诖耍P者在大量實踐經(jīng)驗的基礎(chǔ)上,提出了基于開源系統(tǒng)的網(wǎng)絡(luò)課程開發(fā)的技術(shù)應(yīng)用策略,以期補益于網(wǎng)絡(luò)課程開發(fā)工作。
1 概念的界定
“網(wǎng)絡(luò)課程是通過網(wǎng)絡(luò)表現(xiàn)的某門學(xué)科的教學(xué)內(nèi)容及實施的教學(xué)活動的總和,它包括按一定的教學(xué)目標、教學(xué)策略組織起來的教學(xué)內(nèi)容和網(wǎng)絡(luò)教學(xué)支撐環(huán)境兩個組成部分”?;陂_源系統(tǒng)的網(wǎng)絡(luò)課程則是指在技術(shù)實現(xiàn)上通過對源碼開放的開源系統(tǒng)進行二次開發(fā)所設(shè)計的網(wǎng)絡(luò)課程。網(wǎng)絡(luò)課程的技術(shù)應(yīng)用策略則是指實現(xiàn)網(wǎng)絡(luò)課程開發(fā)的技術(shù)路線、手段和方法。
2 開源網(wǎng)絡(luò)課程中的技術(shù)策略
網(wǎng)絡(luò)課程在內(nèi)容設(shè)計完成后,需要通過技術(shù)編程來實現(xiàn)。圖1為網(wǎng)絡(luò)課程技術(shù)開發(fā)過程結(jié)構(gòu)示意圖,它描述了基于開源系統(tǒng)的網(wǎng)絡(luò)課程技術(shù)開發(fā)過程的一般結(jié)構(gòu),該結(jié)構(gòu)中低階段的過程是高階段過程的基礎(chǔ)。從系統(tǒng)觀的角度而言,網(wǎng)絡(luò)課程開發(fā)是一個系統(tǒng)化的過程。一個網(wǎng)絡(luò)課程技術(shù)應(yīng)用作為一個輸入進入到網(wǎng)絡(luò)課程的系統(tǒng)化設(shè)計(圖1中以虛線表示),而輸出則是一個特定內(nèi)容特定形態(tài)的網(wǎng)絡(luò)課程。
2.1 開源平臺選擇策略
目前常用的開源系統(tǒng)的技術(shù)平臺有兩種:LAMP(Linux+Apacha+MySq1+Php)和J2EE。兩種平臺的比較如表1所示。
如何選擇適合的網(wǎng)絡(luò)課程開發(fā)平臺是網(wǎng)絡(luò)課程技術(shù)應(yīng)用中的基礎(chǔ)。筆者認為:平臺無所謂好壞,適合的即是最好的。網(wǎng)絡(luò)課程應(yīng)根據(jù)其所處的外部條件和環(huán)境選擇合適的平臺。具體來說,選擇網(wǎng)絡(luò)課程平臺所應(yīng)該考慮的問題包括:
(1)學(xué)校是否能夠提供合適的硬件環(huán)境。
(2)開發(fā)人員是否具有應(yīng)用該平臺的開發(fā)經(jīng)驗。
(3)網(wǎng)絡(luò)課程的開發(fā)能夠獲得多少資金支持。
(4)網(wǎng)絡(luò)課程對安全性的要求如何。
(5)網(wǎng)絡(luò)課程需要設(shè)置統(tǒng)一身份認證嗎。
……
對上述問題的解決過程體現(xiàn)了選用網(wǎng)絡(luò)課程開發(fā)平臺的基本策略和方法。
2.2 開源CMS系統(tǒng)應(yīng)用策略
內(nèi)容管理系統(tǒng)(content Management System,簡稱CMS)是基于開源CMS系統(tǒng)的網(wǎng)絡(luò)課程開發(fā)中一個技術(shù)關(guān)鍵,它是網(wǎng)絡(luò)課程開發(fā)的基石,選擇合適的開源CMS系統(tǒng)可大大加快網(wǎng)絡(luò)課程開發(fā)的效率和質(zhì)量。一般說來開源CMS的應(yīng)用策略包括以下幾個方面。
2.2.1 根據(jù)開源版本CMS決定系統(tǒng)選擇
一套功能強大、成熟、穩(wěn)定、完善的系統(tǒng)是必須經(jīng)過軟件開發(fā)人員不斷改進與完善才能達到的;同時由于軟件版本的下位兼容性,因此在網(wǎng)絡(luò)課程開發(fā)過程中應(yīng)該盡量選擇版本較高的開源CMS版本。開源軟件按照其產(chǎn)品穩(wěn)定性又分為測試版本和穩(wěn)定版本兩種。測試版本因其投放使用的時間不長,故缺陷教多;而穩(wěn)定版本γ(gamnla)版CMS則更具優(yōu)勢。因此在網(wǎng)絡(luò)課程開發(fā)中應(yīng)該選擇穩(wěn)定版本版CMS進行系統(tǒng)二次開發(fā)。
2.2.2 關(guān)注開源CMS系統(tǒng)的并發(fā)數(shù)量
CMS并發(fā)數(shù)是指在網(wǎng)站上同一時刻向服務(wù)器發(fā)送請求的用戶。網(wǎng)絡(luò)課程的特點在于師生在時空上的分離,雖然學(xué)習(xí)者可以在不同的時刻訪問網(wǎng)絡(luò)課程??紤]到學(xué)習(xí)者同時訪問某一門網(wǎng)絡(luò)課程很容易引起網(wǎng)絡(luò)課程響應(yīng)的不及時甚至導(dǎo)致學(xué)習(xí)者無法訪問,因此,設(shè)計時應(yīng)充分考慮并發(fā)數(shù)量。目前常見的提高CMS并發(fā)數(shù)量的手段包括:網(wǎng)頁Html靜態(tài)化、數(shù)據(jù)緩存技術(shù)、負載均衡技術(shù)等。
2.2.3 關(guān)注開源CMS的系統(tǒng)架構(gòu)
模塊化設(shè)計和頁面設(shè)計與程序分離是應(yīng)該特別關(guān)注的兩個方面。首先,CMS系統(tǒng)在設(shè)計實現(xiàn)時,應(yīng)該盡量采用模塊化設(shè)計。模塊化設(shè)計可以大大增加網(wǎng)絡(luò)課程開發(fā)的靈活性和適應(yīng)性,從而實現(xiàn)個性化的定制;另一方面也降低了網(wǎng)絡(luò)課程開發(fā)的成本,減輕了網(wǎng)絡(luò)課程開發(fā)的負擔(dān)。具體說來,就是要少做甚至不做網(wǎng)絡(luò)課程的代碼編寫工作。因此,頁面設(shè)計和程序分離的開源CMS系統(tǒng)是我們進行網(wǎng)絡(luò)課程開發(fā)的首選。
2.3 開源系統(tǒng)下的頁面設(shè)計策略
頁面設(shè)計直接影響到網(wǎng)絡(luò)課程的用戶體驗。在傳統(tǒng)的頁面設(shè)計中,人們大多采用Photoshop、flash等專業(yè)設(shè)計軟件。這些工具功能強大,但也同時具有較高的門檻。選用合適的工具則可以有效地降低課程開發(fā)人員設(shè)計能力的門檻并提高頁面設(shè)計效率和頁面的美感。例如,以Flash Intro and Banner Maker設(shè)計flash課程頭部文件(圖2),設(shè)計人員僅僅需要通過六個步驟的選擇即可設(shè)計出多樣而美觀的flash網(wǎng)絡(luò)課程頭部文件。這六個步驟為:①Size and sound(設(shè)置尺寸和聲音);②Background(設(shè)置背景圖案);③Effect(設(shè)置特效);④Text and image(設(shè)置文字和前景圖片);⑤Web links(設(shè)置超級鏈接);⑥Publish(發(fā)布影片)。筆者推薦使用頁面設(shè)計工具Flash Intro and Banner Maker進行網(wǎng)絡(luò)課程用戶界面的設(shè)計。
2.4 開源系統(tǒng)下的版本控制策略
“版本控制(Revision Control)是一種軟件工程技巧,籍以在開發(fā)的過程中,確保不同人所編輯的同一檔案都得到更新”。版本控制是網(wǎng)絡(luò)課程技術(shù)應(yīng)用中經(jīng)常容易被忽略的一個環(huán)節(jié)。由于網(wǎng)絡(luò)課程開發(fā)團隊協(xié)作的特點和網(wǎng)絡(luò)課程較高的更新頻度,在網(wǎng)絡(luò)課程開發(fā)過程中,應(yīng)該借鑒軟件工程設(shè)計的相關(guān)方法,引入版本控制。在這方面,南京郵電大學(xué)的孫健等人在將版本控制工具軟件Subversion引入課程設(shè)計方面做出了有益的工作和探討?!皯?yīng)用Subversion可以將開發(fā)環(huán)境與測試環(huán)境、運行環(huán)境隔離。教師可以通過對項目倉庫的管理隨時評估代碼質(zhì)量,遠程控制課程設(shè)計進度”。
版本控制工具可以有效地規(guī)范網(wǎng)絡(luò)課程開發(fā)過程,監(jiān)督網(wǎng)絡(luò)課程開發(fā)進度,對高效的網(wǎng)絡(luò)課程開發(fā)具有積極意義。實踐證明:在網(wǎng)絡(luò)課程開發(fā)中引入版本控制工具是一種必要的技術(shù)應(yīng)用策略,也是提高網(wǎng)絡(luò)課程開發(fā)效率的有效手段之一。筆者推薦引入Subversion版本控制工具到團隊化的網(wǎng)絡(luò)課程開發(fā)實踐中。Subversion的安裝和配置過程,可參閱相關(guān)的技術(shù)文檔。
2.5 開源系統(tǒng)下的Bug管理策略
Bug管理,也叫缺陷管理。在網(wǎng)絡(luò)課程開發(fā)過程中,缺陷的存在不可避免。網(wǎng)絡(luò)課程的缺陷管理,一方面是對網(wǎng)絡(luò)課程的響應(yīng)速度、兼容性、鏈接正確性等的測試管理;另一方面是對網(wǎng)絡(luò)課程的交互功能、互動特性等個性化功能的測試。Bug管理工具已經(jīng)成為越來越多的開發(fā)團隊必要的工具。在網(wǎng)絡(luò)課程中引入Bug管理工具也是成為網(wǎng)絡(luò)課程開發(fā)規(guī)范化的必要措施。在此,筆者推薦使用BugFree缺陷管理工具。BugFree(http://www.bugfree.com)是一個基于瀏覽器的高效Bug管理工具,其獨特的Email提醒功能對網(wǎng)絡(luò)課程的Bug管理而言顯得特別有效?!癇ugFree的開源特性也有助于技術(shù)人員專門定制適合于網(wǎng)絡(luò)課程開發(fā)的Bug管理系統(tǒng)。
2.6 維護更新策略
網(wǎng)絡(luò)課程維護更新是網(wǎng)絡(luò)課程開發(fā)完成后期高頻度的工作之一,通常通過網(wǎng)絡(luò)課程開源CMS的網(wǎng)站后臺或通過修改代碼進行代碼級別的程序維護。對于前者,應(yīng)該注意網(wǎng)絡(luò)課程維護的周期性和分級權(quán)限的應(yīng)用以提高網(wǎng)絡(luò)課程的質(zhì)量監(jiān)督和維護效率;對于后者,需要網(wǎng)絡(luò)課程維護人員具有一定的編碼能力。采用FrP的方式是較常見的更新方法,應(yīng)特別注意將FTP的安全策略用于網(wǎng)絡(luò)課程維護中,例如:只給特定IP地址賦予有維護權(quán)限等。
3 結(jié)束語
我們只有努力完善網(wǎng)絡(luò)課程開發(fā)流程,建立網(wǎng)絡(luò)課程質(zhì)量監(jiān)督機制,樹立正確的網(wǎng)絡(luò)課程觀、信息技術(shù)工具觀,才能避免網(wǎng)絡(luò)課程的手工作坊式開發(fā)方式,才能快速高效地建立網(wǎng)絡(luò)課程。根據(jù)教學(xué)設(shè)計選擇恰當(dāng)?shù)募夹g(shù)實現(xiàn)手段,技術(shù)實現(xiàn)與教學(xué)內(nèi)容的完美結(jié)合應(yīng)該是網(wǎng)絡(luò)課程開發(fā)所追求的目標。