王萍利
(西安職業(yè)技術學院, 動漫軟件學院, 陜西 西安 710077)
2020年初受疫情的影響, 網(wǎng)絡教學涉及到大、中、小學生的教學活動中,各個網(wǎng)絡教學平臺都給教師和學生提供了方便,但也是漏洞百出,不是網(wǎng)絡堵塞,就是資料無法上傳等問題,給學生的學習和教師的教學產(chǎn)生了影響。因此,設計和開發(fā)了適合高職院校學生和教師群體的網(wǎng)絡教學系統(tǒng)。通過該網(wǎng)絡教學平臺的開發(fā)和使用,提高學生自主學習的積極性和主動性,提高網(wǎng)絡教學系統(tǒng)的穩(wěn)定性和教學資源的共享性。
(1) B/S設計模式
本系統(tǒng)采用B/S(服務器/瀏覽器)設計模式[1],B/S 也分為客戶機和服務器兩層,但客戶機上不需要安裝軟件(軟件和操作系統(tǒng)一起安裝的),只需要瀏覽器就可以, 具體交互模式如圖1所示。

圖1 瀏覽器端與服務器端的交互模式
(2) MVC 模式
M(Model),封裝應用程序的數(shù)據(jù)結(jié)構(gòu)和事務邏輯,集中體現(xiàn)應用程序的狀態(tài),當數(shù)據(jù)狀態(tài)改變的時候,能夠在視圖中體現(xiàn)出來。
V(View),是M 的外在表現(xiàn),模型狀態(tài)改變時有顯示。
C(Controller),對用戶的輸入進行響應,將模型和視圖聯(lián)系到一起,負責將數(shù)據(jù)寫到模型中,并調(diào)用視圖, 如圖2所示。

圖2 MVC 思想
(3) 三大框架技術
2020年初受疫情的影響,大多數(shù)學院動手開發(fā)適合自己學院的網(wǎng)絡教學平臺,導致在教學中網(wǎng)絡堵塞和數(shù)據(jù)共享差的問題。為了解決這樣的問題,采用3大框架結(jié)構(gòu)開發(fā),分為表現(xiàn)層、中間層和持久層。中間層處理數(shù)據(jù)訪問、業(yè)務處理等任務,客戶端不和數(shù)據(jù)庫發(fā)生數(shù)據(jù)的交互,提高了數(shù)據(jù)庫的安全,同時提高了網(wǎng)絡教學平臺的穩(wěn)定性。
具體操作如下。前端采用Struts框架來完成,后端采用Hibernate訪問數(shù)據(jù)庫[2-6]。而Spring主要運行在Struts和Hibernate 的中間,Spring負責降低Web 層和數(shù)據(jù)庫層之間的耦合性,Struts中的Action 在調(diào)用Hibernate 中的DAO時,盡量降低耦合性。再者,Spring 和Hibernate 整合實現(xiàn)業(yè)務邏輯的管理和業(yè)務對象的持久化,主要對網(wǎng)絡在線教學的集中管理。
高職院校網(wǎng)絡教學系統(tǒng)的系統(tǒng)分析,從業(yè)務需求、功能需求兩方面來設計分析。
(1) 系統(tǒng)業(yè)務需求
本系統(tǒng)的業(yè)務需求是教師、學生、管理人員對系統(tǒng)的需求。高職院校教師業(yè)務需求,包括教師的教學資料的上傳和使用,在線教學、答疑、考試、布置和批改作業(yè)等。 高職學院的學生業(yè)務需求,選擇課程在線學習、考試、做作業(yè)等。高職院校管理員業(yè)務需求,控制非法用戶的登錄。
(2) 系統(tǒng)功能需求分析
系統(tǒng)功能需求,其中高職院校教師功能模塊,可以通過系統(tǒng)進行網(wǎng)絡教學的正常實施[7-9]。高職院校學生功能模塊,可以通過系統(tǒng)獲取必須掌握的知識。高職院校的管理員通過系統(tǒng)對教師和學生進行管理。
網(wǎng)絡教學系統(tǒng)除以上需求外,還需要達到系統(tǒng)穩(wěn)定、數(shù)據(jù)共享等的要求。
通過系統(tǒng)需求分析, 本系統(tǒng)分為教師功能模塊、學生功能模塊、系統(tǒng)功能模塊。 系統(tǒng)的功能圖如圖3所示。

圖3 高職院校網(wǎng)絡教學系統(tǒng)功能模塊圖
部分模塊的功能描述如下。
(1) 教師教學功能模塊
在本系統(tǒng)中教師模塊的功能如下:教師登錄網(wǎng)絡教學系統(tǒng)進行建課、上傳教學資料、 在線教學、在線答疑、在線布置、批閱作業(yè)等功能的操作實現(xiàn)[10-13]。對于在線考試模塊,教師可以在題庫中選擇各類題型后生成階段考試或期末考試的試題, 或者由題庫自動生成試題。
具體的功能圖如圖4所示。

圖4 高職教師教學功能模塊
(2) 學生學習功能模塊
本系統(tǒng)中學生學習模塊的功能如下:登錄網(wǎng)絡教學系統(tǒng)找到所學課程進行在線學習、簽到、作業(yè)、回答老師的問題和向教師探討問題,在線參加考試、學習積分等。學習積分模塊統(tǒng)計學生作業(yè)、答疑、簽到等學習完成情況,積分達到規(guī)定的分數(shù),本學期的平時分給增加。學習積分模塊給學生學習提供激勵,使學生養(yǎng)成自主學習的能力。達到現(xiàn)場教學和線上教學相結(jié)合的教學方式。
(3) 管理員模塊
管理員分系統(tǒng)管理員和普通管理員。系統(tǒng)管理員登錄系統(tǒng)給各個用戶分配權限;普通管理員進行用戶的管理工作,輸出教師和學生的上課情況[14]、打印輸出各類教學和學習的信息。
高職院校網(wǎng)絡教學系統(tǒng)采用MySQL數(shù)據(jù)庫設計。MySQL是最流行的關系型數(shù)據(jù)庫管理系統(tǒng)之一,在Web應用方面,MySQL是最好的應用軟件之一。在高職院校網(wǎng)絡教學系統(tǒng)中可以設計十多張數(shù)據(jù)表:系統(tǒng)管理員信息表、普通管理員信息表、教學課程表、在線考試表、資料上傳表、簽到表、作業(yè)表等。對部分數(shù)據(jù)庫表的描述如下。
(1) 系統(tǒng)管理員信息表如表1所示。

表1 系統(tǒng)管理員信息表
(2) 教學課程如表2所示。

表2 教學課程表
通過系統(tǒng)需求分析、詳細功能設計,完成了系統(tǒng)教學功能模塊、學生功能模塊、管理員模塊的功能設計,系統(tǒng)部分功能的實現(xiàn)方式如下。
(1) 教師功能模塊
教師功能模塊主要設計的功能有創(chuàng)建課程[15]、上傳教學資源、在線教學、答疑、布置和批改作業(yè)、在線考試等操作,以下為教師上傳教學資源內(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) 學生學習功能模塊
學生學習功能模塊設計的主要功能有學生在線學習、在線答疑、在線作業(yè)、在線考試、在線簽到、學習統(tǒng)計等功能。 系統(tǒng)的實現(xiàn)流程圖如圖5所示。

圖5 學生功能模塊流程圖
本項目前臺由MyEclipse 10進行開發(fā),該語言具有多線程、可移植性、動態(tài)性、安全性等特點,可實現(xiàn)復雜程序的個性化編寫。后臺數(shù)據(jù)庫使用MySQL進行設計,提高了數(shù)據(jù)安全性。系統(tǒng)測試如下。
網(wǎng)絡教學系統(tǒng)穩(wěn)定性和數(shù)據(jù)共享性是系統(tǒng)的重要指標。當教師們都在上課時, 對系統(tǒng)響應時間、資源的利用等進行測試。 測試結(jié)果如表3所示。

表3 系統(tǒng)性能測試登記表
測試結(jié)果表明,使用外網(wǎng)的網(wǎng)絡教學首次響應時間和多用戶使用的首次響應時間都低于22 ms, 經(jīng)過多次測試,響應時間符合要求且穩(wěn)定。在網(wǎng)絡教學的高峰時段,CPU 的占有率低于15%,符合系統(tǒng)的性能指標。通過測試表明,該系統(tǒng)能穩(wěn)定、安全可靠地運行。
本文從高職院校網(wǎng)絡教學的實際需求出發(fā),采用J2EE開發(fā)平臺、MySQL數(shù)據(jù)庫進行開發(fā)。通過MVC 體系架構(gòu)、B/S設計模式實現(xiàn)了高職網(wǎng)絡教學系統(tǒng)的設計。并針對教師、學生、管理員的需求,實現(xiàn)了系統(tǒng)管理模塊、教師教學功能模塊、學生學習功能模塊的設計。系統(tǒng)測試表明該網(wǎng)絡教學系統(tǒng)穩(wěn)定、共享性能好,值得推廣使用,將對實現(xiàn)信息化網(wǎng)絡教學具有重要意義。