趙海峰等
摘 要: 在分析考勤系統需求的基礎上,結合實際學生考勤信息錄入與匯總的特點,設計了基于B/S結構的課堂考勤系統。應用該系統可方便地進行學生考勤信息的錄入、修改與管理,并可進行考勤信息的自動匯總。系統依據權限實現了角色分類,可按角色登錄及查詢具體的考勤信息,并可進行學生考勤信息的匯總和導出,提高了工作效率。
關鍵詞: B/S結構; 課堂考勤系統; 考勤信息錄入; 考勤信息匯總
中圖分類號:P209 文獻標志碼:A 文章編號:1006-8228(2015)02-29-04
Design of attendance system based on B/S structure
Zhao Haifeng, Shi Mingxiang, Meng Qingxuan, Du Juan, Zhang Chunli, Zhang Lihua
(Beijing Modern Vocational and Technical College, Beijing 101300, China)
Abstract: After analyzing the attendance system requirement, combined with the characteristics of input and summary of the student attendance information, classroom attendance system based on B/S structure is designed. Applying this system can input, modify, manage and automatically summarize the attendance information. The role classification is realized by permission, anyone can log in at any time, check, summarize and output the exact attendance information, which improves working efficiency.
Key words: B/S structure; classroom attendance system; attendance information input; attendance information summary
0 引言
采取傳統的手工登錄方式進行各項考勤,不僅信息輸入量大,容易出現錯誤,而且需任課教師每周固定時間去各系部劃學生考勤,系部再進行人工統計上報學生處,這樣的統計方式既不方便效率又低。根據我院的需求設計了一個考勤系統,可為教師考勤報送提供方便,而且提高考勤匯總、分析的準確性,減少人工錄入可能出現的失誤。各相關領導及部門可根據不同角色隨時登錄及查看具體的考勤信息,效率比較高。自主開發及構建的考勤系統可在后續的維護中進行相應的改進、升級、增加相應的功能,具有很強的靈活性與實用性。
1 需求分析
學生課堂考勤是教師管理課堂的一種方式,在課堂教學中有著一定的作用。通過前期的調研和業務流程分析,為考勤系統確定了如下功能需求[1]。
1.1 角色分類
共分為普通教師、系輔導員、學生處教師、系統管理員四個角色。
1.2 業務流程
每學期開始時,首先由系統管理員在系統中設定本學期的考勤記錄的周數與第一周開始的日期。普通教師開學后每周登錄系統,可以根據所授課程名與班號找到上課班級對應的學生,根據病假、事假、曠課、遲到四項對學生的考勤信息進行錄入,并允許在每周結束后兩天以內進行考勤信息的修改。
考勤信息每周結束后進行自動匯總,根據每個學生的考勤信息按照病假、事假、曠課、遲到四項進行匯總,統計從第一周到最近一周的每位學生的病假次數、事假次數、曠課次數與遲到次數,并可導出Excel文件格式的統計分析表,方便相關人員掌握各班學生考勤情況。其中,普通教師可查看所帶班級學生的考勤情況,系輔導員可查看本系所有班級的學生考勤情況,學生處教師可查看學院所有班級學生的考勤情況。
1.3 功能劃分
普通教師:用戶信息查看、密碼修改、所授課程考勤信息錄入、所帶班級考勤匯總信息查看、所帶班級考勤匯總信息導出。
系輔導員:用戶信息查看、密碼修改、全系所有班級考勤匯總信息查看、全系所有班級考勤匯總信息導出。
學生處教師:用戶信息查看、密碼修改、全院所有班級考勤匯總信息查看、全院所有班級考勤匯總信息導出。
系統管理員:用戶信息查看、密碼修改、班級信息維護、學生信息維護、教師信息維護、班主任信息維護、課程表信息維護、系統信息維護。
其中,所帶班級考勤匯總信息查看、所帶班級考勤匯總信息導出、全系所有班級考勤匯總信息查看、全系所有班級考勤匯總信息導出、全院所有班級考勤匯總信息查看、全院所有班級考勤匯總信息導出都需要系統每周進行考勤信息的自動匯總。
2 系統設計
2.1 系統層次結構設計
對于整個系統而言,為了簡化系統的設計與開發,便于以后的維護和升級,把系統劃分為如圖1所示的邏輯層次[2]。
展示層:按照設計好的界面進行考勤信息填寫、考勤匯總信息查看、考勤匯總信息導出、系統信息維護、各種相關信息維護、用戶信息查看、用戶密碼修改。
業務層:為展示層的數據展示提供支持,涉及的主要模塊有:考勤信息存儲、考勤信息匯總輸出、考勤信息匯總導出、系統信息存儲、各種相關信息存儲、用戶信息查詢、用戶密碼存儲,為這些模塊提供支持,并為連接和訪問數據庫提供支持。
關系數據庫層:按照設計好主題的數據庫,對業務層提供數據支持。其中,采用考勤信息匯總操作對已經存在的考勤信息進行每周自動匯總,并采用關系數據庫存儲本系統所用到的各種相關考勤信息詳細數據。
2.2 數據庫設計
數據庫設計是程序設計的基礎,是系統開發的一部分。本系統采用SQL Server作為數據庫,根據需求分析和系統的功能要求,設計基于B/S結構的考勤系統的數據表和字段。
2.3 系統功能流程設計
2.3.1 考勤信息錄入流程設計
普通教師登錄系統后,根據sesssion里保存的教師職工號與從系統信息表里讀取的學年與學期信息,從課程表里讀取對應課程的班號、課程號與課程名,并顯示在用戶界面中。當用戶單擊某一個課程鏈接時,通過班號,在學生表中讀取到對應的學生列表并顯示在用戶界面中。根據學年、學期、周次、課程號、班號,從考勤信息表中查詢對應的學生考勤信息,如果對應的考勤信息存在,就將其顯示在用戶界面中。用戶可以根據情況進行考勤信息的填寫與修改,當單擊保存時可以將對應的考勤信息存儲到考勤信息表中。
2.3.2 考勤信息匯總流程設計
最近一周考勤信息填寫后的第五天,系統自動對已經存在的考勤信息進行匯總。匯總時根據考勤信息表中的已經存儲的信息進行匯總,匯總后的信息存儲到學生表中對應的字段中。
2.3.3 考勤信息匯總信息導出
當用戶需要導出某一個班級的考勤匯總信息時,通過傳入的班號、學年、學期系統從學生表中讀取從第一周到最近一周的每一位學生的考勤匯總信息,從考勤信息表中讀取最近一周每一位學生的考勤詳細信息,根據這兩方面信息生成對應班級的考勤匯總信息。
3 系統實現
3.1 系統整體實現方式
系統功能模塊的開發采取MVC模型。其中采用JSP作為表現層向用戶展示功能的界面或結果;Servlet作為控制器層,用于完成表現層和邏輯層的通信;Java Class作為邏輯層,完成功能的后臺邏輯,如:相關數據訪問等。JavaBean作為實體類負責在各層之間傳送數據。
3.2 考勤信息自動匯總的實現
通過SQL Server2005數據庫中的SQL Server代理來實現考勤信息自動匯總。SQL Server代理中的作業可以設置定時任務[3]。具體設置上,建立的作業執行間隔為一周,在星期五執行相應的步驟,開始日期為學期的第一周的星期一,執行的步驟為:
update student
set totalsick=A1.tsick,totalabsence=A1.tabsence,
totalabsent=A1.tabsent,totallate=A1.tlate
from (select studentid, sum(sick)as tsick, sum(absence)as
tabsence, sum(absent)as tabsent, sum(late)as tlate
from attendance group by studentid)as A1,student
where A1.studentid=student.studentid
update student
set academic=B1.academic,semester=B1.semester,nw=B1.nw
from (select academic,semester,nw from systemset)as B1,student
3.3 最終實現的系統
完成系統的開發與數據庫設置后,最終完成的系統如圖2、圖3和圖4所示。
4 關鍵技術
4.1 J2EE
本系統采用J2EE來完成開發。J2EE標準主要有三種子技術標準:WEB技術、EJB技術和JMS。每種技術在應用時都涉及兩個部分:容器部分和應用部分[5]。
Web技術中除了Jsp/Servlet技術外,還需要JavaBeans或Java Class實現一些功能或者包裝攜帶數據,所以Web技術最初簡稱為Jsp/Servlet+JavaBeans系統。
4.2 jQuery
本系統的部分更新采用jQuery來完成。jQuery是一個優秀的Javascript框架。通過這種方式,可以使開發者無須理會不同瀏覽器處理DOM對象時存在的差異,而是以jQuery對象支持的屬性和方法操作DOM對象。jQuery使用戶能更方便地處理HTML documents、events、實現動畫效果,并且方便地為網站提供AJAX交互[6]。
4.3 POI
本系統的EXCEL文件格式的考勤信息匯總導出,采用POI類庫來實現。
Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序對Microsoft Office格式檔案讀/寫功能。其中,HSSF提供讀/寫Microsoft Excel格式檔案的功能。
5 結束語
本文從需求分析出發,設計并實現了一個基于B/S結構的學生課堂考勤系統。它的應用有效地提高了學生考勤管理的效率。通過測試表明達到了預期效果,節約了人力成本,便于對考勤信息進行統計匯總和分析,提高了學生管理工作的質量。對于本系統而言,如何能更好地與學校現存的教務系統進行整合將成為下一個工作重點。
參考文獻:
[1] 文昕.高校考勤管理系統設計與實現[D].南昌大學,2010.
[2] 周少鵬.人力資源管理系統考勤管理子系統的設計與實現[D].北京郵
電大學,2007.
[3] Brian Larson.Microsoft SQL Server 2005商業智能實現[M].清華大
學出版社,2008.
[4] 戴朝暉,吳敏.基于MVC模式的Web管理信息系統分析與設計[J].中
國工業大學學報(自然科學版),2003.4.
[5] 李剛.輕量級Java EE企業應用實戰(第3版)——Struts 2+Spring
3+Hibernate整合開發[M].電子工業出版社,2011.
[6] 李剛.瘋狂Ajax講義——Prototype/jQuery+DWR+Spring+
Hibernate整合開發[M].電子工業出版社,2012.