王飛
摘 要
Java語(yǔ)言是目前應(yīng)用最具廣泛性的程序設(shè)計(jì)語(yǔ)言之一。并且具有非常突出的特點(diǎn),例如:簡(jiǎn)單性、可移植性以及安全性等。本課題首先分析了基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)需求,進(jìn)而對(duì)基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)設(shè)計(jì)進(jìn)行了探討與研究。
【關(guān)鍵詞】Java語(yǔ)言 在線教學(xué) 測(cè)評(píng)系統(tǒng)
一方面,由于Java語(yǔ)言具有非常明顯的優(yōu)勢(shì),例如:簡(jiǎn)單性、可移植性以及安全性等。因此,它便為目前網(wǎng)絡(luò)開發(fā)提供了有效幫助。另一方面,以網(wǎng)絡(luò)為基礎(chǔ)能夠?yàn)榻虒W(xué)提供優(yōu)化的應(yīng)用平臺(tái),并且將在線教學(xué)測(cè)評(píng)系統(tǒng)充分應(yīng)用到計(jì)算機(jī)教學(xué)過(guò)程中,能夠達(dá)到良性教學(xué)的目的。鑒于上述兩方面的優(yōu)勢(shì),本課題對(duì)基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)進(jìn)行探討便有著尤為深遠(yuǎn)的重要意義。
1 基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)需求分析
關(guān)于程序設(shè)計(jì)類課程,傳統(tǒng)的教學(xué)方法太過(guò)陳舊,達(dá)不到優(yōu)化教學(xué)的目的。因此,充分應(yīng)用實(shí)踐式教學(xué)法便顯得尤為重要。在此基礎(chǔ)上,便需要從授課地點(diǎn)上著手。目前最具實(shí)效性的方法便是從理論課堂轉(zhuǎn)向?qū)嵺`機(jī)房。以理論與實(shí)踐相融合,進(jìn)而達(dá)到優(yōu)化教學(xué)的目的。鑒于此,設(shè)計(jì)出基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)便有了實(shí)質(zhì)性的價(jià)值與意義。
1.1 系統(tǒng)所涉及到的應(yīng)用人員
基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)的主要用戶便是教師與學(xué)生。教師作為授課人,所使用到的是在線測(cè)評(píng)系統(tǒng)的服務(wù)器端。(1)教師的主要任務(wù)有:a. 為學(xué)生布置作業(yè)。b. 以啟動(dòng)服務(wù)器為基礎(chǔ),進(jìn)而接受學(xué)生的程序。c. 通過(guò)服務(wù)器獲取學(xué)生的程序或者其他一些有關(guān)的信息。d. 對(duì)接受服務(wù)器進(jìn)行關(guān)閉。學(xué)生作為授課對(duì)象,所使用到的是在線測(cè)評(píng)系統(tǒng)的客戶端。(2)學(xué)生的主要任務(wù)有:a. 注冊(cè)賬號(hào),涉及到姓名、班級(jí)、學(xué)號(hào)等基本信息;b. 通過(guò)登入賬號(hào)查看教師布置的作業(yè)內(nèi)容,例如程序的編寫、調(diào)試以及提交等。
1.2 系統(tǒng)功能特性分析
基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)主要實(shí)現(xiàn)的是學(xué)生上課時(shí)可以多人同時(shí)對(duì)源程序代碼進(jìn)行提交,及時(shí)地向?qū)W生返回程序編譯結(jié)果,并對(duì)學(xué)生以復(fù)制的方式抄襲他人程序的行為實(shí)現(xiàn)有效規(guī)避。以上述要求為依據(jù),系統(tǒng)便應(yīng)該具備的功能有:
(1)網(wǎng)絡(luò)連接。這部分功能涵蓋了服務(wù)器端與客戶端,學(xué)生可以通過(guò)網(wǎng)絡(luò)連接至服務(wù)器。
(2)客戶端信息記錄。服務(wù)器能夠?qū)蛻舳说男畔⑦M(jìn)行記錄,例如:學(xué)生姓名、班級(jí)、學(xué)號(hào)、IP地址以及所在的機(jī)器名等。
(3)點(diǎn)名功能。以學(xué)生在客戶機(jī)登錄作為參考標(biāo)準(zhǔn),對(duì)沒有上課的學(xué)生進(jìn)行有效確認(rèn)。
(4)規(guī)避作弊。以詳細(xì)的客戶信息為憑據(jù),能夠辨識(shí)出學(xué)生有否在客戶機(jī)上作弊。比如:如果在同一臺(tái)計(jì)算機(jī)上,有兩個(gè)同學(xué)對(duì)程序進(jìn)行提交,則便可視為作弊。
(5)程序編輯。學(xué)生處于客戶端能夠?qū)Τ绦蜻M(jìn)行編輯,并對(duì)程序進(jìn)行運(yùn)行。這一環(huán)節(jié)要保證學(xué)生在對(duì)程序進(jìn)行編輯的時(shí)候不會(huì)對(duì)他人所編輯的程序進(jìn)行復(fù)制。
(6)程序提交。學(xué)生編輯完程序,通過(guò)程序的確認(rèn)為正確之后,在系統(tǒng)上以直接的方式對(duì)所編輯的程序進(jìn)行提交,并收獲與之相關(guān)的返回信息。
(7)并發(fā)連接。服務(wù)器端應(yīng)該實(shí)現(xiàn)同時(shí)接受一百人或者一百人以上的連接與傳輸請(qǐng)求,以此滿足廣大客戶的基本需求。
2 基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)設(shè)計(jì)分析
基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)的設(shè)計(jì)是否縝密,直接影響到該系統(tǒng)的整體性能。該系統(tǒng)在設(shè)計(jì)上包括了多項(xiàng)內(nèi)容,例如:系統(tǒng)結(jié)構(gòu)及用戶體驗(yàn)?zāi)P偷臉?gòu)建、系統(tǒng)界面的設(shè)計(jì)以及客戶機(jī)與服務(wù)器端的連接等。下面筆者便對(duì)基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)設(shè)計(jì)進(jìn)行詳細(xì)分析。
2.1 系統(tǒng)結(jié)構(gòu)及用戶體驗(yàn)?zāi)P偷臉?gòu)建
(1)系統(tǒng)結(jié)構(gòu)的構(gòu)建。教務(wù)系統(tǒng)能夠以直接的方式和學(xué)校已經(jīng)擁有的教務(wù)系統(tǒng)進(jìn)行連接,并且教務(wù)系統(tǒng)不需要進(jìn)行再開發(fā)。
(2)用戶體驗(yàn)?zāi)P偷臉?gòu)建。對(duì)于用戶體驗(yàn)?zāi)P偷膭?chuàng)建,主要是以系統(tǒng)初始結(jié)構(gòu)為基礎(chǔ),進(jìn)而對(duì)基于分析層面上的系統(tǒng)元素進(jìn)行添加,并以這些元素為標(biāo)準(zhǔn),進(jìn)一步實(shí)現(xiàn)用例所描述的需求功能。
2.2 系統(tǒng)界面的設(shè)計(jì)
基于Java語(yǔ)言,所利用到的是網(wǎng)格包布局管理器,以此使較為適宜的以客戶端程序?yàn)楹诵牡闹鹘缑婺軌蛴行?shí)現(xiàn)。便是基于Java的顯現(xiàn)教學(xué)測(cè)評(píng)系統(tǒng)的客戶端主界面。另外,該系統(tǒng)的客戶端主界面還需要配置相應(yīng)的源程序。
2.3 客戶機(jī)與服務(wù)器端的連接
系統(tǒng)開發(fā)所使用到的模式為Client/Server模式,即為客戶端結(jié)構(gòu)與服務(wù)器結(jié)構(gòu)。對(duì)于C/S模式,它可以提供簡(jiǎn)便且清晰的操作界面。對(duì)于服務(wù)器,應(yīng)該滿足多個(gè)客戶機(jī)端的連接請(qǐng)求功能。換而言之便是,對(duì)于客戶機(jī)端的連接請(qǐng)求,服務(wù)器端程序應(yīng)該作為及時(shí)有效的回應(yīng)。并且,該系統(tǒng)的客戶端和服務(wù)器端在連接方面,所應(yīng)用到的是私有方法。另外,服務(wù)器端程序還應(yīng)該對(duì)客戶機(jī)的不同處理功能進(jìn)行有效處理。
2.4 基于系統(tǒng)當(dāng)中多線程的應(yīng)用
為了滿足廣大客戶群的需求,系統(tǒng)應(yīng)該具備一百個(gè)客戶端同時(shí)實(shí)現(xiàn)穩(wěn)健傳輸、編譯以及運(yùn)行的功能。在本地計(jì)算機(jī)的端口號(hào)中,因?yàn)榉?wù)器端Server Socket能夠?qū)蛻舳说倪B接請(qǐng)求進(jìn)行不斷的監(jiān)聽,并且當(dāng)客戶端對(duì)連接請(qǐng)求進(jìn)行發(fā)出時(shí),服務(wù)器端能夠形成一個(gè)和此客戶端相互對(duì)應(yīng)的Socket對(duì)象。由此可見,如果有一百個(gè)客戶端和服務(wù)器端保持連接,那么在服務(wù)器端便能夠形成一百個(gè)和客戶端相對(duì)應(yīng)的Socket對(duì)象。對(duì)于這些Socket而言,通過(guò)對(duì)Java語(yǔ)言所提供的多線程功能的使用,進(jìn)而讓和客戶端的通信功能可以得到有效實(shí)現(xiàn)。
3 結(jié)語(yǔ)
眾所周知,21世紀(jì)是信息網(wǎng)絡(luò)時(shí)代,因此網(wǎng)絡(luò)編程便成為了程序設(shè)計(jì)中不可或缺的功能之一。通過(guò)本課題的探究,充分認(rèn)識(shí)到基于Java在線教學(xué)測(cè)評(píng)系統(tǒng)需要具備的一些功能,例如:網(wǎng)絡(luò)連接、客戶端信息記錄、點(diǎn)名功能以及程序的編輯等。另外,于Java在線教學(xué)測(cè)評(píng)系統(tǒng)的設(shè)計(jì)也非常重要。系統(tǒng)設(shè)計(jì)是否縝密能夠在很大程度上影響到整體系統(tǒng)的性能。因此,相關(guān)專業(yè)人員便需要在該系統(tǒng)的設(shè)計(jì)上多下工夫,以此為學(xué)生與教師提供更加優(yōu)化的教與學(xué)的平臺(tái),進(jìn)而為教師的優(yōu)化教學(xué)、為學(xué)生的優(yōu)化學(xué)習(xí)奠定堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1]謝曉偉.基于JAVA語(yǔ)言的項(xiàng)目驅(qū)動(dòng)教學(xué)研究[J].科技致富向?qū)В?011(12).
[2]周榕.在線教學(xué)測(cè)試與評(píng)價(jià)系統(tǒng)的設(shè)計(jì)與分析[J].科教導(dǎo)刊(上旬刊),2013(09).
[3]鄒海榮.基于Java的在線教學(xué)測(cè)評(píng)系統(tǒng)研究與設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2011(03).
作者單位
濰坊醫(yī)學(xué)院公共衛(wèi)生學(xué)院 山東省濰坊市 261053endprint