铁路自动售票机人机交互系统的优化设计与实现
2018-01-26潘浪涛李士达付巧玲
潘浪涛,李士达,张 曦,谭 雪,付巧玲
(1.中国铁道科学研究院 电子计算技术研究所,北京 100081;2.北京经纬信息技术公司, 北京 100081)
铁路自动售票机(TVM)以其方便快捷、7×24 h服务的优点得到了快速发展。据统计,目前全路范围内共安装使用自动售、取票设备12 000多台,日发售车票总数最高达57万多张,日取互联网订票最高达697万多张。经过多年的推广应用,铁路自动售票机已经获得了广大旅客的认同,自助式服务理念也已深入人心,如何提高系统使用效率、扩大使用范围、满足旅客对售取票业务更高的需求已经成为一个不容忽视的问题。许多从事自助服务领域研究的专家和学者就如何提高自助设备的使用效率和服务质量提出了自己的观点和看法,如:李季涛、欧阳欣等人针对客流强度配备自动售票机数量的研究[1-2];郭畅提出利用铁路自动售票系统用户特征分析数据指导铁路自动售票机的布局和终端界面的优化配置[3];庞建康、曹水婧、赵伟超、张萍等人从提升用户体验的角度对铁路自动售票机人机交互界面设计提出了自己的见解[4-7];谭雪等从降低用户认知负荷的角度给出了铁路自动售票机人机交互界面的优化方案[8]。本文在分析和总结当前铁路自动售票人机交互系统存在不足的基础上,结合人机交互和认知负荷的相关理论,提出了一套全新的基于NodeJS平台的优化设计方案。
1 现状分析
目前,铁路自动售票机主要提供发售全国车票、互联网换票、取电话订票、发售乘意险等功能,受早期人机交互系统架构、界面设计和业务流程的影响,现有的铁路自动售票机人机交互系统在功能布局、信息展示、操作流程便捷性上存在着一些明显的问题和不足,不能适应现代旅客对自助式业务办理的较高需求,主要体现在以下几个方面。
1.1 功能分区和入口设计不合理
现有TVM人机交互主界面的最醒目位置大部分被“操作演示”功能占用,而主要功能区只能集中在右侧小部分,且发到站选择、日期选择、车次选择、车票类型选择与确认购票和取订票功能按钮平级,其可能导致旅客不能很方便快捷地找到功能入口,最直接的结果就是降低了操作效率。
1.2 选择到发站方式不能适应现代旅客的需求
早期铁路自动售票人机交互系统中站点少,使用站线示意图能够帮助旅客快速找到自己所需到发站,但是随着自动售票机可发售车票线路的不断增多,加上普通旅客对铁路线路了解不足,采用站线示意图的方式选择到发站的效率不断降低。
1.3 车次分类不完善,旅客选择不方便
当前TVM人机交互系统对车次分类比较简单,只提供如动车组车次、12点后车次、18点后车次等比较粗粒度的过滤查询条件,在车次数量较多的情况下,旅客进行车次选择时所耗费的时间会比较长。
2 优化方案
2.1 设置合理的功能分区和明确功能入口
通过对现有TVM人机交互系统的功能入口界面分析,合理的功能布局和清晰的功能入口对于提升用户体验至关重要,因此将TVM人机交互界面进行重新分区和功能分类,如图1所示,将TVM的主要功能入口选项放置于界面的显著位置,并且将原界面中的功能重新分类整合,得出售票、互联网换票、取电话订票、银通卡换票、席位变更查询5类功能,降低旅客操作时的学习难度和认知负荷。
图1 功能入口界面优化方案
2.2 优化发到站选择方式
通过对现有TVM人机交互系统到发站选择界面的分析,可以发现当线路少、车站数量少时使用线站示意图可以很快找到发到站,而一旦线路和车站数量增多时,其选择发到站的效率就会不断下降。平衡效率和通用性是到发站选择界面设计考虑的关键,如图2和图3所示,在优化方案中,通过对售票记录的统计分析得出当前车站发售车票的热门到站(总数不超过24),设计热门车站选择页面,优先满足大部分旅客购票时对效率的要求,通过使用站名检索的方式满足其他乘客的要求,达到提升用户体验和使用效率的目的。
图2 通过城市选择发到站
图3 通过其他车站检索发到站
2.3 设置更加合理便捷的车次分类选择
现有车次选择界面中对车次仅做了比较简单的分类,当车次较多时,系统可用性变差,旅客查找车次时效率降低,因此在优化方案中,如图4所示,为旅客提供动车组和普通车次的分类显示,以及更加细化的分时段列车显示、快速页码查找将会提高旅客查找所需车次的效率。
图4 车次选择界面
3 系统总体结构及功能设计
铁路自动售票人机交互系统通过将票务数据、服务信息等组合成文字、图片、声音、动画等多媒体信息动态地展示给旅客,引导旅客自助完成售取票业务操作。如图5所示,其优化后的系统总体结构主要由本地文件管理模块、日志文件、本地配置文件、通信模块、通信包解析模块、页面控制模块、信息配置模块、操作处理模块、命令请求组包模块和众多界面集合组成。
图5 优化后铁路自动售票机人机交互系统总体结构
3.1 系统功能
3.1.1 本地文件管理
本地文件管理功能由本地文件管理模块实现,负责对本地文件的操作,主要包括读取本地配置文件和日志文件的读写管理等。其中,日志文件主要按照预定格式记录和存储系统运行日志数据等,包括页面控制信息、页面数据和用户请求数据等;本地配置文件记录服务器地址、端口等一些基础配置信息。
3.1.2 通信管理
通信管理功能由Socket通信模块实现,负责人机交互系统与MBP(TVM终端软件业务控制程序)之间的通信链路建立、链接状态监听和数据传递,将从命令请求组包模块中得到的操作信息发送给MBP,从MBP得到的窗口参数及客票数据发送给协议包解析器。
3.1.3 页面信息展示
页面信息展示功能由协议包解析器、页面控制模块、信息配置模块、终端服务界面等配合完成。协议包解析器负责对通信模块接收到的数据包进行解析和分类,并按照解析得到的不同数据类型将解析后的数据发送给页面控制模块和信息配置模块。页面控制模块接收协议包解析器和操作处理模块的数据,控制服务界面的跳转,并将页面控制信息发送给本地文件管理模块。信息配置模块接收协议包解析器和本地配置管理模块传递过来的数据信息(如屏幕分辨率信息、是否记录日志标志等)后,实现页面显示信息的动态更新,并将更新数据发送至本地文件管理模块和相应的终端服务界面。
3.1.4 界面请求搜集
界面请求搜集功能由终端服务界面、操作处理模块、命令请求组包模块等配合实现,负责完成对旅客请求的搜集、翻译、加工等。其中,各服务界面负责搜集旅客请求,操作处理模块负责并将其翻译成系统预设格式语言,命令请求组包模块将经过操作处理模块加工的旅客操作请求按照约定的通信协议格式进行组包,最后将组包结果传递给通信模块。
3.2 功能实现
3.2.1 开发环境
开发平台:WinXP、NodeJS。编程语言: HTML、CSS、JavaScript。
3.2.2 功能实现
(1)本地文件管理
在NodeJS中,文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用require("fs") 来获取该模块。在本方案的实现过程中,也是通过调用文件管理模块中的相关方法对本地配置文件进行读、写等管理操作。读取本地配置文件时部分代码如下:
var fs = require('fs');//调用fs模块
variconv = require('iconv-lite');
var file = guiPath+"cfg/GuiConfig.xml";
fs.readFile(file, function(err, data){
if(err){
printConsole("读取GuiConfig文件fail " + err);
}else{
省略部分代码
}
};
(2)通信管理
在NodeJS中,Net模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,在本方案的实现中,通过以下方式引入该模块:
var net = require("net")//调用net模块;
window.client = new net.Socket();//声明一个新的socket对象;
client.connect(socketPort, socketIP);//连接服务器;
client.on('readable', function(){//处理readable事件,具体代码略};
client.on('close',function(close){//处理close事件,具体代码略});
client.on('error',function(error){//处理error事件,具体代码略});
(3)页面信息展示
本方案中,页面信息采用HTML+CSS的方式进行展示,如设置出发地选项,部分代码如下:
CSS:
width: 232px;
height: 710px;
position: relative;
float: right;
}
.side-form .item{
margin-bottom: 20px;
再来看看《现代汉语词典》中这类词的释义情况。[注]如没有特别说明,本文所引用的释义均依据中国社会科学院语言研究所词典编辑室:《现代汉语词典》,北京:商务印书馆,2012年6月第6版,2016年9月第7版。
}
HTML:
onclick="changeStartStation();">
JavaScript:
document.getElementById("rightStartStati on").value = station;//设置页面右侧出发车站值
(4)页面请求搜集
在本方案实现中,页面请求搜集通过在HTML页面中加入onclick()事件响应函数完成,如选择出发车站,事件响应函数部分代码如下:
JavaScript:
functionchangeStartStation(){
var current = window.parent.display;
sendCmd("Action:"+current+":Change StartStation");
displayFrame("startStation");
window.parent.startStation.getInfo();
}
4 效果分析
铁路自动售票机人机交互系统优化后与优化前相比较,界面功能划分更加科学合理,旅客理解学习难度明显降低,用户体验和操作效率得到明显提升。以购买8月1日北京至天津区段动车组车票时的车次选择为例(为便于比较,将优化前后两种方案的每页车次显示数量统一设置为5),通过对选择某一时间段内的车次所需操作次数的统计可以看出,如表1和图6所示。当车次数量不超过10趟时,优化前后选择乘坐车次所需要的操作步骤无明显区别,但是当车次数量增多时,优化后选择乘坐车次时所需要的操作步骤明显少于优化前,而且随着区段内车次总数量的增多,这种优势体现得更加明显。
表1 优化前后各时间段车次选择所需步骤
图6 车次选择优化前后所需操作步骤对比图
5 结束语
铁路自动售票机人机交互系统优化设计方案充分考虑了不同认知能力旅客的需求,通过降低旅客认知负荷、提高系统易用性吸引更多旅客办理自助售取票业务,降低了旅客使用时的学习成本,提高了系统的使用效率。目前,该系统已经开始在全路试点应用,随着系统的逐步完善和使用,必将为广大旅客带来更大的便利。
[1] 李季涛,孙全欣. 铁路客运站自动售票机终端配置微观仿真分析[J].中国铁道科学,2011,32(3):117-122.
[2] 欧阳欣. 广深城际铁路客运站自动售票机优化配置[J].铁路运输与经济,2014,36(6):57-60.
[3] 郭 畅. 铁路自动售票系统用户特征分析[J].铁路计算机应用,2017,26(1):36-39.
[4] 庞建康. 基于用户体验的铁路自助售票机交互设计研究[D].武汉:武汉理工大学,2015.
[5] 曹水婧. 高铁自动售票机人机交互界面设计研究[D].南京:东南大学,2016.
[6] 赵伟超. 铁路自助终端服务设备界面交互性设计[D].齐齐哈尔:齐齐哈尔大学,2015.
[7] 张 萍. 火车票自助售票机人机交互研究[J].科技与企业,2012(3):244-245.
[8] 谭 雪,蒋秋华,李士达,等. 基于认知负荷理论的铁路自动售票机交互设计[J].铁路计算机应用,2016,25(10):57-61.