请销假勤务管理系统小程序的设计与实现
2021-11-03刘泽军刘莹王娇
刘泽军 刘莹 王娇
(西藏大学信息科学技术学院计算机科学与技术 西藏自治区拉萨市 850000)
1 引言
随着我国高等教育事业蓬勃发展,各大高校的教学规模日渐扩大,在校生数量也节节攀升。庞大的在校生数量造成了目前高校人员的高度密集现象,也增加了高校学生管理的难度。正是因为高校人员的高度密集现象,在敏感时间节点(例如重要的宗教节日)、公共卫生突发事件等特殊时间段,[1][2]许多高校采用了请销假方式对学生进出学校进行科学管控。
请销假制度的实行有效地提升了高校学生管理的效率。但在实际应用过程中也暴露了很多问题。例如,目前的请销假方式还在使用和过去一样的以人工管理和纸质办公为主的模式,没有选择更加高效、安全、便捷的信息化方式,[3]请假时还要找相关老师进行层层审批,审批通过后才能去领取纸质版请假条,降低了请假的人性化体验和时效性。因此我们基于微信小程序设计开发了该请销假系统。
2 概要设计
设计开发初期,我们进行了一定规模的需求分析调研:我们发现目前绝大部分高校依然采用人工审核的请假制度,很容易造成资源浪费和请销假管理的低效以及假条造假、假条重复利用、盗取假条等一系列问题。此外,由于传统请假手续的繁琐:前往办公室或通过线上向班主任/辅导员请假——班主任/辅导员准假后到学院学生科领取假条——填写假条登记后结合学生证出门——凭借假条和学生证进入学校——前往学生科进行销假。以上程序往往面临:班主任/辅导员很容易因为有其他工作不在办公室或不能及时收看到消息而导致未能批假;由于请假无固定时间(容易在各个时间段出现需要请假的紧急情况),可能学生科工作人员不在工作时间内,无法领取假条;出门后由于纸质版假条较为轻薄微小,易出现丢失现象,导致学生返校时无法返校,需要老师前去领回学生;如果门卫没有收取假条,部分学生会重复利用;采用纸质版登记,无法高效进行学生信息的统计,不便于辅导员/教师掌握学生的信息。极大地降低了学生管理的效率和安全性。
因此结合上述现象和用户需求,我们最终确定了该系统主要的功能模块,该请销假系统功能模块图如图1 所示。系统角色主要有四个端口:学院端、班主任端、学生端、门卫端。学院端可以添加修改删除本学院的学生信息;还可以查询自己学院每个学生的请假记录。班主任端可以看到自己班级学生的请假申请,并作出请假回复;还可以随时查看自己班级学生的请假记录。学生可以在学生端提交自己的请假申请与请假理由;可以在学生端查看自己的请假申请是否通过,以及自己的请假历史记录。门卫端可以通过请假学生的学号看到该学生的请假申请是否通过,并决定是否可以进出校门。
图1:请销假勤务管理系统小程序功能设计概要图
3 请销假系统的实现
3.1 数据库的设计
本系统采用了MySQL 数据库,MySQL 功能强大、运行速度快、支持面向对象、安全性高、数据库存储容量大、成本低,并开放源码,因此,我们选择 MySQL 作为该请销假系统的数据库进行存储数据。系统数据库一共设计了3 张表,分别是:请假信息表、用户表、用户分类表。请假信息数据库如表1 所示。
表1:请假信息表
3.2 前端页面的设计
腾讯公司为微信小程序的开发者提供了微信开发者工具,不仅可以一键生成开发框架,还便于多个前端开发者共同合作,极大提高了我们的开发效率。前端设计我们使用了WXML+WXSS+JavaScirpt 以及view 组件等相关技术,微信小程序前端设计类似网页制作应用的技术HTML5+CSS3+JavaScirpt。
我们先通过APP.json 文件对小程序进行全局配置(包括配置页面路径、窗口表现、标签导航、网络超时以及debug 模式)。WXML 使我们获取权限更加流畅,这一点是优于HTML5 的。APP.wxss 文件为我们提供了渲染所有页面样式的效果,在每个页面不同的地方我们又分别重新定义了新的class 样式,使整个小程序看起来更加美观、舒适。在小程序中也继续采用了目前绝大多数浏览器都支持的JavaScript 脚本语言,此语言因为其方便深受开发者喜爱。view 组件是视图容器组件,在我们的开发中,采用纵向布局。[4]
4 请销假系统实测
因目前该请销假系统还未正式发行,所以在使用该使用该请销假系统时,首先要进行启动前工作,启动redis,打开数据库软件,连接数据库。打开IntelliJ IDEA ,运行AppRun 系统启动类,开启项目。启动微信小程序,输入用户名及密码,开始登录。
启动工作完成后,我们就可以开始使用。该系统共分为四个端口:学院端、班主任端、学生端、门卫端。在登录界面,我们输入自己的账号密码,就可以自动进入相应的界面,因为我们在用户表中增加的标记,系统会自动判断该用户是哪一个端口。
进入学院端口后,学院管理员可以看到自己学院学生的请假信息,点击学生管理对自己学院的学生进行添加,修改与删除;进入班主任端口后,班主任可以看到自己班级学生的请假信息与请假申请,点击审核对自己班级的学生进行请假审批;进入学生端口后,学生可以看到自己的请假信息,点击我要请假进行请假申请,并输入请假日期与请假理由,提交后等待班主任审批。进入门卫端口后,门卫可以看到学生请假通过的信息,并可以决定学生是否可以出校门。
图2:请销假系统班主任端界面示意图,左侧为登录界面,中间为添加学生界面,右侧为请假信息界面
5 总结与展望
我们基于 Spring Boot 2.1.0、Redis 技术、MySQL 数据库等技术,结合现实需求,设计并实现了这款前后端分离的请销假系统,它能够帮助高校在敏感时间节点(例如重要的宗教节日)、公共卫生突发事件等时候实现高效、实用、简单的请销假管理,相对于传统的请假方式,使用请销假系统可以大幅减少资源浪费,方便学生进行请销假,同时也方便管理辅导员和班主任进行审批以及科学管理,大幅提高高校管理请销假的效率。有效避免上述概要设计部分所提到的系列问题,具有较高的实用价值和现实意义。因设计开发时间较为仓促,该系统仍存在一些不足。今后,我们从以下几个方面进行进一步优化和改进。
(1)使用MD5 加密技术来登录,提高网站的安全性。
(2)结合疫情防控常态化现状,增加每日上报体温功能。[5]
(3)UI 和代码的进一步优化,提高用户体验感、代码的逻辑程度以及操作的流畅度。