基于C#NET的公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于C#NET的公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于C#NET的公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于C#NET的公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于C#NET的公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第頁(yè)基于C#.NET的公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)目錄摘要 VAbstract VI第1章 緒論 11.1 前言 11.1.1 系統(tǒng)開(kāi)發(fā)背景 11.2 選題目的與意義 11.2.1 選題目的 11.2.2 選題意義 21.3 系統(tǒng)開(kāi)發(fā)環(huán)境及簡(jiǎn)介 21.3.1 硬件部分 21.3.2 軟件部分 2第2章 需求分析 42.1 需求分析概述 42.1.1 需求分析的基本任務(wù)一個(gè)階段 42.2 實(shí)體——聯(lián)系圖(E-R圖) 52.2.1 實(shí)體——聯(lián)系圖概述 52.2.2 符號(hào)系統(tǒng) 52.2.3 公交實(shí)體——聯(lián)系圖 62.3 層次方框圖 72.4 數(shù)據(jù)流圖(DFD) 82.4.1 數(shù)據(jù)流圖概述 82.4.2 符號(hào)系統(tǒng) 82.4.3 畫(huà)圖原則 92.4.4 公交DFD圖 92.5 系統(tǒng)功能模塊劃分 112.5.1 用戶查詢模塊 112.5.2 管理員模塊 11第3章 詳細(xì)設(shè)計(jì) 123.1 系統(tǒng)詳細(xì)設(shè)計(jì) 123.1.1 系統(tǒng)總體功能設(shè)計(jì) 123.1.2 系統(tǒng)各功能模塊詳細(xì)設(shè)計(jì) 123.2 .數(shù)據(jù)庫(kù)設(shè)計(jì) 123.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)步驟 133.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)原則 143.3 公交數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì) 153.3.1 公交站點(diǎn)的數(shù)據(jù)庫(kù)設(shè)計(jì) 153.3.2 公交線路的數(shù)據(jù)庫(kù)設(shè)計(jì) 153.3.3 公交線路信息數(shù)據(jù)庫(kù)設(shè)計(jì) 163.3.4 公交城市信息數(shù)據(jù)庫(kù)設(shè)計(jì) 173.3.5 公交管理員信息數(shù)據(jù)庫(kù)設(shè)計(jì) 183.4 數(shù)據(jù)庫(kù)關(guān)系圖 19第4章 實(shí)現(xiàn) 214.1 系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn) 214.2 用戶功能模塊總體設(shè)計(jì) 224.2.1 用戶主界面功能模塊設(shè)計(jì)與實(shí)現(xiàn) 234.2.2 線路查詢模塊 244.2.3 站點(diǎn)查詢 254.2.4 公交換乘查詢 264.3 管理員功能模塊 274.3.1 系統(tǒng)管理員登陸界面設(shè)計(jì) 284.3.2 添加路線和站點(diǎn)信息 294.3.3 刪除線路和站點(diǎn) 314.3.4 修改路線站點(diǎn)信息 32第5章 結(jié)論不足和展望 345.1 結(jié)論 345.2 不足 345.3 展望 34參考文獻(xiàn) 36致謝 37附件 38附件1. 線路查詢模塊實(shí)現(xiàn)代碼 38附件2. 站點(diǎn)查詢實(shí)現(xiàn)代碼 40附件3. 公交換乘查詢代碼 42附件4. 管理員登陸代碼 44附件5. 刪除站點(diǎn)代碼 45附件6. 修改信息代碼 46附件7. 增加信息代碼 48

摘要隨著“公交先行,節(jié)能減排,低碳生活”概念的提出,使得各大城市的公共交通得到迅速的發(fā)展,因此乘客需要實(shí)時(shí)的查詢公交系統(tǒng)的信息以便出行,在此背景下,本文最主要采用vs2010來(lái)實(shí)現(xiàn)公交查詢系統(tǒng)的設(shè)計(jì)采用SQLServer2008數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)系統(tǒng)所需的數(shù)據(jù)需求。在公交查詢系統(tǒng)設(shè)計(jì)過(guò)程中考慮用戶查詢的模塊為:線路查詢、站點(diǎn)查詢、換乘查詢,管理員模塊則應(yīng)該包括對(duì)數(shù)據(jù)增、刪、查、改等操作,對(duì)于數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該體現(xiàn)出數(shù)據(jù)之間明確的聯(lián)系關(guān)系。關(guān)鍵詞:數(shù)據(jù)庫(kù)、vs2010、公交查詢、管理員

AbstractAsthe"busfirst,energyconservationandemissionsreduction,lowcarbonlife"conceptisputforward,makethecitypublictransportationtogetrapiddevelopment,sothepassengersneedtoreal-timeinformationqueryofpublictransportationtotravel,inthiscontext,inthispaper,themainvs2010isusedtorealizethebusquerysystemdesignusingSQLServer2008databasetorealizedatarequirementsrequiredbythesystem.Atthebusquerysystemdesignconsideringuserquerymoduleis:intheprocessofroutequery,sitequery,changetothequery,theadministratormoduleshouldincludethedatatoadd,delete,check,change,suchasoperation,forthedatabasedesignshouldembodythedefinitecontactrelationshipbetweendata.Keywords:database,vs2010,busquery,administrator緒論前言系統(tǒng)開(kāi)發(fā)背景出行是人類(lèi)生活的基本活動(dòng)之一。城市的快速發(fā)展、科技的發(fā)展以及環(huán)保意識(shí)的增強(qiáng),對(duì)城市公共交通的發(fā)展趨勢(shì)的快速性、舒適性、便捷性、環(huán)保等方面提出更高要求。先進(jìn)的信息技術(shù)也促進(jìn)了公共交通技術(shù)的發(fā)展,從而為乘客提供了良好的出行條件,并且能夠逐漸滿足市民出行多樣化的交通需求。為城市的進(jìn)一步發(fā)展提供便捷條件,對(duì)于城市公共交通來(lái)說(shuō),必然要優(yōu)先發(fā)展公交,因此,公共交通的地位也不斷得到提升?!尽尽俊尽抗粨Q乘系統(tǒng)的算法研究與應(yīng)用[D].太原:中北大學(xué).2009:28-31趙敏2005年以來(lái),中國(guó)先后印發(fā)了關(guān)于優(yōu)先發(fā)展城市公共交通的意見(jiàn)等系列文件正式確立了公交優(yōu)先發(fā)展的戰(zhàn)略思想,為優(yōu)先發(fā)展城市公共交通指明了方向,有力推動(dòng)了中國(guó)城市公交事業(yè)的發(fā)展。截止2009年底到全國(guó)公共汽電車(chē)運(yùn)營(yíng)線路網(wǎng)總長(zhǎng)度28.9萬(wàn)公里,公交專用車(chē)道里程達(dá)7452公里,10余個(gè)城市開(kāi)通運(yùn)營(yíng)快速公交路線,公交運(yùn)輸總量達(dá)到780億人次。【【】【】崛起中的中國(guó)城市基礎(chǔ)設(shè)施建設(shè)發(fā)展研究黃新文隨著城市公交的快速發(fā)展和節(jié)能減排的理念升入人心,使得人們的出行越來(lái)越選擇以公交的方式出行,并且由于城市的人口居住以及就業(yè)形態(tài)的已經(jīng)形成,協(xié)調(diào)好公交的換乘、增加交通可達(dá)性勢(shì)在必行。隨著城市的發(fā)展,必然帶來(lái)道路基礎(chǔ)設(shè)施的擴(kuò)展,公交線路隨之增長(zhǎng),有些城市多達(dá)上百條,以至于居民難以掌握大量的公交信息,為出行帶來(lái)了一定的困擾。因而,公交查詢系統(tǒng)便應(yīng)運(yùn)而生。選題目的與意義選題目的隨著節(jié)能減排低碳生活的提出,以及公交先行的理念日漸深入人心,建立一個(gè)公交查詢系統(tǒng)是公眾出行的迫切需要——人們對(duì)于出行的要求增多,對(duì)公交系統(tǒng)的需求也逐漸的增加,公交的監(jiān)督電話也方便顧客的監(jiān)督和查詢。建立完善的公交線路網(wǎng)也是我國(guó)對(duì)于公共交通的一個(gè)長(zhǎng)遠(yuǎn)計(jì)劃,而在整個(gè)公共交通中公交又占有相當(dāng)大的比重,建立一個(gè)公交查詢系統(tǒng)則可以為顧客的出行提供很直接、便捷的出行方案。選題意義貴陽(yáng)市是貴州省省會(huì),是我國(guó)內(nèi)陸開(kāi)放城市及西南地區(qū)的重要的交通通信樞紐、工業(yè)基地、商貿(mào)和旅游服務(wù)城市,城市道路交通的發(fā)展從某種意義上講可以制約或促進(jìn)整個(gè)城市的發(fā)展方向?!尽尽俊尽抠F陽(yáng)市城市交通發(fā)展研究歐艷玲天津大學(xué)博碩論文2004貴陽(yáng)市區(qū)由中心區(qū)、小河、龍洞堡、花溪、白云、金陽(yáng)等地組成,12米以上的道路291.41公里,公交運(yùn)營(yíng)車(chē)輛截止到2010年12月共計(jì)1576輛,市、郊線路150條,車(chē)運(yùn)量達(dá)到5.9億人次,承擔(dān)了全市約70%的客運(yùn)量【【】【】貴陽(yáng)市城市公共交通的現(xiàn)狀與對(duì)策研究1、城市公交查詢系統(tǒng)能夠最快、最方便的滿足人們的出行需要,幫助人們正確的選擇公交出行的線路,提高人們的出行速率。2、城市公交查詢系統(tǒng)是智能公交的重要組成部分,智能公交系統(tǒng)是一個(gè)整體工程,而公交查詢系統(tǒng)則屬于智能公交查詢系統(tǒng)的軟件組成部分。3、作為省會(huì)城市則可以幫助外來(lái)人員快速的查詢到公交信息,提高人們的出行的效率和城市的綜合的地位。系統(tǒng)開(kāi)發(fā)環(huán)境及簡(jiǎn)介系統(tǒng)開(kāi)發(fā)環(huán)境分為兩部分——1.硬件部分、2.軟件部分硬件部分一般電腦配置即可軟件部分軟件部分包括SQLServer2008數(shù)據(jù)庫(kù)、MicrosoftVisualStudio2010(一)數(shù)據(jù)庫(kù)采用SQLServer2008數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)可以理解為存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù)。他是按照一定的組織方式存儲(chǔ)的相互有關(guān)的數(shù)據(jù)的集合,這些數(shù)據(jù)不僅彼此關(guān)聯(lián)而且可以動(dòng)態(tài)變化。它具有以下幾個(gè)特點(diǎn):1、數(shù)據(jù)結(jié)構(gòu)化2、數(shù)據(jù)共享3、數(shù)據(jù)的獨(dú)立性5.數(shù)據(jù)的一致性與正確性在數(shù)據(jù)庫(kù)中最核心的一部分為DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)他是使用戶能夠?qū)崿F(xiàn)數(shù)據(jù)加工的數(shù)據(jù)管理系統(tǒng),為用戶提供以下幾個(gè)功能:1、建庫(kù)功能2、數(shù)據(jù)的操作功能:實(shí)現(xiàn)對(duì)數(shù)據(jù)的增、刪、查、改等功能【【】【】數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用——SQLServer2005教程詹英主編清華大學(xué)出版社(二)編程軟件采用MicrosoftVisualStudio2010VisualStudio是Windows平臺(tái)應(yīng)用程序的開(kāi)發(fā)環(huán)境,它是建立在IDE(統(tǒng)一開(kāi)發(fā)環(huán)境)的基礎(chǔ)之上,可用于開(kāi)發(fā)多種不同類(lèi)型的應(yīng)用程序

需求分析需求分析概述需求分析是軟件定義時(shí)期的最后一個(gè)階段,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫(xiě)新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過(guò)程。在這個(gè)過(guò)程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求分析的基本任務(wù)一個(gè)階段它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問(wèn)題。需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)必須完成那些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求【【】軟件工程導(dǎo)論(第五版)張海藩編著清華大學(xué)出版社】。具體說(shuō)需求分析的任務(wù)有以下幾個(gè)方面:【】軟件工程導(dǎo)論(第五版)張海藩編著清華大學(xué)出版社1、功能需求——這方面的需求制定系統(tǒng)必須提供的服務(wù)。通過(guò)需求分析應(yīng)該劃分出系統(tǒng)必須完成的所有功能2、性能需求——性能需求指定系統(tǒng)必須滿足的定時(shí)約束或容量約束,通常包括速度(響應(yīng)時(shí)間、信息量速率)【【】基于C/S與B/S結(jié)合模式的農(nóng)業(yè)專家信息服務(wù)平臺(tái)設(shè)計(jì)研究劉濤[1]溫曉莉[2]《河北農(nóng)業(yè)科學(xué)》2010【】基于C/S與B/S結(jié)合模式的農(nóng)業(yè)專家信息服務(wù)平臺(tái)設(shè)計(jì)研究劉濤[1]溫曉莉[2]《河北農(nóng)業(yè)科學(xué)》20104、出錯(cuò)處理需求5、接口需求6、約束7、逆向需求8、將來(lái)可能提出的要求(2)分析系統(tǒng)的數(shù)據(jù)要求每一個(gè)系統(tǒng)在本質(zhì)上都是處理信息的,系統(tǒng)必須處理的信息與系統(tǒng)得到的信息在很大的程度上決定了系統(tǒng)的“面貌”,因此必須分析系統(tǒng)的數(shù)據(jù)要求,而分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法即實(shí)體——聯(lián)系圖(2.2節(jié))。復(fù)雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)結(jié)構(gòu)表示數(shù)據(jù)元素之間的邏輯關(guān)系。利用數(shù)據(jù)字典可以全面的定義數(shù)據(jù),但是數(shù)據(jù)字典不夠形象直觀。為了提高可理解性,我們可以用層次方框圖和Warnier圖輔助描繪數(shù)據(jù)結(jié)構(gòu)。實(shí)體——聯(lián)系圖(E-R圖)實(shí)體——聯(lián)系圖概述為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確的描述出來(lái),系統(tǒng)分析員通常建立一個(gè)概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問(wèn)題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的顯示環(huán)境,而且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無(wú)關(guān)符號(hào)系統(tǒng)在實(shí)體——聯(lián)系圖中包含3種相互關(guān)系的信息如REF_Ref389487612\h表格1所示:表格SEQ表格\*ARABIC1ER圖符號(hào)圖形名稱描述數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象時(shí)對(duì)軟件必須的復(fù)合信息的抽象。所謂復(fù)合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,僅有單個(gè)值的事物(例如,寬度)不是數(shù)據(jù)對(duì)象屬性數(shù)據(jù)對(duì)象一般具有若干特征,這些特征就稱為數(shù)據(jù)對(duì)象的屬性,例如:數(shù)據(jù)對(duì)象“學(xué)生”,具有學(xué)號(hào)、姓名、性別、出生日期和系別等特征,這些就是它的屬性。聯(lián)系實(shí)體之間可能會(huì)有各種關(guān)系。例如,“學(xué)生”與“課程”之間有“選課”的關(guān)系。這種實(shí)體和實(shí)體之間的關(guān)系被抽象為聯(lián)系。在實(shí)體聯(lián)系圖中,聯(lián)系用聯(lián)結(jié)有關(guān)實(shí)體的菱形框表示,如圖1.9所示。聯(lián)系可以是一對(duì)一(1:1),一對(duì)多(1:N)或多對(duì)多(M:N)的,這一點(diǎn)在實(shí)體聯(lián)系圖中也應(yīng)說(shuō)明。例如在大學(xué)教務(wù)管理問(wèn)題中,“學(xué)生”與“課程”是多對(duì)多的“選課”聯(lián)系聯(lián)系。【【】實(shí)體-聯(lián)系方法講義】【】實(shí)體-聯(lián)系方法講義公交實(shí)體——聯(lián)系圖在本文中的公交E-R圖如REF_Ref389487830\h圖21所示:圖STYLEREF1\s2SEQ圖\*ARABIC\s11公交E-R圖層次方框圖層次方框圖是用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹(shù)形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。在本文中的公交查詢系統(tǒng)層次方框圖如REF_Ref389487927\h圖22所示:圖STYLEREF1\s2SEQ圖\*ARABIC\s12層次方框圖數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖概述數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)流從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒(méi)有任何具體的物理部件,他只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解它,因此,他是分析員與用戶之間幾號(hào)的通信工具。此外數(shù)據(jù)流圖設(shè)計(jì)時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實(shí)現(xiàn)這些功能,因此他也是進(jìn)行軟件設(shè)計(jì)的很好的出發(fā)點(diǎn)。符號(hào)系統(tǒng)數(shù)據(jù)流圖通常包含以下幾種符號(hào):符號(hào)名稱說(shuō)明正方形表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)圓角矩形代表數(shù)據(jù)的變換處理開(kāi)口矩形代表數(shù)據(jù)存儲(chǔ)箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向畫(huà)圖原則畫(huà)圖原則:(1)數(shù)據(jù)流圖上所有圖形符號(hào)只限于以上四種基本圖例(2)頂層數(shù)據(jù)流圖必須包含4種基本元素;(3)頂層數(shù)據(jù)流圖上的數(shù)據(jù)流必須封閉在外部實(shí)體之間;(4)至少有一個(gè)數(shù)據(jù)輸入流和一個(gè)數(shù)據(jù)輸出流;(5)在數(shù)據(jù)流圖中必須按層給處理框加編號(hào),該編號(hào)表明該加工處;在那一層以及上下層父圖與子圖的對(duì)應(yīng)關(guān)系;(6)規(guī)定數(shù)據(jù)流圖與他上一層的一個(gè)處理對(duì)應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致,即父圖與子圖平衡,還應(yīng)該在數(shù)據(jù)流圖中繳入必要地說(shuō)明以幫助用戶理解;(7)圖上的每個(gè)元素都應(yīng)該有名字,數(shù)據(jù)流和數(shù)據(jù)文件名字表明流動(dòng)的數(shù)據(jù)是什么,而處理的名字應(yīng)表明處理做了說(shuō)明事情。公交DFD圖圖STYLEREF1\s2SEQ圖\*ARABIC\s13公交DFD圖系統(tǒng)功能模塊劃分一個(gè)系統(tǒng)可以看成是由多個(gè)小模塊組成,這些小模塊之間應(yīng)該具有高內(nèi)聚、低耦合的特點(diǎn):耦合:是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的衡量。而耦合程度取決于模塊時(shí)間接口的復(fù)雜程度,進(jìn)入或訪問(wèn)一個(gè)模塊的點(diǎn),以及通過(guò)接口的數(shù)據(jù)。耦合包括以下幾種:1、數(shù)據(jù)耦合2、控制耦合3、特征耦合4、公共耦合。內(nèi)聚:內(nèi)聚標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素之間的彼此結(jié)合程度。內(nèi)聚包括以下幾種:1、功能內(nèi)聚2、順序內(nèi)聚3、通信內(nèi)聚4、過(guò)程內(nèi)聚5、時(shí)間內(nèi)聚6、邏輯內(nèi)聚7、偶然內(nèi)聚。公交查詢系統(tǒng)可以看成是由兩個(gè)大模塊組成即:用戶查詢模塊和管理員模塊。用戶查詢模塊用戶查詢模塊主要供用戶使用其主要完成的對(duì)公交信息的查詢,這些查詢包括公交站點(diǎn)、公交線路以及公交站點(diǎn)到站點(diǎn)的額查詢(公交換乘插敘)并將查詢的結(jié)果通過(guò)一定的方式顯示出來(lái),并且需要制定一個(gè)“選擇框”以便用戶進(jìn)行模糊查詢。管理員模塊管理員在公交查詢系統(tǒng)中擁有最高的權(quán)限,它能夠?qū)恍畔⑦M(jìn)行增、刪、查、改等一系列工作,當(dāng)然對(duì)于管理員模塊需要進(jìn)行身份驗(yàn)證,當(dāng)正確以后才能進(jìn)行操作。

詳細(xì)設(shè)計(jì)系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)的詳細(xì)設(shè)計(jì)階段其根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),也就是經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得到對(duì)系統(tǒng)的準(zhǔn)確描述,從而在編碼階段可以把整個(gè)描述直接翻譯為用vs2010編寫(xiě)的程序代碼,在這一階段不是實(shí)現(xiàn)軟件的具體代碼編寫(xiě)系統(tǒng)總體功能設(shè)計(jì)系統(tǒng)功能詳細(xì)設(shè)計(jì)主要表述系統(tǒng)的功能架構(gòu)如圖1.3.1所示圖STYLEREF1\s3SEQ圖\*ARABIC\s11系統(tǒng)功能架構(gòu)系統(tǒng)各功能模塊詳細(xì)設(shè)計(jì)對(duì)于用戶模塊來(lái)說(shuō)就是完成對(duì)信息的查詢功能并返回值如圖,對(duì)于管理員來(lái)說(shuō)不僅可以查詢公交的信息還可以對(duì)公交信息進(jìn)行增、刪、查、改等工作如REF_Ref389488411\h圖32、REF_Ref389488411\h圖323所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s12功能圖圖STYLEREF1\s3SEQ圖\*ARABIC\s13功能圖.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括數(shù)據(jù)管理需求和數(shù)據(jù)操作需求?!尽尽俊尽繑?shù)據(jù)庫(kù)系統(tǒng)概論[M].高等教育出版社,王珊、薩師煊2008.12數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞,直接影響到系統(tǒng)的功能能否實(shí)現(xiàn),數(shù)據(jù)操作是否簡(jiǎn)單。設(shè)計(jì)良好的數(shù)據(jù)庫(kù)很容易使用,并且能夠保護(hù)數(shù)據(jù)的有效性。而設(shè)計(jì)不好的數(shù)據(jù)庫(kù)雖然能夠發(fā)揮相當(dāng)?shù)淖饔?但是可能會(huì)導(dǎo)致數(shù)據(jù)的無(wú)效、錯(cuò)誤或者丟失。【【】【】公交線路查詢系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)王軍武威職業(yè)學(xué)院數(shù)據(jù)庫(kù)設(shè)計(jì)步驟建立了數(shù)據(jù)庫(kù)的步驟:數(shù)據(jù)庫(kù)系統(tǒng)的生存期可劃分為:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、實(shí)施和運(yùn)行維護(hù)七個(gè)階段,而需求分析和概念結(jié)構(gòu)設(shè)計(jì)可以獨(dú)立于任何數(shù)據(jù)庫(kù)管理系統(tǒng)而進(jìn)行。邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)與選用的DBMS(databasemanagementsystem)密切相關(guān)。我們通常把前五個(gè)階段稱為“數(shù)據(jù)庫(kù)的分析和設(shè)計(jì)階段”,后兩個(gè)階段稱為“數(shù)據(jù)庫(kù)的實(shí)現(xiàn)與運(yùn)行階段?!薄尽尽俊尽繒r(shí)素平.基于組件式GIS的城市公眾查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].昆明理工大學(xué)(1)需求分析:在這一步需要做的主要工作是收集數(shù)據(jù)庫(kù)所有的信息內(nèi)容和處理要求,并對(duì)其進(jìn)行分析。(2)概念結(jié)構(gòu)設(shè)計(jì):經(jīng)過(guò)需求分析后,在這個(gè)階段把用戶的需求加以解釋,并用概念模型(概念模型是現(xiàn)實(shí)世界到信息世界的抽象,具有獨(dú)立于具體的數(shù)據(jù)庫(kù)實(shí)現(xiàn)的優(yōu)點(diǎn),因此它是用戶和數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間進(jìn)行交流的語(yǔ)言。)表達(dá)出來(lái)。(3)邏輯結(jié)構(gòu)設(shè)計(jì):這個(gè)階段的主要任務(wù)是利用數(shù)據(jù)庫(kù)管理系統(tǒng)所提供的工具將信息世界中的概念模型映射為計(jì)算機(jī)世界中為數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的數(shù)據(jù)模型,并且將其用數(shù)據(jù)描述語(yǔ)言表達(dá)出來(lái)。(4)物理結(jié)構(gòu)設(shè)計(jì):數(shù)據(jù)庫(kù)的物理設(shè)計(jì)是指對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)路徑的設(shè)計(jì),即將數(shù)據(jù)庫(kù)的邏輯模型在實(shí)際的物理存儲(chǔ)設(shè)備上加以實(shí)現(xiàn),從而建立一個(gè)具有較好性能的數(shù)據(jù)庫(kù)?!尽尽俊尽炕贏rcSDE技術(shù)的空間數(shù)據(jù)庫(kù)建設(shè)周迪民、陳學(xué)工《湘潭師范學(xué)院學(xué)報(bào):自然科學(xué)版》-2007(5)數(shù)據(jù)庫(kù)實(shí)施:數(shù)據(jù)庫(kù)實(shí)施和運(yùn)行維護(hù)階段的主要工作是:裝入數(shù)據(jù),投入使用,同時(shí)根據(jù)數(shù)據(jù)庫(kù)運(yùn)行中所產(chǎn)生的問(wèn)題以及用戶提出的需求不斷完善和提高數(shù)據(jù)庫(kù)的功能以及性能數(shù)據(jù)庫(kù)設(shè)計(jì)原則建庫(kù)原則在建立數(shù)據(jù)時(shí)應(yīng)遵循以下幾個(gè)原則:(1)組織有序、層次分明。公交信息查詢系統(tǒng)對(duì)數(shù)據(jù)的存取訪問(wèn)需要數(shù)據(jù)庫(kù)有序的組織在一起,方便查詢使用(2)最小冗余度原則。數(shù)據(jù)庫(kù)的設(shè)計(jì)要遵循最小冗余度原則——數(shù)據(jù)應(yīng)該盡可能的不重復(fù)達(dá)到減少數(shù)據(jù)存儲(chǔ)的冗余量,最終節(jié)省數(shù)據(jù)的存儲(chǔ)空間——這時(shí)因?yàn)橥粋€(gè)系統(tǒng)如果包含有大量重復(fù)的數(shù)據(jù),這不但會(huì)浪費(fèi)大量的存儲(chǔ)空間,還會(huì)存在潛在的不一致危險(xiǎn),即同一記錄在不同文件中可能不一樣(如,在一個(gè)文件中修改了某一個(gè)數(shù)據(jù)而沒(méi)在另外的文件中沒(méi)有修改相應(yīng)的數(shù)據(jù))。最小冗余度也是數(shù)據(jù)庫(kù)的一大優(yōu)勢(shì)(3)數(shù)據(jù)獨(dú)立性原則。數(shù)據(jù)獨(dú)立性原則指的是數(shù)據(jù)的存放應(yīng)盡可能地與使用它的應(yīng)用程序相獨(dú)立。數(shù)據(jù)獨(dú)立性可以分為數(shù)據(jù)的物理獨(dú)立與數(shù)據(jù)的邏輯獨(dú)立兩個(gè)方面。由于有了數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)庫(kù)系統(tǒng)就可以使用戶數(shù)據(jù)與物理數(shù)據(jù)完全分開(kāi),因此,可以使用戶擺脫了繁瑣的物理存儲(chǔ)細(xì)節(jié)。由于用戶程序不依賴于物理數(shù)據(jù),從而降低用戶程序的維護(hù)開(kāi)銷(xiāo)。(4)標(biāo)準(zhǔn)化、規(guī)范化原則。在建立數(shù)據(jù)庫(kù)時(shí)應(yīng)該合理規(guī)定數(shù)據(jù)庫(kù)的名稱(例如:公交站點(diǎn)可以命名為BusStation,公交線路可以命名為BusLine),保證系統(tǒng)數(shù)據(jù)能夠滿足應(yīng)用要求。(5)系統(tǒng)可靠性、安全、完整性原則。一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的可靠性主要體現(xiàn)在其軟硬件故障率小、運(yùn)行可靠、出了故障時(shí)能迅速恢復(fù)到可用狀態(tài)等幾個(gè)方面。數(shù)據(jù)庫(kù)的安全性是指系統(tǒng)對(duì)數(shù)據(jù)的保護(hù)能力,防止非法使用所造成的數(shù)據(jù)泄密和破壞。即對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行控制,使用戶可以按照系統(tǒng)規(guī)定的規(guī)則來(lái)訪問(wèn)數(shù)據(jù),以防止數(shù)據(jù)有意或無(wú)意地泄露。數(shù)據(jù)庫(kù)的完整性原則是指數(shù)據(jù)的正確性、有效性以及兼容性。完整性檢查可以將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。開(kāi)發(fā)人員通常通過(guò)設(shè)置各種完整約束條件來(lái)解決這一問(wèn)題?!尽尽俊尽炕贏rcGISEngine的城市公眾信息查詢系統(tǒng)研究——以西安市為例董快鴿公交數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)公交數(shù)據(jù)庫(kù)的設(shè)計(jì)主要包括了公交的站點(diǎn)數(shù)據(jù)庫(kù)設(shè)計(jì)、公交線路的設(shè)計(jì)、城市的設(shè)計(jì)、和其他的一些設(shè)計(jì),在統(tǒng)一建立好一個(gè)名為“公交數(shù)據(jù)庫(kù)”的數(shù)據(jù)庫(kù)后分別建立各個(gè)數(shù)據(jù)的分表分別對(duì)這些表進(jìn)行設(shè)計(jì)公交站點(diǎn)的數(shù)據(jù)庫(kù)設(shè)計(jì)公交數(shù)據(jù)站點(diǎn)的設(shè)計(jì)如圖REF_Ref389488844\h表格2公交站點(diǎn)字段表所示:表格SEQ表格\*ARABIC2公交站點(diǎn)字段表表名:BusStation(公交站點(diǎn))字段名數(shù)據(jù)結(jié)構(gòu)說(shuō)明BusInfoIDNvarchar(255)數(shù)字對(duì)應(yīng)busInfo表IDStationNvarchar(255)車(chē)站點(diǎn)稱,例如:貴大StationIndexFloat車(chē)站的序號(hào)(人為規(guī)定一個(gè)方向進(jìn)行排序)其實(shí)體——聯(lián)系圖(E—R圖)如REF_Ref389488901\h圖34實(shí)體-聯(lián)系圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s14實(shí)體-聯(lián)系圖公交線路的數(shù)據(jù)庫(kù)設(shè)計(jì)公交數(shù)據(jù)線路的設(shè)計(jì)如圖REF_Ref389489091\h表格3公交線路字段表所示:表格SEQ表格\*ARABIC3公交線路字段表表名:BusLine(公交線路)段名數(shù)據(jù)結(jié)構(gòu)說(shuō)明IDFloat數(shù)字(對(duì)應(yīng)BusInfo表中BusLineID)AreaIDFloatAreaID(對(duì)應(yīng)Area表ID)LineCodeNvarchar(255)公交線路其實(shí)體——聯(lián)系圖(E—R圖)如REF_Ref389489144\h圖35實(shí)體E-R圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s15實(shí)體E-R圖公交線路信息數(shù)據(jù)庫(kù)設(shè)計(jì)公交數(shù)據(jù)線路信息的設(shè)計(jì)如REF_Ref389558919\h表格4公交線路信息字段表所示:表格SEQ表格\*ARABIC4公交線路信息字段表表名:BusInfo字段名數(shù)據(jù)結(jié)構(gòu)說(shuō)明IDNvarchar(255)數(shù)字對(duì)應(yīng)BusStation表中的BusInfoidBusLineIDFloat對(duì)應(yīng)BusLine表IDStartTimeFloat起點(diǎn)首班車(chē)時(shí)間EndTimeFloat起點(diǎn)末班車(chē)時(shí)間LastStartTimeFloat終點(diǎn)首班車(chē)時(shí)間LastEndTimeFloat終點(diǎn)末班車(chē)時(shí)間TimeInfoNvarchar(255)首末車(chē)時(shí)間說(shuō)明TicketSystemNvarchar(255票制CarfareNvarchar(255)全程票價(jià)[元]KMNvarchar(255)線路長(zhǎng)度[公里]OtherInfoNvarchar(255)其他信息BusInfoIndexFloat排序其實(shí)體——聯(lián)系圖(E—R圖)如REF_Ref389489637\h圖36實(shí)體E-R圖所示(只包含部分屬性):圖STYLEREF1\s3SEQ圖\*ARABIC\s16實(shí)體E-R圖公交城市信息數(shù)據(jù)庫(kù)設(shè)計(jì)公交城市數(shù)據(jù)庫(kù)主要用于存放不同的城市信息,其公交城市信息數(shù)據(jù)庫(kù)設(shè)計(jì)如REF_Ref389558982\h表格5城市字段表所示:表格SEQ表格\*ARABIC5城市字段表表名:Area(城市)字段名數(shù)據(jù)結(jié)構(gòu)說(shuō)明IDFloat數(shù)字ProvinceNvarchar(255)省份CityNvarchar(255)城市例如:貴陽(yáng)市City2Nvarchar(255)城市短名稱例如:貴陽(yáng)PinyinNvarchar(255)拼音其實(shí)體——聯(lián)系圖(E—R圖)如REF_Ref389489689\h圖37實(shí)體E-R圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s17實(shí)體E-R圖上面的四張實(shí)體——聯(lián)系圖通過(guò)合并就可以得到公交數(shù)據(jù)庫(kù)的完整的實(shí)體——聯(lián)系圖(如REF_Ref389489755\h圖21公交E-R圖所示)通過(guò)上面的設(shè)計(jì)我們得到了四張數(shù)據(jù)庫(kù)表這四張數(shù)據(jù)庫(kù)表為Area.dbo、BusInfo.dbo、BusLine.dbo、BusStation.dbo,利用這四張表可以實(shí)現(xiàn)公交數(shù)據(jù)信息的查詢,但是對(duì)于管理員來(lái)說(shuō),這四張表只能夠查詢而不能夠限制用戶只進(jìn)行數(shù)據(jù)的查詢,而不進(jìn)行數(shù)據(jù)的增、刪、查、改等操作因此還需要建立一張系統(tǒng)管理員驗(yàn)證表(qadmin表)公交管理員信息數(shù)據(jù)庫(kù)設(shè)計(jì)公交管理員數(shù)據(jù)庫(kù)的設(shè)計(jì)如REF_Ref389559139\h表格6管理員字段表所示:表格SEQ表格\*ARABIC6管理員字段表表名:qadmin字段名數(shù)據(jù)結(jié)構(gòu)說(shuō)明adusersnchar(50)存放系統(tǒng)管理員的用戶名用于登陸驗(yàn)證adpwdnchar(50)存放系統(tǒng)管理員的登陸密碼用于登陸驗(yàn)證其實(shí)體——聯(lián)系圖(E—R圖)如REF_Ref389489874\h圖38實(shí)體E-R圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s18實(shí)體E-R圖此時(shí)當(dāng)系統(tǒng)管理員輸入用戶名和密碼,通過(guò)查詢與設(shè)計(jì)的表qadmin中的adusers和adpwd作比較,如果一致則進(jìn)入系統(tǒng)管理員的增、刪、查、改等界面,如果不一致則無(wú)法進(jìn)入到系統(tǒng)界面,從而能實(shí)現(xiàn)了管理員功能模塊驗(yàn)證功能。數(shù)據(jù)庫(kù)關(guān)系圖通過(guò)上面的分析我們可以得出數(shù)據(jù)表Area.dbo、BusInfo.dbo、BusLine.dbo、BusStation.dbo之間存在疑點(diǎn)的關(guān)系,我們可將其關(guān)系畫(huà)為如REF_Ref389989129\h圖39關(guān)系圖所示,通過(guò)這張圖可以清晰的反應(yīng)四張數(shù)據(jù)表之間的對(duì)應(yīng)關(guān)系。圖STYLEREF1\s3SEQ圖\*ARABIC\s19關(guān)系圖

實(shí)現(xiàn)系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)是新系統(tǒng)的物理設(shè)計(jì)階段。根據(jù)系統(tǒng)分析階段所確定的新系統(tǒng)的邏輯模型、功能要求,在用戶提供的環(huán)境條件下,設(shè)計(jì)出一個(gè)能在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境上實(shí)施的方案,即建立新系統(tǒng)的物理模型。對(duì)于公交查詢系統(tǒng)主要涉及兩個(gè)方面:1、用戶功能模塊設(shè)計(jì)2、系統(tǒng)管理員模塊設(shè)計(jì),其設(shè)計(jì)界面如REF_Ref389490112\h圖41系統(tǒng)主界面所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s11系統(tǒng)主界面其中當(dāng)點(diǎn)擊”用戶查詢模塊”后進(jìn)入用戶操作主界面,同理當(dāng)點(diǎn)擊”系統(tǒng)管理員模塊”后則進(jìn)入到系統(tǒng)管理員登陸模塊如REF_Ref389490526\h圖42用戶查詢主界面和REF_Ref389491263\h圖49管理員登錄所示??紤]到有一些線路和站點(diǎn)是查詢率較高的因此在主界面中設(shè)計(jì)了熱門(mén)信息的查詢按鈕,以方便用戶快速的查詢到這些熱門(mén)信息,線路實(shí)現(xiàn)的關(guān)鍵代碼如下:Dictionary<string,object>p=newDictionary<string,object>();stringa=button3.Text;p.Add("@a",a);stringsql=@"SELECTArea.City,BusLine.LineCode,BusStation.StationFROM((AreaINNERJOINBusLineONArea.ID=BusLine.AreaID)INNERJOINBusInfoONBusLine.ID=BusInfo.BusLineID)INNERJOINBusStationONBusInfo.ID=BusStation.BusInfoIDWHERE((Area.City='貴陽(yáng)市')AND(BusLine.LineCode=@a))";DataTabledt=SqlHelper.GetDataTable(sql,p);richTextBox1.Clear();for(inti=0;i<dt.Rows.Count;i++){stringstr=string.Concat(dt.Rows[i]["City"].ToString(),"",dt.Rows[i]["LineCode"].ToString(),"",dt.Rows[i]["Station"].ToString());richTextBox1.AppendText(str+'\n');}同理可得到主界面中公交站點(diǎn)查詢的代碼,而在公交站點(diǎn)和線路查詢模塊中的代碼也和它類(lèi)似。用戶功能模塊總體設(shè)計(jì)用戶的功能模塊主要用于完成信息的查詢與反饋操作是系統(tǒng)設(shè)計(jì)核心之一。其模塊可以細(xì)分為以下幾個(gè)小模塊:1、線路查詢模塊2、站點(diǎn)查詢3、公交換乘查詢這些模塊又是在一個(gè)用戶主界面功能模塊中來(lái)具體實(shí)現(xiàn)的。用戶主界面功能模塊設(shè)計(jì)與實(shí)現(xiàn)用戶主界面是供用戶進(jìn)行數(shù)據(jù)的一系列操作所使用的,其界面至少包含站點(diǎn)、線路、換乘查詢等部分。最終設(shè)計(jì)的界面如REF_Ref389490526\h圖42用戶查詢主界面所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s12用戶查詢主界面對(duì)于用戶主界面來(lái)說(shuō)不存在代碼部分的設(shè)計(jì),界面中的內(nèi)容全為vs2010中的組件,其中1標(biāo)注部分為textBox組件其主要作用是讓用戶輸入插敘的條件,2標(biāo)注部分為listBox,其主要作用是將滿足帶有文本框中內(nèi)容的所有數(shù)據(jù)都顯示出來(lái)以供用戶選擇,3標(biāo)注部分為label(標(biāo)簽)組件,其主要作用是用于標(biāo)注后面組件的意義或者是用途,4標(biāo)注部分為button(按鈕)組件,其主要作用是當(dāng)單擊該按鈕時(shí)顯示出相應(yīng)的信息來(lái),在最下方的組件為richTextBox,其主要作用是將信息的結(jié)果顯示出來(lái),以便人們查看。線路查詢模塊對(duì)于一個(gè)公交查詢系統(tǒng),在公交線路的查詢中通常會(huì)知道某條線路或者是某條線路的部分名稱(例如模糊的知道線路名稱中有20這兩個(gè)數(shù)字可能是線路203、201等)來(lái)查詢這條線路所經(jīng)過(guò)的站點(diǎn)名稱,這時(shí)線路查詢模塊則會(huì)根據(jù)模糊查詢功能將所有的帶有20的公交線路列舉出來(lái)供用戶選擇(如REF_Ref389490714\h圖43模糊線路顯示),在單擊查詢后將結(jié)果列舉出來(lái)(如REF_Ref389490722\h圖44公交線路查詢結(jié)果)。圖STYLEREF1\s4SEQ圖\*ARABIC\s13模糊線路顯示圖STYLEREF1\s4SEQ圖\*ARABIC\s14公交線路查詢結(jié)果其編碼思路是通過(guò)模糊查詢將查詢結(jié)果通過(guò)一個(gè)數(shù)組在循環(huán)添加到listBox列表中,通過(guò)獲取選定的listBox中的數(shù)據(jù)傳到textBox中在進(jìn)行查詢。其關(guān)鍵代碼為:stringsql=@"SELECTArea.City,BusLine.LineCode,BusStation.StationFROM((AreaINNERJOINBusLineONArea.ID=BusLine.AreaID)INNERJOINBusInfoONBusLine.ID=BusInfo.BusLineID)INNERJOINBusStationONBusInfo.ID=BusStation.BusInfoIDWHERE((Area.City='貴陽(yáng)市')AND(BusLine.LineCodeLike@a))";DataTabledt=SqlHelper.GetDataTable(sql,p);richTextBox1.Clear();for(inti=0;i<dt.Rows.Count;i++){stringstr=string.Concat(dt.Rows[i]["City"].ToString(),"",dt.Rows[i]["LineCode"].ToString(),"",dt.Rows[i]["Station"].ToString());站點(diǎn)查詢?cè)诠徽军c(diǎn)的查詢中通常會(huì)知道某個(gè)站點(diǎn)的全部或者是某歌站點(diǎn)的部分名稱(例如模糊的知道站點(diǎn)名稱中有貴大這兩個(gè)數(shù)字可能是貴大——花溪區(qū)、貴大科技學(xué)院等)來(lái)查詢經(jīng)過(guò)這個(gè)站點(diǎn)的所有的線路,這時(shí)站點(diǎn)查詢模塊則會(huì)根據(jù)模糊查詢功能將所有的帶有“貴大”的公交站點(diǎn)數(shù)據(jù)列舉出來(lái)供用戶選擇(如REF_Ref389490933\h圖45模糊站點(diǎn)顯示),在單擊查詢后將結(jié)果列舉出來(lái)(如REF_Ref389490941\h圖46公交站點(diǎn)查詢結(jié)果)。圖STYLEREF1\s4SEQ圖\*ARABIC\s15模糊站點(diǎn)顯示圖STYLEREF1\s4SEQ圖\*ARABIC\s16公交站點(diǎn)查詢結(jié)果公交站點(diǎn)查詢編碼的思路、代碼和線路查詢的思路、代碼基本一致。公交換乘查詢?cè)诠徊樵兿到y(tǒng)中經(jīng)常會(huì)用到換乘查詢,其作用是查詢經(jīng)過(guò)兩個(gè)站點(diǎn)的公交線路,比如知道起點(diǎn)站的名字或是模糊名字(例如:貴大或貴)和終點(diǎn)站的名字或模糊名字(例如:六廣門(mén)或六)通過(guò)這兩個(gè)站點(diǎn)選取listBox中出現(xiàn)的站點(diǎn)名或是直接用這兩個(gè)站點(diǎn)名(這兩個(gè)站點(diǎn)名正確才可以直接使用)來(lái)查詢所有經(jīng)過(guò)這兩個(gè)站點(diǎn)的公交線路信息,如REF_Ref389594406\h圖47模糊顯示和REF_Ref389491216\h圖48站點(diǎn)到站點(diǎn)的查詢結(jié)果所示。圖STYLEREF1\s4SEQ圖\*ARABIC\s17模糊顯示圖STYLEREF1\s4SEQ圖\*ARABIC\s18站點(diǎn)到站點(diǎn)的查詢結(jié)果管理員功能模塊對(duì)于公交查詢系統(tǒng)來(lái)說(shuō),公交線路、站點(diǎn)等信息不是一成不變的,對(duì)于用戶來(lái)說(shuō)過(guò)時(shí)的公交線路、站點(diǎn)信息沒(méi)有多大的用處。因此需要進(jìn)行數(shù)據(jù)的實(shí)時(shí)更新,即對(duì)數(shù)據(jù)的操作實(shí)現(xiàn)增刪查改功能,使得軟件的查詢具有實(shí)際的意義方便人們的出行。當(dāng)然對(duì)于數(shù)據(jù)的更新并不是所有的人群都可以而是一些固定的人群即在公交查詢數(shù)據(jù)庫(kù)中的表“admin”中存在的人才可以進(jìn)行更改,以防止數(shù)據(jù)被亂改等現(xiàn)象,這時(shí)就需要設(shè)計(jì)管理員模塊。其模塊可以細(xì)分為以下幾個(gè)小模塊:1、管理員登錄模塊2、信息修改模塊3、信息增加模塊4、信息刪除模塊當(dāng)然系統(tǒng)管理員還可以查詢數(shù)據(jù),其查詢模塊和用戶的查詢模塊處于同一位置,即管理員的查詢模塊即為用戶的查詢模塊。系統(tǒng)管理員登陸界面設(shè)計(jì)登陸界面設(shè)計(jì)的意義在于防止外來(lái)人員進(jìn)入到修改界面中修改數(shù)據(jù)造成數(shù)據(jù)的破壞,首先在公交系統(tǒng)設(shè)計(jì)的主頁(yè)面中添加一個(gè)新的窗體既為管理員的登陸窗體,在登陸窗體中分別添加按鈕(確定按鈕、清空按鈕——如果填寫(xiě)錯(cuò)誤則可以清空輸入的內(nèi)容、取消按鈕)、標(biāo)簽(用于標(biāo)注用戶名和密碼)、文本(輸入數(shù)據(jù)使用)如REF_Ref389491263\h圖49管理員登錄所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s19管理員登錄在屬性窗口中設(shè)置第二個(gè)文本框的PasswordChar屬性為字符“*”,在設(shè)置窗體的CanceButton屬性為button3,這樣當(dāng)用戶單擊“取消”按鈕后,DialogResult屬性值就是Cancel?!尽尽俊尽緾#語(yǔ)言程序設(shè)計(jì)基礎(chǔ)(第二版)鄭宇軍編著清華大學(xué)出版社當(dāng)用戶輸出密碼和用戶名之后單擊確定就會(huì)與數(shù)據(jù)庫(kù)進(jìn)行查詢比對(duì)如果正確則會(huì)跳轉(zhuǎn)到下一個(gè)窗體,如果不正確則彈出“錯(cuò)誤”窗口(如REF_Ref389491332\h圖410登錄錯(cuò)誤界面提示所示),清空按鈕則可以清空輸入的用戶名和密碼的內(nèi)容。圖STYLEREF1\s4SEQ圖\*ARABIC\s110登錄錯(cuò)誤界面提示添加路線和站點(diǎn)信息在上一步中當(dāng)我們輸入正確的用戶名和密碼之后就可以進(jìn)入到系統(tǒng)管理員的操作界面,對(duì)于“添加路線和站點(diǎn)”界面設(shè)計(jì)如REF_Ref389491843\h圖411信息增加界面:圖STYLEREF1\s4SEQ圖\*ARABIC\s111信息增加界面此時(shí)就可以添加線路信息和站點(diǎn)信息,但是要注意到各個(gè)字段之間的對(duì)應(yīng)關(guān)系,在添加數(shù)據(jù)的時(shí)候應(yīng)對(duì)照下方的文字部分。其關(guān)鍵代碼如下:stringsql=@"insertintoBusLine(ID,AreaID,LineCode)VALUES(@id,@arearid,@linecodeid)";//數(shù)據(jù)庫(kù)插入語(yǔ)句Dictionary<string,object>p=newDictionary<string,object>();//字典變量,使其對(duì)應(yīng)傳值p.Add("@id",id);p.Add("@arearid",arearid);p.Add("@linecodeid",linecodeid);SqlHelper.ExecuteNonQuery(sql,p);MessageBox.Show("增加信息?成功|");刪除線路和站點(diǎn)同理對(duì)于系統(tǒng)的刪除界面進(jìn)行如REF_Ref389491979\h圖412刪除界面的界面設(shè)置:圖STYLEREF1\s4SEQ圖\*ARABIC\s112刪除界面此時(shí)當(dāng)點(diǎn)擊對(duì)應(yīng)的按鈕時(shí),對(duì)于線路則會(huì)刪除整條的數(shù)據(jù)信息(ID、AreaID、LineCode)以及表BusInfo中所對(duì)應(yīng)的信息記錄,對(duì)于站點(diǎn)則會(huì)將這條站點(diǎn)的信息刪除但是當(dāng)刪除這個(gè)站點(diǎn)時(shí)應(yīng)查看是否有別的線路進(jìn)過(guò)如果有則不該刪除,以免影響其他的線路信息,因此需要設(shè)計(jì)一個(gè)MessageBox消息框,在消息框代碼中添加MessageBox.Show("是否刪除","警告?",MessageBoxButtons.YesNoCancel)【7】則可以實(shí)現(xiàn)重要數(shù)據(jù)提示功能,以免誤刪。關(guān)鍵代碼:MessageBox.Show("是否刪除","警告?",MessageBoxButtons.YesNoCancel);stringStation=textBox2.Text;stringsql=@"deletefromBusStationwhereStation=@LineCode";Dictionary<string,object>p=newDictionary<string,object>();p.Add("@Station",Station);SqlHelper.ExecuteNonQuery(sql,p);MessageBox.Show("刪除信息成功!");修改路線站點(diǎn)信息對(duì)于一個(gè)完整的管理員模塊還需要具備修改數(shù)據(jù)信息的功能,“修改路線站點(diǎn)信息”界面和增加界面大體一致如REF_Ref389492102\h圖413修改界面所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s113修改界面此時(shí)只需按照說(shuō)明填寫(xiě)即可。其關(guān)鍵代碼如下:stringselectsql=@"selectID,AreaID,LineCodefromBusLinewhereLineCode=@LineCode";//必填內(nèi)容用于查詢信息Dictionary<string,object>p=newDictionary<string,object>();p.Add("@id",id);p.Add("@ArearID",ArearID);p.Add("@LineCode",LineCode);DataTabledt=SqlHelper.GetDataTable(selectsql,p);if(dt.Rows.Count>0)//判斷要修改的線路存不存在{stringsql=@"UPDATEBusLineSETid=@id,AreaID=@ArearID,LineCode=@LineCodewhereLineCode=@LineCode";Dictionary<string,object>p1=newDictionary<string,object>();p1.Add("@id",id);p1.Add("@ArearID",ArearID);p1.Add("@LineCode",LineCode);SqlHelper.ExecuteNonQuery(sql,p1);//增、刪、查、改函數(shù)MessageBox.Show("信息修改成功");}else{MessageBox.Show("該線路不存在請(qǐng)重試或增加線路信息");}

結(jié)論不足和展望結(jié)論本系統(tǒng)由兩大部分組成——用戶管理模塊、系統(tǒng)管理員模塊。根據(jù)用戶管理模塊的功能需求,其主要實(shí)現(xiàn)公交線路信息、站點(diǎn)信息、站點(diǎn)到站點(diǎn)信息的查詢。根據(jù)系統(tǒng)管理員模塊的功能需求,其主要實(shí)現(xiàn)管理員信息驗(yàn)證、公交信息增加、刪除、查詢、修改功能該系統(tǒng)界面部分主要采用vs2010進(jìn)行設(shè)計(jì),并在系統(tǒng)界面的代碼窗口中設(shè)計(jì)代碼以實(shí)現(xiàn)系統(tǒng)中各個(gè)模塊的功能,對(duì)于后臺(tái)數(shù)據(jù)采用數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì),即設(shè)計(jì)一張完整的“公交數(shù)據(jù)庫(kù)”,通過(guò)系統(tǒng)界面的代碼實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接、查詢、增加、刪除、修改功能并返回信息不足在本系統(tǒng)中公交換乘插敘模塊未能實(shí)現(xiàn)二次及以上換乘的情況,其只能夠在一次換乘或者不需要換乘的情況下查詢到通過(guò)兩個(gè)站點(diǎn)的公交線路,而且在不換乘的情況下往往查詢結(jié)果比較的復(fù)雜。其次本系統(tǒng)的可移植性不高,未能滿足系統(tǒng)可以再不同的環(huán)境下運(yùn)行的需要,因?yàn)楸鞠到y(tǒng)在進(jìn)行操作時(shí)主要是對(duì)數(shù)據(jù)庫(kù)的操作,在連接數(shù)據(jù)庫(kù)是采用代碼為:server=.\SQLEXPRESS;database=公交數(shù)據(jù)庫(kù);IntegratedSecurity=true,此時(shí)要求連接的數(shù)據(jù)庫(kù)服務(wù)器名稱為SQLEXPRESS,數(shù)據(jù)庫(kù)名為“公交數(shù)據(jù)庫(kù)”,當(dāng)移植到其他環(huán)境時(shí)不能保證數(shù)據(jù)庫(kù)服務(wù)器名稱為SQLEXPRESS。如果要在其他環(huán)境使用則需要修改相應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器名稱為SQLEXPRESS。因此這個(gè)公交查詢系統(tǒng)的可移植性不高。第三、在本系統(tǒng)中缺乏實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)使得不能夠采集到更加豐富的交通流量信息,使得系統(tǒng)不能動(dòng)態(tài)的提供實(shí)時(shí)路段信息,如車(chē)輛擁擠情況等,所以在本系統(tǒng)中只能提供一些靜態(tài)的路段信息。第四、本系統(tǒng)中沒(méi)有關(guān)聯(lián)到網(wǎng)絡(luò)的地圖(如百度地圖),因此,不夠很清晰的表示公交線路或站點(diǎn)之間的空間關(guān)系。展望對(duì)于上訴中存在的缺點(diǎn)1可以用一個(gè)循環(huán)語(yǔ)句判斷需不需要換乘,如果不需要?jiǎng)t直接查詢,如果需要?jiǎng)t進(jìn)行換乘查詢并按照換乘查詢顯示格式顯示輸出,缺點(diǎn)2可以采用一個(gè)窗體,通過(guò)傳值的方式將數(shù)據(jù)庫(kù)服務(wù)器名稱傳入到連接數(shù)據(jù)庫(kù)的語(yǔ)句中,這樣當(dāng)移植到另一個(gè)環(huán)境時(shí)只需導(dǎo)入數(shù)據(jù)庫(kù)即可使用,缺點(diǎn)三則可以使系統(tǒng)聯(lián)網(wǎng)實(shí)時(shí)調(diào)用網(wǎng)絡(luò)中的有關(guān)公交實(shí)時(shí)信息并按照查詢的有關(guān)內(nèi)容(主要是公交線路)顯示出來(lái),同理對(duì)于對(duì)于缺點(diǎn)四也可以設(shè)置聯(lián)網(wǎng)調(diào)用百度地圖來(lái)進(jìn)行空間查詢。

參考文獻(xiàn)致謝首先感謝我的指導(dǎo)老師,本論文是在老師的指導(dǎo)下和同學(xué)們的幫助下修改完成的。在此,我要向他們的細(xì)心幫助和指導(dǎo)表示由衷的感謝。在這段時(shí)間里,我從他們身上不僅學(xué)到了許多的專業(yè)知識(shí),更感受到他們工作中的兢兢業(yè)業(yè),生活中的平易近人。此外,他們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和忘我的工作精神值得我去學(xué)習(xí)。非常感謝大家在我的畢業(yè)設(shè)計(jì)中,給予我極大的幫助,使我對(duì)整個(gè)畢業(yè)設(shè)計(jì)的思路有了總體的把握,并耐心的幫我解決了許多實(shí)際問(wèn)題,使我有了很大的收獲。同時(shí),他們?cè)谡麄€(gè)開(kāi)發(fā)過(guò)程中提出了許多建設(shè)性意見(jiàn),并給我解決了一些專業(yè)性問(wèn)題。感謝多年來(lái)傳授我知識(shí)的老師們,更要感謝那些對(duì)我學(xué)習(xí)上支持和鼓勵(lì)的人。同時(shí)感謝所有關(guān)心幫助過(guò)我的同學(xué)、老師和學(xué)校??傊?,在以后的學(xué)習(xí)生活中我將以加倍的努力對(duì)給予我?guī)椭膶W(xué)校、老師及同學(xué)們的回報(bào)。

附件線路查詢模塊實(shí)現(xiàn)代碼Dictionary<string,object>p=newDictionary<string,object>();stringc=textBox4.Text;stringa=string.Concat("%",c,"%");p.Add("@a",a);stringsql=@"SELECTArea.City,BusLine.LineCode,BusStation.StationFROM((AreaINNERJOINBusLineONArea.ID=BusLine.AreaID)INNERJOINBusInfoONBusLine.ID=BusInfo.BusLineID)INNERJOINBusStationONBusInfo.ID=BusStation.BusInfoIDWHERE((Area.City='貴陽(yáng)市')AND(BusLine.LineCodeLike@a))";DataTabledt=SqlHelper.GetDataTable(sql,p);List<string>ls=newList<string>();richTextBox1.Clear();for(inti=0;i<dt.Rows.Count;i++){ls.Add(dt.Rows[i]["Station"].ToString());}ls=Manager.RMRepeatItems(ls);for(intj=0;j<ls.Count;j++){stringstr=string.Concat(dt.Rows[j]["City"].ToString(),"",dt.Rows[j]["LineCode"].ToString(),"",ls[j].ToString());richTextBox1.AppendText(str+'\n');}

站點(diǎn)查詢實(shí)現(xiàn)代碼Dictionary<string,object>p=newDictionary<string,object>();stringc=textBox1.Text.ToString();//傳值//stringa=string.Concat("%",c,"%");//加百分號(hào)stringa=c;p.Add("@a",a);stringsql=@"SELECTArea.City,BusLine.LineCode,BusStation.StationFROM((AreaINNERJOINBusLineONArea.ID=BusLine.AreaID)INNERJOINBusInfoONBusLine.ID=BusInfo.BusLineID)INNERJOINBusStationONBusInfo.ID=BusStation.BusInfoIDWHERE((Area.City='貴陽(yáng)市')AND(BusStation.Station=@a))";DataTabledt=SqlHelper.GetDataTable(sql,p);richTextBox1.Clear();//為下次查詢做好刪除上次查詢結(jié)果List<string>ls=newList<string>();richTextBox1.Clear();for(inti=0;i<dt.Rows.Count;i++){ls.Add(dt.Rows[i]["LineCode"].ToString());}ls=Manager.RMRepeatItems(ls);for(intj=0;j<ls.Count;j++){stringstr=string.Concat(dt.Rows[j]["City"].ToString(),"",ls[j],"",dt.Rows[j]["Station"].ToString());//循環(huán)放置城市、線路、站點(diǎn)數(shù)據(jù)放到str中richTextBox1.AppendText(str+'\n');}

公交換乘查詢代碼List<string>tID=newList<string>();List<string>tStation=newList<string>();stringStart=textBox2.Text;stringEnd=textBox3.Text;Dictionary<string,object>p=newDictionary<string,object>();stringsql=@"selectR1.StartStationASsStation,R1.RouteIDAS[sID],R1.EndStationAStStation,R2.RouteIDAStID,R2.EndStationASeStation,R1.StopCount+R2.StopCountASAllCountFROMwASR1INNERJOINwASR2ONR1.EndStation=R2.StartStationWHERE((R1.StartStation=@Start)AND(R2.EndStation=@End))";p.Add("@Start",Start);p.Add("@End",End);DataTabledt=SqlHelper.GetDataTable(sql,p);richTextBox1.Clear();for(intj=0;j<dt.Rows.Count;j++){richTextBox1.AppendText("起點(diǎn)站:"+""+dt.Rows[j]["sStation"].ToString()+""+"起始線路:"+""+dt.Rows[j]["sID"].ToString()+""+"中轉(zhuǎn)車(chē)站:"+""+dt.Rows[j]["tStatio

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論