2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計)</b></p><p>  城市公交查詢系統(tǒng)的設(shè)計與實現(xiàn)</p><p>  學(xué) 生 姓 名: </p><p>  指導(dǎo)教師: </p><p>  合作指導(dǎo)教師:

2、 </p><p>  專業(yè)名稱: 計算機科學(xué)與技術(shù) </p><p>  所在學(xué)院: 職業(yè)技術(shù)學(xué)院 </p><p>  2009 年 6 月</p><p><b>  目 錄</b></p><p><b>  摘 要I</b

3、></p><p>  AbstractII</p><p><b>  第1章 引 言1</b></p><p>  1.1課題背景1</p><p>  1.2 論文的研究內(nèi)容1</p><p>  1.3 論文的組織結(jié)構(gòu)2</p><p>  第2章

4、 系統(tǒng)的開發(fā)工具與環(huán)境3</p><p>  2.1 ASP.NET簡介3</p><p>  2.2 ADO.NET概述4</p><p>  2.3 系統(tǒng)的開發(fā)要求5</p><p>  第3章 需求分析6</p><p>  3.1 系統(tǒng)需求分析6</p><p>  3.2

5、數(shù)據(jù)庫需求分析6</p><p>  3.3 性能需求7</p><p>  第4章 系統(tǒng)概要設(shè)計9</p><p><b>  4.1 概述9</b></p><p>  4.2 功能模塊劃分9</p><p>  4.3 數(shù)據(jù)庫設(shè)計10</p><p>  

6、第5章 詳細設(shè)計與實現(xiàn)17</p><p>  5.1 前臺功能的實施17</p><p>  5.2 后臺管理功能的實現(xiàn)21</p><p>  第6章 測試與維護27</p><p>  6.1 創(chuàng)建和測試應(yīng)用程序27</p><p>  6.2 測試項目27</p><p> 

7、 6.3 程序改進28</p><p>  6.4 測試方法28</p><p>  6.5 測試內(nèi)容29</p><p>  6.6 軟件維護29</p><p><b>  結(jié) 論31</b></p><p><b>  致 謝32</b></p>

8、<p><b>  參考文獻33</b></p><p><b>  摘 要</b></p><p>  我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個較落后的水平,廣大乘客可以獲得信息的方式很少,為了解決這種問題,加快發(fā)展城市公交信息化,設(shè)計一個城市公交查詢系統(tǒng)是具有一定實際應(yīng)用意義的。在此背景下,我開發(fā)了這個應(yīng)用程序---城市公交查詢

9、系統(tǒng)。本次設(shè)計,首先我考慮了公交運營的實際情況和不同公交乘客的實際要求,分析了此系統(tǒng)應(yīng)該具有的功能;其次對系統(tǒng)的主要功能模塊進行了詳細地描述,其中主要包括二個模塊---查詢模塊(包括按線路查詢、按站點查詢和按兩站點查詢)和管理更新模塊(包括公交站點管理和公交線路管理),最后結(jié)合系統(tǒng)開發(fā)階段和調(diào)試階段發(fā)現(xiàn)的問題,提出了系統(tǒng)需要完善的地方,總結(jié)了開發(fā)此系統(tǒng)所取得的經(jīng)驗。</p><p>  關(guān)鍵詞:公交, ASP.N

10、ET,查詢,B/S結(jié)構(gòu),數(shù)據(jù)庫</p><p><b>  Abstract</b></p><p>  The development of the bus passenger information system is in a level that fall behind of the city in our country. The large part of

11、 passengers can acquire few ways of the information. So it's practical for us to develop city's bus passenger information system in order to resolving this problem. For this purpose, I design this application pro

12、cedure---bus circuit search system. From this design, First ,I analyzed the present condition of the bus passenger information and different people's needs,</p><p>  Keywords :Bus,ASP.NET,Search,Structur

13、e of B/S,Database</p><p><b>  第1章 引 言</b></p><p><b>  課題背景</b></p><p>  城市公交是專門服務(wù)于市民出行的客運企業(yè)。它是城市社會和經(jīng)濟活動的重要組成部分。伴隨著國民經(jīng)濟和城市建設(shè)的快速發(fā)展,城市經(jīng)濟的繁榮,人口的增加,城市必須解決好人們出行的需求

14、。城市公交直接關(guān)系著城市的經(jīng)濟發(fā)展和居民生活,對城市經(jīng)濟具有全局性、先導(dǎo)性的影響,城市公交以其方便、快捷、容量大而成為城市交通的主體。但是隨著公交系統(tǒng)的龐大,人們很難得到準確的公交信息,這樣給一些人的出行就帶來了不便。因此,急需一個方便、快捷的公交信息查詢方式,本系統(tǒng)通過瀏覽器查詢,實現(xiàn)中心控制、自動更新、更多的查詢方式等等更多更強大的功能。</p><p>  隨著城市經(jīng)濟的發(fā)展、規(guī)模的擴大以及人口的增長,城市

15、交通問題日益突出。降低出行時間將使所有的公交利用者產(chǎn)生效益,快速的交通、更好的信息及更好的市場可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運輸以其覆蓋面廣、經(jīng)濟、快捷的特點,成為絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統(tǒng)方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個落

16、后的水平,廣大乘客可以獲得信息的方式很少,公交信息的完整性和準確性得不到保證,而且還沒有專門的機構(gòu)負責(zé)信息的發(fā)布和管理。出于這個目的,在老師的指導(dǎo)下,我設(shè)計了這個城市公交線路查詢系統(tǒng)。在對公交乘客出行心理特征進行分析的基礎(chǔ)上,考慮乘客選擇公交線路決策的因素,進行程序關(guān)鍵部分的框架設(shè)計。</p><p>  現(xiàn)階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進行商業(yè)有關(guān)或其他事情需要在外

17、地進行短暫停留的人而言,公交對他們是必不可少的,但是對于那個不屬于自己所熟悉的城市,坐公交也是一個很大的難題,因此,開發(fā)一個公交查詢系統(tǒng)就顯得非常的重要。本系統(tǒng)的核心是對選擇好的車次進行路線的查詢,或者輸入所要查詢的車站名,點擊“查詢”按鈕,查詢所有含有該站的車次及相應(yīng)的??空?。此處既可以“精確查詢”也可以是“模糊查詢”,“模糊查詢”主要方便那些對站名不是很清楚,但知道其中的一部分的乘客,系統(tǒng)可以幫助他們快速的查出。</p>

18、<p>  1.2論文的研究內(nèi)容</p><p>  公交查詢系統(tǒng)是一個取代過去由人工查詢的查詢系統(tǒng)。本論文論述了一個基于瀏覽器/服務(wù)器(B/S,Browser/Server)模式的公交查詢系統(tǒng)的研究和實現(xiàn)的過程. 論文從開發(fā)平臺和工具談起,對ASP.NET服務(wù)器所提供的組件及其屬性和方法做了一般介紹,更重要的是闡述了ASP.NET的數(shù)據(jù)庫訪問組件ADO.NET的使用方法。最后,詳細介紹了如何創(chuàng)建“

19、公交查詢系統(tǒng)”的全部過程。</p><p>  1.3論文的組織結(jié)構(gòu)</p><p>  論文第2章是系統(tǒng)的開發(fā)工具與環(huán)境概述,介紹了該系統(tǒng)設(shè)計開發(fā)使用的Visual Studio .net中的ASP.NET開發(fā)語言和系統(tǒng)在數(shù)據(jù)庫的設(shè)計開發(fā)中使用的數(shù)據(jù)庫連接技術(shù)ADO.NET,并介紹了系統(tǒng)開發(fā)所需要的計算機環(huán)境。</p><p>  第3章是系統(tǒng)的需求分析和數(shù)據(jù)庫總

20、體設(shè)計,包括系統(tǒng)需求,性能分析等。</p><p>  第4章是系統(tǒng)的系統(tǒng)概要設(shè)計,包括系統(tǒng)的模塊劃分,數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計。</p><p>  第5章是系統(tǒng)的詳細設(shè)計和實現(xiàn),包括系統(tǒng)各個界面設(shè)計和相關(guān)重要注釋。</p><p>  第6章是系統(tǒng)測試和維護。</p><p>  最后是結(jié)論、致謝、參考文獻及附錄。<

21、;/p><p>  第2章 系統(tǒng)的開發(fā)工具與環(huán)境</p><p>  2.1 ASP.NET簡介</p><p>  ASP.NET 是一種建立在通用語言上的程序構(gòu)架,能被用于一臺Web服務(wù)器來建立強大的Web應(yīng)用程序。ASP.NET提供許多比現(xiàn)在的Web開發(fā)模式強大的的優(yōu)勢。</p><p>  ASP.NET 建立在 .NET Framewo

22、rk 的編程類之上,它提供了一個 Web 應(yīng)用程序模型,并且包含使生成 ASP Web 應(yīng)用程序變得簡單的控件集和結(jié)構(gòu)。ASP.NET 包含封裝公共 HTML 用戶界面元素(如文本框和下拉菜單)的控件集。但這些控件在 Web 服務(wù)器上運行,并以 HTML 的形式將它們的用戶界面推送到瀏覽器。在服務(wù)器上,這些控件公開一個面向?qū)ο蟮木幊棠P停瑸?Web 開發(fā)人員提供了面向?qū)ο蟮木幊痰呢S富性。ASP.NET 還提供結(jié)構(gòu)服務(wù)(如會話狀態(tài)管理和進

23、程回收),進一步減少了開發(fā)人員必須編寫的代碼量并提高了應(yīng)用程序的可靠性。另外,ASP.NET 使用這些同樣的概念使開發(fā)人員能夠以服務(wù)的形式交付軟件。使用 XML Web services 功能,ASP.NET 開發(fā)人員可以編寫自己的業(yè)務(wù)邏輯并使用 ASP.NET 結(jié)構(gòu)通過 SOAP 交付該服務(wù)。Visual Studio .NET 是一套完整的開發(fā)工具,用于生成 ASP Web 應(yīng)用程序、XML Web services、桌面應(yīng)用程序和

24、移動應(yīng)用程序。Visual Basic .NET、Visual C++ </p><p>  2.1.1 ASP.NET技術(shù)的優(yōu)點</p><p>  ASP.NET是一種將各種Web元素組合在一起的服務(wù)器技術(shù),是一個統(tǒng)一的Web開發(fā)平臺,它提供了生成一個完整的Web應(yīng)用程序所必須要的各種服務(wù)。與以前的開發(fā)模型相比較,它提供了以下數(shù)個重要的優(yōu)點:</p><p> 

25、?。?)增強的性能。ASP.NET 是在服務(wù)器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼之前便顯著提高了性能。</p><p> ?。?)世界級的工具支持。ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強大的工具所提供

26、功能中的少數(shù)幾種。</p><p>  (3)威力和靈活性。由于 ASP.NET 基于公共語言運行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言(如C#),或是跨多種語言分割應(yīng)用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM

27、的開發(fā)中的現(xiàn)有投資。</p><p> ?。?)簡易性。ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署的站點配置。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。</p><p> 

28、?。?)可管理性。ASP.NET 采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴展到了 ASP.NET 框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運行的編譯代碼時。</p><p&g

29、t; ?。?)可縮放性和可用性。ASP.NET 在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當(dāng)進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應(yīng)用程序始終可用于處理請求。</p><p> ?。?)自定義性和擴展性。ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代碼。實際上,

30、可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務(wù)一直沒有變得更容易。</p><p> ?。?)安全性。借助內(nèi)置的 Windows 身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。  </p><p>  2.1.2 .NET Framework概述</p><p>  .NET Framework

31、是用于生成、部署和運行 XML Web services 和應(yīng)用程序的多語言環(huán)境。它由以下幾個主要部分組成:</p><p>  公共語言運行庫 運行庫實際上在組件的運行時和開發(fā)時操作中都起到很大的作用,盡管名稱中沒有體現(xiàn)這個意思。在組件運行時,運行庫除了負責(zé)滿足此組件在其他組件上可能具有的依賴項外,還負責(zé)管理內(nèi)存分配、啟動和停止線程和進程,以及強制執(zhí)行安全策略。在開發(fā)時,運行庫的作用稍有變化;由于做了大量的自動

32、處理工作(如內(nèi)存管理),運行庫使開發(fā)人員的操作非常簡單,尤其是與今天的 COM 相比。特別是反射等功能顯著減少了開發(fā)人員為將業(yè)務(wù)邏輯轉(zhuǎn)變?yōu)榭芍赜媒M件而必須編寫的代碼量。 </p><p>  統(tǒng)一編程類 該框架為開發(fā)人員提供了統(tǒng)一的、面向?qū)ο蟮?、分層的和可擴展的類庫集 (API)。目前,C++ 開發(fā)人員使用 Microsoft 基礎(chǔ)類,而 Java 開發(fā)人員使用 Windows 基礎(chǔ)類。框架統(tǒng)一了這些完全不同的模

33、型并且為 Visual Basic 和 JScript 程序員同樣提供了對類庫的訪問。通過創(chuàng)建跨所有編程語言的公共 API 集,公共語言運行庫使得跨語言繼承、錯誤處理和調(diào)試成為可能。從 JScript 到 C++ 的所有編程語言具有對框架的相似訪問,開發(fā)人員可以自由選擇它們要使用的語言。</p><p>  2.2 ADO.NET概述</p><p>  ADO.NET并不是ADO的升級版

34、本,它是全新的面向?qū)ο竽P?。比ADO更適應(yīng)于分布式及Internet等大型應(yīng)用程序環(huán)境,為了多人同時存取更具擴展性,ADO.NET的數(shù)據(jù)存取采用的是離線存取模式,可說是專門為.NET平臺設(shè)計的數(shù)據(jù)存取結(jié)構(gòu)。它具有簡單地訪問關(guān)系數(shù)據(jù)、可擴展性、支持多層應(yīng)用程序、統(tǒng)一XML和關(guān)系數(shù)據(jù)訪問的特點。</p><p>  ADO.NET的主要目標是提供對關(guān)系數(shù)據(jù)的簡單訪問功能。坦白的說,易于使用的類描述關(guān)系數(shù)據(jù)庫中的表、列

35、和行。另外,ADO.NET引入了DataSet類,它代表來自封裝在一個單元中的關(guān)聯(lián)表中的一組數(shù)據(jù),維持他們之間完整的關(guān)系。這是在ADO.NET中的新概念,可以顯著的擴展數(shù)據(jù)訪問接口的功能。</p><p>  ADO.NET可以擴展——它為插件.NET數(shù)據(jù)提供者(也稱為可管理提供者)提供了框架,這些提供者被構(gòu)建,以便從任何數(shù)據(jù)源讀取和寫入數(shù)據(jù)。ADO.NET提供了兩種內(nèi)置的.NET數(shù)據(jù)提供者,一種用于OLE DB

36、數(shù)據(jù)源,另一種用于Microsoft SQL Server??梢酝ㄟ^OLE DB訪問數(shù)據(jù)格式(比如Microsoft Access)、第三方數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)。另外,Microsoft最近預(yù)演了用于ADO.NET的ODBC.NET數(shù)據(jù)提供者,它允許.NET訪問更多的舊的數(shù)據(jù)格式和第三方數(shù)據(jù)庫。</p><p>  ADO.NET用于多層應(yīng)用程序。這是當(dāng)今商業(yè)和電子商務(wù)應(yīng)用程序最常見的體系結(jié)構(gòu)。在多層體系結(jié)構(gòu)中,應(yīng)

37、用邏輯的不同部5分1運a行s在p多x個服務(wù)器或進程中,每一部分就稱為一層。ADO.NET使用開放的Internet標準XML格式在層之間通信,允許數(shù)據(jù)通過Internet防火墻來傳遞,并允許以非Microsoft技術(shù)來實現(xiàn)一層或多層。</p><p>  那么在Visual Studio.NET中ADO.NET訪問數(shù)據(jù)庫分為二種。一種是SQL Server數(shù)據(jù)庫,另一種是其它任何類型的數(shù)據(jù)庫。本系統(tǒng)的后臺數(shù)據(jù)庫為

38、SQL Server 2005,因此是通過SQLConnection、SqlCommand、SqlDataAdapter、DataSet等幾個主要的數(shù)據(jù)訪問對象來訪問數(shù)據(jù)的。</p><p>  2.3系統(tǒng)的開發(fā)要求</p><p>  本次開發(fā)的公交查詢系統(tǒng)對操作系統(tǒng)的要求如下:</p><p><b>  硬件要求:</b></p&g

39、t;<p>  CPU:最低Intel Pentium II 500 MHz。</p><p>  磁盤空間:250MB(完全安裝),155MB(快速安裝)。</p><p>  內(nèi)存:512MB(最好1GB以上)。</p><p>  顯示:1024*768,256色</p><p><b>  軟件要求:<

40、/b></p><p>  操作系統(tǒng):Windows 2000以上的操作系統(tǒng)。</p><p>  開發(fā)平臺:Visual Studio.NET 2005,Microsoft SQL Server 2005。</p><p><b>  第3章 需求分析</b></p><p>  3.1 系統(tǒng)需求分析</p

41、><p>  隨著我國經(jīng)濟的高速發(fā)展,人們生活水平的提高,越來越多的人開始熱衷于到外地旅游。那么對于這些外來旅游者,首先搞清這個城市的公交路線顯的很重要!我的家鄉(xiāng)沈陽,作為一個旅游城市,每年都要吸引大量的游客,為了滿足這些游客熟悉公交路線的需求,特以公交查詢系統(tǒng)為設(shè)計課題。本軟件不僅能給游客帶來方便,也能給廣大市民提供方便。我認為這樣的系統(tǒng)應(yīng)該具有很好的實用性!開發(fā)本系統(tǒng)的目標就是立足廣大乘客的實際,著眼于公交業(yè)的未

42、來發(fā)展,規(guī)范公交管理,提高服務(wù)質(zhì)量,方便乘客查詢,并為此設(shè)計該系統(tǒng)。</p><p>  人們生活水平的提高,越來越多人喜歡旅游,但是第一次來一個陌生的城市,肯定對公交路線不熟悉,所以必定需要一個能查看具體公交線路的公交系統(tǒng)。有些只知道一個站的某幾個字或一個車次的某幾個數(shù)字,所以本系統(tǒng)將給出站點的模糊查詢,方便用戶的查詢,有些只知道車次或某個站點,本系統(tǒng)也給出了公交線路查詢、公交站點查詢、公交換乘查詢,進一步方便

43、大家的出行,但也有用戶什么都查不到,想留言問問人,所以再搞個留言板很有必要,方便大家交流以及解答各種疑難問題!</p><p>  本系統(tǒng)采用結(jié)構(gòu)化設(shè)計的方法來實現(xiàn)系統(tǒng)總體功能,提高系統(tǒng)的各項指標,即將整個系統(tǒng)合理的劃分成各個功能模塊,正確地處理模塊之間和模塊內(nèi)部的聯(lián)系以及和數(shù)據(jù)庫的聯(lián)系,定義各模塊的內(nèi)部結(jié)構(gòu),通過對模塊的設(shè)計和模塊之間關(guān)系的系統(tǒng)來實現(xiàn)整個系統(tǒng)的功能</p><p>  前

44、臺主要有3個模塊,線路查詢、站點查詢、公交換乘模塊和后臺管理模塊</p><p><b>  功能名稱:線路查詢</b></p><p>  功能概述:可以獲得要查詢公交所通過的各個站點。</p><p><b>  功能名稱:站點查詢</b></p><p>  功能概述:通過輸入的指定站點查詢經(jīng)

45、過該站點的公交。</p><p>  功能名稱:公交換乘查詢</p><p>  功能概述:分為公交直達、公交一次換乘,主要體現(xiàn)那些不可直達需要轉(zhuǎn)車的路線的所有換法。(如果用戶輸入的起始點和終點,有一條及一條以上的公交線可以直達的,則為公交直達;如果輸入的起始點和終點,沒有一條公交線可以直接到的,系統(tǒng)將會給出一次換乘的方案,則為公交一次換乘)</p><p><

46、;b>  功能名稱:后臺管理</b></p><p>  功能概述:用于管理員登陸,添加、修改、刪除公交線路,修改信息資料、安全密碼,回復(fù)留言板等功能。</p><p>  本系統(tǒng)提供了的車次查詢功能、路5線1查A詢S功P能X。乘客可以方便的進行查詢,以防乘錯車次。當(dāng)然有些功能的智能化不是很強,系統(tǒng)有待進一步來完善。</p><p>  3.2 數(shù)

47、據(jù)庫需求分析</p><p>  數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。</p><p>  數(shù)據(jù)庫技術(shù)是由傳統(tǒng)的文件系統(tǒng)發(fā)展而來的,從層次模型、網(wǎng)狀模型發(fā)展到關(guān)系模型。數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的一個重要分支,它能指導(dǎo)我們正確地設(shè)計

48、數(shù)據(jù)庫系統(tǒng),它的出現(xiàn)極大地促進了計算機應(yīng)用的發(fā)展。采用數(shù)據(jù)庫技術(shù)的原理和方法可以有效地設(shè)計實用的數(shù)據(jù)庫系統(tǒng)。一個完整的數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫管理系統(tǒng)(DBMS),數(shù)據(jù)庫管理員(DBA)、數(shù)據(jù)庫(DB)、應(yīng)用程序和相應(yīng)的硬件設(shè)施。</p><p>  目前許多數(shù)據(jù)庫管理系統(tǒng)都基于關(guān)系模型,關(guān)系模型的主要特點是用表格結(jié)構(gòu)表達實體,用鍵表示實體與實體之間的聯(lián)系。與層次模型和網(wǎng)狀模型相比,關(guān)系模型比較簡單,容易為初學(xué)者接受

49、。關(guān)系模型是由若干個關(guān)系模式組成的集合,關(guān)系模式相當(dāng)于記錄類型,它的實例稱為關(guān)系。每個關(guān)系是一張表格。表格簡單,用戶易懂,用戶只需用簡單的查詢語句就可以對數(shù)據(jù)庫進行數(shù)據(jù)操作,并不涉及到存儲結(jié)構(gòu),訪問技術(shù)等細節(jié)。關(guān)系模型是數(shù)學(xué)化的模型,要用到集合論,離散數(shù)學(xué)等知識。SQL語言是關(guān)系數(shù)據(jù)庫的代表性語言,已經(jīng)得到廣泛應(yīng)用。</p><p>  在設(shè)計數(shù)據(jù)庫時,應(yīng)注意數(shù)據(jù)的安全性,保證數(shù)據(jù)的安全,防止非法用戶訪問數(shù)據(jù)庫,

50、以免泄露重要信息,同時也能51防A止s非px法用戶的蓄意破壞,有許多保護數(shù)據(jù)的方法,如采用用戶標識,口令和密碼或訪問控制等方法。一個成功的數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)具有用戶標識,每一個合法用戶具有一個用戶名和相應(yīng)的口令,進入數(shù)據(jù)庫應(yīng)用系統(tǒng)前必須輸入正確的口令,否則無法進入系統(tǒng),這就保證了只有合法的用戶才能操作數(shù)據(jù)庫系統(tǒng)。為了保證數(shù)據(jù)的合法語義,必須對數(shù)據(jù)庫的數(shù)據(jù)進行完整性約束,即防止用戶輸入不合語義的數(shù)據(jù)。</p><p>

51、;  在設(shè)計應(yīng)用軟件時,應(yīng)嚴格按照軟件工程學(xué)的方法進行設(shè)計,傳統(tǒng)的方法采用瀑布模型,從問題定義、可行性分析、需求分析、概念設(shè)計、總體設(shè)計、系統(tǒng)實現(xiàn)、編碼和軟件測試、運行和維護等軟件生命周期內(nèi),每一階段均在前一階段的基礎(chǔ)上進行設(shè)計,并在每一階段有相應(yīng)的文檔資料。</p><p>  設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計一般包括如下幾個步驟:數(shù)據(jù)庫需要分析,

52、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計。</p><p><b>  3.3 性能需求</b></p><p>  為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,城市公交查詢系統(tǒng)應(yīng)該滿足以下的性能需求:</p><p>  3.3.1 系統(tǒng)處理的準確性和及時性</p><p>  系統(tǒng)處理的準確性和及時性是系統(tǒng)的必

53、要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足企業(yè)對信息處理的需求。</p><p>  由于公交查詢系統(tǒng)的查詢功能對于整個系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票數(shù)量和時間又影響企業(yè)的決策活動,其準確性很大程度上決定了公交查詢系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。</p><p>

54、;  3.3.2 系統(tǒng)的開放性和系統(tǒng)的可擴充性</p><p>  公交查詢系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如網(wǎng)上查詢的用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進行功能的調(diào)整和擴充。而要實現(xiàn)這一點,應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代。<

55、/p><p>  3.3.3 系統(tǒng)的易用性和易維護性</p><p>  公交查詢系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p>  公交

56、查詢系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護人員進行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時數(shù)據(jù)的恢復(fù)等工作。</p><p>  3.3.4 系統(tǒng)的標準性</p><p>  系統(tǒng)在設(shè)計開發(fā)使51用aspx過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標準。例如在開發(fā)中使用的操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、開發(fā)工具都必須符合通用標準。

57、如規(guī)范的數(shù)據(jù)庫操縱界面、作為業(yè)界標準的TCP/IP網(wǎng)絡(luò)協(xié)議及ISO9002標準所要求的質(zhì)量規(guī)范等;同時,在自主開發(fā)本系統(tǒng)時,要進行良好的設(shè)計工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。</p><p>  3.3.5 系統(tǒng)的先進性</p><p>  目前計算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為公交查詢系統(tǒng)工程,應(yīng)該保證系統(tǒng)在下個世紀仍舊是先進的,在系統(tǒng)的生命周期盡量做到

58、系統(tǒng)的先進,充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計和開發(fā)的過程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進且有良好發(fā)展前途的產(chǎn)品。</p><p>  3.3.6 系統(tǒng)的響應(yīng)速度</p><p>  公交查詢系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達到實時要求,以及時反饋信息。在進行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不

59、同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。</p><p>  第4章 系統(tǒng)概要設(shè)計</p><p><b>  4.1概述</b></p><p>  本階段設(shè)計的基本目標是解決系統(tǒng)如何實現(xiàn)問題,也叫做概要設(shè)計,本階段主要任務(wù)是劃分出系統(tǒng)的物理元素及設(shè)計軟件的結(jié)構(gòu),完成軟件定義時期的任務(wù)之后就應(yīng)該對系統(tǒng)進行總體設(shè)計

60、,即根據(jù)系統(tǒng)分析產(chǎn)生的分5析1結(jié)果AS來PX確定這個系統(tǒng)由哪些系統(tǒng)和模塊組成,這些系統(tǒng)和模塊又如何有機的結(jié)合在一起,每個模塊的功能如何實現(xiàn)。系統(tǒng)設(shè)計的目標是使系統(tǒng)實現(xiàn)擁有所要求的功能,同時,力爭達到高效率、高可靠性、可修改性,并且容易掌握和使用。</p><p>  模塊化的依據(jù)是:把復(fù)雜問題分解成許多容易解決的小問題。原來的問題也就變得容易解決。模塊化設(shè)計是把大型軟件按照一定的原則劃分成一個較小的相對功能獨立又

61、相關(guān)聯(lián)的模塊。每個模塊完成一個特定的子功能。把這些模塊結(jié)合起來組成一個整體。完成指定的功能,滿足問題的要求。采用模塊化原理的優(yōu)點在于可以使軟件結(jié)構(gòu)清晰,容易測試和調(diào)試。從而提高軟件的可靠性,可修改性。有助于軟件開發(fā)的組織管理。一個大型軟件可分別編寫不同的模塊。模塊化理論的幾個重要概念如下:</p><p>  抽象。抽象就是抽象出事物的本質(zhì)特性而暫時不考慮它們的細節(jié)。處理復(fù)雜系統(tǒng)唯一有效的方法是用層次的方式構(gòu)造和

62、分析它。一個復(fù)雜的動態(tài)系統(tǒng)首先可以用一些高級的抽象概念構(gòu)造和理解,這些高級概念又可以用一些較低級的理解,直到最低層次的具體元素。</p><p>  信息隱蔽和局部化。信息隱蔽是指在設(shè)計和確定模塊時,應(yīng)使得一個模塊內(nèi)包含的信息對于不需要這些信息的模塊來說,是不能訪問。</p><p>  局部化是指把一些關(guān)系密切的軟件元素物理的放得彼此靠近。局部化有助于實現(xiàn)信息隱蔽。</p>

63、<p>  信息隱蔽原理和局部化有助于在測試期間以及軟件維護期間修改軟件。因為絕大多數(shù)數(shù)據(jù)和過程對于軟件的其它部分而言是隱蔽的,從而由疏忽引入的錯誤就很少可能傳播到軟件的其它部分。</p><p>  逐步求精的模塊化概念。逐步求精和模塊化的抽象是密切相關(guān)的。軟件結(jié)構(gòu)每一層中模塊表示對軟件抽象層次的次細化。用自頂向下,逐步求精的方法由抽象到具體的方式分配控制,簡化了軟件設(shè)計和實施,提高了軟件的可理解性

64、和可測試性,并使得軟件更容易維護。</p><p>  模塊獨立性。模塊的劃分要使模塊間盡可能的相互獨立,獨立模塊較易維護。度量模塊的獨立程度有兩個標準:內(nèi)聚和耦合。耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復(fù)雜程度,進入或訪問一個模塊的點,以及通過接口的數(shù)。</p><p>  在軟件的設(shè)計中應(yīng)追求盡可能松散的耦合。內(nèi)聚標志一個模塊內(nèi)各個元素彼此結(jié)合的緊

65、密程度,它是信息隱藏和局部化概念的自然擴展,理想內(nèi)聚的模塊只做一件事情。在設(shè)計時應(yīng)力求做到高內(nèi)聚。</p><p>  4.2 功能模塊劃分</p><p><b>  查詢系統(tǒng)模塊</b></p><p>  該模塊實現(xiàn)公交查詢功能??蓪崿F(xiàn)按線路查詢、站點查詢和起點—終點查詢?nèi)N查詢方式。</p><p><b&

66、gt;  錄入系統(tǒng)模塊</b></p><p>  該模塊實現(xiàn)數(shù)據(jù)的新增、修改、刪除功能。</p><p>  系統(tǒng)模塊圖如圖4-1所示:</p><p><b>  4.3 數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫技術(shù)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來的一種高效的數(shù)據(jù)管理技術(shù),它能保持系統(tǒng)數(shù)據(jù)的整體性,完整

67、性和共享性。在數(shù)據(jù)庫系統(tǒng)中提供了對數(shù)據(jù)的訪問機制,能有組織的存儲相關(guān)的數(shù)據(jù),具有合理的存儲方式,快速的查詢效率和最小的數(shù)據(jù)冗余等特性。另外數(shù)據(jù)的存儲和應(yīng)用程序彼此獨立,不僅便于數(shù)據(jù)的管理與控制而且有利于應(yīng)用程序的編寫與調(diào)試。數(shù)據(jù)庫類似于一個數(shù)據(jù)的大倉庫,能很好地實現(xiàn)數(shù)據(jù)共享,能維護數(shù)據(jù)的一致性。數(shù)據(jù)庫設(shè)計是系統(tǒng)設(shè)計的一個重要內(nèi)容,其設(shè)計質(zhì)量的好壞直接影響系統(tǒng)開發(fā)的成敗,系統(tǒng)的質(zhì)量,系統(tǒng)效率及可維護性。</p><p&

68、gt;  在本系統(tǒng)的設(shè)計中,充分考慮到了管理系統(tǒng)數(shù)據(jù)繁雜,重復(fù)性很大,數(shù)據(jù)使用頻繁。因此本系統(tǒng)采用了一種能正確反映用戶實現(xiàn)環(huán)境,能被現(xiàn)行系統(tǒng)接受,易于維護、效率高的數(shù)據(jù)管理方法--數(shù)據(jù)庫系統(tǒng)。</p><p>  數(shù)據(jù)模型是指數(shù)據(jù)庫中記錄與記錄之間聯(lián)系的數(shù)據(jù)結(jié)構(gòu)形成的。不同的數(shù)據(jù)管理系統(tǒng)有不同的數(shù)據(jù)模型,數(shù)據(jù)庫設(shè)計的核心問題是設(shè)計好的數(shù)據(jù)模型。在目前的數(shù)據(jù)庫管理系統(tǒng)中有層次模型,網(wǎng)狀模型、關(guān)系模型三種數(shù)據(jù)模型。其

69、中,關(guān)系模型具有較高的數(shù)據(jù)獨立性,使用也較為方便。本設(shè)計采用關(guān)系數(shù)據(jù)庫。該數(shù)據(jù)庫實行增、刪、編輯、統(tǒng)計。顯示和打印都極為方便。其中的排序和索引功能,對數(shù)據(jù)快速定位,查詢提供了有利條件。交流互動對于本系統(tǒng)的數(shù)據(jù)庫設(shè)計有以下幾點說明:數(shù)據(jù)庫設(shè)計兼顧前面設(shè)計的數(shù)據(jù)流程圖,管理信息系統(tǒng)的設(shè)計并不是以數(shù)據(jù)庫為核心的數(shù)據(jù)庫應(yīng)用設(shè)計,本系統(tǒng)的數(shù)據(jù)庫設(shè)計盡量滿足3NF(第三范式)的要求,本系統(tǒng)的數(shù)據(jù)庫設(shè)計以提高系統(tǒng)運行效率為前提。</p>

70、<p>  4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p>  在系統(tǒng)設(shè)計的開始,我首先考慮的是如何用數(shù)據(jù)模型來數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實世界進行抽象。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨立于計算機系統(tǒng)的“概念數(shù)據(jù)模型”,如“實體聯(lián)系模型”;另一種是直接面向數(shù)據(jù)庫邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。在本系統(tǒng)中我采用“實體聯(lián)系模型”(ER模型)來描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實世界進行第一次抽象。E

71、R模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受。但它只是數(shù)據(jù)庫設(shè)計的第一步。</p><p>  E-R圖是直觀表示概念模型的工具,它有三個基本成分:</p><p> ?。?)矩形框,表示實體類型(考慮問題的對象)。</p><p> ?。?)菱形框,表示聯(lián)系類

72、型(實體間的聯(lián)系)。</p><p> ?。?)橢圓形框,表示實體的屬性。</p><p>  實體和屬性的定義如下:</p><p>  管理員表(登陸ID,登錄姓名,登錄密碼)</p><p>  站名表(站名編號,站名)</p><p>  車輛線路編號表(車次,車線類型)</p><p>

73、;  線路表(線路編號,車次,站名,次序)</p><p>  車輛表(車輛編號,車次,車輛類型,服務(wù)類型,票價,IC卡類型,運行區(qū)間)</p><p>  冬季發(fā)車時間表(車次,編號,首班時間,末班時間)</p><p>  夏季發(fā)車時間表(車次,編號,首班時間,末班時間)</p><p>  各實體屬性圖如圖4-2所示。</p>

74、;<p>  圖4-2 實體屬性關(guān)系圖</p><p>  本系統(tǒng)的總體E-R圖如圖4-3所示。</p><p>  4.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p>  本系統(tǒng)采用的數(shù)據(jù)庫管理系統(tǒng)是Microsoft公司的SQL Server 2005。該管理系統(tǒng)由一系列產(chǎn)品組成,不僅能夠滿足最大的數(shù)據(jù)處理系統(tǒng)和商業(yè) Web 站點存儲數(shù)據(jù)的需要,還能為個

75、人或小企業(yè)提供易于使用的數(shù)據(jù)存儲服務(wù)。</p><p>  Microsoft SQL Server 2005 的特性包括: </p><p><b> ?。?)企業(yè)數(shù)據(jù)管理</b></p><p>  在當(dāng)今的互聯(lián)世界中,數(shù)據(jù)和管理數(shù)據(jù)的系統(tǒng)必須始終為用戶可用且能夠確保安全。有了 SQL Server 2005,組織內(nèi)的用戶和信息技術(shù) (IT

76、) 專家將從減少的應(yīng)用程序停機時間、提高的可伸縮性及性能、更緊密而靈活的安全控制中獲益。SQL Server 2005 也包括了許多新的和改進的功能來幫助 IT 工作人員更有效率地工作。SQL Server 2005 包含幾個在企業(yè)數(shù)據(jù)管理中關(guān)鍵的增強:易管理性、可用性、可伸縮性、安全性。</p><p>  SQL Server 2005 使部署、管理和優(yōu)化企業(yè)數(shù)據(jù)以及分析應(yīng)用程序變得更簡單、更容易。作為一個企

77、業(yè)數(shù)據(jù)管理平臺,它提供單一管理控制臺,使數(shù)據(jù)管理員能夠在任何地方監(jiān)視、管理和調(diào)諧企業(yè)中所有的數(shù)據(jù)庫和相關(guān)的服務(wù)。它還提供了一個可以使用 SQL 管理對象輕松編程的可擴展的管理基礎(chǔ)結(jié)構(gòu),使得用戶可以定制和擴展他們的管理環(huán)境,同時使獨立軟件供應(yīng)商 (ISV) 也能夠創(chuàng)建附加的工具和功能來更好地擴展打開即得的能力。</p><p> ?。?)SQL Server Management Studio</p>

78、<p>  SQL Server 2005 通過提供一個集成的管理控制臺來監(jiān)視和管理 SQL Server 關(guān)系數(shù)據(jù)庫、Integration Services、Analysis Services、Reporting Services、Notification Services 以及在數(shù)量眾多的分布式服務(wù)器和數(shù)據(jù)庫上的 SQL Server Mobile Edition,從而簡化了管理工作。數(shù)據(jù)庫管理員能夠同時執(zhí)行多個任務(wù),

79、例如,編寫和執(zhí)行查詢,查看服務(wù)器對象,管理對象,監(jiān)視系統(tǒng)活動和查看聯(lián)機幫助。SQL Server Management Studio 提供了一個開發(fā)環(huán)境,可在其中使用 Transact-SQL、多維表達式、XML for Analysis 和 SQL Server Mobile Edition 來編寫、編輯和管理腳本和存儲過程。Management Studio 可以很容易地與源代碼控制集成在一起。Management Studio 還

80、包括一些工具可用來調(diào)度 SQL Server 代理作業(yè)和管理維護計劃,以自動執(zhí)行日常維護和操作任務(wù)。管理和腳本編寫集成在單一工具中,同時,該工具</p><p>  SQL Server 2005 開放了 70 多個新的內(nèi)部數(shù)據(jù)庫性能和資源使用的度量值,涵蓋了從內(nèi)存、鎖定到對事務(wù)、網(wǎng)絡(luò)和磁盤 I/O 的調(diào)度等。這些動態(tài)管理視圖 (DMV) 提供了對數(shù)據(jù)庫和強大的基礎(chǔ)結(jié)構(gòu)的更大的透明度和可見性,可以主動監(jiān)視數(shù)據(jù)庫的

81、狀況和性能。</p><p> ?。?)SQL 管理對象</p><p>  SQL 管理對象 (SMO) 是一個新的可編程對象集,它可實現(xiàn)所有 SQL Server 數(shù)據(jù)庫的管理功能。事實上,Management Studio 就是構(gòu)建在 SQL 管理對象之上的。SMO 是作為 Microsoft .NET Framework 程序集實現(xiàn)的。您可以使用 SMO 自動執(zhí)行常見的 SQL S

82、erver 管理任務(wù),例如,用編程方式檢索配置設(shè)置,創(chuàng)建新數(shù)據(jù)庫,應(yīng)用 Transact-SQL 腳本,創(chuàng)建 SQL Server 代理作業(yè)以及調(diào)度備份等。SMO 對象模型替代了包含在 SQL Server 早期版本中的分布式管理對象 (DMO),因為它更安全可靠并具有更高的可伸縮性。</p><p><b> ?。?)可用性</b></p><p>  在高可用性技

83、術(shù)、額外的備份和恢復(fù)功能,以及復(fù)制增強上的投資使企業(yè)能夠構(gòu)建和部署高可用的應(yīng)用程序。在高可用性上的創(chuàng)新有:數(shù)據(jù)庫鏡像、故障轉(zhuǎn)移群集、數(shù)據(jù)庫快照和增強的聯(lián)機操作,這有助于最小化停機時間,并確??梢栽L問關(guān)鍵的企業(yè)系統(tǒng)。本節(jié)將詳細介紹這些增強特性。</p><p><b> ?。?)數(shù)據(jù)庫鏡像</b></p><p>  數(shù)據(jù)庫鏡像允許事務(wù)日志以連續(xù)的方式從源服務(wù)器傳遞到單

84、臺目標服務(wù)器上。當(dāng)主系統(tǒng)出現(xiàn)故障時,應(yīng)用程序可以立即重新連接到輔助服務(wù)器上的數(shù)據(jù)庫。輔助實例幾秒鐘內(nèi)即可檢測到主服務(wù)器發(fā)生了故障,并能立即接受數(shù)據(jù)庫連接。數(shù)據(jù)庫鏡像工作在標準服務(wù)器硬件下,不需要特定的存儲或控制器。</p><p>  本系統(tǒng)創(chuàng)建的SQL數(shù)據(jù)庫名稱為城市公交查詢系統(tǒng)。并將數(shù)據(jù)文件和日志文件保存在公交查詢系統(tǒng)APP_DATA文件夾中。此數(shù)據(jù)庫包含7個表:</p><p>  

85、①管理員表(LoginTable)</p><p>  管理員表存放登陸系統(tǒng)所需要的用戶名和密碼,登錄后臺時需要訪問此表。</p><p><b>  表4-1 管理員表</b></p><p><b> ?、谡久?lt;/b></p><p>  站名表存放站名等數(shù)據(jù),修改站名需要訪問此表。</

86、p><p><b>  表4-2 站名表</b></p><p><b>  ③車輛線路編號表</b></p><p>  車輛線路編號表存放線路編號等數(shù)據(jù),修改車輛線路編號將要訪問此表。</p><p>  表4-3 車輛線路編號表</p><p><b> ?、芫€路

87、表</b></p><p>  線路表存放公交車線路的數(shù)據(jù),修改車輛線路需要訪問此表。</p><p><b>  表4-4線路表</b></p><p><b> ?、蒈囕v表</b></p><p>  車輛表存放車輛的相關(guān)信息,修改車輛等相關(guān)信息需要訪問此表。</p>

88、<p><b>  表4-5 車輛表</b></p><p>  ⑥夏季發(fā)車時刻表沈陽王子科技 專業(yè)畢業(yè)設(shè)計培訓(xùn) 想了解我們 請登錄我們的官方網(wǎng)站:www.wangzikeji.com </p><p>  此系列論文均免費下載,如果你使用了我們的論文,你可以把頁眉改掉,但是請你告訴你身邊的好朋友,此論文來自王子科技,我們衷心的表示感謝!QQ:4578902

89、2 電話 13898863631 王經(jīng)理</p><p>  夏季發(fā)車時刻表存放夏季發(fā)車的時間,修改夏季發(fā)車時間需要訪問此表。</p><p>  表4-6 夏季發(fā)車時刻表</p><p><b> ?、叨景l(fā)車時刻表</b></p><p>  冬季發(fā)車時刻表存放冬季發(fā)車的時間,修改冬季發(fā)車時間需要訪問此表。</

90、p><p>  表4-7 冬季發(fā)車時刻表</p><p>  第5章 詳細設(shè)計與實現(xiàn)</p><p>  5.1 前臺功能的實施</p><p>  5.1.1連接數(shù)據(jù)庫的包含文件</p><p>  在動態(tài)網(wǎng)站中,調(diào)用數(shù)據(jù)庫中的數(shù)據(jù)是十分頻繁的,為了避免編寫重復(fù)的代碼。編寫一個數(shù)據(jù)庫連接文件是非常重要的。DB.cs文件中

91、包含了本系統(tǒng)中的數(shù)據(jù)庫的連接代碼。本系統(tǒng)的數(shù)庫的連接代碼如下:</p><p>  public static SqlConnection createConnection()</p><p><b>  {</b></p><p>  SqlConnection con=new SqlConnection("server=.;dat

92、abase=城市公交查詢系統(tǒng);uid=sa;pwd=;");</p><p>  return con;</p><p><b>  }</b></p><p>  5.1.2按線路查詢</p><p>  線路查詢模塊:用戶進入系統(tǒng)后,在線路查詢模塊的輸入框中輸入要查詢的線路,點擊查詢按鈕,系統(tǒng)首先檢查用戶所

93、查詢的線路是否存在,如果不存在給出出錯提示,如果存在給出這條線路的相關(guān)信息,如:雙向早晚車的工作時間,票價,經(jīng)過的站點。如線路存在,進入線路界面如圖5-1所示:</p><p><b>  圖5-1 線路查詢</b></p><p><b>  主要實現(xiàn)代碼如下:</b></p><p>  SqlCommand cmds

94、j=new SqlCommand(cmdstring,con);</p><p>  SqlDataReader sdrsj=cmdsj.ExecuteReader();</p><p>  while(sdrsj.Read()){string linetemp1=sdrsj["首班時間"].ToString();</p><p>  strin

95、g linetemp2=sdrsj["末班時間"].ToString();</p><p>  line+="<font size=3>(首班時間為:"+linetemp1+" ";</p><p>  line+="末班時間為:"+linetemp2+")</font>&

96、lt;br>";}</p><p>  SqlCommand cmd=new SqlCommand("select * from 公交車線路表where 車次="+num+"order by 次序ASC",con);SqlDataReader sdr=cmd.ExecuteReader();</p><p>  try{while(s

97、dr.Read()){line+=sdr["站名"].ToString();</p><p>  line=line.Replace(sdr["站名"].ToString(),"<font color=red>"+sdr["站名"].ToString()+"</font>");</p&

98、gt;<p>  line+="-->";}}</p><p>  finally{dr.Close();con.Close();}</p><p><b>  int i;</b></p><p>  i=Convert.ToInt32(line.Length);</p><p>

99、;  line=line.Substring(0,i-3); }</p><p>  5.1.3按站點查詢</p><p>  站點查詢模塊:用戶進入系統(tǒng)后,在站點查詢模塊中有二種選擇,第一個是按站點的確切信息也就是完全匹配查詢,此時用戶要給出站點的全稱,當(dāng)點擊查詢按鈕后,系統(tǒng)會在數(shù)據(jù)庫中檢測該站點是否存在,如果存在,系統(tǒng)顯示這個站點的相關(guān)信息。比如:經(jīng)過這個站點共有哪些線路,這些線路又各

100、經(jīng)過哪些站點,第二個選擇是站點的模糊查詢,也就是不完全匹配,用戶只需輸入站點名稱和部分字符信息,系統(tǒng)便會給出與此相關(guān)的所有站點信息。當(dāng)輸入確切站點后,進入的界面如圖5-2所示:</p><p><b>  圖5-2 站點查詢</b></p><p><b>  主要實現(xiàn)代碼如下:</b></p><p>  SqlComm

101、and cmd=new SqlCommand("SELECT 車次FROM 公交車線路表 WHERE 站名='"+a+"'",con);</p><p>  SqlDataReader sdr=cmd.ExecuteReader();</p><p>  while(sdr.Read()){alS.Add(sdr.GetValue(0

102、));}</p><p>  cmd.CommandText="SELECT 車次FROM 公交車線路表WHERE 站名='"+b+"'";</p><p>  SqlDataReader sdr1=cmd.ExecuteReader();</p><p>  while(sdr1.Read()){alE.Ad

103、d(sdr1.GetValue(0));}</p><p>  for(int i=0;i<alS.Count;i++){for(int j=0;j<alE.Count;j++){</p><p>  if(alS[i].ToString()==alE[j].ToString()){alNum.Add(alE[j]); }}}</p><p&g

104、t;  5.1.4按兩站點查詢</p><p>  兩站點查詢模塊:用戶進入系統(tǒng)后,在主頁面的換乘查詢模塊中有兩種選擇,第一是直達,第二個是一次換乘。用戶可以在起點站輸入框中輸入自已的出發(fā)點,然后在終點站輸入框輸入出行的終點,如果選擇直達,系統(tǒng)便會檢測這兩個站點間是否有直達車,如果沒有直達車,系統(tǒng)會給出相關(guān)提示,那么用戶便可以選擇一次換乘,系統(tǒng)會檢測是否有一次換乘方案,如果有系統(tǒng)會給出所換乘方案。界面如圖5-3,

105、5-4所示:</p><p><b>  圖5-3 兩點查詢</b></p><p><b>  圖5-4 兩點查詢</b></p><p><b>  主要實現(xiàn)代碼如下:</b></p><p>  if(cixuS<cixuE) {zhanmNum=cixuE-cix

106、uS+1;</p><p>  cmd.CommandText="SELECT 站名FROM 公交車線路表WHERE 次序BETWEEN "+cixuS+" AND "+cixuE+" AND 車次="+alNum[k].ToString()+" ORDER BY 次序ASC";}</p><p>  else

107、{zhanmNum=cixuS-cixuE+1;</p><p>  cmd.CommandText="SELECT 站名FROM 公交車線路表WHERE 次序BETWEEN "+cixuE+" AND "+cixuS+" AND 車次="+alNum[k].ToString()+" ORDER BY 次序DESC";}</p

108、><p>  str+="<font color=red>"+alNum[k].ToString()+"</font>";</p><p>  str+="路(總共經(jīng)過<font color=red>"+zhanmNum.ToString()+"</font>個站)&q

109、uot;;</p><p>  5.2后臺管理功能的實現(xiàn)</p><p>  5.2.1新增車次線路</p><p>  此模塊為管理員操作,如當(dāng)?shù)爻霈F(xiàn)新的公交線路,或原有公交車線路有新的站點加入,管理員可以登陸此表,及時添加線路和站點的信息,以保證車次線路的及時更新,方便用戶查詢。添加的界面如圖5-5,5-6所示:</p><p><

110、b>  圖5-5 新增車次</b></p><p>  圖5-6新增線路站名</p><p><b>  主要實現(xiàn)代碼如下:</b></p><p>  if(Check()){int maxChelNo=GetMaxChelNo();</p><p>  SqlConnection con=DB.cr

111、eateConnection();</p><p>  con.Open();</p><p>  SqlCommand cmd=new SqlCommand("INSERT INTO 車輛線路編號表(車次,車線類型)VALUES(@車次,@車線類型)",con);</p><p>  SqlParameter para=new SqlParam

112、eter("@車次",SqlDbType.Int,4);</p><p>  para.Value=Convert.ToInt32(this.txtCheci.Text.Trim());</p><p>  cmd.Parameters.Add(para);</p><p>  para=new SqlParameter("@車線類型&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論