国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于構件理論的網(wǎng)絡課程設計與開發(fā)

2009-09-28 08:38:18彭遠媛
中國教育信息化 2009年8期
關鍵詞:網(wǎng)絡課程開發(fā)設計

金 浩 彭遠媛

摘 要:隨著信息技術的發(fā)展及其在教學中的應用,網(wǎng)絡學習已經(jīng)成為信息社會重要的學習方式之一,而優(yōu)質(zhì)的網(wǎng)絡課程是學習得以有效、順利進行的前提性保障。然而,網(wǎng)絡課程的開發(fā)已遠遠區(qū)別于傳統(tǒng)意義上的課程開發(fā),此時,如何構建優(yōu)質(zhì)的網(wǎng)絡課程就成為網(wǎng)絡學習能否有效進行的瓶頸。本文借助軟件工程學中的構件理論,從開發(fā)者的角度對網(wǎng)絡課程的設計、開發(fā)和復用進行了重新探討,以期為網(wǎng)絡課程探尋新的開發(fā)方式,提高網(wǎng)絡課程的開發(fā)效率和復用程度,進而為網(wǎng)絡學習質(zhì)量提供有效的保障。

關鍵詞:軟件工程學 構件理論 網(wǎng)絡課程 設計 開發(fā)

中圖分類號:G250.73 文獻標識碼:B 文章編號:1673-8454(2009)15-0060-03

在信息社會,網(wǎng)絡學習作為主要的學習方式已經(jīng)是我們的共識,而網(wǎng)絡課程是網(wǎng)絡學習得以有效、順利進行的保障,不僅“教育目標要通過網(wǎng)絡課程來實現(xiàn),教學活動圍繞網(wǎng)絡課程而開展”,更重要的是,網(wǎng)絡課程作為學習資源的關鍵組成部分貫穿于整個學習過程之中。[1]然而,在網(wǎng)絡課程的開發(fā)過程中卻面臨著亟待解決的問題,其中,對于開發(fā)人員來說,如何實現(xiàn)網(wǎng)絡課程系統(tǒng)的可復用性問題尤為突出,隨之而來的是網(wǎng)絡課程各功能模塊的深入分析、整體測試和后期維護等等,這些問題的解決有賴于新的設計開發(fā)理論的指導,構件理論無疑為我們解決這一問題提供了很好的途徑。

一、構件理論的發(fā)展

構件(Component)思想的提出源自軟件和硬件兩方面的因素。在硬件方面,著名的摩爾定律說明了其發(fā)展的迅猛勢態(tài),但軟件的開發(fā)速度卻遠遠落后于硬件的更新速度;在軟件應用方面,軟件的模式從單機模式、C/S(客戶機/服務器)模式一直到B/S(瀏覽器/服務器)模式,軟件設計正面臨著一系列新的課題,傳統(tǒng)的軟件思想顯然已遠遠不夠。就在此時,構件思想應運而生。

1.構件的概念與特征

關于構件的定義可謂莫衷一是,不同的組織和研究者把構件和軟件構件作為同一概念使用,并給出了各自的定義,具有代表性的有以下四類:(1)軟件構件是一個具有規(guī)范接口和明確的上下文依賴的組裝單元。軟件構件能夠被獨立地部署和被第三方組裝;(2)軟件構件是可單獨生產(chǎn)、獲取、部署的二進制單元,它們之間可以互相作用構成一個功能系統(tǒng);(3)構件是一個帶有契約化接口和顯示上下文依賴的組裝單元,它能被獨立發(fā)布;(4)軟件構件是一個可以獨立交付的軟件單元,封裝了設計和實現(xiàn)的內(nèi)容,并向外提供接口,通過接口與其他構件組裝成更大的整體。[2]

盡管以上的定義不盡相同,綜合之后我們發(fā)現(xiàn),其具有共同的因素:構件是一個功能單元;符合構件模型(或具有規(guī)范接口);允許對不同構件開發(fā)商開發(fā)的構件進行組裝。這些因素將為我們的開發(fā)提供重要的參考價值。

在了解了構件的內(nèi)涵之后,我們需要明確構件的基本特征,這將有助于我們更清楚地理解構件的本質(zhì)。構件的特征主要有以下四方面:(1)構件是可獨立配置的單元,因此構件必須自包容;(2)構件強調(diào)與其他構件和環(huán)境的分離,因此構件的實現(xiàn)是嚴格封裝的,外界沒有機會或沒有必要知道構件內(nèi)部的實現(xiàn)細節(jié);(3)構件可以在適當?shù)沫h(huán)境中被復用,因此構件需要提供清晰的接口規(guī)范,可以與環(huán)境交互;(4)構件不應當是持續(xù)的,即構件沒有個體特有的屬性。[3]

2.構件與模塊的異同

論及構件時我們不能不提的一個概念就是模塊,構件與模塊之間究竟有何異同,這是我們在討論基于構件的軟件開發(fā)時不可不明確的一個問題?;谀K化的軟件開發(fā)是面向過程開發(fā)時代提出來的,并且這一思想主要是針對用戶而言,不涉及開發(fā)人員的具體工作,因而并不涉及軟件復用的思想。當然,從模塊化的思想中我們可以依稀看到一些與構件理論相通的理念:使軟件系統(tǒng)的功能明確化、結構清晰,便于維護人員后期的維護工作等等。

構件理論是在面向?qū)ο髸r代提出的,從前述構件思想產(chǎn)生的過程我們可以看出,構件是針對軟件開發(fā)速度達不到需求和軟件的復雜性日益增大而提出的,是針對開發(fā)人員的,因此構件所要解決的問題首先是復用,其次是降低軟件開發(fā)的復雜度??梢钥吹?模塊是構件提出之前理解軟件結構的一種方式,而構件則是針對復用而提出的一種開發(fā)方式。

3.構件的獲取

構件的獲取是實現(xiàn)構件開發(fā)的基礎和前提,只有擁有組成系統(tǒng)所必須的構件,在開發(fā)系統(tǒng)時才能快速地實現(xiàn)組裝,或者僅開發(fā)部分的功能,然后組裝已有的構件從而構成所需的完整系統(tǒng)。那么,如何獲取構件呢?一般來說構件的獲取主要有以下四種途徑:(1)從專有構件庫中獲取預定義的構件,這無疑是最快捷的方式,但需要軟件開發(fā)機構有預先為構件專門建立的庫,當需要時直接查找?guī)熘械臉嫾岢鰬?(2)從外部廠商購買相關的構件,現(xiàn)有的商業(yè)化條件下有專門為一定應用開發(fā)的構件,只要支付相應的費用就可獲得;(3)專門開發(fā)的構件,這種雖類似從零開始開發(fā)而獲取構件的方法,但卻為以后的復用建立了基礎;(4)從已有的軟件系統(tǒng)中提取適用的構件,盡管這樣獲取構件復雜且難度較大,但卻是一種非常經(jīng)濟的方式。

相應地,在網(wǎng)絡課程開發(fā)中,我們也可以按照上述獲取構件的途徑來得到符合需要的網(wǎng)絡課程構件。其中,后兩種方式應該是網(wǎng)絡課程開發(fā)人員所主要關注的。同時,為了后續(xù)復用的便利,將構件分類歸屬之后建立網(wǎng)絡課程所需的構件庫也是非常好的選擇。

二、基于構件開發(fā)網(wǎng)絡課程的優(yōu)勢

構件技術在軟件開發(fā)中的優(yōu)勢是顯而易見的,不僅可以使復用得以按照開發(fā)人員的意愿實現(xiàn),從而減輕了軟件開發(fā)的難度、縮短開發(fā)周期,更重要的是使得軟件工廠成為可能,軟件的流水線開發(fā)不再是遙不可及的夢想。網(wǎng)絡課程作為在Internet上運行的軟件系統(tǒng),其開發(fā)同樣需要軟件工程學的指導,構件理論的引入無疑也為網(wǎng)絡課程的開發(fā)提供了一條新的途徑,使得網(wǎng)絡課程開發(fā)效率上升到一個新的水平。

1.接口規(guī)范,便于組裝復用

構件作為一種新興的思想引入到軟件工程學領域之初,其最大的目的就是實現(xiàn)軟件的工業(yè)化開發(fā),即軟件部分實現(xiàn)可復用。軟件工程學認為:一個軟件“應用功能的60%~70%和其他軟件應用的功能相同;40%~60%的代碼在其他的軟件應用中是可以復用的;60%的設計在其他的軟件應用中也是可以復用的”。[4] 然而要使得復用得以實現(xiàn),除了構件本身適應平臺和環(huán)境的能力外,最大的障礙就是標準的形成,即構件必須符合一定的標準,最簡單的理解就是程序接口、數(shù)據(jù)格式要遵從一定的規(guī)范。

在網(wǎng)絡課程開發(fā)過程中,要使得課程的構件得以復用,也必須符合一定的接口規(guī)范,這樣在構件組裝時就可以實現(xiàn)無縫耦合。我國試行的《現(xiàn)代遠程教育資源建設技術規(guī)范》為網(wǎng)絡課程中涉及的人員、素材、過程等都提供了一定的規(guī)范描述,開發(fā)者可以參考其中的規(guī)定進行數(shù)據(jù)庫的設計、程序部分的開發(fā)和頁面規(guī)格的設定,當需要實現(xiàn)整個網(wǎng)絡課程時,只需查看構件外部的接口參數(shù),進行簡單的組裝即可完成。

2.單元微型,便于分析和實現(xiàn)

網(wǎng)絡課程作為一個結構龐大的軟件系統(tǒng),要實現(xiàn)相關功能的設計是非常復雜的,從學生的學籍管理到教師的教務管理,從最初的學習目標設定到最終的學習結果評價,從豐富內(nèi)容的提供到多樣的媒體選擇,涉及學生、教師、管理人員對系統(tǒng)的使用,包括了數(shù)據(jù)庫、開發(fā)技術、美工設計等工作,對于網(wǎng)絡課程的開發(fā)團隊來說完成一門高質(zhì)量的網(wǎng)絡課程是十分不易的事。而構件理論的提出,為解決這一問題提供了很好的途徑。

構件的提出使得網(wǎng)絡課程的開發(fā)可以先基于微型單元實現(xiàn),整個網(wǎng)絡課程可以分解為一個個內(nèi)部相互獨立、外部依靠標準接口相耦合的單元,然后分別開發(fā),最后只要依據(jù)接口規(guī)范加以組裝就可完成。這樣既便于各單元的深入分析,以獲取詳細的需求信息,同時也利于開發(fā)人員實現(xiàn)程序。例如,對于學籍管理構件單元,可以全面分析學習者個體的屬性,抽象為個體數(shù)據(jù)字段;深入分析學習者作為群體中的一員,可能與其他學習者、教師、管理人員進行交互所需的屬性,抽象為關聯(lián)數(shù)據(jù)字段。這樣的分析利于數(shù)據(jù)庫中表的建立和開發(fā)時程序的實現(xiàn)。

3.功能明確,便于測試與維護

任何一個獨立的構件都是具有明確功能的,這樣不僅便于開發(fā),更為測試和后期維護提供了方便。軟件測試的重要性隨著軟件規(guī)模的擴大越來越多得到重視,甚至在軟件開發(fā)周期中作為一個獨立的階段被提出,而與此同時,測試的難度也逐漸暴露。但當我們明確系統(tǒng)某個單元的功能時,測試便相對容易,此時無論采用黑盒測試還是白盒測試,測試員的目的是明確的,相應的工作量也將減少。同樣,軟件維護的重要性也隨著軟件規(guī)模的擴大而日益突顯,對于維護人員,他們可能不是軟件的直接開發(fā)者,即使在有文檔的情況下,要全面而準確地理解軟件的設計開發(fā)也是比較困難的,因此,維護的困難也成為制約軟件正常運行的一個關鍵因素。然而,在基于構件的開發(fā)中,由于各個構件都是具有獨立配置的單元,所以作為整體的軟件系統(tǒng)具有良好的可維護性。

對于一個完整的網(wǎng)絡課程而言,測試和維護同樣是困擾測試人員和維護人員的難題。但是基于構件的開發(fā),由于其構件內(nèi)部良好的自包容性使單元測試相對容易,進而降低了整體測試的難度。例如需要測試網(wǎng)絡課程的學籍管理功能時,首先作為單獨構件的測試保證了學籍管理內(nèi)部的正確性,其次具有規(guī)范接口的外部特性也方便網(wǎng)絡課程的整體測試。在網(wǎng)絡課程使用過程中,維護人員往往不是課程系統(tǒng)的開發(fā)人員,例如需要對學籍管理功能進行適應性維護,添加階段性測試結果的統(tǒng)計功能,維護人員可能要在大量數(shù)據(jù)字段和復雜的頁面調(diào)用之間查找學生的學籍屬性,更改數(shù)據(jù)表,重寫顯示代碼,添加傳遞參數(shù)等等,但如果是基于構件的開發(fā),維護將容易實現(xiàn),只需要在學籍管理構件內(nèi)修改數(shù)據(jù)表,然后添加相應顯示參數(shù)即可,而不必考慮復雜的關聯(lián)過程。

三、基于構件理論的網(wǎng)絡課程開發(fā)舉例——答疑系統(tǒng)構件的設計

答疑系統(tǒng)在網(wǎng)絡課程中有非常重要的作用,不僅對于學生學習專業(yè)知識和師生之間情感的交流具有巨大的幫助,對不斷完善網(wǎng)絡課程的工作亦具有重要意義。在以往的網(wǎng)絡課程設計中,習慣于將答疑功能作為一個單獨的系統(tǒng)實現(xiàn),如圖1(a)所示,這樣的開發(fā)不能實現(xiàn)答疑模塊的復用,同時也使得整個網(wǎng)絡課程系統(tǒng)龐大而復雜。[6]

從圖1的對比中,我們可以看到,答疑功能作為構件設計的變化主要有兩點:一是系統(tǒng)外部接口。在設計開發(fā)時確保構件接口數(shù)據(jù)遵循一定的規(guī)范,這樣在實現(xiàn)系統(tǒng)時就只需要組裝構件,共用登錄模塊,而不再單獨開發(fā)登錄模塊。目前我國試行的《現(xiàn)代遠程教育資源建設技術規(guī)范》可作為一個參考的標準,學習者、教師、管理者的數(shù)據(jù)只要符合該規(guī)范,在開發(fā)其他網(wǎng)絡課程時只需要修改處理數(shù)據(jù),就能使用答疑構件。二是系統(tǒng)內(nèi)部的數(shù)據(jù)存儲。數(shù)據(jù)的存儲不再作為一個單獨的數(shù)據(jù)庫存在,而是轉(zhuǎn)化為數(shù)據(jù)庫中的部分數(shù)據(jù)文件,只要在開發(fā)過程中,這些數(shù)據(jù)文件符合標準SQL的語法,在任何一種數(shù)據(jù)庫平臺上都可以良好地運行。

四、結束語

網(wǎng)絡課程開發(fā)不僅需要教育教學理論的指導,同時也需要軟件工程學相關理論的指導,要求開發(fā)人員既理解教育又具備技術技能,只有這樣才能開發(fā)出優(yōu)質(zhì)的網(wǎng)絡課程。我們在具備了一定教育教學理論的基礎上,試圖在軟件開發(fā)理論和方法上尋求新的途徑,以使網(wǎng)絡課程的開發(fā)更加達到教育教學的目標,同時也更符合作為軟件系統(tǒng)的技術要求。構件理論及技術在網(wǎng)絡課程開發(fā)中的應用正是我們這一探索的結果。

參考文獻:

[1]林君芬,余勝泉.關于我國網(wǎng)絡課程現(xiàn)狀與問題的思考[J].現(xiàn)代教育技術,2001(2):55.

[2]王志賢,費玉奎,婁淵清.軟件構件技術及應用[M].北京:科學出版社,2005:9.

[3]鐘珞.現(xiàn)代軟件工程學[M].北京:國防工業(yè)出版社,2004:129.

[4][美]Carma McClure.王亞沙,謝冰,趙俊峰等譯.軟件復用標準指南[M].北京:電子工業(yè)出版社, 2004:6.

[5]謝康寧,謝百治,李冰.網(wǎng)絡課程答疑系統(tǒng)的研究與實現(xiàn)[J].中國醫(yī)學教育技術, 2005(5):238.

猜你喜歡
網(wǎng)絡課程開發(fā)設計
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
虛擬化技術在計算機教學中的應用
網(wǎng)絡課程設計中學習動力培養(yǎng)策略研究
高校思政課網(wǎng)絡教育陣地開辟的探索與研究
河南方言文化資源的保護及其開發(fā)利用的研究
淺析混合學習模式下的教師培訓網(wǎng)絡課程設計策略
文教資料(2016年19期)2016-11-07 11:12:15
遵義紅色旅游開發(fā)對策研究
基于J2EE和Ionic的ITer學習APP設計與開發(fā)
辽中县| 江达县| 西乌珠穆沁旗| 河西区| 噶尔县| 龙州县| 商洛市| 阳新县| 乌兰浩特市| 阿勒泰市| 新巴尔虎右旗| 临西县| 台安县| 兴国县| 夏津县| 肇州县| 将乐县| 郧西县| 扬州市| 凉城县| 南投市| 乌苏市| 永靖县| 太仆寺旗| 宾川县| 崇左市| 鲁山县| 彩票| 衡阳市| 鸡东县| 织金县| 高邑县| 阿城市| 贡嘎县| 河东区| 青田县| 芦山县| 冕宁县| 潜江市| 镇平县| 东海县|