APP下载

高校学生在校生活反馈系统的设计

2020-06-08赵嘉旭余尚坤孙磊

现代计算机 2020年12期
关键词:视图模块微信

赵嘉旭,余尚坤,孙磊

(1.天津科技大学电子信息与自动化学院,天津300457;2.天津科技大学人工智能学院,天津300457)

1 绪论

1.1 研究背景

随着我国高等教育事业步入发展快车道,高等院校学生规模也逐年增长。据教育部公布的《2018 年全国教育事业发展统计公报》显示,全国各类高等教育在学总规模达到3833 万人,高等教育毛入学率达48.1%。其中普通本专科在校生2831.03 万人,2018 年招生790.99 万人,比上年增加29.50 万人,增长率3.87%。研究生在校生273.13 万人,2018 年招生85.80万人。图1 为2018 年高等教育在学规模和毛入学率的数据情况。

由图1 近十年高等教育在学规模和毛入学率逐年增长的趋势来看,预计2020 年高等教育在学规模会突破4000 万,毛入学率突破50%。在如此庞大的学生基数下,以传统的意见箱、代表座谈会、信息员制度为代表的传统学校评价和反馈机制不仅反馈群体范围局限,且流程复杂、反馈周期长、缺乏有效深入了解等问题也日渐凸显。2019 年1 月出台的《教育部关于加强网络学习空间建设与应用的指导意见》明确指出,教育管理者(校方)应对网络学习空间先试先用,建立基于数据的学校评价机制、管理服务机制,实现过程化评估和精细化管理。未来,如何在高校现有基础条件下,为学生构建数字化、便捷化、可视化的智慧校园反馈系统,让学生能与学校“面对面”反馈情况,实时了解反馈处理进度;让学校直击问题本源,改善学生的学习生活环境,不断提升教育教学管理能力,从而推进教育教学方式变革和精准化施策,促进教育治理体系和治理能力现代化[1]成为目前迫待解决的问题。

1.2 研究的目的和意义

(1)促进学生反馈体系多样化

目前大部分高校反馈体系结构单一,缺少基于数据化的评价反馈手段。学生在校生活反馈系统作为智能大众化的网络反馈途径,将成为各高校评价反馈体系的新技术补充。在各高校原本的学校评价反馈系统的基础上,以增加网络反馈的形式进一步完善学校原有的评价反馈体系,从而增加学生反馈途径,方便反馈信息流转、促进学校督导管理。

(2)保证反馈问题的客观公正

客观公正是信息反馈的基本要求,也是信息传输过程中不失真的根本保证[2]。本反馈系统采用LBS 技术实现匿名反馈,打消学生实名反馈的多重顾虑,将所遇的问题真实、全面的反映给学校相关部门。这同样有利于学校准确研判问题并制定科学有效的解决方案,也避免了学校评价反馈机制“名存实亡”的问题。

(3)提升处理反馈问题的效率

缩短反馈周期是提升处理反馈问题的效率的行之有效的方法。用微信小程序收集学生问题既简化了学校收集反馈的流程,且在人力物力财力的利用上实现了优化。缩短反馈周期、提升处理反馈效率的同时也使整个反馈系统实现正反馈性。这样,学校评价和反馈机制发挥预期效用的同时也让决策者在学生层面对学校发展程度有整体的把控。

图1 2018年高等教育在学规模和毛入学率

2 系统相关技术

2.1 微信小程序

微信小程序(WeChat Mini Program)是指微信公众平台小程序,是一种无需下载安装,只需在微信中搜索或扫二维码“用完即走”的应用。这种与微信公众平台并行的新型应用因响应快、无需下载、不占内存的特点一经推出就受到大众好评。据《2019 年小程序行业年中增长研究报告》的预估,2019 年微信小程序日活跃数将达到3.5 亿。微信小程序的多入口获取和“用完即走”的极速体验不仅减少了开发成本,而且实现了对原生App 基本功能的覆盖,这对用户基数大的非刚需类应用是极大的福音。

MINA 是开发微信小程序的工具集合,其核心是一个数据、视图同步的数据绑定系统。MINA 框架通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全等基础功能,对上层提供一整套JavaScript API[3],以尽量简单、便捷的方式开发媲美原生APP 的服务。

其 中WXML(WeiXin Markup Language)、WXSS(WeiXin Style Sheet)以及基于JavaScript 的逻辑层是视图层特有的描述语言,同时提供逻辑层与视图层间的数据传输和事件机制。当页面数据需更新时,在逻辑层直接进行数据修改,对应的更新就会在视图层上显示。如此一来,这种数据与视图的同步机制让开发者聚焦于数据与逻辑上,实现高效简单的开发。整个MINA 框架大体可分为三部分:视图层(View)、逻辑层(App Service)和系统层(Native),MINA 框架图如图2所示。

图2 MINA框架图

(1)视图层

视图层作为提供一系列基础组件的技术层,主要任务是呈现相关信息给用户并得到用户数据后,将反馈后的信息呈现给用户。考虑到本系统的用户基本是通过扫描二维码进入,所以我们针对移动端进行了特殊的技术选型。首先,为了前端方便,采用了与微信原生视觉体验一致的WeUI,它给用户提供良好的使用体验的同时,也使用户使用感知更加统一。同时采用了jQuery 进行前端交互,其具有可连续操作写出的链式语法,上手简单、良好浏览器兼容性的CSS 选择器,以及完善的AJAX 和丰富的插件,这使得开发难度大大降低。

(2)逻辑层

逻辑层作为由JavaScript 实现的MINA 服务中心,以控制程序走向,完成一般数据的预处理和检测为主要任务。首先为了对Web 页面的逻辑流向有清晰的认识,我们对其走向进行控制。其次,为避免MINA 业务逻辑受到不必要的外部检测,该层对数据进行简单的预处理,控制层根据逻辑层的处理结果寻找适合用户的路径。各页面的js 脚本文件的主要任务是实现逻辑层对视图层的响应,并将响应结果返回视图层。为实现这些功能我们使用ThinkPHP 框架,它具有灵活的Modal View Controller 架构,使项目逻辑更加清晰;同时采用MVC 分布开发,同步协作更好地完成了该项目。

(3)系统层

此层主要采用MySQL 高性能数据库进行数据的存储。系统层使用了更为高效,高性能的Redis 服务,它可以进行KV 对的存储,这种方式使得数据处理队列更加简洁。对于大并发而言,大流量情景有更好的反应处理能力。为了更加方便用户反馈信息,我们特地将Web H5 封装成App,同时使用Android JS Native API,无缝调用Android 系统级别API,使软件性能得到大幅度的提升,无需扫码也可进行信息反馈。该层支持多种动态数据缓存类型,包括文件格式,APC、db、Memcache、Shmop 和Xcache。在此基础上我们定制了一系列缓存规则,确保能够更快地完成页面加载,更好地使用缓存以及优化用户体验。

系统层简要代码如图3。

图3 系统层简要代码

2.2 LBS技术

LBS(Location Based Services)是基于位置数据提供的服务。由移动终端通过无线网络(或卫星定位)获取用户所在的地理坐标信息,再集成其他信息从而向用户提供所需的与位置相关的服务。本系统采用LBS 技术实现用户位置所在的校区反馈系统登录,在确保该校学生身份的前提下实现匿名反馈问题,保证反馈的真实与准确。图4 是LBS 的系统架构图。

图4 LBS系统架构

在定位模块中,负责定位的API 主要是可以获取用户位置信息的wx.getLocation(obj)。本反馈系统中LBS 在页面加载时调默认调用obj,用户授权定位模块使用其所在地理位置后,可通过LBS 系统的推送服务功能进入用户位置所在学校的反馈系统;若调用失败则加载wx.getSetting。若用户未授权,则调用wx.openSetting 打开授权设置界面;若用户允许授权,则再次返回调用obj。具体流程图如图5。

图5 定位API获取用户位置信息流程图

在用户授权的同时,LBS 系统会通过基于网络的定位模块将用户位置信息存储在移动对象数据库(Moving Object Database,MOD),使用频次较高的用户二次登录时无需再使用LBS 确认校区位置,更快地进入反馈界面,提升了用户体验感。静止对象数据库(Static Object Database,SOD)存储地理信息系统(Geographic Information System,GIS)中的静态地理位置信息。

查询执行模块分为两部分,一部分是查询处理引擎,通过访问SOD 和MOD 处理用户终端的定位请求。另一部分是位置隐私保护,对用户的位置信息进行隐私保护。除非用户授权,否则不会向任何第三方机构提供用户位置信息。中间块模块是一个用API 定义的分布式软件管理框架,可以实现不同硬件和操作系统平台上的数据共享和应用互操作[4]。

据腾讯官方给出的数据,腾讯位置服务在日均1100 亿次的定位服务中,定位请求精度<22.5 米的服务占比90%,用户确认定位准确成功率达99.3%,服务保障率达99.99%。而本反馈系统的设计只需获取用户所在的校区级地理位置信息,从而进入该校的反馈系统。以青海师范大学南校区为例,校区面积达400000平方米,师生数量12000 余人,实践证明,腾讯位置服务的定位精度和服务保障足以覆盖所有在校用户。

LBS 系统在微信小程序的运行效果图依次如图6。

图6 LBS系统在微信小程序的运行效果图

3 系统设计与实现

3.1 系统总体架构

系统的总体设计是对系统进行一个自上而下或自下而上的一个总体概括与设计。将系统进行总体的架构后,对系统的每一个层级进行细化[5],实现对每一功能模块的详细设计。如图6 所示,本系统以微信小程序发送请求(WX.request)给高校学生在校生活反馈服务器为总体架构,反馈服务器以Web API 为网络服务接口;同时插入redis 中间件进行用户信息授权鉴别,并通过nginx 和php-fpm 服务器进行测试,最后用MySQL 进行数据处理。

3.2 系统功能结构设计

系统的功能结构在总体架构的大框架下具体设计,从本系统的目标和实际功能需要出发,设计该系统的各功能模块。系统功能结构设计将本系统涉及到的四个子系统模块化,对系统操作流程的前后端配合、人机配合进行清晰演示。

图7 系统总体架构图

本系统主要分为四大功能模块:学生反馈模块、后台处理模块、职能部门模块、信息回执模块。具体的功能框架图如图8 所示。

图8 高校学生在校生活反馈系统功能架构图

3.3 在校生活反馈系统组成

(1)学生反馈模块

学生反馈模块整体基于微信小程序开发,用户进入小程序授权LBS 系统获取其地理位置信息后,会自动检索登入用户所在学校的学生反馈模块。学生反馈模块共分为四个界面:主页界面、排行界面、分类界面和反馈界面。学生反馈模块逻辑图如图9。

图9 学生反馈模块逻辑图

主页界面可看到该校实时的问题反馈情况和用户反馈问题的处理进程。排行和分类界面分别从问题热度和问题类型两个维度供用户查阅该校学生反馈的问题,用户可为同感问题进行匿名点赞和评论;反馈问题热度是基于用户对该问题的点赞和评论数量从高到低依次排列。

其中在反馈界面的问题编辑栏中采用DFA(Deterministic Finite Automaton)算法对敏感词进行检测和屏蔽设定,防止恶意评论。其基本思想是基于状态转换来获取敏感词,将词组拆分成单个字符组成的树形结构,对含有该字符的子树在敏感词库中逐一检索,每个词组依次迭代的检测方法。DFA 作为一种高效内容匹配模型,处理字符匹配操作的成功概率高,可应对反馈界面日常用语的敏感词检测。DFA 根据在敏感信息决策树中包含的敏感词关键字的相关信息,缩小查找范围、提高查找准确率[6]。

学生反馈模块试运行的效果图如图10。

图10 学生反馈模块部分界面示意图

(2)后台处理模块

后台处理模块管理人员主要由各学院选派的优秀学生组织成员构成,各学院管理人员轮值组织负责两周的后台管理任务。管理人员定期通过后台录入的账号密码登录,对该段时间的反馈问题汇总处理,依据排行榜的问题热议度和问题的实际情况标注问题的紧急类型;分为一般、紧急和非常紧急三类。最后将问题分类以E-mail 的方式将问题发送给相应的学校职能部门,以便于相关职能部门合理安排解决流程。在收到学校相关部门的回复后,会将处理进程会通过信息回执模块更新,以便用户及时了解问题处理的进度。后台处理模块逻辑图如图11。

图11 后台处理模块逻辑图

(3)职能部门模块

后台处理模块中各类反馈问题对应职能部门模块的一个或若干个部门。各部门收到反馈问题后展开调研并开会商讨解决反馈问题,具体解决方法待请相关领导批准后将问题的处理进程及处理办法在信息回执模块及时更新。职能部门模块逻辑图如图12。

图12 职能部门模块逻辑图

(4)信息回执模块

信息回执模块在收到问题解决进程通知及处理办法的相关邮件后,管理人员会实时将学校对该反馈问题的处理意见在该问题下方以评论的方式回复该用户,并且将处理进程标注在该反馈问题之后,以便接受所有用户的监督。信息回执模块逻辑图如图13。

图13 信息回执模块逻辑图

4 结语

本设计以各高校建设基于数据化的学校反馈评价系统为契机,利用具有社交软件领先地位的微信工具为载体,同时借助LBS 技术,针对在校学生提供了一种基于微信小程序的高校生活评价反馈系统。该系统便于高校收集并解决学生在校生活中的各类问题,具有一定的实际意义。文中各模块的流程图和实现代码有助于读者对于本系统的设计思想与方法的理解。

猜你喜欢

视图模块微信
“选修3—3”模块的复习备考
Module 4 Music Born in America
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
《投影与视图》单元测试题
微信
Django 框架中通用类视图的用法
必修模块相关知识过关训练
微信
微信