趙海峰等
摘 要: 在分析考勤系統(tǒng)需求的基礎(chǔ)上,結(jié)合實際學(xué)生考勤信息錄入與匯總的特點,設(shè)計了基于B/S結(jié)構(gòu)的課堂考勤系統(tǒng)。應(yīng)用該系統(tǒng)可方便地進(jìn)行學(xué)生考勤信息的錄入、修改與管理,并可進(jìn)行考勤信息的自動匯總。系統(tǒng)依據(jù)權(quán)限實現(xiàn)了角色分類,可按角色登錄及查詢具體的考勤信息,并可進(jìn)行學(xué)生考勤信息的匯總和導(dǎo)出,提高了工作效率。
關(guān)鍵詞: B/S結(jié)構(gòu); 課堂考勤系統(tǒng); 考勤信息錄入; 考勤信息匯總
中圖分類號:P209 文獻(xiàn)標(biāo)志碼: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 引言
采取傳統(tǒng)的手工登錄方式進(jìn)行各項考勤,不僅信息輸入量大,容易出現(xiàn)錯誤,而且需任課教師每周固定時間去各系部劃學(xué)生考勤,系部再進(jìn)行人工統(tǒng)計上報學(xué)生處,這樣的統(tǒng)計方式既不方便效率又低。根據(jù)我院的需求設(shè)計了一個考勤系統(tǒng),可為教師考勤報送提供方便,而且提高考勤匯總、分析的準(zhǔn)確性,減少人工錄入可能出現(xiàn)的失誤。各相關(guān)領(lǐng)導(dǎo)及部門可根據(jù)不同角色隨時登錄及查看具體的考勤信息,效率比較高。自主開發(fā)及構(gòu)建的考勤系統(tǒng)可在后續(xù)的維護(hù)中進(jìn)行相應(yīng)的改進(jìn)、升級、增加相應(yīng)的功能,具有很強的靈活性與實用性。
1 需求分析
學(xué)生課堂考勤是教師管理課堂的一種方式,在課堂教學(xué)中有著一定的作用。通過前期的調(diào)研和業(yè)務(wù)流程分析,為考勤系統(tǒng)確定了如下功能需求[1]。
1.1 角色分類
共分為普通教師、系輔導(dǎo)員、學(xué)生處教師、系統(tǒng)管理員四個角色。
1.2 業(yè)務(wù)流程
每學(xué)期開始時,首先由系統(tǒng)管理員在系統(tǒng)中設(shè)定本學(xué)期的考勤記錄的周數(shù)與第一周開始的日期。普通教師開學(xué)后每周登錄系統(tǒng),可以根據(jù)所授課程名與班號找到上課班級對應(yīng)的學(xué)生,根據(jù)病假、事假、曠課、遲到四項對學(xué)生的考勤信息進(jìn)行錄入,并允許在每周結(jié)束后兩天以內(nèi)進(jìn)行考勤信息的修改。
考勤信息每周結(jié)束后進(jìn)行自動匯總,根據(jù)每個學(xué)生的考勤信息按照病假、事假、曠課、遲到四項進(jìn)行匯總,統(tǒng)計從第一周到最近一周的每位學(xué)生的病假次數(shù)、事假次數(shù)、曠課次數(shù)與遲到次數(shù),并可導(dǎo)出Excel文件格式的統(tǒng)計分析表,方便相關(guān)人員掌握各班學(xué)生考勤情況。其中,普通教師可查看所帶班級學(xué)生的考勤情況,系輔導(dǎo)員可查看本系所有班級的學(xué)生考勤情況,學(xué)生處教師可查看學(xué)院所有班級學(xué)生的考勤情況。
1.3 功能劃分
普通教師:用戶信息查看、密碼修改、所授課程考勤信息錄入、所帶班級考勤匯總信息查看、所帶班級考勤匯總信息導(dǎo)出。
系輔導(dǎo)員:用戶信息查看、密碼修改、全系所有班級考勤匯總信息查看、全系所有班級考勤匯總信息導(dǎo)出。
學(xué)生處教師:用戶信息查看、密碼修改、全院所有班級考勤匯總信息查看、全院所有班級考勤匯總信息導(dǎo)出。
系統(tǒng)管理員:用戶信息查看、密碼修改、班級信息維護(hù)、學(xué)生信息維護(hù)、教師信息維護(hù)、班主任信息維護(hù)、課程表信息維護(hù)、系統(tǒng)信息維護(hù)。
其中,所帶班級考勤匯總信息查看、所帶班級考勤匯總信息導(dǎo)出、全系所有班級考勤匯總信息查看、全系所有班級考勤匯總信息導(dǎo)出、全院所有班級考勤匯總信息查看、全院所有班級考勤匯總信息導(dǎo)出都需要系統(tǒng)每周進(jìn)行考勤信息的自動匯總。
2 系統(tǒng)設(shè)計
2.1 系統(tǒng)層次結(jié)構(gòu)設(shè)計
對于整個系統(tǒng)而言,為了簡化系統(tǒng)的設(shè)計與開發(fā),便于以后的維護(hù)和升級,把系統(tǒng)劃分為如圖1所示的邏輯層次[2]。
展示層:按照設(shè)計好的界面進(jìn)行考勤信息填寫、考勤匯總信息查看、考勤匯總信息導(dǎo)出、系統(tǒng)信息維護(hù)、各種相關(guān)信息維護(hù)、用戶信息查看、用戶密碼修改。
業(yè)務(wù)層:為展示層的數(shù)據(jù)展示提供支持,涉及的主要模塊有:考勤信息存儲、考勤信息匯總輸出、考勤信息匯總導(dǎo)出、系統(tǒng)信息存儲、各種相關(guān)信息存儲、用戶信息查詢、用戶密碼存儲,為這些模塊提供支持,并為連接和訪問數(shù)據(jù)庫提供支持。
關(guān)系數(shù)據(jù)庫層:按照設(shè)計好主題的數(shù)據(jù)庫,對業(yè)務(wù)層提供數(shù)據(jù)支持。其中,采用考勤信息匯總操作對已經(jīng)存在的考勤信息進(jìn)行每周自動匯總,并采用關(guān)系數(shù)據(jù)庫存儲本系統(tǒng)所用到的各種相關(guān)考勤信息詳細(xì)數(shù)據(jù)。
2.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計是程序設(shè)計的基礎(chǔ),是系統(tǒng)開發(fā)的一部分。本系統(tǒng)采用SQL Server作為數(shù)據(jù)庫,根據(jù)需求分析和系統(tǒng)的功能要求,設(shè)計基于B/S結(jié)構(gòu)的考勤系統(tǒng)的數(shù)據(jù)表和字段。
2.3 系統(tǒng)功能流程設(shè)計
2.3.1 考勤信息錄入流程設(shè)計
普通教師登錄系統(tǒng)后,根據(jù)sesssion里保存的教師職工號與從系統(tǒng)信息表里讀取的學(xué)年與學(xué)期信息,從課程表里讀取對應(yīng)課程的班號、課程號與課程名,并顯示在用戶界面中。當(dāng)用戶單擊某一個課程鏈接時,通過班號,在學(xué)生表中讀取到對應(yīng)的學(xué)生列表并顯示在用戶界面中。根據(jù)學(xué)年、學(xué)期、周次、課程號、班號,從考勤信息表中查詢對應(yīng)的學(xué)生考勤信息,如果對應(yīng)的考勤信息存在,就將其顯示在用戶界面中。用戶可以根據(jù)情況進(jìn)行考勤信息的填寫與修改,當(dāng)單擊保存時可以將對應(yīng)的考勤信息存儲到考勤信息表中。
2.3.2 考勤信息匯總流程設(shè)計
最近一周考勤信息填寫后的第五天,系統(tǒng)自動對已經(jīng)存在的考勤信息進(jìn)行匯總。匯總時根據(jù)考勤信息表中的已經(jīng)存儲的信息進(jìn)行匯總,匯總后的信息存儲到學(xué)生表中對應(yīng)的字段中。
2.3.3 考勤信息匯總信息導(dǎo)出
當(dāng)用戶需要導(dǎo)出某一個班級的考勤匯總信息時,通過傳入的班號、學(xué)年、學(xué)期系統(tǒng)從學(xué)生表中讀取從第一周到最近一周的每一位學(xué)生的考勤匯總信息,從考勤信息表中讀取最近一周每一位學(xué)生的考勤詳細(xì)信息,根據(jù)這兩方面信息生成對應(yīng)班級的考勤匯總信息。
3 系統(tǒng)實現(xiàn)
3.1 系統(tǒng)整體實現(xiàn)方式
系統(tǒng)功能模塊的開發(fā)采取MVC模型。其中采用JSP作為表現(xiàn)層向用戶展示功能的界面或結(jié)果;Servlet作為控制器層,用于完成表現(xiàn)層和邏輯層的通信;Java Class作為邏輯層,完成功能的后臺邏輯,如:相關(guān)數(shù)據(jù)訪問等。JavaBean作為實體類負(fù)責(zé)在各層之間傳送數(shù)據(jù)。
3.2 考勤信息自動匯總的實現(xiàn)
通過SQL Server2005數(shù)據(jù)庫中的SQL Server代理來實現(xiàn)考勤信息自動匯總。SQL Server代理中的作業(yè)可以設(shè)置定時任務(wù)[3]。具體設(shè)置上,建立的作業(yè)執(zhí)行間隔為一周,在星期五執(zhí)行相應(yīng)的步驟,開始日期為學(xué)期的第一周的星期一,執(zhí)行的步驟為:
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 最終實現(xiàn)的系統(tǒng)
完成系統(tǒng)的開發(fā)與數(shù)據(jù)庫設(shè)置后,最終完成的系統(tǒng)如圖2、圖3和圖4所示。
4 關(guān)鍵技術(shù)
4.1 J2EE
本系統(tǒng)采用J2EE來完成開發(fā)。J2EE標(biāo)準(zhǔn)主要有三種子技術(shù)標(biāo)準(zhǔn):WEB技術(shù)、EJB技術(shù)和JMS。每種技術(shù)在應(yīng)用時都涉及兩個部分:容器部分和應(yīng)用部分[5]。
Web技術(shù)中除了Jsp/Servlet技術(shù)外,還需要JavaBeans或Java Class實現(xiàn)一些功能或者包裝攜帶數(shù)據(jù),所以Web技術(shù)最初簡稱為Jsp/Servlet+JavaBeans系統(tǒng)。
4.2 jQuery
本系統(tǒng)的部分更新采用jQuery來完成。jQuery是一個優(yōu)秀的Javascript框架。通過這種方式,可以使開發(fā)者無須理會不同瀏覽器處理DOM對象時存在的差異,而是以jQuery對象支持的屬性和方法操作DOM對象。jQuery使用戶能更方便地處理HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互[6]。
4.3 POI
本系統(tǒng)的EXCEL文件格式的考勤信息匯總導(dǎo)出,采用POI類庫來實現(xiàn)。
Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序?qū)icrosoft Office格式檔案讀/寫功能。其中,HSSF提供讀/寫Microsoft Excel格式檔案的功能。
5 結(jié)束語
本文從需求分析出發(fā),設(shè)計并實現(xiàn)了一個基于B/S結(jié)構(gòu)的學(xué)生課堂考勤系統(tǒng)。它的應(yīng)用有效地提高了學(xué)生考勤管理的效率。通過測試表明達(dá)到了預(yù)期效果,節(jié)約了人力成本,便于對考勤信息進(jìn)行統(tǒng)計匯總和分析,提高了學(xué)生管理工作的質(zhì)量。對于本系統(tǒng)而言,如何能更好地與學(xué)?,F(xiàn)存的教務(wù)系統(tǒng)進(jìn)行整合將成為下一個工作重點。
參考文獻(xiàn):
[1] 文昕.高校考勤管理系統(tǒng)設(shè)計與實現(xiàn)[D].南昌大學(xué),2010.
[2] 周少鵬.人力資源管理系統(tǒng)考勤管理子系統(tǒng)的設(shè)計與實現(xiàn)[D].北京郵
電大學(xué),2007.
[3] Brian Larson.Microsoft SQL Server 2005商業(yè)智能實現(xiàn)[M].清華大
學(xué)出版社,2008.
[4] 戴朝暉,吳敏.基于MVC模式的Web管理信息系統(tǒng)分析與設(shè)計[J].中
國工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2003.4.
[5] 李剛.輕量級Java EE企業(yè)應(yīng)用實戰(zhàn)(第3版)——Struts 2+Spring
3+Hibernate整合開發(fā)[M].電子工業(yè)出版社,2011.
[6] 李剛.瘋狂Ajax講義——Prototype/jQuery+DWR+Spring+
Hibernate整合開發(fā)[M].電子工業(yè)出版社,2012.