⑴ C#城市公交信息管理系統
隨著經濟的日益增長,信息化時代已經到來,生活中各種信息趨向數字化、清晰化。公交車作為現代城市生活中一種重要的交通工具,其數量增多,車型也不再單一,僱用的司機增多,這樣使得公交車公司的車輛信息管理復雜化。在這樣的背景下,提出了計算機管理的公交車管理系統,輔助公交車運營公司對車輛進行管理,實現公交車、公交線路和司機管理科學化,更合理的利用資源。
該系統主要根據實際的需求,以需求分析、系統的設計目標,並且重點進行系統功能模塊的詳細設計和實現,採用了C#開發語言和 SQL Server 2000資料庫,實現了車輛信息管理、司機信息管理、線路信息管理和車輛分配線路管理等功能。在針對數據操作方面,主要通過存儲過程的方式實現數據的添加、刪除和查詢等操作。通過系統測試,解決了公交車輛管理系統主要問題。
關鍵詞: 管理系統;資料庫;存儲過程
1.1 信息管理系統簡介 1
1.2 開發背景和意義 1
1.3 系統設計目標 1
2 需求分析 1
2.1 系統需求 1
2.2 功能需求 2
2.3 性能需求 2
3 系統開發相關技術 3
3.1 編程環境的選擇 3
3.2 關系型資料庫 3
4 總體設計 4
4.1 設計思想與處理流程 4
4.2 系統層次模塊圖 4
4.3 模塊設計 4
5 資料庫設計 5
5.1 ADO.NET綜述 5
5.2 邏輯設計 5
5.3 存儲過程 7
6 詳細設計 8
6.1 登錄模塊 8
6.2 主操作界面模塊 10
6.3 系統用戶注冊模塊 11
6.4 車輛信息管理模塊 12
6.5 司機信息管理模塊 13
6.6 線路信息管理模塊 15
6.7 車輛分配線路管理模塊 15
7 系統維護和改進 17
7.1 運行維護 17
7.2 系統改進和提高 17
結 論 17
參考文獻 18
致 謝 19
⑵ 如何設計公交路線查詢資料庫
需要三張表:
1、站點,欄位為:SID,NAME
2、路線,欄位為:PID,NAME
3、路線-站點表,欄位為:PID,SID,INDEX;
其中INDEX是站點在該路線中的序號,例如第一個站點的
INDEX為1,第二個站點的為2,依此類推
編程時可以採用十字鏈表來存儲線路信息,其中一維為站點,
另一維為路線。
演算法採用廣度優先搜索,從起點出發,由近及遠,直到找到
目標站點,這樣找到的路徑經歷的站點最少;也可對它稍做
調整,尋找換乘次數最少的乘車方式。
祝你好運!
⑶ 公交查詢資料庫設計
3.1一般換乘演算法
設 ,(i =1,2,…,m;t=1,2,…,m;m為正整數)為第t次循環時所對應的經過當前起點Start的線路集。 ,(j =1,2,…,n;n為正整數)為第t次循環時所對應的經過當前終點End的線路集。 ,( u = 1,2,…,p;p為正整數)為第t次循環時所對應的經過當前起點的線路i上的後續站點中的拓撲站點(即可能的轉乘點)集,包括當前起始點。 ,( v =1,2,…,q;q為正整數)為第t次循環時所對應的經過當前終點的線路i上的前繼站點中的拓撲站點集,包括當前終點。D為搜索最近公交站點時的半徑。
實現 n次換乘的演算法如下:
(1)獲取出發地a和目的地b;
(2)根據給定半徑 D,搜索得到出發地與目的地鄰近區域的公交站點,並以離其最近的公交站點作為起始站點A及目的站點B,並將A、B作為當前的起點Start和終點End;
(3)求經過當前起點的線路集 及經過當前終點的線路集 ;
(4)判斷是否 ?如果是,則實現第 次轉乘,輸出結果,結束運算。 時滿足此條件的線路 ,也就是 為起始站點 到目的站點 的直達線路; 時,得到換乘 次的乘車方案為: 。如果不是,則進行下一步。
(5)求經過當前起點的所有線路上的後續站點中的拓撲站點集 及當前終點的所有線路上的前繼站點中的拓撲站點集 ;
(6)判斷是否存在相同站點,即是否有 ?若有,則實現第 次轉乘,輸出結果,結束運算。計算各種k次換乘方法的乘車線路上沿途經過站點數,得到站點數最少的方案,再求轉車地點及其沿途站點。由此得到的站點、線路序列: 。(可能不止一種)即為需換乘 次的乘車方案;如果沒有,則進行下一步。
(7)順序將拓撲站點集 和 中的站點作為當前的起點和終點;
(8)轉至步驟(3)。
3.2換乘矩陣演算法
(1)初始矩陣 :首先輸入所有站點,對於任何兩站點 、 之間,如果可以直達,則 ;否則, ,計算出初始矩陣 。
(2)一次換乘矩陣 :在 中,如果 ,則 ;如果 ,並且存在點 ,使得 、 ,則 ,表示從站點 到 需經過1次換乘;否則, ,如此計算得1次換乘矩陣 。
(3)二次換乘矩陣 :在 中,如果 =1或2,則 ;如果 ,存在點 ,使得 、 ,則 ,表示從站點 到 需經過兩次換乘;否則, 。
(4)同樣的方法得到n次換乘矩陣 。
(5)如果 中沒有0元素,則表示所有的站點都可以互通,停止計算;否則,繼續重復上面的方法計算更多次的換乘矩陣。
3.3 基於Dijkstra演算法的最優路徑演算法[ ]
將與起點 鄰接的所有頂點的 初始化為 ,這個初始化用於記錄當前可用的最好信息。也就是說,從 到頂點 的最短路徑,即是由 到它自身那條路徑再擴充一條邊得到。當找到更短的路徑時, ( 給出從 到達 的路徑中頂點 前面的那個頂點)值將被更新。若產生了下一條最短路徑,需要根據路徑的擴充邊來更新 的值。步驟如下:
(1)初始化 ,對於鄰接於 的所有頂點 ,置 ,對於其餘的頂點置 ;對於 的所有頂點建立 表。
(2)若 為空,終止,否則轉至(3)。
(3)從 中刪除 值最小的頂點。
(4) 對於與 鄰接的所有還未到達的頂點,更新 值為 ;若 發生了變化且 還未在 中,則置 ,並將 加入 ,轉至(2)。