宋芳菲 張冬玉 相鳳華
摘 要:桌面虛擬現(xiàn)實教學(xué)軟件是虛擬現(xiàn)實技術(shù)在計算機輔助教學(xué)領(lǐng)域的應(yīng)用實例,是多媒體教學(xué)軟件向虛擬化、智能化、網(wǎng)絡(luò)化發(fā)展的體現(xiàn)。本文以敏捷軟件開發(fā)思想為指導(dǎo),將RUP統(tǒng)一過程軟件開發(fā)模型與Scrum敏捷軟件開發(fā)方法相結(jié)合,形成一種ARUP敏捷統(tǒng)一軟件開發(fā)框架和管理方法,并基于ARUP框架與教學(xué)系統(tǒng)設(shè)計方法,結(jié)合桌面虛擬現(xiàn)實技術(shù)特點,建構(gòu)了桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型,且依據(jù)此模型實施了攝影虛擬實驗室的設(shè)計與開發(fā),對桌面虛擬現(xiàn)實教學(xué)軟件的開發(fā)有一定指導(dǎo)作用。
關(guān)鍵詞:桌面虛擬現(xiàn)實教學(xué)軟件;軟件開發(fā)模型;ARUP;Scrum;EON Studio
中圖分類號:G434 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2018)23-0086-07
一、引言
隨著《中國虛擬現(xiàn)實產(chǎn)業(yè)白皮書》的發(fā)布,我國虛擬現(xiàn)實產(chǎn)業(yè)進(jìn)入了迅速發(fā)展時期,[1]虛擬現(xiàn)實研究也已成為教育技術(shù)的重要研究方向。[2]教育部成立了虛擬現(xiàn)實應(yīng)用工程研究中心,[3]啟動了國家級虛擬仿真實驗教學(xué)中心建設(shè)工作,計劃每年產(chǎn)生100個虛擬仿真實驗教學(xué)中心,[4]以有效推動虛擬現(xiàn)實在教育行業(yè)的發(fā)展。未來虛擬現(xiàn)實技術(shù)將在基礎(chǔ)教育、高等教育、成人教育等領(lǐng)域得到廣泛應(yīng)用,[3]將革新知識獲取的渠道和學(xué)習(xí)交互的方式,形成一個全新的教育生態(tài)系統(tǒng)。[5]
虛擬現(xiàn)實可以分為桌面虛擬現(xiàn)實、沉浸式虛擬現(xiàn)實、分布式虛擬現(xiàn)實、增強虛擬現(xiàn)實四大類,目前限制虛擬現(xiàn)實在教育中廣泛應(yīng)用的主要因素有兩個:一是產(chǎn)生和維護(hù)高沉浸感的虛擬現(xiàn)實設(shè)備與環(huán)境價格昂貴;二是佩戴虛擬現(xiàn)實設(shè)備給學(xué)習(xí)者帶來的生理和心理的不適感,因此相對低沉浸感的桌面虛擬現(xiàn)實顯示出在教育教學(xué)中的良好應(yīng)用前景。[6]
桌面虛擬現(xiàn)實作為一種低成本的虛擬現(xiàn)實技術(shù),因其良好的視聽感受、實時的人機交互以及便捷的網(wǎng)絡(luò)傳輸?shù)葍?yōu)勢,更多地應(yīng)用于中小型教學(xué)軟件開發(fā),形成了多種以桌面虛擬現(xiàn)實學(xué)習(xí)環(huán)境為核心的教學(xué)應(yīng)用軟件,如虛擬實驗室、虛擬教育游戲、虛擬漫游系統(tǒng)等,可以統(tǒng)稱為桌面虛擬現(xiàn)實教學(xué)軟件。
桌面虛擬現(xiàn)實教學(xué)軟件既是應(yīng)用于教學(xué)的計算機程序,又是具有特定教學(xué)功能的教學(xué)材料,還具有沉浸、交互、構(gòu)想三個虛擬現(xiàn)實技術(shù)特性,[1]因此其具有程序性、教學(xué)性、[7]虛擬性三重屬性,它的開發(fā)是一個利用桌面虛擬現(xiàn)實技術(shù)和教學(xué)設(shè)計方法對軟件系統(tǒng)和教學(xué)系統(tǒng)實施并行設(shè)計開發(fā)的過程,是一個對技術(shù)要求較高、相對復(fù)雜的軟件開發(fā)過程。
目前虛擬現(xiàn)實教學(xué)系統(tǒng)的開發(fā)多以技術(shù)為主線,大致分為媒體素材與三維模型制作、虛擬場景設(shè)計與實現(xiàn)、交互控制設(shè)計與實現(xiàn)、系統(tǒng)測試與發(fā)布幾個階段,開發(fā)過程重視技術(shù)工具的應(yīng)用,缺少教學(xué)設(shè)計理論和相關(guān)學(xué)科知識的支持,缺少合理有效的教學(xué)軟件開發(fā)模型作為指導(dǎo)。雖然有部分研究體現(xiàn)了教學(xué)設(shè)計和軟件工程思想,闡述了簡單的開發(fā)流程,[8-10]但未對虛擬現(xiàn)實教學(xué)軟件的開發(fā)過程與方法做出系統(tǒng)闡述。因此,為適應(yīng)桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)過程的復(fù)雜性,規(guī)避風(fēng)險、降低成本,同時保證軟件開發(fā)的質(zhì)量和效率,構(gòu)建一個具有理論指導(dǎo)和實踐參考價值的桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型是虛擬現(xiàn)實教學(xué)應(yīng)用領(lǐng)域中值得研究的課題。
二、桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型建構(gòu)思路與方法
依據(jù)桌面虛擬現(xiàn)實教學(xué)軟件的三重屬性,可以在厘定其概念范圍的基礎(chǔ)上,結(jié)合桌面虛擬現(xiàn)實技術(shù)特點,參考已有的教學(xué)軟件開發(fā)模型,利用軟件工程和教學(xué)設(shè)計理論與方法來共同建構(gòu)桌面虛擬現(xiàn)實教學(xué)軟件的開發(fā)模型。
1.桌面虛擬現(xiàn)實教學(xué)軟件及其核心技術(shù)分析
(1)桌面虛擬現(xiàn)實教學(xué)軟件定義
桌面虛擬現(xiàn)實是一種低沉浸感的虛擬現(xiàn)實,它是利用計算機生成一種可交互的三維虛擬環(huán)境,用戶使用標(biāo)準(zhǔn)外設(shè),如鼠標(biāo)、鍵盤等,通過計算機屏幕觀察和操縱虛擬環(huán)境與對象,實現(xiàn)實時人機交互的技術(shù)。[11]
桌面虛擬現(xiàn)實教學(xué)軟件就是利用桌面虛擬現(xiàn)實技術(shù)開發(fā)的教學(xué)應(yīng)用軟件,其狹義定義是指根據(jù)教學(xué)目標(biāo)開發(fā)的,以多媒體與交互式三維模擬環(huán)境為表現(xiàn)方式,以超媒體結(jié)構(gòu)組織的具有一定沉浸感和實時人機交互,用于呈現(xiàn)特定教學(xué)內(nèi)容、反映特定教學(xué)策略、實現(xiàn)特定教學(xué)功能的三維模擬程序,也可稱為虛擬現(xiàn)實程序。其廣義定義是指以桌面虛擬現(xiàn)實技術(shù)為核心,并綜合其它支持ActiveX插件的主程序(如Visual Basic、Director等)或其它軟件開發(fā)技術(shù)設(shè)計開發(fā)的除虛擬展示教學(xué)和虛擬實驗外,功能更為全面的教學(xué)軟件系統(tǒng)。
(2)桌面虛擬現(xiàn)實核心技術(shù)分析
實現(xiàn)桌面虛擬現(xiàn)實的方法大致有三種:①基于語言編程,即采用底層圖形開發(fā)接口OpenGL或DirectX,或是Java3D技術(shù)、VRML虛擬現(xiàn)實建模語言等編程實現(xiàn)三維圖形系統(tǒng)。[12]②基于二維圖像,即對物體和環(huán)境進(jìn)行實地的多角度環(huán)視拍攝,將形成的靜止圖像進(jìn)行后期縫合,建立實景化虛擬空間,并通過加載播放程序來完成展示。[13] 常用軟件有QTVR、PixMaker等,主要用于虛擬漫游系統(tǒng)的開發(fā)。③基于三維建模,這類虛擬現(xiàn)實軟件支持多種格式三維模型的導(dǎo)入,可使用已封裝的功能節(jié)點實現(xiàn)對三維虛擬環(huán)境的交互操作,可嵌入支持ActiveX插件的其它主程序,實現(xiàn)多種形式的顯示發(fā)布。[14] 常用軟件有Virtools、EON Studio等,可用于網(wǎng)絡(luò)虛擬展示、網(wǎng)絡(luò)虛擬游戲或其它大型虛擬現(xiàn)實系統(tǒng)的開發(fā)。綜上,桌面虛擬現(xiàn)實的核心技術(shù)主要體現(xiàn)在虛擬環(huán)境建模、人機交互和實時顯示三方面。虛擬現(xiàn)實程序的開發(fā)過程可以概括為虛擬建模、交互操作、顯示發(fā)布三個階段,具體如圖1所示。
2.教學(xué)軟件開發(fā)模型的相關(guān)研究
目前教學(xué)軟件開發(fā)模型主要是基于教學(xué)系統(tǒng)設(shè)計方法與軟件工程開發(fā)模型來建構(gòu)的。曾有研究者基于傳統(tǒng)軟件開發(fā)模型提出了教學(xué)軟件的瀑布開發(fā)模型[15]、原型開發(fā)模型[16]、螺旋開發(fā)模型[17],這類模型雖然在一定程度上體現(xiàn)了迭代開發(fā)的思想,但仍強調(diào)開發(fā)過程的階段性和順序性,難以適應(yīng)系統(tǒng)需求的快速變化,且對開發(fā)過程缺乏系統(tǒng)的闡述和規(guī)定。也有研究者提出了基于RUP統(tǒng)一過程的多媒體課件開發(fā)模型[18]和基于RUP改進(jìn)模型的教學(xué)軟件開發(fā)模型,[19]這種模型充分體現(xiàn)了迭代增量的開發(fā)思想,為教學(xué)軟件開發(fā)提供了一個相對穩(wěn)定的框架結(jié)構(gòu),具有較好的通用性,但缺少對開發(fā)過程管理方法的闡述。
敏捷方法是以代碼為核心的、富于靈活性的新型軟件開發(fā)方法,可通過有效溝通和緊密協(xié)作來簡化、管理和控制軟件開發(fā)過程,以適應(yīng)系統(tǒng)需求的快速變化,為軟件開發(fā)提供過程管理框架,已有研究者提出應(yīng)用XP極限編程敏捷方法管理教育軟件開發(fā)過程,[20]也有研究將RUP過程模型與敏捷方法有效結(jié)合,形成兼具二者優(yōu)勢的ARUP敏捷統(tǒng)一軟件開發(fā)方法,[21]因此可以嘗試使用ARUP敏捷統(tǒng)一方法來更好地指導(dǎo)教學(xué)軟件的開發(fā)。
3.RUP與Scrum相結(jié)合的ARUP軟件開發(fā)模型
(1)RUP統(tǒng)一過程軟件開發(fā)模型
RUP(Rational Unified Process)統(tǒng)一軟件開發(fā)模型綜合了多種軟件開發(fā)模型的優(yōu)點,是一個具有通用性的二維軟件開發(fā)模型,如圖2所示。[22]橫軸代表軟件開發(fā)過程的時間維度,以初始、細(xì)化、構(gòu)造和交付四個迭代階段展現(xiàn)軟件開發(fā)的生命周期,體現(xiàn)了開發(fā)過程的動態(tài)結(jié)構(gòu);縱軸代表軟件開發(fā)過程的內(nèi)容維度,以需求、分析設(shè)計、實現(xiàn)等九個核心工作流闡明了迭代過程執(zhí)行的相關(guān)活動,體現(xiàn)了開發(fā)過程的靜態(tài)結(jié)構(gòu)。RUP模型是以用例驅(qū)動、以基本架構(gòu)為中心、以迭代和增量方式進(jìn)行軟件開發(fā)的。
(2)Scrum敏捷軟件開發(fā)方法
Scrum是目前應(yīng)用較為廣泛的敏捷軟件開發(fā)方法,包括了一系列核心實踐和預(yù)定義角色,如圖3所示。[23] Scrum開發(fā)過程由多個Sprint迭代周期組成,每個 Sprint起始首先由產(chǎn)品負(fù)責(zé)人編寫產(chǎn)品功能訂單(Product Backlog),再由Scrum開發(fā)團(tuán)隊討論確定本次Sprint迭代需要完成的開發(fā)任務(wù),并按照優(yōu)先級排序形成迭代開發(fā)任務(wù)列表(Sprint Backlog)。進(jìn)入開發(fā)周期后,每個工作日都要組織每日簡會,團(tuán)隊成員相互通告工作進(jìn)度,并以燃盡圖(Burndown chart)表示剩余工作量。在Sprint末期,將召開評審會議,將階段性成果展示給產(chǎn)品負(fù)責(zé)人和用戶,獲得反饋意見,最后召開回顧會議,總結(jié)問題和經(jīng)驗,為下一個Sprint周期做好準(zhǔn)備。Scrum的工作流程可以體現(xiàn)出4個重要核心實踐,即客戶現(xiàn)場、面對面交流、持續(xù)集成和頻繁發(fā)布。[24]
(3)ARUP敏捷統(tǒng)一過程軟件開發(fā)框架與管理方法
可見,RUP模型可以為教學(xué)軟件開發(fā)提供一個相對穩(wěn)定的框架結(jié)構(gòu),但本身過于復(fù)雜,在實際應(yīng)用中往往需要進(jìn)行裁剪,缺乏對中小型項目的支持,而Scrum敏捷方法可以用于簡化和管理RUP迭代開發(fā)過程。本研究將Scrum敏捷方法與RUP模型相結(jié)合,建立一種ARUP(Agile Rational Unified Process)敏捷統(tǒng)一過程軟件開發(fā)框架和管理方法,即在繼承RUP模型用例驅(qū)動和迭代開發(fā)思想的基礎(chǔ)上,利用Scrum敏捷方法合理簡化RUP框架結(jié)構(gòu),沿用Scrum的預(yù)定角色和各項會議制度協(xié)調(diào)管理RUP迭代開發(fā)過程,并積極開展Scrum的核心實踐。將用戶作為開發(fā)團(tuán)隊的成員,通過用戶與開發(fā)人員以及開發(fā)人員之間面對面的有效溝通來快速獲得用戶需求變化和反饋信息,及時交流開發(fā)情況,提高軟件開發(fā)效率,以體現(xiàn)客戶現(xiàn)場和面對面交流的核心實踐,同時在迭代開發(fā)中秉持以代碼為核心,持續(xù)進(jìn)行系統(tǒng)功能集成,并通過積極發(fā)布和測試軟件系統(tǒng)來發(fā)現(xiàn)問題,修補漏洞,以快速靈活地適應(yīng)系統(tǒng)需求的不斷變化,實現(xiàn)增量開發(fā),以體現(xiàn)持續(xù)集成和頻繁發(fā)布的核心實踐。
ARUP綜合了RUP模型與Scrum方法的優(yōu)點,在整體框架上遵循RUP的主要結(jié)構(gòu),在管理方法上繼承Scrum的核心實踐,同時具有通用性和靈活性,更適用于中小型教學(xué)軟件的開發(fā)。ARUP既是利用Scrum思想對RUP過程的適當(dāng)裁剪,也是利用RUP思想對Scrum的合理擴充,其核心思想是以人為本,用例驅(qū)動,增量迭代,擁抱變化的有序開發(fā)過程。[25]
三、桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型建構(gòu)
依據(jù)上述ARUP敏捷統(tǒng)一過程軟件開發(fā)框架與管理方法,以桌面虛擬現(xiàn)實教學(xué)軟件的廣義定義為標(biāo)準(zhǔn),結(jié)合教學(xué)系統(tǒng)設(shè)計模式和桌面虛擬現(xiàn)實技術(shù)特點,本文從教學(xué)設(shè)計與系統(tǒng)設(shè)計兩條路徑出發(fā),提出了桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型,將其生命周期分為初始、細(xì)化、構(gòu)造、交付4個階段,包括6個核心工作流,其中需求建模、分析設(shè)計、實現(xiàn)、測試、部署為活動工作流,項目管理為支持工作流,如圖4所示。
1.桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型的核心工作流
(1)需求建模
需求建模的目標(biāo)是了解項目處理的問題域,以及初步確定解決問題的可行方案,主要執(zhí)行在初始階段,經(jīng)過2次迭代分別完成教學(xué)需求建模和系統(tǒng)需求建模,可以使用自由圖表或UML圖表示。通過用戶需求分析了解主要的教學(xué)需求和系統(tǒng)需求。根據(jù)教學(xué)需求描述,通過教學(xué)目標(biāo)分析、教學(xué)內(nèi)容分析和學(xué)習(xí)者分析,建立教學(xué)目標(biāo)的層次關(guān)系,教學(xué)內(nèi)容的邏輯關(guān)系,明確學(xué)習(xí)者的認(rèn)知特點、認(rèn)知水平、學(xué)習(xí)風(fēng)格等智力與非智力因素,形成教學(xué)目標(biāo)模型、領(lǐng)域知識模型和學(xué)習(xí)者模型,共同構(gòu)成教學(xué)需求模型。
根據(jù)系統(tǒng)需求描述,識別系統(tǒng)主要用例并以用例圖表示,形成系統(tǒng)用例模型,分析系統(tǒng)核心業(yè)務(wù)流程,識別重要領(lǐng)域概念,建立表示實體類型及相互關(guān)系的概念類圖,形成領(lǐng)域?qū)ο竽P汀8鶕?jù)系統(tǒng)用例建立用戶界面草圖或原型,形成用戶界面模型,通過可行性分析設(shè)計系統(tǒng)基本體系結(jié)構(gòu)與開發(fā)技術(shù)路線。以上模型共同構(gòu)成了系統(tǒng)需求模型。將由教學(xué)需求模型和系統(tǒng)需求模型提煉出的主要教學(xué)目標(biāo)任務(wù)與系統(tǒng)功能需求按優(yōu)先級排列,形成教學(xué)任務(wù)表與系統(tǒng)功能表,其作用類似于Scrum的產(chǎn)品功能訂單,即教學(xué)軟件開發(fā)的概要任務(wù)列表。
(2)分析設(shè)計
分析設(shè)計是對教學(xué)需求模型和系統(tǒng)需求模型的細(xì)化擴展,主要執(zhí)行在細(xì)化階段,通過2次迭代分別完成教學(xué)設(shè)計與系統(tǒng)設(shè)計。
教學(xué)設(shè)計主要根據(jù)教學(xué)目標(biāo)模型和領(lǐng)域知識模型對教學(xué)目標(biāo)和教學(xué)內(nèi)容進(jìn)一步分析細(xì)化,明確教學(xué)目標(biāo)與教學(xué)知識點的對應(yīng)關(guān)系,形成目標(biāo)-內(nèi)容模型;并為教學(xué)過程設(shè)計適合的教學(xué)策略與方法,形成過程-策略模型;為體現(xiàn)桌面虛擬現(xiàn)實的優(yōu)勢,應(yīng)重視探究式教學(xué)策略的使用。根據(jù)以上分析進(jìn)行教學(xué)媒體設(shè)計,主要包括兩方面:一是媒體選擇與內(nèi)容設(shè)計,即為各知識點選擇適合的媒體表現(xiàn)形式及編輯媒體呈現(xiàn)的具體內(nèi)容;二是媒體形象設(shè)計,包括圖、文、聲、像等媒體元素的形象設(shè)計,尤其是虛擬現(xiàn)實元素的視覺設(shè)計,即虛擬環(huán)境和對象的三維模型設(shè)計,形成內(nèi)容-媒體模型,以上模型共同構(gòu)成了教學(xué)設(shè)計模型。
系統(tǒng)設(shè)計主要進(jìn)行系統(tǒng)用例模型、領(lǐng)域?qū)ο竽P?、用戶界面模型的?xì)化,可使用時序圖描述系統(tǒng)用例的實現(xiàn)過程,進(jìn)一步分解、擴展系統(tǒng)用例,尤其是虛擬教學(xué)用例的交互行為細(xì)化,明確闡述系統(tǒng)用例,完善用戶界面原型的導(dǎo)航、布局、色彩風(fēng)格等設(shè)計,將領(lǐng)域模型的概念類圖細(xì)化為設(shè)計類圖或程序代碼,實現(xiàn)類與接口的設(shè)計,并根據(jù)其進(jìn)行后臺數(shù)據(jù)庫設(shè)計,在控制風(fēng)險的同時細(xì)化系統(tǒng)組件、功能模塊與網(wǎng)絡(luò)架構(gòu)設(shè)計,明確系統(tǒng)體系結(jié)構(gòu)。細(xì)化后的各模型構(gòu)成了系統(tǒng)設(shè)計模型。將由教學(xué)設(shè)計模型和系統(tǒng)設(shè)計模型提取出的教學(xué)用例和系統(tǒng)用例分別按照優(yōu)先級排序,形成教學(xué)用例列表和系統(tǒng)用例列表,其中虛擬現(xiàn)實功能用例,可以用交互行為列表表示,如表1、2、3所示,其作用類似于Scrum的迭代開發(fā)任務(wù)列表,即教學(xué)軟件開發(fā)的詳細(xì)任務(wù)列表,通常先開發(fā)優(yōu)先級別高的用例。
(3)實現(xiàn)
實現(xiàn)是將設(shè)計方案轉(zhuǎn)化為現(xiàn)實,主要包括媒體元素的編輯開發(fā)和系統(tǒng)功能的編程實現(xiàn),是貫穿整個開發(fā)周期的重要工作流。在初始階段,進(jìn)行開發(fā)環(huán)境準(zhǔn)備,包括硬件環(huán)境建設(shè)和軟件工具選擇。在細(xì)化階段,建立Scrum開發(fā)小組,并依據(jù)教學(xué)用例和系統(tǒng)用例列表進(jìn)行任務(wù)選擇與分配。
在構(gòu)造階段,各Scrum小組將通過多次Sprint快速迭代逐步完成系統(tǒng)功能開發(fā)。媒體開發(fā)小組將進(jìn)行多媒體元素的制作合成,包括虛擬環(huán)境與對象的建模,并通過內(nèi)容——媒體測試判斷媒體元素與教學(xué)內(nèi)容是否吻合,視聽質(zhì)量是否合格。虛擬現(xiàn)實開發(fā)小組將基于桌面虛擬現(xiàn)實技術(shù)進(jìn)行虛擬現(xiàn)實程序的開發(fā),實現(xiàn)虛擬環(huán)境漫游、虛擬對象操作等人機交互行為,并通過人機交互測試判斷交互功能是否準(zhǔn)確實現(xiàn)。系統(tǒng)功能開發(fā)小組將編程實現(xiàn)功能用例,并將通過單元測試的功能模塊、組件進(jìn)行集成,形成一次快速迭代的測試原型,實現(xiàn)系統(tǒng)增量開發(fā)。在交付階段,各Scrum小組將進(jìn)行系統(tǒng)漏洞查找、修復(fù),并根據(jù)用戶需求的變化進(jìn)行系統(tǒng)升級與維護(hù)。
(4)測試
測試是對實現(xiàn)工作的檢驗,提供指導(dǎo)和反饋信息以保證系統(tǒng)開發(fā)的質(zhì)量和效率,貫穿軟件開發(fā)的各個階段。在初始階段,可以從科學(xué)性、功能性、藝術(shù)性、教學(xué)性等方面以量規(guī)的方式制定教學(xué)軟件的評價體系。在細(xì)化階段,制定教學(xué)評價計劃和評價標(biāo)準(zhǔn),設(shè)計教學(xué)實驗方案和評價用例,編寫教學(xué)測驗題目,同時制定軟件測試計劃,設(shè)計測試用例。在構(gòu)造階段,通過多次Sprint快速迭代對系統(tǒng)原型進(jìn)行集成測試和系統(tǒng)測試,在軟件部署之前還需進(jìn)行驗收測試。在交付階段,通過2次迭代分別完成軟件的Beta測試和小規(guī)模的教學(xué)效果測試,查找教學(xué)設(shè)計和系統(tǒng)開發(fā)中存在的問題,以便在軟件正式版中得以解決。
(5)部署
部署的目的是最終使教學(xué)軟件能夠為用戶正常使用,其相關(guān)活動包括硬件、軟件的安裝、運行環(huán)境設(shè)置、提供用戶幫助等。在構(gòu)造階段,可以整理形成源程序清單與注釋,為二次開發(fā)提供幫助文檔,并編寫軟件安裝使用說明和用戶手冊,為用戶使用、維護(hù)軟件系統(tǒng)提供幫助文檔。
(6)項目管理
項目管理的目的是使軟件開發(fā)按照預(yù)定的成本、進(jìn)度、質(zhì)量得以順利完成,包括對項目風(fēng)險、產(chǎn)品、人員、過程的管理活動,貫穿整個開發(fā)周期。在初始階段,將制定軟件開發(fā)計劃書,在細(xì)化階段,可在教學(xué)設(shè)計和系統(tǒng)設(shè)計的基礎(chǔ)上整理形成簡單的文字腳本和制作腳本,并確定任務(wù)分工與迭代周期規(guī)劃。在構(gòu)造階段,可用Scrum燃盡圖的形式說明開發(fā)任務(wù)的完成情況,適當(dāng)調(diào)整迭代計劃。在交付階段,將根據(jù)用戶需求和反饋意見制定軟件維護(hù)和升級計劃。
2.桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型的開發(fā)人員與輸出產(chǎn)品
桌面虛擬現(xiàn)實教學(xué)軟件的開發(fā)人員中,產(chǎn)品負(fù)責(zé)人、用戶(即教師、學(xué)生、教學(xué)管理人員)將與其它開發(fā)人員積極交流合作,參與到軟件開發(fā)的各個階段,主要體現(xiàn)在教學(xué)與系統(tǒng)需求建模、軟件測試與教學(xué)效果評價等活動中。此外,學(xué)科專家、教學(xué)設(shè)計人員主要參與教學(xué)需求建模、教學(xué)設(shè)計、教學(xué)評價等活動,軟件開發(fā)人員主要參與系統(tǒng)需求建模、系統(tǒng)設(shè)計、系統(tǒng)開發(fā)與測試等活動,媒體設(shè)計人員主要參與媒體元素的設(shè)計制作。開發(fā)過程將形成多媒體素材庫、桌面虛擬現(xiàn)實應(yīng)用程序和完整的教學(xué)軟件試用版本。
四、攝影虛擬實驗室教學(xué)軟件的開發(fā)實例
為緩解高校《攝影技術(shù)》課程實驗器材不足的問題,項目小組基于上述桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型完成了攝影虛擬實驗室教學(xué)軟件的設(shè)計開發(fā),目的是為高校教育技術(shù)學(xué)和數(shù)字媒體專業(yè)的大學(xué)生,以及攝影愛好者提供一個可以在線開展攝影虛擬實驗、進(jìn)行自主學(xué)習(xí)的桌面虛擬現(xiàn)實教學(xué)軟件。
項目小組由項目負(fù)責(zé)人、學(xué)科教師與教學(xué)設(shè)計人員、軟件開發(fā)與測試人員、數(shù)字媒體設(shè)計人員6人組成,開發(fā)周期為4個月。下文依據(jù)桌面虛擬現(xiàn)實教學(xué)軟件開發(fā)模型的生命周期來闡述具體開發(fā)過程。
1.初始階段
初始階段的主要目標(biāo)是建立需求模型,使用戶與軟件開發(fā)人員對軟件開發(fā)目的與任務(wù)有統(tǒng)一明確的認(rèn)識,確定教學(xué)軟件類型與作用、開發(fā)技術(shù)路線與基本體系結(jié)構(gòu),進(jìn)行風(fēng)險評估,形成軟件開發(fā)計劃和軟件架構(gòu)文檔。本系統(tǒng)采用B/S結(jié)構(gòu),以3Ds Max作為三維建模工具,以EON Studio作為虛擬現(xiàn)實程序開發(fā)軟件,以ASP.NET3.5和Visual Studio2010作為網(wǎng)絡(luò)開發(fā)技術(shù)與平臺,以SQL Server2008作為后臺數(shù)據(jù)庫管理工具,以Canon EOS 350D單反數(shù)碼相機作為虛擬實驗對象進(jìn)行模擬實驗設(shè)計,初步建立了教學(xué)需求和系統(tǒng)需求模型。
2.細(xì)化階段
細(xì)化階段的主要目標(biāo)是分析問題領(lǐng)域,通過細(xì)化教學(xué)需求和系統(tǒng)需求模型,使系統(tǒng)需求趨于穩(wěn)定,系統(tǒng)用例更加明確,并規(guī)避開發(fā)風(fēng)險,建立健全的體系結(jié)構(gòu),確保軟件系統(tǒng)能夠順利開發(fā)。項目小組對實驗教學(xué)內(nèi)容和系統(tǒng)功能進(jìn)一步分析細(xì)化,形成了教學(xué)用例和功能用例列表,并進(jìn)行了分組和任務(wù)分配。
3.構(gòu)造階段
構(gòu)造階段的主要目標(biāo)是通過多次Sprint快速迭代實現(xiàn)系統(tǒng)功能的集成與增量開發(fā)。項目小組通過快速迭代完成承諾的開發(fā)任務(wù),其中虛擬現(xiàn)實程序的開發(fā)可遵循所選擇的桌面虛擬現(xiàn)實技術(shù),即EON Studio模擬程式的開發(fā)流程來進(jìn)行,如圖5所示[26],主要包括三維模型導(dǎo)入、交互行為添加、程序優(yōu)化發(fā)布3個環(huán)節(jié),本系統(tǒng)采用網(wǎng)頁形式發(fā)布。
4.交付階段
交付階段的主要目標(biāo)是實現(xiàn)系統(tǒng)維護(hù)與升級,確保軟件可用,且符合用戶需求。項目小組通過軟件試用和教學(xué)效果評價對軟件漏洞進(jìn)行了修復(fù),并根據(jù)用戶需求變化修改擴展了部分教學(xué)內(nèi)容和系統(tǒng)功能,形成了功能較為全面的攝影虛擬實驗室系統(tǒng),取得了良好的開發(fā)效果,其虛擬實驗程序主要運行界面如圖6、7所示。
五、結(jié)束語
本文以軟件工程與教學(xué)設(shè)計理論為依據(jù),將Scrum敏捷軟件開發(fā)方法的核心實踐引入RUP統(tǒng)一過程軟件開發(fā)模型,形成一種ARUP敏捷統(tǒng)一軟件開發(fā)框架與管理方法,并結(jié)合桌面虛擬現(xiàn)實技術(shù)特點建構(gòu)了桌面虛擬現(xiàn)實教學(xué)軟件的開發(fā)模型。在實際應(yīng)用中,開發(fā)者可以根據(jù)項目規(guī)模與所選擇的桌面虛擬現(xiàn)實技術(shù),在對該模型的工作流程進(jìn)行簡化、修改或擴充的基礎(chǔ)上,形成符合項目本身需求的開發(fā)模型,以便更好地指導(dǎo)項目的進(jìn)行,保證項目開發(fā)的效率和質(zhì)量,從而為桌面虛擬現(xiàn)實教學(xué)軟件的開發(fā)提供一個可參考的通用模型,以豐富教學(xué)軟件開發(fā)的理論與實踐,促進(jìn)虛擬現(xiàn)實技術(shù)在教育中的有效應(yīng)用。
參考文獻(xiàn):
[1]劉德建等.虛擬現(xiàn)實技術(shù)教育應(yīng)用的潛力、進(jìn)展與挑戰(zhàn)[J].開放教育研究,2016,22(4):25-30.
[2]黃奕宇.虛擬現(xiàn)實(VR)教育應(yīng)用研究綜述[J].中國教育信息化,2018(1):12-15.
[3]溫曉君.2017中國虛擬現(xiàn)實產(chǎn)業(yè)走勢[J].中國經(jīng)濟報告,2017(8):65-67.
[4]李佐軍.地方高校虛擬仿真實驗教學(xué)中心的建設(shè)[J].教書育人(高教論壇),2017(12):68-69.
[5]王娟等.3D技術(shù)教育應(yīng)用創(chuàng)新透視[J].現(xiàn)代遠(yuǎn)程教育研究,2015(1):62-70.
[6]Mingshao Zhang. Recent Developments in Game-Based Virtual Reality Educational Laboratories Using the Microsoft Kinect[J]. iJET, 2018,13(1):138-158.
[7]何克抗,李文光.教育技術(shù)學(xué)(第二版)[M].北京:北京師范大學(xué)出版社,2009:207-209.
[8]王建虎等.基于VRP - Builder 的桌面級虛擬現(xiàn)實課件的設(shè)計與開發(fā)[J].系統(tǒng)仿真技術(shù),2017,13(1):69-73.
[9]李萍等.裝甲裝備虛擬教學(xué)系統(tǒng)開發(fā)研究[J].計算機時代,2018(7):9-12.
[10]姚玉斌.基于VR技術(shù)的機械產(chǎn)品制造過程教學(xué)案例開發(fā)[D].山東:山東建筑大學(xué),2017:15-21.
[11]任偉.虛擬現(xiàn)實技術(shù)在地質(zhì)科普中的應(yīng)用[J].地質(zhì)論評,2017(63):378-379.
[12][13][14]劉光然.虛擬現(xiàn)實技術(shù)[M].北京:清華大學(xué)出版社,2012:106-147.
[15]張進(jìn)寶等.基于“瀑布模型”思想的網(wǎng)絡(luò)課程設(shè)計與資源開發(fā)模型[J].現(xiàn)代遠(yuǎn)程教育,2010(1):64-67.
[16]方海光等.教育軟件工程框架的建構(gòu)[J].計算機科學(xué),2009,36(1):29-33.
[17]李為民,張軍征.教學(xué)設(shè)計與軟件工程結(jié)合的教學(xué)軟件開發(fā)模式[J].現(xiàn)代教育技術(shù),2009,19(7):49-52.
[18]黃子君,張亮.基于統(tǒng)一過程的多媒體課件開發(fā)模型研究[J].江西教育學(xué)院學(xué)報,2012,33(6):24-28.
[19]余久久.面向教學(xué)軟件的RUP改進(jìn)模型的設(shè)計研究[J].電化教育研究,2012(4):76-81.
[20]汪灝等.基于極限編程方法的教育軟件項目開發(fā)[J].軟件導(dǎo)刊,2012(3):108-110.
[21]David C. Kung.面向?qū)ο筌浖こ蘙M].北京:清華大學(xué)出版社,2017:37-41.
[22]Scott W. Ambler. A Managers Introduction to The Rational Unified Process (RUP) [J/OL]. (2005-11-04)[2017-08-29]http://www.ambysoft.com/downloads/managersIntroToRUP.pdf.
[23]張智海,周國祥.Scrum 方法的研究與分析[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2010,33(2):197-200.
[24]謝東強.敏捷軟件開發(fā)的雙迭代模型[J].計算機應(yīng)用與軟件,2012,29(6):176-178.
[25]馬敬元.基于Agile的統(tǒng)一軟件過程的研究與設(shè)計[D].北京:北京交通大學(xué)經(jīng)濟管理學(xué)院,2008:28.
[26]EON Reality Corporation. EON Help[CP/OL]. https://www.eonreality.com/,Irvine, CA.:EON Reality Corporation,2018.
(編輯:王曉明)