论文部分内容阅读
摘 要: 在分析考勤系统需求的基础上,结合实际学生考勤信息录入与汇总的特点,设计了基于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.
关键词: 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.