基于Python的学生考勤管理系统的设计与实现
一、引言
1.1 项目背景
由于技术的革新,人们的生活相较于上个世纪已经发生了天翻地覆的变化。上个世纪出现的计算机的设计目的是军事需要,并不适合私人用途。并且手机也仅仅是一种通讯工具,现在手机已经具有音乐,电视,拍照,游戏,上网等各种各样的功能,手机已经变成了一个成年人必不可少的工具,成为了人们生活的一部分。之前人们不会想到用手机来实现签到功能,因为那时候手机没有拍照和网络功能,但是现在手机拥有了,所以现在的科学技术和人们生活水平似乎将用智能手机用来实现课堂签到变成了一种切实可行的考勤方式。
那么为什么要用手机来实现考勤呢?难道过去用了很长时间的人工点名不好吗?或者现有的门禁打卡签到也不能直接用于高校课堂吗?以上的方法都可行,但是有着各种各样的缺点。现如今很多高校的老师点名仍然都会采用人工点名的方式,具体的操作一般来说,就是在上课的时候老师点学生的姓名或者学号,当学生听到自己的学号或者姓名的时候,该学生只需要回答“到”即可。这种点名方式非常传统,已经得到了广泛的使用,但是如此简单且广泛应用的点名方式却存在这一些致命的漏洞。而这些漏洞就是当老师点名的时候,学生可能没有听到老师点他的名字或者学号,或者学生喊“到”的时候,老师没有听到学生的回应,这些偶然情况都会导致统计结果与实际不符。造成较为严重的后果。然而还只是一些老师或者学生疏忽的行为导致的考勤记录统计结果出错。最大的隐患是,学生的代课行为并不能被发现,其他学生帮助被点名的学生回答“到”,这些行为都是故意的,而且一个老师带的学生非常之多,要把所有学生的相貌和学生的学号对应起来是一件极其困难的事情,由于传统的考勤方式并不能消除这些问题,所以在一些高校中这种代课行为逐渐猖獗起来,这不仅是逃课学生自己不遵守学校纪律,而且对其他正常上课的学生来说也不公平。门禁打卡能有效的解决这种代课和代签到的行为。所以在公司或者国家机构中解决漏签或代签,采用门禁打卡,在打卡的地方采用指纹识别技术,人脸识别技术或者虹膜识别技术来进行打卡签到。然而为什么这种方式并没有应用到高校课堂中呢?这是因为即使抛开这些硬件设备的昂贵费用来说,高校课堂考勤与公司或者国家机构最大的不同就是,需要签到的频率不同,上下课要频繁的打卡,而且教学楼的人口密度相对较大,对于数量非常庞大的学生来说,这些签到方式显得太过于浪费时间了,而且容易造成拥堵,降低学习效率。因此提出一种能够解决高校课堂考勤准确度问题、考勤耗费时间和考勤机器成本过于昂贵这三个问题的学生考勤管理系统就尤为紧迫了。
基于的科技水平和大学生现在人手一部带摄像头的智能手机的有利现状,本文提出了一种采用Android智能手机的摄像头进行人脸识别的电子化学生考勤管理系统,采用Android智能手机人脸识别的好处是利用现有的人手一部带摄像头的智能手机的优势,免除考勤打卡机样式的系统的成本外,它还提高签到的准确率,杜绝了考勤中代人签到的行为,由于是手机考勤,学生课堂考勤的信息会直接传输到该学生考勤系统的服务端,如此一来方便了学生和教师查看过往考勤记录以及便于将该考勤记录直接导入到教务系统等其他平台。
1.2 编写目的
传统的考勤方式会存在一些代签到、漏签到的现象,电子化的考勤方式能够保证考勤的准确性,可以减少人工纸质考勤或刷卡考勤投入的人力、财力和时间,并且更加环保,督促学生自觉地出勤,提高学生的出勤率,减轻学校和教师的负担,提高课堂效率。该系统提供三类角色的功能:学生具有签到、请假和查询考勤记录功能;老师具有准假、查询考勤记录、获得考勤记录表功能;管理员具有管理学生和教师个人信息功能。
二、软件概述
2.1 目标
-
减轻老师点名的负担;
-
杜绝学生代课行为;
-
降低考勤统计中出错率;
-
减少上课点名所浪费的时间。
2.2 功能
-
该系统主要有三类角色用户:管理员用户、教师用户和学生用户。
-
管理员用户具有管理教师用户和学生用户信息的功能;
-
教师用户具有点名功能、批准假条功能、修改学生出勤记录功能和获取考勤记录统计表的功能;
-
学生用户具有签到功能、请假功能和查看考勤记录功能。
2.3 性能
响应时间:如果一个系统的用户请求响应时间过长或者操作起来反应不灵敏,就会导致用户体验糟糕,所以此系统在设计过程中尽量保证每个用户的请求的响应时间不得超过1s;
可靠性和安全性:该学生考勤管理系统存储的是学生的考勤记录,该记录对学生的考评和学校纪律建设有着非常重要的作用,所以保证了可靠性和安全性。
易用性:考虑到用户群体的广泛,该学生考勤管理系统在信息输入过程中,必须保证有输入提示。同时采用用户熟悉的概念和语言,提供尽可能简洁的用户界面,方便没有使用过该系统的用户学习使用该系统。
可重用性和移植性:该考勤管理系统采用自顶向下的设计模式,遵循高内聚低耦合的设计原则,使得程序模块的可重用性和移植性大大增强。
可扩展性:在设计系统架构的时候,减少功能之间的相互依赖,同时考虑到未来功能的可扩展性,这样可以使得未来对系统的功能进行扩展的时候,只需要对现有的系统做出较小的修改即可。
三、软硬件环境和数据管理
3.1 硬件环境
服务端:CPU要求Inter Pentium4 2.4 G或者更高,内存要求2 GB或更高,硬盘要求40 GB或者更大;
客户端:搭载Android 4.0以上系统的智能手机。
3.2 软件环境
服务器:Windows 10操作系统;
客户端:操作系统:Android 4.0以上版本。
3.3 系统部署和运行
- 服务端部署和运行
第一步:在window10系统中下载并安装python3.6;
第二步:将该考勤系统的服务端程序拷贝到安装了python3.6的window10系统中;
第三步:启动服务器,为了使客户端程序能够正常获得服务端的服务,需要运行服务端。通过命令行窗口进入到项目根目录,比如:我们这里就是:“D:\zuoye\python\attendanceSystem\”,然后执行如下命令:“python manage.py runserver 0.0.0.0:80”。这样服务就会被启动。我们就可以在浏览器访问web服务了。其中“0.0.0.0:80”是指定web服务绑定的IP地址和端口。“0.0.0.0”表示绑定本机所有的IP地址,就是可以通过任何一个本机的IP(包括环回地址“127.0.0.1”)都可以访问我们的服务。80表示是服务启动在80端口上。打开地址栏输入“127.0.0.1”,如果看到如图1所示的界面,表示Django服务搭建成功,服务启动成功。
图1 服务启动成功界面
客户端部署和运行
在Android手机下载安装下面的网址提供的安装包,打开即可使用。
3.4 数据导入
由于该考勤系统需要基本的学生、教师、课程、学生的选课和教师的授课信息,所以在系统正常运行前需要将这些信息导入到系统中。Django提供了一个管理员web操作界面,通过这个界面可以方便的对这些信息进行添加,删除,修改和查询。要完成这些基础数据的导入,需要如下几步操作。
创建一个管理员账号,如图2所示。
图2 创建管理员过程图
启动服务器,在cmd命令行的项目根目录下输入如下的命令:“python manage.py runserver 0.0.0.0:80”。看到最后的“Starting development server at ”就表示服务器已经打开。具体界面如图3所示。
图3 启动服务器的过程截图
访问地址“”,输入自己刚刚注册的账号和密码,登录之后就和以在这个用户友好的界面对数据库进行添加,删除,修改和查询。具体效果图如图4所示。
图4 管理员导入数据界面
四、软件使用说明
4.1 用户登录
这里所有的用户通过同一个登录界面登录app,在该界面输入账号和密码,然后选择用户类型,如图5所示。每个账号的初始密码位“123456”,每个用户第一次登录账号时会强制要求修改密码,如图6所示。
图5 用户登录界面 图6 用户修改密码界面
4.2 管理员用户
查看和管理用户信息。管理员登录之后,底部导航栏包含三个按钮,分别是学生,教师,个人。如图所示。点击用户列表的某一个具体用户可以进入用户信息详情界面,里面的内容除了工号之外都是可以编辑的。具体操作界面如下图所示,这里点击的是“T040004 王景彤”,如图7所示。进入界面后可以编辑教师用户的姓名、密码、邮箱内容,编辑完成后选择修改就可完成对用户信息的修改。如果不想保存已经编辑过的用户信息,点击返回按钮即可,如图8所示。对于学生用户信息的查询和修改同理。
4.3 教师用户
教师用户拥有点名,批准假条功能,修改学生考勤记录,获取考勤统计表功能。
点名:点击课程列表旁边的“点名”,就可以对该课程进行点名操作,选了这门课程的学生就会收到这次点名提醒。如图9所示:
图9 教师点名界面
批准假条功能:进入假条界面,点击对应的假条项目,进入假条的详情页面,查看具体的请假信息,如图10所示。如果选择批准,点击批准即可,否则点击拒绝,具体操作界面如图11所示。
图10 教师选择假条界面 图11 教师批准或拒绝假条界面
查看学生的出勤记录和修改学生出勤记录。
点击课程列表的课程名,这里点击的是“C040003 软件测试”,界面如图12所示。然后选择第几次点名,如图13所示。选择第几次点名之后就可以查看具体的学生的简要出勤状况,如图14所示。选择某个具体的学生就会进入学生详细的考勤信息如图15所示。到此为止就是查看学生出勤记录的全部操作。
修改学生的考勤记录只需要在学生的详细的考勤信息界面更改出勤类型,然后点击保存即可,如图15所示。
图12 教师选择课程界面界面 图13 教师选择第几次点名界面
图14 教师选择要修改的考勤记录界面 图15 教师选择更改考勤方式界面
获取考勤统计表。
教师登录之后。选择进入底部导航栏的“我的”界面。进入“我的”界面之后,点击“点我获取考勤统计数据”按钮就可以获取考勤统计表,如果系统正常发送考勤统计表,那么当前界面会弹出“成功获取考勤统计数据,请注意查收!”的提示,如图16所示。学生考勤记录统计表以excel的形式发送至老师邮箱。教师收到考勤系统发送的邮件如图17所示。邮件中附件的考勤记录表将每门课程的出勤记录单独放在一张sheet表中,如图18所示。
4.4 学生用户
学生用户具有签到,查看考勤记录,请假的功能。
签到功能。
在老师点名之后,学生进入消息界面,会看到老师的签到提醒,如图19所示。点击进入,具体界面如图20所示。点击进入之后,可以看到提醒要先拍照,如图21所示。拍照结束后如图22所示。然后再点击提交,如果验证成功,就签到结束,如图23所示。否则需要重新拍照。
图19 学生收到点名消息界面 图20 学生进入签到界面
图21 学生拍照界面 图22 学生返回到签到界面
图23 学生签到成功界面
查看自己考勤记录和请假功能。
首先学生登录系统,在课程列表中选择所要查看的课程,这里面的课程是学生已经选修了的课程,如图24所示。之后进入该课程点名列表,选择想看那一次点名,如图25所示。最后进入详细的学生考勤记录界面,如图26所示。到此为止就是查看学生自己考勤记录的全部操作。
学生请假功能前面操作步骤和查看学生自己考勤记录一样,只是多了最后一步的编辑请假类型的操作,如图所示。
参考文献
- 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
- 基于ADO.NET数据访问考勤管理系统的研究与开发(重庆大学·何晓琴)
- 校园指纹考勤系统的设计及实现(燕山大学·周天洁)
- 沂山镇政府职工考勤系统的设计与实现(电子科技大学·高攀)
- 基于B/S模式的学生考勤管理系统的设计与实现(厦门大学·许守蕾)
- 山西大学商务学院学生管理信息系统设计与实现(电子科技大学·王晓娟)
- 嵌入式数据采集与处理应用系统开发——智能手机袋的设计与实现(中国地质大学(北京)·常新)
- 沂山镇政府职工考勤系统的设计与实现(电子科技大学·高攀)
- 基于Android的学生考勤管理系统(南昌航空大学·陈庆勤)
- 基于移动手机平台的高校学生考勤与日常管理系统的设计与实现(电子科技大学·王金玲)
- 沂山镇政府职工考勤系统的设计与实现(电子科技大学·高攀)
- 基于J2EE架构的学生管理信息系统的设计与实现(电子科技大学·赵雷)
- 阿坝师专学生信息管理系统的设计与实现(电子科技大学·官孙平)
- 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
- 基于移动手机平台的高校学生考勤与日常管理系统的设计与实现(电子科技大学·王金玲)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计驿站 ,原文地址:https://m.bishedaima.com/yuanma/36186.html