• 沒有找到結果。

流程

在文檔中 火車時刻查詢系統 (頁 10-0)

第二章 系統架構說明

2.2 系統架構功能流程

2.2.2 流程

主體二: PC 查詢介面

PDA 查 詢結果 PDA

場所:餐廳

使用

主體四:資料庫

我們所有的資料庫資料都是經由台灣鐵路局所提供的檔 案,在經由程式把資料轉入我們所建立的資料庫當中,當然 我們會篩選資料,但一切都以真實的時刻為主,且資料庫的 欄位大小及格式均依台鐵的資料來做設定,而資料庫的各 table 的說明如附錄一。

功能列表

1.Java 轉資料進 資料庫程式

主要負責讓開發者把檔案傳入資 料庫的動作.

2.PC 查詢介面

使用 PDA 做移動式即時火車時刻查 詢系統

儲存由台鐵所得到的資料所轉換 的時刻表資料

4.資料庫 3.PDA 查詢介面

可查詢火車時刻,和下載 PDA 所需 要的檔案原件

功能說明 功能表 Table

Us er

Dat abase

火車時刻 查詢系統

查 詢

火車時刻資料 LoadData GetData

PD A L o ad W in CE

D at ab as e

系統分析 圖一

火車時刻查詢 系統Ser ver

User 火車時刻 查詢介面 Client 火車 時刻資料

時刻表 查詢

PDA Lo ad Win C E Datab ase

時刻表

查詢 P DA查詢介面 要求資料 傳送資料 要求火車 時刻資料

系統分析 圖二

火車時刻 查詢系統 Server 台鐵的資料 轉換資料 資料庫 傳送已 轉換的資料 Lo ad

Lo ad Data 要求 資料

系統分析 圖三

系統分析 圖一說明:

圖一的系統分析是我們整個系統大概的架構,由 Database 傳送 資料給火車時刻查詢系統 Server 再由 User 去做查詢的動作,而 也可以傳送 Database 給 PDA。

系統分析 圖二說明:

此系統分析圖是在說明此火車時各查詢系統的內部動作,火車時 刻查詢系統的 Server 可讓使用者在任何一台可上網的電腦透過 Internet 來查詢火車的時刻表,亦可在網路 Download PDA 所需 要的程式及 Database。

系統分析 圖三說明:

此系統分析圖主要是在說明程式設計者拿到台鐵的原始檔,在經 由程式設計者寫的轉檔程式把已轉好的檔案放入我們的資料庫 裡再讓火車時刻查詢系統 Server 去抓資料。

第三章

資料庫的產生及時刻表轉檔

轉檔程式的介紹:

資料庫的產生是由於得到台灣鐵路局的協助,取得台鐵的時 刻表檔案,並且去做轉檔案進入資料庫的動作,使用 JAVA 來撰 寫轉檔程式。下圖為轉檔程式執行畫面

共有四個功能,轉換台鐵給的檔案為所要的格式,再來按下想要 做的動作去完成資料庫的更新。由於從台鐵取得資料時,資料做 更新的效果不及直接置換,故所有的更新資料庫是去做刪除再去 新增。

台鐵檔案的介紹:

此次可以得到黃先生的幫助對此系統的真實性加了百分 之一百的分數,唯一可惜的是只能拿到數份資料來做交叉的測 試,此乃美中不足。

台鐵的檔案共分為五個部份:

一、 時刻主檔

包含 車次(5),行駛車站序號(3),站名代碼(4),到 站時間(6),開車時間(6),任務(8),股道(12) 下圖 為檔案的一擷取圖

二、 車次資料檔

包含 車次(5),車種(4),行駛幹線(2),行駛支線 (2),起站(4),迄站(4),行駛時間(無限長) 下圖為 檔案的一擷取圖

三、 順逆行資料檔

包含 車次(5),順逆行代號(1),起站代號(4),迄站 代號(4) 下圖為檔案的一擷取圖

四、 車站代碼表

包含 車站代碼(4),車站名稱(8) 下圖為檔案的一擷 取圖

詳細的說明於附錄二

資料庫關連圖:

第四章

票價的計算

本系統票價的計算方法及公式亦由台鐵資訊中心黃先生所提供,由於 要讓火車時刻查詢更接近於真實,故再一次的請求黃先生的協助,得 到了下列資料,也對其算法做一說明:

下圖即台鐵的站公里數檔案之一範例:

而票價的計算是依公里數的多寡來計算,而各種車再乘上車種參數即 為票價,公式=(里程數(進整)*車種參數)(進整)

車種參數說明 2.72 自強號 1.75 莒光號 1.46 復興號 1.06 普通車

第五章 系統界面操作說明

網頁版:

主頁:Http://203.217.102.121/ASP/Train_a.ASP

當使用者選擇起程和迄程站及預計搭乘的時間間隔之後 按下進行查詢即可以查詢到如下頁圖之正確的火車時刻表

當然全部共有全線、西部含台中、東部含北迴、南迴、平溪、內灣、

集集、臨時加班車,線可供查詢,以及 Win CE 版本的 Database 供 下載至電腦上。再經由 Microsoft Active sync 將該資料庫及火車 時刻查詢程式傳入 PDA 中,如此一來,便可以隨時查詢到最正確的 火車時刻表。

當使者將 PDA 連上電腦以及安裝完 Microsoft Active sync 之後,

便會出現一個行動裝置的捷徑,並且可以透過 Active sync 達到傳 檔案進 PDA 的目的,上圖是將資料庫傳入 PDA 的擷取畫面,完成傳 入火車時刻查詢系統及最新版火車時刻資料庫之後,便可以查詢。

PDA 版:

下圖一即是將火車時刻查詢程式及最新版火車時刻資料庫傳入到 PDA 的結果,使用者可以藉由執行 TrainTimeList.vb 這個程式去開 啟火車時刻查詢系統,如下圖二,便可藉由按下各支線的按紐去執行 火車時刻查詢功能。下頁即是擷取全線查詢為一例。

圖一 圖二

上圖路即是使用全線查詢的功能展示,可以按下看上一筆或是看下一 筆去查看各單筆的火車時刻,或是選擇結束查詢離開火車時刻查詢系 統。下頁是擷取臨時加班車的畫面以及本系統的 關於。

第六章

系統的評估與討論

Http://203.217.102.121/ASP/Train_a.ASP 就可以查詢及下載到最新的火車時刻表。

成直接藉由無線網路去執行查詢的動作,就像網頁版一樣,無需下 載資料庫到 PDA 上,這樣一來就真的實行了走到那查詢到那,而 且保證一定是最新的資料。

而更新火車時刻資料庫則是連結到 Http://203.217.102.121/ASP/Train_a.ASP 就可以下載到最新的火車時刻資料庫。

討論:

此系統的完成全賴黃秋煌教授的耐心指導以及台鐵資訊中心 黃志全先生的全力協助及蔡進義學長的指導之下所完成的,雖然 並不是很理想,但我們相信這應該是一種突破,將以前大家都以 為火車時刻只能在網頁上查詢的思想打破,只要技術上可以克 服,不但是火車時刻,有著更多的便利的東西都可以移植到 PDA 上來,這樣一來,才能發揮 PDA 的功能。

第七章 結論與心得

該是想要磨磨我們的程式功力吧!後來覺得也五月中了,想和老師討

難,但是畢竟從以前到現在從來沒有碰過 ASP 所以也花了一小段時

再來就是要做 WIN CE 的部份了,從來沒有用過 PDA 真的不知 差多了,像資料庫的轉檔使用 Microsoft Active sync 來傳檔案進 機器,就會有超奇怪的問題出現,找尋資料的速度超慢的,這一些問

SQL 的支援並不完全,以致於速度上慢了很多,檢討出大致上會慢是

最新的火車時刻表,真是方便阿;一開始教授就安排研究所的學長教 JavaScript,我們是採取 JavaScript 來寫程式,再經由黃秋煌教授 指導的巢狀式 SQL,將有關聯的欄位從 Table 中取出,而不必要的資

最後,利用 EVB(Embedded Visual Basic)來寫 WIN CE 的程式,

WIN CE 是最頭痛的部分,雖然它少掉了 PALM OS 轉檔的部分,不過 比較起來仍蠻吃力的,將原本的資料庫轉進 WIN CE 裡面都沒問題,

隨著 ASP 中加班車的陸續增加,使得原本的資料庫瞬間變大 2~3 倍,

接著要轉成 WIN CE 格式的資料庫也就比想像中困難很多,轉個三天 三夜,PDA 的資料庫還是轉不進去,最後在老師的建議之下,將過站

不停的班車在 JAVA 執行轉換程式時不要寫入資料庫才得以解決,也

習資料的收集花了不少的精力和時間心血,不過現在實做起來才發現

找到了可以用的資料庫專用語法來代替才解決問題還有資料庫裡的

光在 PDA 方面就花了我們好長一段時間才用好,其中求助了老師、

專題的過程中,會遇到的困難,要我們就把它當作是一種磨練,終於,

以用的 SQL 指令變成有的可以有的不行,還有在資料庫方面,資料庫

學長,謝謝他們給我們的指導。

參考資料 :

[1] : JAVA HOW TO PROGRAM THIRD EDITION (Java 程式設計第三 版)

原著 : H.M.Deitel,P.J.Deitel 編譯 : 楊錦文 鄧永亥 謝金興

[8] : 輕鬆使用 Visual Basic 6.0 中文版 作者 : 蕭世彰、周千 代

出版社 : 儒林 1998年12月初版

[9] : DATABASE SYSTEM(A Practical Approach to Design,

Implementation,and Management)

作者 : THOMAS CONNOLLY、CAROLYN BEGG 出版社 : ADDISON WESLEY 第二版

[10] : ASP3.0 網際網路應用系統實作 作者 : 科南資訊 出版社 : 松崗 2000 年 9 月 初版、2001 年 4 月初版二刷 [11] : Microsoft WINDOWS CE API 程式開發指南 第二版

作者 : Douglas Boling

出版社 : 華彩 2002/1/23 初版

附錄一:

TABLE-TrainTime

TABLE-TrainTimeAdd

TABLE-Train

TABLE-TrainAdd

TABLE-TrainName

TABLE-RoadName

TABLE-Station

附錄二(台灣鐵路局資訊中心黃志全先生提供):

註 2:「任務」欄之內容為 8 bytes 第 8 byte 通過

第 7 byte 載客 第 6 byte 待避 第 5 byte 交會 第 4 byte 避讓 第 3 byte 貨車調車 第 2 byte 其它 第 1 byte 保留

二、車次資料檔(行車計劃檔)(tplan)

2 : 貨車

註 4:「經由」欄2byte 內容為:

註 5:支線代號

10 縱北線 11 縱海線 12 縱南線 13 台中線 14 屏東線 15 南迴線 16 花東線 17 北迴線 18 宜蘭線 19 平溪線 20 深澳線 21 林口線

22 內灣線 23 台中港線

24 龍井儲煤場 線

25 神岡線

26 成追線 27 集集線 28 松山-南調線

29 鼓山-高雄港 線

30 鼓山-高雄線 31 高雄-前鎮線 32 南花蓮港線 33 中興ㄧ號線 34 中興二號線 36 基隆-八堵線 37 八堵-七調線 38 新貨-新竹線 39 松山-機廠線 40 松山-台北線 41 樹調-1 線 42 東港支線 43 東南支線 44 北花蓮港線 45 46

47 48 談文線 49 樹調-2 線

三、順/逆行資料檔(tdir)之欄位內容為:

註 6: 牽引種別代號

0 EMU 1 E 客甲 A 2 E 客甲 B 3 E 客乙 A 4 E 客乙 B 5 客甲 A 6 客甲 B 7 客乙 A 8 客乙 B 9 客乙 C 10 客丙 A 11 客丙 C 12 柴(特) 13 柴(普) 14 DMU 15 E 貨甲 16 E 貨乙 17 貨乙 A 18 貨乙 B 19 電車 20 特 EMU 21 客丙 B 22 特客甲 A 23 柴(普小) 24 客丙 D 25 E 客乙 C 26 E 特客甲 A 27 E 特客甲 B 28 貨乙(60km) 29 PP 30 DRC 99 固定時分

五、車站代碼表(tstation)

欄位名稱 資料型態 長度(byte)

車站代碼 數字 4

車站名稱 文字 8

EOF

在文檔中 火車時刻查詢系統 (頁 10-0)

相關文件