第三章 功能架構
3.4 運作機制流程圖
否
是
圖 3.12 新增資料流程 輸入商家或購
物資料
網路是否 有連線
寫入遠端資 料庫
寫入手機端 資料庫
結束 開始
裝手機應用程式,就能透過資料取得的方式,同步手機資料庫的資料,而且不怕
這裡最主要的判斷方法是當使用者與商家距離小於 300 就發出提醒,而由 於每個人對距離遠近的定義不同,這裡可以由使用者去決定,要在什麼距離範 圍來說,算是順路去進行。
另外提醒功能也有兩者可說,一個是用聲音來提醒,一個是用震動來提 醒,這個選項也能同時開啟,都是由使用者決定。
3.4.3 存取資料庫流程
否
圖 3.14 存取資料庫流程
開始
使用者輸入記錄流程
是否有網路
使用手機資料庫 使用遠端資料庫
送出 JSON 格式
結束 有
使用本地資料庫
機的情況發生,最後當網路回來的時候,系統會自動同步回去,讓本地和雲端資 料庫相同,這樣就能提升系統的可用性與實用性,不像有些手機應用程式都要依 賴網路才能使用,造成系統很不實用。
3.4.4 地圖顯示流程
無資料
圖 3.15 地圖顯示
如圖 3.15 所示,若使用者要求觀看此點的地圖座標,就會依以下流程來處 理。這邊實作的想法是因為手機有 GPS,我們能讀取 GPS 來知道自己在那裡,
然後透過資料庫的方式,將所有因為距離演算法而被定義成在使用者附近的商家 顯示其地址,且標記在地圖上,並把價格、詳細地址以及所需等待的紅綠燈秒數 相關的資訊都表列出來,這樣使用者就可以依不同的價格和喜好點選想要去的店 家。
有資料 開始
GPS 接收
是否有資料
讀取資料庫
顯示相關地點位置 和現在位置
結束
另外這部份的實作比較重要的是,我們能顯示路徑給使用者,透過 API 的 方式就能做到,將現在使用者所在的點與商家地址標出路徑,並讓使用者觀看,
加強本系統之實用功能,而不是只提供地址。
3.4.5 Hamilton Path流程
無資料
第一步就是接收現在的 GPS 訊號,等使用者目前所在的方位建立後,可透 過計算直線距離公式知道所有點(商家)跟點(商家)之間的距離。接下來由使用者 目前所在的位置開始找路徑,程式會先找花費最少 cost 的那條路徑,並檢查有 沒有走過,若沒有就完成現在位置到第一間商家的路徑,然後依續完成每點。過 程中只要注意是否有走過的判斷,若有的話就必須退回去,直到所有點走完為止。
根據上述的步驟我們就能為使用者安排一條路徑,並提供給使用者知道要 怎麼走才是最節省時間的,使用者就能很順利的將所有要去的商家都去過,並 買到所有想買的東西。