版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第頁基于C#.NET的公交查詢系統(tǒng)設(shè)計與實現(xiàn)目錄摘要 VAbstract VI第1章 緒論 11.1 前言 11.1.1 系統(tǒng)開發(fā)背景 11.2 選題目的與意義 11.2.1 選題目的 11.2.2 選題意義 21.3 系統(tǒng)開發(fā)環(huán)境及簡介 21.3.1 硬件部分 21.3.2 軟件部分 2第2章 需求分析 42.1 需求分析概述 42.1.1 需求分析的基本任務(wù)一個階段 42.2 實體——聯(lián)系圖(E-R圖) 52.2.1 實體——聯(lián)系圖概述 52.2.2 符號系統(tǒng) 52.2.3 公交實體——聯(lián)系圖 62.3 層次方框圖 72.4 數(shù)據(jù)流圖(DFD) 82.4.1 數(shù)據(jù)流圖概述 82.4.2 符號系統(tǒng) 82.4.3 畫圖原則 92.4.4 公交DFD圖 92.5 系統(tǒng)功能模塊劃分 112.5.1 用戶查詢模塊 112.5.2 管理員模塊 11第3章 詳細(xì)設(shè)計 123.1 系統(tǒng)詳細(xì)設(shè)計 123.1.1 系統(tǒng)總體功能設(shè)計 123.1.2 系統(tǒng)各功能模塊詳細(xì)設(shè)計 123.2 .數(shù)據(jù)庫設(shè)計 123.2.1 數(shù)據(jù)庫設(shè)計步驟 133.2.2 數(shù)據(jù)庫設(shè)計原則 143.3 公交數(shù)據(jù)庫詳細(xì)設(shè)計 153.3.1 公交站點的數(shù)據(jù)庫設(shè)計 153.3.2 公交線路的數(shù)據(jù)庫設(shè)計 153.3.3 公交線路信息數(shù)據(jù)庫設(shè)計 163.3.4 公交城市信息數(shù)據(jù)庫設(shè)計 173.3.5 公交管理員信息數(shù)據(jù)庫設(shè)計 183.4 數(shù)據(jù)庫關(guān)系圖 19第4章 實現(xiàn) 214.1 系統(tǒng)界面設(shè)計與實現(xiàn) 214.2 用戶功能模塊總體設(shè)計 224.2.1 用戶主界面功能模塊設(shè)計與實現(xiàn) 234.2.2 線路查詢模塊 244.2.3 站點查詢 254.2.4 公交換乘查詢 264.3 管理員功能模塊 274.3.1 系統(tǒng)管理員登陸界面設(shè)計 284.3.2 添加路線和站點信息 294.3.3 刪除線路和站點 314.3.4 修改路線站點信息 32第5章 結(jié)論不足和展望 345.1 結(jié)論 345.2 不足 345.3 展望 34參考文獻(xiàn) 36致謝 37附件 38附件1. 線路查詢模塊實現(xiàn)代碼 38附件2. 站點查詢實現(xiàn)代碼 40附件3. 公交換乘查詢代碼 42附件4. 管理員登陸代碼 44附件5. 刪除站點代碼 45附件6. 修改信息代碼 46附件7. 增加信息代碼 48
摘要隨著“公交先行,節(jié)能減排,低碳生活”概念的提出,使得各大城市的公共交通得到迅速的發(fā)展,因此乘客需要實時的查詢公交系統(tǒng)的信息以便出行,在此背景下,本文最主要采用vs2010來實現(xiàn)公交查詢系統(tǒng)的設(shè)計采用SQLServer2008數(shù)據(jù)庫來實現(xiàn)系統(tǒng)所需的數(shù)據(jù)需求。在公交查詢系統(tǒng)設(shè)計過程中考慮用戶查詢的模塊為:線路查詢、站點查詢、換乘查詢,管理員模塊則應(yīng)該包括對數(shù)據(jù)增、刪、查、改等操作,對于數(shù)據(jù)庫設(shè)計應(yīng)該體現(xiàn)出數(shù)據(jù)之間明確的聯(lián)系關(guān)系。關(guān)鍵詞:數(shù)據(jù)庫、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)開發(fā)背景出行是人類生活的基本活動之一。城市的快速發(fā)展、科技的發(fā)展以及環(huán)保意識的增強(qiáng),對城市公共交通的發(fā)展趨勢的快速性、舒適性、便捷性、環(huán)保等方面提出更高要求。先進(jìn)的信息技術(shù)也促進(jìn)了公共交通技術(shù)的發(fā)展,從而為乘客提供了良好的出行條件,并且能夠逐漸滿足市民出行多樣化的交通需求。為城市的進(jìn)一步發(fā)展提供便捷條件,對于城市公共交通來說,必然要優(yōu)先發(fā)展公交,因此,公共交通的地位也不斷得到提升。【【】【】公交換乘系統(tǒng)的算法研究與應(yīng)用[D].太原:中北大學(xué).2009:28-31趙敏2005年以來,中國先后印發(fā)了關(guān)于優(yōu)先發(fā)展城市公共交通的意見等系列文件正式確立了公交優(yōu)先發(fā)展的戰(zhàn)略思想,為優(yōu)先發(fā)展城市公共交通指明了方向,有力推動了中國城市公交事業(yè)的發(fā)展。截止2009年底到全國公共汽電車運營線路網(wǎng)總長度28.9萬公里,公交專用車道里程達(dá)7452公里,10余個城市開通運營快速公交路線,公交運輸總量達(dá)到780億人次。【【】【】崛起中的中國城市基礎(chǔ)設(shè)施建設(shè)發(fā)展研究黃新文隨著城市公交的快速發(fā)展和節(jié)能減排的理念升入人心,使得人們的出行越來越選擇以公交的方式出行,并且由于城市的人口居住以及就業(yè)形態(tài)的已經(jīng)形成,協(xié)調(diào)好公交的換乘、增加交通可達(dá)性勢在必行。隨著城市的發(fā)展,必然帶來道路基礎(chǔ)設(shè)施的擴(kuò)展,公交線路隨之增長,有些城市多達(dá)上百條,以至于居民難以掌握大量的公交信息,為出行帶來了一定的困擾。因而,公交查詢系統(tǒng)便應(yīng)運而生。選題目的與意義選題目的隨著節(jié)能減排低碳生活的提出,以及公交先行的理念日漸深入人心,建立一個公交查詢系統(tǒng)是公眾出行的迫切需要——人們對于出行的要求增多,對公交系統(tǒng)的需求也逐漸的增加,公交的監(jiān)督電話也方便顧客的監(jiān)督和查詢。建立完善的公交線路網(wǎng)也是我國對于公共交通的一個長遠(yuǎn)計劃,而在整個公共交通中公交又占有相當(dāng)大的比重,建立一個公交查詢系統(tǒng)則可以為顧客的出行提供很直接、便捷的出行方案。選題意義貴陽市是貴州省省會,是我國內(nèi)陸開放城市及西南地區(qū)的重要的交通通信樞紐、工業(yè)基地、商貿(mào)和旅游服務(wù)城市,城市道路交通的發(fā)展從某種意義上講可以制約或促進(jìn)整個城市的發(fā)展方向?!尽尽俊尽抠F陽市城市交通發(fā)展研究歐艷玲天津大學(xué)博碩論文2004貴陽市區(qū)由中心區(qū)、小河、龍洞堡、花溪、白云、金陽等地組成,12米以上的道路291.41公里,公交運營車輛截止到2010年12月共計1576輛,市、郊線路150條,車運量達(dá)到5.9億人次,承擔(dān)了全市約70%的客運量【【】【】貴陽市城市公共交通的現(xiàn)狀與對策研究1、城市公交查詢系統(tǒng)能夠最快、最方便的滿足人們的出行需要,幫助人們正確的選擇公交出行的線路,提高人們的出行速率。2、城市公交查詢系統(tǒng)是智能公交的重要組成部分,智能公交系統(tǒng)是一個整體工程,而公交查詢系統(tǒng)則屬于智能公交查詢系統(tǒng)的軟件組成部分。3、作為省會城市則可以幫助外來人員快速的查詢到公交信息,提高人們的出行的效率和城市的綜合的地位。系統(tǒng)開發(fā)環(huán)境及簡介系統(tǒng)開發(fā)環(huán)境分為兩部分——1.硬件部分、2.軟件部分硬件部分一般電腦配置即可軟件部分軟件部分包括SQLServer2008數(shù)據(jù)庫、MicrosoftVisualStudio2010(一)數(shù)據(jù)庫采用SQLServer2008數(shù)據(jù)庫數(shù)據(jù)庫可以理解為存儲數(shù)據(jù)的倉庫。他是按照一定的組織方式存儲的相互有關(guān)的數(shù)據(jù)的集合,這些數(shù)據(jù)不僅彼此關(guān)聯(lián)而且可以動態(tài)變化。它具有以下幾個特點:1、數(shù)據(jù)結(jié)構(gòu)化2、數(shù)據(jù)共享3、數(shù)據(jù)的獨立性5.數(shù)據(jù)的一致性與正確性在數(shù)據(jù)庫中最核心的一部分為DBMS即數(shù)據(jù)庫管理系統(tǒng)他是使用戶能夠?qū)崿F(xiàn)數(shù)據(jù)加工的數(shù)據(jù)管理系統(tǒng),為用戶提供以下幾個功能:1、建庫功能2、數(shù)據(jù)的操作功能:實現(xiàn)對數(shù)據(jù)的增、刪、查、改等功能【【】【】數(shù)據(jù)庫技術(shù)與應(yīng)用——SQLServer2005教程詹英主編清華大學(xué)出版社(二)編程軟件采用MicrosoftVisualStudio2010VisualStudio是Windows平臺應(yīng)用程序的開發(fā)環(huán)境,它是建立在IDE(統(tǒng)一開發(fā)環(huán)境)的基礎(chǔ)之上,可用于開發(fā)多種不同類型的應(yīng)用程序
需求分析需求分析概述需求分析是軟件定義時期的最后一個階段,需求分析指的是在建立一個新的或改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作。需求分析是軟件工程中的一個關(guān)鍵過程。在這個過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求分析的基本任務(wù)一個階段它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個問題。需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)必須完成那些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求【【】軟件工程導(dǎo)論(第五版)張海藩編著清華大學(xué)出版社】。具體說需求分析的任務(wù)有以下幾個方面:【】軟件工程導(dǎo)論(第五版)張海藩編著清華大學(xué)出版社1、功能需求——這方面的需求制定系統(tǒng)必須提供的服務(wù)。通過需求分析應(yīng)該劃分出系統(tǒng)必須完成的所有功能2、性能需求——性能需求指定系統(tǒng)必須滿足的定時約束或容量約束,通常包括速度(響應(yīng)時間、信息量速率)【【】基于C/S與B/S結(jié)合模式的農(nóng)業(yè)專家信息服務(wù)平臺設(shè)計研究劉濤[1]溫曉莉[2]《河北農(nóng)業(yè)科學(xué)》2010【】基于C/S與B/S結(jié)合模式的農(nóng)業(yè)專家信息服務(wù)平臺設(shè)計研究劉濤[1]溫曉莉[2]《河北農(nóng)業(yè)科學(xué)》20104、出錯處理需求5、接口需求6、約束7、逆向需求8、將來可能提出的要求(2)分析系統(tǒng)的數(shù)據(jù)要求每一個系統(tǒng)在本質(zhì)上都是處理信息的,系統(tǒng)必須處理的信息與系統(tǒng)得到的信息在很大的程度上決定了系統(tǒng)的“面貌”,因此必須分析系統(tǒng)的數(shù)據(jù)要求,而分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法即實體——聯(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)。實體——聯(lián)系圖(E-R圖)實體——聯(lián)系圖概述為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確的描述出來,系統(tǒng)分析員通常建立一個概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的顯示環(huán)境,而且與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)符號系統(tǒng)在實體——聯(lián)系圖中包含3種相互關(guān)系的信息如REF_Ref389487612\h表格1所示:表格SEQ表格\*ARABIC1ER圖符號圖形名稱描述數(shù)據(jù)對象數(shù)據(jù)對象時對軟件必須的復(fù)合信息的抽象。所謂復(fù)合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,僅有單個值的事物(例如,寬度)不是數(shù)據(jù)對象屬性數(shù)據(jù)對象一般具有若干特征,這些特征就稱為數(shù)據(jù)對象的屬性,例如:數(shù)據(jù)對象“學(xué)生”,具有學(xué)號、姓名、性別、出生日期和系別等特征,這些就是它的屬性。聯(lián)系實體之間可能會有各種關(guān)系。例如,“學(xué)生”與“課程”之間有“選課”的關(guān)系。這種實體和實體之間的關(guān)系被抽象為聯(lián)系。在實體聯(lián)系圖中,聯(lián)系用聯(lián)結(jié)有關(guān)實體的菱形框表示,如圖1.9所示。聯(lián)系可以是一對一(1:1),一對多(1:N)或多對多(M:N)的,這一點在實體聯(lián)系圖中也應(yīng)說明。例如在大學(xué)教務(wù)管理問題中,“學(xué)生”與“課程”是多對多的“選課”聯(lián)系聯(lián)系?!尽尽繉嶓w-聯(lián)系方法講義】【】實體-聯(lián)系方法講義公交實體——聯(lián)系圖在本文中的公交E-R圖如REF_Ref389487830\h圖21所示:圖STYLEREF1\s2SEQ圖\*ARABIC\s11公交E-R圖層次方框圖層次方框圖是用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。在本文中的公交查詢系統(tǒng)層次方框圖如REF_Ref389487927\h圖22所示:圖STYLEREF1\s2SEQ圖\*ARABIC\s12層次方框圖數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖概述數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)流從輸入移動到輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,他只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計算機(jī)技術(shù)人員也容易理解它,因此,他是分析員與用戶之間幾號的通信工具。此外數(shù)據(jù)流圖設(shè)計時只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能,因此他也是進(jìn)行軟件設(shè)計的很好的出發(fā)點。符號系統(tǒng)數(shù)據(jù)流圖通常包含以下幾種符號:符號名稱說明正方形表示數(shù)據(jù)的源點或終點圓角矩形代表數(shù)據(jù)的變換處理開口矩形代表數(shù)據(jù)存儲箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向畫圖原則畫圖原則:(1)數(shù)據(jù)流圖上所有圖形符號只限于以上四種基本圖例(2)頂層數(shù)據(jù)流圖必須包含4種基本元素;(3)頂層數(shù)據(jù)流圖上的數(shù)據(jù)流必須封閉在外部實體之間;(4)至少有一個數(shù)據(jù)輸入流和一個數(shù)據(jù)輸出流;(5)在數(shù)據(jù)流圖中必須按層給處理框加編號,該編號表明該加工處;在那一層以及上下層父圖與子圖的對應(yīng)關(guān)系;(6)規(guī)定數(shù)據(jù)流圖與他上一層的一個處理對應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致,即父圖與子圖平衡,還應(yīng)該在數(shù)據(jù)流圖中繳入必要地說明以幫助用戶理解;(7)圖上的每個元素都應(yīng)該有名字,數(shù)據(jù)流和數(shù)據(jù)文件名字表明流動的數(shù)據(jù)是什么,而處理的名字應(yīng)表明處理做了說明事情。公交DFD圖圖STYLEREF1\s2SEQ圖\*ARABIC\s13公交DFD圖系統(tǒng)功能模塊劃分一個系統(tǒng)可以看成是由多個小模塊組成,這些小模塊之間應(yīng)該具有高內(nèi)聚、低耦合的特點:耦合:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的衡量。而耦合程度取決于模塊時間接口的復(fù)雜程度,進(jìn)入或訪問一個模塊的點,以及通過接口的數(shù)據(jù)。耦合包括以下幾種:1、數(shù)據(jù)耦合2、控制耦合3、特征耦合4、公共耦合。內(nèi)聚:內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素之間的彼此結(jié)合程度。內(nèi)聚包括以下幾種:1、功能內(nèi)聚2、順序內(nèi)聚3、通信內(nèi)聚4、過程內(nèi)聚5、時間內(nèi)聚6、邏輯內(nèi)聚7、偶然內(nèi)聚。公交查詢系統(tǒng)可以看成是由兩個大模塊組成即:用戶查詢模塊和管理員模塊。用戶查詢模塊用戶查詢模塊主要供用戶使用其主要完成的對公交信息的查詢,這些查詢包括公交站點、公交線路以及公交站點到站點的額查詢(公交換乘插敘)并將查詢的結(jié)果通過一定的方式顯示出來,并且需要制定一個“選擇框”以便用戶進(jìn)行模糊查詢。管理員模塊管理員在公交查詢系統(tǒng)中擁有最高的權(quán)限,它能夠?qū)恍畔⑦M(jìn)行增、刪、查、改等一系列工作,當(dāng)然對于管理員模塊需要進(jìn)行身份驗證,當(dāng)正確以后才能進(jìn)行操作。
詳細(xì)設(shè)計系統(tǒng)詳細(xì)設(shè)計系統(tǒng)的詳細(xì)設(shè)計階段其根本目標(biāo)是確定應(yīng)該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是經(jīng)過這個階段的設(shè)計工作,應(yīng)該得到對系統(tǒng)的準(zhǔn)確描述,從而在編碼階段可以把整個描述直接翻譯為用vs2010編寫的程序代碼,在這一階段不是實現(xiàn)軟件的具體代碼編寫系統(tǒng)總體功能設(shè)計系統(tǒng)功能詳細(xì)設(shè)計主要表述系統(tǒng)的功能架構(gòu)如圖1.3.1所示圖STYLEREF1\s3SEQ圖\*ARABIC\s11系統(tǒng)功能架構(gòu)系統(tǒng)各功能模塊詳細(xì)設(shè)計對于用戶模塊來說就是完成對信息的查詢功能并返回值如圖,對于管理員來說不僅可以查詢公交的信息還可以對公交信息進(jìn)行增、刪、查、改等工作如REF_Ref389488411\h圖32、REF_Ref389488411\h圖323所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s12功能圖圖STYLEREF1\s3SEQ圖\*ARABIC\s13功能圖.數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括數(shù)據(jù)管理需求和數(shù)據(jù)操作需求?!尽尽俊尽繑?shù)據(jù)庫系統(tǒng)概論[M].高等教育出版社,王珊、薩師煊2008.12數(shù)據(jù)庫設(shè)計的好壞,直接影響到系統(tǒng)的功能能否實現(xiàn),數(shù)據(jù)操作是否簡單。設(shè)計良好的數(shù)據(jù)庫很容易使用,并且能夠保護(hù)數(shù)據(jù)的有效性。而設(shè)計不好的數(shù)據(jù)庫雖然能夠發(fā)揮相當(dāng)?shù)淖饔?但是可能會導(dǎo)致數(shù)據(jù)的無效、錯誤或者丟失?!尽尽俊尽抗痪€路查詢系統(tǒng)的數(shù)據(jù)庫設(shè)計王軍武威職業(yè)學(xué)院數(shù)據(jù)庫設(shè)計步驟建立了數(shù)據(jù)庫的步驟:數(shù)據(jù)庫系統(tǒng)的生存期可劃分為:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、實施和運行維護(hù)七個階段,而需求分析和概念結(jié)構(gòu)設(shè)計可以獨立于任何數(shù)據(jù)庫管理系統(tǒng)而進(jìn)行。邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計與選用的DBMS(databasemanagementsystem)密切相關(guān)。我們通常把前五個階段稱為“數(shù)據(jù)庫的分析和設(shè)計階段”,后兩個階段稱為“數(shù)據(jù)庫的實現(xiàn)與運行階段?!薄尽尽俊尽繒r素平.基于組件式GIS的城市公眾查詢系統(tǒng)的設(shè)計與實現(xiàn)[D].昆明理工大學(xué)(1)需求分析:在這一步需要做的主要工作是收集數(shù)據(jù)庫所有的信息內(nèi)容和處理要求,并對其進(jìn)行分析。(2)概念結(jié)構(gòu)設(shè)計:經(jīng)過需求分析后,在這個階段把用戶的需求加以解釋,并用概念模型(概念模型是現(xiàn)實世界到信息世界的抽象,具有獨立于具體的數(shù)據(jù)庫實現(xiàn)的優(yōu)點,因此它是用戶和數(shù)據(jù)庫設(shè)計人員之間進(jìn)行交流的語言。)表達(dá)出來。(3)邏輯結(jié)構(gòu)設(shè)計:這個階段的主要任務(wù)是利用數(shù)據(jù)庫管理系統(tǒng)所提供的工具將信息世界中的概念模型映射為計算機(jī)世界中為數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,并且將其用數(shù)據(jù)描述語言表達(dá)出來。(4)物理結(jié)構(gòu)設(shè)計:數(shù)據(jù)庫的物理設(shè)計是指對數(shù)據(jù)庫存儲結(jié)構(gòu)和存儲路徑的設(shè)計,即將數(shù)據(jù)庫的邏輯模型在實際的物理存儲設(shè)備上加以實現(xiàn),從而建立一個具有較好性能的數(shù)據(jù)庫?!尽尽俊尽炕贏rcSDE技術(shù)的空間數(shù)據(jù)庫建設(shè)周迪民、陳學(xué)工《湘潭師范學(xué)院學(xué)報:自然科學(xué)版》-2007(5)數(shù)據(jù)庫實施:數(shù)據(jù)庫實施和運行維護(hù)階段的主要工作是:裝入數(shù)據(jù),投入使用,同時根據(jù)數(shù)據(jù)庫運行中所產(chǎn)生的問題以及用戶提出的需求不斷完善和提高數(shù)據(jù)庫的功能以及性能數(shù)據(jù)庫設(shè)計原則建庫原則在建立數(shù)據(jù)時應(yīng)遵循以下幾個原則:(1)組織有序、層次分明。公交信息查詢系統(tǒng)對數(shù)據(jù)的存取訪問需要數(shù)據(jù)庫有序的組織在一起,方便查詢使用(2)最小冗余度原則。數(shù)據(jù)庫的設(shè)計要遵循最小冗余度原則——數(shù)據(jù)應(yīng)該盡可能的不重復(fù)達(dá)到減少數(shù)據(jù)存儲的冗余量,最終節(jié)省數(shù)據(jù)的存儲空間——這時因為同一個系統(tǒng)如果包含有大量重復(fù)的數(shù)據(jù),這不但會浪費大量的存儲空間,還會存在潛在的不一致危險,即同一記錄在不同文件中可能不一樣(如,在一個文件中修改了某一個數(shù)據(jù)而沒在另外的文件中沒有修改相應(yīng)的數(shù)據(jù))。最小冗余度也是數(shù)據(jù)庫的一大優(yōu)勢(3)數(shù)據(jù)獨立性原則。數(shù)據(jù)獨立性原則指的是數(shù)據(jù)的存放應(yīng)盡可能地與使用它的應(yīng)用程序相獨立。數(shù)據(jù)獨立性可以分為數(shù)據(jù)的物理獨立與數(shù)據(jù)的邏輯獨立兩個方面。由于有了數(shù)據(jù)的獨立性,數(shù)據(jù)庫系統(tǒng)就可以使用戶數(shù)據(jù)與物理數(shù)據(jù)完全分開,因此,可以使用戶擺脫了繁瑣的物理存儲細(xì)節(jié)。由于用戶程序不依賴于物理數(shù)據(jù),從而降低用戶程序的維護(hù)開銷。(4)標(biāo)準(zhǔn)化、規(guī)范化原則。在建立數(shù)據(jù)庫時應(yīng)該合理規(guī)定數(shù)據(jù)庫的名稱(例如:公交站點可以命名為BusStation,公交線路可以命名為BusLine),保證系統(tǒng)數(shù)據(jù)能夠滿足應(yīng)用要求。(5)系統(tǒng)可靠性、安全、完整性原則。一個數(shù)據(jù)庫系統(tǒng)的可靠性主要體現(xiàn)在其軟硬件故障率小、運行可靠、出了故障時能迅速恢復(fù)到可用狀態(tài)等幾個方面。數(shù)據(jù)庫的安全性是指系統(tǒng)對數(shù)據(jù)的保護(hù)能力,防止非法使用所造成的數(shù)據(jù)泄密和破壞。即對系統(tǒng)數(shù)據(jù)進(jìn)行控制,使用戶可以按照系統(tǒng)規(guī)定的規(guī)則來訪問數(shù)據(jù),以防止數(shù)據(jù)有意或無意地泄露。數(shù)據(jù)庫的完整性原則是指數(shù)據(jù)的正確性、有效性以及兼容性。完整性檢查可以將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。開發(fā)人員通常通過設(shè)置各種完整約束條件來解決這一問題。【【】【】基于ArcGISEngine的城市公眾信息查詢系統(tǒng)研究——以西安市為例董快鴿公交數(shù)據(jù)庫詳細(xì)設(shè)計公交數(shù)據(jù)庫的設(shè)計主要包括了公交的站點數(shù)據(jù)庫設(shè)計、公交線路的設(shè)計、城市的設(shè)計、和其他的一些設(shè)計,在統(tǒng)一建立好一個名為“公交數(shù)據(jù)庫”的數(shù)據(jù)庫后分別建立各個數(shù)據(jù)的分表分別對這些表進(jìn)行設(shè)計公交站點的數(shù)據(jù)庫設(shè)計公交數(shù)據(jù)站點的設(shè)計如圖REF_Ref389488844\h表格2公交站點字段表所示:表格SEQ表格\*ARABIC2公交站點字段表表名:BusStation(公交站點)字段名數(shù)據(jù)結(jié)構(gòu)說明BusInfoIDNvarchar(255)數(shù)字對應(yīng)busInfo表IDStationNvarchar(255)車站點稱,例如:貴大StationIndexFloat車站的序號(人為規(guī)定一個方向進(jìn)行排序)其實體——聯(lián)系圖(E—R圖)如REF_Ref389488901\h圖34實體-聯(lián)系圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s14實體-聯(lián)系圖公交線路的數(shù)據(jù)庫設(shè)計公交數(shù)據(jù)線路的設(shè)計如圖REF_Ref389489091\h表格3公交線路字段表所示:表格SEQ表格\*ARABIC3公交線路字段表表名:BusLine(公交線路)段名數(shù)據(jù)結(jié)構(gòu)說明IDFloat數(shù)字(對應(yīng)BusInfo表中BusLineID)AreaIDFloatAreaID(對應(yīng)Area表ID)LineCodeNvarchar(255)公交線路其實體——聯(lián)系圖(E—R圖)如REF_Ref389489144\h圖35實體E-R圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s15實體E-R圖公交線路信息數(shù)據(jù)庫設(shè)計公交數(shù)據(jù)線路信息的設(shè)計如REF_Ref389558919\h表格4公交線路信息字段表所示:表格SEQ表格\*ARABIC4公交線路信息字段表表名:BusInfo字段名數(shù)據(jù)結(jié)構(gòu)說明IDNvarchar(255)數(shù)字對應(yīng)BusStation表中的BusInfoidBusLineIDFloat對應(yīng)BusLine表IDStartTimeFloat起點首班車時間EndTimeFloat起點末班車時間LastStartTimeFloat終點首班車時間LastEndTimeFloat終點末班車時間TimeInfoNvarchar(255)首末車時間說明TicketSystemNvarchar(255票制CarfareNvarchar(255)全程票價[元]KMNvarchar(255)線路長度[公里]OtherInfoNvarchar(255)其他信息BusInfoIndexFloat排序其實體——聯(lián)系圖(E—R圖)如REF_Ref389489637\h圖36實體E-R圖所示(只包含部分屬性):圖STYLEREF1\s3SEQ圖\*ARABIC\s16實體E-R圖公交城市信息數(shù)據(jù)庫設(shè)計公交城市數(shù)據(jù)庫主要用于存放不同的城市信息,其公交城市信息數(shù)據(jù)庫設(shè)計如REF_Ref389558982\h表格5城市字段表所示:表格SEQ表格\*ARABIC5城市字段表表名:Area(城市)字段名數(shù)據(jù)結(jié)構(gòu)說明IDFloat數(shù)字ProvinceNvarchar(255)省份CityNvarchar(255)城市例如:貴陽市City2Nvarchar(255)城市短名稱例如:貴陽PinyinNvarchar(255)拼音其實體——聯(lián)系圖(E—R圖)如REF_Ref389489689\h圖37實體E-R圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s17實體E-R圖上面的四張實體——聯(lián)系圖通過合并就可以得到公交數(shù)據(jù)庫的完整的實體——聯(lián)系圖(如REF_Ref389489755\h圖21公交E-R圖所示)通過上面的設(shè)計我們得到了四張數(shù)據(jù)庫表這四張數(shù)據(jù)庫表為Area.dbo、BusInfo.dbo、BusLine.dbo、BusStation.dbo,利用這四張表可以實現(xiàn)公交數(shù)據(jù)信息的查詢,但是對于管理員來說,這四張表只能夠查詢而不能夠限制用戶只進(jìn)行數(shù)據(jù)的查詢,而不進(jìn)行數(shù)據(jù)的增、刪、查、改等操作因此還需要建立一張系統(tǒng)管理員驗證表(qadmin表)公交管理員信息數(shù)據(jù)庫設(shè)計公交管理員數(shù)據(jù)庫的設(shè)計如REF_Ref389559139\h表格6管理員字段表所示:表格SEQ表格\*ARABIC6管理員字段表表名:qadmin字段名數(shù)據(jù)結(jié)構(gòu)說明adusersnchar(50)存放系統(tǒng)管理員的用戶名用于登陸驗證adpwdnchar(50)存放系統(tǒng)管理員的登陸密碼用于登陸驗證其實體——聯(lián)系圖(E—R圖)如REF_Ref389489874\h圖38實體E-R圖所示:圖STYLEREF1\s3SEQ圖\*ARABIC\s18實體E-R圖此時當(dāng)系統(tǒng)管理員輸入用戶名和密碼,通過查詢與設(shè)計的表qadmin中的adusers和adpwd作比較,如果一致則進(jìn)入系統(tǒng)管理員的增、刪、查、改等界面,如果不一致則無法進(jìn)入到系統(tǒng)界面,從而能實現(xiàn)了管理員功能模塊驗證功能。數(shù)據(jù)庫關(guān)系圖通過上面的分析我們可以得出數(shù)據(jù)表Area.dbo、BusInfo.dbo、BusLine.dbo、BusStation.dbo之間存在疑點的關(guān)系,我們可將其關(guān)系畫為如REF_Ref389989129\h圖39關(guān)系圖所示,通過這張圖可以清晰的反應(yīng)四張數(shù)據(jù)表之間的對應(yīng)關(guān)系。圖STYLEREF1\s3SEQ圖\*ARABIC\s19關(guān)系圖
實現(xiàn)系統(tǒng)界面設(shè)計與實現(xiàn)系統(tǒng)設(shè)計是新系統(tǒng)的物理設(shè)計階段。根據(jù)系統(tǒng)分析階段所確定的新系統(tǒng)的邏輯模型、功能要求,在用戶提供的環(huán)境條件下,設(shè)計出一個能在計算機(jī)網(wǎng)絡(luò)環(huán)境上實施的方案,即建立新系統(tǒng)的物理模型。對于公交查詢系統(tǒng)主要涉及兩個方面:1、用戶功能模塊設(shè)計2、系統(tǒng)管理員模塊設(shè)計,其設(shè)計界面如REF_Ref389490112\h圖41系統(tǒng)主界面所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s11系統(tǒng)主界面其中當(dāng)點擊”用戶查詢模塊”后進(jìn)入用戶操作主界面,同理當(dāng)點擊”系統(tǒng)管理員模塊”后則進(jìn)入到系統(tǒng)管理員登陸模塊如REF_Ref389490526\h圖42用戶查詢主界面和REF_Ref389491263\h圖49管理員登錄所示??紤]到有一些線路和站點是查詢率較高的因此在主界面中設(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='貴陽市')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');}同理可得到主界面中公交站點查詢的代碼,而在公交站點和線路查詢模塊中的代碼也和它類似。用戶功能模塊總體設(shè)計用戶的功能模塊主要用于完成信息的查詢與反饋操作是系統(tǒng)設(shè)計核心之一。其模塊可以細(xì)分為以下幾個小模塊:1、線路查詢模塊2、站點查詢3、公交換乘查詢這些模塊又是在一個用戶主界面功能模塊中來具體實現(xiàn)的。用戶主界面功能模塊設(shè)計與實現(xiàn)用戶主界面是供用戶進(jìn)行數(shù)據(jù)的一系列操作所使用的,其界面至少包含站點、線路、換乘查詢等部分。最終設(shè)計的界面如REF_Ref389490526\h圖42用戶查詢主界面所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s12用戶查詢主界面對于用戶主界面來說不存在代碼部分的設(shè)計,界面中的內(nèi)容全為vs2010中的組件,其中1標(biāo)注部分為textBox組件其主要作用是讓用戶輸入插敘的條件,2標(biāo)注部分為listBox,其主要作用是將滿足帶有文本框中內(nèi)容的所有數(shù)據(jù)都顯示出來以供用戶選擇,3標(biāo)注部分為label(標(biāo)簽)組件,其主要作用是用于標(biāo)注后面組件的意義或者是用途,4標(biāo)注部分為button(按鈕)組件,其主要作用是當(dāng)單擊該按鈕時顯示出相應(yīng)的信息來,在最下方的組件為richTextBox,其主要作用是將信息的結(jié)果顯示出來,以便人們查看。線路查詢模塊對于一個公交查詢系統(tǒng),在公交線路的查詢中通常會知道某條線路或者是某條線路的部分名稱(例如模糊的知道線路名稱中有20這兩個數(shù)字可能是線路203、201等)來查詢這條線路所經(jīng)過的站點名稱,這時線路查詢模塊則會根據(jù)模糊查詢功能將所有的帶有20的公交線路列舉出來供用戶選擇(如REF_Ref389490714\h圖43模糊線路顯示),在單擊查詢后將結(jié)果列舉出來(如REF_Ref389490722\h圖44公交線路查詢結(jié)果)。圖STYLEREF1\s4SEQ圖\*ARABIC\s13模糊線路顯示圖STYLEREF1\s4SEQ圖\*ARABIC\s14公交線路查詢結(jié)果其編碼思路是通過模糊查詢將查詢結(jié)果通過一個數(shù)組在循環(huán)添加到listBox列表中,通過獲取選定的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='貴陽市')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());站點查詢在公交站點的查詢中通常會知道某個站點的全部或者是某歌站點的部分名稱(例如模糊的知道站點名稱中有貴大這兩個數(shù)字可能是貴大——花溪區(qū)、貴大科技學(xué)院等)來查詢經(jīng)過這個站點的所有的線路,這時站點查詢模塊則會根據(jù)模糊查詢功能將所有的帶有“貴大”的公交站點數(shù)據(jù)列舉出來供用戶選擇(如REF_Ref389490933\h圖45模糊站點顯示),在單擊查詢后將結(jié)果列舉出來(如REF_Ref389490941\h圖46公交站點查詢結(jié)果)。圖STYLEREF1\s4SEQ圖\*ARABIC\s15模糊站點顯示圖STYLEREF1\s4SEQ圖\*ARABIC\s16公交站點查詢結(jié)果公交站點查詢編碼的思路、代碼和線路查詢的思路、代碼基本一致。公交換乘查詢在公交查詢系統(tǒng)中經(jīng)常會用到換乘查詢,其作用是查詢經(jīng)過兩個站點的公交線路,比如知道起點站的名字或是模糊名字(例如:貴大或貴)和終點站的名字或模糊名字(例如:六廣門或六)通過這兩個站點選取listBox中出現(xiàn)的站點名或是直接用這兩個站點名(這兩個站點名正確才可以直接使用)來查詢所有經(jīng)過這兩個站點的公交線路信息,如REF_Ref389594406\h圖47模糊顯示和REF_Ref389491216\h圖48站點到站點的查詢結(jié)果所示。圖STYLEREF1\s4SEQ圖\*ARABIC\s17模糊顯示圖STYLEREF1\s4SEQ圖\*ARABIC\s18站點到站點的查詢結(jié)果管理員功能模塊對于公交查詢系統(tǒng)來說,公交線路、站點等信息不是一成不變的,對于用戶來說過時的公交線路、站點信息沒有多大的用處。因此需要進(jìn)行數(shù)據(jù)的實時更新,即對數(shù)據(jù)的操作實現(xiàn)增刪查改功能,使得軟件的查詢具有實際的意義方便人們的出行。當(dāng)然對于數(shù)據(jù)的更新并不是所有的人群都可以而是一些固定的人群即在公交查詢數(shù)據(jù)庫中的表“admin”中存在的人才可以進(jìn)行更改,以防止數(shù)據(jù)被亂改等現(xiàn)象,這時就需要設(shè)計管理員模塊。其模塊可以細(xì)分為以下幾個小模塊:1、管理員登錄模塊2、信息修改模塊3、信息增加模塊4、信息刪除模塊當(dāng)然系統(tǒng)管理員還可以查詢數(shù)據(jù),其查詢模塊和用戶的查詢模塊處于同一位置,即管理員的查詢模塊即為用戶的查詢模塊。系統(tǒng)管理員登陸界面設(shè)計登陸界面設(shè)計的意義在于防止外來人員進(jìn)入到修改界面中修改數(shù)據(jù)造成數(shù)據(jù)的破壞,首先在公交系統(tǒng)設(shè)計的主頁面中添加一個新的窗體既為管理員的登陸窗體,在登陸窗體中分別添加按鈕(確定按鈕、清空按鈕——如果填寫錯誤則可以清空輸入的內(nèi)容、取消按鈕)、標(biāo)簽(用于標(biāo)注用戶名和密碼)、文本(輸入數(shù)據(jù)使用)如REF_Ref389491263\h圖49管理員登錄所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s19管理員登錄在屬性窗口中設(shè)置第二個文本框的PasswordChar屬性為字符“*”,在設(shè)置窗體的CanceButton屬性為button3,這樣當(dāng)用戶單擊“取消”按鈕后,DialogResult屬性值就是Cancel?!尽尽俊尽緾#語言程序設(shè)計基礎(chǔ)(第二版)鄭宇軍編著清華大學(xué)出版社當(dāng)用戶輸出密碼和用戶名之后單擊確定就會與數(shù)據(jù)庫進(jìn)行查詢比對如果正確則會跳轉(zhuǎn)到下一個窗體,如果不正確則彈出“錯誤”窗口(如REF_Ref389491332\h圖410登錄錯誤界面提示所示),清空按鈕則可以清空輸入的用戶名和密碼的內(nèi)容。圖STYLEREF1\s4SEQ圖\*ARABIC\s110登錄錯誤界面提示添加路線和站點信息在上一步中當(dāng)我們輸入正確的用戶名和密碼之后就可以進(jìn)入到系統(tǒng)管理員的操作界面,對于“添加路線和站點”界面設(shè)計如REF_Ref389491843\h圖411信息增加界面:圖STYLEREF1\s4SEQ圖\*ARABIC\s111信息增加界面此時就可以添加線路信息和站點信息,但是要注意到各個字段之間的對應(yīng)關(guān)系,在添加數(shù)據(jù)的時候應(yīng)對照下方的文字部分。其關(guān)鍵代碼如下:stringsql=@"insertintoBusLine(ID,AreaID,LineCode)VALUES(@id,@arearid,@linecodeid)";//數(shù)據(jù)庫插入語句Dictionary<string,object>p=newDictionary<string,object>();//字典變量,使其對應(yīng)傳值p.Add("@id",id);p.Add("@arearid",arearid);p.Add("@linecodeid",linecodeid);SqlHelper.ExecuteNonQuery(sql,p);MessageBox.Show("增加信息?成功|");刪除線路和站點同理對于系統(tǒng)的刪除界面進(jìn)行如REF_Ref389491979\h圖412刪除界面的界面設(shè)置:圖STYLEREF1\s4SEQ圖\*ARABIC\s112刪除界面此時當(dāng)點擊對應(yīng)的按鈕時,對于線路則會刪除整條的數(shù)據(jù)信息(ID、AreaID、LineCode)以及表BusInfo中所對應(yīng)的信息記錄,對于站點則會將這條站點的信息刪除但是當(dāng)刪除這個站點時應(yīng)查看是否有別的線路進(jìn)過如果有則不該刪除,以免影響其他的線路信息,因此需要設(shè)計一個MessageBox消息框,在消息框代碼中添加MessageBox.Show("是否刪除","警告?",MessageBoxButtons.YesNoCancel)【7】則可以實現(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("刪除信息成功!");修改路線站點信息對于一個完整的管理員模塊還需要具備修改數(shù)據(jù)信息的功能,“修改路線站點信息”界面和增加界面大體一致如REF_Ref389492102\h圖413修改界面所示:圖STYLEREF1\s4SEQ圖\*ARABIC\s113修改界面此時只需按照說明填寫即可。其關(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("該線路不存在請重試或增加線路信息");}
結(jié)論不足和展望結(jié)論本系統(tǒng)由兩大部分組成——用戶管理模塊、系統(tǒng)管理員模塊。根據(jù)用戶管理模塊的功能需求,其主要實現(xiàn)公交線路信息、站點信息、站點到站點信息的查詢。根據(jù)系統(tǒng)管理員模塊的功能需求,其主要實現(xiàn)管理員信息驗證、公交信息增加、刪除、查詢、修改功能該系統(tǒng)界面部分主要采用vs2010進(jìn)行設(shè)計,并在系統(tǒng)界面的代碼窗口中設(shè)計代碼以實現(xiàn)系統(tǒng)中各個模塊的功能,對于后臺數(shù)據(jù)采用數(shù)據(jù)庫進(jìn)行設(shè)計,即設(shè)計一張完整的“公交數(shù)據(jù)庫”,通過系統(tǒng)界面的代碼實現(xiàn)對數(shù)據(jù)庫的連接、查詢、增加、刪除、修改功能并返回信息不足在本系統(tǒng)中公交換乘插敘模塊未能實現(xiàn)二次及以上換乘的情況,其只能夠在一次換乘或者不需要換乘的情況下查詢到通過兩個站點的公交線路,而且在不換乘的情況下往往查詢結(jié)果比較的復(fù)雜。其次本系統(tǒng)的可移植性不高,未能滿足系統(tǒng)可以再不同的環(huán)境下運行的需要,因為本系統(tǒng)在進(jìn)行操作時主要是對數(shù)據(jù)庫的操作,在連接數(shù)據(jù)庫是采用代碼為:server=.\SQLEXPRESS;database=公交數(shù)據(jù)庫;IntegratedSecurity=true,此時要求連接的數(shù)據(jù)庫服務(wù)器名稱為SQLEXPRESS,數(shù)據(jù)庫名為“公交數(shù)據(jù)庫”,當(dāng)移植到其他環(huán)境時不能保證數(shù)據(jù)庫服務(wù)器名稱為SQLEXPRESS。如果要在其他環(huán)境使用則需要修改相應(yīng)的數(shù)據(jù)庫服務(wù)器名稱為SQLEXPRESS。因此這個公交查詢系統(tǒng)的可移植性不高。第三、在本系統(tǒng)中缺乏實時監(jiān)控數(shù)據(jù)使得不能夠采集到更加豐富的交通流量信息,使得系統(tǒng)不能動態(tài)的提供實時路段信息,如車輛擁擠情況等,所以在本系統(tǒng)中只能提供一些靜態(tài)的路段信息。第四、本系統(tǒng)中沒有關(guān)聯(lián)到網(wǎng)絡(luò)的地圖(如百度地圖),因此,不夠很清晰的表示公交線路或站點之間的空間關(guān)系。展望對于上訴中存在的缺點1可以用一個循環(huán)語句判斷需不需要換乘,如果不需要則直接查詢,如果需要則進(jìn)行換乘查詢并按照換乘查詢顯示格式顯示輸出,缺點2可以采用一個窗體,通過傳值的方式將數(shù)據(jù)庫服務(wù)器名稱傳入到連接數(shù)據(jù)庫的語句中,這樣當(dāng)移植到另一個環(huán)境時只需導(dǎo)入數(shù)據(jù)庫即可使用,缺點三則可以使系統(tǒng)聯(lián)網(wǎng)實時調(diào)用網(wǎng)絡(luò)中的有關(guān)公交實時信息并按照查詢的有關(guān)內(nèi)容(主要是公交線路)顯示出來,同理對于對于缺點四也可以設(shè)置聯(lián)網(wǎng)調(diào)用百度地圖來進(jìn)行空間查詢。
參考文獻(xiàn)致謝首先感謝我的指導(dǎo)老師,本論文是在老師的指導(dǎo)下和同學(xué)們的幫助下修改完成的。在此,我要向他們的細(xì)心幫助和指導(dǎo)表示由衷的感謝。在這段時間里,我從他們身上不僅學(xué)到了許多的專業(yè)知識,更感受到他們工作中的兢兢業(yè)業(yè),生活中的平易近人。此外,他們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和忘我的工作精神值得我去學(xué)習(xí)。非常感謝大家在我的畢業(yè)設(shè)計中,給予我極大的幫助,使我對整個畢業(yè)設(shè)計的思路有了總體的把握,并耐心的幫我解決了許多實際問題,使我有了很大的收獲。同時,他們在整個開發(fā)過程中提出了許多建設(shè)性意見,并給我解決了一些專業(yè)性問題。感謝多年來傳授我知識的老師們,更要感謝那些對我學(xué)習(xí)上支持和鼓勵的人。同時感謝所有關(guān)心幫助過我的同學(xué)、老師和學(xué)校??傊?,在以后的學(xué)習(xí)生活中我將以加倍的努力對給予我?guī)椭膶W(xué)校、老師及同學(xué)們的回報。
附件線路查詢模塊實現(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='貴陽市')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');}
站點查詢實現(xiàn)代碼Dictionary<string,object>p=newDictionary<string,object>();stringc=textBox1.Text.ToString();//傳值//stringa=string.Concat("%",c,"%");//加百分號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='貴陽市')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)放置城市、線路、站點數(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("起點站:"+""+dt.Rows[j]["sStation"].ToString()+""+"起始線路:"+""+dt.Rows[j]["sID"].ToString()+""+"中轉(zhuǎn)車站:"+""+dt.Rows[j]["tStatio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46895-2025高壓輸電線路人工瞬時短路試驗方法
- 湖北省襄陽市谷城縣石花鎮(zhèn)2025-2026學(xué)年八年級上學(xué)期期末考試生物試題(無答案)
- 養(yǎng)老院入住老人醫(yī)療護(hù)理技能培訓(xùn)制度
- 人力資源制度
- 企業(yè)內(nèi)部保密責(zé)任制度
- 老年終末期認(rèn)知下降癥狀群管理方案
- 老年終末期疼痛評估的全程管理策略
- 科技創(chuàng)新能力培養(yǎng)實施細(xì)則
- 創(chuàng)新公共服務(wù)提供方式滿足多樣需求
- 2025年商洛市商州富興學(xué)校教師招聘筆試真題
- 八年級地理上冊《中國的氣候》探究式教學(xué)設(shè)計
- 重慶市2026年高一(上)期末聯(lián)合檢測(康德卷)化學(xué)+答案
- 2026年湖南郴州市百??毓杉瘓F(tuán)有限公司招聘9人備考考試題庫及答案解析
- 2026貴州黔東南州公安局面向社會招聘警務(wù)輔助人員37人考試備考題庫及答案解析
- 綠電直連政策及新能源就近消納項目電價機(jī)制分析
- 鐵路除草作業(yè)方案范本
- 2026屆江蘇省常州市生物高一第一學(xué)期期末檢測試題含解析
- 2026年及未來5年市場數(shù)據(jù)中國高溫工業(yè)熱泵行業(yè)市場運行態(tài)勢與投資戰(zhàn)略咨詢報告
- 教培機(jī)構(gòu)排課制度規(guī)范
- 2026年檢視問題清單與整改措施(2篇)
- 認(rèn)識時間(課件)二年級下冊數(shù)學(xué)人教版
評論
0/150
提交評論