姜彥偉
摘 要 VB程序主觀題是對考生掌握VB程序編寫能力的集中測試,能夠較好地反映出考生的真實水平。設(shè)計并實現(xiàn)自動評閱系統(tǒng),可以最大限度地保持客觀、謹慎的態(tài)度來對考生的答案進行核對。同時節(jié)省了大量的人力,減輕了教師的工作負擔。
關(guān)鍵詞 VB程序;自動評閱系統(tǒng)
中圖分類號:TP311 文獻標識碼:A 文章編號:1671-7597(2014)16-0019-01
隨著計算機教育事業(yè)不斷發(fā)展,各種程序的編寫學習受到了學生的偏好。特別是VB程序,VB就是Visual Basic,是目前windows操作程序所采用的最常見的設(shè)計編程語言。它在程序編寫方面的表現(xiàn)十分優(yōu)異,受到廣大用戶的一致好評??梢灶A(yù)見的是,未來的程序設(shè)計考試中,VB必然會占據(jù)更加重要的地位。與此同時,數(shù)量龐大的程序題給教師的閱卷工作帶來了極大的負擔,為了將教師從繁重的評閱工作中解放出來,也為了更好地保證評閱工作的公平性和客觀性,VB程序主觀題自動評閱系統(tǒng)應(yīng)運而生。它采用了DLL技術(shù),實現(xiàn)了Visual Basic程序主觀題目的自動評閱,整個系統(tǒng)的操作界面簡潔流暢,易于上手,在有效避免傳統(tǒng)考試方法中容易出現(xiàn)的一些漏洞的同時,還能夠保證閱卷的公正性。這既是對考生程序編寫能力的最有效的測試方法,也能夠較為客觀地反應(yīng)出考生掌握VB程序的能力。
1 系統(tǒng)設(shè)計目標
根據(jù)系統(tǒng)的實際應(yīng)用背景,即需要對大量考生的數(shù)據(jù)編寫題目進行詳細的審查閱覽,考慮到系統(tǒng)未來的可發(fā)展空間,在建立系統(tǒng)的初期,要保證系統(tǒng)能夠具有以下兩種重要特點,也就是系統(tǒng)設(shè)計的最初目標:實用性和適應(yīng)性。
1.1 實用性
自動評閱系統(tǒng)面對的是廣大學生和教師,其中可能不乏一些計算機水平并不高的初學者。既然用戶的素質(zhì)參差不齊,就要考慮到系統(tǒng)的實用性,保證每一個用戶都能夠很快地學會系統(tǒng)的基本操作,熟練地使用各項技能。同時,簡潔的操作流程能夠很好地提高教師評閱的工作效率。在一定程度上解決了傳統(tǒng)的人工評閱所出現(xiàn)的各種弊端。
1.2 適應(yīng)性
計算機程序編寫的題目不同于其他科目,其信息數(shù)據(jù)的量十分龐大。特別是在進行較大規(guī)模的考試的時候,系統(tǒng)既要能夠應(yīng)付人數(shù)眾多的考生用戶,又要及時處理考生在編寫時出現(xiàn)的錯誤,并防止錯誤的請求造成系統(tǒng)本身的崩潰。在考生結(jié)束考試之后,還要統(tǒng)一進行保存等處理手段。在教師進行提取的時候能夠保證試卷信息的完整性,不會出現(xiàn)代碼丟失甚至是錯碼亂碼的情況,從而保證了評閱工作的客觀性和公平性。
2 系統(tǒng)的設(shè)計與實現(xiàn)
2.1 系統(tǒng)設(shè)計思路
1)對用戶窗口的控制。想要達到自動評閱的水平,就要通過模擬計算機基本操作系統(tǒng)即Windows向應(yīng)用程序發(fā)送請求信息,并能及時處理回執(zhí)信息。首先要確認每個用戶的使用窗口,保證其所在的控制程序與窗口相對應(yīng)。這樣才不會發(fā)生將消息傳遞到錯誤的窗口的情況。并且只有正確的事件傳到相對應(yīng)的窗口,才能成功觸發(fā)必要的程序運行。例如在Windows操作系統(tǒng)中,一般默認用句柄來代表一個對象,通過向句柄發(fā)送消息,取得回應(yīng),觸發(fā)程序運行,從而實現(xiàn)對程序的控制。我們并不采用直接搜索用戶窗口標題來尋找所對應(yīng)的用戶,是因為一旦用戶的窗體標題設(shè)置有問題,就會導致系統(tǒng)無法搜索到用戶。要考慮到學生可能在程序編寫的時候會犯類似的錯誤,而且這并不能客觀地反映出學生自身的編寫能力。
2)對控件行為的模擬控制。在確定句柄并成功模擬信息發(fā)送過程以后,就可以通過消息來控制程序的運行和啟止,并對控件進行一定的操作。例如VB程序就是通過消息來驅(qū)動的,可以模擬事件的發(fā)生,并及時觀察VB程序的運行結(jié)果。VB程序主觀題自動評閱系統(tǒng)中包含了大量的基本事件,能夠用于觸發(fā)各種基本操作并控制所有程序的運行,它就是模擬Windows系統(tǒng),通過這些種類繁多的消息,成功實現(xiàn)了對程序的有效控制。并且所有的事件和消息都有著明顯的前綴,在需要維護和更改的時候,方便用戶進行識別和操作。
2.2 系統(tǒng)實現(xiàn)技術(shù)
1)消息處理機制。前面講過,這種消息處理機制是windows操作系統(tǒng)的核心,通過它系統(tǒng)能夠有效地對內(nèi)部程序進行控制。這種機制是基于消息傳輸機制的實現(xiàn)而實現(xiàn)的,在windows事件驅(qū)動模型當中,想要有效地進行信息處理,首先就要很好地控制信息的發(fā)送和接受,在傳輸過程中保證信息不會出現(xiàn)丟失或者干擾,從而保證系統(tǒng)本身的良好運行。同理,VB程序主觀題的自動評閱系統(tǒng),也需要模擬并遵循windows操作系統(tǒng)的消息處理機制。在用戶進行操作的時候,能夠很好地處理龐大的數(shù)據(jù)流,不會出現(xiàn)互相干擾的情況,以此來達到真實反映學生編寫水平的目的,也為教師公平地閱卷評審做好了必要的準備。
2)動態(tài)鏈接庫。動態(tài)鏈接庫就是DLL,它是一種過程庫,在系統(tǒng)內(nèi)部的應(yīng)用程序啟動運行的時候,可以與它進行鏈接并使用它內(nèi)部的資源數(shù)據(jù)。DLL是目前最先進的數(shù)據(jù)信息技術(shù),它能夠輕松實現(xiàn)共享資源和數(shù)據(jù)、隱藏鏈接細節(jié)等技術(shù)。在自動評閱系統(tǒng)中使用DLL的主要目的就是為了將數(shù)據(jù)資源進行共享,從而方便廣大的考生進行統(tǒng)一的程序編寫考試,避免考生因數(shù)據(jù)資源的不同而導致考試成績出現(xiàn)異常。DLL的代碼可以被windows操作系統(tǒng)無差別地識別并共享,用戶也可以通過系統(tǒng)中的應(yīng)用程序無限制地訪問DLL。但是用戶并不能通過應(yīng)用程序來詳細了解動態(tài)鏈接的過程和細節(jié),從而在最大限度地共享數(shù)據(jù)資源的同時,有效地保證了數(shù)據(jù)信息的安全性。由于DLL的共享功能,極大地減少了運行應(yīng)用程序?qū)ο到y(tǒng)資源的占用,大大提高了系統(tǒng)的工作效率。
3 總結(jié)
通過對VB程序及其相關(guān)技術(shù)進行深入研究,對VB程序主觀題自動評閱系統(tǒng)的實現(xiàn)有了一定的了解。首先系統(tǒng)需要具有良好的適應(yīng)性,能夠自動處理考生在考試過程中出現(xiàn)的錯誤請求,不會因過多的請求無法及時處理而造成系統(tǒng)崩潰。在大量的實際測試結(jié)果中,都表明了VB程序主觀題自動評閱系統(tǒng)的運行基本穩(wěn)定,能夠很好地統(tǒng)一評分標準,符合了光大師生的苛刻要求,有效降低了傳統(tǒng)人工閱卷方式的誤差,值得進行大范圍的推廣普及。
參考文獻
[1]徐全生.VB程序主觀題自動評閱系統(tǒng)的設(shè)計與實現(xiàn)[J].2007(2).
[2]楊暢.基于VB程序設(shè)計題考點的自動閱卷方法研究[J].2011(2).endprint