常婉綸 楊景林 劉雅君 劉輝
摘要:基于B/S的教師網上成績填報系統實現了成績百分比設置、成績錄入、成績提交、成績統計等功能。該系統采用JavaScript技術在網頁中仿Excel表格,實現了在一個頁面中完成整班所有學生的單科成績錄入與計算,這給教師提供友好的用戶界面和人性化的操作方式,提高了學院教務管理的效率。
關鍵詞:ASP.NET; JavaScript; 成績填報; 仿Excel表格
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)22-5243-04
在高等院校的各項教學活動中,各項工作都是圍繞教學管理進行,在教學管理工作中, 學生成績管理工作是整個教務管理中最重要的一環(huán)[1]。學生成績管理作為高校教學管理工作中的核心,采用傳統的管理方法已經無法滿足當前學校發(fā)展,必須緊跟時代潮流,利用現代化的計算機技術和網絡技術,實現科學、高效、精確的管理。網上成績填報系統充分利用校園網絡共享教務管理系統的數據信息,將教務管理人員、教師連為一體共同完成學生成績管理的各項任務[2]。該系統從設計到實現,一方面要適應高職院校對學生成績評定的特殊要求,一方面能夠在基于瀏覽器環(huán)境下對成績填報保留原有桌面系統的操作模式。
1 系統功能定義
教師成績填報平臺由成績錄入、成績打印、成績查詢主要功能構成,除此之外還提供了記分冊打印、學生照片瀏覽等輔助功能。
其中,教師成績錄入包含對所授當前學期班級的考試課、考查課的成績錄入,對本學期所授選修課程的所有學生成績錄入,對指定學期所授同課程同年級的學生補考成績錄入。學生成績查詢?yōu)樗薪處熖峁┝瞬樵儦v年任何班級的所有已提交的課程成績、補考成績,并且統計所有學生已修課程學分的功能。
2 系統總體設計
教師成績填報系統是基于B/S模式開發(fā)的Web應用系統,通過訪問教務系統數據庫并依賴原有架構完成了表示層的功能開發(fā),其運行環(huán)境如圖1所示,主要借助于校園網絡及服務器進行數據的傳遞。
成績錄入作為成績填報系統的核心功能,需要經過如圖2所示步驟。首先教務管理的工作人員通過教務系統安排教師本學期的授課班級及課程;然后教師登錄成績系統后先選擇授課班級及課程,設定好平時成績、期末成績的百分比,接下來以班級為單位錄入學生成績,錄入過程中可以隨時保存和修改。教師可以查看成績統計結果,打印班級課程的成績單。最后,教師提交班級課程成績,防止成績被修改。對于提交后的成績在校園網上可以公開查詢,并且產生學分。
3 教師成績填報平臺的實現
3.1 成績錄入
基于高職院校技能型教學的特點,學生的成績管理也有其特殊之處。具體來說,學生某一門課程的總評成績是由考試成績和平時成績通過百分比的計算得來。按照課程要求不同,對于總評成績的構成也有多個方案,提供平時成績、期中考試成績和實驗成績等可選項。因此教師在成績錄入之前首先要選定總評成績的構成項,系統的運行效果如圖3所示。
通過以上的設定,點擊“進入成績錄入”按鈕就進入到成績錄入頁面,如圖4所示。
成績錄入頁面主要由班級課程的成績錄入表格構成,該成績錄入表格模擬了Excel的諸多特性,光標可以在成績單元格中移動并且自動計算出總評成績,為實現該功能放棄了ASP.NET提供的GridView數據控件,而采用Table、TableRow、TableCell控件,并且在相應的TableCell控件中插入Html文本框最終實現了成績錄入表格的生成,程序中定義了兩個方法:
其中傳進來的參數n決定表格列數,表格中的學號、姓名是通過業(yè)務層的返回結果填充至表格,對應了該班當前的所有學生,在AddRow方法中將學生成績查詢后逐行添加至表格中。
接下來通過JavaScript客戶端腳本控制光標在各個成績文本框之間移動及總評成績的計算,同時也根據學院的教務管理的規(guī)定,通過期末成績對總評及格進行限定,例如期末卷面成績不足50分,即使通過各個成績項計算的總評成績及格,也強行給予不及格。
因此,為HTML表格標記中添加鍵盤事件onKeyDown="navigateKeys()",對應該事件的響應則是執(zhí)行用JavaScript定義的函數navigateKeys(),該函數內部通過語句var nKeyCode=event.keyCode;獲取鍵盤代碼,再對鍵盤代碼判斷來決定光標的移動方向和總評成績的計算。在表格文本框添加事件onblur=check(this),當文本框失去焦點時調用check函數對輸入的成績值進行有效性驗證,當超過范圍或輸入非法數據時,發(fā)出錯誤提示。
此外,通過JavaScript腳本實現對成績定時自動保存,防止因瀏覽器會話超時或突然斷電導致的數據丟失,主要函數定義如下:
3.2 成績保存
當點擊成績錄入頁面上方的任意按鈕或者整個頁面停留時間達到10分鐘,均會向服務器發(fā)出提交請求,服務器端對成績數據的接收采用了Request.Form集合,主要實現過程如下:
3.3 成績統計
3.4 成績提交功能
當教師對學生的成績填報結束并已打印,為確保成績數據的安全,將班級成績進行提交以防止被修改。
數據庫的教師授課表中有一個專門的字段PostStatus標識指定班級課程成績的提交狀況;在瀏覽器端的成績錄入頁面有專門的“提交”按鈕,為防止教師誤操作,點擊后先提示教師成績提交后不可再修改,通過再一次的“確定”將請求發(fā)送服務器完成PostStatus字段的修改,實現成績提交功能。當教師再次選擇錄入該班的課程成績時,成績的百分比設置已經失效,僅能進入成績?yōu)g覽的頁面。
4 小結
通過ASP.NET和JavaScript技術實現的教師網上成績填報平臺,目前在學院投入使用一年,不僅與已有的教務管理系統及數據庫實現了對接,而且仿Excel的成績錄入表格使廣大教師快速適應該系統的使用,獲得教職工一致好評,加快學院信息化建設的步伐。
參考文獻:
[1] 李穎.高校成績管理工作實踐與研究[J].教學研究,2009,32(5):35-38.
[2] 葉志娟,劉兵,劉小寧.高職院校學生成績管理研究[J].教育教學論壇,2014(15):279-280.
[3] 郝冠軍. ASP.NET本質論[M].北京:機械工業(yè)出版社,2011:152-165.
[4] Keith J,SambellsJ.JavaScript DOM編程藝術[M].2版.楊濤,譯.北京:人民郵電出版社,2011:69-105.