【摘要】隨著高校信息化建設的推進,校園信息管理系統也在逐步完善。然而,目前軟件工程專業考勤管理仍然停留在人工操作階段,急需一套完善的學生考勤管理解決方案。針對這一問題,設計并實現了一套高校學生考勤管理系統,該系統基于.Net架構,采用SQLServer2010后臺數據庫,實現了報表生成、考勤數據管理等功能。
【關鍵詞】考勤;管理;設計
軟件工程現有本科生900多人,傳統的考勤統計方法已經無法滿足大量增加的學生數的管理需求。本項目瞄準目前考勤管理工作中出現的“統計不及時、信息不準確、工作效率低”等難點問題,設計并逐步開發一套以軟件學院需求為背景的,集成多種信息化技術的學生考勤管理系統,包括考勤記錄、考勤統計、在線請假等功能模塊,督促學生按時出勤,進一步加強學風建設。本項目根據不同需求選用B/S和C/S兩種架構進行程序開發。使用Visual Studio 2010作為IDE,數據庫管理系統使用SQL Server 2010,采用.Net Framework 3.5/4.0作為開發平臺。該系統按教師、學生和管理員三個角色分別實現了如下具體功能:教師:實現了點名、答到識別、數據記錄、數據上傳/下載、請假申請管理、統計報表、密碼管理等。學生:實現了請假申請查看/提交/修改/撤銷、密碼管理等。管理員:實現了數據導入、課程分配、統計報表、考勤管理、用戶管理等。共包括以下幾個模塊設計:
程序界面和考勤數據可視化設計:數據的呈現方式非常重要,是用戶體驗的重要考察部分。依照數據的邏輯結構,程序被設計為以樹形結構顯示管理單位,以列表結構顯示考勤數據,并可通過窗口文本框檢索數據并自動定位、高亮顯示,支持模糊搜索。樹形結構顯示教授課程和各課程的授課班和課程的簡要信息,列表部分顯示圖形化數據。根據學生的考勤情況定義了紅色、黃色、綠色3種圖形表示統計的數據。列表各列均可以進行排序,并高亮顯示排序列,用戶可以通過雙擊某個單元格修改考勤數據。
考勤數據交互文件設計:為了使教師能夠以離線的方式完成課上點名和數據統計等操作,學生考勤管理系統教師離線考勤管理程序使用自定的文件格式進行數據存儲和交互,文件結構總體分為三個部分,分別存儲文件信息、教師信息和課程信息,載入考勤數據時,程序通過若干循環將數據存儲至結構體,并在內存中執行數據的修改操作。文件內容通過基于位運算的算法進行加密存儲,并支持密碼驗證。
語音點名和語音識別答到設計:語音點名和語音識別答到使用了GDI+、TTS、語音識別和多線程技術,分別實現了繪制全屏點名界面,自動播報學生姓名,學生答到語音識別等功能。為了使程序能夠更加穩定和高效地運行,這里引入了多線程技術,單獨創建3個線程分別用于語音播報、語音識別和全屏畫面繪制。利用線程中斷的方法實現了暫停點名并等待用戶操作的功能,如自動延時點名、控制點名速度、終止點名確認和多種答到確認方式。通過手動資源管理,不僅增強了用戶體驗,還大幅度降低了系統資源占用率。
全屏點名界面設計:主體部分為名單列表顯示位置,全屏點名界面支持自適應分辨率。首先,計算各行文字最佳的大小和位置,并顯示出來,這樣可以適應不同的分辨率,而不會造成圖像的模糊;然后,在捕獲用戶操作后繪制相應的圖形以展示考勤情況;之后,程序記錄考勤結果,并重新繪制圖像以實現滾動字幕效果,對于已記錄考勤的行,則一同繪制相應的圖形。點名完成后,程序會自動返回主窗口,并即時顯示考勤記錄數據。點名完成后,用戶可以點擊“保存”按鈕保存文件,此時,進行過點名的課程,課時進度會自動增加。
考勤數據統計該模塊和報表生成模塊的設計:統計各門課程各個班級的每個課時的到課率,并以柱形圖的形式顯示出來,并提供統計圖表圖片編輯和保存功能。支持餅狀圖、折線圖和柱形圖的渲染,并提供了多項擴展屬性,包括標題文字、圖形樣式、顏色搭配和坐標軸樣式等項目。通過分析綁定的類的實例得到每個單位的大小、位置、X坐標軸、Y坐標軸和圖例,按照用戶選定的預定義樣式,利用GDI+技術繪制圖像(包括形狀、顏色漸變、陰影和注釋等)并將其顯示出來,并支持圖像輸出。考勤報表生成設計這個模塊使用到了Microsoft Office 2007/2010提供的COM組件,.Net Framework對其進行了封裝,在命名空間中提供了對Word操作的支持。可以生成如Word文檔。該模塊不僅能夠生成某門課某個班的考勤表,還可以根據用戶選擇的樹節點,生成屬于該節點的所有課程及班級的考勤表,并且無需用戶考慮如何合并它們,生成的結果即為合并后的結果。
教師Web考勤管理程序模塊的設計:教師登錄Web系統后,會默認轉到課程信息頁面,教師在這里可以查看自己的授課列表,通過選擇學期可以過濾指定學期的課程,若單擊課程名,則會轉到請假管理頁面,并顯示所選課程的請假信息。用戶可以通過學期、課程、班級所屬專業進行請假信息的篩選,列表默認以請假申請時間為排序列,按倒序排列,用戶可以點擊操作進行全部課程的請假管理。教師可以點擊查看具體的請假申請,并進行審批。請假申請單支持打印功能。請假管理模塊結合了業務流程和權限控制,教師同意和拒絕請假申請的權限,對于已審批的請假申請只具備查看和打印的權限,只有學院級管理員具有撤銷請假申請的權限(該功能由管理員客戶端程序提供)。這樣設計的目的是為了規范請假申請的流程,防止徇私舞弊、弄虛作假的情況發生。若請假申請被拒絕,則該生無法修改該課程課時的詳細信息。
考勤管理模塊的設計:考勤管理模塊的作用是實現離線考勤數據文件的更新過程和考勤成績的自動生成功能,減少教師在期末考試期間考勤成績核對的工作量。設想一種情況,某個學生提交了某門課程的請假申請,并且得到了教師或班主任的批準,當天教師上課期間進行了點名,該生由于未出勤被程序記為曠課,教師回家后登陸該系統,并向系統提交考勤數據文件,系統經過數據庫信息的比對和整合后,將最新的帶有請假數據的考勤數據文件提供給教師下載,下次上課點名時,該生不會計入曠課次數。設想另一種情況,期末考試之后,教師需要獲得考勤成績,以計入期末總成績,此時,教師可以登錄該系統,設置考勤總分和已批準請假的得分比例,并向系統提交考勤數據文件,系統經過數據庫信息的比對和整合后,將考勤成績表提供給教師下載。
本系統也支持對管理員用戶的添加、編輯和刪除,包括權限定義和適用范圍的定義和修改。同時還可查看各管理員的登錄時間和地點,及時發現可疑用戶。
本項目以VisualStudio為開發環境,以.NetFramework為平臺,運用C#語言和SQLServer數據庫,分別使用WinForm和NET完成了一套較為完整的學生考勤管理系統。系統設計基本預期是能實現考勤管理的各項功能,并在測試和實踐改進后得以順利運行。該項目雖然預期能實現較為完善的功能和管理體系,但是仍屬框架式結構,擴展性很強,將來隨著移動終端和無線覆蓋的普及,在本項目全部功能開發完善后,再開發相應接口,與移動智能終端相鏈接,使老師和同學能方便的查詢和進行考勤管理工作。
基金項目:天津師范大學校教育資金52XJ1203資助項目。
作者簡介:于寶海(1979—),男,助理研究員,主要研究計算機應用、教育管理。