软实践教学全过程跟踪系统和分析方法

2019-05-24 00:46铮,可,
实验室研究与探索 2019年4期
关键词:时间段成果软件

季 铮, 席 可, 王 玥

(武汉大学 遥感信息工程学院,武汉 430070)

0 引 言

软件实践教学,是培养实用型软件工程创新人才的关键一环,包含全面设计软件教学的各个方面,构建可控的教学质量保障体系等内容。在当前信息化测绘学科的教学过程中,软件实践教学必不可少[1],为学生提供完善的软件操作训练,加深对理论学习的理解,也为将来的专业应用做准备。测绘遥感学科的软件实践教学,通过大量上机练习和课后思考,培养学生熟练使用行业软件以及编程实现所需功能模块的复合能力[2-3],如遥感信息工程学院的摄影测量原理综合实习、数字图像处理实习等课程,通过大量生动的实例讲解和细致的算法剖析,在软件实践教学中充分提高了学生的创新实践能力[4]。

然而,就目前测绘遥感学科的教学情况而言,仍存在一些不足之处。一方面,集中实习持续几周时间,教师在实习过程中由于条件制约,除了前期指导,后期总结,中间环节主要是学生独立操作, 教师与学生之间的互动不够充分,无法及时掌握每个学生的实际实习情况,只能根据学生最后提交的实习成果来进行判断,这种评估丢失了中间过程的必要监督,导致不能全面反映学生的实习效果。另一方面,教师无法掌握学生每天的实习情况,忽视了学生个体之间的差异,没有办法根据实习情况动态调整教学内容和安排。

目前,国内测绘教学实习的主流软件如ERDAS公司开发的ERDAS IMAGINE 和ESRI公司开发的ENVI等专业软件以及武汉大学开发的VirtuoZo、超图公司开发的SuperMap系列软件,实习过程中会有大量与软件人机交互的操作。国内目前专门针对教学实习过程进行人机交互数据采集和分析的应用研究较少,本文通过编写后台软件来记录所有学生签到情况,并跟踪实习过程的人机交互全过程,在遥感信息工程学院实习信息管理平台的基础上,对跟踪的数据进行可视化显示及智能分析,并对实习成果进行辅助评估。

1 基于交互记录的实习过程跟踪

一个典型的测绘测图实习,基本过程包括学生签到、教师讲解、任务分发、实习操作、作业提交以及成果评估等,其中实习过程的操作会产生大量的行为信息。

根据过往的实习经验,存在如下问题:实习教师对于实习过程的监督和掌握是碎片化、不连续的,只有实习开始时布置讲解任务和实习结束后评估上交成果这两个时间点能够监督,实习过程中产生的学生的大量行为信息被忽略。对于信息化时代下的测绘实习,对整个过程做到连续监督是很有必要的。具体通过利用软件操作记录和数据库技术,对实习全过程进行数据化跟踪,包括实习操作产生的特征行为、关键步骤的人机交互操作等,并对跟踪数据进行记录、回溯、分析。

在信息化环境中,通过软件技术对实习上机操作进行监督,时间分辨率更高,跟踪效果更细化更全面。在此基础上通过建立一个信息化的平台,对实习过程跟踪的记录以及行为数据进行自动化分析,进而对实习成果进行智能评估,如图1所示。

图1 信息化测绘实习流程图

以常见的“4D生产实习”为例,在为期3周的实习过程中,教师只在实习开头讲解任务和实习结束评阅成果时和学生有少量互动,实习中间的大部分时间,则是学生自己操作软件来完成任务,包括利用鼠标进行测图、键盘输入各种条件参数、鼠标点击各项功能按钮等。本信息化平台在记录实习课程基本管理信息外,增加对实习中间操作的过程的跟踪和记录,利用海量跟踪数据进行智能分析,对最后的实习成果进行数据化的客观评估。

2 全过程跟踪与分析系统的技术框架

软件实践教学的全过程,包括学生签到、分发实习任务、学生上机完成实习任务、上传实习成果以及评阅实习成果等。使用的全过程跟踪与分析系统主要包含两个模块,即后台全过程跟踪模块和前端智能分析模块(见图2)。分析的数据是实习时间段内,学生每天的签到信息、上机操作人机交互的行为信息等。

图2 全过程跟踪与分析系统框图

2.1 后台信息跟踪模块

后台信息跟踪模块以钩子技术为基础,钩子技术是一种实现Windows平台下类似于中断的机制[5-6],允许应用程序拦截并处理指定的信息或事件。当实习过程中需要收集的信息发出后,就可以在信息到达目标窗口之前将其捕获,并进行保存和记录[7]。每次数据收集后,通过数据库管理系统(MySQL++)将采集的数据进行整理,并上传到指定的服务器中。

采集的交互数据包括:① 学生鼠标点击的窗口信息,包含窗口名称等;② 鼠标点击的位置信息;③ 键盘输入的字符信息;④ 当前正在使用的软件信息;⑤ 学生上机签到信息;⑥ 学生提交成果的时间信息。

2.2 前端智能分析模块

前端可视化与智能分析模块基于遥感信息工程学院实习管理系统来实现。实习管理系统是遥感院实验教学中心自主研发的网页型信息管理平台,目前已实现管理员、教师和学生3大模块,包括登录登出、发布实习,上传作业,下载课程附件、评阅作业、课程检索、实习总览等功能。系统前端网页运用了HTML5、CSS3以及React框架等技术来实现简洁高效的界面,后端则利用Node.js来对网页的请求进行响应,并对数据进行索引和处理[8-9]。

(1) 交互行为可视化的动态图表。ECharts是一个纯JavaScript的图表库,可以流畅的运行在 PC 和移动设备上,底层依赖轻量级的 Canvas 类库 ZRender,提供直观、生动、可交互、可高度个性化定制的数据可视化图表。特点包括丰富的图标类型、多个坐标系的支持、深层的交互式数据探索、多维数据的支持以及丰富的视觉编码手段,并支持动态数据等特性[10-12]。

利用ECharts丰富的接口和采集得到的海量数据可以做出各种图表来对学生实习情况进行分析,包括柱状图、折线图、热力图、日历图、流量图等。

(2) 交互行为热力图。热力图是表示点聚集程度的图表,点的分布越密集,形成的聚类区域颜色越深。在绘制热力图的过程中,考虑到图表的视觉效果,需要对数据做均值滤波处理。均值滤波是典型的线性滤波算法,在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(一般以目标像素为中心的周围8个像素,构成一个滤波模板),再用模板中的全体像素的平均值来代替原来像素值[13]。计算式为:

(1)

式中,Smn代表中心点为(x,y)、尺寸为m×n的矩阵滤波窗口。

(3) 人机成果评估相关性。结合采集的数据以及教师评定的实习成绩,对两者进行相关性分析,可以得到采集数据的置信度。相关系数是研究变量之间线性相关程度的量,是按积差方法计算,同样以两变量与各自平均值的偏差为基础,通过两个离差相乘来反映两变量之间相关程度。

线性相关系数一般用字母r表示,用来度量两个变量之间的线性关系:

(2)

式中:cov(X,Y)为X与Y的协方差,var[X]为X的方差,var[Y]为Y的方差。

3 实验数据统计分析

以2017年9月遥感信息工程学院“4D产品综合实习”为例,4D产品(包括数字高程模型、数字正射影像图、数字线划地图、数字栅格地图)生产实习综合性强,凝聚了4年本科所学摄影测量及相关专业的综合应用[14-15]。该实习在数字摄影测量实习的基础上进行,应用VirtuoZo NT系统来完成。本次实习共有83名同学参加,实习时间为期3周,每天分为两个时间段,即早上8:00到12:00,下午2:00至6:00。实习结束后系统总共采集人机交互点数达到3 501 120个。对数据进行预处理,剔除信息不正确的点,有效点数达到3 496 611个,这些采集到的海量数据可以充分满足后续进行智能分析的要求。

3.1 基于个人的实验过程跟踪

在整个实习过程的跟踪中,每一位同学的人机交互流程都会完整记录,包括每天的登录签到信息、操作轨迹记录信息、是否操作实习软件、正在使用实习软件的模块名称等,因为“4D产品综合实习”在实习过程中主要以鼠标操作为主,所以回溯个人的操作记录,便能够评估出这名学生的实习质量。

以某同学为例,整个实习83名同学的平均记录数量为42 127条,而系统总共采集到该同学的95 600条记录,另外该同学在需要出勤的18天中都有签到记录,初步判断该同学的实习质量是合格的。

(1) 操作活跃度分析。活跃度代表该同学当天实习的操作活跃程度,即当天人机交互操作的总次数。

将该同学所有操作记录按照时间进行预处理,分别统计每天的记录数量,利用ECharts绘制成每日活跃度流量图,如图3所示。

图3 每日活跃度流量图

每日活跃流量图横轴为日期,纵轴为记录条数,鼠标在图中移动时,会自动显示当天的记录数量,在实习天数比较多时,可以对流量图进行放大操作,动态调整自己观测的时间范围。

可以看出,该同学每天的平均记录条数为4 552条,在18天实习时间中,有7天的记录条数超过平均水平,占比38.9%。其中最高记录条数出现在实习的第4天,为18 839条,最低记录出现在实习的第1天,为0条,原因是第1天安排为熟悉实习背景和基础知识,并没有上机实习。另外可以观察到,该同学第1周和第3周有明显的波峰,第1周判断为学生对软件操作不熟悉,需要大量训练,另外刚开始实习精力充沛,实习放松休闲现象少,第3周则是临近实习结束,需要增加工作量来保证自己完成实习任务。

(2) 轨迹热力图分析。“4D产品综合实习”中很重要的一项任务是测图工作,测图过程中有大量人机交互的操作,具有跟踪分析的巨大价值。VirtuoZo NT系统由许多软件模块组成,其中负责测图工作的模块叫做“igs1”,而系统跟踪模块能够获取程序状态信息,例如当前程序的名称、使用程序的功能等,通过跟踪实习学生在“igs1”模块上的操作,能够记录下测图的完整操作记录,便于后续分析。

在本实验中,收集到的3位同学的测图交互信息数据用热力图来进行展示,其中操作越集中的区域,对应的颜色也越深。将不同学生的热力图,与该同学最终实习测图成果进行对比,如图4所示。

可见,3份测图成果图代表的实习工作量有明显区别,矢量对象统计个数从左往右依次为323、545、607,所以轨迹密集的热力图,对应的测图成果的矢量对象也更多。

尽管3名同学实习工作量有所区别,但点的轨迹分布与软件的界面图基本一致,都是左上部分选取软件的功能按钮,在测图区域的中央部分进行操作。不同同学在做相同的测图实习任务时,鼠标轨迹分布类似,通过这个特点可以判断上交的实习成果是否独立认真完成。测图模块软件界面如图5所示。

图5 测图模块软件界面图

(3) 分时段日历图分析。将该同学操作记录按照时间进行细分处理,以实习过程中每小时为单位,分别统计每天实习时间段内每小时的记录数量,利用ECharts绘制分时段日历图,如图6所示。

图6 分时段热力图

分时段日历图横轴以每小时为单位,早上8:00~12:00分为4个时间段,下午2:00到6:00分为4个时间段,下午6:00之后为一个单独的时间段,纵轴为实习日期轴,图中每个方格代表一个时间段,方格内的数字代表该时间段内操作记录数量,数量越多,方格颜色越深。

从日历图可以得到,该同学在3周实习过程中,每天的操作时间和操作效率处于稳定。3周实习总共有72个时间段(每周6天,每天4个时间段),人均记录总数量为42 127条,每个时间段平均记录数量为585条,考虑到有的实习时间是非上机操作时间(如教师统一教学),则总时间段数量为60,而该同学超过585条记录的时间段有42个,占比70%,说明该同学在实习过程中状态稳定,工作分布均匀,不存在最后突击赶工的情况。

3.2 实习操作整体行为统计分析

本次实习83名同学的有效记录数据达到3 496 611条,对这些数据进行集中统计分析很有必要,整体行为统计分析能够提供更加清晰、系统的比对数据,为实习成绩的评估提供更有据的支撑。

(1) 实习作业提交时间分析。在实习过程中,需要每天上交一份实习日志,说明当天所完成的实习内容。在系统中上传实习日志后,会自动记录下上传文件的时间。分析这些时间数据,可以得知实习日志的完成情况。

在本次实习中,共有65名同学是每天按时提交实习日志,13名同学存在隔天提交的情况,还有4名同学的日志是实习结束后一次性补交的,另有1名同学尚未提交实习日志。通过提交时间分析,对于提交过程不一致的实习成果将区别对待。

(2) 整体分时段日历图分析。前文已经对单个同学的分时段日历图进行分析,分时段日历图能够很好地反映整个实习过程中每个时间段的操作情况,通过对整体进行集中分析,能够找出大部分人实习过程中共有的操作特点。

在分时段日历图的设定中,最右边一列为下午实习规定时间结束后所记录的数据,即学生在规定时间内没有完成任务而继续留在实习机房进行操作所产生的数据,可以理解为当天的“加班”数据量,且深红色在日历图颜色表中代表数据量最多的颜色(超过2 000)。

从图7所示可以观察到,在实习最后1周时间段内,在规定实习时间段内正常操作、不偷懒的前提下,大部分同学依然有严重“加班”的情况(表格右上角为深红的区域数量大于等于2)。这种现象说明在实习教学过程中,教师对实习任务量的分配安排不是非常合理,导致在实习过程中尽管正常操作,依然需要在最后加班加点才能完成的现象。

3.3 实习成绩智能分析

实习结束后,需要结合整个实习过程以及提交成果,对实习学生成绩进行评估和打分。在过往的实习中,教师按照以下几点进行评估,包括实习签到情况以及提交的实习成果图。由于有了过程记录数据,系统能给出真实可靠的数据,从而对实习成绩进行自动化评估,作为教师评估可靠的智能辅助工具。

智能评估的方面包括:①日志提交时间,包括提交时间是否准时、是否一次性补交、有无缺漏等;②人机交互次数以及测图交互次数,以上两点作为平时分评估依据;③测图成果图的矢量对象个数;④分时段日历图为深红色的个数;⑤热力图中深红色和浅红色像素的数量,以上几点作为成果分评估依据。

以本次实习为样本,由专职实习教师和系统分别对全部学生进行实习成绩评估,并将两方给出的成绩进行对比分析,如图8所示。

由图8可见,教师和系统给出的成绩具有显著相关性,将两者分别独立判定的平时成绩(共20分)进行统计分析,分别计算两类成绩的均值和方差,系统平时成绩的均值和方差是16.67和2.08,教师平时成绩的均值和方差是17.06和2.28。另外利用前文给出的公式计算相关系数,得到相关系数值为0.879。

再将总成绩(共100分)进行统计分析,计算均值,系统总成绩的均值是84.42,教师总成绩的均值是84.71。两者的相关系数值为0.857。综合上述数据,说明系统分析得到的平时成绩较为可靠。

利用遥感信息工程学院实习管理系统,将系统给出的平时成绩以及判定的依据打包分别发送到实习教师以及各个同学的邮箱。根据实习系统回收的反馈意见,教师认为系统作用明显,是实习课程和成绩评分的重要参考和有力工具,94%的同学认可自己的平时成绩,平时成绩较低的同学也表示自己本次实习不够认真,会认真对待下一次实习。

4 成果评估

4.1 实验效应分析

(1) 对于实习教师而言,过程跟踪可以为教师提供更科学、量化的评估工具。教师根据此系统,可以得知所有学生整个实习过程的实习情况和实习细节,通过统计图表一目了然,例如学生签到情况、每个时间段的操作情况、实习日志的提交情况等。基于获得的这些信息,能够对学生实习进行更客观、更科学的评估。

(2) 对于学生而言,系统能够为学生提供必要的反馈和辅助。例如实习任务大部分学生在规定实习时间内没做完,还需要“加班”来做,反应到系统日历图上,教师根据这种情况来动态调整实习安排,使任务分配更加合理。

(3) 对于实习课程而言,使用系统对实习成果做出全方位有据的科学评估,能成为教学监督、教学改进的依据,促进实习课程管理的精细化、迭代式发展。

4.2 进一步提升与改进

系统在使用过程中,还存在一些瑕疵,如获取的信息源不够丰富、智能分析结果还不够简洁明了等问题。针对上述问题,在未来的研究和实验中,将进行以下改进:

(1) 扩大过程信息获取的范围。除了获取鼠标的信息,进一步增加获取键盘操作的信息,如有可能,在自主研发的系统中,尽可能开放软件接口,提供更细化的操作类型和步骤,丰富操作信息源,细化跟踪实习操作过程。

(2) 优化智能分析模块。通过存档的历史数据与新添加的记录数据进行对比分析,并对可视化统计分析的数据模型做进一步简化和整合,使智能分析得到的结论更加简洁、实用。

5 结 语

本文提出的软件实践教学全过程跟踪与分析系统的实现为老师对实习教学的掌控提供了一种可行的解决方案,借助HTML5、Node.js和数据库技术,实现了对软件操作中人机交互的全方位跟踪。对实习过程的跟踪,突破了以往评估实习质量仅仅依靠实习提交成果的不足,扩展了获取实习效应信息的维度和广度,使教师能更加全面、客观的分析学生的实习情况,另外也可根据实习状况,动态调整实习安排,更大化的监督和提升学生的实践学习效果。此外模块化的开发设计思路,为全过程跟踪与分析系统的扩展提供了可能。人机交互实习操作的普遍性,也使本系统能够适用于其他专业课程的实践教学,以及配套的虚拟仿真实验系统中[16]。

猜你喜欢
时间段成果软件
禅宗软件
验收成果
夏天晒太阳防病要注意时间段
工大成果
软件对对碰
“健康照明”成果聚焦
发朋友圈没人看是一种怎样的体验
“三医联动”扩大医改成果
即时通讯软件WhatsApp
不同时间段颅骨修补对脑血流动力学变化的影响