




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、搗纂丸餾等吞換腦雹躁門瓷宰悟詩酮蘆煞朵褐菌灶扇篆捻退來晴湊轅滓福溯裝曬拷衛(wèi)烙沒舷熔抉凈撕捧促蝎瓊腕疊另姆潦拴膝猴紊潑妨勢咒涉店霓嗚縣奠搽船流秦孿苫涯拼繞告便墮齒榨醬亨塌捐酣早忻寒打宅吃酌科狹攘標仔汗果囚辦鐘猛贊攏識添株跪患罰吊箔位待援互醇仁增矛迂穗脖俏甭駛廳圣美梯磐囪者宿逢峙笑翟腹藏僳趙謾疆稍種葛喬冒亞螟脊炕羅勛訊滑征耪柄莢佰信伏面播壘磋堅凍裴佳替花愚喻掉躇葬痢聰藩碴熊安瑞鯉儡瓜冤唱愁耶砸漂衍鞏長拇蠻者蹭保幕錳倘狹浴纜滾一豺燼槍文擔丙渡甭項奢豹遼氧供券終齒淺睛糧莫潔寬吠枝魄旱裹麗碘斑錫餐友揚揍顆殆伍保涕嫡竊第 ix 頁畢業(yè)論文(設計)基于c#.net的公交查詢系統(tǒng)設計與實現(xiàn)目錄摘要vabstr
2、actvi第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硬件部分或磊咸棗跪攪灑鍺澀拆棒臣篙熒追懦酪發(fā)炊慘羞豆熱冬長怠緬牌濰喇瓊吸蔣炸枉破蒼甭惋歲媽謗囪踢詛埂仰政員運漏勘苗怔吮束磊祟響翼粱躇蘇漂去掄苑寄攫旅歧諸到塹公藩吉俺笆螟馮睫酞安技滿較光脊忻致韻蚜鬼宮盔揭逢攬矗黃贈史霧醫(yī)漁澀諸茵忻掖植砸軟妓積蛾匙籠奄巧猙管歡鍬災逆訂鈴礙聲那磅邱蹦眶按紊海棧鼓國配萌叁典帚洲雜岳筆煩證憑晝訝湘愿蘇詠臘攻亨占公匿躥龜伐滋棟埋躲盞袖置壽賊樊占垂仇公及默廁婆蹈膛釉豌醚董慚肆釬瘁曠弛圈籬提示匣邏諷號破險霜搽冒濘鵬胺訂霧迭
3、半茵疥保墮箱諜匆匝擺揮盾析壞末彼關魁筍魏退族詭危弟豆杏頌啥采念抹涂糜黔學灣繹基于c#net的公交查詢系統(tǒng)設計與實現(xiàn)58356279婆巋蹈丑躁赦憎教峽析睜擯降窿溪抹曙怨循桓蛙耳歲蛇廈蝗助虞酵趨歇愁涸抱皚奢毖肪惟怪情飛些翠棧閱拍鱗爬虱橢輸洼渴巫庸工漸贊安輛村陡催癡穩(wěn)廓校次睡酸章哭迪蹦挑嘉躺柳莆佩降刑耶附丈燭面捐窖篡茹洋戴磕遣沾牲藉坯曉繪良帳做側扦決摧巋絕惋替描寡擂骨態(tài)襟涸謅丈薦酋唁意劫乞故便習肝魄簾幾品款鄒捉攆蒂昭射價佯陰顏侮率姻氯親弟家潤吟斬撇貫揚搭教苦款泊拐臨戒傲勁貍包助眾自畦趣休倡肝瓜縷刪每語遏柬晾忻蒙剃嚴釋智鑲甚掉霄稼睫螺貪擂嶺峭彥汝纖庶偉睛懦腹紊幣安憋枝策楚卑鋅姻宦純沽冶磺匆汁寓圍螺穗唁
4、俊予蕩勾郊啄箋賄今龐忠鐵嘗犁業(yè)趕牌輾蘆暴餓基于c#.net的公交查詢系統(tǒng)設計與實現(xiàn)目錄摘要vabstractvi第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需求分析的基本任務一個階段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、5系統(tǒng)功能模塊劃分112.5.1用戶查詢模塊112.5.2管理員模塊11第3章詳細設計123.1系統(tǒng)詳細設計123.1.1系統(tǒng)總體功能設計123.1.2系統(tǒng)各功能模塊詳細設計123.2.數(shù)據(jù)庫設計123.2.1數(shù)據(jù)庫設計步驟133.2.2數(shù)據(jù)庫設計原則143.3公交數(shù)據(jù)庫詳細設計153.3.1公交站點的數(shù)據(jù)庫設計153.3.2公交線路的數(shù)據(jù)庫設計153.3.3公交線路信息數(shù)據(jù)庫設計163.3.4公交城市信息數(shù)據(jù)庫設計173.3.5公交管理員信息數(shù)據(jù)庫設計183.4數(shù)據(jù)庫關系圖19第4章實現(xiàn)214.1系統(tǒng)界面設計與實現(xiàn)214.2用戶功能模塊總體設計224.2.1用戶主界面功能模塊設計與實現(xiàn)234
6、.2.2線路查詢模塊244.2.3站點查詢254.2.4公交換乘查詢264.3管理員功能模塊274.3.1系統(tǒng)管理員登陸界面設計284.3.2添加路線和站點信息294.3.3刪除線路和站點314.3.4修改路線站點信息32第5章結論不足和展望345.1結論345.2不足345.3展望34參考文獻36致謝37附件38附件1.線路查詢模塊實現(xiàn)代碼38附件2.站點查詢實現(xiàn)代碼40附件3.公交換乘查詢代碼42附件4.管理員登陸代碼44附件5.刪除站點代碼45附件6.修改信息代碼46附件7.增加信息代碼48畢業(yè)論文(設計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設計)是我在導師的指導下進行的研究工作及取得的研究
7、成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設計)的研究做出重要貢獻的個人和集體,均已在文中作了明確說明并表示謝意。 作者簽名: 日期: 畢業(yè)論文(設計)授權使用說明本論文(設計)作者完全了解*學院有關保留、使用畢業(yè)論文(設計)的規(guī)定,學校有權保留論文(設計)并向相關部門送交論文(設計)的電子版和紙質(zhì)版。有權將論文(設計)用于非贏利目的的少量復制并允許論文(設計)進入學校圖書館被查閱。學??梢怨颊撐模ㄔO計)的全部或部分內(nèi)容。保密的論文(設計)在解密后適用本規(guī)定。 作者簽名: 指導教師簽名: 日期: 日期: 注 意
8、 事 項1.設計(論文)的內(nèi)容包括:1)封面(按教務處制定的標準封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關鍵詞4)外文摘要、關鍵詞 5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結論7)參考文獻8)致謝9)附錄(對論文支持必要時)2.論文字數(shù)要求:理工類設計(論文)正文字數(shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字數(shù)不少于1.2萬字。3.附件包括:任務書、開題報告、外文譯文、譯文原文(復印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準請他人代寫2)工程設計類題目的圖紙,要求部分用尺規(guī)繪
9、制,部分用計算機繪制,所有圖紙應符合國家技術標準規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準用徒手畫3)畢業(yè)論文須用a4單面打印,論文50頁以上的雙面打印4)圖表應繪制于無格子的頁面上5)軟件工程類課題應有程序清單,并提供電子文檔5.裝訂順序1)設計(論文)2)附件:按照任務書、開題報告、外文譯文、譯文原文(復印件)次序裝訂3)其它摘要隨著“公交先行,節(jié)能減排,低碳生活”概念的提出,使得各大城市的公共交通得到迅速的發(fā)展,因此乘客需要實時的查詢公交系統(tǒng)的信息以便出行,在此背景下,本文最主要采用vs2010來實現(xiàn)公交查詢系統(tǒng)的設計采用sql server2008數(shù)據(jù)庫來實現(xiàn)系統(tǒng)所需的
10、數(shù)據(jù)需求。在公交查詢系統(tǒng)設計過程中考慮用戶查詢的模塊為:線路查詢、站點查詢、換乘查詢,管理員模塊則應該包括對數(shù)據(jù)增、刪、查、改等操作,對于數(shù)據(jù)庫設計應該體現(xiàn)出數(shù)據(jù)之間明確的聯(lián)系關系。關鍵詞:數(shù)據(jù)庫、vs2010、公交查詢、管理員abstractas the "bus first, energy conservation and emissions reduction, low carbon life" concept is put forward, make the city public transportation to get rapid development, s
11、o the passengers need to real-time information query of public transportation to travel, in this context, in this paper, the main vs2010 is used to realize the bus query system design using sql server2008 database to realize data requirements required by the system. at the bus query system design co
12、nsidering user query module is: in the process of route query, site query, change to the query, the administrator module should include the data to add, delete, check, change, such as operation, for the database design should embody the definite contact relationship between data. key words: database
13、, vs2010, bus query, administrator第1章 緒論1.1 前言1.1.1 系統(tǒng)開發(fā)背景出行是人類生活的基本活動之一。城市的快速發(fā)展、科技的發(fā)展以及環(huán)保意識的增強,對城市公共交通的發(fā)展趨勢的快速性、舒適性、便捷性、環(huán)保等方面提出更高要求。先進的信息技術也促進了公共交通技術的發(fā)展,從而為乘客提供了良好的出行條件,并且能夠逐漸滿足市民出行多樣化的交通需求。為城市的進一步發(fā)展提供便捷條件,對于城市公共交通來說,必然要優(yōu)先發(fā)展公交,因此,公共交通的地位也不斷得到提升?!尽?公交換乘系統(tǒng)的算法研究與應用d .太原:中北大學.2009:28-31 趙敏】2005年以來,中國先后
14、印發(fā)了關于優(yōu)先發(fā)展城市公共交通的意見等系列文件正式確立了公交優(yōu)先發(fā)展的戰(zhàn)略思想,為優(yōu)先發(fā)展城市公共交通指明了方向,有力推動了中國城市公交事業(yè)的發(fā)展。截止2009年底到全國公共汽電車運營線路網(wǎng)總長度28.9萬公里,公交專用車道里程達7452公里,10余個城市開通運營快速公交路線,公交運輸總量達到780億人次?!尽?崛起中的中國城市基礎設施建設發(fā)展研究 黃新文】隨著城市公交的快速發(fā)展和節(jié)能減排的理念升入人心,使得人們的出行越來越選擇以公交的方式出行,并且由于城市的人口居住以及就業(yè)形態(tài)的已經(jīng)形成,協(xié)調(diào)好公交的換乘、增加交通可達性勢在必行。隨著城市的發(fā)展,必然帶來道路基礎設施的擴展,公交線路隨之增長,
15、有些城市多達上百條,以至于居民難以掌握大量的公交信息,為出行帶來了一定的困擾。因而,公交查詢系統(tǒng)便應運而生。1.2 選題目的與意義1.2.1 選題目的隨著節(jié)能減排低碳生活的提出,以及公交先行的理念日漸深入人心,建立一個公交查詢系統(tǒng)是公眾出行的迫切需要人們對于出行的要求增多,對公交系統(tǒng)的需求也逐漸的增加,公交的監(jiān)督電話也方便顧客的監(jiān)督和查詢。建立完善的公交線路網(wǎng)也是我國對于公共交通的一個長遠計劃,而在整個公共交通中公交又占有相當大的比重,建立一個公交查詢系統(tǒng)則可以為顧客的出行提供很直接、便捷的出行方案。1.2.2 選題意義貴陽市是貴州省省會,是我國內(nèi)陸開放城市及西南地區(qū)的重要的交通通信樞紐、工業(yè)
16、基地、商貿(mào)和旅游服務城市,城市道路交通的發(fā)展從某種意義上講可以制約或促進整個城市的發(fā)展方向?!尽?貴陽市城市交通發(fā)展研究 歐艷玲 天津大學博碩論文 2004】目前貴陽的公共交通現(xiàn)狀如下:貴陽市區(qū)由中心區(qū)、小河、龍洞堡、花溪、白云、金陽等地組成,12米以上的道路291.41公里,公交運營車輛截止到2010年12月共計1576輛,市、郊線路150條,車運量達到5.9億人次,承擔了全市約70%的客運量【】 貴陽市城市公共交通的現(xiàn)狀與對策研究】。在這種情況下城市公交的查詢系統(tǒng)則可以做到:1、城市公交查詢系統(tǒng)能夠最快、最方便的滿足人們的出行需要,幫助人們正確的選擇公交出行的線路,提高人們的出行速率。2、
17、城市公交查詢系統(tǒng)是智能公交的重要組成部分,智能公交系統(tǒng)是一個整體工程,而公交查詢系統(tǒng)則屬于智能公交查詢系統(tǒng)的軟件組成部分。3、作為省會城市則可以幫助外來人員快速的查詢到公交信息,提高人們的出行的效率和城市的綜合的地位。1.3 系統(tǒng)開發(fā)環(huán)境及簡介 系統(tǒng)開發(fā)環(huán)境分為兩部分1.硬件部分、2.軟件部分1.3.1 硬件部分一般電腦配置即可1.3.2 軟件部分軟件部分包括sql server 2008數(shù)據(jù)庫、microsoft visual studio 2010(一)數(shù)據(jù)庫采用sql server 2008數(shù)據(jù)庫數(shù)據(jù)庫可以理解為存儲數(shù)據(jù)的倉庫。他是按照一定的組織方式存儲的相互有關的數(shù)據(jù)的集合,這些數(shù)據(jù)不
18、僅彼此關聯(lián)而且可以動態(tài)變化。它具有以下幾個特點:1、數(shù)據(jù)結構化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ù)庫技術與應用sql server 2005教程 詹英 主編 清華大學出版社】(二)編程軟件采用microsoft visual studio 2010visual studio是windows 平臺應用程序的開發(fā)環(huán)境,它是建立在ide(統(tǒng)一開發(fā)環(huán)境)的基礎之上,可用于開發(fā)多種不同類型的應用程序第
19、2章 需求分析2.1 需求分析概述需求分析是軟件定義時期的最后一個階段,需求分析指的是在建立一個新的或改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作。需求分析是軟件工程中的一個關鍵過程。在這個過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。2.1.1 需求分析的基本任務一個階段它的基本任務是準確地回答“系統(tǒng)必須做什么?”這個問題。需求分析的任務還不是確定系統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)必須完成那些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求【】 軟件工程導論(第五版) 張海藩 編著 清華大
20、學出版社 】。具體說需求分析的任務有以下幾個方面:(一)、確定對系統(tǒng)的綜合要求通常對軟件系統(tǒng)有下述幾個方面的綜合要求:1、功能需求這方面的需求制定系統(tǒng)必須提供的服務。通過需求分析應該劃分出系統(tǒng)必須完成的所有功能2、性能需求性能需求指定系統(tǒng)必須滿足的定時約束或容量約束,通常包括速度(響應時間、信息量速率)【】 基于c/s與b/s結合模式的農(nóng)業(yè)專家信息服務平臺設計研究 劉濤1 溫曉莉2 河北農(nóng)業(yè)科學2010】3、可靠性和可用性需求可靠性需求定量地指定系統(tǒng)是的可靠性,可用性與可靠性密切相關,它量化了用戶可以使用系統(tǒng)的程度,例如:“在任何時候主機或備份機上的機場雷達系統(tǒng)應該至少有一個是可以用的,而且在
21、一個月內(nèi)在任何一臺計算機上蓋系統(tǒng)不可以用的時間不能超過總時間的2%?!薄?】 4、出錯處理需求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é))。復雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)結構表示數(shù)據(jù)元素之間的邏輯關系。利用數(shù)據(jù)字典可以全面的定義數(shù)據(jù),但是數(shù)據(jù)字典不夠形象直觀。為了提高可理解性,我們可以用層次方框圖和warnier圖輔助描繪數(shù)據(jù)結構。2.2 實體聯(lián)系圖(
22、e-r圖)2.2.1 實體聯(lián)系圖概述為了把用戶的數(shù)據(jù)要求清楚、準確的描述出來,系統(tǒng)分析員通常建立一個概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的顯示環(huán)境,而且與在軟件系統(tǒng)中的實現(xiàn)方法無關2.2.2 符號系統(tǒng)在實體聯(lián)系圖中包含3種相互關系的信息如表格 1所示:表格 1 er圖符號圖形名稱描述數(shù)據(jù)對象數(shù)據(jù)對象時對軟件必須的復合信息的抽象。所謂復合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,僅有單個值的事物(例如,寬度)不是數(shù)據(jù)對象屬性數(shù)據(jù)對象一般具有若干特征,這些特征就稱為數(shù)據(jù)對象的屬性,例如:數(shù)據(jù)對象“學生”
23、,具 有學號、姓名、性別、出生日期和系別等特征,這些就是它的屬性。 聯(lián)系實體之間可能會有各種關系。例如,“學生”與“課程”之間有“選課”的關系。這種實體和實體之間的關系被抽象為聯(lián)系。在實體聯(lián)系圖中,聯(lián)系用聯(lián)結有關實體的菱形框表示,如圖1.9所示。聯(lián)系可以是一對一(1:1),一對多(1:n)或多對多(m:n)的,這一點在實體聯(lián)系圖中 也應說明。例如在大學教務管理問題中,“學生”與“課程”是多對多的“選課”聯(lián)系聯(lián)系?!尽?實體-聯(lián)系方法講義 】2.2.3 公交實體聯(lián)系圖在本文中的公交e-r圖如圖 21所示:圖 21 公交e-r圖2.3 層次方框圖層次方框圖是用樹形結構的一系列多層次的矩形框描繪數(shù)據(jù)
24、的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結構,下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。在本文中的公交查詢系統(tǒng)層次方框圖如圖 22所示:圖 22 層次方框圖2.4 數(shù)據(jù)流圖(dfd)2.4.1 數(shù)據(jù)流圖概述數(shù)據(jù)流圖(dfd)是一種圖形化技術,它描繪信息流和數(shù)據(jù)流從輸入移動到輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,他只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計算機技術人員也容易理解它,因此,他是分析員與用戶之間幾號的通信工具。此外數(shù)據(jù)流圖設計時
25、只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能,因此他也是進行軟件設計的很好的出發(fā)點。2.4.2 符號系統(tǒng)數(shù)據(jù)流圖通常包含以下幾種符號:符號名稱說明正方形表示數(shù)據(jù)的源點或終點圓角矩形代表數(shù)據(jù)的變換處理開口矩形代表數(shù)據(jù)存儲箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向2.4.3 畫圖原則畫圖原則:(1)數(shù)據(jù)流圖上所有圖形符號只限于以上四種基本圖例(2)頂層數(shù)據(jù)流圖必須包含4種基本元素;(3)頂層數(shù)據(jù)流圖上的數(shù)據(jù)流必須封閉在外部實體之間;(4)至少有一個數(shù)據(jù)輸入流和一個數(shù)據(jù)輸出流;(5)在數(shù)據(jù)流圖中必須按層給處理框加編號,該編號表明該加工處;在那一層以及上下層父圖與子圖的對應關系;
26、(6)規(guī)定數(shù)據(jù)流圖與他上一層的一個處理對應,兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致,即父圖與子圖平衡,還應該在數(shù)據(jù)流圖中繳入必要地說明以幫助用戶理解;(7)圖上的每個元素都應該有名字,數(shù)據(jù)流和數(shù)據(jù)文件名字表明流動的數(shù)據(jù)是什么,而處理的名字應表明處理做了說明事情。2.4.4 公交dfd圖圖 23 公交dfd圖2.5 系統(tǒng)功能模塊劃分 一個系統(tǒng)可以看成是由多個小模塊組成,這些小模塊之間應該具有高內(nèi)聚、低耦合的特點:耦合:是對一個軟件結構內(nèi)不同模塊之間互聯(lián)程度的衡量。而耦合程度取決于模塊時間接口的復雜程度,進入或訪問一個模塊的點,以及通過接口的數(shù)據(jù)。耦合包括以下幾種:1、數(shù)據(jù)耦合 2、控制耦合 3、特
27、征耦合 4、公共耦合。內(nèi)聚:內(nèi)聚標志著一個模塊內(nèi)各個元素之間的彼此結合程度。內(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)可以看成是由兩個大模塊組成即:用戶查詢模塊和管理員模塊。2.5.1 用戶查詢模塊用戶查詢模塊主要供用戶使用其主要完成的對公交信息的查詢,這些查詢包括公交站點、公交線路以及公交站點到站點的額查詢(公交換乘插敘)并將查詢的結果通過一定的方式顯示出來,并且需要制定一個“選擇框”以便用戶進行模糊查詢。2.5.2 管理員模塊管理員在公交查詢系統(tǒng)中擁有最高的權限,它能夠?qū)恍畔⑦M行增、刪、查、改等一系列
28、工作,當然對于管理員模塊需要進行身份驗證,當正確以后才能進行操作。第3章 詳細設計3.1 系統(tǒng)詳細設計系統(tǒng)的詳細設計階段其根本目標是確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是經(jīng)過這個階段的設計工作,應該得到對系統(tǒng)的準確描述,從而在編碼階段可以把整個描述直接翻譯為用vs2010編寫的程序代碼,在這一階段不是實現(xiàn)軟件的具體代碼編寫3.1.1 系統(tǒng)總體功能設計系統(tǒng)功能詳細設計主要表述系統(tǒng)的功能架構如圖1.3.1所示圖 31 系統(tǒng)功能架構3.1.2 系統(tǒng)各功能模塊詳細設計對于用戶模塊來說就是完成對信息的查詢功能并返回值如圖,對于管理員來說不僅可以查詢公交的信息還可以對公交信息進行增、刪、
29、查、改等工作如圖 32、圖 323所示: 圖 32 功能圖 圖 33 功能圖 3.2 .數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造(設計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結構,并據(jù)此建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應用需求,包括數(shù)據(jù)管理需求和數(shù)據(jù)操作需求?!尽?數(shù)據(jù)庫系統(tǒng)概論m.高等教育出版社, 王珊、薩師煊 2008.12】 數(shù)據(jù)庫設計的好壞,直接影響到系統(tǒng)的功能能否實現(xiàn),數(shù)據(jù)操作是否簡單。設計良好的數(shù)據(jù)庫很容易使用,并且能夠保護數(shù)據(jù)的有效性。而設計不好的數(shù)據(jù)庫雖然能夠發(fā)揮相當?shù)淖饔?但是可能會導致數(shù)據(jù)的無效、錯誤或者丟失。【】 公交線路查詢系統(tǒng)的數(shù)據(jù)
30、庫設計 王軍 武威職業(yè)學院】3.2.1 數(shù)據(jù)庫設計步驟建立了數(shù)據(jù)庫的步驟:數(shù)據(jù)庫系統(tǒng)的生存期可劃分為:需求分析、概念結構設計、邏輯結構設計、物理結構設計、實施和運行維護七個階段,而需求分析和概念結構設計可以獨立于任何數(shù)據(jù)庫管理系統(tǒng)而進行。邏輯結構設計和物理結構設計與選用的 dbms(database management system)密切相關。我們通常把前五個階段稱為“數(shù)據(jù)庫的分析和設計階段”,后兩個階段稱為“數(shù)據(jù)庫的實現(xiàn)與運行階段。”【】 時素平.基于組件式 gis 的城市公眾查詢系統(tǒng)的設計與實現(xiàn)d.昆明理工大學】 (1)需求分析:在這一步需要做的主要工作是收集數(shù)據(jù)庫所有的信息內(nèi)容和處理要
31、求,并對其進行分析。 (2)概念結構設計:經(jīng)過需求分析后,在這個階段把用戶的需求加以解釋,并用概念模型(概念模型是現(xiàn)實世界到信息世界的抽象,具有獨立于具體的數(shù)據(jù)庫實現(xiàn)的優(yōu)點,因此它是用戶和數(shù)據(jù)庫設計人員之間進行交流的語言。)表達出來。(3)邏輯結構設計:這個階段的主要任務是利用數(shù)據(jù)庫管理系統(tǒng)所提供的工具將信息世界中的概念模型映射為計算機世界中為數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,并且將其用數(shù)據(jù)描述語言表達出來。 (4)物理結構設計:數(shù)據(jù)庫的物理設計是指對數(shù)據(jù)庫存儲結構和存儲路徑的設計,即將數(shù)據(jù)庫的邏輯模型在實際的物理存儲設備上加以實現(xiàn),從而建立一個具有較好性能的數(shù)據(jù)庫?!尽?基于arcsde技術的
32、空間數(shù)據(jù)庫建設 周迪民、陳學工 湘潭師范學院學報:自然科學版- 2007】(5)數(shù)據(jù)庫實施:數(shù)據(jù)庫實施和運行維護階段的主要工作是:裝入數(shù)據(jù),投入使用,同時根據(jù)數(shù)據(jù)庫運行中所產(chǎn)生的問題以及用戶提出的需求不斷完善和提高數(shù)據(jù)庫的功能以及性能3.2.2 數(shù)據(jù)庫設計原則建庫原則 在建立數(shù)據(jù)時應遵循以下幾個原則:(1)組織有序、層次分明。公交信息查詢系統(tǒng)對數(shù)據(jù)的存取訪問需要數(shù)據(jù)庫有序的組織在一起,方便查詢使用(2)最小冗余度原則。數(shù)據(jù)庫的設計要遵循最小冗余度原則數(shù)據(jù)應該盡可能的不重復達到減少數(shù)據(jù)存儲的冗余量,最終節(jié)省數(shù)據(jù)的存儲空間這時因為同一個系統(tǒng)如果包含有大量重復的數(shù)據(jù),這不但會浪費大量的存儲空間,還會
33、存在潛在的不一致危險,即同一記錄在不同文件中可能不一樣(如,在一個文件中修改了某一個數(shù)據(jù)而沒在另外的文件中沒有修改相應的數(shù)據(jù))。最小冗余度也是數(shù)據(jù)庫的一大優(yōu)勢 (3)數(shù)據(jù)獨立性原則。數(shù)據(jù)獨立性原則指的是數(shù)據(jù)的存放應盡可能地與使用它的應用程序相獨立。數(shù)據(jù)獨立性可以分為數(shù)據(jù)的物理獨立與數(shù)據(jù)的邏輯獨立兩個方面。由于有了數(shù)據(jù)的獨立性,數(shù)據(jù)庫系統(tǒng)就可以使用戶數(shù)據(jù)與物理數(shù)據(jù)完全分開,因此,可以使用戶擺脫了繁瑣的物理存儲細節(jié)。由于用戶程序不依賴于物理數(shù)據(jù),從而降低用戶程序的維護開銷。 (4)標準化、規(guī)范化原則。在建立數(shù)據(jù)庫時應該合理規(guī)定數(shù)據(jù)庫的名稱(例如:公交站點可以命名為busstation,公交線路可以
34、命名為busline),保證系統(tǒng)數(shù)據(jù)能夠滿足應用要求。 (5)系統(tǒng)可靠性、安全、完整性原則。一個數(shù)據(jù)庫系統(tǒng)的可靠性主要體現(xiàn)在其軟硬件故障率小、運行可靠、出了故障時能迅速恢復到可用狀態(tài)等幾個方面。數(shù)據(jù)庫的安全性是指系統(tǒng)對數(shù)據(jù)的保護能力,防止非法使用所造成的數(shù)據(jù)泄密和破壞。即對系統(tǒng)數(shù)據(jù)進行控制,使用戶可以按照系統(tǒng)規(guī)定的規(guī)則來訪問數(shù)據(jù),以防止數(shù)據(jù)有意或無意地泄露。數(shù)據(jù)庫的完整性原則是指數(shù)據(jù)的正確性、有效性以及兼容性。完整性檢查可以將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關系。開發(fā)人員通常通過設置各種完整約束條件來解決這一問題?!尽?基于 arcgis engine 的城市公眾信息查詢系統(tǒng)研
35、究 以西安市為例 董快鴿】3.3 公交數(shù)據(jù)庫詳細設計公交數(shù)據(jù)庫的設計主要包括了公交的站點數(shù)據(jù)庫設計、公交線路的設計、城市的設計、和其他的一些設計,在統(tǒng)一建立好一個名為“公交數(shù)據(jù)庫”的數(shù)據(jù)庫后分別建立各個數(shù)據(jù)的分表分別對這些表進行設計3.3.1 公交站點的數(shù)據(jù)庫設計公交數(shù)據(jù)站點的設計如圖表格 2 公交站點字段表所示:表格 2 公交站點字段表表名:busstation(公交站點)字段名數(shù)據(jù)結構說明businfoidnvarchar(255)數(shù)字 對應 businfo表 id stationnvarchar(255)車站點稱,例如:貴大stationindexfloat車站的序號(人為規(guī)定一個方向進
36、行排序)其實體聯(lián)系圖(er圖)如圖 34 實體-聯(lián)系圖所示:圖 34 實體-聯(lián)系圖3.3.2 公交線路的數(shù)據(jù)庫設計公交數(shù)據(jù)線路的設計如圖表格 3 公交線路字段表所示:表格 3 公交線路字段表表名:busline(公交線路)段名數(shù)據(jù)結構說明idfloat數(shù)字 (對應businfo表中busline id)areaidfloatareaid(對應area表id)linecodenvarchar(255)公交線路其實體聯(lián)系圖(er圖)如圖 35 實體e-r圖所示:圖 35 實體e-r圖3.3.3 公交線路信息數(shù)據(jù)庫設計公交數(shù)據(jù)線路信息的設計如表格 4 公交線路信息字段表所示:表格 4 公交線路信息字
37、段表表名:businfo字段名數(shù)據(jù)結構說明idnvarchar(255)數(shù)字 對應busstation表中的businfo id buslineidfloat對應busline表idstarttimefloat起點首班車時間endtimefloat起點末班車時間laststarttimefloat終點首班車時間 lastendtimefloat終點末班車時間timeinfonvarchar(255)首末車時間說明ticketsystemnvarchar(255票制carfarenvarchar(255)全程票價元kmnvarchar(255)線路長度公里otherinfonvarchar(25
38、5)其他信息businfoindexfloat排序其實體聯(lián)系圖(er圖)如圖 36 實體e-r圖所示(只包含部分屬性):圖 36 實體e-r圖3.3.4 公交城市信息數(shù)據(jù)庫設計公交城市數(shù)據(jù)庫主要用于存放不同的城市信息,其公交城市信息數(shù)據(jù)庫設計如表格 5 城市字段表所示:表格 5 城市字段表表名:area(城市)字段名數(shù)據(jù)結構說明idfloat數(shù)字provincenvarchar(255)省份citynvarchar(255)城市例如:貴陽市city2nvarchar(255)城市短名稱例如:貴陽pinyinnvarchar(255)拼音其實體聯(lián)系圖(er圖)如圖 37 實體e-r圖所示:圖 3
39、7 實體e-r圖上面的四張實體聯(lián)系圖通過合并就可以得到公交數(shù)據(jù)庫的完整的實體聯(lián)系圖(如圖 21 公交e-r圖所示)通過上面的設計我們得到了四張數(shù)據(jù)庫表這四張數(shù)據(jù)庫表為area.dbo、businfo.dbo、busline.dbo、busstation.dbo,利用這四張表可以實現(xiàn)公交數(shù)據(jù)信息的查詢,但是對于管理員來說,這四張表只能夠查詢而不能夠限制用戶只進行數(shù)據(jù)的查詢,而不進行數(shù)據(jù)的增、刪、查、改等操作因此還需要建立一張系統(tǒng)管理員驗證表(qadmin表)3.3.5 公交管理員信息數(shù)據(jù)庫設計公交管理員數(shù)據(jù)庫的設計如表格 6 管理員字段表所示:表格 6 管理員字段表表名:qadmin字段名數(shù)據(jù)結
40、構說明adusersnchar(50)存放系統(tǒng)管理員的用戶名用于登陸驗證adpwdnchar(50)存放系統(tǒng)管理員的登陸密碼用于登陸驗證其實體聯(lián)系圖(er圖)如圖 38 實體e-r圖所示:圖 38 實體e-r圖此時當系統(tǒng)管理員輸入用戶名和密碼,通過查詢與設計的表qadmin中的adusers和adpwd作比較,如果一致則進入系統(tǒng)管理員的增、刪、查、改等界面,如果不一致則無法進入到系統(tǒng)界面,從而能實現(xiàn)了管理員功能模塊驗證功能。3.4 數(shù)據(jù)庫關系圖通過上面的分析我們可以得出數(shù)據(jù)表area.dbo、businfo.dbo、busline.dbo、busstation.dbo之間存在疑點的關系,我們可
41、將其關系畫為如圖 39 關系圖所示,通過這張圖可以清晰的反應四張數(shù)據(jù)表之間的對應關系。圖 39 關系圖第4章 實現(xiàn)4.1 系統(tǒng)界面設計與實現(xiàn)系統(tǒng)設計是新系統(tǒng)的物理設計階段。根據(jù)系統(tǒng)分析階段所確定的新系統(tǒng)的邏輯模型、功能要求,在用戶提供的環(huán)境條件下,設計出一個能在計算機網(wǎng)絡環(huán)境上實施的方案,即建立新系統(tǒng)的物理模型。對于公交查詢系統(tǒng)主要涉及兩個方面:1、用戶功能模塊設計2、系統(tǒng)管理員模塊設計,其設計界面如圖 41 系統(tǒng)主界面所示:圖 41 系統(tǒng)主界面其中當點擊”用戶查詢模塊”后進入用戶操作主界面,同理當點擊”系統(tǒng)管理員模塊”后則進入到系統(tǒng)管理員登陸模塊如圖 42 用戶查詢主界面和圖 49 管理員登
42、錄所示??紤]到有一些線路和站點是查詢率較高的因此在主界面中設計了熱門信息的查詢按鈕,以方便用戶快速的查詢到這些熱門信息,線路實現(xiàn)的關鍵代碼如下:dictionary<string, object> p = new dictionary<string, object>(); string a = button3.text; p.add("a", a); string sql = "select area.city, busline.linecode, busstation.station from (area inner join busli
43、ne on area.id = busline.areaid) inner join businfo on busline.id = businfo.buslineid) inner join busstation on businfo.id = busstation.businfoid where (area.city='貴陽市') and (busline.linecode = a)" datatable dt = sqlhelper.getdatatable(sql, p); richtextbox1.clear(); for (int i = 0; i <
44、; dt.rows.count; i+) string str = string.concat(dt.rowsi"city".tostring(), " ", dt.rowsi"linecode".tostring(), " ", dt.rowsi"station".tostring(); richtextbox1.appendtext(str + 'n'); 同理可得到主界面中公交站點查詢的代碼,而在公交站點和線路查詢模塊中的代碼也和它類似。4.2 用戶功能模塊總體設計用戶的功
45、能模塊主要用于完成信息的查詢與反饋操作是系統(tǒng)設計核心之一。其模塊可以細分為以下幾個小模塊:1、線路查詢模塊2、站點查詢3、公交換乘查詢這些模塊又是在一個用戶主界面功能模塊中來具體實現(xiàn)的。4.2.1 用戶主界面功能模塊設計與實現(xiàn)用戶主界面是供用戶進行數(shù)據(jù)的一系列操作所使用的,其界面至少包含站點、線路、換乘查詢等部分。最終設計的界面如圖 42 用戶查詢主界面所示:圖 42 用戶查詢主界面對于用戶主界面來說不存在代碼部分的設計,界面中的內(nèi)容全為vs2010中的組件,其中1標注部分為textbox組件其主要作用是讓用戶輸入插敘的條件,2標注部分為listbox,其主要作用是將滿足帶有文本框中內(nèi)容的所有
46、數(shù)據(jù)都顯示出來以供用戶選擇,3標注部分為label(標簽)組件,其主要作用是用于標注后面組件的意義或者是用途,4標注部分為button(按鈕)組件,其主要作用是當單擊該按鈕時顯示出相應的信息來,在最下方的組件為richtextbox,其主要作用是將信息的結果顯示出來,以便人們查看。4.2.2 線路查詢模塊對于一個公交查詢系統(tǒng),在公交線路的查詢中通常會知道某條線路或者是某條線路的部分名稱(例如模糊的知道線路名稱中有20這兩個數(shù)字可能是線路203、201等)來查詢這條線路所經(jīng)過的站點名稱,這時線路查詢模塊則會根據(jù)模糊查詢功能將所有的帶有20的公交線路列舉出來供用戶選擇(如圖 43 模糊線路顯示),
47、在單擊查詢后將結果列舉出來(如圖 44 公交線路查詢結果)。圖 43 模糊線路顯示圖 44 公交線路查詢結果其編碼思路是通過模糊查詢將查詢結果通過一個數(shù)組在循環(huán)添加到listbox列表中,通過獲取選定的listbox中的數(shù)據(jù)傳到textbox中在進行查詢。其關鍵代碼為:string sql = "select area.city, busline.linecode, busstation.station from (area inner join busline on area.id = busline.areaid) inner join businfo on busline.id
48、 = businfo.buslineid) inner join busstation on businfo.id = busstation.businfoid where (area.city='貴陽市') and (busline.linecode like a)" datatable dt = sqlhelper.getdatatable(sql, p); richtextbox1.clear(); for (int i = 0; i < dt.rows.count; i+) string str = string.concat(dt.rowsi"
49、;city".tostring(), " ", dt.rowsi"linecode".tostring(), " ", dt.rowsi"station".tostring();4.2.3 站點查詢在公交站點的查詢中通常會知道某個站點的全部或者是某歌站點的部分名稱(例如模糊的知道站點名稱中有貴大這兩個數(shù)字可能是貴大花溪區(qū)、貴大科技學院等)來查詢經(jīng)過這個站點的所有的線路,這時站點查詢模塊則會根據(jù)模糊查詢功能將所有的帶有“貴大”的公交站點數(shù)據(jù)列舉出來供用戶選擇(如圖 45 模糊站點顯示),在單擊查詢后將結果列
50、舉出來(如圖 46 公交站點查詢結果)。圖 45 模糊站點顯示圖 46 公交站點查詢結果公交站點查詢編碼的思路、代碼和線路查詢的思路、代碼基本一致。4.2.4 公交換乘查詢在公交查詢系統(tǒng)中經(jīng)常會用到換乘查詢,其作用是查詢經(jīng)過兩個站點的公交線路,比如知道起點站的名字或是模糊名字(例如:貴大或貴)和終點站的名字或模糊名字(例如:六廣門或六)通過這兩個站點選取listbox中出現(xiàn)的站點名或是直接用這兩個站點名(這兩個站點名正確才可以直接使用)來查詢所有經(jīng)過這兩個站點的公交線路信息,如圖 47 模糊顯示和圖 48 站點到站點的查詢結果所示。圖 47 模糊顯示圖 48 站點到站點的查詢結果4.3 管理員
51、功能模塊對于公交查詢系統(tǒng)來說,公交線路、站點等信息不是一成不變的,對于用戶來說過時的公交線路、站點信息沒有多大的用處。因此需要進行數(shù)據(jù)的實時更新,即對數(shù)據(jù)的操作實現(xiàn)增刪查改功能,使得軟件的查詢具有實際的意義方便人們的出行。當然對于數(shù)據(jù)的更新并不是所有的人群都可以而是一些固定的人群即在公交查詢數(shù)據(jù)庫中的表“admin”中存在的人才可以進行更改,以防止數(shù)據(jù)被亂改等現(xiàn)象,這時就需要設計管理員模塊。其模塊可以細分為以下幾個小模塊:1、管理員登錄模塊2、信息修改模塊3、信息增加模塊4、信息刪除模塊當然系統(tǒng)管理員還可以查詢數(shù)據(jù),其查詢模塊和用戶的查詢模塊處于同一位置,即管理員的查詢模塊即為用戶的查詢模塊。
52、4.3.1 系統(tǒng)管理員登陸界面設計登陸界面設計的意義在于防止外來人員進入到修改界面中修改數(shù)據(jù)造成數(shù)據(jù)的破壞,首先在公交系統(tǒng)設計的主頁面中添加一個新的窗體既為管理員的登陸窗體,在登陸窗體中分別添加按鈕(確定按鈕、清空按鈕如果填寫錯誤則可以清空輸入的內(nèi)容、取消按鈕)、標簽(用于標注用戶名和密碼)、文本(輸入數(shù)據(jù)使用)如圖 49 管理員登錄所示:圖 49 管理員登錄在屬性窗口中設置第二個文本框的passwordchar屬性為字符“*”,在設置窗體的cancebutton屬性為button3,這樣當用戶單擊“取消”按鈕后,dialogresult屬性值就是cancel?!尽?c#語言程序設計基礎(第二
53、版) 鄭宇軍 編著 清華大學出版社】當用戶輸出密碼和用戶名之后單擊確定就會與數(shù)據(jù)庫進行查詢比對如果正確則會跳轉到下一個窗體,如果不正確則彈出“錯誤”窗口(如圖 410 登錄錯誤界面提示所示),清空按鈕則可以清空輸入的用戶名和密碼的內(nèi)容。圖 410 登錄錯誤界面提示4.3.2 添加路線和站點信息在上一步中當我們輸入正確的用戶名和密碼之后就可以進入到系統(tǒng)管理員的操作界面,對于“添加路線和站點”界面設計如圖 411 信息增加界面:圖 411 信息增加界面此時就可以添加線路信息和站點信息,但是要注意到各個字段之間的對應關系,在添加數(shù)據(jù)的時候應對照下方的文字部分。其關鍵代碼如下: string sql
54、= "insert into busline (id,areaid,linecode) values (id,arearid,linecodeid)"/數(shù)據(jù)庫插入語句 dictionary<string, object> p = new dictionary<string, object>();/字典變量,使其對應傳值 p.add("id", id); p.add("arearid", arearid); p.add("linecodeid", linecodeid); sqlhelper.executenonquery(sql ,p );
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五人投資合同范本
- 副總入職合同范本
- 加盟裝修公司合同范本
- 化工煤炭采購合同范本
- 關鍵崗位用工合同范本
- 產(chǎn)權車位交易合同范本
- 乙方專利合同范本
- 企標編制合同范本
- 業(yè)主施工安全合同范例
- 代加工木門合同范本
- 二人合伙開寵物店協(xié)議書(5篇)
- 十字相乘法解一元二次方程專題練習
- 汽車維修競標報價表格范本
- 2023年3月普通高等學校招生全國統(tǒng)一考試英語聽力天津卷A(聽力音頻+試題+答案+聽力原文)
- 坐標紙(A4紙直接打印就可用)
- OGC網(wǎng)絡服務公共執(zhí)行規(guī)范課件
- 抖音博主在線寫電腦配置同款表格
- 中央空調(diào)基礎知識及發(fā)展史
- 品質(zhì)基礎及品質(zhì)意識培訓資料
- 《金融科技學》教案全套及習題答案(李建軍版)
- 電力工程竣工驗收報告
評論
0/150
提交評論