王萍利
(西安職業(yè)技術(shù)學(xué)院, 動(dòng)漫軟件學(xué)院, 陜西 西安 710077)
2020年初受疫情的影響, 網(wǎng)絡(luò)教學(xué)涉及到大、中、小學(xué)生的教學(xué)活動(dòng)中,各個(gè)網(wǎng)絡(luò)教學(xué)平臺(tái)都給教師和學(xué)生提供了方便,但也是漏洞百出,不是網(wǎng)絡(luò)堵塞,就是資料無(wú)法上傳等問(wèn)題,給學(xué)生的學(xué)習(xí)和教師的教學(xué)產(chǎn)生了影響。因此,設(shè)計(jì)和開(kāi)發(fā)了適合高職院校學(xué)生和教師群體的網(wǎng)絡(luò)教學(xué)系統(tǒng)。通過(guò)該網(wǎng)絡(luò)教學(xué)平臺(tái)的開(kāi)發(fā)和使用,提高學(xué)生自主學(xué)習(xí)的積極性和主動(dòng)性,提高網(wǎng)絡(luò)教學(xué)系統(tǒng)的穩(wěn)定性和教學(xué)資源的共享性。
(1) B/S設(shè)計(jì)模式
本系統(tǒng)采用B/S(服務(wù)器/瀏覽器)設(shè)計(jì)模式[1],B/S 也分為客戶機(jī)和服務(wù)器兩層,但客戶機(jī)上不需要安裝軟件(軟件和操作系統(tǒng)一起安裝的),只需要瀏覽器就可以, 具體交互模式如圖1所示。
圖1 瀏覽器端與服務(wù)器端的交互模式
(2) MVC 模式
M(Model),封裝應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu)和事務(wù)邏輯,集中體現(xiàn)應(yīng)用程序的狀態(tài),當(dāng)數(shù)據(jù)狀態(tài)改變的時(shí)候,能夠在視圖中體現(xiàn)出來(lái)。
V(View),是M 的外在表現(xiàn),模型狀態(tài)改變時(shí)有顯示。
C(Controller),對(duì)用戶的輸入進(jìn)行響應(yīng),將模型和視圖聯(lián)系到一起,負(fù)責(zé)將數(shù)據(jù)寫(xiě)到模型中,并調(diào)用視圖, 如圖2所示。
圖2 MVC 思想
(3) 三大框架技術(shù)
2020年初受疫情的影響,大多數(shù)學(xué)院動(dòng)手開(kāi)發(fā)適合自己學(xué)院的網(wǎng)絡(luò)教學(xué)平臺(tái),導(dǎo)致在教學(xué)中網(wǎng)絡(luò)堵塞和數(shù)據(jù)共享差的問(wèn)題。為了解決這樣的問(wèn)題,采用3大框架結(jié)構(gòu)開(kāi)發(fā),分為表現(xiàn)層、中間層和持久層。中間層處理數(shù)據(jù)訪問(wèn)、業(yè)務(wù)處理等任務(wù),客戶端不和數(shù)據(jù)庫(kù)發(fā)生數(shù)據(jù)的交互,提高了數(shù)據(jù)庫(kù)的安全,同時(shí)提高了網(wǎng)絡(luò)教學(xué)平臺(tái)的穩(wěn)定性。
具體操作如下。前端采用Struts框架來(lái)完成,后端采用Hibernate訪問(wèn)數(shù)據(jù)庫(kù)[2-6]。而Spring主要運(yùn)行在Struts和Hibernate 的中間,Spring負(fù)責(zé)降低Web 層和數(shù)據(jù)庫(kù)層之間的耦合性,Struts中的Action 在調(diào)用Hibernate 中的DAO時(shí),盡量降低耦合性。再者,Spring 和Hibernate 整合實(shí)現(xiàn)業(yè)務(wù)邏輯的管理和業(yè)務(wù)對(duì)象的持久化,主要對(duì)網(wǎng)絡(luò)在線教學(xué)的集中管理。
高職院校網(wǎng)絡(luò)教學(xué)系統(tǒng)的系統(tǒng)分析,從業(yè)務(wù)需求、功能需求兩方面來(lái)設(shè)計(jì)分析。
(1) 系統(tǒng)業(yè)務(wù)需求
本系統(tǒng)的業(yè)務(wù)需求是教師、學(xué)生、管理人員對(duì)系統(tǒng)的需求。高職院校教師業(yè)務(wù)需求,包括教師的教學(xué)資料的上傳和使用,在線教學(xué)、答疑、考試、布置和批改作業(yè)等。 高職學(xué)院的學(xué)生業(yè)務(wù)需求,選擇課程在線學(xué)習(xí)、考試、做作業(yè)等。高職院校管理員業(yè)務(wù)需求,控制非法用戶的登錄。
(2) 系統(tǒng)功能需求分析
系統(tǒng)功能需求,其中高職院校教師功能模塊,可以通過(guò)系統(tǒng)進(jìn)行網(wǎng)絡(luò)教學(xué)的正常實(shí)施[7-9]。高職院校學(xué)生功能模塊,可以通過(guò)系統(tǒng)獲取必須掌握的知識(shí)。高職院校的管理員通過(guò)系統(tǒng)對(duì)教師和學(xué)生進(jìn)行管理。
網(wǎng)絡(luò)教學(xué)系統(tǒng)除以上需求外,還需要達(dá)到系統(tǒng)穩(wěn)定、數(shù)據(jù)共享等的要求。
通過(guò)系統(tǒng)需求分析, 本系統(tǒng)分為教師功能模塊、學(xué)生功能模塊、系統(tǒng)功能模塊。 系統(tǒng)的功能圖如圖3所示。
圖3 高職院校網(wǎng)絡(luò)教學(xué)系統(tǒng)功能模塊圖
部分模塊的功能描述如下。
(1) 教師教學(xué)功能模塊
在本系統(tǒng)中教師模塊的功能如下:教師登錄網(wǎng)絡(luò)教學(xué)系統(tǒng)進(jìn)行建課、上傳教學(xué)資料、 在線教學(xué)、在線答疑、在線布置、批閱作業(yè)等功能的操作實(shí)現(xiàn)[10-13]。對(duì)于在線考試模塊,教師可以在題庫(kù)中選擇各類(lèi)題型后生成階段考試或期末考試的試題, 或者由題庫(kù)自動(dòng)生成試題。
具體的功能圖如圖4所示。
圖4 高職教師教學(xué)功能模塊
(2) 學(xué)生學(xué)習(xí)功能模塊
本系統(tǒng)中學(xué)生學(xué)習(xí)模塊的功能如下:登錄網(wǎng)絡(luò)教學(xué)系統(tǒng)找到所學(xué)課程進(jìn)行在線學(xué)習(xí)、簽到、作業(yè)、回答老師的問(wèn)題和向教師探討問(wèn)題,在線參加考試、學(xué)習(xí)積分等。學(xué)習(xí)積分模塊統(tǒng)計(jì)學(xué)生作業(yè)、答疑、簽到等學(xué)習(xí)完成情況,積分達(dá)到規(guī)定的分?jǐn)?shù),本學(xué)期的平時(shí)分給增加。學(xué)習(xí)積分模塊給學(xué)生學(xué)習(xí)提供激勵(lì),使學(xué)生養(yǎng)成自主學(xué)習(xí)的能力。達(dá)到現(xiàn)場(chǎng)教學(xué)和線上教學(xué)相結(jié)合的教學(xué)方式。
(3) 管理員模塊
管理員分系統(tǒng)管理員和普通管理員。系統(tǒng)管理員登錄系統(tǒng)給各個(gè)用戶分配權(quán)限;普通管理員進(jìn)行用戶的管理工作,輸出教師和學(xué)生的上課情況[14]、打印輸出各類(lèi)教學(xué)和學(xué)習(xí)的信息。
高職院校網(wǎng)絡(luò)教學(xué)系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在Web應(yīng)用方面,MySQL是最好的應(yīng)用軟件之一。在高職院校網(wǎng)絡(luò)教學(xué)系統(tǒng)中可以設(shè)計(jì)十多張數(shù)據(jù)表:系統(tǒng)管理員信息表、普通管理員信息表、教學(xué)課程表、在線考試表、資料上傳表、簽到表、作業(yè)表等。對(duì)部分?jǐn)?shù)據(jù)庫(kù)表的描述如下。
(1) 系統(tǒng)管理員信息表如表1所示。
表1 系統(tǒng)管理員信息表
(2) 教學(xué)課程如表2所示。
表2 教學(xué)課程表
通過(guò)系統(tǒng)需求分析、詳細(xì)功能設(shè)計(jì),完成了系統(tǒng)教學(xué)功能模塊、學(xué)生功能模塊、管理員模塊的功能設(shè)計(jì),系統(tǒng)部分功能的實(shí)現(xiàn)方式如下。
(1) 教師功能模塊
教師功能模塊主要設(shè)計(jì)的功能有創(chuàng)建課程[15]、上傳教學(xué)資源、在線教學(xué)、答疑、布置和批改作業(yè)、在線考試等操作,以下為教師上傳教學(xué)資源內(nèi)容的主要代碼。
String fname=ff.getFileName());
String size=Integer.toString(ff.getFileSize())+”字節(jié)”;
InputStream streamIn=ff.getInputStream();
java.io.OutputStream out=new FileOutputStream(dir+”/”+fname);
int bytesRead=0;
byte[] buffer=new byte[6166];
while((bytesRead=streamIn.read(buffer,0,6166))!=-1
{out.write(buffer,0,bytesRead);
}
(2) 學(xué)生學(xué)習(xí)功能模塊
學(xué)生學(xué)習(xí)功能模塊設(shè)計(jì)的主要功能有學(xué)生在線學(xué)習(xí)、在線答疑、在線作業(yè)、在線考試、在線簽到、學(xué)習(xí)統(tǒng)計(jì)等功能。 系統(tǒng)的實(shí)現(xiàn)流程圖如圖5所示。
圖5 學(xué)生功能模塊流程圖
本項(xiàng)目前臺(tái)由MyEclipse 10進(jìn)行開(kāi)發(fā),該語(yǔ)言具有多線程、可移植性、動(dòng)態(tài)性、安全性等特點(diǎn),可實(shí)現(xiàn)復(fù)雜程序的個(gè)性化編寫(xiě)。后臺(tái)數(shù)據(jù)庫(kù)使用MySQL進(jìn)行設(shè)計(jì),提高了數(shù)據(jù)安全性。系統(tǒng)測(cè)試如下。
網(wǎng)絡(luò)教學(xué)系統(tǒng)穩(wěn)定性和數(shù)據(jù)共享性是系統(tǒng)的重要指標(biāo)。當(dāng)教師們都在上課時(shí), 對(duì)系統(tǒng)響應(yīng)時(shí)間、資源的利用等進(jìn)行測(cè)試。 測(cè)試結(jié)果如表3所示。
表3 系統(tǒng)性能測(cè)試登記表
測(cè)試結(jié)果表明,使用外網(wǎng)的網(wǎng)絡(luò)教學(xué)首次響應(yīng)時(shí)間和多用戶使用的首次響應(yīng)時(shí)間都低于22 ms, 經(jīng)過(guò)多次測(cè)試,響應(yīng)時(shí)間符合要求且穩(wěn)定。在網(wǎng)絡(luò)教學(xué)的高峰時(shí)段,CPU 的占有率低于15%,符合系統(tǒng)的性能指標(biāo)。通過(guò)測(cè)試表明,該系統(tǒng)能穩(wěn)定、安全可靠地運(yùn)行。
本文從高職院校網(wǎng)絡(luò)教學(xué)的實(shí)際需求出發(fā),采用J2EE開(kāi)發(fā)平臺(tái)、MySQL數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)。通過(guò)MVC 體系架構(gòu)、B/S設(shè)計(jì)模式實(shí)現(xiàn)了高職網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)。并針對(duì)教師、學(xué)生、管理員的需求,實(shí)現(xiàn)了系統(tǒng)管理模塊、教師教學(xué)功能模塊、學(xué)生學(xué)習(xí)功能模塊的設(shè)計(jì)。系統(tǒng)測(cè)試表明該網(wǎng)絡(luò)教學(xué)系統(tǒng)穩(wěn)定、共享性能好,值得推廣使用,將對(duì)實(shí)現(xiàn)信息化網(wǎng)絡(luò)教學(xué)具有重要意義。