面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

-[26]。MySQL能夠運(yùn)行與多種系統(tǒng)平臺(tái)上,如windouws,Linux,Unix等。(5)適用更多用戶。MySQL支持最常用的數(shù)據(jù)管理功能,適用于中小型企業(yè)甚至大型網(wǎng)站應(yīng)用。2.4本章小結(jié)本章對(duì)在線編程教學(xué)系統(tǒng)開發(fā)過程中使用到的關(guān)鍵技術(shù)進(jìn)行了描述,主要包括MVC設(shè)計(jì)模式、Spring框架、SpringMVC框架、MyBatis框架、MySQL數(shù)據(jù)庫等。本章內(nèi)容的描述為系統(tǒng)的研發(fā)奠定了的理論和技術(shù)基礎(chǔ)。3.系統(tǒng)需求分析本章對(duì)系統(tǒng)實(shí)現(xiàn)的可行性進(jìn)行研究,基于該系統(tǒng)使用的實(shí)際工作情況,具體分析該系統(tǒng)需要實(shí)現(xiàn)的功能訴求,主要是對(duì)前者展開用例分析。用例分析主要涉及到功能需求闡述、功能用例圖、用例圖說明等方面對(duì)系統(tǒng)的管理員功能模塊、教師功能模塊、學(xué)生功能模塊分別進(jìn)行具體的闡述。3.1系統(tǒng)可行性分析本節(jié)將從技術(shù)、經(jīng)濟(jì)和操作三個(gè)方面來進(jìn)行系統(tǒng)的可行性分析。在線編程教學(xué)系統(tǒng)的開發(fā)采用成熟的Spring+SpringMVC+MyBatis(SSM)框架開發(fā),在技術(shù)層面完全是可行的。使用IntelliJIDEA、MicrosoftEdge等開發(fā)工具進(jìn)行開發(fā)。數(shù)據(jù)庫使用開源的MySQL8.0。本系統(tǒng)前后端分離,各個(gè)模塊獨(dú)立開發(fā)的方法也便于系統(tǒng)今后的維護(hù)和升級(jí)。因此,在技術(shù)上,在線編程教學(xué)系統(tǒng)的開發(fā)不會(huì)有任何問題。在線編程教學(xué)系統(tǒng)減輕了客戶端的負(fù)擔(dān),只需使用瀏覽器即可進(jìn)行在線學(xué)習(xí),節(jié)省了大量成本。所以本系統(tǒng)開發(fā)所需的成本完全在可以接受的范圍內(nèi),它的經(jīng)濟(jì)效益遠(yuǎn)遠(yuǎn)超過開發(fā)成本。其次,系統(tǒng)運(yùn)行和維護(hù)相對(duì)容易,專業(yè)人員可以進(jìn)行遠(yuǎn)程維護(hù),減少不必要的成本。因此,本系統(tǒng)在經(jīng)濟(jì)上是可行的。操作可行性分析主要評(píng)估預(yù)期的軟件系統(tǒng)在實(shí)際環(huán)境中的適用性以及實(shí)施過程中的障礙。在今天的中國(guó),網(wǎng)絡(luò)覆蓋率非常高。目前,我國(guó)已經(jīng)建成81.9萬個(gè)5G基站,覆蓋了全國(guó)所有地級(jí)以上城市。5G終端的業(yè)務(wù)超過了3.1億,產(chǎn)業(yè)、經(jīng)濟(jì)和社會(huì)領(lǐng)域的服務(wù)器應(yīng)用示范項(xiàng)目超過1萬個(gè)。也就是說,系統(tǒng)的使用環(huán)境基本沒有什么問題。大多數(shù)用戶都可以很好的使用基于Web的在線編程教學(xué)系統(tǒng)。因此,從操作可行性的角度來看,本系統(tǒng)的開發(fā)方案也是可行的。3.2業(yè)務(wù)流程分析在線編程教學(xué)系統(tǒng)制定了三個(gè)業(yè)務(wù)主角,即管理員、教師和學(xué)生。系統(tǒng)的業(yè)務(wù)流程圖如圖3.1所示:圖3.1在線編程教學(xué)系統(tǒng)業(yè)務(wù)流程圖3.3功能需求分析功能性需求從用戶的需求出發(fā),定義系統(tǒng)和組件的功能。本系統(tǒng)方案中依據(jù)用戶的不同角色類型進(jìn)行功能模塊劃分,共有管理員、教師及學(xué)生等三個(gè)不同功能模塊,本章節(jié)用例圖來詳細(xì)說明這三個(gè)模塊需要實(shí)現(xiàn)的功能。3.3.1管理員模塊在本系統(tǒng)方案中,管理員角色具有相應(yīng)的最高權(quán)限,主要涉及對(duì)學(xué)生、課程及課程資料等多方面內(nèi)容和事項(xiàng)的管理操作。具體功能如下:學(xué)生管理:可以對(duì)學(xué)生信息進(jìn)行相關(guān)管理操作,涉及到增刪改查等多方面事項(xiàng)和業(yè)務(wù),如果需要多名學(xué)生同時(shí)添加,利用excel表格批量導(dǎo)入。(2)教師管理:可以對(duì)教師信息進(jìn)行相關(guān)管理操作,涉及到增刪改查等多方面事項(xiàng)和業(yè)務(wù),如果需要多名教師同時(shí)添加,利用excel表格批量導(dǎo)入。(3)課程管理:可以對(duì)課程信息進(jìn)行相關(guān)管理操作。(4)課程資料管理:可以對(duì)課程文檔及視頻等內(nèi)容進(jìn)行相關(guān)管理操作。(5)論壇管理:管理話題討論所涉及的所有數(shù)據(jù)和信息。(6)公告管理:可以對(duì)公告信息進(jìn)行相關(guān)管理操作。管理員的用例圖如圖3.2所示:圖3.2管理員的用例圖3.3.2教師模塊在本系統(tǒng)方案中,教師可以實(shí)現(xiàn)多種管理操作,涉及到課程文檔等相關(guān)課程資料和內(nèi)容的上傳操作、基于課程進(jìn)行討論和測(cè)試的發(fā)起和提出等。功能詳情如下:課件管理:對(duì)自己上傳內(nèi)容進(jìn)行相應(yīng)的管理操作。話題管理:基于課程內(nèi)容進(jìn)行討論添加并查看討論進(jìn)行現(xiàn)狀。測(cè)試管理:基于課程內(nèi)容發(fā)起測(cè)試,并進(jìn)行試題等相關(guān)內(nèi)容添加。個(gè)人信息管理:對(duì)自身資料基于需要和系統(tǒng)規(guī)則進(jìn)行修改。教師用例圖詳情見圖3.3:圖3.3教師的用例圖3.3.3學(xué)生模塊在本系統(tǒng)方案中,學(xué)生可以實(shí)現(xiàn)多種管理操作,涉及到課程文檔等內(nèi)容的在線觀看及下載、基于課程參與相關(guān)討論、完成教師要求的測(cè)試內(nèi)容。視頻觀看:實(shí)現(xiàn)視頻操作即在線觀看。文檔下載:實(shí)現(xiàn)課程文檔等類型課程資料操作即在線下載。話題討論:實(shí)現(xiàn)討論參與。在線測(cè)試:實(shí)現(xiàn)測(cè)試參與。該項(xiàng)功能中還涉及到系統(tǒng)自動(dòng)打分的內(nèi)容。(5)個(gè)人信息管理:修改個(gè)人資料。學(xué)生的用例圖如圖3.4所示:圖3.4學(xué)生的用例圖3.4本章小結(jié)在本章中,我們首先分析了實(shí)現(xiàn)在線編程教學(xué)系統(tǒng)的可行性,然后用業(yè)務(wù)流程圖來描述整個(gè)系統(tǒng)的業(yè)務(wù)邏輯流程,并根據(jù)系統(tǒng)的功能需求將系統(tǒng)功能劃分為管理員、教師、學(xué)生三個(gè)模塊,并講述了各功能模塊的具體功能。4.系統(tǒng)設(shè)計(jì)4.1系統(tǒng)架構(gòu)設(shè)計(jì)4.1.1系統(tǒng)總體架構(gòu)設(shè)計(jì)本系統(tǒng)屬于平臺(tái)類型,基于此,以B/S模式進(jìn)行實(shí)現(xiàn),本系統(tǒng)方案中對(duì)于服務(wù)器選擇方面,考慮到系統(tǒng)功能訴求及現(xiàn)場(chǎng)環(huán)境需要,選擇Tomcat具體架構(gòu)詳情見圖4.1:圖4.1B/S結(jié)構(gòu)圖系統(tǒng)前端使用Vue框架、HTML技術(shù)和CSS技術(shù)等構(gòu)建簡(jiǎn)潔美觀的用戶操作界面;系統(tǒng)后端基于SSM框架進(jìn)行設(shè)計(jì)架構(gòu),采用Controller層、Service層、Dao層三層開發(fā)設(shè)計(jì)模式對(duì)各功能模塊的業(yè)務(wù)邏輯進(jìn)行實(shí)現(xiàn),從而實(shí)現(xiàn)用戶請(qǐng)求與MySQL數(shù)據(jù)庫之間的數(shù)據(jù)交互。4.1.2系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)本系統(tǒng)開發(fā)方案設(shè)計(jì)是應(yīng)用SSM架構(gòu)進(jìn)行具體實(shí)現(xiàn)的,具體來說就是利用Spring中所具有的IOC功能屬性,將對(duì)象間的互聯(lián)關(guān)系通過該架構(gòu)實(shí)現(xiàn)統(tǒng)一性集合式處理,讓系統(tǒng)解耦能夠更輕松進(jìn)行,針對(duì)系統(tǒng)開發(fā)難度及復(fù)雜性都能大為簡(jiǎn)化;利用Spring中所具有的AOP功能屬性,能夠?qū)ο到y(tǒng)事務(wù)、權(quán)限等多方面內(nèi)容實(shí)現(xiàn)綜合性管理。該架構(gòu)中涉及到SpringMVC部分,其實(shí)質(zhì)來說就是利用MVC來實(shí)現(xiàn)具體應(yīng)用即web結(jié)構(gòu)的開發(fā),同時(shí)還能對(duì)其實(shí)現(xiàn)解耦,基于此,系統(tǒng)界面設(shè)計(jì)能夠以更為簡(jiǎn)潔化方式呈現(xiàn);該架構(gòu)中涉及到MyBatis部分,其實(shí)質(zhì)來說就是充分利用xml文件,提供映射實(shí)現(xiàn),并進(jìn)行對(duì)象支持,從而讓數(shù)據(jù)庫操作具有更高的便利性。以上三大部分架構(gòu)其中需要利用的功能模塊能夠?qū)崿F(xiàn)有效結(jié)合,讓模塊接口實(shí)現(xiàn)能夠更為簡(jiǎn)單。具體架構(gòu)實(shí)現(xiàn)見圖4.2。本系統(tǒng)開發(fā)方案利用SSM架構(gòu),是基于多方面需求考量,對(duì)于用戶動(dòng)態(tài)需求能夠更為充分的滿足,并提升系統(tǒng)穩(wěn)定性且為后續(xù)的功能擴(kuò)展或其他新增需求提供必要的延展性。圖4.2系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)圖總而言之,系統(tǒng)控制層在方案設(shè)計(jì)上利用SpringMVC展開,具有如下優(yōu)勢(shì):首先該架構(gòu)是依托于MVC之上的,其中控制器在方案設(shè)計(jì)中利用的MVC關(guān)鍵組件,一方面具有強(qiáng)大而穩(wěn)定的性能對(duì)視圖展開正確而效率的解析,同時(shí)也能對(duì)參數(shù)信息進(jìn)行必要而正確的解析,另一方面對(duì)于業(yè)務(wù)對(duì)象來說,能夠借此實(shí)現(xiàn)直接訪問,從而顯著提升系統(tǒng)測(cè)試可行性。系統(tǒng)業(yè)務(wù)層在方案設(shè)計(jì)上利用Spring展開,該架構(gòu)具有IOC和AOP功能屬性,且在設(shè)計(jì)模式選擇上,利用依賴注入進(jìn)行,從而能夠?qū)ο到y(tǒng)對(duì)象實(shí)現(xiàn)總體性和綜合性控制,并顯著提升系統(tǒng)測(cè)試可行性;系統(tǒng)持久層在方案設(shè)計(jì)上利用MyBatis展開,這一方案的優(yōu)點(diǎn)在于xml映射并綁定,從而顯著提升系統(tǒng)效率。MyBatis是作用并實(shí)現(xiàn)與數(shù)據(jù)庫連接,由于數(shù)據(jù)間相關(guān)具有搞復(fù)雜特性,利用該架構(gòu)能夠顯著強(qiáng)化系統(tǒng)可靠性。4.2系統(tǒng)功能設(shè)計(jì)4.2.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)在線編程教學(xué)系統(tǒng)主要分為管理員、教師、學(xué)生三大模塊。系統(tǒng)的功能模塊圖如圖4.3所示:圖4.3系統(tǒng)功能模塊圖管理員功能:通過登錄該開發(fā)系統(tǒng),系統(tǒng)會(huì)賦予其最高權(quán)限,能夠?qū)ο到y(tǒng)進(jìn)行全面管理和相應(yīng)維護(hù)。可以管理所有系統(tǒng)內(nèi)部信息和資料,如對(duì)學(xué)生、老師、課程等信息進(jìn)行管理實(shí)現(xiàn),并對(duì)課程資料進(jìn)行管理和編輯實(shí)現(xiàn),同時(shí)還有闖關(guān)等特色小環(huán)節(jié)管理實(shí)現(xiàn)等,同時(shí)在有需要時(shí)可以推送全系統(tǒng)公告。教師功能:通過登錄該開發(fā)系統(tǒng),老師可以實(shí)現(xiàn)課程相關(guān)內(nèi)容和資料的上傳;面向?qū)W生發(fā)起相關(guān)測(cè)試并且對(duì)測(cè)試內(nèi)容進(jìn)行設(shè)計(jì)和編輯;對(duì)課程內(nèi)容發(fā)起討論并進(jìn)行討論管理;面向?qū)W生發(fā)起編程關(guān)卡相關(guān)任務(wù)。學(xué)生功能:通過登錄該開發(fā)系統(tǒng),學(xué)生可以實(shí)現(xiàn)課程相關(guān)的文檔和視頻的下載及觀看,可以實(shí)現(xiàn)話題討論及在線測(cè)試,同時(shí)還能進(jìn)行闖關(guān),并在有需要時(shí)進(jìn)行個(gè)人信息操作等。4.2.2系統(tǒng)功能順序圖在對(duì)系統(tǒng)功能結(jié)構(gòu)進(jìn)行相應(yīng)的方案規(guī)劃時(shí),首先要對(duì)功能進(jìn)行詳細(xì)剖析,尤其要注重對(duì)其功能實(shí)現(xiàn)過程的掌握和理解。為了后續(xù)邏輯編碼能夠更效率化實(shí)現(xiàn),需要在之前對(duì)功能和業(yè)務(wù)流程及具體的組成結(jié)構(gòu)進(jìn)行分析和了解。通常來說系統(tǒng)業(yè)務(wù)邏輯雖然可能涉及到的業(yè)務(wù)各不相同,但存在同樣的流程,因此需要對(duì)這種情況加利用,對(duì)業(yè)務(wù)流程的分析過程中只需要擇取其中具有代表性的即可完成。(1)上傳視頻通過對(duì)教師上傳視頻這一業(yè)務(wù)事項(xiàng)展開觀察,發(fā)現(xiàn)其中順序圖主要包含了七個(gè)不同對(duì)象,具體有教師、主頁、全部視頻列表頁、進(jìn)行視頻上傳頁,另外還涉及到控制器具體響應(yīng)和事務(wù)、數(shù)據(jù)庫操作及處理業(yè)務(wù)、服務(wù)器等。具體順序圖詳情見4.4。具體場(chǎng)景:教師登錄實(shí)現(xiàn);點(diǎn)擊按鈕進(jìn)行視頻上傳;頁面跳轉(zhuǎn),此時(shí)頁面加載出現(xiàn)對(duì)應(yīng)視頻課程列表;將上傳視頻選定并進(jìn)行表單提交;成功上傳頁面再次跳轉(zhuǎn)回到對(duì)應(yīng)視頻列表。圖4.4上傳視頻順序圖(2)添加測(cè)試通過對(duì)教師添加視頻這一業(yè)務(wù)事項(xiàng)展開觀察,發(fā)現(xiàn)其中順序圖主要包含了七個(gè)不同對(duì)象,具體有教師、主頁、全部測(cè)試列表頁、進(jìn)行添加測(cè)試頁,另外還涉及到控制器具體響應(yīng)和事務(wù)、數(shù)據(jù)庫操作及處理業(yè)務(wù)、服務(wù)器等。具體順序圖詳情見4.5。具體場(chǎng)景:教師登錄實(shí)現(xiàn);點(diǎn)擊按鈕進(jìn)行添加測(cè)試;頁面跳轉(zhuǎn),此時(shí)頁面加載出現(xiàn)對(duì)應(yīng)測(cè)試列表;將添加測(cè)試選定并進(jìn)行表單提交;成功上傳頁面再次跳轉(zhuǎn)回到對(duì)應(yīng)測(cè)試列表。圖4.5添加測(cè)試順序圖4.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是否達(dá)到預(yù)期標(biāo)準(zhǔn)和要求,會(huì)給系統(tǒng)開發(fā)帶來顯著影響,同時(shí)數(shù)據(jù)庫設(shè)計(jì)優(yōu)良與否,也會(huì)對(duì)后期維護(hù)帶來明顯影響。下面將進(jìn)行本次系統(tǒng)方案中涉及到數(shù)據(jù)庫部分的實(shí)現(xiàn),具體應(yīng)用的是MySQL,利用其進(jìn)行數(shù)據(jù)庫構(gòu)建。4.3.1系統(tǒng)類圖設(shè)計(jì)根據(jù)在線編程教學(xué)系統(tǒng)的需求分析和功能設(shè)計(jì),進(jìn)行系統(tǒng)類圖的設(shè)計(jì),系統(tǒng)角色類圖如圖4.6所示:圖4.6系統(tǒng)角色類圖本次系統(tǒng)方案設(shè)計(jì)中主要數(shù)據(jù)類型包括課程及文檔,另外還有課程視頻等多種不同實(shí)體,其中文檔和視頻可以劃分到某課程下,其上傳的操作方主要是教師,而學(xué)生可以在登錄后對(duì)這些內(nèi)容進(jìn)行下載或觀看,都需要在線進(jìn)行。其中path為存儲(chǔ)路徑。具體類圖詳情見圖4.7:圖4.7課程、課件類圖在實(shí)體類之外,該系統(tǒng)還涉及到部分通知類。系統(tǒng)公告可以推送到所有用戶界面實(shí)現(xiàn)觀看操作。同時(shí)教師也可以根據(jù)需要進(jìn)行問題發(fā)布,而學(xué)生則可以據(jù)此展開學(xué)習(xí)和交流,基于此,就需要構(gòu)建一個(gè)用于討論實(shí)現(xiàn)的實(shí)體類,通常來說用discuss表示,部分實(shí)體對(duì)象并非直接可以實(shí)現(xiàn)獲取而需要進(jìn)行分析,如在線編程教學(xué)系統(tǒng)中,為了記錄學(xué)生對(duì)教師發(fā)布的討論進(jìn)行回復(fù),為了實(shí)現(xiàn)對(duì)該信息的記錄就需要建立一個(gè)專門對(duì)象,也就是discuss_post,具體類圖詳情見圖4.8:4.8公告、討論、討論回復(fù)類圖本系統(tǒng)開發(fā)方案中還涉及到在線測(cè)試功能,教師通過該功能發(fā)布測(cè)試,同時(shí)實(shí)現(xiàn)試題的添加并且出具相關(guān)正確解答。學(xué)生登錄系統(tǒng),在需要時(shí)進(jìn)行測(cè)試并在線完成相應(yīng)題項(xiàng)解答,系統(tǒng)依據(jù)答案關(guān)聯(lián)給出具體得分。該功能的實(shí)現(xiàn)涉及到以下幾個(gè)實(shí)體類,主要有task、student_task等。具體類圖詳情見圖4.9:圖4.9測(cè)試、試題、學(xué)生成績(jī)類圖綜合上述分析,已經(jīng)對(duì)本次系統(tǒng)開發(fā)中所涉及到的實(shí)體類進(jìn)行了比較全面而系統(tǒng)的分析,并且它們的相關(guān)屬性會(huì)在后文數(shù)據(jù)表方案中展開詳細(xì)描述。4.3.2數(shù)據(jù)庫表設(shè)計(jì)前文中已經(jīng)對(duì)實(shí)體類圖進(jìn)行了清晰而詳細(xì)的確定,接下來對(duì)于概念層需要進(jìn)一步展開設(shè)計(jì)將之具體化。通常來說實(shí)體類間的相關(guān)需要從當(dāng)前實(shí)際出發(fā)進(jìn)行相應(yīng)確定。這主要是因?yàn)槿鐚W(xué)生可以在有需要時(shí)進(jìn)行多門課程的同步學(xué)習(xí),而一門課程一般來說會(huì)涉及到許多不同課件文檔或者視頻,并且也能夠延伸出許多不同討論話題,而同一話題下又可以存在來自多個(gè)不同參與者的回復(fù)。又如教師可以就課程內(nèi)容發(fā)布多個(gè)不同內(nèi)容測(cè)試項(xiàng)目,而同一課程測(cè)試項(xiàng)目也可以來源于不同教師。系統(tǒng)E-R圖如圖4.10所示:圖4.10系統(tǒng)的總體E-R圖根據(jù)上述E-R圖可知,本系統(tǒng)開發(fā)方案中確定12個(gè)數(shù)據(jù)表能夠滿足功能實(shí)現(xiàn)的需要,具體來說包括管理員、教師、學(xué)生、課程、視頻信息等,詳情可參見表4.1到表4.14。表4.1管理員信息表(admin)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int管理員IDnamevarchar(50)varchar50管理員名稱accountvarchar(50)varchar50管理員賬號(hào)passwordvarchar(50)varchar50管理員登錄密碼isDelint(11)int刪除標(biāo)記表4.2教師信息表(teacher)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int教師IDaccountvarchar(50)varchar50教師登錄賬號(hào)passwordvarchar(50)varchar50登錄密碼namevarchar(50)varchar50教師姓名genderint(11)int教師性別numvarchar(50)varchar50教師編號(hào)course_idint(11)int教授課程telphonevarchar(50)varchar50手機(jī)號(hào)碼isDelint(11)int刪除標(biāo)記表4.3學(xué)生信息表(student)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int學(xué)生IDaccountvarchar(50)varchar50學(xué)生賬號(hào)passwordvarchar(50)varchar50登錄密碼namevarchar(50)varchar50學(xué)生姓名genderint(11)int學(xué)生性別numvarchar(50)varchar50學(xué)生學(xué)號(hào)telphonevarchar(50)varchar50手機(jī)號(hào)碼isDelint(11)int刪除標(biāo)記表4.4課程信息表(course)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int課程IDnamevarchar(50)varchar50課程名稱numvarchar(50)varchar50課程編號(hào)introtexttext65535課程簡(jiǎn)介isDelint(11)int刪除標(biāo)記表4.5視頻信息表(course_video)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int課程視頻IDpathvarchar(50)varchar50課程視頻的路徑course_idint(11)int所屬課程record_timedatetimedatetime上傳時(shí)間teacher_idint(11)int所屬教師isDelint(11)int刪除標(biāo)記表4.6文件信息表(course_file)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int課程文檔IDpathvarchar(50)varchar50課程文檔的路徑course_idint(11)int所屬課程record_timedatetimedatetime上傳時(shí)間teacher_idint(11)int所屬教師isDelint(11)int刪除標(biāo)記表4.7公告信息表(notice)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int公告IDtitlevarchar(50)varchar50公告標(biāo)題contenttexttext65535公告內(nèi)容record_timedatetimedatetime發(fā)布時(shí)間isDelint(11)int刪除標(biāo)記表4.8話題討論表(discuss)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int話題IDtitlevarchar(50)varchar50話題題目contenttexttext65535話題內(nèi)容teacher_idint(11)int發(fā)布的教師record_timedatetimedatetime發(fā)布時(shí)間course_idint(11)int所屬課程isDelint(11)int刪除標(biāo)記表4.9討論回復(fù)表(discuss_post)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int回復(fù)IDcontenttexttext65535回復(fù)內(nèi)容discuss_idint(11)int回復(fù)話題student_idint(11)int回復(fù)的學(xué)生record_timedatetimedatetime回復(fù)時(shí)間isDelint(11)int刪除標(biāo)記表4.10考試信息表(task)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int考試IDteacher_idint(11)int發(fā)布考試的教師course_idint(11)int考試所屬的課程record_timedatetimedatetime發(fā)布時(shí)間isDelint(11)int刪除標(biāo)記表4.11試題信息表(task_question)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int題目IDtitlevarchar(255)varchar255題目的問題item_avarchar(255)varchar255選項(xiàng)Aitem_bvarchar(255)varchar255選項(xiàng)Bitem_cvarchar(255)varchar255選項(xiàng)Citem_dvarchar(255)varchar255選項(xiàng)Danswervarchar(255)varchar255答案task_idint(11)int所屬的考試scoreint(11)int題目的分值isDelint(11)int刪除標(biāo)記表4.12學(xué)生成績(jī)表(student_task)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int成績(jī)IDstudent_idint(11)int學(xué)生IDtask_idint(11)int考試IDscoreint(11)int分?jǐn)?shù)record_timedatetimedatetime時(shí)間isDelint(11)int刪除標(biāo)記表4.13闖關(guān)信息表(game)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int關(guān)卡IDteacher_idint(13)int教師IDcontenttexttext闖關(guān)內(nèi)容isDelint(11)int刪除標(biāo)記表4.14學(xué)生闖關(guān)成績(jī)表(student_game)字段名數(shù)據(jù)類型字段類型長(zhǎng)度描述idint(11)int闖關(guān)成績(jī)IDstuden_idint(11)int學(xué)生IDscoreint(11)int闖關(guān)分?jǐn)?shù)rankint(10)int闖關(guān)排名isDelint(11)int刪除標(biāo)記4.4本章小結(jié)本章節(jié)主要建立在前一章系統(tǒng)功能需求分析這一前提之上,對(duì)在線編程教學(xué)系統(tǒng)展開了詳細(xì)的設(shè)計(jì)并規(guī)劃了相應(yīng)方案。本章第一節(jié)主要是對(duì)系統(tǒng)方案中的架構(gòu)部分進(jìn)行細(xì)致論述和介紹;第二節(jié)對(duì)系統(tǒng)方案中的功能部分進(jìn)行討論和闡述;第三節(jié)對(duì)系統(tǒng)方案中的數(shù)據(jù)庫部分進(jìn)行討論。以上內(nèi)容都將為后續(xù)系統(tǒng)具體實(shí)現(xiàn)打下堅(jiān)實(shí)基礎(chǔ)。5.系統(tǒng)實(shí)現(xiàn)與測(cè)試前文已經(jīng)進(jìn)行來系統(tǒng)需求分析并據(jù)此展開了具體功能設(shè)計(jì)并列出詳細(xì)而具體的方案,而在本章節(jié)中將基于前面的內(nèi)容進(jìn)行編碼實(shí)現(xiàn)。本次系統(tǒng)方案實(shí)現(xiàn)中利用的開發(fā)工具選擇,基于功能訴求及現(xiàn)實(shí)要求選擇IDEA系統(tǒng),同時(shí),出于多方面因素考慮,將web載體暫時(shí)限定在Chromegoogle瀏覽器。換言之,步驟為先進(jìn)行開發(fā)環(huán)境的設(shè)計(jì)并配置,之后才是進(jìn)行具體的代碼編寫,最后步驟則是進(jìn)行系統(tǒng)測(cè)試。5.1開發(fā)環(huán)境本系統(tǒng)的開發(fā)環(huán)境設(shè)置內(nèi)容如下:(1)操作系統(tǒng):Windows10(2)運(yùn)行模式:B/S(瀏覽器/服務(wù)器)模式(3)數(shù)據(jù)庫:MySQL8.0(5)開發(fā)工具:IntelliJIDEA20195.2開發(fā)框架環(huán)境配置5.2.1數(shù)據(jù)表實(shí)現(xiàn)正如前文所提到的,在本次系統(tǒng)方案設(shè)計(jì)中,數(shù)據(jù)庫是MySQL,其功能能夠完全適配當(dāng)前系統(tǒng)需要且性能也符合要求,能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫效率化操作。在具體實(shí)現(xiàn)過程中先進(jìn)行l(wèi)earn創(chuàng)設(shè),隨后環(huán)節(jié)是進(jìn)行數(shù)據(jù)表創(chuàng)設(shè),具體表的數(shù)量是12個(gè),在其中利用SQL進(jìn)行實(shí)現(xiàn)。在系統(tǒng)數(shù)據(jù)庫搭設(shè)完成后,就可以對(duì)數(shù)據(jù)需求順利進(jìn)行實(shí)現(xiàn)。系統(tǒng)數(shù)據(jù)表具體詳情見圖5.1:圖5.1系統(tǒng)完整數(shù)據(jù)表5.2.2創(chuàng)建Web工程前面已經(jīng)提及IDEA是主要的開發(fā)工具,在其中創(chuàng)設(shè)web工程learn,由于涉及到前面已經(jīng)提及SSM框架,因此為了能夠順利完成搭設(shè)需要進(jìn)行依賴添加。在下文中先展開了項(xiàng)目結(jié)構(gòu)方面內(nèi)容的創(chuàng)設(shè),其中利用的是Java標(biāo)準(zhǔn)。需要注意的是工程包的主要構(gòu)成涉及到控制層、Dao層等,具體工程結(jié)構(gòu)詳情見圖5.2:圖5.2工程結(jié)構(gòu)圖下文將進(jìn)行SSM架構(gòu)的具體系統(tǒng)配置,涉及到多方面內(nèi)容,包括數(shù)據(jù)庫連接、Spring容器及MVC控制器等相關(guān)內(nèi)容配置等等諸多方面的配置內(nèi)容。工程的具體類型是以web方式進(jìn)行時(shí)間,在web-inf之下存在著一個(gè)web.xml文件,可以利用其進(jìn)行轉(zhuǎn)發(fā)機(jī)制的確定,同時(shí)還可以進(jìn)行控制器及過濾器的相關(guān)定義業(yè)務(wù)實(shí)現(xiàn)。關(guān)于web.xml,限于篇幅只提供核心配置內(nèi)容:配置數(shù)據(jù)庫連接池及事務(wù)管理的類加載文件applicationContext.xml,其中配置了數(shù)據(jù)源及會(huì)話工廠和各種事務(wù)的支持。配置如下:編寫SpringMVC配置文件,主要配置Controller的掃描、處理器映射器和處理器適配器、視圖解析器前后綴,以及攔截器、上傳下載等內(nèi)容,配置如下:到此處為止,已經(jīng)基本實(shí)現(xiàn)了SSM的框架整合任務(wù),之后可以繼續(xù)完成業(yè)務(wù)邏輯編碼。對(duì)此該方面內(nèi)容,前端頁面為了能夠更具有視覺效果的呈現(xiàn)需要進(jìn)行渲染,通常會(huì)利用Vue完成,該框架能夠利用部分插件,具有更高的便捷性。5.3功能實(shí)現(xiàn)5.3.1登錄攔截當(dāng)用戶沒有按照系統(tǒng)規(guī)則進(jìn)行登錄時(shí),是無法進(jìn)入系統(tǒng)并對(duì)系統(tǒng)資源進(jìn)行利用。如果用戶繼續(xù)進(jìn)行訪問操作,那么系統(tǒng)會(huì)自動(dòng)進(jìn)行頁面跳轉(zhuǎn)到登錄頁,只有當(dāng)用戶按照系統(tǒng)規(guī)則完成身份驗(yàn)證才能實(shí)現(xiàn)訪問請(qǐng)求。為了實(shí)現(xiàn)這一功能,需要在pringmvc.xml中進(jìn)行一個(gè)對(duì)應(yīng)功能實(shí)現(xiàn)的攔截器配置,基于此需要進(jìn)行代碼編寫,具體代碼詳情如下:5.3.2用戶登錄想要實(shí)現(xiàn)系統(tǒng)訪問,所有用戶都需要先完成登錄操作。系統(tǒng)的角色有管理員、教師、學(xué)生三個(gè),如果沒有完成對(duì)應(yīng)提示的登錄信息輸入,那么就無法實(shí)現(xiàn)表單提交功能,會(huì)持續(xù)提醒用戶;在登錄時(shí),用戶首先要進(jìn)行對(duì)應(yīng)角色選擇,之后再按照系統(tǒng)要求進(jìn)行用戶名和密碼填寫,之后還需要走完驗(yàn)證碼流程。如果中間出現(xiàn)認(rèn)證錯(cuò)誤,此時(shí)系統(tǒng)會(huì)進(jìn)行相應(yīng)提示。具體詳情見圖5.3:圖5.3用戶登陸失敗提示其代碼如下:以學(xué)生用戶登錄作為樣本進(jìn)行舉例,在登錄成功后會(huì)進(jìn)入該角色所限定的首頁,學(xué)生首頁詳情見圖5.4:圖5.4用戶(學(xué)生)登錄成功進(jìn)入系統(tǒng)首頁5.3.3管理員模塊功能針對(duì)管理員模塊的方案設(shè)計(jì),基于管理員具有高權(quán)限屬性,涉及到的操作和處理項(xiàng)目也更多,因此對(duì)其進(jìn)行的編碼工作量也顯著增加。在登錄實(shí)現(xiàn)并通過相關(guān)身份驗(yàn)證后,能夠?qū)崿F(xiàn)前文所提及所有的功能需求,具體內(nèi)容詳情可見圖5.5。具體涉及到的功能事項(xiàng)包括對(duì)學(xué)生、課程、公告等多方面信息和內(nèi)容添加及其他相關(guān)操作,還能對(duì)測(cè)試和話題根據(jù)系統(tǒng)及網(wǎng)站規(guī)則進(jìn)行管理,另外還能進(jìn)行公告展現(xiàn)。圖5.5管理員功能界面圖基于管理業(yè)務(wù)和事項(xiàng)較多,也涉及到多個(gè)數(shù)據(jù)表的多類型處理操作,導(dǎo)致對(duì)應(yīng)頁面也顯著偏多,礙于篇幅,只能將其中部分進(jìn)行列出,具體來說包括部分核心功能的具體內(nèi)容及JSP頁等,詳情見表5.1:表5.1管理員功能與jsp、請(qǐng)求對(duì)應(yīng)關(guān)系管理員功能JSP頁面Controller層添加學(xué)生createStudent.jsp@RequestMapping("/saveStudent")學(xué)生管理searchStudent.jsp@RequestMapping("/searchStudent")添加教師createTeacher.jsp@RequestMapping("/saveTeacher")教師管理searchTeacher.jsp@RequestMapping("/searchTeacher")添加課程createCourse.jsp@RequestMapping("/saveCourse")課程管理searchCourse.jsp@RequestMapping("/searchCourse")文檔管理searchCourseFile.jsp@RequestMapping("/searchCourseFile")視頻管理searchCourseVideo.jsp@RequestMapping("/searchCourseVideo")測(cè)試管理searchTask.jsp@RequestMapping("/searchTask")論壇管理searchDiscuss.jsp@RequestMapping("/searchDiscuss")發(fā)布公告createNotice.jsp@RequestMapping("/saveNotice")通過上表可知,管理員進(jìn)行各類型不同實(shí)體添加,多數(shù)時(shí)候流程都是相同的,換言之,也就是通過JSP編寫并同時(shí)利用form來進(jìn)行添加信息呈現(xiàn),完成之后進(jìn)行表單提交即可實(shí)現(xiàn),控制器接受用戶請(qǐng)求,同時(shí)與相應(yīng)的處理器進(jìn)行連接并實(shí)現(xiàn)處理流程;此時(shí)Dao層已經(jīng)實(shí)現(xiàn)相應(yīng)處理操作,完成相應(yīng)數(shù)據(jù)返回;此時(shí)的步驟則是通過視圖解析器完成數(shù)據(jù)渲染相關(guān)處理并將之導(dǎo)向html。系統(tǒng)會(huì)對(duì)不同角色賦予不同范圍和內(nèi)容的權(quán)限。由于管理員的高權(quán)限,因此其功模塊也可以實(shí)現(xiàn)教師角色的部分功能,基于此,本文為簡(jiǎn)化內(nèi)容,將只闡述管理員的特殊功能,主要涉及到添加及批量添加操作,學(xué)生信息相關(guān)管理操作,以及公告展示等諸多不同功能。(1)添加學(xué)生添加學(xué)生頁詳情見圖5.6:圖5.6添加學(xué)生操作界面使用MyBatis的逆向工程,自動(dòng)生成了大多數(shù)的單表操作??梢灾苯邮褂胢apper中生成的動(dòng)態(tài)代理。DAO層接口代碼如下:controller層核心代碼如下:(2)批量添加學(xué)生基于現(xiàn)實(shí)需要,在學(xué)生或老師信息管理和操作時(shí),可能會(huì)需要多次添加,如果信息數(shù)量較多會(huì)給管理員帶來較重的操作負(fù)擔(dān),因此設(shè)計(jì)了批量添加模式,利用excel表格實(shí)現(xiàn)。學(xué)生信息批量添加具體詳情見圖5.7:圖5.7批量添加學(xué)生操作界面批量添加學(xué)生的核心代碼如下:(3)查詢學(xué)生前面提到學(xué)生信息添加,該步驟完成后還需要對(duì)此進(jìn)行管理。由于學(xué)生信息數(shù)量較多,如果查詢就無法用單頁就進(jìn)行完整顯示,此時(shí)就需要進(jìn)行分頁。另外,管理員對(duì)學(xué)生信息進(jìn)行管理操作時(shí),可以利用所掌握信息進(jìn)行精確搜索,這些信息可以是姓名、學(xué)號(hào)等相關(guān)匹配條件。查詢成功,就可以對(duì)其進(jìn)行相應(yīng)需要的操作。學(xué)生信息查詢頁詳情見圖5.8:圖5.8學(xué)生查詢界面使用MyBatis的分頁插件pagehelper,在數(shù)據(jù)查詢時(shí)進(jìn)行分頁。在前端頁面使用Vue分頁工具pagination。條件查詢的controller層核心代碼如下:條件查詢的service層核心代碼如下:(4)發(fā)布公告在本系統(tǒng)開發(fā)中,需要全局公告能夠來實(shí)現(xiàn)對(duì)所有用戶的通告展示。該界面具體詳情見圖5.9:圖5.9發(fā)布系統(tǒng)公告發(fā)布公告的核心代碼如下:5.3.4教師模塊功能本系統(tǒng)開發(fā)中,教師實(shí)現(xiàn)登錄請(qǐng)求并成功登錄,可以進(jìn)行多方面的操作,如文檔或視頻上傳、基于課程發(fā)起討論、基于課程提起測(cè)試等,并且能夠?qū)η笆瞿軌蜻M(jìn)行管理,與此同時(shí)也能實(shí)現(xiàn)對(duì)個(gè)人信息的基于系統(tǒng)規(guī)則的管理操作。具體頁面詳情見圖5.10:圖5.10教師功能界面下面列舉出教師的主要功能與其對(duì)應(yīng)的JSP頁面、controller層請(qǐng)求的關(guān)系。如表5.2所示:表5.2教師功能與jsp、請(qǐng)求對(duì)應(yīng)關(guān)系教師功能JSP頁面controller層上傳文檔createCourseFile.jsp@RequestMapping("/saveCourseFile")上傳視頻createCourseVideo.jsp@RequestMapping("/saveCourseVideo")添加討論createDiscuss.jsp@RequestMapping("/saveDiscuss")添加測(cè)試createTask.jsp@RequestMapping("/saveTask")添加試題createQuestion.jsp@RequestMapping("/saveQuestion/{id}")測(cè)試管理searchTask.jsp@RequestMapping("/searchTask")修改信息updateTeacherInfo.jsp@RequestMapping("/eidtTeacherInfo/{id}")(1)上傳文檔、視頻在教師角色權(quán)限中包括文檔及視頻的上傳,并且能夠在上傳過程中進(jìn)行對(duì)應(yīng)課程選擇,其中涉及到的模塊內(nèi)容是SpringMVC,該框架提供上傳功能實(shí)現(xiàn),需要在類中進(jìn)行對(duì)應(yīng)配置文件加載,同時(shí)還需要對(duì)該文件進(jìn)行解析器配置,前面的文件是springmvc.xml,后面解析器具體類型選擇是multipart,與此同時(shí),還需要對(duì)form表單進(jìn)行對(duì)應(yīng)的操作處理,只有完成該步驟才會(huì)將文件進(jìn)行分裝并傳輸。具體實(shí)頁面詳情見圖5.11以及圖5.12:圖5.11上傳文檔圖5.12上傳視頻上傳成功后,教師可以管理自己上傳的文檔和視頻。如圖5.13、圖5.14所示:圖5.13文檔管理圖5.14視頻管理上傳文檔的核心代碼如下:上傳視頻的核心代碼如下:(2)添加討論教師可以根據(jù)課程的重要知識(shí)點(diǎn)在系統(tǒng)上發(fā)布話題,讓學(xué)生互相交流學(xué)習(xí),在話題管理頁面查看學(xué)生的回復(fù),還可以修改刪除話題過時(shí)的話題。如圖5.15、圖5.16所示:圖5.15教師對(duì)話題進(jìn)行管理圖5.16教師錄入話題(3)測(cè)試管理教師在發(fā)布測(cè)試后,可以對(duì)自己發(fā)布的測(cè)試進(jìn)行添加試題。錄入時(shí)要確保試題沒有遺漏內(nèi)容,同時(shí)對(duì)系統(tǒng)提交正確解答并對(duì)應(yīng)的分值。該頁面內(nèi)容有試題的錄入及刪除,另外還能對(duì)測(cè)試項(xiàng)進(jìn)行整體刪除等,具體頁面詳情見圖5.17以及圖5.18:圖5.17教師對(duì)測(cè)試進(jìn)行管理圖5.18教師錄入試題錄入試題的核心代碼:當(dāng)教師需要對(duì)試題進(jìn)行刪除時(shí),可以利用id進(jìn)行對(duì)應(yīng)操作,留存taskId值,這是為了方便頁面跳轉(zhuǎn)。在進(jìn)行該項(xiàng)操作時(shí)涉及到兩個(gè)參數(shù)傳遞,包括試題id和考試taskId。刪除試題的核心代碼:5.3.5學(xué)生模塊功能學(xué)生通過身份驗(yàn)證進(jìn)入系統(tǒng)后,可以查看系統(tǒng)里面所有的課程學(xué)習(xí)資源,然后根據(jù)自己的需要選擇文檔和視頻進(jìn)行下載和觀看;可以在話題列表中選擇想要討論的話題,和其他同學(xué)互相交流討論;當(dāng)學(xué)生學(xué)習(xí)結(jié)束,可以在測(cè)試信息列表選擇測(cè)試,完成測(cè)試之后可以查詢成績(jī)。如圖5.19所示:圖5.19學(xué)生功能界面下面列舉出主要的學(xué)生功能與其對(duì)應(yīng)的JSP頁面、controller層請(qǐng)求的關(guān)系。如表5.3所示:表5.3學(xué)生功能與jsp、請(qǐng)求對(duì)應(yīng)關(guān)系學(xué)生功能JSP頁面controller層查看視頻searchCourseVideo.jsp@RequestMapping("/searchCourseVideoInfo")觀看視頻watchVideo.jsp@RequestMapping("/watchVideo/{id}")查看文檔searchCourseFile.jsp@RequestMapping("/searchCourseFileInfo")下載文檔downFile.jsp@RequestMapping("/downFile/{id}")參與討論searchDiscuss.jsp@RequestMapping("/searchDiscussInfo")查看回復(fù)searchDiscussReply.jsp@RequestMapping("/searchDiscussReply/{id}")查看測(cè)試searchTask.jsp@RequestMapping("/searchTaskInfo")進(jìn)入測(cè)試enterTask.jsp@RequestMapping("/enterTask")查看成績(jī)searchStudentTaskInfo.jsp@RequestMapping("/studentTaskListByPage")修改信息updateStudentInfo.jsp@RequestMapping("/editStudent/{id}")(1)在線觀看視頻學(xué)生實(shí)現(xiàn)登錄操作,對(duì)需要學(xué)習(xí)的課程視頻進(jìn)行選定并點(diǎn)擊,可以實(shí)現(xiàn)對(duì)所有視頻列表頁查看操作,具體詳情見圖5.20。針對(duì)視頻存放來說,依據(jù)系統(tǒng)設(shè)定放在固定磁盤中,如果需要進(jìn)行在線觀看,就點(diǎn)擊該視頻課程,而此時(shí)要實(shí)現(xiàn)播放就需要利用前文所提及的虛擬路徑。視頻播放利用的是視頻模式是HTML5Video,該種模式能夠充分適配html環(huán)境,具體代碼詳情如下:圖5.20在線課程視頻觀看視頻這一功能實(shí)現(xiàn)所涉及核心代碼詳情如下:(2)下載文檔學(xué)生實(shí)現(xiàn)登錄操作,對(duì)需要學(xué)習(xí)的課程文件進(jìn)行選定并點(diǎn)擊,可以實(shí)現(xiàn)對(duì)所有文檔列表頁查看操作,具體詳情見圖5.21。在控制器中進(jìn)行查詢,并且查詢內(nèi)容為指定id的文件路徑,當(dāng)前電腦顯示跳轉(zhuǎn)到虛擬路徑并進(jìn)行path拼接。圖5.21在線課程文件下載課程文件這一功能實(shí)現(xiàn)所涉及核心代碼詳情如下:(3)參與話題討論登入系統(tǒng)后學(xué)生可以進(jìn)入話題討論,可以進(jìn)行討論列表的查看,然后基于需要或興趣進(jìn)行話題選擇,如果想回復(fù)話題,直接點(diǎn)擊回復(fù)即可進(jìn)入相關(guān)頁面;回復(fù)完成后,系統(tǒng)會(huì)跳轉(zhuǎn)到回復(fù)列表。此項(xiàng)功能頁詳情見圖5.22以及圖5.23:圖5.22話題討論列表圖5.23添加回復(fù)回復(fù)話題討論的核心代碼如下:(4)進(jìn)入測(cè)試在教師要求或自己感興趣情況下,學(xué)生可以完成測(cè)試。進(jìn)入課程測(cè)試頁,選定需要完成的測(cè)試,會(huì)跳轉(zhuǎn)進(jìn)入具體測(cè)試內(nèi)容頁,學(xué)生在該頁進(jìn)行答題,完成后點(diǎn)擊提交;系統(tǒng)會(huì)依據(jù)教師留存的對(duì)應(yīng)解答及分值進(jìn)行實(shí)時(shí)打分并立刻進(jìn)行跳轉(zhuǎn)到成績(jī)頁。具體頁面詳情見圖5.24、圖5.25、圖5.26所示:圖5.24課程測(cè)試列表圖5.25學(xué)生開始測(cè)試圖5.26測(cè)試成績(jī)列表系統(tǒng)自動(dòng)打分的核心代碼:學(xué)生查看測(cè)試成績(jī)的核心代碼如下:5.4系統(tǒng)測(cè)試軟件測(cè)試的目的是促進(jìn)在線編程教學(xué)系統(tǒng)的完全性、正確性和完整性,確保系統(tǒng)各功能滿足用戶的需求并正常運(yùn)行。本節(jié)將從功能測(cè)試方面來闡述系統(tǒng)的測(cè)試情況。功能測(cè)試是測(cè)試系統(tǒng)的各個(gè)功能,設(shè)計(jì)測(cè)試用例,檢查系統(tǒng)是否一一實(shí)現(xiàn)預(yù)期功能。下面將對(duì)在線教學(xué)系統(tǒng)的功能進(jìn)行測(cè)試。5.4.1基礎(chǔ)功能測(cè)試在線編程教學(xué)系統(tǒng)的基礎(chǔ)功能測(cè)試不涉及到權(quán)限管理的核心功能,只測(cè)試使系統(tǒng)能夠正常運(yùn)行的基本功能。具體測(cè)試結(jié)果如表5.4所示:表5.4系統(tǒng)基本功能測(cè)試編號(hào)測(cè)試功能測(cè)試方式期望結(jié)果測(cè)試結(jié)果1用戶登錄及信息驗(yàn)證用戶輸入賬號(hào)、密碼和驗(yàn)證碼,點(diǎn)擊登錄按鈕登錄成功并跳轉(zhuǎn)到系統(tǒng)首頁通過2數(shù)據(jù)庫連接在MySQL客戶端中輸入用戶名和密碼點(diǎn)擊測(cè)試連接期望連接成功通過3分頁功能在各個(gè)信息列表中點(diǎn)擊下一頁、上一頁每次點(diǎn)擊都可以跳轉(zhuǎn)到正確頁碼通過4瀏覽器兼容問題在GoogleChrome、MicrosoftEdge、360安全瀏覽器進(jìn)行頁面的測(cè)試頁面都可以做到適配通過5.4.2核心功能測(cè)試在線編程教學(xué)系統(tǒng)的核心功能測(cè)試按照實(shí)現(xiàn)時(shí)的功能模塊劃分別進(jìn)行模塊化測(cè)試。(1)管理員模塊:包括學(xué)生管理、教師管理、課程管理、論壇管理等功能,其功能測(cè)試用例表如表5.5所示:表5.5管理員模塊測(cè)試用例表編號(hào)測(cè)試功能測(cè)試方式期望結(jié)果測(cè)試結(jié)果1學(xué)生管理新增學(xué)生,批量新增學(xué)生,查詢學(xué)生信息增加成功,批量增加成功,信息查詢成功,在學(xué)生信息列表顯示通過2教師管理新增教師,批量新增教師,查詢教師信息增加成功,批量增加成功,信息查詢成功,在教師信息列表顯示通過3課程管理新增課程,查詢課程信息增加成功,信息查詢成功,在課程信息列表顯示通過4課程資料管理刪除課程文檔和視頻刪除成功通過6論壇管理查詢?cè)掝}回復(fù)信息信息查詢成功,在話題討論列表顯示通過7公告管理發(fā)布公告,查詢公告信息發(fā)布成功,查詢成功,在公告信息列表顯示通過(2)教師模塊:包括上傳課程文檔和視頻、發(fā)布討論、發(fā)布測(cè)試等功能,其功能測(cè)試用例表如表5.6所示:表5.6教師模塊測(cè)試用例表編號(hào)測(cè)試功能測(cè)試方式期望結(jié)果測(cè)試結(jié)果1上傳課程文檔選擇文件,點(diǎn)擊添加按鈕上傳成功,在課程文檔信息列表顯示通過2上傳課程視頻選擇視頻,點(diǎn)擊添加按鈕上傳成功,在課程視頻信息列表顯示通過3發(fā)布討論輸入討論內(nèi)容,點(diǎn)擊提交按鈕發(fā)布成功,在討論信息列表顯示通過4發(fā)布測(cè)試選擇測(cè)試所屬的課程,點(diǎn)擊提交按鈕發(fā)布成功,在測(cè)試信息列表顯示通過6修改信息查詢?cè)掝}回復(fù)信息信息查詢成功,在話題討論列表顯示通過(3)學(xué)生模塊:包括在線下載課程文檔、觀看視頻、討論話題、在線測(cè)試等功能,其功能測(cè)試用例表如表5.7所示:表5.7學(xué)生模塊測(cè)試用例表編號(hào)測(cè)試功能測(cè)試方式期望結(jié)果測(cè)試結(jié)果1下載課程文檔選擇文件,點(diǎn)擊下載按鈕下載成功通過2觀看課程視頻選擇視頻,點(diǎn)擊觀看按鈕播放成功,進(jìn)入視頻播放界面通過3討論話題輸入話題回復(fù)內(nèi)容,點(diǎn)擊添加按鈕回復(fù)成功,在討論信息列表顯示通過4參與測(cè)試選擇測(cè)試,點(diǎn)擊開始按鈕進(jìn)入課程測(cè)試界面通過6修改信息輸入信息,點(diǎn)擊修改修改成功,在個(gè)人信息列表顯示通過5.5本章小結(jié)本章節(jié)中主要涉及到對(duì)在線編程教學(xué)系統(tǒng)中不同模塊具體設(shè)計(jì)詳情及相應(yīng)的測(cè)試內(nèi)容,詳細(xì)闡述了基于系統(tǒng)需求分析和設(shè)計(jì)思路所實(shí)現(xiàn)的各個(gè)功能的關(guān)鍵接口,最后對(duì)系統(tǒng)整體功能的測(cè)試方法和測(cè)試結(jié)果進(jìn)行了簡(jiǎn)要的描述。結(jié)論AI時(shí)代已經(jīng)來臨,編程教育日益受到重視并逐漸開始融入教學(xué)體系,如何開展有效而實(shí)用的編程教育也成為各界關(guān)注焦點(diǎn)。近些年,教育部門也積極回應(yīng)時(shí)代發(fā)展需求,明確提出在現(xiàn)階段中小學(xué)教學(xué)過程中,有必要逐步加入編程方面的教學(xué)內(nèi)容。本文設(shè)計(jì)實(shí)現(xiàn)了一款基于SSM的面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng)。本文分析了目前中國(guó)中小學(xué)生在線編程教育存在的問題,并針對(duì)這些問題,基于SSM框架設(shè)計(jì)并實(shí)現(xiàn)了面向中小學(xué)生的計(jì)算機(jī)編程在線教學(xué)系統(tǒng),并做了以下工作:1.闡述研究背景和意義,敘述本文的研究?jī)?nèi)容。分析中小學(xué)編程教育在國(guó)內(nèi)外推進(jìn)現(xiàn)狀及各自不同特點(diǎn)和情況。2.在線編程教學(xué)系統(tǒng)開發(fā)方案中所涉及到的技術(shù)和工具進(jìn)行詳細(xì)闡述,包括框架構(gòu)建選擇、數(shù)據(jù)庫構(gòu)建選擇,基于實(shí)際功能訴求及現(xiàn)實(shí)情況的選擇為后續(xù)開發(fā)提供必要前提。3.對(duì)系統(tǒng)方案進(jìn)行前期的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論