李碩勛 張坤 工業(yè)和信息化部電子第五研究所
通過分析和調研,發(fā)現(xiàn)公交乘客多為20到40歲的上班族,該類人群有常坐的線路,會通過公交站查看、詢問和地圖工具等方式來規(guī)劃出行路線,等車時不喜歡等待時間長、擁擠等情況,有強烈的了解公交實時信息的需求,手機類型多為iPhone和安卓智能機,也有少量的windows Phone,會用、甚至可以說是會非常熟練地使用智能手機,手機中常用瀏覽器有UC瀏覽器、QQ瀏覽器、Safari瀏覽器、安卓自帶瀏覽器、谷歌瀏覽器等。
通過以上分析,發(fā)現(xiàn)當前市民出行主要面臨以下問題:
1.環(huán)境陌生,找不到附近的公交站。
2.知道站點的位置,但是不知道公交車的位置,不知道需要等多久,等哪輛車可以更快上車。
有一輛公交車已經(jīng)到達的時候,車上擁擠,不確定是不是同時到達兩輛,應該上車還是再等等。
4.換乘路線規(guī)劃不好,在站牌中自己查看耗費了大量的時間,并且也不一定是最優(yōu)方案。
每日使用公交出行的人數(shù)約達2.8億,每個等車的人都帶著焦急和煩躁在等待,用戶需要一個能夠查看還有多久到站、公交車在哪兩個站點之間、距離當前站點大概有多遠、預估還有多久到達目的地的APP。
在前期調研期間,除了調研了公交車乘坐的用戶,還調研了當前國內流行的LBS開發(fā)平臺,并對主流開發(fā)平臺做了詳細的對比。當前不同平臺的地圖API都支持JavaScript,在平臺適用性方面,除了MapBar和51地圖,其他幾款地圖API都支持目前主流的瀏覽器,其中GoogleMap、百度地圖、搜狗地圖還支持Windows、mac、linux系統(tǒng),大大方便了用戶和程序員,在移動端,高德地圖更勝一籌,除了支持Android、ios、Windows,還支持塞班系統(tǒng)。
目前在國內比較流行的主要是百度地圖、騰訊地圖和高德地圖。無論是開發(fā)者還是用戶,都更喜歡性能高、省電、省流量、內存占有率低的產品。
因此在對比騰訊地圖、百度地圖和高德地圖的過程中,論文作者主要關注的是功能和性能兩個方面。在性能對比上,耗電量、流量消耗、內存占有率、CPU占有率是主要對比指標,定位的場景主要有網(wǎng)絡定位和GPS定位兩種。
在產品功能方面,百度地圖和高德地圖是功能相對豐富的地圖API,其中百度地圖的優(yōu)勢主要在于可以給用戶提供綜合性的生活搜索平臺,高德地圖主要是解決位置服務和導航服務,鑒于智能出行系統(tǒng)并沒有涉及導航功能的需求,因此百度地圖比高德在功能上更有優(yōu)勢。
通過用戶調研、分析調研結果、分析當前公交車運營情況,結合當前實時公交應用的研究現(xiàn)狀與移動端開發(fā)技術,系統(tǒng)在HTML5客戶端實現(xiàn)的功能主要有:
1)查看附近的公交站。
2)查看收藏的線路。
3)檢索兩點之間換乘方案。
4)搜索公交站。
5)搜索公交線路。
6)收藏常用的線路。
7)下載客戶端。
8)提交位置信息。
其中查看公交信息、檢索公交信息、檢索換乘方案是最基礎的功能,其他的功能都建立在基礎功能之上,是對基礎功能的補充和擴展。
除了最基本的需求,HTML客戶端還應該有其他周邊功能,滿足運營的需要,同時也為以后數(shù)據(jù)分析做準備。其他功能性需求如圖3-2所示:
1.提供安卓或者蘋果平臺的APP下載鏈接,根據(jù)不同的平臺提供不同的應用商店下載鏈接,無需用戶自己選擇。
2.上傳位置信息,為下一步研路況信息和出行數(shù)據(jù)做準備。
意見反饋,比如線路錯誤,實時信息不準確,設計問題,BUG等。
3.廣告顯示。
非功能性需求指的是系統(tǒng)的可靠性、健壯性、易使用性、可維護性、可操作性、可移植性、可重用性、可擴充性等不針對系統(tǒng)特定行為的需求。
在交互方式方面,簡單的使用方式和良好的交互能夠吸引用戶的注意,通過對手機用戶操作習慣和交互設計的了解,避免與用戶習慣沖突,深入理解各種不同交互模式、特點及用戶群體,為用戶帶來更優(yōu)的體驗。
在系統(tǒng)設計上,智能出行系統(tǒng)要符合高內聚低耦合的思想,通過MVC設計模式把程序分為視圖層,控制器,模型層三個核心模塊,修改三者中任何一個都不應該對其他兩層造成太大影響,三層相互獨立,各司其職。
此外,還應該在開發(fā)過程中充分考慮用戶輸入的各種情況、輸入的邊界值、極值等,對不合法輸入進行處理。設計異常處理機制,考慮對錯誤、異常情況的處理,維護異常日志、錯誤日志,發(fā)生錯誤或者異常的時候提醒用戶,并將錯誤寫入日志,以便進行系統(tǒng)的優(yōu)化。
1.開發(fā)環(huán)境:WebStonn+PHP+Apache+MYSQL
2.操作系統(tǒng):Widows
開發(fā)語言:JavaScript,HTML5,CSS3,PHP
4.信息傳遞:HttpPost+json,Ht^)Get+json
5.數(shù)據(jù)庫:MYSQL
通過上一章節(jié)中對智能出行系統(tǒng)客戶端的需求分析,本章將基于MVC設計模式,結合需求分析,對需求分析進行細化,并且在這基礎之上提出了實現(xiàn)的方案,系統(tǒng)的架構,介紹了總體設計。
HTML客戶端首先通過百度地圖定位API或者HTML5的Geolocation定位到用戶當前位置,將用戶的經(jīng)緯度和數(shù)據(jù)庫中經(jīng)緯度信息匹配,通過控制器向模型層請求附近公交站靜態(tài)信息以及實時信息,控制器首先請求服務器數(shù)據(jù)庫和實時數(shù)據(jù)庫中的實時數(shù)據(jù),如果服務器中沒有最近三分鐘的實時信息,則安卓和ios客戶端可以請求第三方服務器獲得實時數(shù)據(jù),得到實時數(shù)據(jù)以后將實時數(shù)據(jù)傳入服務器實時數(shù)據(jù)庫中,實時信息的有效性是三分鐘。
整個系統(tǒng)分為安卓客戶端、ios客戶端、HTML5客戶端,由共同的服務器提供服務,論文作者主要負責HTML5客戶端和服務器的控制器開發(fā)。
在HTML5客戶端的部分,百度地圖JavaScriptAPI主要負責地圖的顯示功能、添加站點、標記站點、換乘方案查詢。在開發(fā)初期,用戶使用該系統(tǒng)過程中收集到的公交數(shù)據(jù)會上傳到服務器,實現(xiàn)對公交車輛與線路的對應關系數(shù)據(jù)的統(tǒng)計。
在系統(tǒng)的部署方案上,選擇云服務器,云服務器相比于傳統(tǒng)的服務器有很大的優(yōu)勢,首先云服務器部署起來快,最多不超過十分鐘,省去了使用傳統(tǒng)服務器不可避免的選擇和采購,節(jié)約了時間成本。其次使用云服務器可以不用提前估算使用量,傳統(tǒng)服務器需要估算使用量,如果估算得比實際需要的少,會影響服務器性能,估算得比實際用的多,會造成浪費,云服務器可以輕松擴展。在可靠性方面.,云服務器如果出現(xiàn)問題可以直接遷移,而傳統(tǒng)服務器需要維修,成本較高。除此之外,云服務器修改密碼簡單,容易管理,重裝或者換系統(tǒng)可以保證數(shù)據(jù)安全,降低數(shù)據(jù)損失和服務器損失,節(jié)約了運維的人力資源,節(jié)約了支出。
智能出行系統(tǒng)旨在解決用戶的焦慮,讓用戶更好的安排自己的行程,隨時隨地掌握當前實時交通狀況,選擇最優(yōu)出行路線,減少等待時間,隨時掌控自己的行程。