校园班级考勤管理系统设计(Vue+Node+uniapp)

本系统设计了一个结合Vue2.0前端框架、NodeJS逻辑层和uni-app的高校课堂考勤管理系统,旨在解决传统考勤方式效率低下和代答问题。系统支持PC端和移动端,利用高德地图定位和验证码进行考勤验证,通过微信小程序实现便捷的签到功能。系统分析了技术、经济和操作可行性,强调了JavaScript、MySQL数据库和Vue2.0在系统中的应用。此外,系统设计包括班级、教师和学生管理,以及请假和签到管理,数据库设计考虑了E-R图和逻辑结构。系统实现中,前端利用微信小程序和Vue2.0,后端采用NodeJS+Express,确保了系统的稳定运行。
摘要由CSDN通过智能技术生成

           

目录

1 绪论

1.1课题背景

1.2国外研究现状

1.3国内研究现状

2系统分析

2.1 系统可行性分析

2.1.1技术可行性

2.1.2经济可行性

2.1.3操作可行性

2.2 系统需求分析

2.2.1功能需求分析

2.2.2非功能需求分析

3开发环境及相关技术介绍

3.1 开发环境

3.2 JavaScript语言

3.3 MySQL数据库

3.4 Vue2.0前端框架

3.5 微信小程序

4系统设计

4.1系统功能设计

4.1.1PC端

4.1.2移动端

4.2系统流程

4.3数据库设计

4.3.1概念设计

4.3.2 E-R图

4.3.3逻辑设计

4.4服务器设计

5系统实现

5.1系统前端的实现

5.1.1总体页面的实现

5.1.2登录页面的实现

5.1.3注册功能的实现

5.1.4首页页面的实现

5.1.5课堂签到功能的实现

5.2系统逻辑层的实现

6系统测试

6.1测试目的

6.2测试计划

6.3系统功能测试

6.4系统界面及窗体测试

7结论

参考文献

附录

致谢


校园班级考勤管理系统设计

设计总说明

因为现在的信息技术在信息的管理系统上的快速发展,人员信息管理系统的实现已经快速成熟。国内基本上所有的高校,现代化的管理信息方案正在逐渐得到很好的完善,老师和学生们也因为这样的技术的发展而大大提高了工作的效率。例如,学生成绩的查询、教学内务的管理、招纳新生和毕业生就业等后台系统在各大高校雨后春笋般的出现,这不仅给所有老师和学生的日常生活带来了便利,一所高校信息化发展的层次也能得到体现。这次研究的目的是设计一个校园班级考勤管理系统,目的是为了国内外的高校老师在上课考勤这方面的问题得到完美的解决方案,为了高校的考勤工作提供便利。在当前信息互联网时代,通过互联网的技术和思维以及信息化的方法来设计和实现一套考勤系统对高校来说尤为重要。目前国内高校的考勤方式主要是传统的考勤方式,占用了教师和学生大量的课堂时间,也存在代答现象。随着班级数量的增加,这种低效的出勤方式将不再适用于大学班级。

本系统基于Express服务器,前端使用了Vue框架、JavaScript语言等编写,逻辑层使用了NodeJS编写,借助于VSCode进行开发和调试,通过地理位置信息以及验证码的校验来实现课堂考勤。

关键字:高校课堂;打卡;考勤

Design of Campus Class Attendance Management System

Design Description

Because of the rapid development of information technology in the information management system, the realization of personnel information management system has matured rapidly. Basically all colleges and universities in China, the modern management information program is gradually being well improved, and teachers and students have greatly improved the efficiency of work because of the development of such technology. For example, background systems such as the inquiry of student scores, the management of teaching internal affairs, the recruitment of new students and the employment of graduates have sprung up in major universities, which not only brings convenience to the daily life of all teachers and students, but also reflects the level of information development of a university. The purpose of this study is to design a campus class attendance management system, with the aim of providing a perfect solution for domestic and foreign college teachers in class attendance and providing convenience for college attendance. In the current information Internet era, it is particularly important for colleges and universities to design and implement a set of attendance system through Internet technology and thinking as well as information technology. At present, the main way of attendance in domestic colleges and universities is the traditional way of attendance, which occupies a lot of classroom time for teachers and students. As the number of classes increases, this inefficient form of attendance will no longer apply to college classes.

This system is based on Express server, the front-end is written with Vue framework and JavaScript language, the logical layer is written with NodeJS, and the development and debugging is carried out with VSCode. The class attendance is realized through the verification of geographical location information and verification code.

Keywords: College classroom, Punch a clock, Attendance check

1 绪论

1.1课题背景

考勤作为监督学生出勤、提高课堂质量的关键环节,在高校的日常教学生活中起着非常重要的作用。在大多数情况下,传统的考勤系统是基于纸张,依靠学生的答案,不能有效地避免学生为他们答题,而且在检查所有学生的完整名单的过程中浪费了大量宝贵的课堂时间。对于学生来说,它不能起到预期的监督效果,而对于学校和教师来说,它是一种需要极大精力和时间的考勤,但准确性无法保证,效率低。随着班级学生人数的不断增加,传统的点名考勤方式变得越来越低效。因此,将信息技术与互联网思维技术相结合,设计并实现一套App上课考勤系统,使其能够方便地应用到高校课堂中就显得越来越有意义。一个简单易用、高效的课堂考勤系统不仅可以有效督促学生按时到课,提高学生的学习质量,还可以帮助学校了解教师的课堂情况,为教学改革提供帮助。

在21世纪当今高校,手机是每一个人都离不开的电子设备,传统的管理系统一般都是基于PC端的,这种对于现代大学生来说,是极为不方便的,没有人会在每一堂课都带着电脑上课,而且电脑携带也极为不便。所以这个时候就应运而生了手机App这种形式的软件,把PC端的种种功能,全部都移交到App上来,就能够解决这一问题。

由于现在越来越多的公司工厂开启人脸识别打卡考勤制度,这一现象能够很好的证明人工智能在各个领域的广泛应用和飞速发展,人脸识别从过去的遥不可及变成现在的随处可见,这些都离不开业界大佬们的辛苦劳作。虽然现在人脸识别打卡已经逐渐普及,但是目前国内的大学校园环境中,现有的设备并不能起到很好的作用。如果能将人脸考勤与移动设备相结合,将极大地解决高校传统考勤效率低下的问题,大大提高课堂考勤的准确性。

1.2国外研究现状

考勤管理系统是企业管理中不可或缺的一部分,国内的信息化考勤管理系统已经相当完善,能够帮助员工完成上下班、出差、请假等全过程。然而,与国外相比,国内的考勤管理系统仍有很大的进步空间。指纹识别技术和基于虹膜识别技术是国外考勤范畴比较前沿的技术,这些技术可以在较短的时间内完成认证,防止了弄虚作假的可能。但这些技术也存在生物特性泄漏和变更的风险,需要更加周密的保护措施。此外,这两种方法也存在需要排队考勤和考勤设备成本高等缺点。因此,在选择考勤管理系统时,企业应该根据自身实际情况进行选择,并加强安全措施,以确保企业的信息和员工的隐私得到保护。

1.3国内研究现状

目前在中国,有许多的大中小企业事业单位进行考勤已经不再使用基于纸质的签名考勤或者单纯的指纹打卡,有日趋成熟的基于智能办公硬件员工考勤解决方案被广泛应用。然而,目前还没有满足国内高校需求的低成本考勤系统可以在大多数高校中使用。在研究领域,目前高校课堂考勤系统的设计方法主要有以下几类[1]。

1、是以手机服务为主的智能考勤:如使用微信公众号服务、位置服务、Wi-Fi、实时二维码等。有研究人员基于微信企业号开发出了微信考勤系统并在学院进行应用[2],从该系统的反馈分析,存在难以杜绝代替考勤的现象以及对上课地点有要求等问题。有的研究人员开发出基于Wi-Fi的高校课堂考勤系统[3],这种考勤系统需要提前架设Wi-Fi热点服务器才能开始考勤。

2、是以智能卡为主的考勤:有研究人员设计了基于校园一卡通的考试签到系统[4]。这类考勤适用于纸质考试等不能携带手机的场景,同时需要专门的读卡设备进行验证。

3、是以蓝牙设备为主的考勤:如物联网、射频识别技术、蓝牙、iBeacon等。有研究人员开发了基于iBeacon定位技术的高校考勤系统[5],基于蓝牙的考勤方式可以通过微信或移动设备进行签到,但是需要提前布置iBeacon设备,有一定维护成本,通信中也存在安全隐患。

4、是以生物特征识别为主的考勤:这类考勤主要使用人体的生物特征,如指纹和人脸等能够唯一识别一个个体的特征。有研究人员提出了使用指纹识别技术进行课堂考勤的方法[6],但该方法的实现基于特定设计的指纹识别设备。基于虹膜识别技术的课堂考勤虽然保证了较高的准确率,但是不仅会带来较高的设备成本,还会耗费一定的准备时间。人脸识别考勤相对来说比较易用,学生只需打开智能手机的摄像头并且联网即可完成签到,降低了系统的使用成本。

考虑到上述四类考勤系统设计的优缺点,如果想要以较低的成本为学生实现准确的课堂考勤,就需要结合硬件设备和生物识别的优势。本文选择了基于手机高德地图定位和验证码的方法来设计和实现高校课堂考勤系统。

2系统分析

2.1 系统可行性分析

本系统的开发主要面向高校的教师和学生。使用场景是为大学课程和学生请假。针对当前高校课堂的日常出勤情况,结合高德地图的WebAPI定位技术、二维码技术和微信小程序开发系统,解决课堂出勤系统的空缺。本节将从以下三个方面详细分析该系统在大学课堂中的可行性。

2.1.1技术可行性

软件部分,本系统分为PC和移动端,PC端视图层使用了HTML5、CSS3和Vue2.0框架搭建,逻辑层使用了ES6的JavaScript、和NodeJS16版本搭配Express服务端开发;移动端视图基于微信开发文档的WXML、WXSS,逻辑层使用了ES6的JavaScript、和JNodeJS16版本搭配Express服务端开发。使用Visual Studio Code开发工具进行JavaScript和HTML5前端代码和NodeJS后端代码的编写和调试。同时微信小程序还开放了功能齐全的各种API供开发者调用,其中包括位置获取的API,可以判断考勤者的考勤位置。

硬件部分,本系统PC端最好的体验感还是电脑,当然移动设备也可使用,移动端只需要安装有微信APP的手机(Android、iOS、WP系统都可以),运行过程需要网络连接,目前我国的通信网络信号在高校中已经达到了全面覆盖,这为本系统的实现奠定了基础。

2.1.2经济可行性

本系统的开发过程中不需要使用任何收费软件或其他设备辅助,只需要一部普通智能手机和微信即可。除了流量费用由运营商收取外,不会有其他成本产生。

2.1.3操作可行性

本系统为教师和学生提供了便捷的考勤管理服务。管理员可以在PC端对所有数据进行管理,而教师和学生只需打开微信小程序并授权相应权限即可使用。教师端只需要填写课程及教室号,学生端搜索加入即可,下一次无需重复此步骤。教师端发起签到,学生端进入签到,填写校验码即可签到,操作简单便捷。教师端可以查看出勤名单,并且可以导出考勤名单,方便考核平时成绩。该系统不需要任何额外设备,只需使用微信小程序即可,同时不会产生额外的成本。

2.2 系统需求分析

需求分析环节是系统开发中的必要环节。在该环节,通过对本系统的功能需求与非功能需求进行分析,来探讨本系统需要实现哪些。

2.2.1功能需求分析

本系统的功能设计主要是面向高校师生的、为了解决传统高校课堂考勤效率低和无法避免代答到的难题。使用本系统,大学教师和导员可以通过手机随时微信开启签到,随时可以停止签到,并且可以方便地查看签到统计结果。学生签到需要定位和老师给出的校验码。

进入小程序需要用户选择自己的身份,选择身份之后如果是未注册用户需要先进行注册,注册需要使用QQ邮箱进行验证码发送注册。已注册用户则直接在弹窗内输入密码登录即可。教师身份用户的注册是需要管理员手动添加。教师登录之后进入管理界面,可以进行开启考勤和审核假条,以及分别查看已签到和未签到的学生人数和名单。学生登录之后可以选择加入课堂和发起请假,对加入的课堂可以签到打卡,如果有事外出,也可以在本系统上进行请假。

2.2.2非功能需求分析

表 3-1 系统性能需求

需求名称

详细要求

可靠性

运行流畅,处理时间在可接受范围内

可维护性

易于修改调试

可扩充性

可根据现实需求增删功能模块

易用性

系统界面友好,有相应提示引导,人性化

3开发环境及相关技术介绍

3.1 开发环境

操作系统:Windows10

开发工具:Visual Studio Code 1.74.3、HBuilder X 3.4.14

数据库:MySQL 5.7

开发语言:JavaScript、微信小程序

3.2 JavaScript语言

JavaScript是一种流行的编程语言,通常用于在Web应用程序中添加交互性和动态性。以下是JavaScript的一些主要特征和用法:

  1. 语法:JavaScript的语法与C语言非常相似,包括变量、条件、循环、函数等基本结构。它还包括一些独特的特性,例如闭包和原型继承。
  2. 数据类型:JavaScript包括基本数据类型,如数字、字符串、布尔值、null和undefined,以及复杂数据类型,如对象和数组。
  3. 对象和原型:JavaScript的核心是对象,它是一种键值对的集合。每个对象都有一个原型,它定义了对象的属性和方法。
  4. 函数:JavaScript中的函数是一等公民,可以像变量一样使用。它们可以被传递给其他函数作为参数,也可以从其他函数中返回。
  5. 事件处理程序:JavaScript的一个主要用途是为Web页面添加交互性和动态性。它可以用来处理用户事件,例如单击、滚动和拖放。
  6. AJAX:JavaScript可以使用AJAX技术从服务器异步加载数据,而无需刷新整个页面。
  7. 框架和库:JavaScript有大量的框架和库可供使用,例如jQuery、React、Angular等。这些工具可以帮助开发人员更轻松地构建Web应用程序。
  8. Node.js:Node.js是一个运行JavaScript的平台,它可以用于服务器端开发。
  9. 异步编程:JavaScript支持异步编程,可以使用回调函数、Promise和async/await等技术来处理异步任务,例如网络请求和文件读取。
  10. DOM操作:JavaScript可以用来操作文档对象模型(DOM),包括添加、删除和修改页面元素。这使得开发人员可以通过JavaScript动态地更改页面内容和样式。
  11. Canvas和WebGL:JavaScript可以使用Canvas和WebGL技术来创建互动性和动画效果的图形,例如游戏和数据可视化。
  12. 模块化:JavaScript支持模块化编程,可以将代码拆分成独立的模块,使得代码更易于维护和重用。
  13. 测试:JavaScript有许多测试框架和工具,例如Mocha和Jasmine。这些工具可以帮助开发人员编写和运行单元测试和集成测试,以确保代码的质量和稳定性。
  14. 前端框架:JavaScript有许多流行的前端框架,例如React、Angular和Vue。这些框架可以帮助开发人员更轻松地构建和管理大型Web应用程序。
  15. 后端框架:JavaScript也有许多流行的后端框架,例如Express和Koa。这些框架可以帮助开发人员构建高效和可靠的服务器端应用程序。

总的来说,JavaScript是一种功能强大、灵活和广泛应用的编程语言,它在Web开发、移动应用程序、桌面应用程序等方面都有广泛的应用。

3.3 MySQL数据库

MySQL是一种开源的关系型数据库管理系统,是Web应用程序和其他应用程序常用的数据库之一。MySQL的最新版本是MySQL 8,但在介绍MySQL 5.7之前,先了解一下关系型数据库的基本概念。

关系型数据库是指使用表格来存储和管理数据的数据库。每个表格包含一些有关特定实体的数据,例如用户、订单或产品。表格由行和列组成,每个行代表一个实体,每个列代表一个属性。关系型数据库使用SQL(Structured Query Language)来查询和操作数据。

MySQL 5.7是MySQL的一个重要版本,它增加了一些新的功能和改进,包括:

  1. JSON支持:MySQL 5.7开始支持存储和查询JSON格式的数据。JSON是一种轻量级的数据交换格式,常用于Web应用程序中。
  2. 改进的性能:MySQL 5.7引入了许多性能改进,包括更快的查询执行和更快的索引扫描。
  3. 改进的安全性:MySQL 5.7增加了一些新的安全功能,包括更强的密码加密、更严格的权限管理和更好的SSL支持。
  4. 改进的复制:MySQL 5.7增加了一些新的复制功能,包括更高效的并行复制和更好的复制监控。
  5. 改进的GIS支持:MySQL 5.7增加了一些新的GIS功能,包括更好的空间索引支持和更多的空间函数。
  6. 存储引擎:MySQL 5.7包括多个存储引擎,包括InnoDB、MyISAM和Memory等。InnoDB是MySQL的默认存储引擎,它支持ACID事务和行级锁定等特性。
  7. 外键支持:MySQL 5.7支持外键约束,可以确保表格之间的引用完整性。
  8. 存储过程和触发器:MySQL 5.7支持存储过程和触发器,可以在数据库中实现更高级别的逻辑。
  9. 分区表格:MySQL 5.7支持分区表格,可以将大型表格分割成更小的表格,提高查询性能和管理能力。
  10. 备份和恢复:MySQL 5.7包括多种备份和恢复工具,例如mysqldump和MySQL Enterprise Backup。这些工具可以帮助管理员保护数据并在需要时快速恢复数据。
  11. 性能调整器:MySQL 5.7包括性能调整器(Performance Schema),可以帮助管理员诊断和调整数据库的性能问题。
  12. MySQL Workbench:MySQL 5.7包括MySQL Workbench,这是一种可视化工具,可以帮助管理员管理和维护数据库。
  13. 分布式事务:MySQL 5.7支持XA(eXtended Architecture)分布式事务,可以在多个数据库之间进行事务处理。
  14. 多语言支持:MySQL 5.7支持多种语言,包括英语、中文、日语、法语等。管理员可以选择适合自己的语言界面。
  15. 社区支持:MySQL是一种开源软件,拥有一个活跃的社区,可以提供支持、文档和示例代码等资源。

总的来说,MySQL 5.7是一种功能强大、灵活和高性能的数据库管理系统,广泛应用于Web应用程序、企业应用程序和其他应用程序。MySQL 5.7的功能和用法非常丰富,需要管理员深入了解和掌握,才能更好地管理和维护数据库。

3.4 Vue2.0前端框架

Vue.js前端框架是国内目前非常流行的前端框架之一,用于构建交互式Web界面。Vue.js的最新版本是Vue.js 3,但在介绍Vue.js 2.0之前,先了解一下前端框架的基本概念。前端框架是指一组工具、库和最佳实践,用于帮助开发人员更高效地构建Web应用程序。前端框架通常包括一个组件系统、路由、状态管理和构建工具等功能。

Vue.js 2.0是Vue.js的一个重要版本,它增加了一些新的功能和改进,包括:

  1. 虚拟DOM:Vue.js 2.0使用虚拟DOM来提高渲染性能。虚拟DOM是一种轻量级的JavaScript对象,用于描述真实DOM的层次结构。
  2. 渐进式框架:Vue.js 2.0是一种渐进式框架,可以根据需要逐步引入其功能。这使得开发人员可以使用Vue.js来构建小型应用程序或大型应用程序。
  3. 模板语法:Vue.js 2.0的模板语法类似于Angular和React,可以在HTML中直接使用。这使得开发人员可以更容易地编写和维护模板。
  4. 组件系统:Vue.js 2.0的组件系统非常强大,可以将应用程序拆分成多个小组件,每个组件都有自己的状态和行为。
  5. 响应式数据绑定:Vue.js 2.0支持响应式数据绑定,可以自动更新视图中的数据。这使得开发人员可以更容易地管理和更新应用程序的状态。
  6. 路由:Vue.js 2.0包括Vue Router,它可以帮助开发人员管理应用程序的路由。
  7. 状态管理:Vue.js 2.0包括Vuex,它是一个状态管理库,可以帮助开发人员更好地管理应用程序的状态。
  8. 过渡和动画:Vue.js 2.0包括过渡和动画的支持,可以帮助开发人员为应用程序添加更好的用户体验。
  9. 插件:Vue.js 2.0有许多插件可用,例如Vue CLI、Vue DevTools和Vue Test Utils等。这些插件可以帮助开发人员更好地构建、调试和测试应用程序。
  10. 计算属性和侦听器:Vue.js 2.0支持计算属性和侦听器,可以帮助开发人员处理复杂的逻辑和数据变化。
  11. 自定义指令:Vue.js 2.0支持自定义指令,可以扩展Vue.js的基本功能,并为应用程序添加新的行为。
  12. 生命周期钩子:Vue.js 2.0包括生命周期钩子,可以帮助开发人员管理组件的生命周期和行为。
  13. 单文件组件:Vue.js 2.0支持单文件组件,可以将组件的代码、模板和样式放在一个文件中,方便管理和维护。
  14. 服务器端渲染:Vue.js 2.0支持服务器端渲染(SSR),可以在服务器端生成HTML,提高网页的性能和SEO。
  15. 插槽:Vue.js 2.支持插槽,可以帮助开发人员更好地控制组件的结构和布局。

总的来说,Vue.js 2.0是一种功能强大、灵活和易于学习的前端框架,它广泛应用于Web应用程序中。Vue.js 2.0的功能和用法非常丰富,需要开发人员深入了解和掌握,才能更好地构建高质量的应用程序。

3.5 微信小程序

  1. 无需下载安装:用户无需下载安装小程序,只需在微信中搜索或扫描二维码即可使用,方便快捷。
  2. 体积小、加载快:小程序体积小,加载速度快,用户可以快速打开并使用。
  3. 无需卸载清理:小程序不会占用用户手机的存储空间,也不会在手机桌面上留下应用图标,用户不需要专门进行卸载和清理。
  4. 跨平台:小程序可以在 iOS 和 Android 等多个平台上运行,具有良好的跨平台兼容性。
  5. 拓展性强:小程序可以通过微信的社交关系链和支付能力等功能,实现更多的拓展,如社交分享、支付购物等。
  6. 用户留存率高:小程序的用户留存率相对较高&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值