基于Python的学生考勤管理系统的设计与实现

基于 Python 的学生考勤管理系统的设计与实现 第一章 引言 一,1 项目背景 由于技术的革新,人们的生活相较于上个世纪已经发生了天翻地覆的变化

本文包含相关资料包-----> 点击直达获取<-------

基于 Python 的学生考勤管理系统的设计与实现

第一章 引言

一.1 项目背景

由于技术的革新,人们的生活相较于上个世纪已经发生了天翻地覆的变化。上个世纪出现的计算机的设计目的是军事需要,并不适合私人用途。并且手机也仅仅是一种通讯工具,现在手机已经具有音乐,电视,拍照,游戏,上网等各种各样的功能,手机已经变成了一个成年人必不可少的工具,成为了人们生活的一部分。之前人们不会想到用手机来实现签到功能,因为那时候手机没有拍照和网络功能,但是现在手机拥有了,所以现在的科学技术和人们生活水平似乎将用智能手机用来实现课堂签到变成了一种切实可行的考勤方式。

那么为什么要用手机来实现考勤呢?难道过去用了很长时间的人工点名不好吗?或者现有的门禁打卡签到也不能直接用于高校课堂吗?以上的方法都可行,但是有着各种各样的缺点。现如今很多高校的老师点名仍然都会采用人工点名的方式,具体的操作一般来说,就是在上课的时候老师点学生的姓名或者学号,当学生听到自己的学号或者姓名的时候,该学生只需要回答“到”即可。这种点名方式非常传统,已经得到了广泛的使用,但是如此简单且广泛应用的点名方式却存在这一些致命的漏洞。而这些漏洞就是当老师点名的时候,学生可能没有听到老师点他的名字或者学号,或者学生喊“到”的时候,老师没有听到学生的回应,这些偶然情况都会导致统计结果与实际不符。造成较为严重的后果。然而还只是一些老师或者学生疏忽的行为导致的考勤记录统计结果出错。最大的隐患是,学生的代课行为并不能被发现,其他学生帮助被点名的学生回答“到”,这些行为都是故意的,而且一个老师带的学生非常之多,要把所有学生的相貌和学生的学号对应起来是一件极其困难的事情,由于传统的考勤方式并不能消除这些问题,所以在一些高校中这种代课行为逐渐猖獗起来,这不仅是逃课学生自己不遵守学校纪律,而且对其他正常上课的学生来说也不公平。门禁打卡能有效的解决这种代课和代签到的行为。所以在公司或者国家机构中解决漏签或代签,采用门禁打卡,在打卡的地方采用指纹识别技术,人脸识别技术或者虹膜识别技术来进行打卡签到。然而为什么这种方式并没有应用到高校课堂中呢?这是因为即使抛开这些硬件设备的昂贵费用来说,高校课堂考勤与公司或者国家机构最大的不同就是,需要签到的频率不同,上下课要频繁的打卡,而且教学楼的人口密度相对较大,对于数量非常庞大的学生来说,这些签到方式显得太过于浪费时间了,而且容易造成拥堵,降低学习效率。因此提出一种能够解决高校课堂考勤准确度问题、考勤耗费时间和考勤机器成本过于昂贵这三个问题的学生考勤管理系统就尤为紧迫了。

基于的科技水平和大学生现在人手一部带摄像头的智能手机的有利现状,本文提出了一种采用 Android 智能手机的摄像头进行人脸识别的电子化学生考勤管理系统,采用 Android 智能手机人脸识别的好处是利用现有的人手一部带摄像头的智能手机的优势,免除考勤打卡机样式的系统的成本外,它还提高签到的准确率,杜绝了考勤中代人签到的行为,由于是手机考勤,学生课堂考勤的信息会直接传输到该学生考勤系统的服务端,如此一来方便了学生和教师查看过往考勤记录以及便于将该考勤记录直接导入到教务系统等其他平台。

一.2 编写目的

传统的考勤方式会存在一些代签到、漏签到的现象,电子化的考勤方式能够保证考勤的准确性,可以减少人工纸质考勤或刷卡考勤投入的人力、财力和时间,并且更加环保,督促学生自觉地出勤,提高学生的出勤率,减轻学校和教师的负担,提高课堂效率。该系统提供三类角色的功能:学生具有签到、请假和查询考勤记录功能;老师具有准假、查询考勤记录、获得考勤记录表功能;管理员具有管理学生和教师个人信息功能。

第二章 软件概述

二.1 目标

1)减轻老师点名的负担;

2)杜绝学生代课行为;

3)降低考勤统计中出错率;

4)减少上课点名所浪费的时间。

二.2 功能

该系统主要有三类角色用户:管理员用户、教师用户和学生用户。

1)管理员用户具有管理教师用户和学生用户信息的功能;

2)教师用户具有点名功能、批准假条功能、修改学生出勤记录功能和获取考勤记录统计表的功能;

3)学生用户具有签到功能、请假功能和查看考勤记录功能。

二.3 性能

1)响应时间:如果一个系统的用户请求响应时间过长或者操作起来反应不灵敏,就会导致用户体验糟糕,所以此系统在设计过程中尽量保证每个用户的请求的响应时间不得超过 1s;

2)可靠性和安全性:该学生考勤管理系统存储的是学生的考勤记录,该记录对学生的考评和学校纪律建设有着非常重要的作用,所以保证了可靠性和安全性。

3)易用性:考虑到用户群体的广泛,该学生考勤管理系统在信息输入过程中,必须保证有输入提示。同时采用用户熟悉的概念和语言,提供尽可能简洁的用户界面,方便没有使用过该系统的用户学习使用该系统。

4)可重用性和移植性:该考勤管理系统采用自顶向下的设计模式,遵循高内聚低耦合的设计原则,使得程序模块的可重用性和移植性大大增强。

5)可扩展性:在设计系统架构的时候,减少功能之间的相互依赖,同时考虑到未来功能的可扩展性,这样可以使得未来对系统的功能进行扩展的时候,只需要对现有的系统做出较小的修改即可。

第三章 软硬件环境和数据管理

三.1 硬件环境

1)服务端:CPU 要求 Inter Pentium4 2.4 G 或者更高,内存要求 2 GB 或更高,硬盘要求 40 GB 或者更大;

2)客户端:搭载 Android 4.0 以上系统的智能手机。

三.2 软件环境

1)服务器:Windows 10 操作系统;

2)客户端:操作系统:Android 4.0 以上版本。

三.3 系统部署和运行

1) 服务端部署和运行

第一步:在 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 服务启动成功界面

2)客户端部署和运行

在 Android 手机下载安装下面的网址提供的安装包,打开即可使用。

https://github.com/xueweidongdong/attendanceSystem_client_android/blob/master/app/release/app-release.apk ”。

三.4 数据导入

由于该考勤系统需要基本的学生、教师、课程、学生的选课和教师的授课信息,所以在系统正常运行前需要将这些信息导入到系统中。Django 提供了一个管理员 Web 操作界面,通过这个界面可以方便的对这些信息进行添加,删除,修改和查询。要完成这些基础数据的导入,需要如下几步操作。

1)创建一个管理员账号,如图 2 所示。

图 2 创建管理员过程图

2)启动服务器,在 cmd 命令行的项目根目录下输入如下的命令:“python manage.py runserver 0.0.0.0:80”。看到最后的“Starting development server at http://0.0.0.0/ ”就表示服务器已经打开。具体界面如图 3 所示。

图 3 启动服务器的过程截图

3)访问地址“ http://127.0.0.1/admin/ ”,输入自己刚刚注册的账号和密码,登录之后就和以在这个用户友好的界面对数据库进行添加,删除,修改和查询。具体效果图如图 4 所示。

图 4 管理员导入数据界面

第四章 软件使用说明

四.1 用户登录

这里所有的用户通过同一个登录界面登录 app,在该界面输入账号和密码,然后选择用户类型,如图 5 所示。每个账号的初始密码位“123456”,每个用户第一次登录账号时会强制要求修改密码,如图 6 所示。

图 5 用户登录界面 图 6 用户修改密码界面

四.2 管理员用户

查看和管理用户信息。管理员登录之后,底部导航栏包含三个按钮,分别是学生,教师,个人。如图所示。点击用户列表的某一个具体用户可以进入用户信息详情界面,里面的内容除了工号之外都是可以编辑的。具体操作界面如下图所示,这里点击的是“T040004 王景彤”,如图 7 所示。进入界面后可以编辑教师用户的姓名、密码、邮箱内容,编辑完成后选择修改就可完成对用户信息的修改。如果不想保存已经编辑过的用户信息,点击返回按钮即可,如图 8 所示。对于学生用户信息的查询和修改同理。

图 7 管理员查看教师列表 图 8 选择具体的教师并更改信息

四.3 教师用户

教师用户拥有点名,批准假条功能,修改学生考勤记录,获取考勤统计表功能。

1)点名:点击课程列表旁边的“点名”,就可以对该课程进行点名操作,选了这门课程的学生就会收到这次点名提醒。如图 9 所示:

图 9 教师点名界面

2)批准假条功能:进入假条界面,点击对应的假条项目,进入假条的详情页面,查看具体的请假信息,如图 10 所示。如果选择批准,点击批准即可,否则点击拒绝,具体操作界面如图 11 所示。

图 10 教师选择假条界面 图 11 教师批准或拒绝假条界面

3)查看学生的出勤记录和修改学生出勤记录。

点击课程列表的课程名,这里点击的是“C040003 软件测试”,界面如图 12 所示。然后选择第几次点名,如图 13 所示。选择第几次点名之后就可以查看具体的学生的简要出勤状况,如图 14 所示。选择某个具体的学生就会进入学生详细的考勤信息如图 15 所示。到此为止就是查看学生出勤记录的全部操作。

修改学生的考勤记录只需要在学生的详细的考勤信息界面更改出勤类型,然后点击保存即可,如图 15 所示。

图 12 教师选择课程界面界面 图 13 教师选择第几次点名界面

图 14 教师选择要修改的考勤记录界面 图 15 教师选择更改考勤方式界面

4)获取考勤统计表。

教师登录之后。选择进入底部导航栏的“我的”界面。进入“我的”界面之后,点击“点我获取考勤统计数据”按钮就可以获取考勤统计表,如果系统正常发送考勤统计表,那么当前界面会弹出“成功获取考勤统计数据,请注意查收!”的提示,如图 16 所示。学生考勤记录统计表以 Excel 的形式发送至老师邮箱。教师收到考勤系统发送的邮件如图 17 所示。邮件中附件的考勤记录表将每门课程的出勤记录单独放在一张 sheet 表中,如图 18 所示。

图 16 教师进入“我的“页面截图 图 17 教师收到考勤系统发送的邮件

图 18 考勤记录报表具体

四.4 学生用户

学生用户具有签到,查看考勤记录,请假的功能。

1)签到功能。

在老师点名之后,学生进入消息界面,会看到老师的签到提醒,如图 19 所示。点击进入,具体界面如图 20 所示。点击进入之后,可以看到提醒要先拍照,如图 21 所示。拍照结束后如图 22 所示。然后再点击提交,如果验证成功,就签到结束,如图 23 所示。否则需要重新拍照。

图 19 学生收到点名消息界面 图 20 学生进入签到界面

图 21 学生拍照界面 图 22 学生返回到签到界面

图 23 学生签到成功界面

2)查看自己考勤记录和请假功能。

首先学生登录系统,在课程列表中选择所要查看的课程,这里面的课程是学生已经选修了的课程,如图 24 所示。之后进入该课程点名列表,选择想看那一次点名,如图 25 所示。最后进入详细的学生考勤记录界面,如图 26 所示。到此为止就是查看学生自己考勤记录的全部操作。

学生请假功能前面操作步骤和查看学生自己考勤记录一样,只是多了最后一步的编辑请假类型的操作,如图所示。

图 24 选择要请假的课程 图 25 选择具体那一次点名

图 26 提交事由

参考文献

  • 基于J2EE架构的学生管理信息系统的设计与实现(电子科技大学·赵雷)
  • 基于B/S架构的考勤管理系统的设计与实现(中国海洋大学·王冬波)
  • 基于JSP的学生考勤管理系统设计与实现(燕山大学·金会赏)
  • 高职院校学生实验教学考勤管理系统的实现(河北科技大学·谢家立)
  • RFID校园考勤系统设计与实现(扬州大学·杨琴)
  • 基于S2SH高校学生工作管理系统的设计与实现(青岛理工大学·窦传海)
  • 基于JSP的学生考勤管理系统设计与实现(燕山大学·金会赏)
  • 数字化校园平台中指纹信息管理子系统的设计与实现(内蒙古大学·澈力木格)
  • 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
  • 基于JSP的学生考勤管理系统设计与实现(燕山大学·金会赏)
  • 企业考勤系统的设计与实现(吉林大学·梁赫)
  • 基于Android的学生考勤管理系统(南昌航空大学·陈庆勤)
  • 山东商业职业技术学院后勤管理服务系统的设计与实现(山东大学·邢明伟)
  • 基于JSP的学生信息管理系统的设计与开发(吉林大学·郭政辉)
  • 教师信息管理系统的设计与实现(天津师范大学·朱琳)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计工坊 ,原文地址:https://m.bishedaima.com/yuanma/36183.html

相关推荐

  • 一个基于Python+Go的端口扫描及服务探测脚本

    easytorch 使用 Python 的 numpy 实现的简易深度学习框架,API 与 pytorch 基本相同,实现了自动求导,基础优化器,layer 等
    2024年05月14日
    4 1 1
  • Java+SSM学生公寓宿舍寝室管理系统

    这是一个🔥🔥SSM学生公寓宿舍寝室管理系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 学生公寓管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业基于SSM框架与mysql技术
    2024年05月23日
    10 1 3
  • 基于Python实现的抓包分析软件

    基于Python实现的抓包分析软件 一,简介 这是一个学习模仿WireShark的抓包软件,可以的功能有:侦听,解析,构造数据包等,其中还包括扩展功能:流量监测和攻击检测(Land攻击
    2024年05月14日
    4 1 1
  • 自然语言处理之Python

    自然语言处理 期末大作业 实验环境 本次实验是在 windows10 操作系统下进行的,使用的 IDE 为 pycharm 我使用的神经网络框架搭配为 pytorch+python3
    2024年05月14日
    5 1 1
  • 基于Python设计的例句搜索

    例句搜索 本题使用 Python 语言实现,开发环境为 Mac OS 下的 JetBrains Pycharm IDE,最终成品为 Python 命令行 版本以及 Web 版(Django + Vue
    2024年05月14日
    3 1 1
  • 基于Java的图书借阅系统

    图书管理系统是当今信息管理领域的重要组成部分,随着计算机技术的快速发展,以及信息化社会的到来,图书管理系统的作用日益凸显,基于Java的图书借阅系统是一种典型的应用,通过结合Java编程语言和Swing技术
    2024年05月07日
    9 1 3
  • 基于Python制作一个简单的滑雪游戏

    Python 制作小游戏(四) 导语 本期我们将制作一个简单的滑雪游戏, 废话不多说,让我们愉快地开始吧~ 开发工具 Python 版本: 3
    2024年05月14日
    40 1 4
  • JSP+SQL服装销售系统

    JSP+SQL 服装销售系统 1 设计工具 Java 版本:1,8 数据库:MySQL 框架:Spring + Spring MVC + MyBatis 服务器:Tomcat 前端解析框架:Thymeleaf 开发工具:Idea 2017 版本管理工具:Maven 版本控制工具:GitHub 2 详细设计 数据字典 用户信息表 字段名 字段类型 是否可为空 备注 Id Int(11) 否 主键 Modify Datetime 是 修改时间 Username Varchar(50) 否 用户昵称 Phone Char(11) 否 用户手机号码 realName Varchar(20) 是 用户真实姓名 Clazz Varchar(20) 是 用户所在班级 Sno Char(12) 是 用户学号 Dormitory Varchar(20) 是 宿舍号 Gender Char(2) 是 性别 Createtime Datetime 是 创建时间 Avatar Varchar(200) 是 头像 用户密码表 字段名 字段类型 是否可为空 备注 Id Int 否 主键 Modify Datetime 是 修改时间 Password Varchar(24) 否 用户密码 Uid Int 否 用户 id 商品表 字段名 字段类型 是否可为空 备注 Id Int(11) 否 主键 Modify Datetime 是 修改时间 Name Varchar(50) 否 商品名称 Level Int 否 商品成色 Remark Varchar(255) 是 商品详细信息 Price Decimal(0
    2024年05月14日
    53 1 4
  • 基于SSM的内容管理系统源码-免费下载

    这是一个🔥🔥基于SSM的内容管理系统源码-免费下载🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 内容管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业使用SSM框架(Spring
    2024年05月23日
    5 1 1
  • 基于Springboot+RabbitMQ+redis实现的超市订单管理系统

    基于Springboot+RabbitMQ+redis实现的超市订单管理系统 1 系统需求分析 超市订单管理系统是一个专为连锁店,超市等商业场所提供订单管理平台的系统
    2024年05月14日
    5 1 2

发表回复

登录后才能评论