葛志勇
(淮陰師范學(xué)院,江蘇 淮安 223300)
*收稿日期:2013-11-08
網(wǎng)絡(luò)教育與傳統(tǒng)課題教學(xué)相比有許多優(yōu)勢,但是也存在許多不足的地方。
當(dāng)前大多數(shù)網(wǎng)絡(luò)教學(xué)平臺采用都是B/S模式設(shè)計,這種模式雖然部署簡單,但是表現(xiàn)手段和交互方式單一。同時,這種模式將業(yè)務(wù)邏輯集中在服務(wù)端,無法充分的發(fā)揮客戶端的軟硬件資源。以云計算和富客戶端為代表的新一代互聯(lián)網(wǎng)技術(shù)的出現(xiàn)為探索全新網(wǎng)絡(luò)教育模式提供了可能。
CDIO工程教育模式是瑞典皇家工學(xué)院和美國麻省理工學(xué)院等大學(xué)經(jīng)過四年的探索研究耗資2000萬美元創(chuàng)立的工程教育理念,是近年來國際工程教育改革的最新成果。CDIO是英文單詞構(gòu)思(Conceive)、設(shè)計(Design)、實現(xiàn)(Implement)和運(yùn)作(Operate)的縮寫。CDIO首次詳細(xì)闡述了工程師所必備的知識、能力和態(tài)度的內(nèi)容。CDIO將產(chǎn)品/系統(tǒng)的生命周期作為載體,不僅重視培養(yǎng)學(xué)生的基礎(chǔ)理論、專業(yè)技能,并在工程領(lǐng)域的情境中展開教學(xué)活動,重視培養(yǎng)學(xué)生的創(chuàng)新實踐能力、團(tuán)隊合作意識以及溝通交流能力,重視培養(yǎng)學(xué)生對系統(tǒng)進(jìn)行構(gòu)思、設(shè)計、實施、運(yùn)行的綜合能力。CDIO是一個開放的教育理念,不同學(xué)校和專業(yè)可以根據(jù)自身的情況開展CDIO教學(xué)改革,概括起來CDIO教育理念包括:1個大綱和12條標(biāo)準(zhǔn)。在我國,2008年教育部在汕頭大學(xué)、清華大學(xué)等30多所知名高校進(jìn)行CDIO工程教育理念的教學(xué)改革,取得了非常好的效果。
本文擬在國際比較流行的云計算平臺Google App Engine上使用Flex富客戶端技術(shù),研究如何構(gòu)建一個基于CDIO工程教育理念設(shè)計的自主學(xué)習(xí)系統(tǒng),從而為在新技術(shù)環(huán)境下設(shè)計全新的網(wǎng)絡(luò)教育模式做出有益的嘗試。
CDIO工程教育思想的12條標(biāo)準(zhǔn)包括:以CDIO 為基本環(huán)境、學(xué)習(xí)目標(biāo)、一體化教學(xué)計劃、工程導(dǎo)論、設(shè)計-實現(xiàn)經(jīng)驗、工程實踐場所、綜合性學(xué)習(xí)經(jīng)驗、主動學(xué)習(xí)、教師能力的提升、教師教學(xué)能力的提高、學(xué)生考核、專業(yè)評估。網(wǎng)絡(luò)教學(xué)與傳統(tǒng)課題教學(xué)有顯著的不同,在將CDIO思想引入到網(wǎng)絡(luò)教學(xué)過程中應(yīng)靈活的理解這12條標(biāo)準(zhǔn)。在網(wǎng)絡(luò)環(huán)境中,教師因素被極大弱化,而計算機(jī)技術(shù)的因素被放大,可以充分利用計算機(jī)技術(shù)為學(xué)生創(chuàng)作一個逼真的CDIO工程環(huán)境,充分激發(fā)學(xué)生的主動學(xué)習(xí)熱情,同時為保障學(xué)習(xí)的效果還要引入合理的評價機(jī)制。本次研究以軟件工程課程為例,設(shè)計了一個軟件工程自主學(xué)習(xí)平臺。研究人員首先設(shè)計了一個真實的軟件開發(fā)案例為學(xué)生提供了一個CDIO環(huán)境,然后為了充分調(diào)動學(xué)生的自主學(xué)生熱情,將這個軟件開發(fā)案例作為故事背景設(shè)計了多人在線的RPG(角色扮演游戲)游戲。游戲故事的背景是圍繞著一個叫君莫笑的某大學(xué)計算機(jī)系大三學(xué)生為了幫助爺爺擺脫經(jīng)營困境,走上軟件開發(fā)之路的故事。游戲按照軟件工程思想劃分成可行性分析、需求分析、軟件設(shè)計、代碼編寫、測試、運(yùn)行6個關(guān)卡。
自主學(xué)習(xí)平臺包括:用戶中心、資料中心、軟件世界大冒險和互動學(xué)習(xí)社區(qū)4個功能模塊。
(一)用戶中心
該模塊的功能是完成用戶信息的管理包括用戶信息注冊、用戶登錄、用戶信息管理和維護(hù)。自主學(xué)習(xí)平臺的典型用戶有兩類:學(xué)生和系統(tǒng)管理員。學(xué)員是系自主學(xué)習(xí)系統(tǒng)的使用者,學(xué)員的信息包括:學(xué)號、姓名、性別、入學(xué)時間、院系、電郵地址、感興趣的軟件開發(fā)用具、感興趣的軟件技術(shù)等。通過對自主學(xué)習(xí)系統(tǒng)用戶的信息的收集可以進(jìn)一步對學(xué)員的知識背景、學(xué)習(xí)興趣進(jìn)行分析,為CDIO軟件開發(fā)任務(wù)的設(shè)定提供參考。系統(tǒng)管理員負(fù)責(zé)自主學(xué)習(xí)系統(tǒng)資料中心模塊的管理和維護(hù),包括學(xué)習(xí)資料的發(fā)布、學(xué)習(xí)資料的更新和學(xué)習(xí)資料的注銷。
(二)資料中心
該模塊的功能是為學(xué)生提供“軟件世界大冒險”游戲中涉及到的所有的軟件開發(fā)相關(guān)知識的查詢,幫助學(xué)生解決游戲中出現(xiàn)的各種軟件開發(fā)問題,使學(xué)生更好的完成游戲中軟件開發(fā)任務(wù)。資料中心模塊在功能上與傳統(tǒng)網(wǎng)絡(luò)學(xué)習(xí)平臺知識展示部分是一致的,在內(nèi)容的組織上以游戲中的軟件開發(fā)任務(wù)為主線,打破了傳統(tǒng)教學(xué)中課程的界限,將程序設(shè)計基礎(chǔ)、數(shù)據(jù)庫原理、軟件工程等多門課程的知識組織在一起,通過任務(wù)的方式引導(dǎo)學(xué)生自主學(xué)習(xí),構(gòu)建自己的軟件開發(fā)知識體系。
(三)軟件世界大冒險
該模塊是本系統(tǒng)的核心,包括游戲主程序、地圖系統(tǒng)、角色系統(tǒng)、任務(wù)系統(tǒng)、成就系統(tǒng)、道具系統(tǒng)和測試系統(tǒng)。游戲主程序的功能是設(shè)置系統(tǒng)的運(yùn)行環(huán)境,創(chuàng)建、管理各子系統(tǒng)實例。地圖系統(tǒng)的功能是管理系統(tǒng)的地圖信息。角色系統(tǒng)的功能是管理系統(tǒng)的各種角色。任務(wù)系統(tǒng)的功能是管理系統(tǒng)的任務(wù)信息。成就系統(tǒng)的功能是管理角色的成就信息。道具系統(tǒng)的功能是管理系統(tǒng)的道具和虛擬幣信息。測試系統(tǒng)的功能是在每個關(guān)卡的關(guān)底進(jìn)行隨機(jī)測試。
(四)互動學(xué)習(xí)社區(qū)
該模塊的功能是為學(xué)生和學(xué)生、學(xué)生和教師提供一個交流游戲心得、學(xué)習(xí)體驗、問題答疑的平臺,包括學(xué)習(xí)資源發(fā)布、學(xué)習(xí)資源下載、學(xué)習(xí)心得交流和即時學(xué)習(xí)討論4個模塊。學(xué)習(xí)資源發(fā)布和下載模塊為學(xué)生提供了發(fā)布根據(jù)游戲任務(wù)開發(fā)的軟件和技術(shù)資料的功能,同時也可以獲得其他學(xué)生開發(fā)的程序和學(xué)習(xí)資料;學(xué)習(xí)心得交流和即時學(xué)習(xí)討論模塊為學(xué)生提供了類似BBS信息交流的工具,學(xué)生可以交流學(xué)習(xí)心得?;訉W(xué)習(xí)社區(qū)模塊是完善網(wǎng)絡(luò)教學(xué)手段的重要環(huán)節(jié),連接線上學(xué)習(xí)和下線實踐的橋梁,形成完整的網(wǎng)絡(luò)教學(xué)過程的關(guān)鍵。
本系統(tǒng)是在Google公司提供的云計算PaaS解決方案Google App Engine環(huán)境下使用Flex富客戶端和J2EE多層架構(gòu)設(shè)計的。在云計算環(huán)境下基于Flex和J2EE多層模式與傳統(tǒng)的B/S模式的網(wǎng)絡(luò)應(yīng)用相比,提高了系統(tǒng)的可擴(kuò)展性、可維護(hù)性、可重用型和用戶體驗。它將業(yè)務(wù)邏輯、數(shù)據(jù)展示和數(shù)據(jù)持久操作相分離,使用系統(tǒng)的維護(hù)更加簡便,同時通過使用框架技術(shù),降低了開發(fā)人員學(xué)習(xí)的難點使開發(fā)人員可以更注重于系統(tǒng)的業(yè)務(wù)邏輯。另外,云計算環(huán)境的使用既降低了系統(tǒng)運(yùn)行維護(hù)的成本,又可以很好的解決自主學(xué)習(xí)系統(tǒng)波段性訪問的需求,為系統(tǒng)提供良好的擴(kuò)展性。
(一)富客戶層
學(xué)生、管理員均處于富客戶層,該層運(yùn)行在Web瀏覽器的FlashPlayer插件中,為用戶提供了用戶界面和游戲界面,作為用戶與自主學(xué)習(xí)平臺之間的交互接口,將用戶的交互請求發(fā)送到部署在Google App Engine上的中間層組件上。用戶通過FlashPlayer和WEB瀏覽器訪問部署在Google App Engine上的中間層Web Server,中間層Web Server接受了用戶提交的請求后,調(diào)用相關(guān)的業(yè)務(wù)邏輯組件,執(zhí)行業(yè)務(wù)邏輯,調(diào)用數(shù)據(jù)持久層中的數(shù)據(jù)持久組件向數(shù)據(jù)庫或者文件系統(tǒng)發(fā)出數(shù)據(jù)操作請求,并將處理的結(jié)果用過Web Server反饋給用戶。
(二) Google App Engine
云計算的定義有很多種,這里我們引用百度百科中的定義:云計算由一系列可以動態(tài)升級和被虛擬化的資源組成,這些資源被所有云計算的用戶共享并且可以方便地通過網(wǎng)絡(luò)訪問,用戶無需掌握云計算的技術(shù),只需要按照個人或者團(tuán)體的需要租賃云計算的資源。利用云計算企業(yè)可以節(jié)約成本,不用投資購買昂貴的硬件設(shè)備,無需負(fù)擔(dān)頻繁地維護(hù)與升級費(fèi)用,也不需要建立自己的數(shù)據(jù)中心、大型機(jī)房、服務(wù)器中心等,并相應(yīng)減少軟硬件的運(yùn)行維護(hù)費(fèi)用和IT人員的實施費(fèi)。運(yùn)算分為IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺即服務(wù))和SaaS(軟件即服務(wù))3個層次。
自主學(xué)習(xí)平臺運(yùn)行的云計算環(huán)境是Google App Engine。Google App Engine簡稱GAE是Google公司提供的PaaS產(chǎn)品,GAE平臺可以為系統(tǒng)提供開發(fā)和運(yùn)行環(huán)境、服務(wù)器平臺、硬件資源給用戶,已經(jīng)提供應(yīng)用軟件開發(fā)、云存儲、托管以及Web應(yīng)用服務(wù)。用戶不必再需要維護(hù)服務(wù)器,用戶可以基于Google的基礎(chǔ)設(shè)施上傳和運(yùn)行應(yīng)用程序。實踐上GAE為用戶提供了一個托管平臺,用戶可以將他們的開發(fā)發(fā)布到PaaS云平臺上。
(三)中間層
中間層利用Flex BlazeDS組件、Spring 和 JDO等技術(shù)構(gòu)建自主學(xué)習(xí)系統(tǒng)的各部分功能,它位于應(yīng)用程序服務(wù)器上,主要由三部分組成:代理服務(wù)器層 、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層。
(四)數(shù)據(jù)層
數(shù)據(jù)層是數(shù)據(jù)庫管理系統(tǒng)(DBMS)和文件系統(tǒng),負(fù)責(zé)數(shù)據(jù)的存儲管理、安全管理、完整性管理和一致性管理,系統(tǒng)使用的是Google App Engine提供DataStore數(shù)據(jù)庫。DataStore是一個采用層次模型的NoSql數(shù)據(jù)庫。該層存儲的信息主要有:軟件開發(fā)資料信息、學(xué)生信息、管理信息、游戲的賬戶信息、游戲狀態(tài)、學(xué)習(xí)資源信息以及站內(nèi)消息等數(shù)據(jù)。
CDIO工程教學(xué)作為創(chuàng)新教育理念下的新型教學(xué)模式,是我國工程教育改革的研究熱點。本文依托云計算和富客戶端技術(shù)構(gòu)造了一個軟件工程課程的自主學(xué)習(xí)平臺,并在該平臺上開展了一系列將CDIO工程教育理念引入到網(wǎng)絡(luò)教學(xué)實踐的探索性嘗試,得出結(jié)論: CDIO工程教學(xué)改革對網(wǎng)絡(luò)教學(xué)改革有很好的借鑒意義,相信這個平臺的建立也會進(jìn)一步促進(jìn)高校相關(guān)網(wǎng)絡(luò)教學(xué)研究的發(fā)展。