智能公交查詢系統(tǒng)--論文參考模板_第1頁(yè)
智能公交查詢系統(tǒng)--論文參考模板_第2頁(yè)
智能公交查詢系統(tǒng)--論文參考模板_第3頁(yè)
智能公交查詢系統(tǒng)--論文參考模板_第4頁(yè)
智能公交查詢系統(tǒng)--論文參考模板_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要 智能公交查詢系統(tǒng)首先考慮了公交運(yùn)營(yíng)的實(shí)際情況和不同公交乘客的實(shí)際要求,分析了此系統(tǒng)應(yīng)該具有的功能;其次對(duì)系統(tǒng)的主要功能模塊進(jìn)行了詳細(xì)地描述,其中前臺(tái)包括線路查詢、站點(diǎn)查詢和兩站點(diǎn)換乘線路查詢,后臺(tái)管理包括車次信息的添加、刪除和修改,最后結(jié)合系統(tǒng)開發(fā)階段和調(diào)試階段發(fā)現(xiàn)的問題,找到了系統(tǒng)需要完善的地方,總結(jié)了開發(fā)此系統(tǒng)所取得的經(jīng)驗(yàn)。根據(jù)系統(tǒng)所需功能,決定以Microsoft Visual Studio2005為開發(fā)平臺(tái),采用SQL server 2005做后臺(tái)數(shù)據(jù)庫(kù),.NET Framework開發(fā)框架,C#開發(fā)語(yǔ)言。本系統(tǒng)在開發(fā)過程中,注意使其符合操作的業(yè)務(wù)流程,并力求系統(tǒng)的全面性,通用

2、性,使得本系統(tǒng)適用于公交公司和乘客。在開發(fā)方法的選擇上,選擇了生命周期法與原型法相結(jié)合的方法,遵循系統(tǒng)調(diào)查研究,系統(tǒng)分析,系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施四個(gè)主要階段進(jìn)行設(shè)計(jì),而在具體的設(shè)計(jì)上,采取了演化式原型法,隨著用戶的使用以及對(duì)系統(tǒng)的了解的不斷加深,對(duì)某一部分或幾部分進(jìn)行重新分析,設(shè)計(jì),實(shí)施。關(guān)鍵詞:智能公交查詢,ASP.NET ,B/S結(jié)構(gòu),SQL Server數(shù)據(jù)庫(kù)ABSTRACTIntelligent transportation system first inquiries into account the actual situation and the practical requirem

3、ents for bus passengers bus operators, the analysis of this system should have the functionality; Secondly, the main function modules of the system are described in detail, which includes the reception line query, the query site and two-site transfer line query, background information management, in

4、cluding trips to add, delete and modify the final stages of system development combined with problems discovered and commissioning phase, the system needs to find the perfect place to summarize the experience of the development of this system is achieved. The system according to the desired function

5、, decide to Microsoft Visual Studio2005 development platform, using SQL server 2005 database to do the background,. NET Framework Development Framework, C # development language. The system in the development process, pay attention to the operation of business processes to conform and seek a compreh

6、ensive, universal system, making the system suitable for the bus company and the passengers. In the choice of development methods, choose the life-cycle method and prototype method are combined, follow the system research, system analysis, system design and system implementation to design four main

7、stages, and in particular the design, took Evolutionary prototyping, as well as the user's understanding of the system continues to deepen, in part or several parts of a re-analysis, design and implementation.2 / 45 Key words: Intelligent transportation inquiry, ASP.NET, B / S structure, SQL Ser

8、ver database1 緒論1.1 課題背景國(guó)務(wù)院辦公廳關(guān)于城市優(yōu)先發(fā)展公共交通的指導(dǎo)意見提出“城市公共交通具有集約高效、節(jié)能環(huán)保等優(yōu)點(diǎn),優(yōu)先發(fā)展公共交通是緩解交通擁堵、轉(zhuǎn)變城市交通發(fā)展方式、提升人民群眾生活品質(zhì)、提高政府基本公共服務(wù)水平的必然要求,是構(gòu)建資源節(jié)約型、環(huán)境友好型社會(huì)的戰(zhàn)略選擇”1.城市公交是專門服務(wù)于市民出行的客運(yùn)企業(yè)。它是城市社會(huì)和經(jīng)濟(jì)活動(dòng)的重要組成部分。伴隨著國(guó)民經(jīng)濟(jì)和城市建設(shè)的快速發(fā)展,城市經(jīng)濟(jì)的繁榮,人口的增加,城市必須解決好人們出行的需求。城市公交直接關(guān)系著城市的經(jīng)濟(jì)發(fā)展和居民生活,對(duì)城市經(jīng)濟(jì)具有全局性、先導(dǎo)性的影響,城市公交以其方便、快捷、容量大而成為城市交通的

9、主體。但是隨著公交系統(tǒng)的龐大,人們很難得到準(zhǔn)確的公交信息,這樣給一些人的出行就帶來了不便。因此,急需一個(gè)方便、快捷的公交信息查詢方式,本系統(tǒng)通過瀏覽器查詢,實(shí)現(xiàn)中心控制、自動(dòng)更新、更多的查詢方式等等更多更強(qiáng)大的功能?,F(xiàn)今,城市的公交車交通網(wǎng)日益完善,公交車幾乎可以滿足市民到達(dá)城市的任何角落,且得到安全,快捷,優(yōu)質(zhì)的公交車服務(wù)。對(duì)乘客來說,若要到達(dá)目的地是一個(gè)陌生的地方,要選擇一個(gè)最便利,最低廉的乘車方式,這時(shí)公交車線路管理系統(tǒng)就可以通過乘客的站點(diǎn)查詢,顯示出所有乘客可選用的乘車方案。公交網(wǎng)的擴(kuò)大,公交線路的增加,很多線路不為市民所熟知,開發(fā)與之適應(yīng)的管理系統(tǒng)有必要性:方便市民對(duì)公交車線路的了解

10、,更展示了城市公交網(wǎng)的風(fēng)貌。1.2 智能公交查詢系統(tǒng)的現(xiàn)狀1.2.1國(guó)內(nèi)現(xiàn)狀研究智能公交查詢系統(tǒng)是公民出行的必備軟件,國(guó)內(nèi)現(xiàn)有最大的也最流行智能公交查詢網(wǎng)站有百度地圖和谷歌地圖。1.2.2國(guó)外現(xiàn)狀研究在西方國(guó)家(如美國(guó)、日本等),在城市公交網(wǎng)絡(luò)系統(tǒng)上投入了極大的財(cái)力,構(gòu)建了利用計(jì)算機(jī)網(wǎng)絡(luò)和先進(jìn)的通信系統(tǒng)的智能運(yùn)輸系,從而實(shí)現(xiàn)了大范圍內(nèi)全方位發(fā)揮的實(shí)時(shí)、準(zhǔn)確、高效的運(yùn)輸綜合管理,使人、車、路密切配合,和諧統(tǒng)一,大大改善了交通環(huán)境等。1.3 課題研究?jī)?nèi)容本系統(tǒng)采用的是Microsoft Visual Studio2005、ASP.Net 、SQL Server 2005數(shù)據(jù)庫(kù)相結(jié)合的方法,將所有收

11、集的數(shù)據(jù)信息按其屬性分類存儲(chǔ)到數(shù)據(jù)庫(kù)中,再通過程序調(diào)用這些數(shù)據(jù)信息實(shí)現(xiàn)各種查詢及管理,即所謂的"程序設(shè)計(jì)數(shù)據(jù)化,數(shù)據(jù)管理程序化"思想。基于這種思想的查詢系統(tǒng)的理論及技術(shù)已日趨成熟,加之這些軟件的應(yīng)用性和移植性都非常優(yōu)秀而且其發(fā)展也到了較成熟的階段,這就保障了日后的系統(tǒng)維護(hù)工作,并可不斷更新。所以本系統(tǒng)在技術(shù)上是絕對(duì)可行的。而且該系統(tǒng)對(duì)于操作環(huán)境的要求不高,現(xiàn)在普遍使用的計(jì)算機(jī)都可以運(yùn)行該系統(tǒng)。主要研究?jī)?nèi)容包括:城市交通信息管理,包括出租車、公交、地鐵等線路信息管理;用戶提交交通站點(diǎn)信息然后查詢出行的線路信息。隨著城市的公交車交通網(wǎng)日益完善,公交車幾乎可以滿足市民到達(dá)城市的任

12、何角落,且得到安全,快捷,優(yōu)質(zhì)的公交車服務(wù)。那么對(duì)乘客來說,若要到達(dá)目的地是一個(gè)陌生的地方,要選擇一個(gè)最便利,最低廉的乘車方式,這時(shí)公交車線路管理系統(tǒng)就可以通過乘客的站點(diǎn)查詢,顯示出所有乘客可選用的乘車方案,借此,特開發(fā)此公交車線路管理系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了公交車線路一覽化,查詢線路清晰化。公交車線路管理系統(tǒng)是一個(gè)一體化集成系統(tǒng),進(jìn)行信息管理是從總體出發(fā),全面考慮,保證各種職能部門共享數(shù)據(jù),減少數(shù)據(jù)的冗余度,保證數(shù)據(jù)的兼容性和一致性。嚴(yán)格地說只有信息的集中統(tǒng)一,信息才是資源。公交網(wǎng)的擴(kuò)大,公交線路的增加,很多線路不為市民所熟知,開發(fā)與之適應(yīng)的管理系統(tǒng)有必要性和可行性。1.4 論文結(jié)構(gòu)本論文結(jié)構(gòu)如下

13、:第一章 緒論部分:主要介紹了系統(tǒng)的開發(fā)背景,分析了系統(tǒng)的國(guó)內(nèi)外現(xiàn)狀,提出了課題研究的內(nèi)容。第二章 介紹系統(tǒng)設(shè)計(jì)的相關(guān)技術(shù),B/S架構(gòu)、ASP.NET , 開發(fā)語(yǔ)言C#,SQL Server 2005數(shù)據(jù)庫(kù)。第三章 對(duì)可行性、功能需求、用戶需求進(jìn)行分析。第四章 介紹了智能公交查詢系統(tǒng)的總體架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和功能詳細(xì)設(shè)計(jì)。第五章 智能公交查詢系統(tǒng)各功能模塊如前臺(tái)用戶登錄注冊(cè)、公交查詢模塊與后臺(tái)管理員登錄、管理公交信息模塊的實(shí)現(xiàn)。第六章 智能公交系統(tǒng)的測(cè)試。第七章 對(duì)系統(tǒng)開發(fā)的總結(jié)2 相關(guān)技術(shù)介紹2.1 介紹ASP.NET是建立在通用語(yǔ)言運(yùn)行時(shí)刻庫(kù)(CLR)上的應(yīng)用程序框架。它用來在服務(wù)器端構(gòu)

14、建功能強(qiáng)大的web應(yīng)用程序。ASP.NET提供了幾個(gè)超越以前web開發(fā)模式的優(yōu)點(diǎn): 增強(qiáng)的性能。ASP.NET是運(yùn)行在服務(wù)器端的編譯后的CLR代碼,而不是像ASP那樣解釋執(zhí)行。 ASP.NET利用提前綁定,即時(shí)編譯,本地優(yōu)化和緩存服務(wù)來提高性能。所有這一切,性能遠(yuǎn)遠(yuǎn)大于你以往寫的每一行代碼。 世界級(jí)水平的開發(fā)工具支持。在Visual Studio .net的集成開發(fā)環(huán)境(IDE)中,ASP.NET框架由工具箱和設(shè)計(jì)器組成。所見即所得的(WYSIWYG)編輯方式、拖放服務(wù)器控件、以及自動(dòng)部署,僅僅是這一強(qiáng)大工具所提供的一少部分功能。2.2 C#語(yǔ)言介紹 最近微軟宣布了它的最新編程語(yǔ)言C#,這是一

15、種面向?qū)ο蟮木幊陶Z(yǔ)言,它將作為Visual Studio中的一部分推出。C#(發(fā)音為“C-Sharp”)既保持了C+中熟悉的語(yǔ)法,并且還包含了大量的高效代碼和面向?qū)ο筇匦?。?jù)微軟產(chǎn)品經(jīng)理透露,C#語(yǔ)言將在保持C/C+靈活性的基礎(chǔ)上為程序員帶來更高效的RAD開發(fā)方式。它不僅能用于WEB服務(wù)程序的開發(fā),并且還能開發(fā)強(qiáng)大的系統(tǒng)級(jí)程序。微軟還沒有正式宣布這一新語(yǔ)言技術(shù),該技術(shù)將以測(cè)試形式出現(xiàn)在微軟打算在7月中旬在專業(yè)開發(fā)會(huì)議上分發(fā)的Visual Studio 7中。Visual Studio 7將于明年某個(gè)時(shí)候正式發(fā)售。 Layman介紹說C#包含使XML編程更為輕松的技術(shù)。微軟將使它的下一代工具軟件

16、、操作系統(tǒng)和應(yīng)用支持XML技術(shù)。新的編程語(yǔ)言還將包含虛擬機(jī)設(shè)備。微軟官員已經(jīng)公開表示C#技術(shù)和該公司去年開發(fā)的 Java競(jìng)爭(zhēng)技術(shù)Cool沒有關(guān)聯(lián)。微軟官員拒絕回答是否計(jì)劃在Visual Studio 7中提供微軟設(shè)計(jì)的視窗版Java Visual J+的某個(gè)版本。2.3 B/S架構(gòu)B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)

17、構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全 。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、速度快、效果優(yōu)。 2.4 SQL Server數(shù)據(jù)庫(kù)介紹數(shù)據(jù)庫(kù)(DB)

18、是指按照不同的數(shù)據(jù)模型長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi),能為多個(gè)用戶所共享,且與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合,其作為數(shù)據(jù)管理的新方法和技術(shù),產(chǎn)生于20世紀(jì)60年代中期,至今已形成了較成熟的理論體系和實(shí)用技術(shù)。數(shù)據(jù)庫(kù)系統(tǒng)是管理數(shù)據(jù)的工具,它是由外模式、模式、內(nèi)模式三級(jí)構(gòu)成。其中,外模式是指數(shù)據(jù)庫(kù)用戶看見和使用的局部數(shù)據(jù)邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是最接近用戶的一級(jí);模式也稱概念模式,是指數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征描述,是所有用戶的公共數(shù)據(jù)視圖,一個(gè)數(shù)據(jù)庫(kù)中只有一個(gè)模式;內(nèi)模式也稱存儲(chǔ)模式,最接近物理存儲(chǔ)設(shè)備。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式把數(shù)據(jù)的具體組織讓DBMS管理,用戶只需邏輯且抽象地處理數(shù)據(jù)

19、即可,無需關(guān)心數(shù)據(jù)在計(jì)算機(jī)中具體的表示方式及存儲(chǔ)方式。Microsoft SQL Server現(xiàn)今是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),是一個(gè)分布式關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),具備客戶機(jī)/服務(wù)器體系結(jié)構(gòu),采用了T-SQL語(yǔ)言客戶機(jī)與服務(wù)器間傳遞客戶機(jī)請(qǐng)求與服務(wù)器處理結(jié)果(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。它具有易用性、分布式組織的伸縮性、決策支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)、與許多其服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好性價(jià)比等優(yōu)點(diǎn)。本系統(tǒng)使用的是目前比較新的Microsoft SQL Server 2005這一版本。3 需求分析3.1可行性分析本論文建立的是一個(gè)智能公交查詢的網(wǎng)站,目的是方便用戶查詢及交流,應(yīng)用現(xiàn)代信息技術(shù),解決出行不知路線的困惑

20、,提高公交查詢效率,建立一個(gè)查詢與交流的信息平臺(tái)。1、 經(jīng)濟(jì)可行性本系統(tǒng)現(xiàn)階段的建立是針對(duì)榆林地區(qū)的市民,在其功能上市場(chǎng)壽命長(zhǎng),本著交流與查詢的網(wǎng)站平臺(tái),更能隨時(shí)的了解公交動(dòng)態(tài)及更新情況,給市民提供一個(gè)輕松且經(jīng)濟(jì)的交流平臺(tái)。2、技術(shù)可行性根據(jù)系統(tǒng)功能、性能、實(shí)現(xiàn)系統(tǒng)的各項(xiàng)約束條件,來分析技術(shù)是否能夠順利完成。本系統(tǒng)主要是根據(jù)軟硬件來判斷,基于現(xiàn)有的技術(shù)水平完全能夠滿足要求,隨著科技的不斷發(fā)展,硬件更新速度很快,硬件性能也在極速發(fā)展,在電腦成本越來越低的情況下,各家庭裝配的電腦也完全達(dá)到本系統(tǒng)網(wǎng)站的要求。硬件方面:2G以上內(nèi)存,奔騰以上的CPU,30G以上硬盤空間均可以達(dá)到要求。軟件方面:Mic

21、rosoft Visual Studio2005、ASP.Net 、SQL Server 2005等開發(fā)工具及技術(shù)已相當(dāng)成熟,這一點(diǎn)極大方便操作人編碼開發(fā),調(diào)試測(cè)試。 3、操作可行性本系統(tǒng)一般用戶只需要有一個(gè)可以使用的瀏覽器軟件,就可以使用了;管理員也只需要有一臺(tái)適宜的電腦就可以進(jìn)行后臺(tái)管理。本系統(tǒng)操作簡(jiǎn)單、便捷,是用戶容易接受,故是可行的。3.2性能需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行, 智能公交查詢系統(tǒng)應(yīng)該滿足以下的性能需求:1.系統(tǒng)處理的準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理

22、能力和響應(yīng)時(shí)間能夠滿足企業(yè)對(duì)信息處理的需求。由于智能公交查詢系統(tǒng)的查詢功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。其準(zhǔn)確性很大程度上決定了 智能公交查詢系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。2.系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性 智能公交查詢系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如網(wǎng)上查詢的用戶查詢的需求也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。3.系

23、統(tǒng)的易用性和易維護(hù)性 智能公交查詢系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過程。 智能公交查詢系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。3.3功能需求分析我開發(fā)的智能公交查詢系統(tǒng)按角色分為前臺(tái)功能和后臺(tái)2個(gè)功能模塊。 前臺(tái)主要功能模塊包括:用戶登錄,用戶注冊(cè),新聞公告,線路查詢,

24、站點(diǎn)查詢,區(qū)間查詢等功能模塊,主要實(shí)現(xiàn)了用戶在網(wǎng)站上面查詢線路信息。后臺(tái)主要功能模塊包括:新聞公告管理,線路管理,站點(diǎn)管理,運(yùn)行線路管理,會(huì)員管理,生活信息管理等功能模塊。圖3-6 系統(tǒng)管理模塊功能分析圖3.4用戶需求分析用戶:普通用戶、管理員。智能公交查詢系統(tǒng)的用例圖如圖3-7所示:圖3-7智能公交查詢系統(tǒng)用例分析圖4系統(tǒng)的設(shè)計(jì)4.1網(wǎng)站總體架構(gòu)設(shè)計(jì)圖4-1 系統(tǒng)總體架構(gòu)設(shè)計(jì)圖各個(gè)結(jié)構(gòu)層的具體描述如下:1.數(shù)據(jù)庫(kù)是系統(tǒng)的最底層,它存儲(chǔ)系統(tǒng)的所有數(shù)據(jù)。2.數(shù)據(jù)訪問層接口并不實(shí)現(xiàn)具體的方法而是為數(shù)據(jù)訪問層提供訪問數(shù)據(jù)庫(kù)的抽象接口。3.數(shù)據(jù)訪問層建立在數(shù)據(jù)庫(kù)之上應(yīng)用程序通過該層訪問數(shù)據(jù)庫(kù)。數(shù)據(jù)訪問

25、層一般封裝操作數(shù)據(jù)庫(kù)的選擇、添加、更新和刪除等操作。4.2數(shù)據(jù)庫(kù)設(shè)計(jì)當(dāng)開發(fā)網(wǎng)站的時(shí)候,不但要考慮網(wǎng)站的功能、安全性,也要考慮網(wǎng)站的可維護(hù)性,現(xiàn)今,使用數(shù)據(jù)庫(kù)技術(shù)能夠很容易地達(dá)到該目的。利用數(shù)據(jù)庫(kù)技術(shù),可以實(shí)現(xiàn)在線維護(hù)網(wǎng)站,且不需要每次遇到修改問題都通過打開HTML源文件來進(jìn)行操作,利用數(shù)據(jù)庫(kù)技術(shù)可以有效的避免人為失誤,也可以很容易的進(jìn)行管理維護(hù),這樣,將大大提高系統(tǒng)的運(yùn)行效率,并保證了系統(tǒng)運(yùn)行的穩(wěn)定性。智能公交查詢系統(tǒng)作為一個(gè)公交信息查詢和交流的平臺(tái),需要?jiǎng)討B(tài)的讀寫數(shù)據(jù),在本系統(tǒng)中使用的是SQL Server2005 數(shù)據(jù)庫(kù)來管理、保存數(shù)據(jù)。合理設(shè)計(jì)數(shù)據(jù)庫(kù)能夠有效地提高數(shù)據(jù)庫(kù)存儲(chǔ)的效率,數(shù)據(jù)庫(kù)

26、設(shè)計(jì)一般包括以下幾個(gè)部分。4.2.1 數(shù)據(jù)庫(kù)需求分析需求分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的起點(diǎn),需求分析結(jié)果反應(yīng)著用戶實(shí)際要求的準(zhǔn)確性,進(jìn)而影響到后面的各個(gè)設(shè)計(jì)階段,并影響到設(shè)計(jì)的結(jié)果是否合理,是否實(shí)用。本次數(shù)據(jù)庫(kù)的設(shè)計(jì)是基于智能公交查詢系統(tǒng),在滿足這一系統(tǒng)的線路查詢、站點(diǎn)查詢、乘車區(qū)間查詢這些查詢功能模塊中,在加入用戶信息交流模塊,分析得出,數(shù)據(jù)庫(kù)必須滿足一下信息的存儲(chǔ):(1) 記錄管理員帳號(hào)相關(guān)信息(2) 記錄一條運(yùn)行線路的相關(guān)信息(3) 記錄公交線路相關(guān)信息(4) 記錄新聞相關(guān)信息(5) 記錄站點(diǎn)相關(guān)信息(6) 記錄會(huì)員相關(guān)信息4.2.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的,也獨(dú)立于所

27、使用的具體數(shù)據(jù)庫(kù)管理系統(tǒng)。E-R圖也稱實(shí)體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實(shí)體類型、屬性和聯(lián)系方法。實(shí)體型:具有相同屬性的實(shí)體即具有相同的特性和性質(zhì),用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體,用矩形表示。屬性:實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來刻畫,用橢圓形表示。聯(lián)系方法:指組成實(shí)體的各屬性之間的聯(lián)系,用菱形表示。主要的E-R圖模型如下。管理員的實(shí)體圖如圖4-2。圖4-2管理員實(shí)體圖線路實(shí)體圖如圖4-3。圖4-3線路實(shí)體圖會(huì)員信息實(shí)體圖如圖4-4。圖4-4會(huì)員信息實(shí)體圖站點(diǎn)的實(shí)體圖如圖4-5。圖4-5站點(diǎn)實(shí)體圖新聞公告實(shí)體圖如圖4-6

28、.圖4-6新聞公告實(shí)體圖4.2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。在本系統(tǒng)中,是要將其轉(zhuǎn)換為關(guān)系模式。(1) 帳號(hào)信息表(帳戶編號(hào),登錄帳號(hào),登錄密碼)。(2) 運(yùn)行線路信息表(運(yùn)行編號(hào),線路編號(hào),站點(diǎn)名稱,站點(diǎn)順序)。(3) 線路信息表(線路編號(hào),線路區(qū)間,線路距離)。(4) 新聞信息表(新聞編號(hào),標(biāo)題,內(nèi)容,發(fā)布時(shí)間,類別名稱,類別編號(hào))。(5) 站點(diǎn)信息表(站點(diǎn)編號(hào),站點(diǎn)名稱)。(6) 用戶信息表(用戶編號(hào),登錄密碼,登錄帳號(hào),用戶性別,真實(shí)姓名,密碼問題,密碼答案,電子郵件,用戶地址,郵

29、政編碼,注冊(cè)時(shí)間)。4.2.4 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有Access,MySQL,SQL Server, Oracle等。我采用了SQL server2005數(shù)據(jù)庫(kù)管理系統(tǒng),建立的數(shù)據(jù)庫(kù)名為ZhiNengGongJiao。本次項(xiàng)目采用了6張表,主要表的內(nèi)容和功能在下面顯示出來。(1)Admin (帳號(hào)信息表) 主要用于保存帳號(hào)信息的基本信息,該表的結(jié)構(gòu)如表4-1所示。表4-1 Admin (帳號(hào)信息表)列 名說 明類 型 ( 長(zhǎng) 度 )備 注id帳戶編號(hào)Int (4)不允許空,主鍵Username登錄帳號(hào)nnvarcha

30、r(50)不允許空UserPwd登錄密碼nnvarchar(50)不允許空(2)AutoRunLine (運(yùn)行線路信息表) 主要用于保存運(yùn)行線路的基本信息,該表的結(jié)構(gòu)如表4-2所示。表4-2 AutoRunLine (運(yùn)行線路信息表)字 段說 明類型(長(zhǎng)度)備注autoID運(yùn)行編號(hào)Int(4)不允許空,主鍵lineID線路編號(hào)Int(4)不允許空site_name站點(diǎn)名稱Nvarchar(50)不允許空site_order站點(diǎn)順序Int(4)不允許空(3)LineInfo (線路信息表)主要用于保存線路的基本信息,該表的結(jié)構(gòu)如表4-3所示。表4-3 LineInfo (線路信息表)字 段說 明

31、類型(長(zhǎng)度)備注lineID線路編號(hào)Int(4)不允許空,主鍵line_space線路區(qū)間Nvarchar(50)不允許空Line_Langth線路距離Nvarchar(50)不允許空(4)news_inf (新聞信息表)主要用于保存新聞的基本信息,該表的結(jié)構(gòu)如表4-4所示。表4-4 news_inf (新聞信息表)字 段說 明類型(長(zhǎng)度)備注news_id新聞編號(hào)Int(4)不允許空,主鍵news_title標(biāo)題Nvarchar(50)不允許空news_content內(nèi)容Nvarchar(50)不允許空news_date發(fā)布時(shí)間Nvarchar(50)不允許空newstype類別名稱Nvar

32、char(50)不允許空newstypeid類別編號(hào)Int(4)不允許空(5)SiteInfo (站點(diǎn)信息表)主要用于保存站點(diǎn)的基本信息,該表的結(jié)構(gòu)如表4-5所示。表4-5 SiteInfo (站點(diǎn)信息表)字 段說 明類型(長(zhǎng)度)備注siteID站點(diǎn)編號(hào)Int(4)不允許空,主鍵site_name站點(diǎn)名稱Nvarchar(50)不允許空(6)users (用戶信息表)主要用于保存用戶的基本信息,該表的結(jié)構(gòu)如表4-6所示。表4-6 users (用戶信息表)字 段說 明類型(長(zhǎng)度)備注user_Id用戶編號(hào)Int(4),主鍵user_pwd登錄密碼Nvarchar(50)不允許空user_nam

33、e登錄帳號(hào)Nvarchar(50)不允許空user_sex用戶性別Nvarchar(50)不允許空User_realName真實(shí)姓名Nvarchar(50)不允許空user_Answer密碼問題Nvarchar(50)不允許空user_Answer2密碼答案Nvarchar(50)不允許空user_email電子郵件Nvarchar(50)不允許空user_add用戶地址Nvarchar(50)不允許空user_code郵政編碼Nvarchar(50)不允許空user_Time注冊(cè)時(shí)間Nvarchar(50)不允許空4.3功能詳細(xì)設(shè)計(jì)4.3.1前臺(tái)詳細(xì)設(shè)計(jì)4.3.2后臺(tái)詳細(xì)設(shè)計(jì)5系統(tǒng)的實(shí)現(xiàn)&l

34、t;*以下內(nèi)容應(yīng)為類圖及少量核心代碼>5.1 前臺(tái)詳細(xì)設(shè)計(jì)前臺(tái)主要功能模塊包括:用戶登錄,用戶注冊(cè),新聞公告,線路查詢,站點(diǎn)查詢,區(qū)間查詢等功能模塊,主要實(shí)現(xiàn)了用戶在網(wǎng)站上面查詢線路信息的功能。5.1.1 用戶登錄用戶登錄模塊是前臺(tái)的一個(gè)重要模塊,用戶注冊(cè)后輸入正確的帳號(hào)和密碼才能登錄系統(tǒng),登錄成功后用戶可以點(diǎn)擊注銷,可以修改登錄密碼等功能。用戶登錄界面如圖5.1。圖5.1 用戶登錄界面用戶登錄的關(guān)鍵代碼如下:protected void ImageButton1_Click(object sender, ImageClickEventArgs e)string sql = "

35、select * from users where user_name='" + txname.Value + "' and user_pwd='" + txtpwd.Value + "' "SqlDataReader dr = data.GetDataReader(sql);if (dr.Read() Session"username" = dr"user_name".ToString(); Session"id" = dr"user_Id&

36、quot;.ToString(); Session"User_realName" = dr"User_realName".ToString(); Alert.AlertAndRedirect("登錄成功", "Default.aspx"); else Alert.AlertAndRedirect("登錄失敗", "Default.aspx"); 5.1.2 用戶注冊(cè)用戶注冊(cè)功能模塊提供了一個(gè)用戶注冊(cè)的功能模塊,用戶注冊(cè)信息包括登錄帳號(hào),登錄密碼,用戶性別,真實(shí)姓名,電話,電子

37、郵件,住址等信息。用戶注冊(cè)界面如圖5.2。圖5.2 用戶注冊(cè)圖5-4發(fā)送刊物序列圖用戶注冊(cè)的關(guān)鍵代碼如下:protected void btnTest_Click(object sender, EventArgs e)SqlDataReader dr;dr = data.GetDataReader("select * from users where user_name='" + txtLoginName.Text + "'");if (dr.Read() lblmessage.Text = "已經(jīng)存在不能重復(fù)" re

38、turn;else lblmessage.Text = "可以注冊(cè)" return; protected void btnRegister_Click(object sender, EventArgs e) data.RunSql("insert into users(user_pwd,user_name,user_sex,User_realName,user_Answer,user_Answer2,user_phone,user_email,user_add,user_code,user_Type)values('" + txtPwd.Text

39、 + "','" + txtLoginName.Text + "','" + DropDownList1.SelectedItem.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + txtphone.Text + "','"

40、 + txtemail.Text + "','" + TextBox8.Text + "','" + txtpostcode.Text + "','普通用戶')"); Alert.AlertAndRedirect("注冊(cè)成功", "Default.aspx");5.1.3 公交查詢公交查詢是系統(tǒng)的最重要的功能模塊,公交查詢提供了三種方式進(jìn)行查詢,分別是公交線路查詢,按照站點(diǎn)查詢,按照公交站點(diǎn)區(qū)間查詢。點(diǎn)擊線路查詢之后用戶選擇公交線路信息然后

41、點(diǎn)擊查詢就能顯示該條公交線路的路線信息。點(diǎn)擊站點(diǎn)查詢只有用戶選擇自己想要去的站點(diǎn),然后點(diǎn)擊查詢,系統(tǒng)會(huì)顯示所有包括該站點(diǎn)信息的公交線路信息以及公交換乘信息。用戶點(diǎn)擊區(qū)間查詢,點(diǎn)擊起始站,然后選擇終點(diǎn)站信息,然后點(diǎn)擊查詢,系統(tǒng)會(huì)提供相關(guān)的線路信息。線路信息查詢界面如圖5.3。圖5.3 公交線路信息查詢界面按照站點(diǎn)信息查詢界面如圖5.4。圖5.4 按照公交站點(diǎn)信息查詢按照站點(diǎn)區(qū)間信息查詢界面如圖5.5。圖5.5 按照站點(diǎn)區(qū)間信息查詢區(qū)間查詢的關(guān)鍵代碼如下:private void getInfo() string sitename1 = Request.QueryString"siten

42、ame1" string sitename2 = Request.QueryString"sitename2" ArrayList alStartLine = new ArrayList();/存儲(chǔ)經(jīng)過起點(diǎn)站的路線號(hào) ArrayList alEndLine = new ArrayList();/存儲(chǔ)經(jīng)過終點(diǎn)站的路線號(hào) ArrayList alSEtogether = new ArrayList();/存儲(chǔ)經(jīng)過終點(diǎn)站和起始站的公共路線號(hào) ArrayList alStartSite = new ArrayList();/存儲(chǔ)經(jīng)過起點(diǎn)站路線的站點(diǎn) ArrayList a

43、lEndSite = new ArrayList();/存儲(chǔ)經(jīng)過終點(diǎn)站路線的站點(diǎn) ArrayList alSESite = new ArrayList();/存儲(chǔ)經(jīng)過起點(diǎn)站和終點(diǎn)站共同的站點(diǎn) string getStartLine = "select lineID from AutoRunLine where site_name='" + sitename1 + "'" string getEndLine = "select lineID from AutoRunLine where site_name='"

44、+ sitename2 + "'" myDataBase.dbRead(getStartLine); while (myDataBase.dr.Read()alStartLine.Add(myDataBase.dr.GetValue(0); myDataBase.dr.Close(); myDataBase.dbRead(getEndLine); while (myDataBase.dr.Read() alEndLine.Add(myDataBase.dr.GetValue(0); myDataBase.dr.Close(); for (int i = 0; i &

45、lt; alStartLine.Count; i+) for (int j = 0; j < alEndLine.Count; j+) if (alStartLinei.ToString() = alEndLinej.ToString() alSEtogether.Add(alEndLinej); if (alSEtogether.Count > 0) for (int k = 0; k < alSEtogether.Count; k+) int lineID = Convert.ToInt32(alSEtogetherk.ToString();if (k = 0) Labe

46、l la = new Label(); la.Text = "方案" + (k + 1).ToString() + lineID.ToString() + "路<br>" la.Font.Bold = true; la.Font.Size = 20; la.Visible = true; Panel1.Controls.Add(la); else Label la = new Label(); la.Text = "<br><br>方案" + (k + 1).ToString() + lineID.

47、ToString() + "路<br>" la.Font.Bold = true; la.Font.Size = 20; la.Visible = true; Panel1.Controls.Add(la); string strselsite = "select site_name from AutoRunLine where lineID='" + lineID + "' order by site_order asc" DataTable getSite = myDataBase.getSLB(str

48、selsite); int sitenum = getSite.Rows.Count; for (int x = 0; x < sitenum; x+) Label lb = new Label(); if (x = sitenum - 1) lb.Text = (string)getSite.Rowsx0; lb.Font.Bold = true; lb.Font.Size = 16; Panel1.Controls.Add(lb); else lb.Text = (string)getSite.Rowsx0 + " -> " lb.Font.Bold = t

49、rue; lb.Font.Size = 16; Panel1.Controls.Add(lb); else int num = 0; int lineIDS = 0; int lineIDE = 0; string tt = null; for (int i = 0; i < alStartLine.Count; i+) for (int j = 0; j < alEndLine.Count; j+) lineIDS = Convert.ToInt32(alStartLinei.ToString(); lineIDE = Convert.ToInt32(alEndLinej.ToS

50、tring(); string getStartSite = "select site_name from AutoRunLine where lineID='" + lineIDS + "'" string getEndSite = "select site_name from AutoRunLine where lineID='" + lineIDE + "'" ArrayList aa = new ArrayList(); myDataBase.dbRead(getStartSite); while (myDataBase.dr.Read() alStartSite.Add(myDataBase.dr.GetValue(0); myDataBase.dr.Close(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論