“GL互动小课堂”微信小程序的设计与实现
2020-07-09陈丽虹王小敏刘家宝
陈丽虹 王小敏 刘家宝
摘 要:开发一款用于高校课堂签到与课堂小测试的微信课堂小程序,可方便高校教师实现在线课堂考勤、及时检测学生的课堂学习成果,有利于高校教师开展后续的教学工作。文章在开发小程序的过程中采用面向对象分析方法研究分析系统,并结合UML工具模拟分析系统中的对象的活动过程。应用微信开发者工具、微信云服务器以及相关的API接口实现“GL互动小课堂”微信小程序的开发。
关键词:小程序开发;面向对象分析方法;UML工具
中图分类号:TP311.56 文献标识码:A 文章编号:2096-4706(2020)21-0076-04
Design and Implementation of WeChat Applet “GL Interactive Classroom”
CHEN Lihong,WANG Xiaomin,LIU Jiabao
(School of Information Technology,Guangdong Polytechnic College,Zhaoqing 526100,China)
Abstract:The development of a WeChat classroom applet for college classroom check-in and classroom tests can facilitate college teachers to achieve online classroom attendance,detect studentsclassroom learning achievements in time,and help college teachers to carry out subsequent teaching work. In the process of developing the applet,the object-oriented analysis method is used to study the analysis system,and combines UML tools to simulate and analyze the activity process of objects in the system. The application of WeChat developer tools,WeChat cloud server and related API interface to realize the development of “GL interactive classroom” WeChat applet.
Keywords:applet development;object-oriented analysis method;UML tool
0 引 言
日常使用手機APP需要用户先到应用商城下载对应的安装包,再经过手机设备解压后进行安装,安装好应用程序后需进行注册登录才能正常使用。随着大众对移动电子设备与应用软件依赖度越来越高,软件的更新迭代速度不断加快,传统APP开发周期较长且审核过慢等特点逐渐凸显,开发者难以在短时间内开发出一款满足用户的需求的APP。相对于传统的APP,微信小程序无需用户下载解压安装,只需用户搜索并点击小程序即可使用。微信平台作为小程序的编译器,只要点击小程序即可加载解析,与传统的软件开发相比,小程序的开发周期大大缩短,在当今应用更新迭代的速度不断加快的情况下,对于小型系统而言,小程序更能适应当下移动设备软件应用开发的需求。
1 需求调查与分析
现阶段高等教育还是通过以学校为载体,课堂为主要场所的面对面授课形式开展教学活动,课堂教育在学生学习知识的过程中起到重要作用,尤其专业理论授课过程,授课方式呆板,授课形式以知识的灌输为主,互动单一,学生反应差。学生在这种教学模式下,习惯了单向接受教师灌输的知识,难以保证知识的理解、掌握程度。在这种教学模式下,教师讲自己的,学生听自己的,容易出现学生注意力不集中的问题,导致知识吸收效果大打折扣。教师在保证教学进度的前提下,忽略了学生掌握知识的程度,由上述问题可以看出目前课堂教学现状的确存在教师与学生有效互动少、教学效果差等现象。因此提高教学有效互动,开发一款既能对课堂学生纪律的管理又能提供师生互动的教学平台就十分重要。为解决以上问题,作者开发了一款小程序,并且负责后期的测试阶段,目前,“GL互动小课堂”微信小程序的功能已实现,并成功将其应用到本校实际的课堂中。
2 软件分析
2.1 小程序功能描述
使用“GL互动小课堂”小程序的教师用户可以根据上课情况随时发起课堂签到、更新授课信息,在线编辑习题、发布课堂习题测试。学生用户可实现在线签到、习题作答、在线查询习题测试结果。云端服务器要求能够及时接收处理用户的请求、及时反馈用户的请求结果、保障用户消息推进同步,如教师发起的课堂签到与习题发布能得到及时有效处理并同步推送,学生用户提交的签到信息与习题作答情况能够得到及时反馈。
2.2 开发技术要求
研究方法:采用面向对象分析方法研究开发“GL互动小课堂”微信小程序。分析过程应用UML工具来具体描述该小程序的功能实现过程。
开发技术:应用WXML、WXSS搭建布局小程序前台界面,应用JavaScript搭建后台操作逻辑并实现数据传递,云端数据处理采用微信云服务器来记录小程序的用户活动数据。
开发环境及工具:微信开发者工具及相关的SDK工具包。
2.3 小程序使用场景分析
该平台使用对象:高校教师、高校学生。
教师端应实现的操作:发布课堂签到、授课班级分类、讲课课程分类、习题编辑发布、查收课堂签到记录与习题作答数据。
学生端应实现的操作:在线签到、在线答题、查看习题作答记录。
云端服务器信息处理:同步保存教师活动记录、学生活动记录,及时处理并同步更新数据。
2.4 采用OOA方法与UML工具研究小程序功能
云服务器能够及时响应用户发出的活动请求并反馈消息推送进度,可实现同步更新平台数据、及时推送活动通知、动态记录活动数据,保证信息同步。对于小程序中主要的活动过程可借助UML工具来描述活动的实现过程。
“课堂签到”活动:由教师启动“发起课堂签到”操作触发“课堂签到”活动。学生点击签到,通知完成“课堂签到”活动。“课堂签到”活动事件实现过程如图1时序图所示。
“习题检测”活动:由教师发布“课堂小测试”操作后,“习题检测”活动事件生效。“课堂小测试”发布后,云服务器推送教师的活动通知到学生端,学生同步接收到该消息后可点击作答,作答完成提交后即可查看答案。整个活动事件的流程如图2所示。
3 软件设计
3.1 微信小程序操作界面设计
教师端主页功能组件:“首页”“我的课堂”“我的习题”。其中,签到活动由教师发起,先通过点击“点击进入课堂”按键即可在弹出的页面表单里设置授课课程与授课班级,设置好相关数据后点击“确定发起课堂签到”按键即可发起签到活动。
学生端主页功能组件:“我的课堂”“我的个人中心”“我的习题记录”。学生可在操作界面查收消息通知与查看习题作答情况。
3.2 后台数据处理
首次使用“GL互动小课堂”小程序的微信用户,其个人的相关信息将被云服务器所记录。记录的相关数据项包括:学生微信号、学生班级名称、学生学号、学生姓名、首次信息登记入库时间。
教师发起“课堂签到”活动,云服务器响应活动并动态生成的课堂签到文件,具体记录数据项包括:教师微信号、教师授课班级、教师发起签到活动时间、教师发起签到地理位置、学生微信号、学生签到时间、学生签到地理位置。
学生点击“课堂小测试”作答习题,答题并提交给云服务器后,云服务器将检测学生的测试得分并记录此次的得分数据,该过程需记录的数据项包括:小测试ID号、学生微信号、题号标识、题号得分标识。
3.3 编码实现小程序主要活动
“课堂签到”活动:教师在手机微信端选择“授课课程”“授课班级”后点击“发起课堂签到”按钮,云服务器通过教师发出的活动请求之后将生成“《XX班级XX课程课堂签到表》”记录文件。其中,教师在微信界面点击进入“GL互动小课堂”小程序后,云服务器响应教师发出的请求并通过wx.login()操作自动登记教师最近一段时间内的登录信息,同时将是否成功“发起课程签到”活动通过wx.showsToast()返回消息提示。教师点击“发起课堂签到”活动的请求会通过post请求告知云服务器,并向活动终点(学生微信端)推送响应“课堂签到”通知。当学生接到该消息通知并点击完成“课堂签到”任务后,学生的已签到信息将会被推送到云服务器并与教师的信息进行对比,若学生签到时的定位(地理位置)与教师发起活动时的定位距离差在有效区间范围内,则此次学生的签到信息有效。即经过计算后两者距离差需满足以下条件:
{|wx.getLocation(Teacher)-wx.getLocation(Student)|} ≤M,M∈[0,100]
在本小程序的签到页面glcheckin.wxml中设置签到按钮button,并设置button中的一个属性bindgetuserinfo= "get UserInfo",则当学生点击“上课签到”按钮时,则前台显示返回的学生信息与getUserInfo()获取到的学生信息一致。另外,在签到界面也可通过页面加载过程获取学生信息。
该小程序的前台界面布局及后台逻辑编写完成后,经过测试后可实现课堂签到功能。授课教师在小程序中点击按钮发起“课堂签到”活动后,“GL互动小课堂”小程序显示签到相关页面如图3~图7所示。
“习题检测”活动:教师点击小程序界面的发起“课堂小测试”活动,发送前选择课程与班级,选择习题后点击发送,云服务器响应教师的发送习题检测请求,并将习题作答消息推送到学生端。
学生端收到教师发送的“课堂小测试”习题检测通知后,在活动有效期内点击习题作答,做完习题后点击“提交”按钮。学生向云服务器发出“提交”请求后原表单数据在真正提交给云服务器处理前会先检测此次所提交的表单数据是否合理(若此时学生有题目未作答即检测到arrary[i].state==0则将弹出“还有题目未作答”提示),数据成功提交给云服务器后,云服务器将自动匹配答案并计算此次“课堂小测试”得分,最后将此次的测试结果发回到学生端并同步记录到教师任教课程的相关成绩登记表中。其中,“课堂小测試”的测试得分的计算原则为:每一道题均设置正确选项标志,默认初始值为0(代表该题不得分),当学生题目作答正确时该题标志值为1。
4 教学应用情况
作者以半学期为试验时间分别对“数据库原理与SQL Server”“数据结构与算法”和“软件工程与UML”三门课程进行对比试验,选取两个班级采用传统的教学模式,另外两个班级采用“GL互动小课堂”的教学模式作为测试样本,最终通过期中测试以及问卷调查得出四个班级的课堂教学效果。从测试中发现采用“GL互动小课堂”的教学模式的班级平均成绩明显高于沿用传统教学模式的班级。从问卷调查结果来看,对比原先生硬的点名方式学生更喜欢这种新型的签到方式,且学生也更喜欢线上型的“课堂小测试”而非传统的口头提问。教师也从实际教授课程中发现采用小程序进行课堂互动,学生积极性以及课堂氛围都有所提高。由此可得,采用“GL互动小课堂”能有效地调动学生上课积极性,同时也能取得良好的教学效果。
5 结 论
本次所开发“GL互动小课堂”小程序,主要包括签到功能、题目管理功能和在线答题功能。签到模块帮助教师解决了传统课堂签到效率不高的问题。题目管理模块帮助教师将教学设计中的互动小题保存到云服务器中,方便在多次课堂中的调用。在线答题模块,在教师发布题目后,学生可在小程序进行回答,系统将答案收集后,会自动生成学生详细的答题情况;教师可以通过查看学生答题情况了解学生对于知识的掌握,同时学生也可通过答题情况了解自己听课的效率,由此激发学生在课堂上的学习积极性。
“GL互动小课堂”小程序主要的功能模块已经开发完毕,但是在互动方面仍不够完善,有待添加其余互动型的功能模块,后续笔者会进一步完善此系统的功能。希望在未来的教学中,能有更多教师使用此系统。
参考文献:
[1] 王玉洋.基于微信小程序的移动学习平台环境构建与系统设计开发 [D].南京:南京大学,2018.
[2] 吕康鑫,王倩慧,冀阳娜,等.基于WeChat的“小班长”课堂辅助应用研究 [J].科技经济导刊,2018,26(21):158-159.
[3] 闫萍,吴雄英,杨斯涵.微信“e教学”的应用设计 [J].当代教研论丛,2017(4):88.
作者简介:陈丽虹(1996—),女,汉族,广东汕头人,助教,学士学位,研究方向:计算机科学与技术。