版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、分類號(hào) 密級(jí) U D C 編號(hào) 題 目 基于.NET的公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 院 系 計(jì)算機(jī)學(xué)院 專 業(yè) 名 稱 計(jì)算機(jī)科學(xué)與技術(shù) 年 級(jí) 2011年級(jí) 學(xué) 生 姓 名 學(xué) 號(hào) 指 導(dǎo) 教 師 二 一 五 年 四 月論文原創(chuàng)性說(shuō)明本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。在搜集并學(xué)習(xí)了相關(guān)資料文獻(xiàn)的前提下進(jìn)行個(gè)人寫作,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。學(xué)位論文作者簽名:年 月 日文獻(xiàn)綜述概述隨著人們生活水平的提高,人們出行
2、可選擇的交通工具的種類日益增加,交通工具的速度、舒適程度以及安全性都成為了人們選擇的標(biāo)準(zhǔn)。家用轎車種類繁多,舒適度也相對(duì)較高,而且較其他交通工具更為方便、快捷,成為多數(shù)成功人士的首選,不可否認(rèn)它是比較好的選擇,但是,家用轎車的增加帶來(lái)了很多問(wèn)題。城市道路交通嚴(yán)重堵塞、空氣污染日漸嚴(yán)重、交通事故多發(fā)等等,于是各大城市單雙號(hào)限行的政策應(yīng)用而生。此時(shí),人們只能選擇比較便利、快捷的公共交通。小到城鎮(zhèn),大到省會(huì)城市,公交車隨處可見,對(duì)外來(lái)務(wù)工人員、學(xué)生、外派出差員工、自助旅游的游客等人來(lái)說(shuō),價(jià)格合理、出行便利的公交車成為首選。為了滿足人們的出行需求,公交車的數(shù)量也漸漸增加,而且公交車的線路也復(fù)雜多變,城
3、市的改建使得公交站名更改或者消失,導(dǎo)致公交車的信息更新速度慢、更新信息的不準(zhǔn)確,人們對(duì)于公交路線的信息掌握不夠清楚,所以要找一條比較經(jīng)濟(jì)的乘車線路并非是一件容易的事。對(duì)此,開發(fā)一個(gè)方便快捷、便于人們操作的公交查詢系統(tǒng)就很有必要,通過(guò)公交查詢系統(tǒng)來(lái)找出一條合適的線路。該系統(tǒng)的設(shè)計(jì)是基于ASP.NET的B/S架構(gòu),B/S(瀏覽器/服務(wù)器)架構(gòu)是在C/S的基礎(chǔ)上提出的一種三層架構(gòu),它是特殊的C/S架構(gòu)。但是相對(duì)于需要安裝客戶端的C/S來(lái)說(shuō),B/S的架構(gòu)顯然更有優(yōu)勢(shì),對(duì)操作系統(tǒng)沒(méi)有限制,只需要安裝一個(gè)瀏覽器就可以了,能隨時(shí)對(duì)公交的信息進(jìn)行查詢,而且后期的系統(tǒng)升級(jí)維護(hù)成本相對(duì)較小,只要求更新服務(wù)器就可以
4、同步更新所有使用者的“客戶端”。主題不難看出,現(xiàn)在人們出行的主要交通工具就是公交車。由于公交系統(tǒng)的不斷完善和發(fā)展,公交線路復(fù)雜多變,人們要選擇一條合適的線路往往要進(jìn)行大量的對(duì)比。即使浪費(fèi)了時(shí)間,也未必能選出一條合適的線路。本次做的公交查詢系統(tǒng)具備的功能包括:公交信息查詢功能和管理員的后臺(tái)信息管理功能。前者針對(duì)廣大用戶而設(shè)計(jì),后者為了方便管理員的管理而設(shè)計(jì)。該系統(tǒng)基于ASP.NET、使用C#語(yǔ)言來(lái)進(jìn)行設(shè)計(jì)的,除此之外SQL Server2008數(shù)據(jù)庫(kù)。Visual Studio 2010用于生成XML Web Services、桌面應(yīng)用程序、ASP.NET Web應(yīng)用程序和移動(dòng)應(yīng)用程序。提供了在
5、開發(fā)、設(shè)計(jì)、調(diào)試XML Web Services、Web應(yīng)用程序等所需要的工具。在設(shè)計(jì)之前需要對(duì)系統(tǒng)進(jìn)行需求分析,從系統(tǒng)的需求、數(shù)據(jù)庫(kù)需求進(jìn)行分析,確定這些需求分析之后就可以著手進(jìn)行系統(tǒng)設(shè)計(jì)了。系統(tǒng)的設(shè)計(jì)先分析系統(tǒng)具體要完成什么功能。由于系統(tǒng)涉及到的功能比較多,所以可以將系統(tǒng)模塊化,劃分成許多模塊,每一個(gè)模塊需要完成什么任務(wù)必須要明確,先完成模塊的設(shè)計(jì),然后將這些模塊整合到一起即是一個(gè)完整的系統(tǒng)。系統(tǒng)包括主頁(yè)面、公交信息頁(yè)面、管理員登陸頁(yè)面、查找頁(yè)面、公交信息添加、修改、刪除頁(yè)面、最新動(dòng)態(tài)頁(yè)面等。系統(tǒng)的基本功能:(1)線路查詢:乘客輸入公交車的線路進(jìn)行查詢。輸入線路后點(diǎn)擊查詢,系統(tǒng)會(huì)顯示出所查
6、詢的公交車會(huì)經(jīng)過(guò)哪些站點(diǎn),以及這些公交車的實(shí)時(shí)信息。同時(shí)系統(tǒng)支持不完整輸入查詢,若經(jīng)過(guò)查找發(fā)現(xiàn)沒(méi)有這些信息,則有一個(gè)返回提示。(2)站點(diǎn)查詢:乘客輸入公交車的站點(diǎn)名進(jìn)行查詢。輸入站點(diǎn)名之后系統(tǒng)會(huì)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行排查,找出數(shù)據(jù)庫(kù)中所有符合輸入站點(diǎn)名的線路,并顯示出來(lái)。同時(shí)系統(tǒng)支持不完整輸入查詢,如果查找不到輸入站點(diǎn)則有一個(gè)返回提示。(3)站站查詢:乘客輸入起始站點(diǎn)名和目的地站點(diǎn)名進(jìn)行查詢,系統(tǒng)首先會(huì)在數(shù)據(jù)庫(kù)中找出這兩個(gè)站點(diǎn)所在的線路,判斷這兩個(gè)站點(diǎn)是否在同一個(gè)線路上即是否能直達(dá),若不能直達(dá),則給出換乘的方案。(4)線路管理:管理員對(duì)公交車線路的信息進(jìn)行添加、刪除、修改等操作。(5)站點(diǎn)管理:
7、主要實(shí)現(xiàn)對(duì)站點(diǎn)的添加,公交車經(jīng)過(guò)的站點(diǎn)更改之后,需要及時(shí)對(duì)系統(tǒng)數(shù)據(jù)庫(kù)中的信息進(jìn)行更改。(6)新聞的管理:主要實(shí)現(xiàn)對(duì)最新動(dòng)態(tài)的添加和刪除。公交車的價(jià)格和路線有時(shí)候可能會(huì)更改,這時(shí)就需要后臺(tái)發(fā)布消息,及早通知所有乘客??偨Y(jié)通過(guò)查閱資料,結(jié)合現(xiàn)實(shí)分析,該系統(tǒng)采用VS2010來(lái)創(chuàng)建首頁(yè)面及其他頁(yè)面,語(yǔ)言采用C#語(yǔ)言,數(shù)據(jù)庫(kù)使用SQL Server 2008,由于還需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行復(fù)雜的操作,所以還需使用ADO.NET,使用該系統(tǒng)的乘客不需要注冊(cè)登錄就可以進(jìn)行查詢,而要登陸管理員界面,則需要輸入登錄名和密碼。為了提高處理信息的準(zhǔn)確性和速度,則要通過(guò)ADO訪問(wèn)數(shù)據(jù)庫(kù),做到準(zhǔn)確、及時(shí)、快速的傳遞信息。同時(shí)為
8、了便于操作,頁(yè)面應(yīng)該盡量設(shè)計(jì)的簡(jiǎn)單。參考文獻(xiàn)1 徐燕華,孫紅麗 Web程序設(shè)計(jì) 清華出版社 2010.1 45542 梁曦 張運(yùn)濤 Visual C#.NET程序設(shè)計(jì)案例教程 浙江大學(xué)出版社 2012.6 50533 朱曄ASP.NET 第一步基于C#和ASP.NET2.0 清華大學(xué)出版社 2007.7 3013104 易磊 孟憲瑞ASP.NET 2.0經(jīng)典教程C#篇 人民郵電出版社 2007.2 56605 郝剛 ASP.NET 2.0開發(fā)指南 人民郵電出版社 2006.5 1041216 張躍廷ASP.NET數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)案例精選 人民郵電出版社 2007.1 46527 呂繼迪 龐婭娟A
9、SP程序開發(fā)范例寶典 人民郵電出版社 2009 29358 邵良彬 劉好增ASP.NET(C#)實(shí)踐教程 清華大學(xué)出版社 2007.7 67789 張駿ADO.NET 數(shù)據(jù)庫(kù)應(yīng)用 開發(fā)機(jī)械工業(yè)出版社 2008.1 899510 趙洛育, C#從入門到精通 清華大學(xué)出版社 2012.6 657811 王珊, 薩師煊 數(shù)據(jù)庫(kù)系統(tǒng)概論 高等教育出版社 2006 414712 鄭阿奇, 劉啟芬 SQL Server數(shù)據(jù)庫(kù)教程 人民郵電出版社 2008 547913牟永敏 軟件工程導(dǎo)論 清華大學(xué)出版社 2013.8 23123514張海藩 軟件工程 人民郵電出版社 2010.12 15016115陳明
10、實(shí)用軟件工程基礎(chǔ) 清華大學(xué)出版社2008 435416陳威佳 基于B/S架構(gòu)的城市公交出行查詢系統(tǒng) 中國(guó)知網(wǎng) 2011 17進(jìn) 實(shí)時(shí)公交查詢系統(tǒng)的優(yōu)化設(shè)計(jì)和實(shí)現(xiàn) 中國(guó)論文網(wǎng) 2013.1 18蔣年德 一種改進(jìn)的公交換乘算法的實(shí)現(xiàn) 電腦知識(shí)與技術(shù) 2007(14) 152219 實(shí)時(shí)公交信息下共線線路上的乘車方案選擇行為預(yù)測(cè) 中國(guó)知網(wǎng) 2013.620田洪波,.馬小虎 一種基于Web的公交車查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 維普 2010摘要隨著計(jì)算機(jī)技術(shù)的發(fā)展,如今互聯(lián)網(wǎng)已經(jīng)成為人們交流與獲取信息的重要途徑之一。公交查詢系統(tǒng)可以為人們的出行提供可行的路線。該系統(tǒng)提供一個(gè)實(shí)時(shí)的查詢功能,用戶在瀏覽器進(jìn)行查詢
11、時(shí),利用GPS定位用戶的位置,顯示公交車還會(huì)經(jīng)過(guò)幾站到達(dá)用戶所在的站點(diǎn),根據(jù)用戶查詢的時(shí)間以及不同時(shí)間段的路況大概的估算出用戶到達(dá)目的地的時(shí)間是多長(zhǎng)。在查詢的過(guò)程中如果不能直達(dá),系統(tǒng)會(huì)為用戶提供換乘的方案,顯示出每個(gè)方案所需的時(shí)間是多少,然后從中為用戶推薦一個(gè)最佳方案。這樣做不僅可以提高公交線路的利用率、節(jié)省時(shí)間,而且對(duì)于人們的出行則更加便利。此系統(tǒng)是基于ASP.NET的B/S架構(gòu),以Microsoft SQL Server 2008作為數(shù)據(jù)庫(kù),使用的編程語(yǔ)言是C#。本系統(tǒng)主要完成的功能有兩個(gè):查詢公交信息和管理公交信息,前者是針對(duì)用戶開放的,后者是由管理員管理的。其中查詢公交信息的部分包含:
12、站點(diǎn)、線路以及兩站之間的查詢等,管理公交信息包括:線路的添加以及刪除、站點(diǎn)的管理、車輛信息的修改,最新動(dòng)態(tài)的增加和刪除。公交查詢系統(tǒng)使公交的信息得到了更加完善的管理,不僅節(jié)約了管理工作的成本,而且提高了工作效率。關(guān)鍵詞:公交系統(tǒng)查詢、實(shí)時(shí)消息、最優(yōu)方案AbstractWith the development of the computer technology, now the Internet has become one of the important ways for people to communicate and acquire information. The system p
13、rovides a real-time query, query the user when using GPS in the browser, locate the users location, the bus will be displayed after a few station at the users site, according to the users query time and different time conditions probably estimate the user arrival time is long. In the process of quer
14、y if not directly, the system will provide the transfer scheme for the users, showing the time required for each project is how much, and then recommend a best scheme from the user. This system can improve the utilization rate of the bus line and save time, its convenient for people. The development
15、 technology of the system adopt B/S framework based on .NET. The back-end chooses C# as its programming language. Using the database is Microsoft SQL Server 2008.This system main function includes search system and management system. The search system includes line inquiry, site inquiry, station and
16、 station inquiry. The management system includes the increase and delete of the trips, site management, vehicle parameter changes, the increase and delete of the latest .Bus information become more standardized and systematized by public transport query system. At the same time saves management cost
17、 and improve work efficiency.Key Words: the Bus Search System, Real-time News, the Optimal Scheme of Bus System目錄 TOC o 1-3 h z u HYPERLINK l _Toc418620061 第1章 緒論 PAGEREF _Toc418620061 h 1 HYPERLINK l _Toc418620062 1.1 課題研究的背景和意義 PAGEREF _Toc418620062 h 1 HYPERLINK l _Toc418620063 1.2 項(xiàng)目開發(fā)的意義 PAGERE
18、F _Toc418620063 h 1 HYPERLINK l _Toc418620064 1.3 項(xiàng)目開發(fā)目標(biāo) PAGEREF _Toc418620064 h 2 HYPERLINK l _Toc418620065 第2章 相關(guān)技術(shù)的介紹 PAGEREF _Toc418620065 h 3 HYPERLINK l _Toc418620066 2.1 webfrom PAGEREF _Toc418620066 h 3 HYPERLINK l _Toc418620067 2.2 C# PAGEREF _Toc418620067 h 4 HYPERLINK l _Toc418620068 2.3
19、數(shù)據(jù)庫(kù)的使用 PAGEREF _Toc418620068 h 4 HYPERLINK l _Toc418620069 2.4 AJAX技術(shù) PAGEREF _Toc418620069 h 4 HYPERLINK l _Toc418620070 2.5 實(shí)時(shí)性應(yīng)用 PAGEREF _Toc418620070 h 5 HYPERLINK l _Toc418620071 第3章 需求分析 PAGEREF _Toc418620071 h 8 HYPERLINK l _Toc418620072 3.1 系統(tǒng)需求分析 PAGEREF _Toc418620072 h 8 HYPERLINK l _Toc41
20、8620073 3.2 數(shù)據(jù)庫(kù)需求分析 PAGEREF _Toc418620073 h 8 HYPERLINK l _Toc418620074 第4章 系統(tǒng)概要設(shè)計(jì) PAGEREF _Toc418620074 h 10 HYPERLINK l _Toc418620075 4.1 查詢系統(tǒng)的概述 PAGEREF _Toc418620075 h 10 HYPERLINK l _Toc418620076 4.2 查詢功能模塊的劃分 PAGEREF _Toc418620076 h 11 HYPERLINK l _Toc418620077 4.3 查詢系統(tǒng)流程設(shè)計(jì) PAGEREF _Toc4186200
21、77 h 12 HYPERLINK l _Toc418620078 4.4 查詢系統(tǒng)公交換乘 PAGEREF _Toc418620078 h 15 HYPERLINK l _Toc418620079 4.5 數(shù)據(jù)庫(kù)的設(shè)計(jì) PAGEREF _Toc418620079 h 16 HYPERLINK l _Toc418620080 4.5.1 數(shù)據(jù)庫(kù)技術(shù) PAGEREF _Toc418620080 h 16 HYPERLINK l _Toc418620081 4.5.2 數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖 PAGEREF _Toc418620081 h 17 HYPERLINK l _Toc418620082 4.5
22、.3 數(shù)據(jù)庫(kù)的主要表與結(jié)構(gòu) PAGEREF _Toc418620082 h 20 HYPERLINK l _Toc418620083 第5章 詳細(xì)設(shè)計(jì) PAGEREF _Toc418620083 h 22 HYPERLINK l _Toc418620084 5.1 查詢界面 PAGEREF _Toc418620084 h 22 HYPERLINK l _Toc418620085 5.2 后臺(tái)管理 PAGEREF _Toc418620085 h 24 HYPERLINK l _Toc418620086 第6章 測(cè)試 PAGEREF _Toc418620086 h 28 HYPERLINK l _
23、Toc418620087 6.1 測(cè)試應(yīng)用程序 PAGEREF _Toc418620087 h 28 HYPERLINK l _Toc418620088 6.2 測(cè)試步驟 PAGEREF _Toc418620088 h 28 HYPERLINK l _Toc418620089 6.3 測(cè)試方法 PAGEREF _Toc418620089 h 29 HYPERLINK l _Toc418620090 6.4 系統(tǒng)維護(hù) PAGEREF _Toc418620090 h 29 HYPERLINK l _Toc418620091 第7章 總結(jié) PAGEREF _Toc418620091 h 30 HYP
24、ERLINK l _Toc418620092 參考文獻(xiàn) PAGEREF _Toc418620092 h 31 HYPERLINK l _Toc418620093 致謝 PAGEREF _Toc418620093 h 32第1章 緒論1.1 課題研究的背景和意義當(dāng)代社會(huì),經(jīng)濟(jì)與社會(huì)快速發(fā)展,人民生活水平普遍提高,于是出行便更加傾向于選擇方便快捷的轎車??梢哉f(shuō)私家車的增加是社會(huì)發(fā)展的一個(gè)必然結(jié)果,但是隨之而來(lái)的卻是一系列不良的后果:城市中心在上下班高峰時(shí)期或者周末時(shí)會(huì)長(zhǎng)時(shí)間的堵車,汽油等不可再生能源也急劇減少,城市的空氣惡化等等。怎樣解決私家車的增加帶來(lái)的這些后果成為我們當(dāng)前首要解決的問(wèn)題之一。針
25、對(duì)這一問(wèn)題,許多城市規(guī)定了單雙號(hào)限行的交通管理措施,鼓勵(lì)人們乘坐公交車。大多數(shù)民眾的首選是公交車,尤其是那些在外地出差或者上學(xué)而需要短暫停留的人們。但是在許多城市中,城市的擴(kuò)建使得公交車輛和公交線路日益增多,城市的改建使得公交站名更改或者消失,導(dǎo)致公交車的信息更新速度慢、更新信息的不準(zhǔn)確,人們對(duì)于公交路線的信息掌握不夠清楚,而且公交的實(shí)時(shí)性不強(qiáng),人們?cè)诔鲩T的時(shí)候不知道自己要乘坐的公交什么時(shí)間到達(dá)起始站點(diǎn),什么時(shí)間到達(dá)目的地站點(diǎn),不能根據(jù)公交到達(dá)的時(shí)間以及公交車行駛的時(shí)間來(lái)合理安排出門的時(shí)間,所以要找一條比較經(jīng)濟(jì)的乘車線路并非是一件容易的事。對(duì)此,開發(fā)一個(gè)方便快捷、便于人們操作的公交查詢系統(tǒng)就很
26、有必要,通過(guò)公交查詢系統(tǒng)來(lái)找出一條合適的線路。公交車已經(jīng)成為學(xué)生,外來(lái)務(wù)工人員,旅游人員等選擇的交通工具,它的方便快捷已使它成為出行的首選。但是,隨著城市的發(fā)展,公交線路越來(lái)越錯(cuò)綜復(fù)雜,很多公交線路都重合,人們往往需要進(jìn)行大量的對(duì)比以選擇一條合適的線路。即使浪費(fèi)了這么多不必要的時(shí)間,選擇的線路也未必就是最合適的。而且,目前公交的查詢系統(tǒng)還存在有一些問(wèn)題,例如:查詢系統(tǒng)更新較慢或者過(guò)于復(fù)雜,信息的準(zhǔn)確度不夠高到不了目的地等等。1.2 項(xiàng)目開發(fā)的意義公交查詢系統(tǒng)為人們的出行提供信息,使乘客出行更加方便的。該系統(tǒng)是實(shí)時(shí)查詢的,根據(jù)乘客給出的起始站站名和目的地站名自動(dòng)搜索出合適的乘車方案,直達(dá)時(shí)的乘車
27、方案以及需要換乘車輛時(shí)具體乘坐方案,在較短的時(shí)間內(nèi)為乘客提供一個(gè)有效的乘車方案。并且,公交查詢系統(tǒng)為了方便管理人員的工作,還設(shè)有后臺(tái)管理,管理人員可以通過(guò)后臺(tái)操作對(duì)公交車輛以及公交線路的信息進(jìn)行修改、添加、刪除,提高工作效率,減少工作量。同時(shí)該系統(tǒng)還提供了有關(guān)公交的各種新聞,讓人們及時(shí)快速的知道公交的新信息,避免因?yàn)閷?duì)信息的不了解而造成的一些不良后果。特別是對(duì)于初到本市、對(duì)這個(gè)城市的情況還不是很了解的乘客,可以使用公交查詢系統(tǒng)使其可以對(duì)公交線路有快速且較為全面的了解,選擇正確的公交線路。當(dāng)下城市人口的數(shù)量急劇增加,生活水平提高,多數(shù)市民出行選擇轎車,直接或間接的導(dǎo)致了交通道路堵塞。通過(guò)公交系統(tǒng)
28、,人們能夠?qū)毁Y源進(jìn)行更充分的利用,不僅舒緩了交通壓力同時(shí)還可以在一定程度上降低城市污染。1.3 項(xiàng)目開發(fā)目標(biāo)公交查詢系統(tǒng)的設(shè)計(jì),希望能夠功能完善,可操作性強(qiáng),不論是管理者,還是用戶,都能夠通過(guò)這套查詢管理系統(tǒng)進(jìn)行操作,提高工作效率、節(jié)約人力成本、降低管理成本。使得公交信息的查詢和更改能夠更加的清晰明了。公交查詢系統(tǒng)與市民的生活息息相關(guān),能夠?qū)⒐坏男畔⒆龀鲆粋€(gè)完善的統(tǒng)計(jì),是實(shí)現(xiàn)現(xiàn)代化信息管理不可以缺少的必要條件。對(duì)公交信息能夠方便、準(zhǔn)確、快捷地查詢,加速公共交通信息流的流動(dòng)速度,為用戶的選擇提供了一個(gè)準(zhǔn)確、迅速的數(shù)據(jù)基礎(chǔ)。因此設(shè)計(jì)一個(gè)簡(jiǎn)單的、信息準(zhǔn)確的系統(tǒng)是必要的。第2章 相關(guān)技術(shù)的介紹2
29、.1 webfromASP.NET是一種web編輯框架,有三種開發(fā)模式,分別是:webpages、webfrom和MVC。該系統(tǒng)采用的是webfrom。webform項(xiàng)目包含使應(yīng)用程序變得簡(jiǎn)單的控件和結(jié)構(gòu)。ASP.NET提供了一些便于操作的服務(wù)器控件和類,方便了web頁(yè)面的設(shè)計(jì)和后臺(tái)程序的編程。它的頁(yè)面可以使用兩種不同的方式進(jìn)行創(chuàng)建,即有單文件代碼模型和后臺(tái)代碼模型,將界面的應(yīng)用程序與后臺(tái)的表示代碼清楚的分開,減少了程序員的工作量。作為一個(gè) Web 開發(fā)平臺(tái),為開發(fā)人員提供了創(chuàng)建Web所需的服務(wù)。與此同時(shí)它還為應(yīng)用程序提供了一個(gè)新的編程模型以及基礎(chǔ)結(jié)構(gòu),以此提高了系統(tǒng)的穩(wěn)定性、縮放性以及安全性
30、。開發(fā)人員便能夠根據(jù)應(yīng)用程序的需求對(duì)方案進(jìn)行不同程度的添加、替換、刪除等操作。Webfrom的組成如圖2-1所示:圖2-1 webfrom的組成Webfrom的關(guān)系圖如圖2-1所示:圖2-2 Webfrom的關(guān)系圖2.2 C#C#是一種可面向?qū)ο筮M(jìn)行設(shè)計(jì)的高級(jí)程序設(shè)計(jì)語(yǔ)言,為滿足.NET的應(yīng)用進(jìn)而開發(fā)的語(yǔ)言。C#具備的特性:(1)C#是專為.NET平臺(tái)而推出的,與.NET有很大的聯(lián)系,從根本上保證了C#與.NET框架的完美結(jié)合;(2)簡(jiǎn)潔的語(yǔ)法、不允許進(jìn)行直接訪問(wèn)內(nèi)存、去除了指針操作等等的特性使C#具有強(qiáng)大的安全機(jī)制,減少了軟件開發(fā)中會(huì)遇到的一些常見的語(yǔ)法錯(cuò)誤;(3)C#是面向?qū)ο蟮?。C#提供
31、了一個(gè)完善的錯(cuò)誤處理機(jī)制,在其數(shù)據(jù)類型、異常處理等方面都有優(yōu)越性;(4)C#語(yǔ)言中內(nèi)置的版本控制功能,更方便開發(fā)和維護(hù)。2.3 數(shù)據(jù)庫(kù)的使用SQL Server是一個(gè)關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng),具有使用方便、可伸縮性好等優(yōu)點(diǎn)。SQL Server 2008以其新的特性和關(guān)鍵性的改進(jìn),使其成為比較全面的版本。SQL Server 2008具有高效、可信任、智能的特點(diǎn),它可以保護(hù)系統(tǒng)以及客戶的信息,可以在不需要改動(dòng)應(yīng)用程序的前提下,對(duì)整個(gè)數(shù)據(jù)庫(kù)、日志文件和數(shù)據(jù)文件進(jìn)行加密,同時(shí)改進(jìn)了數(shù)據(jù)庫(kù)鏡像,提供了更加可靠的數(shù)據(jù)庫(kù)鏡像平臺(tái)。在該系統(tǒng)中,訪問(wèn)數(shù)據(jù)庫(kù)時(shí)是通過(guò)ASP.NET中的ADO.NET實(shí)現(xiàn)的。它是A
32、SP.NET中存取數(shù)據(jù)的數(shù)據(jù)庫(kù)組件,先通過(guò)ADO.NET與SQL Server進(jìn)行連接,再通過(guò)SQL命令的執(zhí)行使得管理員可以在瀏覽器的頁(yè)面上對(duì)數(shù)據(jù)進(jìn)行一系列的操作。2.4 AJAX技術(shù)AJAX在對(duì)網(wǎng)頁(yè)的某一個(gè)部分進(jìn)行更新時(shí)不需要再次對(duì)整個(gè)網(wǎng)頁(yè)進(jìn)行加載,實(shí)現(xiàn)了網(wǎng)頁(yè)的異步更新,從而減少了從服務(wù)器請(qǐng)求的信息,讓應(yīng)用程序小而快,值得注意的是AJAX并不是一種編程語(yǔ)言,而是一種用于創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)。AJAX請(qǐng)求交互的步驟如圖2-3所示:圖2-3 AJAX的交互步驟如果以用戶查詢線路為例,那么步驟如下:當(dāng)用戶在輸入框輸入要查詢的公交線路后,點(diǎn)擊查詢按鈕,這時(shí)就會(huì)提交一個(gè)表單,然后調(diào)用JS;之后會(huì)創(chuàng)建一個(gè)
33、XMLHttpRequest對(duì)象,使用查詢按鈕的ID和用戶在輸入框中輸入的公交線路配置這個(gè)對(duì)象;接著向服務(wù)器發(fā)起請(qǐng)求,服務(wù)器收到請(qǐng)求后進(jìn)行處理,將用戶輸入的公交線路與數(shù)據(jù)庫(kù)存儲(chǔ)的所有公交線路進(jìn)行交互;處理這個(gè)請(qǐng)求的對(duì)象向?yàn)g覽器返回一個(gè)符合用戶請(qǐng)求的數(shù)據(jù)的文檔,XMLHttpRequeest對(duì)象收到數(shù)據(jù)后,更新頁(yè)面,將用戶所需要的信息顯示在瀏覽器的頁(yè)面上。2.5 實(shí)時(shí)性應(yīng)用該系統(tǒng)是具有實(shí)時(shí)性的,它的實(shí)時(shí)性主要體現(xiàn)在了能對(duì)公交車進(jìn)行定位,然后及時(shí)地將公交車的信息反映到用戶的客戶端(瀏覽器)上。對(duì)公交車的定位需要用到地圖。百度地圖API為開發(fā)者免費(fèi)提供了地圖的使用,它可以展現(xiàn)基本的地圖,不僅能提供位
34、置定位、目的地搜索、路線規(guī)劃等服務(wù),對(duì)于用戶的請(qǐng)求反映速度較快,而且適用于pc端或者手機(jī)、平板等移動(dòng)設(shè)備。它包括的開發(fā)工具有定位LBS云、SDK、Web服務(wù)API、Android SDK等。API里的地圖實(shí)際上與網(wǎng)站的地圖是類似的,同樣具備根據(jù)比例縮小、放大、用鼠標(biāo)進(jìn)行拖拽、標(biāo)記位置等功能。百度地圖API的使用比較簡(jiǎn)單,根據(jù)開發(fā)指南會(huì)更容易學(xué)習(xí)。百度地圖API主要提供了兩大類型的服務(wù):一種是地圖的一些基本功能,例如縮放地圖、拖動(dòng)地圖、移動(dòng)地圖等;還有一種是地圖的延伸功能,例如周邊搜索、路線導(dǎo)航、實(shí)時(shí)路況等。API中比較常用的幾個(gè)類:(1)核心類Map類是地圖API的一個(gè)核心類,用來(lái)實(shí)例化一個(gè)地
35、圖。地圖的初始化通過(guò)調(diào)用Map.center And Zoom()來(lái)實(shí)現(xiàn)(沒(méi)有進(jìn)行初始化的地圖是不能操作的),API中的地圖與瀏覽器端的百度地圖的使用相似,可以用鼠標(biāo)拖拽地圖,雙擊左鍵放大。MapOptions類表示Map構(gòu)造函數(shù)的可選參數(shù),以對(duì)象字面量形式表示。(2)基礎(chǔ)類Point表示一個(gè)地理坐標(biāo)點(diǎn),是基礎(chǔ)類中比較重要的類,以指定的經(jīng)、緯度創(chuàng)建一個(gè)地理點(diǎn)坐標(biāo);Pixel類表示地圖上的一點(diǎn),單位是像素;Bounds類表示地理坐標(biāo)的矩形區(qū)域,通過(guò)x,y軸對(duì)該區(qū)域進(jìn)行描述,數(shù)值大的點(diǎn)和數(shù)值小的點(diǎn)分別位于該區(qū)域的右上角和左下角;Size類表示該區(qū)域的大小,用width、height兩個(gè)屬性分別描述
36、區(qū)域水平方向和豎直方向的數(shù)值。(3)控件類ControlNavigation類是所有空間的基類,用來(lái)實(shí)現(xiàn)自定義控件。所有的空間基本上都包含了Control類的屬性、方法,要將控件添加到地圖上可以通過(guò)Map.addControl()的方法來(lái)實(shí)現(xiàn)。(4)覆蓋物類Overlay類是所有覆蓋物類的基類,該類的作用是在地圖上添加有自己坐標(biāo)的覆蓋物,拖拽或者縮放地圖是它也會(huì)跟著移動(dòng)。(5)工具類PushpinTool類表示標(biāo)注工具,通過(guò)這個(gè)類可以在地圖上標(biāo)記位置,通過(guò)這個(gè)工具提供的事件得到標(biāo)記的位置;DistanceTool類可以用來(lái)測(cè)量距離,可以在地圖上繪制兩點(diǎn)之間的路線并測(cè)量它的長(zhǎng)度;DragAndZ
37、oomTool類可以用來(lái)縮放地圖。(6)服務(wù)類用來(lái)提供數(shù)據(jù)的信息。LocalSearch類用來(lái)進(jìn)行周邊、位置的搜索,可以通過(guò)地圖、坐標(biāo)、城市名進(jìn)行檢索,當(dāng)參數(shù)是地圖時(shí),根據(jù)當(dāng)前的地圖的中心確定搜索位置,參數(shù)是坐標(biāo)時(shí),由坐標(biāo)點(diǎn)確定搜索的位置,參數(shù)是城市名時(shí),會(huì)在該城中搜索。TransitRoute、DrivingRoute和WalkingRoute這兩個(gè)類分別是公交線路導(dǎo)航類、自助駕車導(dǎo)航類和步行的導(dǎo)航類。API提供地圖,還需要一個(gè)分析地圖工具地理信息系統(tǒng)。地理信息系統(tǒng)是一種基于計(jì)算機(jī)的工具,屬于空間信息系統(tǒng)特定的例子,能采集、管理、分析數(shù)據(jù)。負(fù)責(zé)定位功能的是GPS,利用定位衛(wèi)星,在全球范圍內(nèi)進(jìn)
38、行定位、導(dǎo)航等,是全天候、全方位的。用戶使用該系統(tǒng)時(shí),設(shè)備是聯(lián)網(wǎng)的,GPS對(duì)用戶進(jìn)行定位,將用戶的地理位置反映到地圖上,通過(guò)地理信息系統(tǒng)采集數(shù)據(jù),接收到用戶此時(shí)所處的位置,然后數(shù)據(jù)存儲(chǔ)子系統(tǒng)對(duì)這些數(shù)據(jù)進(jìn)行管理和儲(chǔ)存,并對(duì)這些數(shù)據(jù)進(jìn)行分析,通過(guò)類似的方式定位到公交車的位置,然后對(duì)這些信息進(jìn)行計(jì)算,將結(jié)果通過(guò)系統(tǒng)告知用戶。第3章 需求分析3.1 系統(tǒng)需求分析在開發(fā)項(xiàng)目的過(guò)程中需要對(duì)系統(tǒng)需求進(jìn)行分析。開發(fā)公交查詢系統(tǒng)的目的主要是為了讓出行更加方便,站在乘客的角度去思考他們所需要的是怎樣的一個(gè)系統(tǒng)。便于他們查詢,提供正確合理的出行路線,簡(jiǎn)單易操作等都是必須的,除此之外還要考慮到一些在城市里短暫停留以及
39、剛到城市的人們,對(duì)公交線路和公交站名不熟悉,只知道線路或者某些站點(diǎn),所以,站點(diǎn)的模糊查詢就顯得很重要。同時(shí),對(duì)公交的信息進(jìn)行一個(gè)合理的管理也是十分必要的。城市在發(fā)展,幾乎每天都有站名更改,公交的線路也隨著城市的擴(kuò)建而更改,掌握不到這些信息,在出行的時(shí)候就會(huì)浪費(fèi)不必要的金錢和時(shí)間,更可能誤了一些對(duì)自己而言很重要的事,因小失大。這就需要掌握這些信息的人對(duì)系統(tǒng)中的信息進(jìn)行及時(shí)的更新,例如:公交線路的添加、刪除,站點(diǎn)的修改、刪除、添加等。所以將整個(gè)系統(tǒng)劃分成若干個(gè)比較小的功能模塊,了解每個(gè)模塊應(yīng)該實(shí)現(xiàn)的功能,然后整合這些模塊,通過(guò)這樣的方式來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。本系統(tǒng)將主要從下面4個(gè)方面來(lái)進(jìn)行需求分析
40、:(1)普通的訪客不需要注冊(cè)登陸也可以查詢信息,其中包括:線路查詢(可以知道公交所經(jīng)過(guò)的站點(diǎn))、站點(diǎn)查詢(輸入指定的地點(diǎn)得知經(jīng)過(guò)該站點(diǎn)的公交線路)、換乘查詢(不能直達(dá)而需要轉(zhuǎn)車的)。(2)系統(tǒng)管理員可以對(duì)公交的信息進(jìn)行更改,其中包括:管理員登陸,對(duì)公交線路進(jìn)行添加、修改、刪除,對(duì)公交參數(shù)進(jìn)行添加、修改、刪除,以及對(duì)最新動(dòng)態(tài)的添加、刪除等。(3)考慮到系統(tǒng)的安全性,只有管理員可以登陸到后臺(tái),對(duì)后臺(tái)的數(shù)據(jù)進(jìn)行操作,而普通的訪客只能進(jìn)行查詢(不需要注冊(cè)登錄)。(4)在操作方面,要盡可能的簡(jiǎn)潔明了、易于操作,界面應(yīng)該一目了然。3.2 數(shù)據(jù)庫(kù)需求分析在信息管理系統(tǒng)中,數(shù)據(jù)庫(kù)是很重要的,數(shù)據(jù)庫(kù)的優(yōu)劣將會(huì)影
41、響到數(shù)據(jù)存儲(chǔ)的效率。可以指導(dǎo)我們?cè)O(shè)計(jì)一個(gè)正確的數(shù)據(jù)庫(kù)系統(tǒng)。通過(guò)利用數(shù)據(jù)庫(kù)技術(shù)的方法和原理,能夠設(shè)計(jì)出一個(gè)適合的數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)庫(kù)管理員、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用程序以及相應(yīng)的硬件設(shè)施能夠組成一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)。關(guān)系模型是數(shù)據(jù)庫(kù)管理系統(tǒng)的重要組成部分,它是指由“若干關(guān)系模式”組合而成的集合。由于關(guān)系模式與記錄類型相近,所以它的實(shí)例又被稱為關(guān)系。用戶要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,只需要輸入一些比較簡(jiǎn)單的查詢語(yǔ)句就可以了。在設(shè)計(jì)數(shù)據(jù)庫(kù)的過(guò)程中,開發(fā)人員應(yīng)注意數(shù)據(jù)的安全性,這樣是為了避免泄露重要信息。在設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)之前,首先應(yīng)該充分的了解用戶現(xiàn)有的、將來(lái)可能增加的需求。第4章 系統(tǒng)概要設(shè)計(jì)4.1 查詢系
42、統(tǒng)的概述經(jīng)過(guò)上一章的分析,系統(tǒng)“應(yīng)該做什么”已經(jīng)清楚了,概要設(shè)計(jì)亦是總體設(shè)計(jì)。設(shè)計(jì)軟件結(jié)構(gòu)是總體設(shè)計(jì)階段的另一個(gè)任務(wù),也就是確定在系統(tǒng)中,哪些模塊可以組成一個(gè)程序,并且存在于這些模塊之間的聯(lián)系。這個(gè)階段的主要任務(wù)是劃分出系統(tǒng)設(shè)計(jì)軟件的結(jié)構(gòu),從而對(duì)該系統(tǒng)進(jìn)行一個(gè)總體的設(shè)計(jì),根據(jù)前面第三章所描述的需求分析來(lái)確定這個(gè)系統(tǒng)應(yīng)該是由哪些模塊所組成的、每個(gè)模塊的功能是什么、模塊的功能又是如何實(shí)現(xiàn)的以及每個(gè)模塊之間有什么樣的聯(lián)系,將這些模塊進(jìn)行整合、調(diào)試,從而使系統(tǒng)實(shí)現(xiàn)所要求的功能,并且要容易掌握和操作。首先,要將系統(tǒng)進(jìn)行模塊化。模塊化是指把一個(gè)比較大的程序劃分成許多個(gè)可以獨(dú)立命名、可以獨(dú)立訪問(wèn)的小模塊。而
43、每個(gè)模塊應(yīng)該完成它所對(duì)應(yīng)的功能,然后把這些小模塊整合到一起構(gòu)成一個(gè)完整的系統(tǒng),從而滿足客戶的需求。將系統(tǒng)模塊化可以使軟件的結(jié)構(gòu)更加清晰,使開發(fā)人員容易設(shè)計(jì),也方便了用戶閱讀和理解。將系統(tǒng)模塊化為的是使軟件會(huì)更容易測(cè)試和調(diào)試:如果客戶想要系統(tǒng)的功能進(jìn)行變動(dòng),不用大范圍的改動(dòng),只需要改動(dòng)少數(shù)幾個(gè)模塊就可以了。這樣做使得涉及的范圍減小,而開發(fā)人員也更容易進(jìn)行改動(dòng)。因而為了提高軟件的可靠性、可修改性,將系統(tǒng)模塊化就顯得很有必要。其次就是通過(guò)抽象的思維,采用逐步求精的基本方法,更好地將模塊的信息隱藏,使模塊局部化、獨(dú)立化。在設(shè)計(jì)和確定模塊的時(shí)候,會(huì)有這種情況出現(xiàn):一個(gè)模塊內(nèi)部包含了一些信息,但是對(duì)于其他
44、的模塊來(lái)說(shuō),它本身是不需要這些信息的,所以信息隱藏很好的解決了這個(gè)問(wèn)題,將模塊的信息隱藏,其他模塊就不能對(duì)這個(gè)模塊內(nèi)部的信息進(jìn)行訪問(wèn)。這樣做很好的保護(hù)了模塊內(nèi)部的信息。局部化和信息隱藏這二者之間是有關(guān)聯(lián)的。把一些關(guān)系相近的軟件元素放的彼此靠近就是所謂的局部化。逐步求精、信息隱藏、模塊化、抽象和局部化共同作用的直接結(jié)果即是模塊獨(dú)立,在劃分模塊時(shí),模塊的獨(dú)立性越高越好。要使軟件更容易開發(fā)就要求模塊化是有效的,而且獨(dú)立的模塊也比較方便進(jìn)行維護(hù)和測(cè)試。模塊的獨(dú)立程度是由“內(nèi)聚”和“耦合”來(lái)度量的。內(nèi)聚高、耦合低,則模塊的獨(dú)立性高。4.2 查詢功能模塊的劃分在公交查詢系統(tǒng)中主要實(shí)現(xiàn)的是公交信息查詢功能和
45、管理員的后臺(tái)信息管理功能,公交信息查詢主要有的功能:(1)線路查詢:乘客輸入公交車的線路進(jìn)行查詢。輸入線路后點(diǎn)擊查詢,系統(tǒng)會(huì)顯示出所查詢的公交車會(huì)經(jīng)過(guò)哪些站點(diǎn),公交上行、下行的路線以及這些公交車的實(shí)時(shí)信息。同時(shí)系統(tǒng)支持不完整輸入查詢,若經(jīng)過(guò)查找發(fā)現(xiàn)沒(méi)有這些信息,則有一個(gè)返回提示。(2)站點(diǎn)查詢:乘客輸入公交車的站點(diǎn)名進(jìn)行查詢。輸入站點(diǎn)名之后系統(tǒng)會(huì)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行排查,找出數(shù)據(jù)庫(kù)中所有符合輸入站點(diǎn)名的線路,并顯示出來(lái)。同時(shí)系統(tǒng)支持不完整輸入查詢,如果查找不到輸入站點(diǎn)則有一個(gè)返回提示。(3)站站查詢:乘客輸入起始站點(diǎn)名和目的地站點(diǎn)名進(jìn)行查詢,系統(tǒng)首先會(huì)在數(shù)據(jù)庫(kù)中找出這兩個(gè)站點(diǎn)所在的線路,判斷這
46、兩個(gè)站點(diǎn)是否在同一個(gè)線路上即是否能直達(dá),若不能直達(dá),則給出換乘的方案。同時(shí)為了便于對(duì)公交信息進(jìn)行更新與修正,還設(shè)有管理員登陸。在管理員登陸界面中輸入用戶名和密碼進(jìn)行登錄,然后就可以對(duì)信息進(jìn)行更改。乘客則無(wú)法登陸。后臺(tái)管理主要有的功能:(1)線路管理:公交車線路的添加,添加信息包括線路名、發(fā)車時(shí)間等基本信息。(2)站點(diǎn)管理:站點(diǎn)信息的添加和更行,添加的信息包含車站名、線路名稱及站點(diǎn)信息。(3)新聞的管理:主要實(shí)現(xiàn)對(duì)最新動(dòng)態(tài)的添加和刪除。系統(tǒng)模塊圖如圖4-1所示:圖4-1 系統(tǒng)模塊圖4.3 查詢系統(tǒng)流程設(shè)計(jì)在該系統(tǒng)中,最主要的功能就是公交信息的查詢,包括線路的查詢、站點(diǎn)的查詢、站站之間的查詢。在本
47、系統(tǒng)中,用戶可以直接進(jìn)行查詢,不需要注冊(cè)登錄。在這其中,查詢公交信息時(shí),最重要的功能是兩站之間的查詢。在站站查詢的乘車方案中,用戶輸入起點(diǎn)站名和目的地站名后,查詢后臺(tái)的數(shù)據(jù)庫(kù)找所有經(jīng)過(guò)這兩站點(diǎn)的線路,判斷線路的交叉點(diǎn)是否為空,若為空則表示兩個(gè)站點(diǎn)之間可以直達(dá),若不為空則需要轉(zhuǎn)乘。在站站查詢中,有時(shí)候不能直接到達(dá)則需要換乘其他線路,用戶輸入起始站點(diǎn)和目的地站點(diǎn)后,查詢時(shí)所有經(jīng)過(guò)的起始站點(diǎn)的站名,然后判斷每一條公交路線上的所有站點(diǎn)是否與目的地站點(diǎn)有重合的,直到將公交路線上的所有站點(diǎn)查詢完畢。若有某一個(gè)站點(diǎn)與目的地站點(diǎn)重合,則起始站點(diǎn)與目的地站點(diǎn)可以換乘。如果輸入兩地站名后,給出的信息表示兩站之間是
48、可以直達(dá)的,那么直達(dá)的算法流程如圖4-2所示:圖4-2 直達(dá)算法流程圖若給出的結(jié)果是不能直達(dá),需要進(jìn)行換乘其他線路,那么轉(zhuǎn)乘的算法的流程圖如圖4-3所示:圖4-3 轉(zhuǎn)乘算法流程圖在用戶的查詢功能中,比較重要的一項(xiàng)功能是站站查詢。用戶在輸入框輸入起始站點(diǎn)名和目的地站點(diǎn)名后,由系統(tǒng)來(lái)判斷能否直達(dá),如果能夠直達(dá)則提供直達(dá)線路,若不能直達(dá),則查找換乘的方案,然后提供出轉(zhuǎn)乘的線路。站站查詢的流程圖如圖4-4所示:圖4-4 站站查詢的算法流程圖4.4 查詢系統(tǒng)公交換乘公交線路是由多條線路組成的,一趟公交不可能走完所有的站點(diǎn),當(dāng)目的地與起始站點(diǎn)不在同一條線路上時(shí)就需要換乘。根據(jù)用戶輸入的起始站點(diǎn)X和目的地站
49、點(diǎn)Y,確定要乘坐的公交。然后查找數(shù)據(jù)庫(kù),查詢站點(diǎn)X和站點(diǎn)Y之間是否有同樣的一趟公交經(jīng)過(guò),如果有則通過(guò)比較,提供給用戶較為合理的公交線路。如果沒(méi)有,則查詢是否有一個(gè)公共站點(diǎn)Z在站點(diǎn)X和站點(diǎn)Y之間,先從站點(diǎn)X到站點(diǎn)Z,然后從站點(diǎn)Z到站點(diǎn)Y。首先得有三個(gè)表,分別是站名表(StationName)、線路編號(hào)表(LineNum)、線路表(LS),n表示輸入的兩個(gè)站點(diǎn)的編號(hào)。如果能夠直達(dá)的話,在數(shù)據(jù)庫(kù)中的查詢?nèi)缦拢簊elect LineNum_n from(select LineNum_n from LS where StationName_n = n1) X,(select LineNum_n from
50、 LS where StationName_n = n2) Ywhere X.LineNum_n = Y.LineNum_n如果需要換乘,數(shù)據(jù)庫(kù)會(huì)先查找這兩個(gè)站點(diǎn)各自所在的線路,尋找線路中相同的站點(diǎn),這個(gè)站點(diǎn)就作為換乘的車站select StationName_n from(select distinct StationName_n from LS where LineNum_n in (select LineNum_n from LS where StationName_n = n1)X,(select distinct StationName_n from LS where LineNum
51、_n in (select LineNum_n from LS where StationName_n = n2)Ywhere X.StationName_n=Y.StationName_n出行的最佳線路的算法:(1)在輸入框中輸入起始站點(diǎn)和目的地站點(diǎn);(2)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢,經(jīng)過(guò)起始站點(diǎn)的線路編號(hào)為A(m),經(jīng)過(guò)目的地站點(diǎn)的線路編號(hào)為B(n),m與n都為正整數(shù);(3)對(duì)A(m)和B(n)進(jìn)行判斷,看二者是否相等,將滿足的條件存入C中,如果C=1,則A(m)及B(n)為兩點(diǎn)之間的最佳路線,如果C1,則計(jì)算C中給出的線路的距離,從中找出最短的一條;(4)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢,公交線路A(m)所經(jīng)過(guò)的
52、站點(diǎn)存為H(m,i),公交線路B(n)所包含的站點(diǎn)存為F(n,j),i和j均為正整數(shù);(5)對(duì)H(m,i)和 F(n,j) 進(jìn)行判斷,看二者是否相等,將滿足條件的存入Q中。若Q1,則站點(diǎn)X到站點(diǎn)Y的換乘站點(diǎn)是站點(diǎn)H(m,i)及F(n,j),換乘的最佳路線是A(m)和B(n),若Q1,那么對(duì)提供的所有的換乘線路的記錄進(jìn)行計(jì)算,從中選出最短的一條線路。4.5 數(shù)據(jù)庫(kù)的設(shè)計(jì)4.5.1 數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)技術(shù)是一種數(shù)據(jù)管理技術(shù),具有很高的效率,它可以保證數(shù)據(jù)的整體性。數(shù)據(jù)庫(kù)技術(shù)具有合理的存儲(chǔ)方式,它能夠系統(tǒng)的存儲(chǔ)相干的數(shù)據(jù),具備了相對(duì)快速的查詢效率。在整個(gè)系統(tǒng)設(shè)計(jì)中,數(shù)據(jù)庫(kù)設(shè)計(jì)是重要的內(nèi)容,數(shù)據(jù)庫(kù)的好壞
53、直接影響到系統(tǒng)的開發(fā)。對(duì)于給定的應(yīng)用環(huán)境,數(shù)據(jù)庫(kù)設(shè)計(jì)會(huì)構(gòu)造出數(shù)據(jù)庫(kù)邏輯模式,根據(jù)這個(gè)來(lái)建立系統(tǒng)的數(shù)據(jù)庫(kù),使數(shù)據(jù)庫(kù)可以有效的存儲(chǔ)、管理數(shù)據(jù),在最大程度上滿足了用戶的需求。應(yīng)用需求包括以下兩方面:數(shù)據(jù)操作要求和信息管理要求。數(shù)據(jù)操作:對(duì)數(shù)據(jù)對(duì)象需要進(jìn)行的操作,如:增加、刪除、查詢、更正、統(tǒng)計(jì)等操作。信息管理:在數(shù)據(jù)庫(kù)中哪些數(shù)據(jù)對(duì)象是需要存儲(chǔ)和管理的,例如:管理員的登錄名和密碼、車輛的信息等。數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)就是為了給應(yīng)用系統(tǒng)提供一個(gè)高效率的運(yùn)行環(huán)境和信息的基礎(chǔ)設(shè)施。一個(gè)高效率的運(yùn)行環(huán)境包含:系統(tǒng)運(yùn)行管理的效率、存儲(chǔ)空間的利用率、數(shù)據(jù)的存儲(chǔ)效率等,這些效率都要保證是比較高的。數(shù)據(jù)庫(kù)的設(shè)計(jì)要和整個(gè)應(yīng)用
54、系統(tǒng)的設(shè)計(jì)結(jié)合起來(lái),從而最大程度的保證數(shù)據(jù)庫(kù)具有一個(gè)高效率的運(yùn)行環(huán)境,不會(huì)有冗余的數(shù)據(jù)出現(xiàn)。在該系統(tǒng)的設(shè)計(jì)中,由于管理系統(tǒng)數(shù)據(jù)繁雜,數(shù)據(jù)使用頻繁,重復(fù)性很大,。所以該系統(tǒng)需要一種易于維護(hù)、效率高的管理方法數(shù)據(jù)庫(kù)系統(tǒng)。系統(tǒng)的好壞會(huì)被數(shù)據(jù)庫(kù)的設(shè)計(jì)直接影響到。主要設(shè)計(jì)原則:(1)表的設(shè)計(jì)要做到標(biāo)準(zhǔn)和規(guī)范,對(duì)消除數(shù)據(jù)庫(kù)中多余的數(shù)據(jù)有很大的幫助。(2)為了在標(biāo)識(shí)列的自動(dòng)生成的時(shí)候具有唯一性,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),主鍵可以是系統(tǒng)生成的鍵,使得數(shù)據(jù)庫(kù)的索引具有完整性,方便數(shù)據(jù)的查找。(3)要從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),那么比較高效的方式就是使用索引,合理建立索引是很重要的。(4)命名應(yīng)該簡(jiǎn)單易懂。4.5.2 數(shù)據(jù)庫(kù)實(shí)體關(guān)
55、系圖在數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)階段,主要是從概念模型中導(dǎo)出特定的數(shù)據(jù)庫(kù)管理系統(tǒng)。當(dāng)前能使用的數(shù)據(jù)模型可以分為兩種,一種是“結(jié)構(gòu)數(shù)據(jù)模型”,它是直接面向數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的;另一種是“實(shí)體聯(lián)系模型”,它是一個(gè)“概念數(shù)據(jù)模型”,是獨(dú)立于計(jì)算機(jī)系統(tǒng)的,例如。在本系統(tǒng)中采用“E-R圖”(實(shí)體聯(lián)系模型),來(lái)描述數(shù)據(jù)庫(kù)的語(yǔ)義與結(jié)構(gòu)。它有兩個(gè)明顯的優(yōu)點(diǎn):容易理解、容易接受。該系統(tǒng)的數(shù)據(jù)庫(kù)中應(yīng)該包括線路信息、站點(diǎn)關(guān)聯(lián)信息、站點(diǎn)排序信息、站點(diǎn)基本信息、管理員信息這幾部分。E-R圖是由實(shí)體、實(shí)體的屬性和實(shí)體性之間的聯(lián)系三個(gè)要素組成的。該數(shù)據(jù)庫(kù)中實(shí)體和屬性的定義如下:管理員表(登陸ID,登錄姓名,登錄密碼)站名表(站名編號(hào),站
56、名)車輛線路編號(hào)表(線路,車線類型)線路表(線路編號(hào),線路,站名,次序)車輛表(車輛編號(hào),線路,運(yùn)行區(qū)間,服務(wù)類型,車輛類型,IC卡類型,票價(jià))冬季發(fā)車時(shí)間表(線路,編號(hào),首班時(shí)間,末班時(shí)間)夏季發(fā)車時(shí)間表(線路,編號(hào),首班時(shí)間,末班時(shí)間)(1)總的實(shí)體關(guān)系圖如下圖所圖4-5所示:圖4-5 總體的E-R圖(2)管理員的E-R圖。管理員實(shí)體有登陸密碼、登陸姓名這些屬性,管理員的基本情況主要靠這些的屬性描述。利用驗(yàn)證管理員的登錄,保證后臺(tái)信息的安全性。如圖4-6所示:圖4-6 管理員E-R圖(3)站點(diǎn)實(shí)體有站點(diǎn)名和站點(diǎn)編號(hào),站點(diǎn)的基本情況主要靠這些屬性描述。如圖4-7所示:圖4-7 站名E-R圖(
57、4)車輛線路編號(hào)有線路和車輛類型,這些的屬性用來(lái)描述車輛的一些的基本情況。如圖4-8所示:圖4-8 車輛線路編號(hào)E-R圖(5)線路的E-R圖,線路實(shí)體有線路編號(hào)、線路、站名、次序?qū)傩?,線路的基本情況主要靠這些屬性描述。如圖4-9所示:線路線路圖4-9 線路E-R圖(6)車輛實(shí)體的E-R圖,車輛實(shí)體有車輛編號(hào)、線路、車輛類型、運(yùn)行區(qū)間、IC卡類型、票價(jià)、服務(wù)類型屬性,這些的屬性用來(lái)描述車輛的一些的基本情況。運(yùn)行區(qū)間標(biāo)明了起始站點(diǎn)和終點(diǎn)站點(diǎn),車輛類型標(biāo)明是普通還是游覽專用,IC卡類型標(biāo)明是否可以用公交卡來(lái)乘坐公交,服務(wù)類型標(biāo)明有無(wú)售票員。如圖4-10所示:線路線路圖4-10 車輛E-R圖(7)發(fā)車
58、時(shí)間的E-R圖,有線路、編號(hào)、首班車時(shí)間、末班車時(shí)間屬性。如圖4-11所示:線路線路圖4-11 發(fā)車時(shí)間E-R圖4.5.3 數(shù)據(jù)庫(kù)的主要表與結(jié)構(gòu)該系統(tǒng)共需要5個(gè)數(shù)據(jù)庫(kù)表:(1)管理員表管理員表用于存放系統(tǒng)管理員數(shù)據(jù)的表,其結(jié)構(gòu)如表4-12所示:表4-12 管理員表(2)公交車站名表站名表存放站名等數(shù)據(jù),其結(jié)構(gòu)如表4-13所示:表4-13 站名表(3)公交車輛的線路編號(hào)表車輛線路編號(hào)表存放線路編號(hào)等數(shù)據(jù),其結(jié)構(gòu)如表4-14所示:表4-14 公交車輛的線路編號(hào)表(4)公交車的線路表線路表存放公交車路線的數(shù)據(jù),其結(jié)構(gòu)如表4-15所示:表4-15 公交車線路表(5)公交車車輛基本信息表車輛表存放車輛的
59、相關(guān)信息,其結(jié)構(gòu)如表4-16所示:表4-16 公交車車輛基本信息表第5章 詳細(xì)設(shè)計(jì)5.1 查詢界面(1)數(shù)據(jù)庫(kù)的連接該系統(tǒng)中會(huì)頻繁的調(diào)用數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù),所以可以建立一個(gè)單獨(dú)的頁(yè)面編寫數(shù)據(jù)庫(kù)連接的代碼,就可以不用反復(fù)的編寫代碼。本系統(tǒng)中數(shù)庫(kù)的連接代碼如下:(2)公交線路號(hào)查詢進(jìn)入查詢頁(yè)面后,點(diǎn)擊公交線路查詢,選擇所在的省份和城市,在公交線路號(hào)的下拉列表里選擇要查詢的公交號(hào),點(diǎn)擊查詢即可。簡(jiǎn)要代碼如下:(3)公交站點(diǎn)查詢用戶進(jìn)入頁(yè)面后,點(diǎn)擊公交線路查詢,選擇所在的省份和城市,在站點(diǎn)名后面的輸入框里輸入要查詢的站點(diǎn)名,點(diǎn)擊查詢即可。然后系統(tǒng)會(huì)檢測(cè)輸入的站點(diǎn)名是否存在,若存在則給出相對(duì)應(yīng)的信息,若不
60、存在則提示錯(cuò)誤,返回重新輸入后再進(jìn)行查詢。簡(jiǎn)要代碼如下:(4)站站之間的查詢進(jìn)入系統(tǒng)的頁(yè)面后,點(diǎn)擊公交線路查詢,選擇所在的省份和城市,在公交線路查詢后面的輸入框里輸入起始站點(diǎn)名和目的地站點(diǎn)名,點(diǎn)擊查詢即可。然后系統(tǒng)會(huì)檢測(cè)在這兩個(gè)站點(diǎn)是否可以直達(dá)若可以直達(dá),則給出乘車方案;若不能直達(dá),則給出轉(zhuǎn)車方案。簡(jiǎn)要代碼如下:5.2 后臺(tái)管理(1)管理員登陸管理員點(diǎn)擊后臺(tái)登陸按鈕,會(huì)彈出一個(gè)管理員登陸界面,輸入用戶名和密碼,點(diǎn)擊登陸,出現(xiàn)管理員操作導(dǎo)航,可以對(duì)車輛的信息以及最新動(dòng)態(tài)進(jìn)行更改,代碼如下:(2)線路的增加和刪除進(jìn)入管理員操作導(dǎo)航,可以看到添加線路和刪除線路的提示,根據(jù)公交車信息的更改進(jì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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新能源汽車租賃與充電設(shè)施運(yùn)營(yíng)管理合同范本3篇
- 2025年度鋼管架施工項(xiàng)目質(zhì)量保證與驗(yàn)收合同
- 2025版?zhèn)€人住房裝修安全監(jiān)理服務(wù)合同2篇
- 2025年度個(gè)人住房抵押貸款房產(chǎn)抵押評(píng)估合同3篇
- 二零二五年度水資源保護(hù)與利用項(xiàng)目合同2篇
- 科技教育在醫(yī)療領(lǐng)域的應(yīng)用與探索
- 二零二五年度離婚后住房公積金提取及分割合同3篇
- 遠(yuǎn)程工作中的嵌入式學(xué)習(xí)支持服務(wù)
- 科技環(huán)境下的安全教育培訓(xùn)新模式
- 網(wǎng)絡(luò)安全意識(shí)教育的現(xiàn)狀與挑戰(zhàn)
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 電能質(zhì)量與安全課件
- 醫(yī)藥營(yíng)銷團(tuán)隊(duì)建設(shè)與管理
- 工程項(xiàng)目設(shè)計(jì)工作管理方案及設(shè)計(jì)優(yōu)化措施
- 圍場(chǎng)滿族蒙古族自治縣金匯螢石開采有限公司三義號(hào)螢石礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 資金支付審批單
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 新概念二冊(cè)課文電子版
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- 零件的工藝分析及毛坯選擇
評(píng)論
0/150
提交評(píng)論