学生考勤系统开发
2016-12-26况昊
况昊
摘要:学生考勤系统主要针对现在学生上课考勤困难、任课教师上课只能通过纸质的形式进行考勤而设计的。本系统采用J2EE技术,以Tomcat为服务器,MySQL5.1为数据库系统,建立的一个B/s模式的三层体系的高校课堂考勤管理系统,目的是方便任课老师上课考勤、学生实时查询自己的出勤情况、班主任及时了解班级的考勤情况、院系领导及时了解学院整体考勤情况,进而提高课堂教学质量。
关键词:J2EE;数据库;B/s模式;考勤
1.引言
1.1开发背景
现在很多学校都开始使用教务系统、图书馆管理系统、招生就业系统、课程中心等对全校师生的学习、生活、工作、办公带来了便利。
目前高校学生上课考勤管理都是通过任课老师使用纸质的签到表或者Excel表格的形式进行点名,记录学生上课出勤情况。这种方式首先效率很低,任课老师正式上课前需要花费更多的时间对学生的出勤情况进行登记,而且登记的成果很容易弄掉;其次,这种方式只有任课老师能够清楚的了解学生的考勤情况,学生不能很好地了解这学期自己的考勤情况,班主任和院系领导也不能实时的了解学生的考勤情况,这样不方便他们制定教学计划。
1.2问题描述
因为高校管理系统主要实现任课老师上课考勤和学生在线请假功能,涉及五类用户,分别是:系统管理员、学生、任课老师、班主任、院系领导,由于用户分布很广,且存在很大的不同,如:计算机硬件配置的不同、操作系统的不同等,所以该系统应该采用现在很流行的B/s(浏览器/服务器)模式的构架进行设计。此架构模式操作简单,对硬件要求很低,直接通过浏览器进行访问,所以很利于我们进行开发。
目前流行的基于B/s结构的技术主要有ASP,JsP,PHP等。本系统选用JsP+JQUERY技术对系统前端进行开发和美化,数据库方面使用的是MySQL5.1,框架方面使用SSH进行开发。
2.需求分析
2.1产品描述
2.1.1产品范围
“高校学生考勤管理系统”是针对高校学生请假难、任课老师上课考勤难、班主任审批学生请假不方便、院系领导查看本学院学生考勤信息难等问题进行设计的。通过该系统学生可以很方便的进行在线请假及查看自己的考勤信息,任课老师可以很方便进行考勤及查看所教学生的考勤信息,班主任可以很方便的审批学生的请假信息及查看本班学生的考勤信息。
2.1.2用户类型和特征
本系统涉及的用户主要有五类,分别为系统管理员、学生、任课老师、班主任、院系领导。
系统管理员是本系统的管理者,主要负责班级管理、学科管理、课程管理、用户管理。学生是本系统的被管理者,主要需求有查看课程表、在线请假以及查看在校期间所有的上课出勤信息。任课老师是本系统的主要执行者,主要需求有查看课程表、查看学生请假信息、上课考勤以及查看所教学生的考勤详细信息和统计信息。班主任主要需求有查看班级信息、审批学生请假以及查看本班学生的请假信息。院系领导的需求主要有查看院系信息、审批学生请假时间超过三天(包括三天)的请假信息以及查看本学院的学生考勤统计信息。
2.2系统开发工具
针对本系统的特点,我选用以下工具进行开发:
系统结构:B/s(浏览器/服务器);
开发语言:JAVA/jQuery;
后台框架:SSH(struts2+spring3+hibernate3);
数据库:MySQL5.1;
开发工具:JDK 1.7 Eclipse Microsoft Visio 2013;
服务器端容器:Tomcat 7.0。
2.3功能需求
本系统主要包括学生模块、教师模块、班主任模块、院系领导模块、系统管理员模块五个功能模块,其中学生模块实现了查看课表、个人信息的查看与修改、在线请假、出勤查看等功能;教师模块实现了查看课表、查看学生请假信息、按教学班考勤等功能;班主任模块实现班级信息查看、学生请假信息的审批、查看所负责班级的考勤情况;院系领导模块主要实现了院系信息的查看、对整个学院的考勤查看、学生请假天数超过3天的请假信息的审批、统计分析等功能;系统管理员模块主要实现班级管理、学科管理、用户管理、课程管理。
2.4运行需求
服务器端:
硬件要求:处理器Intel Core i3内存2G硬盘40G。
软件需求:Win 7系统IE浏览器JDK 1.7;
MySQL5.1数据库Tomcat 7.0 Eclipse。
客户端:
硬件需求:处理器Intel Core i3内存2G硬盘10G;
软件需求:Win 7系统IE浏览器jQuery插件。
3.系统设计
3.1系统功能模块设计
本系统主要包含三大功能模块,分别为请假管理模块、考勤管理模块、后台管理模块。
其中具体功能模块设计如图1所示。
3.2数据流图
用户登录本系统之后,进入本系统的主界面,用户通过主界面的导航菜单可以进行相应的操作,系统管理员通过导航菜单可以完成班级、学科、用户、课程的添加、修改、删除;学生可以查看课表、在线请假、查看考勤详细信息和统计信息;任课老师可以查看课表、查看学生请假信息、学生考勤管理;班主任可以查看班级信息、审批学生请假、查看班级考勤信息;院系领导可以查看院系信息、审批学生请假、查看学院总体考勤信息。
3.3系统结构设计
本系统是基于B/S结构的信息管理系统,一套浏览器/服务器系统必须明确一个清晰的层次架构。本系统主要分为三层,服务器层,通讯层,浏览器层。
服务器层采用J2EE的SSH框架,主要分为两个模块:通讯传递模块,这是服务器接受浏览器前端访问的请求后,并根据访问请求在服务器做出相应的反应,最后将服务器的处理结果返回给浏览器前端。数据操作模块,主要是用于服务器通过存储过程与数据库进行更新和读取数据的操作,比如查询学生考勤信息,统计信息等。
通讯层,由于浏览器端与服务端需要保持数据通信,其数据的交互是通过web server来完成的。
浏览器层主要由界面元素和逻辑控制组成。界面元素里面包括在本系统中使用到的所有界面与其相关的事件请求以及请求返回结果;逻辑控制主要有界面逻辑跳转、界面显示、用户提示等。
3.4数据库设计
3.4.1概念模型设计
概念模型设计是在需求分析的基础上,设计出系统的概念模型,概念模型通常采用E-R模型来表示。
本系统的总体E-R图如4图所示。
3.4.2数据存储结构
根据数据库的逻辑模型设计,设计数据库存储结构,根据输入数据的实际情况,估算数据的最大长度。
数据库的物理存储结构如表1所示。
4.详细设计
4.1系统登录用户设计
用户在使用本系统的时候,首先要输入账号、密码、验证码,然后选择用户角色,最后单击登录进入系统主界面。如果其中有一个信息输入错误,系统都会提示输入信息有误,请重新输入。
本系统在设计登录界面时,严格考虑了系统的安全性,用户的密码是经过加密的,所以其他人就算知道了用户的密码密文也不能得到该用户的密码。本系统还设计了验证码功能,用户只有在正确输入验证码之后方能成功登录系统主界面。
4.2学生用户功能设计
学生在使用本系统的时候,首先输入用户名、密码、验证码以及选择用户类型为学生之后登录到系统主界面。学生用户界面主要实现了查看个人课表、在线请假、查看考勤详细信息和统计信息、查看个人信息和修改密码功能以及退出系统功能。
在查看个人课表菜单中,学生可以查看自己这学期的课表,可以了解自己这学期有哪些课程,在什么时间、什么地点上课。
在线请假功能菜单中,学生可以添加新的请假单,内容包括:请假开始时间、请假结束时间、请假天数、请假理由,填写好请假信息之后单击提交,新的请假单就增加成功,学生也可以修改和删除请假单。
在查看考勤详细信息菜单中,学生可以在信息显示界面看到自己这学期所有的考勤信息,学生也可以选择课程、任课老师、日期、课次进行查询。在考勤信息统计菜单中,信息显示界面首先会显示出该学生这学期所有考勤情况的统计信息,学生可以选择课程、教师、开始日期、结束日期,然后点击查询,信息显示界面就会显示该学生相应的考勤统计信息。
在个人信息菜单中,学生可以查看自己的个人信息,包括:用户名、编码、年级、专业、班级等,学生还可以对这些信息进行修改。在修改密码菜单中,学生可以修改自己的登录密码。
4.3任课老师用户功能设计
任课老师在使用本系统的时候,首先输入用户名、密码、验证码以及用户角色之后登录到系统主界面。任课老师系统主界面主要实现了查看课表、查看学生请假信息、考勤情况管理(包括:教师点名、查看考勤、考勤统计信息)、查看个人信息、密码修改等功能。
在查看课表菜单中,任课老师可以查看自己这学期的课表安排,了解自己这学期有哪些课程,上课的时间、地点等信息。
在查看学生考勤信息菜单中,任课老师可以查看所教班级的学生的请假信息,方便教师在点名考勤的时候有个参照,以免误记学生的出勤状况。
在考勤情况管理菜单中有三个子菜单,分别是教师点名、查看考勤、考勤统计信息。在教师点名子菜单中,任课老师在选择了班级、课程、日期、课次之后,点击检索,系统会自动列出选了该课程的所有学生的信息,在最后一列是考勤状态,任课老师选择每个学生的考勤状态之后点击提交就完成了本次课程的考勤。在查看考勤子菜单中,任课老师可以查看、修改所教学生的详细考勤信息,也可以选择班级编号、课程名称、学生编号、学生姓名等信息进行查询。在考勤统计信息菜单中,任课老师可以查看所教学生的考勤统计信息,包括总的点名次数、出勤次数、旷课次数、迟到次数、请假次数。
在查看个人信息菜单中,任课老师可以查看自己的一些信息,包括:用户名、编码、所教年级、所教班级等,任课老师还可以对这些信息进行修改。在修改密码菜单中,任课老师可以修改自己的登录密码。
4.3班主任用户功能设计
班主任在使用本系统的时候,首先输入用户名、密码、验证码以及用户角色之后登录到系统主界面。班主任系统主界面主要实现了查看班级信息、学生请假管理、考勤信息查询和考勤信息统计、查看个人信息、密码修改等功能。
在查看班级信息菜单中,还有两个子菜单,分别是班级基本信息和班级详细信息。在班级基本信息中,班主任可以查看自己所带班级的基本信息,包括班级编号、班级名称、班级人数。在班级详细信息中,班主任在选择了班级之后,点击检索,信息显示界面就会显示出这个班级所有学生的详细信息。
在学生请假管理菜单中,信息显示界面列出了班主任所负责班级学生的请假单信息,其中包括审核通过和正处于审核状态中的请假单信息。班主任选择处于审核中的请假单,然后单击审核请假单,系统会弹出审核请假单界面,班主任在选择了审核结论之后点击提交,就完成了审核请假单的任务。当学生的请假时间超过三天(包括三天)的请假单,首先由班主任选择通过或者不通过,如果班主任选择通过之后,系统会将此次请假单的审核状态修改为“等待院系领导审核”,然后提交到院系领导的请假单管理界面,由院系领导进行审批。
在考勤信息查询中,班主任选择班级编号、开始时间、结束时间之后,点击检索,信息显示界面就会显示出该班级所有学生的考勤信息。在考勤情况统计中,班主任在选择了班级编号、课程、开始时间、结束时间之后点击检索,信息显示界面就会显示出该班级这门课程学生总的出勤情况,包括:出勤人数、旷课人数、迟到人数、请假人数。
在查看个人信息菜单中,班主任可以查看自己的一些信息,包括:用户名、编码、所带年级、所带专业等,班主任还可以对这些信息进行修改。在修改密码菜单中,班主任可以修改自己的登录密码。
4.5院系领导用户功能设计
院系领导在使用本系统的时候,首先输入用户名、密码、验证码以及用户角色之后登录到系统主界面。院系领导系统主界面主要实现了查看院系信息、学生请假管理、查看学院考勤统计信息、查看个人信息、密码修改等功能。
在查看院系信息中,院系领导选择了年级和专业后,点击检索,信息显示界面就会显示出所选年级、所选专业的班级个数。
在学生请假管理中,首先信息显示界面显示出了本学院学生请假天数超过三天(包含三天)的学生请简单,院系领导选择审核状态为“等待院系领导审批”的学生请简单进行审批,审批完之后信息显示界面的审核状态就会马上发生变化,班主任和学生也可以查看请假单的信息状态。
在学院考情统计信息中,院系领导在选择了年级、专业、课程、开始日期、结束日期之后,点击检索,信息显示界面就会显示出该年级、专业、课程的考勤统计信息,包括:参与考勤人数、出勤人数、旷课人数、迟到人数、请假人数。
在查看个人信息菜单中,院系领导可以查看自己的一些信息,包括:用户名、编码、所负责的学院等,院系领导还可以对这些信息进行修改。在修改密码菜单中,院系领导可以修改自己的登录密码。
5.总结与体会
本文主要介绍了“高校学生考勤管理系统”的整体开发流程和相关技术。
5.1本系统所涉及的技术
(1)CSS、JQuery、Ajax网站前端开发技术;
(2)J2EE开发技术,主要是JsP、SSH三大框架;
(3)MySQL数据使用技术;
(4)Tomcat程序使用技术。
5.2需要进一步改善和提升的地方
(1)在设计数据库的时候,没有分析清楚表与表之间的关联关系,导致后面的操作很繁琐。
(2)后台将数据返回到前端页面显示时,我用的是request对象的setAttribute()方法,当后台有很多对象要返回到前端页面时,会使用很多的这种方法,导致代码很冗余,应该使用JsON对象来存储这些对象。
通过这次论文编写,我收获很大。首先,我了解了如何对一个新的系统进行前期的可行性分析、需求分析、设计、编码、测试;然后我学会了前端页面如何使用一些比较流行的js框架进行修饰与美化,如何熟练的进行数据库的操作;最后我学会了如何使用SSH三大框架开发系统。