潘浪濤,李士達,張 曦,譚 雪,付巧玲
(1.中國鐵道科學研究院 電子計算技術研究所,北京 100081;2.北京經緯信息技術公司, 北京 100081)
鐵路自動售票機(TVM)以其方便快捷、7×24 h服務的優點得到了快速發展。據統計,目前全路范圍內共安裝使用自動售、取票設備12 000多臺,日發售車票總數最高達57萬多張,日取互聯網訂票最高達697萬多張。經過多年的推廣應用,鐵路自動售票機已經獲得了廣大旅客的認同,自助式服務理念也已深入人心,如何提高系統使用效率、擴大使用范圍、滿足旅客對售取票業務更高的需求已經成為一個不容忽視的問題。許多從事自助服務領域研究的專家和學者就如何提高自助設備的使用效率和服務質量提出了自己的觀點和看法,如:李季濤、歐陽欣等人針對客流強度配備自動售票機數量的研究[1-2];郭暢提出利用鐵路自動售票系統用戶特征分析數據指導鐵路自動售票機的布局和終端界面的優化配置[3];龐建康、曹水婧、趙偉超、張萍等人從提升用戶體驗的角度對鐵路自動售票機人機交互界面設計提出了自己的見解[4-7];譚雪等從降低用戶認知負荷的角度給出了鐵路自動售票機人機交互界面的優化方案[8]。本文在分析和總結當前鐵路自動售票人機交互系統存在不足的基礎上,結合人機交互和認知負荷的相關理論,提出了一套全新的基于NodeJS平臺的優化設計方案。
目前,鐵路自動售票機主要提供發售全國車票、互聯網換票、取電話訂票、發售乘意險等功能,受早期人機交互系統架構、界面設計和業務流程的影響,現有的鐵路自動售票機人機交互系統在功能布局、信息展示、操作流程便捷性上存在著一些明顯的問題和不足,不能適應現代旅客對自助式業務辦理的較高需求,主要體現在以下幾個方面。
現有TVM人機交互主界面的最醒目位置大部分被“操作演示”功能占用,而主要功能區只能集中在右側小部分,且發到站選擇、日期選擇、車次選擇、車票類型選擇與確認購票和取訂票功能按鈕平級,其可能導致旅客不能很方便快捷地找到功能入口,最直接的結果就是降低了操作效率。
早期鐵路自動售票人機交互系統中站點少,使用站線示意圖能夠幫助旅客快速找到自己所需到發站,但是隨著自動售票機可發售車票線路的不斷增多,加上普通旅客對鐵路線路了解不足,采用站線示意圖的方式選擇到發站的效率不斷降低。
當前TVM人機交互系統對車次分類比較簡單,只提供如動車組車次、12點后車次、18點后車次等比較粗粒度的過濾查詢條件,在車次數量較多的情況下,旅客進行車次選擇時所耗費的時間會比較長。
通過對現有TVM人機交互系統的功能入口界面分析,合理的功能布局和清晰的功能入口對于提升用戶體驗至關重要,因此將TVM人機交互界面進行重新分區和功能分類,如圖1所示,將TVM的主要功能入口選項放置于界面的顯著位置,并且將原界面中的功能重新分類整合,得出售票、互聯網換票、取電話訂票、銀通卡換票、席位變更查詢5類功能,降低旅客操作時的學習難度和認知負荷。

圖1 功能入口界面優化方案
通過對現有TVM人機交互系統到發站選擇界面的分析,可以發現當線路少、車站數量少時使用線站示意圖可以很快找到發到站,而一旦線路和車站數量增多時,其選擇發到站的效率就會不斷下降。平衡效率和通用性是到發站選擇界面設計考慮的關鍵,如圖2和圖3所示,在優化方案中,通過對售票記錄的統計分析得出當前車站發售車票的熱門到站(總數不超過24),設計熱門車站選擇頁面,優先滿足大部分旅客購票時對效率的要求,通過使用站名檢索的方式滿足其他乘客的要求,達到提升用戶體驗和使用效率的目的。

圖2 通過城市選擇發到站

圖3 通過其他車站檢索發到站
現有車次選擇界面中對車次僅做了比較簡單的分類,當車次較多時,系統可用性變差,旅客查找車次時效率降低,因此在優化方案中,如圖4所示,為旅客提供動車組和普通車次的分類顯示,以及更加細化的分時段列車顯示、快速頁碼查找將會提高旅客查找所需車次的效率。

圖4 車次選擇界面
鐵路自動售票人機交互系統通過將票務數據、服務信息等組合成文字、圖片、聲音、動畫等多媒體信息動態地展示給旅客,引導旅客自助完成售取票業務操作。如圖5所示,其優化后的系統總體結構主要由本地文件管理模塊、日志文件、本地配置文件、通信模塊、通信包解析模塊、頁面控制模塊、信息配置模塊、操作處理模塊、命令請求組包模塊和眾多界面集合組成。

圖5 優化后鐵路自動售票機人機交互系統總體結構
3.1.1 本地文件管理
本地文件管理功能由本地文件管理模塊實現,負責對本地文件的操作,主要包括讀取本地配置文件和日志文件的讀寫管理等。其中,日志文件主要按照預定格式記錄和存儲系統運行日志數據等,包括頁面控制信息、頁面數據和用戶請求數據等;本地配置文件記錄服務器地址、端口等一些基礎配置信息。
3.1.2 通信管理
通信管理功能由Socket通信模塊實現,負責人機交互系統與MBP(TVM終端軟件業務控制程序)之間的通信鏈路建立、鏈接狀態監聽和數據傳遞,將從命令請求組包模塊中得到的操作信息發送給MBP,從MBP得到的窗口參數及客票數據發送給協議包解析器。
3.1.3 頁面信息展示
頁面信息展示功能由協議包解析器、頁面控制模塊、信息配置模塊、終端服務界面等配合完成。協議包解析器負責對通信模塊接收到的數據包進行解析和分類,并按照解析得到的不同數據類型將解析后的數據發送給頁面控制模塊和信息配置模塊。頁面控制模塊接收協議包解析器和操作處理模塊的數據,控制服務界面的跳轉,并將頁面控制信息發送給本地文件管理模塊。信息配置模塊接收協議包解析器和本地配置管理模塊傳遞過來的數據信息(如屏幕分辨率信息、是否記錄日志標志等)后,實現頁面顯示信息的動態更新,并將更新數據發送至本地文件管理模塊和相應的終端服務界面。
3.1.4 界面請求搜集
界面請求搜集功能由終端服務界面、操作處理模塊、命令請求組包模塊等配合實現,負責完成對旅客請求的搜集、翻譯、加工等。其中,各服務界面負責搜集旅客請求,操作處理模塊負責并將其翻譯成系統預設格式語言,命令請求組包模塊將經過操作處理模塊加工的旅客操作請求按照約定的通信協議格式進行組包,最后將組包結果傳遞給通信模塊。
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();
}
鐵路自動售票機人機交互系統優化后與優化前相比較,界面功能劃分更加科學合理,旅客理解學習難度明顯降低,用戶體驗和操作效率得到明顯提升。以購買8月1日北京至天津區段動車組車票時的車次選擇為例(為便于比較,將優化前后兩種方案的每頁車次顯示數量統一設置為5),通過對選擇某一時間段內的車次所需操作次數的統計可以看出,如表1和圖6所示。當車次數量不超過10趟時,優化前后選擇乘坐車次所需要的操作步驟無明顯區別,但是當車次數量增多時,優化后選擇乘坐車次時所需要的操作步驟明顯少于優化前,而且隨著區段內車次總數量的增多,這種優勢體現得更加明顯。

表1 優化前后各時間段車次選擇所需步驟

圖6 車次選擇優化前后所需操作步驟對比圖
鐵路自動售票機人機交互系統優化設計方案充分考慮了不同認知能力旅客的需求,通過降低旅客認知負荷、提高系統易用性吸引更多旅客辦理自助售取票業務,降低了旅客使用時的學習成本,提高了系統的使用效率。目前,該系統已經開始在全路試點應用,隨著系統的逐步完善和使用,必將為廣大旅客帶來更大的便利。

[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.