![信息安全概論基于.NET的公交查詢系統(tǒng)方案_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/5/3ca15e10-34cf-4b4c-a634-51498e52bc4a/3ca15e10-34cf-4b4c-a634-51498e52bc4a1.gif)
![信息安全概論基于.NET的公交查詢系統(tǒng)方案_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/5/3ca15e10-34cf-4b4c-a634-51498e52bc4a/3ca15e10-34cf-4b4c-a634-51498e52bc4a2.gif)
![信息安全概論基于.NET的公交查詢系統(tǒng)方案_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/5/3ca15e10-34cf-4b4c-a634-51498e52bc4a/3ca15e10-34cf-4b4c-a634-51498e52bc4a3.gif)
![信息安全概論基于.NET的公交查詢系統(tǒng)方案_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/5/3ca15e10-34cf-4b4c-a634-51498e52bc4a/3ca15e10-34cf-4b4c-a634-51498e52bc4a4.gif)
![信息安全概論基于.NET的公交查詢系統(tǒng)方案_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/5/3ca15e10-34cf-4b4c-a634-51498e52bc4a/3ca15e10-34cf-4b4c-a634-51498e52bc4a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 20 / 21基于.NET的公交查詢系統(tǒng)摘要:計(jì)算機(jī)技術(shù)不斷發(fā)展,互聯(lián)網(wǎng)成為現(xiàn)在社會(huì)人們信息交流與獲取的重要途徑之一。公交查詢系統(tǒng)為市民解決出行線路的選擇問(wèn)題,提供最優(yōu)的轉(zhuǎn)乘方案,大大提高了公交線路的利用率。本文介紹的公交查詢系統(tǒng)是基于.NET的B/S架構(gòu),后臺(tái)編程語(yǔ)言采用C#,數(shù)據(jù)庫(kù)使用Microsoft SQL Server 2005。主要實(shí)現(xiàn)查詢模塊與管理模塊的兩大功能,其中查詢模塊包括:線路查詢、站點(diǎn)查詢、站站查詢,管理模塊包括:線路管理、站點(diǎn)管理、站點(diǎn)次序管理。通過(guò)公交查詢系統(tǒng),實(shí)現(xiàn)了公交信息的規(guī)系統(tǒng)化,使管理工作的成本、效率也有所改進(jìn)。關(guān)鍵詞:公交查詢;B/S;ASP.NET;M
2、icrosoft SQL Server 20051引言1.1 研究背景隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,城市規(guī)模越來(lái)越大,道路改建與家用汽車的普與。同時(shí)也帶來(lái)交通堵塞擁擠、城市空氣的污染以與交通事故的頻繁發(fā)生等諸多問(wèn)題,對(duì)市民的生活和工作影響很大。我們現(xiàn)在提倡低碳環(huán)保、綠色出行的生活理念,公共交通成為我們的首選。公共交通和其他交通方式相比具有人均占用道路少、能源消耗低、運(yùn)輸成本低以與客運(yùn)量大等優(yōu)點(diǎn),可以解決城市交通擁堵問(wèn)題 。公共交通無(wú)法比擬的強(qiáng)大優(yōu)勢(shì)也就越來(lái)越受到人們的廣泛關(guān)注。在早期政府就明確提出了城市交通系統(tǒng)應(yīng)以公共交通為主的發(fā)展方針,為公交事業(yè)的快速發(fā)展提供了保障。目前我國(guó)的公共交通方面仍處于需
3、要大力的發(fā)展階段并且存在著許多問(wèn)題,主要有交通與道路發(fā)展的不平衡、交通管理設(shè)備的缺乏以與交通管理手段的落后即交通管理沒有全面實(shí)施信息化,使得公共交通發(fā)展緩慢。由于公交乘車的不方便、準(zhǔn)時(shí)性差、公交服務(wù)質(zhì)量低,公交信息更新慢,市民對(duì)公交出行的吸引力漸漸減少。城市公交直接關(guān)系著城市的經(jīng)濟(jì)發(fā)展和居民生活,對(duì)城市經(jīng)濟(jì)具有全局性、先導(dǎo)性的影響。在現(xiàn)在的信息化時(shí)代,如何將信息和通訊技術(shù)用于傳統(tǒng)的公共交通系統(tǒng)中,使公交系統(tǒng)真正實(shí)現(xiàn)智能化與信息化是現(xiàn)在公交發(fā)展的一個(gè)重要問(wèn)題。1.2 開發(fā)意義對(duì)于開發(fā)本公交查詢系統(tǒng)將會(huì)給市民的出行帶來(lái)極大的方便,可以幫助他們有效查詢選擇到最省時(shí)、省錢的公交線路以到達(dá)目的地。公交查
4、詢系統(tǒng)還可以與時(shí)提供各種公交動(dòng)態(tài)信息,以適應(yīng)市民對(duì)公共交通信息的需求,提高公交出行對(duì)市民的吸引力。尤其是對(duì)于初到本市的旅游辦公人員,使其可以對(duì)公交線路有快速了解,選擇正確的公交線路?,F(xiàn)在城市人口的數(shù)量龐大,出行擁擠,公交系統(tǒng)可以使公交資源得到更有效的利用,并且對(duì)緩解交通壓力和降低城市污染也有重大意義。2相關(guān)技術(shù)介紹2.1 ASP.NET 3.5ASP.NET 3.5是微軟公司推出的基于B/S模型的技術(shù),用于構(gòu)建動(dòng)態(tài)Web應(yīng)用程序的技術(shù),是基于Web服務(wù)器的技術(shù)。ASP.NET 3.5對(duì)代碼質(zhì)量的嚴(yán)格控制,從而提高了Web應(yīng)用程序的安全性、可管理性和擴(kuò)展性。相比之前的ASP.NET1.1與ASP
5、.NET 2.0技術(shù)版本,ASP.NET 3.5也有了非常多的改進(jìn)。采用ASP.NET3.5開發(fā)公交查詢系統(tǒng)具有下列幾個(gè)方面特點(diǎn) 1:(1)ASP.NET 3.5集成了AJAX框架,支持異步數(shù)據(jù)處理和頁(yè)面的局部刷新。集成在.NET平臺(tái)上,能夠完成更負(fù)責(zé)的跨平臺(tái)任務(wù),更加簡(jiǎn)單化的創(chuàng)建標(biāo)準(zhǔn)的AJAX應(yīng)用程序。(2)支持LINQ集成查詢技術(shù),可以提供用更簡(jiǎn)潔的代碼實(shí)現(xiàn)復(fù)雜查詢的功能。LINQ支持對(duì)象、數(shù)據(jù)庫(kù)和泛型列表等查詢。(3)引入了新的結(jié)構(gòu)和模型,幫助開發(fā)人員完成向應(yīng)用程序添加擴(kuò)展的初始工作,確保開發(fā)的外接程序和擴(kuò)展性。2.2 C#語(yǔ)言C#是一種簡(jiǎn)單、安全、面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是專門為.NE
6、T的應(yīng)用而開發(fā)的語(yǔ)言。C#語(yǔ)言是從C和C+演變而來(lái),盡管借鑒了C和C+的許多東西。C#學(xué)習(xí)起來(lái) 要比C+容易得多,但比Java難一些。其設(shè)計(jì)與現(xiàn)代開發(fā)工具的適應(yīng)性要比其他語(yǔ)言更高,它同時(shí)具有Visual Basic的易用性、高性能以與C+的低級(jí)存訪問(wèn)性。使用C#語(yǔ)言開發(fā)公交查詢系統(tǒng)主要是因?yàn)镃#包括以下一些特性4:(1)C#是專為.NET應(yīng)用而開發(fā)的語(yǔ)言,從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運(yùn)行庫(kù)的支持下,.NET框架的各種優(yōu)點(diǎn)在C#中得到體現(xiàn)。(2)語(yǔ)法簡(jiǎn)潔,不允許進(jìn)行直接存取存等不安全的操作,去掉了指針操作。有強(qiáng)大的安全機(jī)制,可以減少軟件開發(fā)中的常見語(yǔ)法錯(cuò)誤。(3)面向?qū)?/p>
7、象,具有封裝、繼承和多態(tài)特性。C#提供了完善的錯(cuò)誤和異常處理機(jī)制,增強(qiáng)程序的應(yīng)用性。C#語(yǔ)言在他的數(shù)據(jù)類型、垃圾回收、存壓縮、異常處理等諸多方面都有絕對(duì)的優(yōu)越性。(4)與WEB緊密結(jié)合,C#支持絕大多數(shù)的WEB標(biāo)準(zhǔn),如HTML、XML等。C#遵循.NET的公共語(yǔ)言規(guī),從而可以保證與其他語(yǔ)言開發(fā)的組件兼容。(5)靈活的版本處理技術(shù),C#語(yǔ)言本身置了版本控制功能,開發(fā)人員可以更容易的開發(fā)和維護(hù)。 盡管C#不能確保正確的版本控制,但是它可以為程序員保證版本控制成為可能。2.3ADO.NETADO.NET提供一個(gè)統(tǒng)一的編程模式和一組公用的類來(lái)進(jìn)行任何類型的數(shù)據(jù)訪問(wèn),而不管用何種語(yǔ)言開發(fā)代碼。數(shù)據(jù)共享使
8、用者應(yīng)用程序可又使用ADO.NET來(lái)連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ADO.NET是以XML格式傳遞數(shù)據(jù)的。ADO.NET一個(gè)重要優(yōu)點(diǎn)就是它是建立在.NET Framework之上的,可以通過(guò)任何基于.NET的編程語(yǔ)言直接無(wú)縫地使用ADO.NET 5。使用ADO.NET開發(fā)公交查詢系統(tǒng)主要還包括以下幾個(gè)特點(diǎn):(1)支持?jǐn)嚅_連接,當(dāng)數(shù)據(jù)被讀入到數(shù)據(jù)集中后,可以在斷開數(shù)據(jù)庫(kù)連接的方式下,對(duì)數(shù)據(jù)集中的數(shù)據(jù)執(zhí)行查詢、添加、刪除等操作,然后再返回到數(shù)據(jù)庫(kù)中。(2)使用數(shù)據(jù)集存儲(chǔ)從數(shù)據(jù)庫(kù)中獲取的數(shù)據(jù),可以緩存在本地的存中。(3)可以根據(jù)需要自動(dòng)將數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)換成XML文件,或?qū)ML文件轉(zhuǎn)換
9、在數(shù)據(jù)庫(kù)的數(shù)據(jù)。2.4Microsoft Visual Studio 2008Visual Studio是目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境,使用的開發(fā)語(yǔ)言有Visual Basic、Visual C#和Visual C+。Visual Studio 2008更多的關(guān)注細(xì)節(jié),擁有大量的快捷鍵,充分考慮了編程人員的習(xí)慣。并且提供了大量的新特性和新功能,大大提高了編程人員的工作效率。使用Visual Studio 2008開發(fā)公交查詢系統(tǒng)主要是因?yàn)橐韵聨讉€(gè)原因:(1)新的界面風(fēng)格,提供新的分割視圖,允許編輯HTML源代碼并查看頁(yè)面效果。(2)對(duì)層疊樣式表的支持能力大大增強(qiáng),并且控件的樣
10、式可以立刻顯現(xiàn)出來(lái),所見即所得。(3)支持嵌套母版頁(yè)開發(fā),客戶端不再僅僅支持標(biāo)準(zhǔn)JavaScript的對(duì)象,而且能自動(dòng)地顯示那些自定義的變量和方法,更強(qiáng)的腳本調(diào)試功能。 (4)可以讓用戶體驗(yàn)到豐富的CSS編輯功能,較以前更加輕松地使用CSS。代碼的智能感應(yīng)有很大改進(jìn),支持多種腳本編寫。2.5Microsoft SQL Server 2005SQL Server 2005是在SQL Server 2000的基礎(chǔ)上的改進(jìn),提供了強(qiáng)大的數(shù)據(jù)管理和分析的功能。SQL Server 2005在數(shù)據(jù)庫(kù)核心做了相當(dāng)大的改變,將.NET集成到數(shù)據(jù)庫(kù)引擎中,因此開發(fā)人員除了可用原有的T-SQL語(yǔ)法進(jìn)行開發(fā)之外,
11、也可使用.NET語(yǔ)言。簡(jiǎn)易版是一個(gè)免費(fèi)、易用且便于管理的數(shù)據(jù)庫(kù),它與Microsoft Visual Studio 2008集成在一起,可以輕松開發(fā)功能豐富、存儲(chǔ)安全、可快速部署的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。使用SQL Server 2005開發(fā)公交查詢系統(tǒng)主要是因?yàn)槠渚哂幸韵麻_發(fā)特性:(1)使用SQL Server 2005,開發(fā)人員通過(guò)使用相似的語(yǔ)言,如Visual C#和Visual Basic,創(chuàng)立數(shù)據(jù)庫(kù)對(duì)象。開發(fā)人員還將能夠建立用戶定義的類和集合這兩個(gè)新的對(duì)象。(2)不同應(yīng)用軟件之間傳輸數(shù)據(jù)的時(shí)候,可擴(kuò)展標(biāo)記語(yǔ)言(XML)是一個(gè)重要的標(biāo)準(zhǔn)。SQL Server 2005將會(huì)自身支持存儲(chǔ)和查詢可
12、擴(kuò)展標(biāo)記語(yǔ)言文件。(3)使用ADO.NET 2.0 版本, SQL Server 2005中的ADO.NET將推動(dòng)數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級(jí)性和靈活性。(4)在安全方面,SQL Server 2005中的新安全模式將用戶和對(duì)象分開,允許對(duì)數(shù)據(jù)存取進(jìn)行更大的控制。另外,所有系統(tǒng)表格將作為視圖得到實(shí)施,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象進(jìn)行了更大程度的控制。3系統(tǒng)分析與設(shè)計(jì)3.1 系統(tǒng)需求分析在開發(fā)項(xiàng)目的過(guò)程中,進(jìn)行系統(tǒng)的需求分析是十分必要的,尤其是復(fù)雜性高規(guī)模大的系統(tǒng)開發(fā)。需求分析主要是在調(diào)查分析的基礎(chǔ)上將非形式的需求轉(zhuǎn)化為完整的需求定義,最終轉(zhuǎn)換為功能說(shuō)明。本系統(tǒng)主要是從以下幾個(gè)方面進(jìn)行需求分析:(1
13、)普通的訪客能夠查詢到所需的信息,包括具體的線路查詢、對(duì)某一站點(diǎn)的查詢以與對(duì)指定起點(diǎn)和終點(diǎn)的轉(zhuǎn)乘查詢。如:在查詢功能中,用戶輸入要查詢的車次等信息即可得出與它相關(guān)的結(jié)果。在站點(diǎn)查詢中系統(tǒng)支持拼音檢索的查詢。(2)系統(tǒng)管理員能夠?qū)恍畔⑦M(jìn)行增加、刪除和修改操作,主要包線路的管理、站點(diǎn)的管理、站點(diǎn)次序的管理和站點(diǎn)關(guān)聯(lián)信息管理。管理員可以設(shè)置公交線路信息,能夠?qū)€路信息進(jìn)行修改。如:實(shí)現(xiàn)對(duì)某一線路上站點(diǎn)的增加與刪除。(3)在系統(tǒng)安全性方面,只有管理員才能對(duì)后臺(tái)系統(tǒng)數(shù)據(jù)的操作,普通訪客只允許查詢操作(4)在使用操作方面,城市公交查詢系統(tǒng)使用起來(lái)簡(jiǎn)單、方便、界面友好。3.2 可行性分析在進(jìn)行了系統(tǒng)的需
14、求分析后,明確了開發(fā)系統(tǒng)的功能和目標(biāo),就要進(jìn)行可行性研究分析??尚行苑治鼍褪菑纳鐣?huì)因素、技術(shù)因素和經(jīng)濟(jì)因素三個(gè)方面對(duì)開發(fā)項(xiàng)目的必要性和實(shí)現(xiàn)目標(biāo)的可能性進(jìn)行分析??尚行苑治龅哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間確定該項(xiàng)目是否能夠開發(fā),是否值得開發(fā)。以下分別從三個(gè)方面進(jìn)行可行性分析:(1)技術(shù)可行性技術(shù)上的可行性分析主要是分析技術(shù)條件是否可以順利完成開發(fā)工作,從硬件和軟件兩方面考慮能否滿足開發(fā)需求。本查詢系統(tǒng)以C#為編程開發(fā)的語(yǔ)言,Visual Studio 2008為開發(fā)環(huán)境,數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2005。在硬件方面,性能越來(lái)越高,價(jià)格越來(lái)越低,因此其硬件平臺(tái)也可
15、以完全能滿足此系統(tǒng)的需要。 (2)社會(huì)可行性主要考慮所開發(fā)項(xiàng)目是否在一些社會(huì)問(wèn)題,隨著城市規(guī)模越來(lái)越大,道路改建與家用汽車的普與,如何減輕交通壓力、提供省時(shí)的交通路線選擇成為大多城市的發(fā)展前提。信息技術(shù)的發(fā)展與計(jì)算機(jī)的普與,使得公交查詢系統(tǒng)的用戶可以通過(guò)網(wǎng)絡(luò)方便、快捷的查詢到相應(yīng)的公交信息,所以公交查詢系統(tǒng)的實(shí)施是可行的。(3)經(jīng)濟(jì)可行性主要是對(duì)系統(tǒng)的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià),本系統(tǒng)作為畢業(yè)設(shè)計(jì),無(wú)需開發(fā)經(jīng)費(fèi)。在硬件方面,開發(fā)本系統(tǒng)主要是個(gè)人使用筆記本完成。在軟件方面使用的是免費(fèi)的相關(guān)軟件,包括Microsoft Visual Studio 2008、SQL Server 2005等。開發(fā)公交查詢系統(tǒng)
16、主要是可以為用戶提供便利的公交查詢方式,所以開發(fā)公交查詢系統(tǒng)在經(jīng)濟(jì)上是可行的。3.3 公交信息分析公交系統(tǒng)由多條公交線路組成,而公交線路則包括多個(gè)站點(diǎn)。實(shí)際生活線路可以分成多種,在本公交查詢系統(tǒng)主要討論上下行站點(diǎn)一致的線路,這種線路也是城市公交線路的主要形式之一。在現(xiàn)實(shí)線路中,每一條線路都有其起始站點(diǎn)和終點(diǎn)站點(diǎn),其中還包括許多其他途經(jīng)的站點(diǎn)。在上下行一致的線路中,上行和下行線路只是行車的方向相反,經(jīng)過(guò)的中間站點(diǎn)的一樣?;蛘哒f(shuō)上下行線路只是從起始站點(diǎn)至終點(diǎn)站點(diǎn)的站點(diǎn)順序的不同。例如某一條線路上行經(jīng)過(guò)的是起始站點(diǎn)1、站點(diǎn)2、站點(diǎn)3、站點(diǎn)4與終點(diǎn)站點(diǎn)5,則線路下行經(jīng)過(guò)的站點(diǎn)是起始站點(diǎn)5、站點(diǎn)4、站點(diǎn)
17、3、站點(diǎn)2與終點(diǎn)站點(diǎn)1。如圖3.1線路上下行所示。(起始)站點(diǎn)1 站點(diǎn)2 站點(diǎn)3 站點(diǎn)4 (終點(diǎn))站點(diǎn)5上行 (終點(diǎn))站點(diǎn)1 站點(diǎn)2 站點(diǎn)3 站點(diǎn)4 (起始)站點(diǎn)5下行圖3.1 線路上下行在實(shí)際生活的換乘中,乘客有時(shí)是需要步行一段的。主要是在公交線路密集區(qū)域選擇步行幾十米可以找到更方便省時(shí)的乘車方案。如有以下三條公交線路,線路A經(jīng)過(guò)的站點(diǎn)有:站點(diǎn)1、站點(diǎn)2、站點(diǎn)3、站點(diǎn)4,線路B經(jīng)過(guò)的站點(diǎn)有:站點(diǎn)5、站點(diǎn)6、站點(diǎn)7,線路C經(jīng)過(guò)的站點(diǎn)有:站點(diǎn)8、站點(diǎn)9、站點(diǎn)10,如圖3.2所示?,F(xiàn)在有乘客需要從站點(diǎn)2至站點(diǎn)7,如圖可知并沒有線路直接到達(dá)。但是站點(diǎn)2與站點(diǎn)6之間距離很近只要走幾分鐘便可到達(dá),而站點(diǎn)
18、6可以通過(guò)線路B直接到達(dá)目的地站點(diǎn)7,這樣可以非常高效的利用了公交線路。線路C 站點(diǎn)8 站點(diǎn)7站點(diǎn)2 站點(diǎn)4站點(diǎn)1 線路A 站點(diǎn)3 站點(diǎn)9站點(diǎn)6線路B站點(diǎn)5 站點(diǎn)10圖3.2 站點(diǎn)間的關(guān)聯(lián)3.4 系統(tǒng)功能分析在本公交查詢系統(tǒng)中主要實(shí)現(xiàn)一般訪客的公交信息查詢功能和系統(tǒng)管理員的后臺(tái)信息管理功能,訪客的公交信息查詢主要包括以下幾個(gè)功能:(1)線路查詢:訪客可以通過(guò)公交車線路名稱查詢公交線路信息包括上行和下行的信息,可以輸入完整的公交車線路名稱,也支持模糊查詢,若查找不到也返回一個(gè)提示信息。如:要查詢606路的線路詳細(xì)信息,可以輸入606路或606,點(diǎn)擊查詢按鈕,便可查詢到606路的上行和下行的詳細(xì)信
19、息。(2)站點(diǎn)查詢:主要是訪客通過(guò)公交站點(diǎn)名稱查詢到經(jīng)過(guò)該站的公交車的信息,支持模糊查詢,如果查找不到也返回一個(gè)提示信息。站點(diǎn)查詢支持拼音檢索,如:站點(diǎn)名火車站,當(dāng)用戶輸入中央門的每個(gè)字的開頭拼音“hcz”時(shí)系統(tǒng)也會(huì)查詢到火車站的站點(diǎn)信息返回給用戶。(3)站站查詢:也就是換乘,主要是輸入起始站點(diǎn)與終點(diǎn)站點(diǎn)的名稱,查詢兩站之間的公交車乘車方案。是這三種查詢中最復(fù)雜的,同時(shí)也是在三種查詢中查詢比例最大的一種公交查詢。主要有三種,直達(dá)方案、一次換乘方案和一次以上次換乘方案。查詢時(shí)先查找直達(dá)方案,若沒有,則進(jìn)行一次換乘方案,然后進(jìn)行一次以上換乘方案查找,若查找不到則返回?zé)o結(jié)果提示。一般來(lái)說(shuō),換乘次數(shù)不
20、大于二,否則無(wú)意義。為了方便對(duì)公交信息的更新與修改,系統(tǒng)提供了后臺(tái)管理的管理員登錄。在系統(tǒng)安全方面,只有管理員輸入正確的用戶名與密碼才可以進(jìn)入系統(tǒng)的后臺(tái)管理。系統(tǒng)管理員的后臺(tái)管理主要功能包括以下幾個(gè)方面:(1)線路管理:可以實(shí)現(xiàn)線路的添加,添加信息包括:線路名、出發(fā)時(shí)間、到達(dá)時(shí)間、上下行與線路信息。編輯線路可以實(shí)現(xiàn)對(duì)線路信息的編輯與刪除。(2)站點(diǎn)管理:主要實(shí)現(xiàn)對(duì)站點(diǎn)信息的添加,添加信息包括:站點(diǎn)名、所屬線路與站點(diǎn)信息。編輯站點(diǎn)可以實(shí)現(xiàn)對(duì)站點(diǎn)信息的編輯與刪除。(3)站點(diǎn)次序管理:主要實(shí)現(xiàn)站點(diǎn)在所屬線路中次序的編輯。(4)管理員信息的管理:可以修改管理員的密碼。(5)站點(diǎn)關(guān)聯(lián)信息的管理:對(duì)某一站
21、點(diǎn)的相關(guān)聯(lián)站點(diǎn)可以實(shí)現(xiàn)編輯修改。3.5 換乘算法分析在公交系統(tǒng)中,每換乘一次就要多一次等待的時(shí)間。并且等待時(shí)間由于路狀和高峰期不定,換乘次數(shù)越多等待時(shí)間也越長(zhǎng)。同時(shí)每換乘一次也意味著費(fèi)用的增加。對(duì)于不熟悉公交路線的市民,換乘次數(shù)越多,出錯(cuò)的機(jī)會(huì)就會(huì)增大,帶來(lái)非常多的不便。訪客在選擇乘車方案時(shí),會(huì)考慮自身的因素,并不一定固定選擇某一種方案。所以本系統(tǒng)提供所有方案,供訪客自己選擇。在查找出發(fā)站點(diǎn)為A,目的站點(diǎn)B的換乘方案時(shí),首先會(huì)查找是否直達(dá),如果直達(dá)則直接提供直達(dá)線路。若有多條直達(dá)線路則全部輸出。沒有直達(dá),則查找一次換乘的方案,全部輸出供訪客參考。若查找不到一次換乘,則繼續(xù)查找二次換乘。在公交查
22、詢系統(tǒng)查找乘車方案時(shí)還考慮了站點(diǎn)的關(guān)聯(lián),所以公交乘車的算法比較復(fù)雜。3.5.1 直達(dá)在輸入出發(fā)站點(diǎn)為A,目的站點(diǎn)B后,系統(tǒng)首先會(huì)通過(guò)查找線路站點(diǎn)信息判斷是否直達(dá)。如果直達(dá)則直接提供直達(dá)線路,若有多條直達(dá)線路則全部輸出。沒有直達(dá),則查找通過(guò)站點(diǎn)相關(guān)性是否有交集尋找其他直達(dá)方案。(1)通過(guò)線路站點(diǎn)信息有直接交集找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù),經(jīng)過(guò)B的線路集合T(I)(I=1,2,3,n)n為整數(shù),判斷S(I)與T(I)的交集是否為空,若不為空,查找到了交集線路L。則A到B為直達(dá)線路。如圖3.3直達(dá)方案1所示。 A B圖3.3 直達(dá)方案1(2)通過(guò)站點(diǎn)關(guān)聯(lián)有直接交集在站點(diǎn)
23、A和站點(diǎn)B通過(guò)查找線路站點(diǎn)信息沒有找到直達(dá)線路,則通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到與站點(diǎn)A、站點(diǎn)B相關(guān)聯(lián)的站點(diǎn),找到關(guān)聯(lián)站點(diǎn)后判斷是否可以直達(dá),存在三種情況分別如下。通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)A的關(guān)聯(lián)站點(diǎn)T,找出經(jīng)過(guò)T的線路集合Q(I)(I=1,2,3,m)m為整數(shù),經(jīng)過(guò)B的線路集合T(I)(I=1,2,3,n)n為整數(shù),判斷Q(I)與T(I)的交集是否為空。若不為空,查找到了交集線路L。則從站點(diǎn)A步行X米后到達(dá)站點(diǎn)T后,可以乘線路L直達(dá)至站點(diǎn)B。如圖3.4直達(dá)方案2所示。T B A圖3.4 直達(dá)方案2通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)B的關(guān)聯(lián)站點(diǎn)T,找出經(jīng)過(guò)A的線路集合P(I)(I=1,2,3,m)m為整數(shù),
24、經(jīng)過(guò)T的線路集合T(I)(I=1,2,3,n)n為整數(shù),判斷P(I)與T(I)的交集是否為空。若不為空,查找到了交集線路L。則從站點(diǎn)A乘線路L至站點(diǎn)T后步行X米后可以到達(dá)站點(diǎn)B。如圖3.5直達(dá)方案3所示。A TB圖3.5 直達(dá)方案3通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)A的關(guān)聯(lián)站點(diǎn)T1并找到站點(diǎn)B的關(guān)聯(lián)站點(diǎn)T2后,找出經(jīng)過(guò)T1的線路集合P(I)(I=1,2,3,m)m為整數(shù),經(jīng)過(guò)T2的線路集合J(I)(I=1,2,3,n)n為整數(shù),判斷P(I)與J(I)的交集是否為空。若不為空,查找到了交集線路L。則從站點(diǎn)A 步行X米至站點(diǎn)T1后乘線路L至站點(diǎn)T2下車,由站點(diǎn)T2步行Y米后可以到達(dá)站點(diǎn)B。如圖3.6直達(dá)方
25、案4所示。T1T2A B圖3.6 直達(dá)方案43.5.2 轉(zhuǎn)乘一次站點(diǎn)A到目的站點(diǎn)B沒有查找到可以直達(dá)的乘車方案后,便會(huì)查找站點(diǎn)A到目的站點(diǎn)B通過(guò)轉(zhuǎn)乘一次公交車的乘車方案。在系統(tǒng)轉(zhuǎn)乘一次的算法中,首先是通過(guò)查找站點(diǎn)A和站點(diǎn)B的線路站點(diǎn)信息是否有交集判斷站點(diǎn)A是否可以轉(zhuǎn)乘一次到達(dá)站點(diǎn)B。如果不可以則通過(guò)查找站點(diǎn)A和站點(diǎn)B站點(diǎn)的關(guān)聯(lián)表是否有交集,判斷站點(diǎn)A和站點(diǎn)B之間是否可以轉(zhuǎn)乘一次公交到達(dá)。主要思想是在發(fā)現(xiàn)沒有直達(dá)車時(shí),查找從起點(diǎn)站到哪個(gè)站點(diǎn)后有直達(dá)終點(diǎn)的線路。已經(jīng)知道經(jīng)過(guò)起點(diǎn)站的線路,任選其中一條沿著線路所經(jīng)過(guò)的各站點(diǎn)查找經(jīng)過(guò)各站點(diǎn)的線路中是否存在直達(dá)終點(diǎn)站的線路,若某個(gè)站點(diǎn)存在直達(dá)線路,則在該
26、站點(diǎn)換乘可直達(dá)終點(diǎn)站。(1)通過(guò)線路站點(diǎn)信息有直接交集找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與B是否直達(dá),直至將S(I)中的每條線路查詢站點(diǎn)完畢,若存在E(I,U)與B直達(dá),則A到B可轉(zhuǎn)乘一次??梢缘玫秸军c(diǎn)A至站點(diǎn)E(I,U)的線路L1,站點(diǎn)E(I,U)至站點(diǎn)B的線路L2。如圖3.7轉(zhuǎn)乘一次方案1所示。C A B圖3.7 轉(zhuǎn)乘一次方案1(2)通過(guò)站點(diǎn)關(guān)聯(lián)有直接交集在站點(diǎn)A和站點(diǎn)B通過(guò)查找線路站點(diǎn)信息沒有找到轉(zhuǎn)乘一次的乘車方案后,則查找站點(diǎn)關(guān)聯(lián)表找到與站點(diǎn)A、
27、站點(diǎn)B與轉(zhuǎn)乘站點(diǎn)的相關(guān)聯(lián)的站點(diǎn),判斷是否存在轉(zhuǎn)乘一次的乘車方案。存在五種情況分別如下。通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)A的關(guān)聯(lián)站點(diǎn)T1,找出經(jīng)過(guò)T1的線路集合Q(I)(I=1,2,3,m)m為整數(shù)。對(duì)Q(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與B是否直達(dá),直至將S(I)中的每條線路查詢站點(diǎn)完畢,若存在E(I,U)與B直達(dá),則A到B可轉(zhuǎn)乘一次??梢缘玫秸军c(diǎn)T1至站點(diǎn)E(I,U)的線路L1,站點(diǎn)E(I,U)至站點(diǎn)B的線路L2。則從站點(diǎn)A步行X米后到達(dá)站點(diǎn)T1后,乘公線路L1到站點(diǎn)T2后再轉(zhuǎn)乘公交線路L2至站點(diǎn)B。如圖3.8轉(zhuǎn)乘一次方
28、案2所示。T1T2A B圖3.8 轉(zhuǎn)乘一次方案2找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。找出經(jīng)過(guò)B的線路集合T(I)(I=1,2,3,n)n為整數(shù)。對(duì)T(I)的一條線路,找出線路上所有站點(diǎn)F(I,U)(U=1,2,3,q)q為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn)判斷與F(I,U)是否關(guān)聯(lián),若存在E(I,U)與F(I,U)關(guān)聯(lián),則站點(diǎn)A到站點(diǎn)B可轉(zhuǎn)乘一次到達(dá)??梢缘玫秸军c(diǎn)A至站點(diǎn)E(I,U)的線路L1,站點(diǎn)F(I,U)至站點(diǎn)B的線路L2。從站點(diǎn)A乘線路L1到達(dá)站點(diǎn)T1后,步行X米到達(dá)站點(diǎn)T2,乘公
29、交線路L2到至站點(diǎn)B。如圖3.9轉(zhuǎn)乘一次方案3所示。T1 A T2 B圖3.9 轉(zhuǎn)乘一次方案3通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)B的關(guān)聯(lián)站點(diǎn)T2,找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與T2是否直達(dá),直至將S(I)中的每條線路查詢站點(diǎn)完畢,若存在E(I,U)與T2直達(dá),則A到T2可轉(zhuǎn)乘一次到達(dá)??梢缘玫秸军c(diǎn)A至站點(diǎn)E(I,U)的線路L1,站點(diǎn)E(I,U)至站點(diǎn)T2的線路L2。從站點(diǎn)A乘線路L1到達(dá)站點(diǎn)T1后,乘公交線路L2到站點(diǎn)T2后再步行X米至站點(diǎn)B。如圖3.10
30、轉(zhuǎn)乘一次方案4所示。T1T2A B圖3.10 轉(zhuǎn)乘一次方案4通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)A的關(guān)聯(lián)站點(diǎn)T1并找到站點(diǎn)B的關(guān)聯(lián)站點(diǎn)T3后,找出經(jīng)過(guò)T1的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與T3是否直達(dá),直至將S(I)中的每條線路查詢站點(diǎn)完畢,若存在E(I,U)與T3直達(dá),則T1到T3可轉(zhuǎn)乘一次到達(dá)??梢缘玫秸军c(diǎn)T1至站點(diǎn)E(I,U)的線路L1,站點(diǎn)E(I,U)至站點(diǎn)T3的線路L2。從站點(diǎn)A步行X米到達(dá)站點(diǎn)T1后乘線路L1到達(dá)轉(zhuǎn)乘站點(diǎn)T2后,乘公交線路L2到站點(diǎn)T3后再步行
31、Y米至站點(diǎn)B。如圖3.4直達(dá)方案2所示。T1 T2 A T3B圖3.11 轉(zhuǎn)乘一次方案5找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)B的關(guān)聯(lián)站點(diǎn)T3,經(jīng)過(guò)T3的線路集合Q(I)(I=1,2,3,n)n為整數(shù),找出線路上所有站點(diǎn)F(I,U)(U=1,2,3,q)q為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn)判斷與F(I,U)是否關(guān)聯(lián),若存在E(I,U)與F(I,U)關(guān)聯(lián),則站點(diǎn)A到站點(diǎn)B可轉(zhuǎn)乘一次到達(dá)??梢缘玫秸军c(diǎn)A至站點(diǎn)E(I,U)的線路L1,站點(diǎn)F(I,U)至站點(diǎn)T3的線路L2
32、。從站點(diǎn)A乘線路L1到達(dá)站點(diǎn)T1后,步行X米到達(dá)站點(diǎn)T2,乘公交線路L2到至站點(diǎn)T3再步行Y米到達(dá)站點(diǎn)B。如圖3.9轉(zhuǎn)乘一次方案3所示。T2 T3 A T1 B圖3.12 轉(zhuǎn)乘一次方案63.5.3 轉(zhuǎn)乘二次站點(diǎn)A到目的站點(diǎn)B沒有查找到轉(zhuǎn)乘一次的乘車方案后,便會(huì)查找站點(diǎn)A到目的站點(diǎn)B轉(zhuǎn)乘二次的乘車方案。在系統(tǒng)轉(zhuǎn)乘二次的算法中,先通過(guò)查找站點(diǎn)A和站點(diǎn)B的線路站點(diǎn)信息是否有交集判斷站點(diǎn)A是否可以轉(zhuǎn)乘二次到達(dá)站點(diǎn)B。如果不可以則通過(guò)查找站點(diǎn)A和站點(diǎn)B站點(diǎn)的站點(diǎn)關(guān)聯(lián)表是否有交集,判斷站點(diǎn)A和站點(diǎn)B之間是否可以轉(zhuǎn)乘一次公交到達(dá)。判斷二次換乘是否可達(dá),實(shí)現(xiàn)思想與一次換乘類似,仍然從站點(diǎn)查找線路,再?gòu)木€路查找
33、經(jīng)過(guò)站點(diǎn),再?gòu)恼军c(diǎn)中查找線路,如此繼續(xù)下去,找到與終點(diǎn)站吻合的站點(diǎn)為止。(1)通過(guò)線路站點(diǎn)信息有直接交集找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與B是否一次轉(zhuǎn)乘,直至將S(I)中的每條線路查詢站點(diǎn)完畢,若存在E(I,U)中的站點(diǎn)與B轉(zhuǎn)乘一次,則A到B可轉(zhuǎn)乘二次。可以得到站點(diǎn)A的轉(zhuǎn)乘一次線路L1和L2,站點(diǎn)E(I,U)至站點(diǎn)B的線路L3。如圖3.13轉(zhuǎn)乘二次方案1所示。 C DA B圖3.13 轉(zhuǎn)乘二次方案1(2)通過(guò)站點(diǎn)關(guān)聯(lián)有直接交集在站點(diǎn)A和站點(diǎn)B通過(guò)查找線
34、路站點(diǎn)信息沒有找到轉(zhuǎn)乘二次的乘車方案后,則查找站點(diǎn)關(guān)聯(lián)表找到與站點(diǎn)A、站點(diǎn)B與轉(zhuǎn)乘站點(diǎn)的相關(guān)聯(lián)的站點(diǎn),判斷是否存在轉(zhuǎn)乘二次的乘車方案。存在五種情況分別如下。通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)A的關(guān)聯(lián)站點(diǎn)T1,找出經(jīng)過(guò)T1的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與B是否一次轉(zhuǎn)乘,直至將S(I)中的每條線路查詢站點(diǎn)完畢,若存在E(I,U)與B直達(dá),則A到B可轉(zhuǎn)乘二次。則A到B可轉(zhuǎn)乘二次。可以得到站點(diǎn)A的轉(zhuǎn)乘一次線路L1和L2,站點(diǎn)E(I,U)至站點(diǎn)B的線路L3。從站點(diǎn)A步行X米后到
35、達(dá)站點(diǎn)T1后,乘公線路L1到站點(diǎn)T2后轉(zhuǎn)乘公交線路L2至站點(diǎn)T3,最后由站點(diǎn)T3轉(zhuǎn)乘線路L3到達(dá)站點(diǎn)B。如圖3.14轉(zhuǎn)乘二次方案2所示。 T1 T2 A T3 B圖3.14 轉(zhuǎn)乘二次方案2找出經(jīng)過(guò)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。查找站點(diǎn)關(guān)聯(lián)表找到每一個(gè)站點(diǎn)E(I,U)的關(guān)聯(lián)站點(diǎn)。判斷站點(diǎn)E(I,U)的關(guān)聯(lián)站點(diǎn)是否與站點(diǎn)轉(zhuǎn)乘一次到達(dá)。若存在站點(diǎn)E(I,U)的關(guān)聯(lián)站點(diǎn)是否與站點(diǎn)轉(zhuǎn)乘一次到達(dá),則站點(diǎn)A到站點(diǎn)B可轉(zhuǎn)乘二次到達(dá)??梢缘玫秸军c(diǎn)A至站點(diǎn)E(I,U)的線路L1,站點(diǎn)F(I,U)的關(guān)聯(lián)站點(diǎn)至站
36、點(diǎn)B的轉(zhuǎn)乘一次線路L2和L3。從站點(diǎn)A乘線路L1到達(dá)站點(diǎn)T1后,步行X米到達(dá)站點(diǎn)T2,乘公交線路L2到至站點(diǎn)T3,由站點(diǎn)T3乘公交線路L3到達(dá)站點(diǎn)B。如圖3.9轉(zhuǎn)乘一次方案3所示。 T2 T3 A T1 B圖3.15 轉(zhuǎn)乘二次方案3找出經(jīng)過(guò)B的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。查找站點(diǎn)關(guān)聯(lián)表找到每一個(gè)站點(diǎn)E(I,U)的關(guān)聯(lián)站點(diǎn)。找出經(jīng)過(guò)站點(diǎn)A的線路集合Q(I)(I=1,2,3,n)n為整數(shù)。對(duì)Q(I)的一條線路,找出線路上所有站點(diǎn)F(I,U)(U=1,2,3,q)q為整數(shù)。對(duì)F(I,U)中的一個(gè)站
37、點(diǎn),判斷與站點(diǎn)E(I,U)的關(guān)聯(lián)站點(diǎn)是否直達(dá),直至將Q(I)中的每條線路查詢站點(diǎn)完畢,若存在F(I,U)與站點(diǎn)E(I,U)的關(guān)聯(lián)站點(diǎn)直達(dá),則A到B可轉(zhuǎn)乘二次??梢缘玫秸军c(diǎn)A至站點(diǎn)E(I,U)的線路L1,站點(diǎn)E(I,U)至站點(diǎn)B的線路L2。如圖3.7轉(zhuǎn)乘一次方案1所示。 T2 T3 A T1 B圖3.16 轉(zhuǎn)乘二次方案4通過(guò)查找站點(diǎn)關(guān)聯(lián)表找到站點(diǎn)B的關(guān)聯(lián)站點(diǎn)T3,找出經(jīng)過(guò)站點(diǎn)A的線路集合S(I)(I=1,2,3,m)m為整數(shù)。對(duì)S(I)的一條線路,找出線路上所有站點(diǎn)E(I,U)(U=1,2,3,P)P為整數(shù)。對(duì)E(I,U)中的一個(gè)站點(diǎn),判斷與T3是否一次轉(zhuǎn)乘,直至將S(I)中的每條線路查詢站點(diǎn)完
38、畢,若存在E(I,U)與T3轉(zhuǎn)乘一次,則A到T3可轉(zhuǎn)乘二次??梢缘玫秸军c(diǎn)A的轉(zhuǎn)乘一次線路L1和L2,站點(diǎn)E(I,U)至站點(diǎn)T3的線路L3。從站點(diǎn)A乘線路L1到達(dá)站點(diǎn)T1后,乘公線路L2到站點(diǎn)T2后轉(zhuǎn)乘公交線路L3至站點(diǎn)T3,最后由站點(diǎn)T3步行X米到達(dá)站點(diǎn)B。如圖3.14轉(zhuǎn)乘二次方案2所示。 T2 T3 A T1 B圖3.17 轉(zhuǎn)乘二次方案53.6 系統(tǒng)功能模塊設(shè)計(jì)本公交查詢系統(tǒng)只包含兩個(gè)模塊,分別為查詢模塊和管理模塊,各功能模塊具體功能如下:(1)查詢模塊:不需要用戶登錄就可以使用查詢功能,包括線路查詢、站點(diǎn)查詢、站站查詢。其中站站查詢是輸入起始站點(diǎn)與終點(diǎn)站點(diǎn),可以查詢到兩站之間的轉(zhuǎn)乘路線。(
39、2)管理模塊:主要是管理員登錄后,可以實(shí)現(xiàn)的管理功能。包括線路與站點(diǎn)的添加、編輯、刪除,站點(diǎn)次序和管理員信息的管理功能,管理員信息管理主要是修改密碼。系統(tǒng)模塊圖如圖3.5所示。公交查詢系統(tǒng)管 理查 詢站點(diǎn)管理站點(diǎn)次序站點(diǎn)關(guān)聯(lián)管理員信息線路管理線路查詢站點(diǎn)查詢站站查詢圖3.18 系統(tǒng)功能結(jié)構(gòu)圖3.7 系統(tǒng)流程設(shè)計(jì)在公交查詢系統(tǒng)中,對(duì)所有訪問(wèn)者開放,不需要注冊(cè)登錄。但是只有管理員通過(guò)登錄才能進(jìn)入系統(tǒng)后臺(tái)的管理,主要實(shí)現(xiàn)管理功能有線路管理、站點(diǎn)管理、站點(diǎn)次序管理、管理員信息管理各站點(diǎn)關(guān)聯(lián)信息管理。在站站查詢中乘車方案有三種,直達(dá)乘車方案、轉(zhuǎn)乘一次的乘車方案和轉(zhuǎn)乘二次的乘車方案。普通用戶可以實(shí)現(xiàn)公交查
40、詢功能,包括線路查詢、站點(diǎn)查詢、站站查詢。 在站站查詢的直達(dá)乘車方案中,用戶輸入起始站點(diǎn)和終點(diǎn)站點(diǎn)后,查詢后臺(tái)數(shù)據(jù)庫(kù)分別找所有經(jīng)過(guò)這兩站點(diǎn)的線路集合。然后判斷這兩個(gè)集合的交集是否為空,若為空則表示兩站點(diǎn)間可以直達(dá)。直達(dá)算法的流程圖如圖3.6所示。 開 始輸入起始站點(diǎn)A和終點(diǎn)站點(diǎn)BA線路集合S(I)B線路集合T(I)交集是否為空輸出直達(dá)線路結(jié) 束NY圖3.19 直達(dá)算法流程圖在站站查詢的轉(zhuǎn)乘一次的乘車方案中,用戶輸入起始和終點(diǎn)站點(diǎn)后,查詢找所有經(jīng)過(guò)起始站點(diǎn)的線路集合。對(duì)集合中的每一條線路上的所有站點(diǎn)判斷是否與終點(diǎn)站直達(dá),直至將線路集合中的所有線路查詢完畢。若存在某站點(diǎn)與終點(diǎn)直達(dá),則起始站點(diǎn)與終點(diǎn)
41、站點(diǎn)可轉(zhuǎn)乘一次。轉(zhuǎn)乘一次算法的流程圖如圖3.7所示。YNY開 始輸入起始站點(diǎn)A和終點(diǎn)站點(diǎn)BA線路集合S(I) 且X=1S(X)線路中的所有站點(diǎn)E(X,V)E(X,V)與B直達(dá)輸出AB轉(zhuǎn)乘一次線路X與I否相等結(jié) 束X=X+1N圖3.20 轉(zhuǎn)乘一次算法流程圖在站站查詢的轉(zhuǎn)乘二次的乘車方案中,用戶輸入起始站點(diǎn)和終點(diǎn)站點(diǎn)后,查詢后臺(tái)數(shù)據(jù)庫(kù)找到所有經(jīng)過(guò)起始站點(diǎn)的線路集合。對(duì)集合中的每一條線路上的所有站點(diǎn)判斷是否與終點(diǎn)站是否直達(dá),直至將線路集合中的所有線路查詢完畢。若存在某站點(diǎn)與終點(diǎn)站轉(zhuǎn)乘一次,則起始站點(diǎn)與終點(diǎn)站點(diǎn)可轉(zhuǎn)乘二次。轉(zhuǎn)乘二次算法的流程圖如圖3.7所示。E(X,V)與B一次轉(zhuǎn)乘Y開 始輸入起始站點(diǎn)
42、A和終點(diǎn)站點(diǎn)BA線路集合S(I) 且X=1S(X)線路中的所有站點(diǎn)E(X,V)N輸出AB轉(zhuǎn)乘二次線路結(jié) 束X與I否相等YNX=X+1圖3.21轉(zhuǎn)乘二次算法流程圖在用戶的查詢功能中站站查詢是復(fù)雜和重要的一項(xiàng)功能。用戶輸入起始站點(diǎn)和終點(diǎn)站點(diǎn)后,首先會(huì)判斷兩站點(diǎn)是否直達(dá),如果直達(dá)則直接提供直達(dá)線路。沒有直達(dá),則查找一次換乘的方案,若查找到輸出查詢到的結(jié)果,查找不到一次換乘,則繼續(xù)查找二次換乘。NNNYYY開 始直達(dá)線路查詢線路是否存在一次換乘查詢線路是否存在二次換乘查詢顯示結(jié)果線路是否存在顯示換乘信息信息提示結(jié) 束圖3.22站站查詢流程圖4數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)一個(gè)特定的應(yīng)用環(huán)境,提供一個(gè)確定的
43、最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以與一個(gè)確定數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶要求,又能被某個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo)并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)6。數(shù)據(jù)庫(kù)設(shè)計(jì)的優(yōu)劣直接影響到系統(tǒng)的性能,所以遵循良好的數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)是非常重要。主要設(shè)計(jì)原則如下:(1)表的設(shè)計(jì)要盡量的標(biāo)準(zhǔn)化和規(guī),數(shù)據(jù)的標(biāo)準(zhǔn)化有助于消除數(shù)據(jù)庫(kù)中的數(shù)據(jù)冗余,其中第三式(3NF)通常被認(rèn)為在性能、擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到了最好平衡。(2)設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)采用系統(tǒng)生成的鍵作為主鍵,標(biāo)識(shí)列的自動(dòng)生成具有唯一性,實(shí)際上控制了數(shù)據(jù)庫(kù)的索引完整性。(3)使用索引是從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)的最為高效方
44、式之一,合理建立索引是很重要的。(4)命名應(yīng)做到見名知意。4.1 數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖在數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)階段,主要是從概念模型導(dǎo)出特定的數(shù)據(jù)庫(kù)管理系統(tǒng)可以處理的數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。主要包括E-R圖即實(shí)體-聯(lián)系類型。公交查詢系統(tǒng)的數(shù)據(jù)庫(kù)中包含了管理員信息、線路信息、站點(diǎn)基本信息、站點(diǎn)排序信息、站點(diǎn)關(guān)聯(lián)信息這幾部分,可以用E-R圖如下表示:(1)總體的實(shí)體關(guān)系圖,管理員實(shí)體、線路實(shí)體、站點(diǎn)實(shí)體、站點(diǎn)關(guān)聯(lián)實(shí)體和站點(diǎn)排序?qū)嶓w的關(guān)系。如圖4.1所示:1M M 11N 屬于站 點(diǎn)線 路站點(diǎn)排序排序相關(guān)站點(diǎn)相關(guān)圖4.1 總體的E-R圖(2)管理員實(shí)體的E-R圖,管理員實(shí)體有管理員編號(hào)、用戶名、密碼這些屬性,這些的
45、屬性用來(lái)描述管理員的一些的基本情況。主要用用驗(yàn)證管理員登錄的驗(yàn)證,保證后臺(tái)信息的安全性。如圖4.2所示管理員編 號(hào)用戶名密 碼圖4.2 管理員實(shí)體的E-R圖(3)線路實(shí)體的E-R圖,線路實(shí)體有線路編號(hào)、線路描述、發(fā)車時(shí)間、收車時(shí)間與線路名屬性,這些的屬性用來(lái)描述線路的一些的基本情況。線路方向用于表示該線路是上行線路或下行線路的一種。對(duì)線路的發(fā)車與收車時(shí)間也有所描述。如圖4.3所示:線 路發(fā)車時(shí)間收車時(shí)間線路方向線路編號(hào)線 路 名圖4.3 線路實(shí)體的E-R圖站 點(diǎn)站點(diǎn)編號(hào)站點(diǎn)名檢 索(4)站點(diǎn)實(shí)體的E-R圖,站點(diǎn)實(shí)體有站點(diǎn)編號(hào)、站點(diǎn)名和檢索屬性,這些的屬性用來(lái)描述站點(diǎn)的一些的基本情況。站點(diǎn)描述主要有關(guān)于站點(diǎn)地理位置、周圍交通情況等信息。如圖4. 4所示:圖4.4 站點(diǎn)實(shí)體的E-R圖(5)站點(diǎn)排序?qū)嶓w的E-R圖,站點(diǎn)排序?qū)嶓w有站點(diǎn)排序編號(hào)、線路名、站點(diǎn)名和站點(diǎn)次序?qū)傩?,這些的屬性用來(lái)描述站點(diǎn)排序的一些的基本情況。線路名是站點(diǎn)所屬的線路名稱,站點(diǎn)次序是站點(diǎn)在所屬線路中所排的次序位置。如圖4.5所示:站點(diǎn)排序站點(diǎn)次序方 向線路編號(hào)站點(diǎn)編號(hào)排序編號(hào)圖4.5 站點(diǎn)排
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)動(dòng)療法第十章Brunnstrom技術(shù)講解
- 財(cái)政學(xué):第七章 教育
- 2025北京市商品房預(yù)售合同(合同版本)
- 2025二手房購(gòu)房合同協(xié)議
- 擴(kuò)大勞務(wù)分包的合同范本
- 2025購(gòu)車合同樣例范本資料
- 2024年城市建設(shè)項(xiàng)目承包合同
- 全新陽(yáng)光房合同下載
- 紗窗合同協(xié)議書
- 生產(chǎn)原料購(gòu)銷合同范本
- 山東省濱州市濱城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試題
- 期末試卷:安徽省宣城市2021-2022學(xué)年七年級(jí)上學(xué)期期末歷史試題(解析版)
- 2024年湖南省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2024新版(北京版)三年級(jí)英語(yǔ)上冊(cè)單詞帶音標(biāo)
- 第21課 活動(dòng)課 從考古發(fā)現(xiàn)看中華文明的起源 教學(xué)課件
- 部編版《道德與法治》四年級(jí)下冊(cè)教材解讀與分析文檔
- PP、PVC-風(fēng)管制作安裝施工作業(yè)指導(dǎo)書
- 蘇教版五年級(jí)上冊(cè)脫式計(jì)算300道及答案
- 遼寧省沈陽(yáng)市鐵西區(qū)2025屆初三最后一次模擬(I卷)數(shù)學(xué)試題含解析
- 幼教培訓(xùn)課件:《幼兒園如何有效組織幼兒戶外自主游戲》
- 2024-2030年中國(guó)輕型運(yùn)動(dòng)飛機(jī)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論