当前位置:文档之家› 基于微信小程序的课堂考勤管理系统

基于微信小程序的课堂考勤管理系统

基于微信小程序的课堂考勤管理系统随着互联网时代的发展与进步,课堂不再拘泥于现实,课堂管理也可以通过互联网来进行。

通过对市场行情的调查,对于独立存在的手机APP来说,单单用来管理课堂未免成本过高,而且也过于繁琐。

针对这一现象,现下最为流行的微信小程序,正可以弥补APP的缺陷。

本篇文章以微信小程序为基础,设计和研发了一个基于微信端的课堂考勤管理系统,包含一个用Java设计的管理员服务端web页面并使用MySQL数据库来储存后台数据。

该系统的功能主要是围绕管理员、教师、学生三类用户设计,其主要功能包括:考勤信息的统计管理功能;课程创立,课程相关作业的布置与考勤功能;课程的选报,请假签到与提交作业功能。

随着社会信息化的进程,高校校园信息化也在逐步的完善中,为了有效的利用互联网进行高效的信息管理,类似于教务管理系统、招生就业系统、校园信息网站等等在高校如雨后春竹般涌现出来,给学生、教师都带来了不少生活与学习上的便利。

为了促进校园信息化与课堂考勤相结合,微信小程序端的课堂考勤管理系统由此诞生。

微信小程序,简称小程序,英文名Mini Program,是一种立即应用且不用安装下载即刻使用的应用程序[2],它实现了用户对手机应用“触手可及(Available at your fingertips)”的愿望,用户只需要通过微信扫一扫功能或者在微信提供的小程序端口搜索一下,即可打开所需要的应用,来实现小程序使用。

在这个信息化迅速发展的时代,给高校学生授课仍然使用以教师上课点名为主的考勤措施,学生交作业需要通过手写作业本后上课提交给老师,学生请假需要递交申请给辅导员批准,这种模式在高校中有着不小的弊端:一、学生请假对任课老师不透明,请假都通过辅导员要不是任课老师。

二、学生对自己的每门课的考勤情况不够了解,学校也不能把握每个学生的考勤情况。

三、课堂点名浪费时间,特别是人多的大课,点名一次要花5到10分钟。

因此,在当代大学生每人都有自己微信的现状之下,微信小程序端的课堂考勤管理系统完美解决了上述弊端。

小程序诞生于腾讯的战略发展背景,同时扮演腾讯链接,工具和开发生态平台这三个角色,渗透进腾讯的民生政务,生活消费,生产服务,生命健康,生态环保等多个领域。

小程序的优点正如它的名字一样,就是“小”,即用即来,关闭即走,不会占用用户过多的内容[3],无需下载,极大程度地降低了用户的使用成本,实现了用户与用户,用户与企业,用户与物之间高效快速的链接。

利用小程序处理教师端与学生端的交互关系,利用服务端web页面来管理考勤信息数据,两者相结合完成课堂考勤管理系统。

本系统开发使用微信开发者工具,在微信平台上,开发了一个基于B/S模式下的微信课堂考勤管理系统。

一、实现用户注册与登录功能二、能够完成考勤签到的基本操作三、实现考勤信息的数据处理,增删减查。

四、系统操作简单,界面简洁美观。

五、具备良好的安全性能与数据准确性。

本文详细阐述了系统的开发流程如下:考勤系统的需求分析与学生现实考勤的方方面面有关,其中包括学生与教师的用户注册与登录,教师课程的发起与学生课程的选择,教师签到发起与学生签到的接收与实现,还有后台信息的统计与显示问题。

系统设计主要根据需求分析得出的结论并结合研究参考文献获取到的相关资料,对系统进行详细的设计,例如前端页面的设计、具体功能的设计等。

在完成对系统的详细设计后,便可开始着手对系统的开发。

当然在开发之前我们还需要进一步整合开发过程中使用到的技术,例如基于微信小程序开发工具的WXML、WXSS和WXS,微信为小程序提供的相应接口,Java语言和MVC框架等。

为了确保系统的可用性,系统测试必不可少。

在不同的手机系统下,不同的使用条件下测试系统,通过仿真测试来改良系统,才能得到一个稳定可用的系统。

2.1 微信端开发介绍2.1.1 微信开发者工具微信开发者工具的设计理念是让用户能够用最简易的方式开发出和普通App使用感无差的应用。

为了满足这一需求,小程序为开发者提供了一套独树一帜的可视化图层描述语言——WXML和WXSS。

当然一个应用只有静态的页面仅供用户查看是不足够的,最重要的还是和用户之间的交互,例如对用户的点击做出响应,获取用户当前的状态、地理位置、提交用户的请求等等。

在小程序中,对这一需求的满足和普通应用的开发类似,同样通过编写 JS 脚本来对用户的操作进行处理。

同时小程序还提供了一套独立的脚本语言——WXS,它所提供的微信小程序独有的可视化图层与逻辑控制层中数据传输与事件触发机制,可以便于开发者实时感受到与用户一致的体验,方便开发者把主要的精力投入到逻辑控制和数据传输上。

在微信开发者工具中,提供的最关键的一点就是一个反应速度极快,响应极其迅速的数据绑定系统。

此系统分为逻辑层与控制层,可以使数据与视图之间类似MVVM框架一般,保持同步作用,即实现了数据的双向绑定,用户在修改数据时,反馈到逻辑层的修改也会同时在视图层中相应做出反馈。

类似于JAVA语言,微信在开发者工具中同样也提供了很多API组件,给予了开发者方便快捷的查询,赋予了开发者调用能力。

通过简单地调用这些方法,开发者能够完成一些复杂而又繁琐的功能,2.1.2 视图与逻辑层相比较逻辑层而言,视图层可能更能为普通用户理解,它即是用户在使用过程中所接触到的页面。

微信小程序的视图层由WXML(用来描述页面的结构的)语言和WXSS(用于页面的样式的语言)来编写。

它将逻辑层传输过来的数据通过视图反映给用户,同时将视图层发生的来自用户交互产生的事件发送给逻辑层。

除此之外,微信小程序中的WXS是它自带的脚本语言,它可以和WXML一起,构建和完善页面结构。

而组件则是构成视图成的基本元素。

将开发组件化也是当前前端开发技术中越来越流行的一种方法。

逻辑层是小程序开发中尤为重要的一环,它实现了应用和用户之间的交互动作。

小程序逻辑层的编写语言类似普通web应用和移动应用所使用的JavaScript。

开发者通常在逻辑层来对数据进行处理和打包,然后传输给视图层以此来展现用户所需要获得的数据,同时接收来自视图层中的用户的反馈,并进行处理,从而形成一种循环。

除此之外,微信小程序在JavaScript的基础上新增了一些方法以便利开发。

同时需要注意的是由于运行环境的不同,小程序框架的逻辑层并不是在普通的web浏览器中运行,因此JavaScript中一些与web相关的方法在微信小程序中是无法调用的。

2.1.3小程序自定义组件和插件由于组件化编程在开发中越来越流行,微信小程序也开始支持简介的组件化编程。

开发者能够将页面内可复用的功能模块打包成各种各样的自定义组件,以此来方便不同页面中对这些模块的重复使用。

当然,用户自定义的组件在使用时与基础组件的使用方法大同小类。

一个自定义组建的构成和普通的页面结构相同,但必须在json文件中将component字段声明为true,只有这样系统才能将改页面识别为用户自定义组件。

为了进一步便利开发者,小程序借鉴了JavaScript中的插件功能,给开发者提供了插件的开发和使用功能。

开发者可以自行封装定义插件,同时嵌入到小程序中使用。

插件只有被开发者上传、发布后方可被他人调用。

同时,微信平台会托管所有插件的代码,当然,无论是哪个小程序都不能查看到插件内部的代码,仅仅只能供第三方小程序作为展示和使用。

这一点充分保障了插件开发者的版权问题。

MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。

由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力[4]。

MySQL所用语言是用于访问数据库的最常用标准化语言。

MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

2.3 MVC开发模式介绍MVC(Model View Controller)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。

使用MVC应用程序被分成三个核心部件:模型、视图、控制器。

它们各自处理自己的任务。

视图是用户看到并与之交互的界面。

如何处理应用程序的界面变得越来越有挑战性。

MVC一个大的好处是它能为你的应用程序处理很多不同的视图。

JSP页面处于表现层,也就是视力(View即V)的角色。

模型表示企业数据和业务规则。

在MVC的三个部件中,模型拥有最多的处理任务。

由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

JavaBean则负责数据的处理,也就是模型(Model即M)的角色。

控制器接受用户的输入并调用模型和视图去完成用户的需求。

所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。

它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。

Servlet用来处理请求的事务,充当控制器(Controller即C)的角色,Servlet负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP 页面发送给客户。

初始的请求由Servlet来处理,Servlet调用商业逻辑和数据处理代码,并创建Bean来表示相应的结果(模型)。

然后Servlet确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面(JSP页面即为视图),由Servlet确定哪个业务逻辑适用,应该用哪个JSP页面相应结果(Servlet就是控制器)。

开发一个微信小程序并不如想象中那么简单,它涉及到的技术点十分广泛,有很多知识点需要自学,开发过程是一个学习并进步的过程,运用最合适的语言技术来开发也同样关键。

第三章需求分析与可行性研究微信小程序的使用成本极低,几乎所有移动端的微信用户都可以使用小程序。

微信也给用户提供了诸多的获取微信小程序入口的渠道,如扫码,朋友圈分享等等,使得考勤小程序能够更方便的分享给每一个学生。

其次微信为开发者在编程方面提供了诸多便利,自定义组件与插件等等,这些便利让我在开发过程大大降低系统复杂程度,缩减代码量,更为简洁的设计界面。

最后微信小程序端的考勤系统相比于那些网页上的考勤签到系统,具备了方便使用、即用即走、操作简易等特点,更让学生能够接受。

3.2 功能性需求分析将考勤系统简单的分为三个对象:管理员、教师与学生。

三种不同角色的所具有的功能如下:管理员端:课程管理、签到查看、通知管理、请假管理、信息反馈管理、用户管理。

学生端:信息管理、选择课程、作业提交、申请请假、签到进行、成员查看。

相关主题