课堂考勤管理系统的设计与实现_第1页
课堂考勤管理系统的设计与实现_第2页
课堂考勤管理系统的设计与实现_第3页
课堂考勤管理系统的设计与实现_第4页
课堂考勤管理系统的设计与实现_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编 号: 审定成绩: 重庆邮电大学毕业设计(论文)中文题目课堂考勤管理系统的设计与实现英文题目Design and Implementation of Classroom Attendance Management System学院名称计算机科学与技术学院学生姓名专 业计算机科学与技术卓越工程师班班 级学 号指导教师答 辩 组负 责 人二O一七 年 六 月重庆邮电大学教务处制学院本科毕业设计(论文)诚信承诺书本人郑重承诺: 我向学院呈交的论文课堂考勤管理系统的设计与实现,是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰

2、写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明并致谢。本人完全意识到本声明的法律结果由本人承担。 年级:2013级 专业:计算机科学与技术卓越工程师班 班级:0491302 承诺人签名: 2017 年 6 月 1 日重庆邮电大学硕士学位论文第1章引言IVV摘要当今社会科学技术飞速发展,无纸化办公以及智能办公系统日益成熟,随着计算机的发展和普及,计算机已经在生活中随处可见,尤其是大学每个教室都有计算机的身影。可是很多高校老师仍然使用纸笔记录点名的方式进行学生考勤,这种方式效率较低,在耗费大量点名时间的同时还可能有遗失考勤名单的风险,并且非常不利于教师的学生信息管理

3、。如果能够有效地利用计算机,将会在很大程度上解决这种传统考勤管理方式的弊端。本文主要介绍了如何通过使用C+语言,在Qt Creator平台上开发的可用于Windows和Linux双系统的课堂考勤管理系统,该系统采用的开发语言为C+,其中也有Python、JavaScript和ARP协议的应用,数据库方面采用的是SQLite3这一个数据库,实现对学生信息的管理、语音点名、网页数据抓取以及使用学生移动终端MAC地址实现一键点名等功能。本文分为五个章节:第一章为引言部分,主要是对考勤管理系统的概述,包含了考勤管理系统的发展趋势和现状,并分析课题研究目的和课题研究内容;第二章是对研究课题所涉及的知识领

4、域的相关背景的简介,并对系统中将要用到的相关技术知识加以介绍;第三章主要是系统的设计阶段介绍,包含了需求分析阶段和系统设计阶段的工作介绍;第四章为系统实现部分,包含各个系统功能模块的实现代码和流程,并加以运行效果图和系统测试图进行描述。第五章是总结。关键词:考勤管理系统,无纸化办公,C+,Python,ARPAbstractWith the rapid development of social science and technology, paperless office and intelligent office system is becoming more and more mat

5、ure. With the development and popularization of computer, computer has been seen everywhere in life, especially in every classroom of university. However, many college teachers still use the pen and paper record name for student attendance, this way is less efficient, in the cost of a lot of time, b

6、ut also may have the risk of lost the attendance list, and its not conducive to the teachers student information management. If you can effectively use the computer, will be to a large extent to solve the drawbacks of this traditional attendance management.This paper introduces the use of C + + lang

7、uage, developed on the Qt Creator platform for Windows and Linux dual system classroom attendance management system, the system uses the development language for the C + +, which also has Python, JavaScript and ARP protocol applications, the database using SQLite3 database, to achieve the management

8、 of student information, voice name, web data capture and the use of student mobile terminal MAC address to achieve a key of management and other functions.This chapter is divided into five chapters: The first chapter is the introduction part, which mainly summarizes the attendance management system

9、, including the development trend and current situation of the time and attendance management system, and analyzes the research purpose and the research content of the subject. The second chapter is about the research. The third chapter is mainly about the design stage of the system, which includes

10、the introduction of the requirements analysis stage and the system design stage. The third chapter is the introduction of the design phase of the system, including the demand analysis stage and the system design stage. The fourth chapter introduces the function realization, including the realization

11、 of each system function module and the concrete realization method, and carries on the operation result chart and the system test chart to carry on the description. Chapter 5 is a summary.Keywords: Attendance management, Paperless office, C+, ARP重庆邮电大学本科毕业设计(论文)目录目录 TOC o 1-3 h z u HYPERLINK l _Toc

12、484549731 第1章 引言 重庆邮电大学硕士学及位论文第1章引言论文结构第1章 引言随着社会的进步和计算机的发展,信息化建设越来越完善。各个行业都在对每天的办公方式进行不断升级,无纸化智能办公理念融入到了各个行业领域中。高校老师课堂点名考勤环节是学校教学管理过程中一个必不可少的环节,但是传统的点名方式需要老师挨个点名并加以记录,这种点名方式无疑加大了老师的负担,还有点名记录纸质资料丢失的风险。一款智能考勤管理系统就能较好解决这一问题,本章将具体分析考勤系统现状,并对智能考勤管理系统进行研究内容的介绍和系统功能进行设想。1.1 开发背景目前,学生的成绩考核越来越多样化。学生的成绩都是采用多

13、方面考核,其中不仅包含了学生的期末成绩,还包含了学生的上课考勤成绩、平时成绩、作业情况等。其中,对于上课考勤方面,大多数都是采用教师上课时对照名单进行点名并加以记录,这种方式不仅增加了教师的工作负担,更是占用了较多上课时间。完善的考勤模式能对学生有一定的监督作用,能够督促学生不缺勤,有利于营造良好的学习氛围1。教师这一行业本来就是很辛苦的行业,一堂课下来都很累,嗓子还得不到休息。时间一久,便对嗓子造成了较大的影响,而传统的点名方式更是需要教师去挨个口头点名,这无疑在很大程度上加重了教师的负担。这时候,便需要一款智能课堂考勤系统来帮助教师完成点名工作,在不增加教师工作负担的同时能够较高效率完成点

14、名工作便是这个系统所需要实现的功能。作为计算机运用的一个部分,通过电子计算机来完成学生考勤这一任务,能够让实现智能化办公和无纸化办公,具有高可靠性、大存储量和高保密性的特点。无纸化办公模式能够节约资源,方便、快速地进行信息交流,能够实现异地办公2。1.2 发展趋势系统功能日趋完善,系统操作也能够随着迭代开发和后期维护变得更加简单,能够让教师用户有较好的使用体验。随着考勤管理系统的慢慢普及,期望将来能与学校其他一些有关系统和数据库进行结合使用,提高教学办公效率,主要是实现教师使用教师号统一登陆来简化操作过程。1.3国内外研究现状1.3.1国内研究现状目前,考勤管理系统在国内外也有一定的研究成果,

15、但是很多考勤管理系统都是需要人工操作,手动点名,没有很好地便捷性。当然,在国内外的相关领域的研究中,也有研究开发指纹识别考勤的,但是这种考勤方式比较麻烦,需要被考勤的用户一个接一个去输入指纹,比较耽搁时间。也有使用校园卡进行考勤的方式,只是使用这种方式就会遇到不少的问题,最常见的问题就是校园卡被消磁的情况,导致学生不能打卡完成。1.3.2国外研究现状在国外考勤管理系统的研究中,也有使用指纹识别考勤和打卡识别考勤的管理模式,而且,在国外的考勤管理中,也有研究使用MAC地址实现考勤的,只是好像都有一些问题还需要进行解决。他们的主要研究方向是使用蓝牙来完成考勤,这种考勤模式最大的问题就是蓝牙的有效接

16、收范围,这也是这一项技术的最大难点。1.4 研究工作方向1.4.1研究内容课堂考勤管理系统,主要的研究内容和研究方向在于使用计算机软件实现快速高效考勤,能够实现电脑语音点名,或者是通过MAC地址绑定的方式实现一键自动点名功能。需要在方便教师对学生信息的查阅和修改的时候,同时考虑到一个教师往往有多个教学班级且有数量较多的学生,所以添加学生信息较为麻烦,希望能够通过研究实现学生信息的自动导入。1.4.2预计成果研究开发出的考勤管理系统能够通过学校教师的教师编号,通过内网教务信息抓取不同课程编号的不同学生信息加以保存,能够实现让教师快速简单操作选择当前学期的所有课程,通过对在线获取的数据进行解析,能

17、够在软件主要功能界面显示当前课程相关的各类信息,能够在上课的时候进行电脑语音智能点名,通过小型局域网内学生智能终端设备的IP地址和MAC地址实现一键自动考勤,能够管理学学生的作业,能够通过互联网上传和下载学生的作业文件,方便教师的修改。1.5待解决的问题及解决思路1.5.1课表和学生信息抓取问题为了方便对学生信息的录入,需要寻求一些解决方案实现对学生和课程相关信息的自动录入。这方面问题可以等软件大范围实际运用的时候直接连接相应数据库接口使用。但是目前由于开发测试阶段需要,可以通过网页截取实现。解决思路是通过对学校内网的教务在线网站进行分析,对网页数据进行筛选和保存。通过研究发现,学校内网可以通

18、过在网页地址后面通过更改教师编号来获取每个教师当前学期的课程,再通过对具体课程页面的解析,使用JavaScript抓取网页上学生和课程相关信息加以保存记录,再通过相关代码将保存的数据加以修饰应用。网页主题数据提取已经成为信息处理的一个重要环节,能够方便获取有效信息并加以使用3。1.5.2语音点名问题为了减轻老师的点名负担,软件预期开发语音点名的功能。这一功能需要结合学生信息来实现,预期能够实现自动语音点名和手动语音点名。这一问题预期的解决方案是调用Windows自带的讲述人。在Qt平台下使用C+编程,可以使用专门的类调用sapi.spvoice,再通过一些参数传递,实现语音点名功能。1.5.3

19、一键点名功能为了简化课堂点名的流程和节约点名时间,预期开发一键点名功能。期望通过实现通过点击一个按钮,实现对到场学生进行自动识别和考勤。对于这一问题的解决,确实有较大难度,通过在互联网中搜索相关的内容,也没有参考解决方案,最后通过对实际问题的分析以及对相关技术的了解和探索,预计能够通过对学生智能终端设备的MAC地址进行识别并实现一键点名功能。IP 地址具有灵活性、逻辑性和易辨识性的特点。MAC 地址具有唯一性、不可更改性和固定性的特点4。因为在路由器或者电脑构建的小型局域网范围内,我们知道每台设备的IP地址是路由器动态分配的。不过,每一天设备制造出来的时候都有一些独特的MAC地址,所以只需要通

20、过编程实现获取学生设备的MAC地址并进行匹配便能实现该功能。这项功能需要ARP(地址解析协议)的应用,通过ARP协议,主机发送一段包含目标IP地址的ARP请求到局域网内所有主机上,通过是否有相应的回应来判断局域网内的主机有哪些,并得到相应的MAC地址。通过对ARP缓存中的数据进行处理,从而得到局域网内所以设备的MAC地址,最后通过数据库匹配实现自动点名功能。1.6本章小结本章主要对考勤管理系统的用户需求进行分析,并对软件开发的思路进行了初步的制定,通过相关技术分析得出技术上所要攻克的难关。第2章 开发环境和相关技术介绍第2章 开发环境和相关技术介绍本章主要对考勤管理系统的开发环境、开发过程中所

21、使用的相关技术和软件所使用的数据存储方式进行介绍。开发环境主要包含了开发所使用的硬件平台、软件平台和开发平台。相关技术主要包含了开发过程中所使用的开发语音、开发工具和数据库等。数据存储方式介绍主要包括了文本存储介绍和数据库存储介绍。2.1开发环境介绍2.1.1硬件平台软件开发所使用的硬件平台包含了一台PC机和路由器。PC机搭载inter i5处理器,路由器为普通小型路由器。2.1.2软件平台软件开发所使用的软件支持主要有PC机所安装的Windows 10正式版操作系统,路由器安装的OpenWrt路由系统或者常规路由系统。2.1.3开发平台项目使用C+语言开发,开发平台使用QT平台。QT Cre

22、ator平台是能够完成跨平台运行的C+图形用户界面应用程序开发框架, 通过XML文档将所有的界面元素与信息存储起来,从而实现加载界面的切换5。QT有很多优势,其跨平台性非常优秀,能够完美支持Windows平台、Linux平台和Mac平台等。QT的框架是面向对象的,QT具有良好的封装机制,从而具备了高模块化程度的特性。其良好的可重用性方便了开发者的开发操作。另外,QT有非常丰富的API接口,支持几乎所有常用的C+类,丰富的API接口也让项目的开发更加快速高效。QT平台有很大的库文件支持,如表2.1所示。表2.1 Qt5 结构Qt Essentials在所有平台可用Qt ToolsQt的不可分割的

23、组成部分,在所有桌面平台可用Qt Add-Ons可跨平台,也可不跨其他模块和工具第三方2.2开发技术介绍2.2.1 C+语言C+语言是C语言的继承,C+既可以实现面向对象编程,也能够完美进行基于过程的一些程序设计,所以C+语言灵活性很大,这也是我选用C+语音进行考勤管理系统开发的原因之一。C+语言技术在科学计算领域、网络软件开发领域和操作系统开发领域都有很大程度上的应用。在C+中,开发者能够对数据进行封装和隐藏,用户只需要学会如何使用定义好的类,而不需要去深入研究该类是如何工作的。在C+已经存在的类的基础之上,我们可以去声明一些新的类型来使用,这就使得C+支持继承和重用,这样可以让开发者在开发

24、过程中拥有更高的开发效率。C+在Qt平台上的开发可以提高开发效率,并且能够运用可视化工具实现模块化开发6。2.2.2 Python语言Python语言的语法非常的简洁明了,可以强制使用空白符进行语句的缩进。Python是一种面向对象的程序设计语言,其类型是偏于解释型的7。使用Python语言的原因是其有非常丰富而且强大的库文件支持,可以提高在某些功能开发时候的效率。Python语言编写的代码具有易读和易维护的特点,这也符合了Python的设计哲学。Python是一种面向对象的语言,Python的使用主要用于脚本开发,因为Python语言是有很强大的扩充性的,有丰富的API和开发工具,开发者能够

25、轻松使用C+来添加需要的扩充模块。2.2.3 Node.js环境下的JavaScriptNode.js是一个运行环境,用于执行JavaScript脚本,对网页数据有非常好的支持,对网页数据操作时能够体现很快的相应速度,能够高效执行相应操作。JavaScript本需要浏览器的JavaScript解释器进行解释和执行,而Node.js相当于把浏览器的JavaScript加以封装从而形成了服务器运行平台,方便本地编写的一些脚本的运行8。通过Node.js的应用,可以实现快速获取内网教务在线的课程和学生数据,能够对网页数据进行分析和存储。使用此模式写的JS脚本能够处理课程信息和学生信息,提高了学生名单

26、和课程名单的录入速度和正确性9。2.2.4 ARP地址解析协议ARP是地址解析协议,全称为Address Resolution Protocol,它的实质是一个TCP/IP协议,主要目的是通过IP地址获取目的主机的物理地址。ARP提供了一种从 IP地址到相应硬件地址的动态映射机制10。OSI模型将主机的网络工作分为了七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层11。OSI七层模型图如图2.1所示。在考勤管理系统的开发过程中,预计通过识别每台设备独一无二的MAC地址来实现考勤,发送IP数据包只能获取到局域网设备的IP地址,而MAC地址和IP地址不在同一层,不能直接获取M

27、AC地址,所以需要使用地址解析协议,对IP数据包中的IP地址信息进行解析,从而获得局域网内所有设备的MAC地址。ARP请求的格式如图2.2所示。图2.1 OSI七层模型图图2.2 ARP请求格式2.3数据存储方式介绍2.3.1 文本存储模块在考勤管理系统的开发过程中,考虑到教师使用文件的必要性,所以在数据存储时添加了TXT文本存储模块。TXT是windows操作系统上附带的一种文本格式,这种格式使用非常广泛,所以很是常见,主要用来存储文字信息12。使用这一存储方式,主要是可以将考勤时缺勤的学生名单快速导出到计算机桌面,方便老师携带,同时文本文件的打开方式简单,易于老师操作和阅读。TXT文本存储

28、体积很小,存储起来十分简单便捷,同时由于只能存储文本,所以格式简单,不会受计算机病毒干扰,其次,这一文件系统可以在计算机和大部分移动设备中进行操作,有很强的通用性。2.3.2 SQLite3数据库存储模块考虑到数据存储和操作的方便和灵活,在开发考勤管理系统前,对比多个市场主流数据库,最终选用SQLite数据库。这一数据库是遵守ACID的关系型数据库,体积很小,主要用于嵌入式产品,占用系统资源低,处理速度也非常快。这一数据库将项目开发时候的所有数据都存储在一个单一文件中,所以SQLite数据库不是传统的C/S模式(客户端/服务器模式),而是整个项目程序中的一部分,从而更加高效和安全。SQLite

29、除了轻量级意外,还有很多特点。它不需要第三方软件支持,只需要在使用的时候加上SQLite的一个动态库,而且,SQLite有很好的移植性和跨平台性。SQLite最大的特点就是可以实现零配置和支持标准的SQL语句13。其架构如图2.3所示。图2.3 Sqlite数据库架构图2.4本章小结本章对考勤管理系统开发所需要使用的相关技术进行了简单分析和介绍,并对考勤管理系统对于软件平台和硬件平台的要求进行了分析。通过本章,基本确定了考勤管理系统的技术开发路线。第3章 系统功能需求分析与设计第3章 系统功能需求分析与设计本章主要是对考勤管理系统的用户的需求进行分析,并通过实际的需求分析设计该系统所需要实现的

30、各个功能模块。结合需求分析和技术手段对各个功能模块的实现进行功能性设计,根据需求设计各个功能模块的功能。3.1 系统需求分析及系统设计理念3.1.1系统需求分析为了进一步提高任课教师课堂考勤效率,简化教师点名操作流程,通过对实际问题的具体分析,对考勤管理系统的系统进行了需求分析。所研究开发的系统主要用户是教师群体,对于教师群体的调研和实际操作预想,其主要需求在于学生信息管理、学生成绩管理、学生作业管理和课程备忘管理等。课堂考勤管理系统的教师用户用例图如图3.1所示,通过对考勤管理系统的需求分析,系统功能如图3.2所示。图3.1 课堂考勤管理系统用例图图3.2 课堂考勤管理系统功能图1)登录管理

31、模块在考勤管理系统的登录管理模块,主要是用户教师用户登录系统和清楚之前的登录缓存。在该界面,实现登录功能和课表在线抓取功能。通过教师用户输入的教师号和密码进行登录验证,然后根据教师号进入内网教务在线,在教师所有课程页面抓取所有课程相关信息以及该课程对应的学生信息,保存到本地。同时,由于开学初期学生选课有可能发生改变,所以设置一个清楚缓存的按钮,用于清除之前下载的各种信息。登录成功之后,将教师的所有课程以列表形式展示,方便教师用户选择当前课程。2)课程管理模块课程管理功能模块用于教师对当前所选择课程的基本管理,以备忘录的形式,让教师用户添加当前课程进度,然后下一次登录系统选择该课程时,提示教师用

32、户上一次所进行的课程,从而帮助教师用户回忆课程进度,减轻教师用户的工作负担。另外,这一功能页面还有课件上传下载的功能,能够方便教师用户进行课件管理,能够快速有效地上传下载课程课件,不用再为了忘记携带课程U盘而担忧。3)考勤点名功能模块考勤点名功能模块为本系统的一个特色模块。在这一模块,能够显示学生信息和到课信息,方便教师用户查看当前课程的所有学生相关信息并进行点名考勤操作。在这一功能界面,能够实现语音点名功能,与传统点名方式不同的是,这种点名方式能够减轻教师用户嗓子的负担,语音点名的模式有手动抽点,顺序学生点名和随机学生点名,同时,点名也能够随时通过点击按钮来暂停点名或者是停止点名。点名结束之

33、后,能够通过按钮进行点名结果的导出或者是学生信息的备注。4)学生信息功能模块学生信息功能模块是方便教师用户对于学生状况的管理。在该功能页面,能够显示所有学生的信息,同时也将显示学生这一学期的到课情况,方便教师用户对于学生考勤成绩的管理。同时,也能通过这一功能界面进行学生成绩的管理和学生学期表现情况的记录和管理,这将帮助教师用户实现无纸化办公。5)WIFI一键签到模块WIFI一键签到功能模块是本考勤管理系统的特色功能,也是本课题研究的主要难点和需要攻克的技术难关。通过这一模块,能够实现自动化点名,比语音点名模块更加高效和便捷。语音点名模块需要教师用户手动对考勤结果进行选择记录,而WIFI一键签到

34、功能能够实现一键自动点名,根据学生智能终端设备MAC地址不同的特点,实现对MAC地址进行自动设备从而实现考勤功能。将未到课的学生信息加以显示,一目了然,方便快捷。同时,在这一功能界面,也实现了对包括MAC地址在内的学生信息的添加和修改。保证了学生信息的正确性和实时性。6)作业管理模块作业管理模块主要功能是实现对学生作业的管理,方便教师用户下载和管理学生的作业,进一步实现无纸化办公和智能化办公,减轻教师用户的工作负担。这一功能模块可以通过FTP服务器完成,访问比较快,而且数据相对于很多方式都较为安全。课堂考勤管理系统的数据流图如图3.3所示。图3.3 课堂考勤管理系统数据流图3.1.2项目系统设

35、计目标项目系统的设计目标是实现可用的方便快捷的教师考勤管理辅助小助手,开发测试一些具有实际意义的辅助功能模块。能够高度响应绿色环保思想,实现现代化的无纸化办公模式,实现智能化考勤和无纸化考勤。系统需要实现课表和学生信息在线获取功能、学生信息修改功能、语音点名功能、文本存储功能、WIFI一键签到功能、课程管理功能和作业管理功能等。系统操作方式应当简单易用,并具备良好可行性。3.1.3项目系统设计思想相同设计的主要思路为整个软件的开发过程严格按照软件工程项目开发流程进行,达到简单易用且低成本的特点,主要实现前台显示和数据库相关数据管理。结合使用现有的低成本的软硬件环境,开发过程中尽量实现硬件系统资

36、源占用少的特点,局域网的构建可以通过普通路由器或者PC机构建。所开发实现的应该能够满足教师考勤工作的日常需求,并达到操作过程中的直接、便捷和安全等要求。采用模块化设计思路进行编程,易于各个功能的调试和维护。类的设计主要分为客户端类和服务端类,主要包含课表类、作业类、课程进度类、学生类、考勤类、成绩类、教师类、课件类和UI类、会话类、文件类、消息类、日志类、服务器类和反应堆类等。3.2系统可行性分析3.2.1 技术可行性分析考勤管理系统的相关功能和实现思路,在开发前对所使用的开发技术进行了解和学习,对技术难点进行解析,结合自己的学习情况,能够满足软件开发的要求。考虑到自身开发能力和学习能力,初步

37、确定可以保证项目的正常开发进度。通过对现有设备的分析,普通PC机和路由器已经具备,满足开发调试所需,能够在硬件上支撑项目的正常开发,也能满足项目开发完成后的测试所需。3.2.2经济可行性该系统可以使用现有是被,不用购置新的设备或者仪器来保证功能的运行,所以在成本方面较为低廉。同时,项目的操作较为简单,能由任课教师自行操作完成,无需另外耗资培养专业操作人员,能够节省时间成本和人力成本。由于智能化考勤管理系统的投入,极大提高了教师考勤管理工作的效率,符合当下的经济形势,同时数据存储的安全性和无纸化特性也节省了传统纸质办公的经济成本。3.2.3操作可行性对于考勤管理系统的设计理念一直是便于操作,所以

38、考勤管理系统的操作难度较低,不需要专门的培训操作便能上手操作。每一个功能的开发都会有最简单明了的呈现,教师用户只需要按照软件介绍进行相应操作,不用去学习具体每一项功能的具体操作过程,这在很大程度上减少了操作难度。方便每一个教师对于系统的直接使用。3.2.4 SWOT分析SWOT14分析是对考勤管理系统的市场竞争情况进行分析,SWOT分析分别是优势(strengths)、劣势 (weaknesses),机会(opportunities)、威胁(threats)。针对考勤管理系统具体SWOT分析见表3.1。表3.1 考勤管理系统SWOT分析3.3数据库相关设计3.3.1数据库定义本课堂考勤管理系统

39、所使用的数据库是SQLite数据库,这一数据库是开源数据库,同时具有轻量化的特点,在对考勤管理系统数据进行存储的时候,能够在保证数据安全的同时,进行高效数据操作。3.3.2数据库设计目的本章节说明了考勤管理系统开发过程中数据库模块的设计,用于指导系统数据库存储各个方面的内容,为开发者和客户都提供了可阅读的数据库设计内容。有助于理解和操作数据库中所有的数据项,能够加强对于考勤管理系统数据存储方案的理解。3.3.3数据库设计背景开发设计此数据的背景为考勤管理系统的开发,使用此数据库的客户端使用QT平台开发,也有基于Python语言的使用。本系统能够实现对数据库中的数据进行增加、删除、查找和修改操作

40、。数据库使用SQLite数据库,是一款基于ACID的轻型的关系型数据库,可以理解为文件存储,使用起来非常方便13。3.3.4标识符和状态数据库中的所有表如表3.2所示:表3.2 数据库表结构表名功能说明Teacher用于记录教师信息和登录信息STUMAC用于记录到课学生MAC地址Student记录学生信息,存储学生MAC地址student_jiaowu用于存储教务在线获取的学生信息表3.2 数据库表结构(续)表名功能说明Member用于缓存记录Course用于记录课程信息course_process用于记录课程进度3.3.5概念结构设计各个数据表的E-R图如图3.4图3.10所示。图3.4 t

41、eacher表E-R图图3.5 STUMAC表E-R图图3.6 student表E-R图图3.7 student_jiaowu表E-R图图3.8 member表E-R图图3.9 course表E-R图图3.10 coures_process表E-R图实体间关系如图3.11所示。图3.11 实体间关系图3.3.6数据库逻辑结构设计teacher表结构如表3.3所示。表3.3 teacher表结构列名数据类型空/非空约束条件说明teacheridInt非空主键教师编号teachernameVarchar非空教师姓名passwordvarchar非空密码STUMAC表结构如表3.4所示。表3.4 S

42、TUMAC表结构列名数据类型空/非空约束条件说明macaddressvarchar非空主键到课学生mac地址student表结构如表3.5所示。表3.5 student表结构列名数据类型空/非空约束条件说明studentidint非空主键学生编号Namevarchar非空外键学生名字macaddressvarchar非空外键MAC地址scoreint学生成绩isthereint到课次数student_jiaowu表结构如表3.6所示。表3.6 student_jiaowu表结构列名数据类型空/非空约束条件说明idInt非空主键课程编号collegeVarchar非空专业名称stunumInt非

43、空学生学号nameVarchar非空学生姓名sexVarchar非空学生性别classInt学生班级stateVarchar课程状态classtypeVarchar课程性质member表结构如表3.7所示。表3.7 member表结构列名数据类型空/非空约束条件说明idInt非空主键编号nameVarchar非空名字addressVarchar非空地址classVarchar非空班级course表结构如表3.8所示。表3.8 course表结构列名数据类型空/非空约束条件说明idInt非空主键编号courseidInt非空课程编号coursenameVarchar非空课程名字teacherid

44、Int非空教师编号course_process表结构如表3.9所示。表3.9 course_process表结构列名数据类型空/非空约束条件说明idint非空数据编号courseidInt非空主键课程编号teacheridInt非空教师编号teachernameVarchar非空教师姓名processVarchar非空课程进度timeVarchar非空课程时间考勤管理系统数据库PDM图如图3.12所示。图3.12 考勤管理系统数据库PDM图3.3.8数据库安全设计和优势数据结构清晰,不同使用者使用数据库的时候,使用的教师编号是不同的,所以相当于不同用户拥有不同的学生数据访问权限,所以说数据库里

45、面的数据都是安全的。使用SQLite数据库,可以封装到程序内部,使用者不能对数据库文件进行操作,而且能够通过内网在线获取数据并更新数据库,保证了数据的实时性、有效性和安全性。3.4本章小结本章主要是考勤管理系统的需求分析和可行性分析。并在本章对考勤管理系统的数据库模块进行了相应的设计和规划。第4章 系统详细设计与实现第4章 系统详细设计与实现本章主要是对整个系统和各个系统具体功能模块的详细设计,并通过编码实现系统相应的功能。本章将对系统的实现方式加以介绍,并分析系统实现所用程序代码的重要代码片段。并对考勤管理系统各个功能模块的测试,主要是测试各个功能模块是否可用,并测试各个功能模块的运行结果,

46、验证考勤管理系统的可行性。4.1登录模块在系统登录模块,主要是实现教师的登录功能,在该模块还需要实现课表缓存清除功能和教师号识别功能。在登录功能界面,需要对教师输入的教师编号进行匹配,针对教师编号特点进行简单判定,如果与数据库和教师编号设计规则符合,则开始根据教师编号打开或者下载该教师编号对应的所有课程信息和学生信息。在登录模块,会对教师编号进行排序,排序算法是通过最近登录时间来完成的。根据登录时间进行排序,距离当前时间越近排序也就越靠前。登录模块的系统实现效果图如图4.1所示。图4.1 登录模块效果图登录模块流程图如图4.2所示。图4.2 登录模块程序流程图4.2课程选择模块课程选择模块是当

47、前教师所有课程信息的显示界面,通过之前教师的成功登录,在线抓取该教师所有课程信息并存储之后,将教师所有课程信息加以显示,并由教师手动选择当前课程并进入课程考勤管理功能模块。同时,在这个模块界面考虑添加直接访问教务在线课程信息页面的功能。课程选择模块流程图如图4.3所示。图4.3 课程选择模块程序流程图课程选择模块运行效果图如图4.4所示。图 4.4 课程选择模块效果图4.3系统功能选择模块系统功能选择模块是考勤管理系统主界面,在这个界面显示不同按钮,每个按钮对应一个系统功能。其包含的功能选项按钮有重新选择课程、课程管理、考勤点名、学生信息、WIFI一键签到和作业管理功能模块。另外,将在此界面显

48、示日历和当前课程的各种信息,方便任课教师查看。系统功能选择模块流程图如图4.5所示。图4.5 功能选择界面程序流程图系统功能选择模块运行效果图如图4.6所示。图 4.6 系统功能选择模块效果图4.4课程管理模块课程管理模块主要包含课程进度的管理,方便任课教师记录当前课程进度,可以在下次上课的时候起提示作用。此外,这个功能界面还提供任课教师教学课程PPT的上传和下载功能,可以方便教师的课件管理。课程管理模块流程图如图4.7所示。图4.7 课程管理程序流程图课程管理模块运行效果图如图4.8所示。图 4.8 课程管理模块效果图4.5考勤点名模块考勤点名模块主要是展示当前课程所有学生的信息,显示学生的

49、学号、姓名、性别、班级和专业信息。在这个功能模块,还能实现学生相关备注信息的编辑和保存。此功能界面更是包含了考勤管理系统的语音点名功能,预期在功能界面中添加按钮实现语音点名功能,点名方式将会包含鼠标指向点名、顺序自动点名和随机点名等。点名之后,可以对学生到课情况进行编辑和保存,保存方式支持保存到云端和本地两种方式。这一功能模块所实现的功能为系统核心功能之一,需要对开发方式进行详细研究。考勤点名模块程序流程图如图4.9所示:图4.9 考勤点名模块程序流程图考勤点名模块程序运行效果图如图4.10所示。图 4.10 考勤点名模块效果图4.6学生信息模块学生信息模块是对学生基本信息的显示,能够查看学生

50、的学号、姓名、性别、班级和专业等基本情况。还能将学生的到课情况加以显示,并预期在这个功能界面加入学生平时情况表现的记录功能以及学生分数编辑功能。预期以表格的形式加以展示,实现双击表格便能编辑信息的功能。页面设置两个功能按钮,分别是编辑按钮和保存按钮。学生信息模块的程序流程图如图4.11所示:图4.11 学生信息模块程序流程图学生信息模块的运行效果图如图4.12所示。图 4.12 学生信息模块效果图4.7 WIFI一键签到模块WIFI一键签到模块为本考勤管理系统的核心模块,其目的是为了节省点名时间,简化点名流程。MAC地址是与智能设备的WIFI硬件模块所绑定的,每台设备都不一样,是一个独立标识,

51、能够帮助区分不同学生15。这一功能模块的开发具有一定的挑战性,在互联网中没有什么可参考的开发模式,需要进行不断研究改进从而实现。具体实现方法需要在开发过程中进行分析,在不断的尝试中找出合适的解决方案。这一功能的预期为实现通过学生智能终端设备的MAC地址进行数据库匹配,从而实现一键考勤。此外,需要开发功能实现对学生MAC地址信息的添加和更新。WIFI一键签到模块程序流程图如图4.13所示。图4.13 WIFI一键考勤功能程序流程图WIFI一键签到模块运行效果图如图4.14所示。图 4.14 WIFI一键签到模块效果图4.8作业管理模块作业管理模块的目的是为了帮助任课教师进行学生作业管理。其主要功

52、能是实现作业上传和下载功能。需要使用程序实现作业文件的存储,方便任课教师可以在任课教室以外的其他地方进行作业管理。作业管理模块程序流程图如图4.15所示。图4.15 作业管理模块程序流程图作业管理模块运行效果图如图4.16所示。图 4.16 作业管理模块效果图4.9学生信息更改模块这一模块的主要功能是实现学生只能终端设备的MAC地址添加和修改功能,由于学生信息是通过内网教务在线获取的,其不包含学生只能终端设备MAC地址信息,同时无法自动得知每一个学生所对应的MAC地址信息,所以需要手动添加MAC地址信息,并提供MAC地址修改功能。学生信息更改模块流程图如图4.17所示。图4.17 学生信息更改

53、模块程序流程图学生信息更改模块运行效果图如图4.18所示:图 4.18 学生信息修改模块效果图4.10系统运行效果及功能测试4.10.1登录功能测试设计测试用例测试注册功能和登录功能是否能够正常运行,注册功能测试用例如表4.1所示,登录功能测试用例如表4.2所示。表4.1 注册功能测试用例表用例描述用户注册功能测试目的测试用户注册功能是否正常,能够完成注册前提条件用户为未注册状态编号输入输出1合法的教师编号和密码注册成功2教师编号不正确教师编号有误3不合法的密码密码不合法表4.2 登录功能测试用例表用例描述用户登录功能测试目的测试用户登录功能是否正常,能够完成登录操作前提条件用户为未登录状态编

54、号输入输出1正确的教师编号和密码登录成功2教师编号不正确教师编号有误3教师编号为空请输入教师编号4密码不正确密码错误5密码为空请输入密码使用不同的教师账号登录考勤管理系统,验证每一次登录时所得到的课程信息和学生信息是否正确,验证是否具备自动获取教务在线课程信息和学生信息的功能。使用两个不同教师号登录考勤管理系统,得到如下两种结果,如图4.19和4.20所示,测试得出该模块功能正常,可以正常使用。图 4.19 教师一课程选择界面图图 4.20 教师二课程选择界面图4.10.2语音点名功能测试测试随机点名和顺序点名,经测试点名能够自动进行,也能够中途暂停点名或者停止点名。同时,经测试能够手动抽点部

55、分学生的到课情况,并能够将未到课学生的信息保存和自动新建文本文档到桌面。其测试进度如图4.21所示。图 4.21 点名功能测试效果图对学生进行签到处理之后,导出签到结果如图4.22和4.23所示:图 4.22 点名结束效果图图 4.23 缺勤学生名单到处文档图4.10.3 WIFI一键签到功能测试测试WIFI一键签到功能是否可用。首先是在没有设备连接课堂局域网的情况点击一键签到按钮,所有学生信息都被展示到未到课窗口,然后使用一台手机连接局域网,再次点击一键签到按钮时,未到课学生不包含这一台手机用户所对应的学生。经过多次不同种类和数量手机连接测试,没有出现考勤不准确的情况。测试到课学生化名李一,

56、其中部分测试截图如图4.24和图4.25所示:图 4.24 李一同学未到时一键考勤结果图 4.25 李一同学到课时一键考勤结果4.10.4学生智能终端设备MAC地址录入和修改测试通过学生学号信息进行智能终端设备MAC地址的绑定和修改,经过实际录入和修改操作,对比数据库中的相对应学生信息,得出相关学生信息修改正确而且高效的结论。能够保证学生相关信息的有效性。4.11本章小结本章是考勤管理系统的详细设计,通过分析和设计确定了考勤管理系统各个模块的详细功能和实现方法,并在本章加入了部分重要功能代码的分析和研究。本章包含了考勤管理系统的系统实现部分和功能截图。并对考勤管理系统部分重要功能模块的测试,所

57、测试的功能模块均为该系统的核心模块,通过测试表明考勤管理系统的功能具有一定的实用性,可以进行应用或者是进一步的开发工作。第5章 总结与展望第5章 总结与展望本章主要是对大学学习生活和毕业设计课题的总结和展望,通过本章对自己的学习过程进行回顾和总结,以便于下一阶段学习的进行。同时,将在本章对考勤管理系统的未来功能完善和应用进行展望。5.1总结考勤点名系统经过一段时间的研究与开发,目前主要功能已经实现并能在实际教学管理过程中加以应用。通过这一段时间的设计和开发,目前已经实现通过教师账号登录系统之后,使用独一无二的教师号在线获取该教师的所有课程信息和相关学生的信息。并且能够在登录界面记录近期使用过此

58、系统的不同教师的教师号信息,并进行智能排序显示。对于考勤管理系统的考勤点名功能也有了一定的研究成果,能够实现客户端语音点名考勤和WIFI一键智能签到。在考勤管理系统的设计和开发过程中,对我大学学习成果进行了检验。在开发过程中,使用了很多大学期间所学习到的知识,其中不仅包含软件开发和计算机相关技术的理论知识,还包含了实际开发过程中的编码能力。在系统开发过程中,也涉及到了很多大学期间所没有涉及到的知识领域,这时候就需要自己通过老师、同学和互联网来进行相关的知识的查阅和学习。这也得感谢大学期间所培养的自学能力,保证了自己对于相关知识领域的学习进度,从而保证了项目的正常研究和开发进度。在考勤管理系统的

59、开发过程中,我也曾遇到不少问题,对于有些问题可以通过互联网查找相关解决方案,这类问题的解决得益于网络上对现有问题的分析和相关解决方案的案例介绍,这时候只需要对所遇到的问题进行详细分析,并对现有解决方案的研究,就能够研究出自己所遇到的问题详细解决方案。对于这类问题,主要是对学习和类比能力的考核。还有一种问题是网络上没有现有问题的研究和解决方案,这类问题往往是在我们研究新技术的时候所产生的问题,对于这类问题的解决可能有一定的难度。需要我们结合现有的技术和自己所掌握的知识经行详细具体的分析,可以对一个问题进行多方面思考,将具体的功能模块分解研究,从而推算其解决方案和实现方式。通过本次毕业设计课题的研

60、究和实现,让我对自己所掌握的知识进行了具体项目的应用,加深了自己对所学知识的理解和掌握。在对于毕设课题中相关难点的研究攻克的过程中,提高了我的自我学习能力和有用知识的检索筛选能力。同时,对于考勤管理系统中某些功能模块的研究之后,通过思考和研究,得出了合理的解决方案,这一过程是对个人思考能力的锻炼和提升。5.2展望随着研究的进行和系统的测试改进,希望能够进一步开发系统的功能,完善考勤管理模块的准确性和有效性。希望能够开发实现更多的考勤模式,可以通过研究和设计实现基于位置信息的考勤点名,能够在获取MAC地址实现点名之后,一直监督学生的课堂情况,能够自动识别上课期间学生有无离开、早退的现象。在考勤管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论