基于云计算平台的高校学生到课率统计与分析系统开发
发布时间:2021-12-08T06:10:09.088Z  来源:《教育考试与评价》2021年第10期作者:刘班
[导读] 介绍了一个基于云平台运行的到课率统计与分析系统,说明了该系统的优势和功能,阐述了该系统的数据库设计方案,论述了该系统各核心功能的具体作用,最后介绍了部署该系统的PaaS云计算平台。
刘班
武汉职业技术学院湖北武汉  430074
摘要:介绍了一个基于云平台运行的到课率统计与分析系统,说明了该系统的优势和功能,阐述了该系统的数据库设计方案,论述了该系统各核心功能的具体作用,最后介绍了部署该系统的PaaS云计算平台。
关键词:云计算;高校;到课率;统计;分析
1 概述
学生管理工作是高校的一项重要工作之一,而学生到课管理又是学生管理工作中的一个重要组成部分。加强对学生的到课管理,是维护正常的教学纪律与秩序及人才培养质量的重要保证,同时也是保证学校各项教学工作得以顺利实施及完成的首要环节,对推进学校的学风建设有着极为重要的意义。
以往,学生到课数据的采集工作主要是由任课教师或学习委员通过课堂点名的方式来完成的。但是,随着课堂容量的增大以及学生人数的增多,传统的通过在课堂上口头点名的管理方式越来越不能满足实际需求。在信息技术迅猛发展和快速普及的背景下,各种考勤系统(比如IC卡考勤系统、指纹考勤系统、RFID考勤系统等)如雨后春笋般迅速涌现并逐步得到应用。这在一定程度上提高了学生到课数据的采集效率,但仍存在着硬件成本高,代刷卡、学生通过速度慢、管理不方便等问题。为降低成本,很多公司又推出了专用于课堂的学生点名App软件,但这些软件中的数据只能被教师本人调用,而且各种软件导出的数据格式也不尽相同,对这些数据进行手工汇总、统计与分析是相当费时和困难的。
本文介绍的这个系统可以有效地解决传统方式在实时性、准确性以及管理成本等方面的问题。管理者只需要通过手机即可轻松实现学生考勤和到课率相关的统计与分析工作,并且将每个学生的到课数据发布出来,供教师、家长以及学生本人查询。该系统将逐步取代传统考勤系统,与传统的纸质考勤及电子考勤模式相比,该系统具有效率高、精准性好、到课率数据可共享、可重用、成本低、推广和普及前景好等优点。
2 数据库设计
根据系统总体设计要求,规划出本系统数据库所需要的核心数据表,分别是:
(1)学期数据表:包含学期名称等字段;
(2)用户数据表:包含用户名、用户姓名、用户类型、密码、、指纹等字段;
(3)院系数据表:包含院系名称等字段;
(4)教研室数据表:包含教研室名称,教师编号,所在院系编号等字段;
(5)班级数据表:包含班级名称、所在院系编号等字段;
(6)班级表:包含班级编号、学生编号等字段;
(7)课程数据表:包含课程名称、所在院系编号等字段;
(8)班级课程教师数据表:包含学期编号、班级编号、教师编号、课程编号等字段;
(9)课程签到数据表:包含班级课程教师数据表记录编号、周次、每日节次、上课日期时间、是否开始签到、老师的位置信息等字段;
(10)学生课程签到表:包含学生编号、课程签到数据表记录编号、学生的位置信息、到课状态(记录学生正常到课、请假、迟到、早退、旷课五种到课状态信息)等字段;
(11)预警阈值数据表:包含病假阈值、事假阈值、公假阈值、迟到阈值、早退阈值、旷课阈值等字段。
3 开发工具
3.1 Python和Django        Python是一种开源的通用程序设计语言,该语言针对软件质量、开发效率、组件集成等方面进行了专门优化。目前,全球至少有几十万的开发人员使用Python语言进行各类软件的开发。        Django是用Python语言写成的一个高性能开源 Web开发框架,该框架遵循MVC开发模式,内置多种Web开发组件,在Web开发方面具有简洁、清晰、高效、安全的优点,使开发人员可以最少的代码、最快的速度、方便高效地进行各种Web应用的开发和调试。
3.2 JavaScript和jQuery        JavaScript是一种功能强大的Web编程语言,用于开发交互式的Web前端应用。它不但可以直接应用于HTML页面以获得交互式效果或其它动态效果,而且也可以运行于服务器端,替代传统的服务器端程序。        jQuery是一个高效、精简并且功能丰富的JavaScript工具库,它提供的API易于使用且兼容众多浏览器。jQuery设计的宗旨是“Write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装了JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,
优化了HTML文档操作、事件处理、动画设计和Ajax交互等功能。
3.3 MySQL
MySQL是业界内非常流行的一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司旗下的产品。MySQL是开源的,拥有体积小、速度快、性能高、使用简单等优点,非常适合于在Web应用开发中存储数据。
本系统的数据库由Django中提供的ORM(Object-Relation Mapping,对象-关系映射)工具自动生成。Web开发中对数据库的操作是必不可少的,然而每种数据库的操作方式以及用法不尽相同。Django中的ORM工具,实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异,为开发者操作不同种类的数据库提供了统一的方法。ORM适配了多种常用的关系型数据库,例如:PostgreSQL、MySQL、
Oracle、Sqlite3 等。因此,如果以后要切换到另外一种类型的数据库进行操作也是非常方便的。
python编程:从入门到实践第二版4 系统主要功能
4.1 用户的注册和登录
本系统的用户类型分为三种,分别是管理员、教师、学生,其中教师和学生身份的用户需要注册后,才能登录系统,注册时,要选择正确的身份类型、所在的院系、教研室(教师)和班级(学生),才能将注册信息写入数据库。当登录时,系统可以根据用户输入的用户名自动判断用户身份,进入不同的环境进行操作。另外,为了方便家长查看学生在校的学习情况,系统今后还会添加家长身份的用户注册和登录功能。
4.2 到课数据采集功能
统计和分析功能的实现基础是底层采集到的正确数据信息。通过各种技术手段收集数据的成本和效率有高有低。传统的基于硬件的考勤系统,存在着采集效率低和成本较高的突出问题。近几年来,随着移动智能设备普及率的“逐年递增”以及三大电信运营商在移动网络建设方面的不断“比学赶超”,我国已经真正迎来了“移动互联网”时代。本系统适应时代的发展,主要采用移动设备(手机、平板等),借助其中安装的平台来实现数据的采集功能。当教师上课时,先通过或电脑进入本系统发起课堂签到,然后学生在中登录本系统,再进入相应课程,就可以立即收到教师发送的课堂签到提示,进行课程的签到操作。
为了防止在学生课堂签到过程中,出现未到现场签到的作弊行为,本系统还集成了LBS(基于位置的服务)。该服务通过移动运营商的无线电通信网络或者GPS定位方式获取移动设备用户的位置信息。
当教师发起一次课程签到活动后,本系统会自动以“经度,纬度”的数据形式记录下发起此次签到活动的教师所在的地理位置信息。学生签到时,本系统也会记录下学生所在地理位置的经纬度信息,然后通过公式计算得到教师与学生之间的有效距离,并判断这个距离是否在有效的签到范围内。另外,为了处理学生忘带手机和请假、迟到、早退、旷到等特殊情况,本系统还为教师提供了修改学生到课状态的功能。
学生在签到时,还可能出现代替他人签到的作弊行为,为了避免这种问题的发生,本系统借助浏览器指纹和签到设备硬件指纹生成和识别技术,屏蔽了此类作弊行为,保证了签到数据的准确性。具体来说,当学生注册时,系统会根据学生注册时使用的硬件设备(通常是手机)和其中的平台内置的浏览器生成一个唯一的指纹信息,并将这个指纹信息存入该学生的注册信息所在的数据记录中。当学生签到时,系统会再次基于学生的硬件设备和其中的平台内置的浏览器生成一个指纹信息,然后将这个学生签到时生成的指纹信息与学生原来注册时生成的指纹信息进行比对。如果这两个指纹信息完全一样,那么就说明该学生是在用自己的手机进行签到,没有要别人代其签到。同时,为了防止因学生更换手机或浏览器而导致无法签到的问题,本系统还计划继续进行升级,提供学生注册指纹信息的任课教师修改功能。
4.3 统计和分析功能
本系统为教师、管理员等身份用户提供了很多常用统计和分析的功能。教师可以在登录本系统后,查看自己所教授的每门课程的每节课到课率信息和学期平均到课率信息。系统会自动统计出每个学生的正常和异常(迟到、请假、旷课)到课的次数信息,并以指定的顺序展示给教师查看,进而可以让教师分析出学生的平时遵守课堂基本纪律的情况。
管理员登录系统后,既可以按照学期、周次、学院、班级、课程等分类标准灵活地查看学生的到课率信息,也可以查看任意时间段(比如一个学年)内的指定的学院、班级或课程的到课率信息,并支持对这些信息进行排序操作。除此以外,管理员还可以借助本系统提供的预警分析模块,查看那些到课异常次数超过设定阈值的学生的详细信息,以方便后续学生管理工作的开展。
本系统后续还会提供学生到课行为预测分析功能,该功能可以基于决策树理论运用独有的分析算法,较准确预测出学生的后期到课行为模式,为教育和管理学生,培养学生良好的纪律意识提供强大的技术支持。
4.4 统计和分析结果的图表显示
为了形象直观地呈现学生到课率数据的统计和分析结果,直观地展示这些数据的相关属性。就需要在本系统中添加数据的可视化输出功能,从而可以给用户带来丰富多彩的视觉感受,有助于相关管理人员进行视觉化的思考。
本系统借助JS Charts实现数据的可视化。JS Charts是一款免费的原生Javascript开源Web图表组件,具有良好的跨平台性。其运行不需要任何服务器端插件和模块的支持,能够与现有Web应用程序实现无缝集成。开发者可以在许可证授权的情况下,根据自己的应用需求修改JS Charts的源代码实现特定功能和效果。JS Charts提供的图表类型丰富,包括了常见的柱状图、饼图以及曲线图,并支持各类图表的动画显示功能,可以很容易地在IE、Firefox、Chrome、Safari、Opera等常见浏览器中显示图表效果。
5 部署
本系统可以部署到各种支持Python的云端PaaS平台中,比如:国内的百度云、华为云、新浪云、阿里云、腾讯云等,国外的谷歌云GAE、亚马逊云AWS、PythonAnyWhere、Heroku、OpenShift等。从经济性和部署的难易程度出发,本系统的部署选择了PythonAnyWhere云端平台。
PythonAnyWhere是一个2012年上线的Python专用Web主机云服务平台(PaaS服务模式),该平台支持遵循Python的WSGI(Web Server Gateway Interface,Web服务器网关接口)规范的各种Web开发框架(比如Django)开发的Web应用程序的运行。PythonAnyWhere提供了一个Bash命令行接口,方便用户在云端服务器中安装各种Python软件包或框架,同时还提供了一个具有语法着功能的Web界面集成开发环境,方便用户在各种上网设备上在线实时修改代码。
当然,随着本系统的不断升级,如果PythonAnyWhere提供的功能无法满足要求时,还可以方便地将本系统整体迁移到其它更为强大的云计算平台中。
6 结语
本系统综合应用了云计算技术、大数据技术、地理位置服务技术(LBS)、数据挖掘与分析技术以及概率论与数理统计理论实现了其中的到课率数据采集和数据分析与统计的核心功能。本系统是新一代的到课率统计与分析系统,它改变了传统的学生考勤和到课率统计分析方式,让学生到课数据及其统计分析结果可以实时地呈现给相关管理人员,为管理人员有针对性地提出相应的整改措施提供了可靠依据。另外,本系统通过简单修改之后,还可以轻松应用于企事业单位中的人员考勤工作上,从而能够为企事业单位的员工考勤管理提供很大的便利。
参考文献:
[1]刘班.基于Django快速开发Web应用[J].电脑知识与技术,2009,5(7):1616-1618.
[2]刘班.基于LBS的学生课堂签到系统开发[J].信息通信,2019,(10):96-98.
[3]刘班.基于JS Charts实现Web应用数据的可视化[J].电子技术与软件工程, 2019,(20):152-153.
[4]刘班.基于HTML5和硬件的浏览器指纹生成技术研究[J].中国机械,2020,(15):34,36.
[5]刘班.数据挖掘及其Python实现技术研究[J].信息通信,2020,(9):63-65.
作者简介:
刘班(1978-),男,湖北省荆州人,工学硕士,讲师,研究方向:软件工程,Web计算。
基金项目:
2018年度湖北省教育厅科学技术研究计划项目指导性项目“基于云计算平台的高校学生到课率统计与分析系统开发”(编号:B2018453)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。