王 朋
(阿坝师范学院,四川 汶川 623002)
随着教育的深入改革,越来越多的学生进入大学课堂。课堂考勤是保证大学课堂纪律的必要手段。不过现在很多学校课堂考勤的方式采用的都是手工点名[1]的方式,这种方式不仅效率低下,容易出错,而且无形中还增加了任课老师的负担。随着人们对微信等社交软件的熟练使用,越来越多的高校将自己学校的应用迁移到了微信平台上,这样省去了单独学习软件所花的时间代价。本研究基于这种情况将考勤系统嵌入微信平台中,主要是为了解决任课老师点名花费时间长的问题,让任课老师把主要精力放置在课堂教学中。
微信小程序的使用成本极其低廉,现在所有玩微信的用户都会玩微信小程序,微信也提供了多种微信小程序的入口方式,例如扫描进入、分享进入等各种方式,这样可以把考勤小程序分享给每个学生成员。微信小程序在开发方面也提供了各种方便,例如使用三方插件、组件和界面。通过这些都可以设计出美观、功能强大的小程序,而且也大大缩短了开发的周期。
系统的好坏、切不切合实际,主要在于系统的需求分析。本系统通过对学生和老师的走访和调研[2],总结出了以下几条系统的需求:
(1)可以随时查看自己的考勤记录。(2)可以方便地进行签到,软件里面的操作层次不能太多。(3)可以在系统中进行请假销假功能。
(1)能够随时设置考勤的时间和地点。(2)能够对考勤记录进行相应的修改。(3)能够快速对考勤进行统计和展示。(4)能够对最终的考勤记录进行打印和下载。(5)查看学生的考勤信息方便。
1.3系统管理员要求
(1)灵活设置系统的角色和权限[3]。(2)根据不同的场景设置不同的权限;灵活设置系统的考勤方式。(3)灵活设置系统中的人员信息,能够快速了解人员的变动情况。(4)灵活设置系统中的部门信息等。
经过系统的需求分析过程,确定了系统的功能结构。系统分为前台和后台,前台主要是微信小程序进行实现。前台又分为学生模块和老师模块,不同的用户登录到系统中显示不同的功能。后台功能采用当今比较流行的架构系统安全监控(System Safety Monitor,SSM)进行实现,主要针对系统的管理员用户,进行考勤的设置和结果的展示。
学生模块功能比较简单,学生通过小程序登录到系统中,就有一个签到功能和签到查看的功能,当学生进入教室上课后,老师通过设置开始签到后,学生就可以通过小程序进入系统,然后点击“签到”功能按钮进行完成签到功能。学生在课后随时都可以查看以前上课的签到记录情况,以及自己缺课统计的情况。
请假模块:学生可以在小程序中使用请假功能,在请假期间,请假学生上课不会计入缺席。
教师模块的功能主要分为以下几个功能:
(1)签到时间设置。教师可以灵活设置考勤时间。教师登录小程序系统中,通过单击“考勤设置”按钮中的“开始考勤”按钮,开始考勤就会变成结束考勤字样,考勤开始,会有一个时间计数器进行计数。单击“结束考勤”按钮,考勤结束,界面上会显示这次考勤历经多长时间,共有多少人签到等信息。要想查看签到的详细信息,点击“签到详情”按钮进行详细信息的查看。
(2)签到记录的查看和修改。教师可以对签到的详细信息进行查看,如果发现有重复签到的情况可以删除。教师可以根据设备的ID查看考勤记录,如果发现有两条以上的记录在同一设备进行签到,视为未签到,防止学生代签。
(3)签到结果展示。学生的签到率是通过图表的形式展示的。教师登录到系统可以查看每门课程学生到课率的统计情况。签到结果中不会把请假学生的信息统计进去。
管理员模块的功能比较复杂,也是系统中功能最多的一个模块。每个学院都会有一个管理员对本学院的信息进行管理和维护。管理员模块的功能如下:
(1)角色权限。管理员可以通过此模块对系统中的角色和权限进行设置,不同的用户可以设置不同的功能。也可以通过此模块设置前台小程序的功能模块的权限。
(2)用户信息。超级管理员可以对全校的用户信息进行维护,学院的管理员只能对本学院的学生和老师信息进行维护。
(3)课程信息。超级管理员可以对全校的课程信息进行管理和维护,学院的管理员只能对本学院所开设课程的课程信息进行维护,方便任课教师对学生进行考勤。
(4)结果展示。此模块通过图表展示学生课程签到率的情况,也可以展示每个学院总的签到率的情况。可以对统计的结果进行打印和下载。每个学院的管理员只能操作本学院的人员信息和统计情况。
(5)请假管理。可以对请假人员进行管理,可以查看请假人员的具体信息、请假事由、请假时间等信息。上课点名签到不会把请假的同学纳入缺席情况处理。
要开发小程序,必须要先到小程序的官网上注册一个账号,可以根据官网的提示一步一步进行注册。注册号账号后,还要进行开发者的绑定,登录微信公众平台小程序,进入用户身份-开发者,新增绑定开发者。个人主体小程序最多可绑定5个开发者,10个体验者。未认证的组织类型小程序最多可绑定10个开发者,20个体验者。已认证的小程序最多可绑定20个开发者,40个体验者。进入“设置-开发设置”,获取AppID信息。以上做完之后就可以进行小程序的开发,开发完成后就可以提交进行审核,审核通过之后,小程序才会发布到线上提供服务功能。
组件化开发模式是现在程序开发的主流模式,微信小程序同样支持组件化的开发模式。我们可以服用各种各样的功能模块,然后修改成各样的自己风格的界面组件,可以大大提高开发效率,缩短开发周期。同时小程序也借鉴了JS中的插件功能,开发者可以引用小程序的各种功能插件,将插件嵌入到自己的程序中去,提高程序功能的多样性。开发者也可以自定义各种插件,插件开发好之后,只有上传到云平台,通过之后才能够被他人调用和使用,微信云平台也会托管所有的代码,无论任何插件的使用方都不能查看插件的代码,只能以调用的方式来使用,保证了开发者的版权。
本系统后台数据库使用的是MySQL数据库,MySQL是一个轻巧的关系型数据库管理系统,我们可以自由使用它。它的功能强大、使用方便,MySQL体积较小,运行速度很快,使用成本也比较低,受到了很多用户的青睐。现在越来越多的系统都在使用MySQL数据库。
为了公平公正,对上课期间请假被允许了的同学,在签到时不计入缺席处理。系统会自动过滤掉考勤期间请假的同学。请假模块是考勤模块的辅助模块,是对考勤管理的一种补充手段。请假模块的核心代码如下:
考勤模块是本系统的核心模块,学生只有在任课教师开启考勤功能之后,才能进行课堂的考勤功能,任课教师可以根据考勤情况随时终止课堂的考勤。可以通过多种手段避免学生考勤过程中的作弊行为。考勤模块的核心代码如下:
temp[e.currentTarget.dataset.index].state=‘考勤机’
card.push(e.currentTarget.dataset.addr)
由于此系统的开发采用了模块式开发,其他模块与此模块相同,在此就不再一一赘述。
本系统主要实现了学生的签到、请假等功能。此系统的应用解决了现实教学中手工点名效率低下、容易出错的问题。大大提高了考勤的准确性,但是本系统也存在着不足的部分,如何进一步防止学生作弊是本系统以后需要重点优化的地方,还需要进一步的改善。