韓
摘要:網(wǎng)絡(luò)教學(xué)平臺(tái)是數(shù)字化校園中重要的一個(gè)分支,是對(duì)傳統(tǒng)教學(xué)的有力補(bǔ)充。該文針對(duì)目前使用的網(wǎng)絡(luò)教學(xué)平臺(tái)進(jìn)行分析,使用LAMP開源組合作為開發(fā)工具,使用MVC模式和Ajax技術(shù)設(shè)計(jì)了一個(gè)簡(jiǎn)捷實(shí)用的網(wǎng)絡(luò)教學(xué)平臺(tái),具有廣泛的應(yīng)用性。
關(guān)鍵詞: 數(shù)字化校園;網(wǎng)絡(luò)教學(xué)平臺(tái);信息化教學(xué)
中圖分類號(hào):TP393? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)27-0047-03
1 數(shù)字化校園
“數(shù)字化校園”是以信息技術(shù)和網(wǎng)絡(luò)技術(shù)為基礎(chǔ),實(shí)現(xiàn)學(xué)校的教科研管理和服務(wù)工作的信息化和網(wǎng)絡(luò)化,使數(shù)字資源得到充分優(yōu)化利用的一種虛擬教育環(huán)境。“數(shù)字化校園”的實(shí)現(xiàn)有利于學(xué)校的高速發(fā)展,為教育教學(xué)提高效率,為服務(wù)工作提供保障。
2 網(wǎng)絡(luò)教學(xué)平臺(tái)概述
相比傳統(tǒng)教學(xué)形式而言,利用網(wǎng)絡(luò)教學(xué)平臺(tái)教學(xué)活動(dòng)不再受時(shí)間和空間的限制,學(xué)生和教師可以在能夠上網(wǎng)的任何地方登錄系統(tǒng)進(jìn)行相關(guān)學(xué)習(xí),同時(shí)也便于教師運(yùn)用信息化手段進(jìn)行教學(xué)。此網(wǎng)絡(luò)教學(xué)平臺(tái)立足于實(shí)際需要,管理員、教師、學(xué)生是三個(gè)實(shí)際教學(xué)過(guò)程中涉及的重要角色;本文以這三個(gè)重要角色為主軸進(jìn)行需求分析,管理員負(fù)責(zé)教師、學(xué)生以及課程的管理;教師負(fù)責(zé)所教授課程的管理,如上傳課件、資料、發(fā)布作業(yè)、回答學(xué)生提問(wèn)等;學(xué)生可以查看課程信息、上傳作業(yè)以及向教師提問(wèn)等。
本文所述數(shù)字化校園網(wǎng)絡(luò)教學(xué)平臺(tái)基于B/S模式,基于B/S的Web開發(fā)環(huán)境很多,如Microsoft前期的Asp以及當(dāng)前的.NET、JSP、以及PHP等。本網(wǎng)絡(luò)教學(xué)平臺(tái)選擇LAMP開源組合,即Linux+Apache+MySQL+PHP。LAMP網(wǎng)站架構(gòu)是目前國(guó)際較為流行的Web框架,該框架包括:Linux操作系統(tǒng),Apache網(wǎng)絡(luò)服務(wù)器,MySQL數(shù)據(jù)庫(kù),Perl、PHP或者Python編程語(yǔ)言,所有組成產(chǎn)品均是開源軟件,是國(guó)際上成熟的架構(gòu)框架,眾多流行的商業(yè)網(wǎng)站都是采取這個(gè)架構(gòu)。LAMP無(wú)論是性能、質(zhì)量還是價(jià)格都是企業(yè)搭建網(wǎng)站的首選平臺(tái)。
3模塊劃分
網(wǎng)站總共分為3個(gè)模塊,分別是學(xué)生用戶模塊、教師用戶模塊和管理員用戶模塊,每個(gè)模塊都有自己的角色,實(shí)現(xiàn)自身的功能。本系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。
3.1 學(xué)生用戶模塊
學(xué)生用戶使用第一次用自己的學(xué)號(hào)和初始密碼登錄網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng),登錄后必須立即完善個(gè)人信息,退出后重新登錄方可對(duì)此系統(tǒng)進(jìn)行作業(yè)查看,資料下載,在線提問(wèn)等一系列相關(guān)操作。若學(xué)生用戶首次登錄后,沒有完善個(gè)人信息則不能對(duì)此系統(tǒng)進(jìn)行任何操作。
3.2 教師用戶模塊
教師用戶使用第一次用自己的工號(hào)和初始密碼登錄此系統(tǒng),登錄后可進(jìn)行個(gè)人信息完善,密碼修改,資料上傳,作業(yè)發(fā)布,成績(jī)?cè)u(píng)定,在線答疑等操作。教師發(fā)布的作業(yè)自動(dòng)添加到登錄界面的公告欄里面,以便于學(xué)生及時(shí)關(guān)注到自己的作業(yè)信息。
3.3 管理員用戶模塊
管理員用自己的用戶名和密碼登錄,對(duì)教師用戶,學(xué)生用戶,課程,開設(shè)課程等內(nèi)容等進(jìn)行統(tǒng)一管理。管理員的一系列操作是學(xué)生和教師用戶使用本平臺(tái)的前提。管理員模塊從大的方面來(lái)講包含課程管理、教師管理、學(xué)生管理、密碼管理四個(gè)子模塊。
1)學(xué)生管理子模塊
管理員成功登錄后,可以進(jìn)行學(xué)生管理,學(xué)生管理包含添加班級(jí)、添加學(xué)生以及學(xué)生列表等三個(gè)部分。對(duì)于添加班級(jí)子模塊部分,管理員在添加班級(jí)時(shí)只需輸入班級(jí)的代號(hào),如1807,還有班級(jí)人數(shù),如34,則系統(tǒng)就會(huì)自動(dòng)生成該班級(jí)所有同學(xué)的學(xué)號(hào),相關(guān)信息還要學(xué)生初始登錄后進(jìn)行修改。
對(duì)于遺漏的學(xué)生或者追加進(jìn)來(lái)的學(xué)生,管理員還可以單獨(dú)添加,只需輸入學(xué)生的學(xué)號(hào)和學(xué)生的姓名即可。管理員可以查看每一個(gè)班級(jí)的所有學(xué)生,包括學(xué)號(hào)和姓名,如有學(xué)生要轉(zhuǎn)出,只要點(diǎn)擊“刪除”按鈕就可以刪除此學(xué)生。
2)教師管理子模塊
教師管理子模塊包含添加教師和教師列表兩個(gè)部分。教師是由管理員統(tǒng)一添加的,包括添加教師的工號(hào)和姓名,點(diǎn)擊“教師列表”就可以查看所有的教師,如有教師轉(zhuǎn)出,只要點(diǎn)擊“刪除”按鈕就可以刪除此教師。
3)課程管理子模塊
管理員成功添加教師以及班級(jí)以后,可以為老師開設(shè)相應(yīng)的課程,顯示相應(yīng)的課程列表,對(duì)于開設(shè)錯(cuò)誤的課程可以進(jìn)行刪除操作。在管理員添加完班級(jí)和教師信息后,可以添加科目,只需輸入課程名,點(diǎn)擊“添加”按鈕即可。
當(dāng)班級(jí)、教師和科目三者就添加完畢,可以開設(shè)課程了,管理員就只需在下拉框中選擇三者之間的對(duì)應(yīng)關(guān)系,即選擇課程名稱、開課班級(jí)、開課教師三個(gè)選項(xiàng)并點(diǎn)擊“開課”按鈕,課程開設(shè)操作就完成了。在開課列表中,管理員可以瀏覽所有的開課信息,包括課程名、開課班級(jí)和任課教師,如有變動(dòng),則只需點(diǎn)擊“刪除”按鈕就可以取消該課程的開設(shè)。
4)密碼管理子模塊
在密碼管理選項(xiàng)中,管理員可以修改教師密碼、學(xué)生密碼以及管理員密碼。對(duì)于學(xué)生和教師,如果忘記密碼,可以由管理員重新輸入學(xué)號(hào)或工號(hào)重置密碼;對(duì)于管理員自身,可以輸入舊密碼,重新修改新的密碼,大大方便了學(xué)生和教師的使用,也提升了系統(tǒng)的安全性。
4 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。
4.1 數(shù)據(jù)庫(kù)中的表設(shè)計(jì)
本系統(tǒng)的數(shù)據(jù)庫(kù)是studyplant,由9張表格構(gòu)成。分別是admin(管理員表);teacher(教師表);student(學(xué)生表);course(課程表);files(資料表);homework(作業(yè)表);news(公告表);study(開課表);talk(留言表)。
5 系統(tǒng)關(guān)鍵模塊實(shí)現(xiàn)
5.1 MVC模式
模型-視圖-控制器(Model -View -Controller ,MVC)是一種軟件設(shè)計(jì)模式,至今被廣泛使用。MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性地使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器;它們各自處理自己的任務(wù)。
實(shí)現(xiàn)MVC架構(gòu),在PHP Web環(huán)境中體現(xiàn)通常為模板方式,在模板系統(tǒng)中HTML和顯示層在一個(gè)模板內(nèi)。應(yīng)用程序代碼不包括顯示邏輯,但包括處理請(qǐng)求,執(zhí)行和需要做的其他工作,以及傳遞數(shù)據(jù)及格式化數(shù)據(jù),交給顯示層。
比較著名的模板有Smarty、Smart、FastTemplate等,本網(wǎng)絡(luò)教學(xué)平臺(tái)采用的模板系統(tǒng)是Smart。在class目錄中定義了系統(tǒng)中要使用到的類,如數(shù)據(jù)庫(kù)操作類、分頁(yè)類,在程序中涉及到這兩個(gè)方面的操作,用包含語(yǔ)句包含過(guò)來(lái),調(diào)用相應(yīng)方法即可,大大減少了重復(fù)代碼;在include目錄中包含有一些系統(tǒng)基本配置信息如數(shù)據(jù)庫(kù)連接用戶名、密碼,表單數(shù)據(jù)處理文件,另外include目錄下的smarttemplate目錄中的cache子目錄保存的是模板執(zhí)行后的文件,在沒有更新的情況下,此文件不會(huì)發(fā)生變化,加快了訪問(wèn)的速度;在template目錄中保存的是html文件,也就是顯示部分;應(yīng)用程序把參數(shù)傳遞給template下的相關(guān)文件,并顯示。
5.2 Ajax技術(shù)的應(yīng)用
Ajax(Asynchronous JavaScript and XML)技術(shù)并非一項(xiàng)新技術(shù),它是多種較為成熟技術(shù)的整合以一種新的角色的應(yīng)用,是一種用于開發(fā)交互式網(wǎng)頁(yè)的新技術(shù)。Ajax技術(shù)集成了目前在瀏覽器中通過(guò)JavaScript腳本可以使用的所有技術(shù)。它的本質(zhì)就是在客戶的瀏覽器與服務(wù)器之間加了一個(gè)中間層,使用戶的操作與服務(wù)器的響應(yīng)異步化。
在本系統(tǒng)中,當(dāng)用戶選擇教師或?qū)W生用戶,輸入用戶名后,通過(guò)異步促發(fā),系統(tǒng)會(huì)立即判斷用戶名是否存在,如果不存在,立即在登錄頁(yè)面顯示錯(cuò)誤提示信息,大大減輕了服務(wù)器的負(fù)擔(dān),提升了系統(tǒng)的訪問(wèn)速度,使得用戶有良好的體驗(yàn)。
5.3 面向?qū)ο蟪绦蛟O(shè)計(jì)
本文網(wǎng)絡(luò)教學(xué)平臺(tái)的實(shí)現(xiàn)采用了面向?qū)ο蟪绦蛟O(shè)計(jì),從本質(zhì)上講,訪問(wèn)一個(gè)對(duì)象中的數(shù)據(jù)只能通過(guò)對(duì)象的操作來(lái)實(shí)現(xiàn),對(duì)象的操作也就是對(duì)象的接口。代碼結(jié)構(gòu)簡(jiǎn)潔,所有關(guān)于類的文件存放在class目錄中,如數(shù)據(jù)庫(kù)操作類,里面含有關(guān)于數(shù)據(jù)庫(kù)的各個(gè)方法,使用起來(lái)很方便。
5.4 頁(yè)面參數(shù)傳遞模塊
HTTP協(xié)議沒有一個(gè)內(nèi)建機(jī)制來(lái)維護(hù)兩個(gè)事物之間的狀態(tài),HTTP協(xié)議是一個(gè)“無(wú)狀態(tài)”協(xié)議,協(xié)議對(duì)于事務(wù)處理沒有記憶能力,服務(wù)器在相應(yīng)客戶端的當(dāng)前請(qǐng)求時(shí),不需要考慮與客戶端當(dāng)前請(qǐng)求的相關(guān)信息[1]。無(wú)狀態(tài)使得HTTP協(xié)議看起來(lái)簡(jiǎn)單,同時(shí)服務(wù)器端可以有較快的相應(yīng)速度,對(duì)于文件傳輸功能而言,服務(wù)器不需要記錄先前的信息,因此無(wú)狀態(tài)不影響該功能的實(shí)現(xiàn),但是對(duì)于開發(fā)基于Web交互的動(dòng)態(tài)應(yīng)用而言,HTTP協(xié)議的無(wú)狀態(tài)性使用不便,這些應(yīng)用需要保留客戶的狀態(tài);當(dāng)前解決這個(gè)問(wèn)題的方法是使用cookie和session。
頁(yè)面參數(shù)進(jìn)行傳遞可以使用 cookie 和 session 兩種方式,cookie 在信息存儲(chǔ)在客戶機(jī)上由瀏覽器進(jìn)行維護(hù);而 session 將數(shù)據(jù)存儲(chǔ)在服務(wù)器上并通過(guò)一個(gè)SESSION ID來(lái)傳遞客戶端的信息。本系統(tǒng)在進(jìn)行頁(yè)面參數(shù)傳遞時(shí)使用的是session技術(shù);需要注意的是在設(shè)置cookie或者啟動(dòng)會(huì)話時(shí),瀏覽器不得有任何輸出,否則將會(huì)出錯(cuò)[2]。
由于網(wǎng)絡(luò)教學(xué)平臺(tái)基于MVC技術(shù)進(jìn)行開發(fā),在會(huì)話傳遞時(shí)也更加簡(jiǎn)潔,通過(guò)smart的assign方面進(jìn)行分配,在下一頁(yè)面通過(guò)$SESSION超全局變量進(jìn)行獲取。
在系統(tǒng)開發(fā)過(guò)程中需要考慮安全性問(wèn)題,如防止數(shù)據(jù)灌入,在登錄時(shí)有驗(yàn)證碼驗(yàn)證部分,驗(yàn)證碼的實(shí)現(xiàn)有兩種方式,文字方式和圖片方式;文字方式實(shí)現(xiàn)比較簡(jiǎn)單,使用一個(gè)PHP中的一個(gè)rand()函數(shù)即可,圖片方式實(shí)現(xiàn)比較麻煩,需要在系統(tǒng)裝GD庫(kù)模塊,然后進(jìn)行相應(yīng)的配置才可以,本系統(tǒng)采用了簡(jiǎn)單的實(shí)現(xiàn)方式,即文字方式。
6 總結(jié)
本系統(tǒng)利用PHP技術(shù),結(jié)合MySQL數(shù)據(jù)庫(kù)在Linux環(huán)境下開發(fā)完成了網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)。對(duì)于在需求分析中所提出應(yīng)實(shí)現(xiàn)的各用戶的功能也都得以實(shí)現(xiàn)。
本系統(tǒng)界面簡(jiǎn)潔,操作簡(jiǎn)單,完全能夠滿足教師與學(xué)生在日常教學(xué)中的各種需求,而且本系統(tǒng)適用性強(qiáng),適合高校的任何一個(gè)院系,對(duì)中小學(xué)的數(shù)字化校園的建設(shè)也有很大的推動(dòng)作用,管理員可以根據(jù)各使用單位的不同特性,對(duì)班級(jí)、教師和課程進(jìn)行統(tǒng)一的規(guī)范化管理。
參考文獻(xiàn):
[1]? 王繼成,武港山.Web應(yīng)用開發(fā)原理與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2003:20-21.
[2]? 杜江.PHP5與 MySQL 5 Web開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2007:33-44.
【通聯(lián)編輯:代影】