基于Qt设计的课堂考勤系统(采用RDS for MySQL云数据库
【摘要】 这篇文章介绍了华为云( RDS for MySQL)的购买,部署,到实际使用的整个流程,利用一个课堂考勤系统软件来介绍数据库的一个实际应用场景。云数据库 RDS for MySQL拥有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点,架构成熟稳定,支持流行应用程序,适用于多领域多行业。
1.前言
当前设计的这个考勤系统主要应用于高校课堂考勤,目前高校管理系统里有很多成功的案例,排课系统,教务管理系统、学生管理系统等等,这些系统的应用直接提高了师生的工作效率,下发课堂作业,检查课设报告等等,都可以直接在网上操作,非常方便。
目前设计的这个基于RFID的考勤系统,采用C++作为编程语言,UI界面采用QT设计,RFID刷卡插件使用C++开发,RFID刷卡设备是USB接口协议,数据库采用华为云的MySQL(RDS for MySQL),方便不同课堂、设备上可以同步考勤数据。
当前考勤系统包含的功能模块如下:
【1】登录模块:用户名和密码登录,本设计有三类用户名,包括系统管理员,教师和学生;
【2】学生信息管理模块:学生基本信息的增加,删除,修改,查询;
【3】考勤管理模块:进行学生签到和签退;
【4】射频卡管理模块:利用射频卡对学生的考勤情况进行记录;
【5】查询模块:管理员,教师,学生都可以对自己权限范围内考勤结果进行查询;
【6】请假查询模块:通过ID查询学生请假情况;
【7】数据备份模块:系统数据定期进行保存,但系统服务器出现故障时提供帮助。
该系统有3个用户权限,学生操作页面、管理员操作页面、教师操作页面。学生操作页面,可以查看自己的考勤记录;教师操作页面可以查看自己班级学生的考勤记录,添加考勤的学生;管理员可以查看所有人的考勤记录,支持所有功能。
当前系统里存储数据采用的华为云的在线云数据库MySQL,MySQL数据库是目前最受欢迎的开源数据库之一,其性能卓越,搭配LAMP(Linux + Apache + MySQL + Perl/PHP/Python),成为WEB开发的高效解决方案。 华为云的RDS for MySQL 数据库拥有稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点。
上面提到的云数据库RDS(Relational Database Service,简称RDS)是一种基于云计算平台的稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。
目前华为云数据库RDS支持以下引擎:
MySQL PostgreSQL SQL Server 复制代码
云数据库RDS服务具有完善的性能监控体系和多重安全防护措施,并提供了专业的数据库管理平台, 让用户能够在云上轻松的进行设置和扩展云数据库。通过云数据库RDS服务的管理控制台,用户无需编程就可以执行所有必需任务,简化运营流程,减少日常运维工作量,从而专注于开发应用和业务发展。
2. 部署(RDS for MySQL)云数据库
在华为云官网可以免费领取一个月的(RDS for MySQL)云数据库使用权,可以利用这个免费的机会,充分了解、体验(RDS for MySQL)数据库的使用效果。
注意: 数据库购买部署之后如果需要外网访问,需要绑定公网IP地址,如果之前购买过公网IP,在购买数据库时注意选择相同的区域。
官网地址:activity.huaweicloud.com/free_test/i…
向下翻,找到MySQL数据库,点击抢购。
根据引导页面填充信息,设置数据库登录密码。
最后完成支付。
查看订单详情。
购买成功后,接下来进入控制台管理页面。
稍等片刻就会处理完成。
然后在订单详情页面左上角点击控制台。
展开服务列表,找到云数据库RDS。
也可以在资源管理里找到自己的实例。
选择自己购买的区域。
选择正确区域后,就能看到自己订单页面了。
地址: console.huaweicloud.com/rds/?agency…
进去之后可以看查看数据库信息。
在内网页面上可以直接登录数据库。
输入账号密码后,点击测试连接。
测量连接成功后,再点击登录。
登录之后,接下来就可以新建数据库测试了。 数据库创建后就可以建表、填充数据,正常的进行数据库的事务操作了。
3. 绑定公网IP地址
3.1 购买公网IP地址
为了方便数据库支持外网连接,需要给数据库实例绑定公网IP地址。
没有公网IP地址就点击右上角买一个。
如果是试用期测试的话,可以先买一个月的。
公网IP购买成功之后就可以看到处于未绑定状态,接下来绑定即可。
在刚才的页面继续绑定。
公网IP地址绑定成功。
3.2 添加入口规则
根据自己的需要开放指定的端口、IP地址范围,这样可以有效的限制网络攻击。
4. 考勤软件连接数据库与RFID读卡器
4.1 连接数据库
软件是采用QT设计的,在QT里要连接MySQL数据库还有点麻烦,需要自己编辑MQYSQL的库才行。
4.2 RFID刷卡代码
采用的RFID读卡器是USB接口,厂家提供了DLL动态库,直接连接,调用DLL库就可以完成调用。 型号是: RF-EYE系列非接触式 IC 卡读写器。
所以自己的代码就很简单了,要读取卡号,读写数据,调用对应的DLL库接口就行了。
4.3 编译MySQL驱动
由于Qt 5在高版本中取消了对MySQL数据库的默认支持,要在QT里继续使用mysql需要自己编译库。
源码下载地址: download.qt.io/archive/qt/…
我使用的是QT5.12.6,如果是使用了其他版本QT,下载对应的源码即可。如果在安装QT时,默认安装了QT源码,就不用单独下载源码了。
5. 软件设计流程与思路
5.1 需求分析
(1)使用范围
此系统主要给高校的教师使用;上课时,学生进入教室拿出学生卡自己进行打开考勤,可以在系统里申请请假以及查看在校期间所有的上课出勤信息。
考虑到整个学校学生众多,个人隐私问题,为此每个新学生需要由管理员或自己的班主任教师登录进入学生信息管理页面进行增加学生的信息操作,进行添加学生的相关信息;再由学生自己到登录界面进行学生注册操作,完善自己的其他信息,当注册成功提示后,在进入到登陆界面填入注册时的账号和密码就可以登录成功,最后才可以使用学生操作页面的功能模块等操作。教师则需要通过指定的教师账号和密码登录到教师管理后台,才能使用教师的操作页面的功能模块等。系统管理员则需要通过指定的管理员账号、密码登录到管理员后台,才能使用管理员操作页面的功能模块等。三者的操作页面相互独立,都有权限限制。
(2)5.2 学生权限
学生可以在密码信息管理模块对自己的账号修改密码操作;还可以在个人信息管理模块进行修改关于自己其他的各项信息,学号、电话、紧急联系人、宿舍编号等;可在学生信息管理的模块查看自己所有的信息,可以刷卡快速读取卡号信息,匹配到指定的学生;可在建议信息管理模块来增加、查询自己或者别人的建议信息;可在成绩信息管理模块来查询自己的成绩信息;可在考勤签到提醒管理模块来查看自己之前未签到,迟到的相关信息以及查询系统对自己的评价记录;如果需进行退出系统,可点击右上角的XX退出系统模块。如果学生忘记密码,可以在软件的登陆界面点击找回密码按钮,再填写相关信息就可找回密码,或者管理员帮助修改密码。
(3)教师与管理员权限
教师可以在密码信息管理模块的页面上进行修改密码操作;然后可在个人的信息管理模块页面来修改关于自己的各项信息,比如:联系方式,姓名,职务等等;可以在注册教师管理模块页面查看自己注册的信息,可以查询本班级注册的其他学生;可在学生信息管理模块进行增加、查询学生的信息操作;可在成绩管理模块进行增加、查询学生成绩信息的操作;可在班费信息管理模块进行增加、查询班级活动费用的信息操作;可在通知公告管理模块页面进行增加、查询发布的通知公告操作……如果需要进行退出系统操作,可以点击退出系统模块,也可点击右上角的退出按钮。管理员是当前系统的最高权限者,在教师可进行的操作模块上还可以进行增加、查询教师用户的操作。
转载请在文章开头和结尾显眼处标注:作者、出处和链接。不按规范转载侵权必究。
未经授权严禁转载,授权事宜请联系作者本人,侵权必究。
本文禁止转载,侵权必究。
授权事宜请至数英微信公众号(ID: digitaling) 后台授权,侵权必究。
评论
评论
推荐评论
暂无评论哦,快来评论一下吧!
全部评论(0条)