肖冬焱 蔣智鋼
摘要:隨著校園信息化建設(shè)進度的加快,課程考試結(jié)束后將學(xué)生的考試成績錄入教務(wù)管理系統(tǒng)已經(jīng)成為各大院校的標(biāo)準(zhǔn)操作。常規(guī)的手工錄入成績的方法已經(jīng)不能滿足大家對工作質(zhì)量和效率的要求。為了在保證成績錄入正確率的同時,提高工作效率,減輕教師的工作量,本文在教師需求調(diào)研以及對學(xué)校教務(wù)管理系統(tǒng)成績錄入模塊功能分析的基礎(chǔ)上,編寫了通用型成績自動錄入程序,該程序操作簡單、運行穩(wěn)定,可適用于多種數(shù)據(jù)錄入環(huán)境,具有很高的推廣性。
關(guān)鍵詞:成績管理;自動錄入;VB
中圖分類號:TP311? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2020)23-0004-03
Abstract: With the rapid development of campus information construction, it has become a standard operation for colleges and universities to input students' examination results in the educational administration management system after the course examination. The traditional method of manually entering grades can not meet the requirements of work quality and efficiency. To ensure the accuracy of score entry, reduce the workload of teachers and improve the work efficiency of score upload, a general-purpose automatic score entry program was developed based on the investigation of teachers' needs and the analysis of the function of score entry module of school educational administration management system. The program was easy to use, stable to operate, applicable to a variety of data entry environments, and popularized highly.
Key words: score management; automatic typing; VB
時至今日,校園網(wǎng)已經(jīng)日益普及,許多學(xué)校的日常教學(xué)管理工作也基本上都轉(zhuǎn)變成了網(wǎng)上辦公,如學(xué)生課程表的安排、教師授課計劃任務(wù)的下發(fā)、網(wǎng)上考試的實行、考試成績的管理等,這些改變大大地減少了傳統(tǒng)教學(xué)管理中的一些中間環(huán)節(jié),提高了管理部門的工作效率;但與此同時也給不同專業(yè)的教師帶來了新的挑戰(zhàn)和急需解決的困難。按教務(wù)處要求,教師須在考試結(jié)束后一周內(nèi)完成改卷及成績上傳工作,要在較短的時間內(nèi)完成試卷的批改、平時成績的統(tǒng)計、期末考試成績的匯總及上傳,并且還要保證成績的正確性,這些都給教師造成了很大的壓力。在過去,期末考試結(jié)束以后,教師只需要把學(xué)生的考卷批改完畢,然后將考試成績登入記分冊后交到教務(wù)處即可。由于不少高校的成績管理系統(tǒng)尚不完善[1-2],現(xiàn)在雖已改為網(wǎng)絡(luò)辦公,但出于某種考慮,教師依舊得先完成紙質(zhì)版成績冊的填寫,然后再將其錄入校園網(wǎng)的教務(wù)系統(tǒng)中去,這無形中使得教師工作量翻倍,在這個過程中,成績輸入錯位、漏輸以及成績審核煩瑣等情況時有發(fā)生。這種成績處理方式不但工作量巨大而且效率低下,導(dǎo)致學(xué)生成績管理工作也變得煩瑣困難。因此,有必要開發(fā)一個輔助教師高效完成成績錄入的小程序,除了能降低成績錄入出錯的概率外,還應(yīng)大大減少該工作的勞動量,提高工作效率,有利于保證教務(wù)管理部門能夠按計劃按時完成相關(guān)工作。
1 系統(tǒng)功能需求分析
開發(fā)本系統(tǒng)的目的是解決教師錄入成績過程中存在的3個問題:1)成績錄入速度慢;2)成績錄入容易發(fā)生輸錯位置或輸錯等情況;3)成績錄入完成后復(fù)核工作的煩瑣。由于網(wǎng)上成績錄入系統(tǒng)的表格中字體較小,教師錄入一段時間后極易出現(xiàn)眼花的情況。因此,哪怕只是復(fù)核錄入完畢的成績也不輕松。
軟件的預(yù)期目標(biāo)是:1)快速完成上百乃至上千人成績的自動錄入;2)保證近乎0的錄入出錯率;3)免除成績復(fù)核的工序;4)方便易用,不受制于網(wǎng)絡(luò)成績錄入系統(tǒng)中網(wǎng)頁元素的限制;5)除了成績錄入還可滿足其他類似數(shù)據(jù)的錄入需要。
據(jù)此,規(guī)劃設(shè)計系統(tǒng)功能時需滿足:1)使用簡單,教師無須花費時間學(xué)習(xí),看見軟件就會使用;2)設(shè)計為通用型數(shù)據(jù)錄入工具,而不是針對特定網(wǎng)頁元素使用[3];3)開發(fā)成用戶接受的綠色便攜版。
2 程序設(shè)計思路
成績錄入界面的分析。我校教務(wù)系統(tǒng)中學(xué)生成績管理模塊部分僅涉及學(xué)生總成績一個項目,即對于每個學(xué)生只需要教師錄入該生的一個分?jǐn)?shù)就可以了;錄入完一個學(xué)生的成績后,要轉(zhuǎn)到下一個學(xué)生繼續(xù)錄入時只能按鍵盤上的“↓”或者直接使用鼠標(biāo)點擊進行定位,該錄入系統(tǒng)不支持Enter鍵。此外,由于成績上傳頁面中使用了多個框架頁面,而且,因系統(tǒng)設(shè)置的原因,一個教師執(zhí)教的多個班級的學(xué)生名單會同時出現(xiàn)在一個成績表格中,這就意味著該表格有時會長達數(shù)百行,于是該框架頁的右側(cè)亦會常常顯示一個垂直滾動條,這種復(fù)雜的頁面結(jié)構(gòu)使得打算利用網(wǎng)頁元素[4]的定位屬性(如ID、Name、Index等)來實現(xiàn)自動輸入的設(shè)想難度過大,加之不同學(xué)校使用的教務(wù)系統(tǒng)采用的網(wǎng)頁框架也可能存在這樣或者那樣的差別,這將會造成根據(jù)某一特定學(xué)校的成績錄入系統(tǒng)的網(wǎng)頁特性編寫的軟件在其他地方無法使用,有悖于開發(fā)通用性軟件的初衷。有鑒于此,本程序擬利用Visual Basic能夠模擬人對鍵盤操作的特性來實現(xiàn)自動輸入成績的功能,這樣就可以直接忽略目標(biāo)系統(tǒng)的網(wǎng)頁界面布局及其所使用的網(wǎng)頁元素的限制,既不必對成績錄入網(wǎng)頁的元素進行分析就能實現(xiàn)輸入,亦可適用于更多需要實現(xiàn)自動輸入數(shù)據(jù)的情況。
教師管理成績的實際情況(包括教師個人習(xí)慣)分析。通過調(diào)查走訪以及結(jié)合自身的實際情況,對教師處理學(xué)生成績的具體步驟進行了詳細(xì)分析,結(jié)果發(fā)現(xiàn),自開學(xué)伊始,學(xué)校教務(wù)系統(tǒng)會向教師下發(fā)本學(xué)期的教學(xué)任務(wù),教師可以從系統(tǒng)中下載其教學(xué)任務(wù)涉及班級的學(xué)生名冊(Excel格式)。在隨后的教學(xué)過程中,教師會依據(jù)學(xué)生名冊對同學(xué)的上課情況、平時考核情況以及期末考試等逐一進行記錄,并在學(xué)期末時將紙質(zhì)版記錄上交教務(wù)處存檔,同時,還需將相關(guān)成績錄入到網(wǎng)上的教務(wù)系統(tǒng)中去。在調(diào)查中,我們發(fā)現(xiàn)大家的使用習(xí)慣是,幾乎所有教師都會在教學(xué)過程中將與學(xué)生相關(guān)的各種信息如考勤情況、平時成績、期中測驗分?jǐn)?shù)等信息記入Excel文件中,以便期末考試完畢錄入試卷成績后可以直接獲得課程總成績。另外,注意到教師平時記載學(xué)生成績信息的Excel文件中學(xué)生名字的順序與上傳成績時的學(xué)生名字順序是一一對應(yīng)的這一特點,這意味著,只要期末考試的試卷成績一輸入該Excel后,即可得到與成績上傳表格中學(xué)生順序完全一致的數(shù)據(jù)源,這為實現(xiàn)成績的高效錄入奠定了基礎(chǔ)。
換行方式的自定義。由于考慮到軟件的通用性,即不僅要滿足我校教務(wù)系統(tǒng)中成績上傳的特點,還要滿足其他需要自動錄入數(shù)據(jù)的情況,故本程序被設(shè)計成采用Sendkeys對鍵盤操作進行模擬,也就擺脫了本校系統(tǒng)只能使用箭頭按鍵切換的限制,同時還可以將使用Enter鍵切換的情況也一并考慮進去,使得程序的通用性更好。從程序功能方面來說,只需在軟件界面上增加一個選擇換行方式的按鈕,即可實現(xiàn)對于一個數(shù)據(jù)錄入完畢后如何切換到下一個數(shù)據(jù)輸入位置的自定義切換功能,使用者可以根據(jù)其所處的具體成績登錄系統(tǒng)環(huán)境中使用的換行鍵自行選擇設(shè)置,本程序默認(rèn)采用Enter(回車鍵)實現(xiàn)換行功能。
開發(fā)工具的選擇。選擇Microsoft公司的Visual Basic 6.0是因為其與Windows系列操作系統(tǒng)都是同一家公司出品,在兼容性方面具有良好的表現(xiàn)。借助CommonDialog控件的靈活性,可以很輕松地導(dǎo)入成績的數(shù)據(jù)源。程序界面將遵循簡潔原則進行規(guī)劃,直接在界面上提供“第一步”“第二步”等簡要的使用說明,以確保使用者即使是初次使用該程序也可無障礙使用。
軟件運行環(huán)境的要求。硬件要求:對電腦硬件配置無特殊要求,目前學(xué)校辦公室里的電腦均可正常運行。系統(tǒng)要求:全面兼容Windows系列操作系統(tǒng),WinXP、Win7等均可正常使用,但需注意的是,由于安全性的問題,Win7及以上系統(tǒng)需“以管理員身份運行”才不會出現(xiàn)未知錯誤。
3 主要功能的代碼實現(xiàn)
3.1 換行功能的自定義
本程序默認(rèn)換行方式為Enter鍵,因此在進入程序界面時即先行設(shè)定“回車鍵”單選按鈕處于選中狀態(tài)。具體代碼如下:
Private Sub Form_Load()
Option1.Value = True設(shè)定“回車鍵”已被選中
End Sub
若老師使用的成績上傳系統(tǒng)是使用“↑”或“↓”來切換數(shù)據(jù)輸入位置的,那么,需要在開始執(zhí)行自動錄入成績前再次確認(rèn)換行方式的種類,以便保證程序能夠正常運行。相關(guān)代碼如下:
If Option1.Value = True Then如果換行方式為Enter鍵
SendKeys "{ENTER}", True
Else如果換行方式為“↓”鍵
SendKeys "{DOWN}", True
End If
3.2 數(shù)據(jù)文件選擇功能
為了使程序具有更好的操作體驗,故沒有指定使用者必須將成績以固定的文件名進行保存,而是以CommonDialog控件提供文件選擇功能,允許用戶可以操作程序打開其保存在電腦上任意位置的數(shù)據(jù)文件。代碼如下:
CommonDialog1.Filter = "All Files (*.*)|*.*|CSV Files(*.csv)|*.csv"
' 指定缺省的過濾器
CommonDialog1.FilterIndex = 2
' 顯示“打開”對話框
CommonDialog1.ShowOpen
' 顯示選定文件的名字
strf = CommonDialog1.FileName將獲取的數(shù)據(jù)文件名賦值給變量strf
3.3 數(shù)據(jù)錄入功能
在獲得行數(shù)和列數(shù)的具體數(shù)值后,使用For…Next語句完成數(shù)據(jù)的輸入,并在全部數(shù)據(jù)錄入結(jié)束后彈出對話框?qū)τ脩艚o予提示。
For i = 1 To xs ‘學(xué)生人數(shù)即行數(shù)
For j = 1 To ts ‘考題數(shù)目即列數(shù)
KSCJ = cj(i, j)
SendKeys KSCJ, True
Sleep 500執(zhí)行下一操作前等待500毫秒
If Option1.Value = True Then
SendKeys “{ENTER}”, True
Else
SendKeys “{DOWN}”, True
End If
Sleep 500
Next
Next
Sleep 1000執(zhí)行下一操作前等待1000毫秒
MsgBox “成績?nèi)夸浫胪戤?!”?vbSystemModal, “溫馨提示”
4 軟件的實際運用
運行程序后,軟件界面如圖所示(圖1),界面第一行是關(guān)于“第一步”的文字說明,界面中間提供了一個圖示,簡要地介紹了成績錄入界面的情況,以行數(shù)表示需要錄入成績的同學(xué)數(shù),以列數(shù)代表一個同學(xué)有幾項成績需要錄入,可以是一份試卷中的每個題目的分?jǐn)?shù),也可以是平時成績、實驗成績、期末成績等,具體可由授課教師根據(jù)自己的實際情況自行設(shè)置。例如,只需要錄入一個總成績,那么在程序界面的“考題數(shù)目”處輸入“1”就好,因為一個成績對應(yīng)一列,至于“學(xué)生人數(shù)”那里就是有多少人的成績就輸入多少。
另外,如果教師在教務(wù)系統(tǒng)中錄入完一個成績后,是通過按Enter(回車鍵)切換到下一位同學(xué),那么,在“換行方式”那里就不必設(shè)置了;如果是需要按鍵盤上的“↑↓←→”來切換的話,那么就需要把“換行方式”區(qū)域中的“下箭頭”選中就可以實現(xiàn)相應(yīng)的功能。基本設(shè)置完成后,點擊“開始”按鈕,會彈出一個打開文件的對話框,使用者只需到自己保存之前成績的文件夾里面找到成績文件即可,本程序默認(rèn)支持CSV格式,其支持Excel編輯且體積更小,以相同的1000個數(shù)據(jù)為例,若保存為Excel格式,體積為47.5KB,而CSV格式只需4.77KB,二者相差約10倍。程序讀入數(shù)據(jù)完畢后會彈出提示“數(shù)據(jù)文件讀取完畢,請在5秒內(nèi)將光標(biāo)切換到成績上傳系統(tǒng)的起始輸入單元格中”,點擊“確定”按鈕后,教師只需迅速把光標(biāo)放到成績錄入的地方,然后靜待程序自動完成成績的錄入,待成績?nèi)枯斎虢Y(jié)束后,會彈出對話框提示“成績?nèi)夸浫胪戤?!”,此時,若無須繼續(xù)錄入,老師點擊“退出”按鈕關(guān)閉程序即可(圖2)。
經(jīng)實際應(yīng)用測試,本程序錄入100個分?jǐn)?shù)僅需102秒,約平均每秒輸入1個分?jǐn)?shù),且出錯率為0。本軟件自身體積小巧,采用ASPack V2.12壓縮打包后體積僅26.5 KB。此外,由于Visual Basic與Windows系統(tǒng)均為同一家公司開發(fā),所以,該程序支持在Windows 系統(tǒng)中直接拷貝使用,相當(dāng)方便。
參考文獻:
[1] 張妮妮. 高校成績管理工作的問題及對策[J]. 知識窗(教師版), 2019(11): 105.
[2] 于雯, 李輝. 高等醫(yī)學(xué)院校學(xué)生成績管理存在的問題、原因與對策[J]. 當(dāng)代教育實踐與教學(xué)研究, 2019(21): 82-83.
[3] 張金沙, 金笛, 石劭紅. 基于VBA成績自動上傳系統(tǒng)的開發(fā)[J]. 電腦知識與技術(shù), 2016, 12(32): 80-82.
[4] 李光飛, 王德東, 樓然苗. 教務(wù)成績輔助錄入系統(tǒng)的設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù), 2015, 11(32): 60-61, 68.
【通聯(lián)編輯:謝媛媛】