本站小編為你精心準(zhǔn)備了網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)的設(shè)計(jì)與應(yīng)用參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫(xiě)作靈感。歡迎深入閱讀并收藏。

摘要:在實(shí)驗(yàn)教學(xué)中有許多具有危險(xiǎn)性和設(shè)備成本較高的實(shí)驗(yàn),針對(duì)這種情況,建立了網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)。首先對(duì)該系統(tǒng)進(jìn)行需求分析,選用Java語(yǔ)言開(kāi)發(fā),數(shù)據(jù)庫(kù)采MySql。然后對(duì)需要實(shí)現(xiàn)的各個(gè)功能進(jìn)行詳細(xì)設(shè)計(jì),涉及主要算法、數(shù)據(jù)結(jié)構(gòu)、類結(jié)構(gòu)及其調(diào)用關(guān)系,最后進(jìn)行編寫(xiě)代碼和測(cè)試工作。網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)所提供的功能不但使所用實(shí)驗(yàn)的方式和器材更豐富,而且減少學(xué)校的資金投入和設(shè)備的維護(hù)和管理。同時(shí)也可以為學(xué)生提供了較好的自我學(xué)習(xí)的環(huán)境,提高學(xué)生學(xué)習(xí)的靈活性和自主性,教師也方便對(duì)其進(jìn)行監(jiān)督、教學(xué)、統(tǒng)計(jì)成績(jī)和其他管理。
關(guān)鍵詞:虛擬實(shí)驗(yàn);數(shù)據(jù)庫(kù);教學(xué)系統(tǒng)
1引言(Introduction)
在現(xiàn)在生活和學(xué)習(xí)中,計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)的普及和計(jì)算機(jī)網(wǎng)頁(yè)編程技術(shù)的豐富,以及推出許多強(qiáng)大和高效的編程框架,使現(xiàn)在的網(wǎng)頁(yè)不但更加美觀,而且方便增加更強(qiáng)大的功能,這不但在日常生活中帶給了我們很大的便利,也同時(shí)帶給了辦公和學(xué)習(xí)上更高的效率[1]。因此我們決定把計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)和課堂虛擬教學(xué)結(jié)合起來(lái),由此設(shè)計(jì)出了網(wǎng)絡(luò)虛擬教學(xué)實(shí)驗(yàn)系統(tǒng)。為了使得本系統(tǒng)能夠在Windows/Linux/MacOS各種操作系統(tǒng),以及市面上主流的瀏覽器下運(yùn)行,我們采用了Java和Javascript這些可移植性語(yǔ)言開(kāi)發(fā)了計(jì)算機(jī)網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)。
2設(shè)計(jì)思想(Designconcept)
采用基于角色的設(shè)計(jì),分為三個(gè)角色(教師、學(xué)生、管理員),不同的角色擁有不同的權(quán)限。采用MVC架構(gòu)把前端和后端分離開(kāi)來(lái),并將業(yè)務(wù)邏輯聚集到同一個(gè)部件里面,在修改和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯[2,3]。前端采用Vue.js框架進(jìn)行編寫(xiě),后端采用Spring+MyBatis框架進(jìn)行編寫(xiě),數(shù)據(jù)庫(kù)采用MySql數(shù)據(jù)庫(kù)。具體的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)的用例見(jiàn)圖1。
3開(kāi)發(fā)工具(Developmenttool)
網(wǎng)絡(luò)虛擬教學(xué)系統(tǒng)采用B/S架構(gòu),前端頁(yè)面采用Vue框架,Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其他大型框架不一樣的是,Vue被設(shè)計(jì)為可以自底向上逐層應(yīng)用。Vue的核心庫(kù)只關(guān)注視圖層,不僅易于上手操作,還便于與第三方庫(kù)或現(xiàn)存項(xiàng)目的整合[4]。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫(kù)結(jié)合使用時(shí),Vue也完全能夠?yàn)閺?fù)雜的單頁(yè)應(yīng)用提供驅(qū)動(dòng)。后端采用JavaSpring框架,Spring是一個(gè)輕量級(jí)的、開(kāi)源的框架和AOP(面向切面的編程)容器框架,通過(guò)對(duì)傳統(tǒng)OPP設(shè)計(jì)方法的改進(jìn),進(jìn)一步完善了重用性、靈活性和可擴(kuò)展性[5]。Spring是非侵入式的,Spring不再用new的方式來(lái)創(chuàng)建對(duì)象,而是通過(guò)依賴注入的和面向接口實(shí)現(xiàn)輕松耦合,基于Spring開(kāi)發(fā)的應(yīng)用一般不依賴于Spring的類[6]。Spring是為解決企業(yè)應(yīng)用程序開(kāi)發(fā)復(fù)雜性而進(jìn)行創(chuàng)建的,不僅僅局限于服務(wù)器端開(kāi)發(fā),任何Java應(yīng)用都能在簡(jiǎn)單性、可測(cè)試性和松耦合等方面得到方便使用[7]。數(shù)據(jù)庫(kù)采用的是MySql,MySql數(shù)據(jù)庫(kù)是一個(gè)高性能且相對(duì)輕量的數(shù)據(jù)庫(kù)系統(tǒng),與一些更大系統(tǒng)的設(shè)置和管理相比,其復(fù)雜程度較低,操作方便、簡(jiǎn)單靈活。而且MySql是完全免費(fèi)的軟件,既節(jié)省了大量資金,也為以后維護(hù)降低了成本,便于軟件的維護(hù),MySql運(yùn)行速度很快[4]。MySql可能是目前能得到的最快的數(shù)據(jù)庫(kù)。MySql可運(yùn)行在多種版本系統(tǒng)上(如Linux和Windows)。MySql可運(yùn)行在從個(gè)人電腦端到高級(jí)的服務(wù)器上。而且MySql可以搭建成數(shù)據(jù)庫(kù)集群,增加軟件的穩(wěn)定性[8,9]。
4系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)(Functionalstructureofsystem)
虛擬教學(xué)系統(tǒng)相對(duì)比以前傳統(tǒng)的課堂,可以減輕學(xué)生在課堂中的任務(wù)和壓力,學(xué)生可以更加靈活運(yùn)用課余時(shí)間做好預(yù)習(xí)、復(fù)習(xí),并按照教師分配的任務(wù)和作業(yè)及時(shí)完成實(shí)驗(yàn)內(nèi)容,通過(guò)這種方式就可以在線上完成教師不值得任務(wù)。通過(guò)網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)可以按學(xué)生自己的進(jìn)度來(lái)學(xué)習(xí),遇到不會(huì)的地方可以多次觀看,直到理解教師講的知識(shí)點(diǎn),再繼續(xù)下面的學(xué)習(xí),使學(xué)生的學(xué)習(xí)更加的靈活,教學(xué)的效果也越來(lái)越好。學(xué)生還可以下載所需要的教學(xué)材料,學(xué)生在學(xué)習(xí)中遇到的問(wèn)題有也可以及時(shí)通過(guò)本系統(tǒng)向教師提出問(wèn)題,避免了因?yàn)橄抡n十幾分鐘的時(shí)間緊迫,造成教師講的太快,學(xué)生沒(méi)有聽(tīng)懂的情況。同時(shí)學(xué)生還可以選擇自己專業(yè)之外的課程來(lái),消除了學(xué)生對(duì)其他課程感興趣,卻不方便去“蹭課”的煩惱。提供多方面的學(xué)習(xí)機(jī)會(huì),在大學(xué)期間不但可以更好的學(xué)習(xí)專業(yè)課程,同時(shí)豐富了自己的課外知識(shí),使學(xué)生更加全面的發(fā)展,更好的成長(zhǎng)自己。教師可以更方便的上傳和查看自己的課件,同時(shí)學(xué)生可以下載上課中的講義和演示文稿以便學(xué)生預(yù)習(xí)和復(fù)習(xí),學(xué)生的作業(yè)也可以及時(shí)給出需要修改的錯(cuò)誤和建議,可以在課后明確分配任務(wù),不會(huì)造成學(xué)生聽(tīng)錯(cuò)和混淆的情況。學(xué)校可以把更加優(yōu)秀的教師資源同步全體的學(xué)生,使學(xué)生能得到更加優(yōu)秀的教育資源,避免了因?yàn)榻處熧Y源不同而使學(xué)生所學(xué)知識(shí)和成績(jī)?cè)斐杀容^大的差異的情況,同時(shí)減輕教師的工作量。登錄模塊提供用戶的登錄和注冊(cè)的功能,教學(xué)模塊實(shí)現(xiàn)教師端的疑難解答、作業(yè)批改、查詢進(jìn)度、課程上傳的功能,選課模塊實(shí)現(xiàn)教師選所要教授的課和學(xué)生學(xué)習(xí)的課程。學(xué)習(xí)模塊實(shí)現(xiàn)學(xué)生的作業(yè)提交、疑難解答、課程學(xué)習(xí)的功能。個(gè)人信息實(shí)現(xiàn)教師和學(xué)生的詳情信息,方便互相了解。資源管理模塊實(shí)現(xiàn)課程資源的上傳和下載功能。首頁(yè)提供用戶登錄之后跳轉(zhuǎn)的頁(yè)面,實(shí)現(xiàn)通知、其他臨時(shí)信息的顯示和學(xué)習(xí)進(jìn)度的顯示的功能,具體功能結(jié)構(gòu)劃分見(jiàn)圖2。圖2系統(tǒng)功能結(jié)構(gòu)圖Fig.2Functionstructurechart
5數(shù)據(jù)庫(kù)設(shè)計(jì)(Designofdatabase)
根據(jù)系統(tǒng)需求分析的需求,建立如圖3所示的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)達(dá)到BC范式的要求,即所有非主屬性對(duì)碼都是完全函數(shù)依賴,所有的主屬性每一個(gè)不包含它的碼也都是完全函數(shù)依賴的,沒(méi)有任何屬性完全函數(shù)依賴于非碼的任何一組屬性[9]。同時(shí)考密碼的安全性,在MySql支持AES_ENCRYPT()和AES_DECRYPT()這兩個(gè)函數(shù)的情況下,可以對(duì)密碼進(jìn)行加密和解密,有效的保護(hù)用戶的密碼,防止密碼丟失和被不法人員的竊取,以免造成用戶隱私的丟失。具體數(shù)據(jù)庫(kù)設(shè)計(jì)見(jiàn)圖3。
6實(shí)施與實(shí)現(xiàn)(Executionandimplementation)
(1)登錄模塊:登錄和注冊(cè)在同一個(gè)頁(yè)面,當(dāng)點(diǎn)擊登錄按鈕就跳轉(zhuǎn)登錄界面,點(diǎn)擊注冊(cè)變按鈕成注冊(cè)頁(yè)面,賬號(hào)的格式為數(shù)字格式的學(xué)號(hào),密碼為大于四位小于十六位的數(shù)字和字母的集合。(2)首頁(yè):首頁(yè)顯示當(dāng)前的的最新的消息和選課的信息,是學(xué)生、教師、管理員的公共模塊。(3)教學(xué)模塊:教學(xué)模塊是教師的專有模塊,主要功能有上傳課程、進(jìn)度查詢、作業(yè)批改、疑難解答、課程上傳分為上傳教師所教授的視頻文件,上傳教師在課程上所需要的演示文稿(.ppt文件和.pptx文件)和課程講義(.doc文件、.docx文件和.pdf文件),進(jìn)度查詢可以查到所選課程的所有的學(xué)生的進(jìn)度情況,作業(yè)批改可以查看學(xué)生上傳的作業(yè)(.doc文件和.docx文件)格式,并進(jìn)行批閱打分。疑難解答可以對(duì)學(xué)生提出的問(wèn)題進(jìn)回復(fù),并和學(xué)生進(jìn)行討論。(4)學(xué)習(xí)模塊:學(xué)習(xí)模塊分為課程學(xué)習(xí)、疑難解答、作業(yè)提交三個(gè)模塊,課程學(xué)習(xí)分為進(jìn)度查詢、課程學(xué)習(xí)、課程介紹,進(jìn)度查詢可以及時(shí)查看所選課程學(xué)習(xí)的進(jìn)度信息,課程學(xué)習(xí)是播放教師上傳的課程的視頻文件,并實(shí)時(shí)記錄所學(xué)的進(jìn)度。課程介紹可以了解到所學(xué)的課程的大體信息,疑難解答和教師的疑難解答模塊對(duì)接,學(xué)生可以提問(wèn)題,分享學(xué)習(xí)的心得、好的經(jīng)驗(yàn)和技巧內(nèi)容的不足之處。(5)選課模塊:學(xué)生選課模塊顯示學(xué)生當(dāng)前選到的課程,和管理員已經(jīng)的課程,學(xué)生可以根據(jù)需要去選擇要學(xué)的并且已的課程。(6)個(gè)人信息:個(gè)人信息可以查詢到學(xué)生的姓名、性別、院系、班級(jí)、學(xué)號(hào)等其他的基本信息,教師的姓名、性別、院系、工號(hào)等其他基本信息。(7)資源管理:資源管理可以下載到教師所上傳的所有課程文件和管理員的文件或應(yīng)用程序。
7運(yùn)行效果及特點(diǎn)(Operationresultsandfeatures)
本系統(tǒng)充分整合學(xué)校信息化實(shí)驗(yàn)教學(xué)資源,以培養(yǎng)學(xué)生綜合實(shí)踐能力和創(chuàng)新能力為己任,開(kāi)發(fā)與應(yīng)用軟件用來(lái)共享虛擬實(shí)驗(yàn)、儀器共享和遠(yuǎn)程管理虛擬實(shí)驗(yàn)等教學(xué)資源,擴(kuò)大實(shí)踐領(lǐng)域,提高教學(xué)能力和效率,降低成本和風(fēng)險(xiǎn),實(shí)踐更方便和靈活,師生交流更加方便和快捷,增加教學(xué)的安全性,開(kāi)展綠色實(shí)驗(yàn)教學(xué)。運(yùn)行效果:通過(guò)這些設(shè)計(jì),采用相關(guān)的框架進(jìn)行編碼、調(diào)試、測(cè)試、完成了網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng),其中學(xué)生學(xué)習(xí)的主界面見(jiàn)圖4。圖4學(xué)生學(xué)習(xí)主界面圖Fig.4Mainlearninginterfaceofstudents
8結(jié)論(Conclusion)
虛擬教學(xué)實(shí)驗(yàn)系統(tǒng)的開(kāi)發(fā),為學(xué)生提供了一種新的實(shí)驗(yàn)學(xué)習(xí)模式,使的以前實(shí)驗(yàn)環(huán)境不具備的情況下可以較好的虛擬實(shí)驗(yàn)環(huán)境,并通過(guò)模擬給予實(shí)現(xiàn),有效的解決了教學(xué)中許多較難實(shí)現(xiàn)的實(shí)驗(yàn)內(nèi)容無(wú)法完成的問(wèn)題。不僅增加了實(shí)驗(yàn)教學(xué)的效率,而且也提高了實(shí)驗(yàn)效果,并為學(xué)生提供了較好的自我學(xué)習(xí)的環(huán)境,提高了學(xué)生學(xué)習(xí)的靈活性和自主性。
參考文獻(xiàn)(References)
[1]LeeCH,ZhengYL.AutomaticSQL-to-NoSQLschematransformationovertheMySQLandHBasedatabases[C].ConsumerElectronics-Taiwan(ICCE-TW),2015IEEEInternationalConferenceon.IEEE,2015:426-427.
[2]KrólK,SzomorovaL.ThepossibilitiesofusingchosenjQueryJavaScriptcomponentsincreatinginteractivemaps[J].Geomatics,LandmanagementandLandscape,2015(2):45-54.
[3]KolasaP,JanowskiM.Studyofpossibilitiestostoreenergyvirtuallyinagrid(VESS)withtheuseofsmartmetering[J].RenewableandSustainableEnergyReviews,2017,79:1513-1517.
[4]瘋狂軟件.Spring+MyBatis企業(yè)應(yīng)用實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2017:51-55.[5]NicholasC.Zakas.JavaScript高級(jí)程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2017:105-107.
[6]麥冬,陳濤,梁宗灣.輕量級(jí)響應(yīng)式框架Vue.js應(yīng)用分析[J].信息與電腦(理論版),2017(07):58-59.[7]繆勇,施俊,李新鋒.JavaWeb輕量級(jí)框架項(xiàng)目化教程[M].北京:清華大學(xué)出版社,2017:78-81.
[8]喬嵐.基于MyBatis和Spring的JavaEE數(shù)據(jù)持久層的研究與應(yīng)用[J].信息與電腦(理論版),2017(08):73-76.[9]石玉強(qiáng),閆大順.數(shù)據(jù)庫(kù)原理及應(yīng)用[M].北京:中國(guó)水利水電出版社,2009:109-110.
作者:殷磊 謝文閣 許志來(lái) 黃阿坤 單位:遼寧工業(yè)大學(xué)電子與信息工程學(xué)院