畢業(yè)論文-城市公交查詢系統設計_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)論文(設計)</b></p><p>  城市公交查詢系統的設計與實現</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p&

2、gt;<b>  第1章 引 言1</b></p><p>  1.1課題背景1</p><p>  1.2 論文的研究內容1</p><p>  1.3 論文的組織結構2</p><p>  第2章 系統的開發(fā)工具與環(huán)境3</p><p>  2.1 ASP.NET簡介3</

3、p><p>  2.2 ADO.NET概述4</p><p>  2.3 系統的開發(fā)要求5</p><p>  第3章 需求分析6</p><p>  3.1 系統需求分析6</p><p>  3.2 數據庫需求分析6</p><p>  3.3 性能需求7</p>&l

4、t;p>  第4章 系統概要設計9</p><p><b>  4.1 概述9</b></p><p>  4.2 功能模塊劃分9</p><p>  4.3 數據庫設計10</p><p>  第5章 詳細設計與實現17</p><p>  5.1 前臺功能的實施17</

5、p><p>  5.2 后臺管理功能的實現21</p><p>  第6章 測試與維護27</p><p>  6.1 創(chuàng)建和測試應用程序27</p><p>  6.2 測試項目27</p><p>  6.3 程序改進28</p><p>  6.4 測試方法28</p>

6、<p>  6.5 測試內容29</p><p>  6.6 軟件維護29</p><p><b>  結 論31</b></p><p><b>  致 謝32</b></p><p><b>  參考文獻33</b></p><p

7、><b>  摘 要</b></p><p>  我國城市公交乘客信息系統的發(fā)展處于一個較落后的水平,廣大乘客可以獲得信息的方式很少,為了解決這種問題,加快發(fā)展城市公交信息化,設計一個城市公交查詢系統是具有一定實際應用意義的。在此背景下,我開發(fā)了這個應用程序---城市公交查詢系統。本次設計,首先我考慮了公交運營的實際情況和不同公交乘客的實際要求,分析了此系統應該具有的功能;其次對系統的

8、主要功能模塊進行了詳細地描述,其中主要包括二個模塊---查詢模塊(包括按線路查詢、按站點查詢和按兩站點查詢)和管理更新模塊(包括公交站點管理和公交線路管理),最后結合系統開發(fā)階段和調試階段發(fā)現的問題,提出了系統需要完善的地方,總結了開發(fā)此系統所取得的經驗。</p><p>  關鍵詞:公交, ASP.NET,查詢,B/S結構,數據庫</p><p><b>  Abstract&

9、lt;/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 passengers can acquire few ways of the information. So

10、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 procedure---bus circuit search system. From this design, Fi

11、rst ,I analyzed the present condition of the bus passenger information and different people's needs,</p><p>  Keywords :Bus,ASP.NET,Search,Structure of B/S,Database</p><p><b>  第1章 引 言

12、</b></p><p><b>  課題背景</b></p><p>  城市公交是專門服務于市民出行的客運企業(yè)。它是城市社會和經濟活動的重要組成部分。伴隨著國民經濟和城市建設的快速發(fā)展,城市經濟的繁榮,人口的增加,城市必須解決好人們出行的需求。城市公交直接關系著城市的經濟發(fā)展和居民生活,對城市經濟具有全局性、先導性的影響,城市公交以其方便、快捷、容量大

13、而成為城市交通的主體。但是隨著公交系統的龐大,人們很難得到準確的公交信息,這樣給一些人的出行就帶來了不便。因此,急需一個方便、快捷的公交信息查詢方式,本系統通過瀏覽器查詢,實現中心控制、自動更新、更多的查詢方式等等更多更強大的功能。</p><p>  隨著城市經濟的發(fā)展、規(guī)模的擴大以及人口的增長,城市交通問題日益突出。降低出行時間將使所有的公交利用者產生效益,快速的交通、更好的信息及更好的市場可以提高公交的形象

14、,能夠增加公交乘坐者。城市公共交通運輸以其覆蓋面廣、經濟、快捷的特點,成為絕大多數出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。 我國城市公交乘客信息系統的發(fā)展處于一個落后的水平,廣大乘客可以獲得信息的方式很少,公交信息的完整性和準確性得不到保證,而且還沒有專門的機構負責信息的發(fā)布

15、和管理。出于這個目的,在老師的指導下,我設計了這個城市公交線路查詢系統。在對公交乘客出行心理特征進行分析的基礎上,考慮乘客選擇公交線路決策的因素,進行程序關鍵部分的框架設計。</p><p>  現階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進行商業(yè)有關或其他事情需要在外地進行短暫停留的人而言,公交對他們是必不可少的,但是對于那個不屬于自己所熟悉的城市,坐公交也是一個很大的難題,因

16、此,開發(fā)一個公交查詢系統就顯得非常的重要。本系統的核心是對選擇好的車次進行路線的查詢,或者輸入所要查詢的車站名,點擊“查詢”按鈕,查詢所有含有該站的車次及相應的??空?。此處既可以“精確查詢”也可以是“模糊查詢”,“模糊查詢”主要方便那些對站名不是很清楚,但知道其中的一部分的乘客,系統可以幫助他們快速的查出。</p><p>  1.2論文的研究內容</p><p>  公交查詢系統是一個取

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

18、<p>  論文第2章是系統的開發(fā)工具與環(huán)境概述,介紹了該系統設計開發(fā)使用的Visual Studio .net中的ASP.NET開發(fā)語言和系統在數據庫的設計開發(fā)中使用的數據庫連接技術ADO.NET,并介紹了系統開發(fā)所需要的計算機環(huán)境。</p><p>  第3章是系統的需求分析和數據庫總體設計,包括系統需求,性能分析等。</p><p>  第4章是系統的系統概要設計,包括

19、系統的模塊劃分,數據庫的概念結構設計和數據庫的邏輯結構設計。</p><p>  第5章是系統的詳細設計和實現,包括系統各個界面設計和相關重要注釋。</p><p>  第6章是系統測試和維護。</p><p>  最后是結論、致謝、參考文獻及附錄。</p><p>  第2章 系統的開發(fā)工具與環(huán)境</p><p> 

20、 2.1 ASP.NET簡介</p><p>  ASP.NET 是一種建立在通用語言上的程序構架,能被用于一臺Web服務器來建立強大的Web應用程序。ASP.NET提供許多比現在的Web開發(fā)模式強大的的優(yōu)勢。</p><p>  ASP.NET 建立在 .NET Framework 的編程類之上,它提供了一個 Web 應用程序模型,并且包含使生成 ASP Web 應用程序變得簡單的控件集

21、和結構。ASP.NET 包含封裝公共 HTML 用戶界面元素(如文本框和下拉菜單)的控件集。但這些控件在 Web 服務器上運行,并以 HTML 的形式將它們的用戶界面推送到瀏覽器。在服務器上,這些控件公開一個面向對象的編程模型,為 Web 開發(fā)人員提供了面向對象的編程的豐富性。ASP.NET 還提供結構服務(如會話狀態(tài)管理和進程回收),進一步減少了開發(fā)人員必須編寫的代碼量并提高了應用程序的可靠性。另外,ASP.NET 使用這些同樣的概念

22、使開發(fā)人員能夠以服務的形式交付軟件。使用 XML Web services 功能,ASP.NET 開發(fā)人員可以編寫自己的業(yè)務邏輯并使用 ASP.NET 結構通過 SOAP 交付該服務。Visual Studio .NET 是一套完整的開發(fā)工具,用于生成 ASP Web 應用程序、XML Web services、桌面應用程序和移動應用程序。Visual Basic .NET、Visual C++ </p><p>

23、;  2.1.1 ASP.NET技術的優(yōu)點</p><p>  ASP.NET是一種將各種Web元素組合在一起的服務器技術,是一個統一的Web開發(fā)平臺,它提供了生成一個完整的Web應用程序所必須要的各種服務。與以前的開發(fā)模型相比較,它提供了以下數個重要的優(yōu)點:</p><p>  (1)增強的性能。ASP.NET 是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.N

24、ET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這相當于在編寫代碼之前便顯著提高了性能。</p><p> ?。?)世界級的工具支持。ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設計器。WYSIWYG 編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數幾種。</p><p> ?。?)威力和靈活性。由于 ASP.NET 基于公

25、共語言運行庫,因此 Web 應用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數據訪問解決方案都可從 Web 無縫訪問。ASP.NET 也與語言無關,所以可以選擇最適合應用程序的語言(如C#),或是跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現有投資。</p><p> ?。?)簡易性。ASP.NET 使執(zhí)行常見任務變

26、得容易,從簡單的窗體提交和客戶端身份驗證到部署的站點配置。例如,ASP.NET 頁框架使您可以生成將應用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(如自動引用計數和垃圾回收)簡化了開發(fā)。</p><p>  (5)可管理性。ASP.NET 采用基于文本的分層配置系統,簡化了將設置應用于服務器環(huán)境和 Web 應用程序。

27、由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此“零本地管理”哲學也擴展到了 ASP.NET 框架應用程序的部署。只需將必要的文件復制到服務器,即可將 ASP.NET 框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。</p><p> ?。?)可縮放性和可用性。ASP.NET 在設計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中

28、提高性能的功能。另外,進程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應用程序始終可用于處理請求。</p><p> ?。?)自定義性和擴展性。ASP.NET 隨附了一個設計周到的結構,它使開發(fā)人員可以在適當的級別“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。實現自定義身份驗證或狀態(tài)服務一直沒有變

29、得更容易。</p><p> ?。?)安全性。借助內置的 Windows 身份驗證和基于每個應用程序的配置,可以保證應用程序是安全的?! ?lt;/p><p>  2.1.2 .NET Framework概述</p><p>  .NET Framework 是用于生成、部署和運行 XML Web services 和應用程序的多語言環(huán)境。它由以下幾個主要部分組成:&l

30、t;/p><p>  公共語言運行庫 運行庫實際上在組件的運行時和開發(fā)時操作中都起到很大的作用,盡管名稱中沒有體現這個意思。在組件運行時,運行庫除了負責滿足此組件在其他組件上可能具有的依賴項外,還負責管理內存分配、啟動和停止線程和進程,以及強制執(zhí)行安全策略。在開發(fā)時,運行庫的作用稍有變化;由于做了大量的自動處理工作(如內存管理),運行庫使開發(fā)人員的操作非常簡單,尤其是與今天的 COM 相比。特別是反射等功能顯著減少了

31、開發(fā)人員為將業(yè)務邏輯轉變?yōu)榭芍赜媒M件而必須編寫的代碼量。 </p><p>  統一編程類 該框架為開發(fā)人員提供了統一的、面向對象的、分層的和可擴展的類庫集 (API)。目前,C++ 開發(fā)人員使用 Microsoft 基礎類,而 Java 開發(fā)人員使用 Windows 基礎類。框架統一了這些完全不同的模型并且為 Visual Basic 和 JScript 程序員同樣提供了對類庫的訪問。通過創(chuàng)建跨所有編程語言的公

32、共 API 集,公共語言運行庫使得跨語言繼承、錯誤處理和調試成為可能。從 JScript 到 C++ 的所有編程語言具有對框架的相似訪問,開發(fā)人員可以自由選擇它們要使用的語言。</p><p>  2.2 ADO.NET概述</p><p>  ADO.NET并不是ADO的升級版本,它是全新的面向對象模型。比ADO更適應于分布式及Internet等大型應用程序環(huán)境,為了多人同時存取更具擴展

33、性,ADO.NET的數據存取采用的是離線存取模式,可說是專門為.NET平臺設計的數據存取結構。它具有簡單地訪問關系數據、可擴展性、支持多層應用程序、統一XML和關系數據訪問的特點。</p><p>  ADO.NET的主要目標是提供對關系數據的簡單訪問功能。坦白的說,易于使用的類描述關系數據庫中的表、列和行。另外,ADO.NET引入了DataSet類,它代表來自封裝在一個單元中的關聯表中的一組數據,維持他們之間完

34、整的關系。這是在ADO.NET中的新概念,可以顯著的擴展數據訪問接口的功能。</p><p>  ADO.NET可以擴展——它為插件.NET數據提供者(也稱為可管理提供者)提供了框架,這些提供者被構建,以便從任何數據源讀取和寫入數據。ADO.NET提供了兩種內置的.NET數據提供者,一種用于OLE DB數據源,另一種用于Microsoft SQL Server??梢酝ㄟ^OLE DB訪問數據格式(比如Microso

35、ft Access)、第三方數據庫和非關系數據。另外,Microsoft最近預演了用于ADO.NET的ODBC.NET數據提供者,它允許.NET訪問更多的舊的數據格式和第三方數據庫。</p><p>  ADO.NET用于多層應用程序。這是當今商業(yè)和電子商務應用程序最常見的體系結構。在多層體系結構中,應用邏輯的不同部5分1運a行s在p多x個服務器或進程中,每一部分就稱為一層。ADO.NET使用開放的Interne

36、t標準XML格式在層之間通信,允許數據通過Internet防火墻來傳遞,并允許以非Microsoft技術來實現一層或多層。</p><p>  那么在Visual Studio.NET中ADO.NET訪問數據庫分為二種。一種是SQL Server數據庫,另一種是其它任何類型的數據庫。本系統的后臺數據庫為SQL Server 2005,因此是通過SQLConnection、SqlCommand、SqlDataAda

37、pter、DataSet等幾個主要的數據訪問對象來訪問數據的。</p><p>  2.3系統的開發(fā)要求</p><p>  本次開發(fā)的公交查詢系統對操作系統的要求如下:</p><p><b>  硬件要求:</b></p><p>  CPU:最低Intel Pentium II 500 MHz。</p>

38、;<p>  磁盤空間:250MB(完全安裝),155MB(快速安裝)。</p><p>  內存:512MB(最好1GB以上)。</p><p>  顯示:1024*768,256色</p><p><b>  軟件要求:</b></p><p>  操作系統:Windows 2000以上的操作系統。&l

39、t;/p><p>  開發(fā)平臺:Visual Studio.NET 2005,Microsoft SQL Server 2005。</p><p><b>  第3章 需求分析</b></p><p>  3.1 系統需求分析</p><p>  隨著我國經濟的高速發(fā)展,人們生活水平的提高,越來越多的人開始熱衷于到外地旅游。

40、那么對于這些外來旅游者,首先搞清這個城市的公交路線顯的很重要!我的家鄉(xiāng)沈陽,作為一個旅游城市,每年都要吸引大量的游客,為了滿足這些游客熟悉公交路線的需求,特以公交查詢系統為設計課題。本軟件不僅能給游客帶來方便,也能給廣大市民提供方便。我認為這樣的系統應該具有很好的實用性!開發(fā)本系統的目標就是立足廣大乘客的實際,著眼于公交業(yè)的未來發(fā)展,規(guī)范公交管理,提高服務質量,方便乘客查詢,并為此設計該系統。</p><p> 

41、 人們生活水平的提高,越來越多人喜歡旅游,但是第一次來一個陌生的城市,肯定對公交路線不熟悉,所以必定需要一個能查看具體公交線路的公交系統。有些只知道一個站的某幾個字或一個車次的某幾個數字,所以本系統將給出站點的模糊查詢,方便用戶的查詢,有些只知道車次或某個站點,本系統也給出了公交線路查詢、公交站點查詢、公交換乘查詢,進一步方便大家的出行,但也有用戶什么都查不到,想留言問問人,所以再搞個留言板很有必要,方便大家交流以及解答各種疑難問題!&

42、lt;/p><p>  本系統采用結構化設計的方法來實現系統總體功能,提高系統的各項指標,即將整個系統合理的劃分成各個功能模塊,正確地處理模塊之間和模塊內部的聯系以及和數據庫的聯系,定義各模塊的內部結構,通過對模塊的設計和模塊之間關系的系統來實現整個系統的功能</p><p>  前臺主要有3個模塊,線路查詢、站點查詢、公交換乘模塊和后臺管理模塊</p><p><

43、;b>  功能名稱:線路查詢</b></p><p>  功能概述:可以獲得要查詢公交所通過的各個站點。</p><p><b>  功能名稱:站點查詢</b></p><p>  功能概述:通過輸入的指定站點查詢經過該站點的公交。</p><p>  功能名稱:公交換乘查詢</p>&l

44、t;p>  功能概述:分為公交直達、公交一次換乘,主要體現那些不可直達需要轉車的路線的所有換法。(如果用戶輸入的起始點和終點,有一條及一條以上的公交線可以直達的,則為公交直達;如果輸入的起始點和終點,沒有一條公交線可以直接到的,系統將會給出一次換乘的方案,則為公交一次換乘)</p><p><b>  功能名稱:后臺管理</b></p><p>  功能概述:用

45、于管理員登陸,添加、修改、刪除公交線路,修改信息資料、安全密碼,回復留言板等功能。</p><p>  本系統提供了的車次查詢功能、路5線1查A詢S功P能X。乘客可以方便的進行查詢,以防乘錯車次。當然有些功能的智能化不是很強,系統有待進一步來完善。</p><p>  3.2 數據庫需求分析</p><p>  數據庫在一個信息管理系統中占有非常重要的地位,數據庫結

46、構設計的好壞將直接對應用系統的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。</p><p>  數據庫技術是由傳統的文件系統發(fā)展而來的,從層次模型、網狀模型發(fā)展到關系模型。數據庫技術是數據管理的最新技術,是計算機科學的一個重要分支,它能指導我們正確地設計數據庫系統,它的出現極大地促進了計算機應用的發(fā)展。采用數據庫技術的原理和方法可以有效地設計實用的數據庫系統。一個

47、完整的數據庫系統包括數據庫管理系統(DBMS),數據庫管理員(DBA)、數據庫(DB)、應用程序和相應的硬件設施。</p><p>  目前許多數據庫管理系統都基于關系模型,關系模型的主要特點是用表格結構表達實體,用鍵表示實體與實體之間的聯系。與層次模型和網狀模型相比,關系模型比較簡單,容易為初學者接受。關系模型是由若干個關系模式組成的集合,關系模式相當于記錄類型,它的實例稱為關系。每個關系是一張表格。表格簡單,

48、用戶易懂,用戶只需用簡單的查詢語句就可以對數據庫進行數據操作,并不涉及到存儲結構,訪問技術等細節(jié)。關系模型是數學化的模型,要用到集合論,離散數學等知識。SQL語言是關系數據庫的代表性語言,已經得到廣泛應用。</p><p>  在設計數據庫時,應注意數據的安全性,保證數據的安全,防止非法用戶訪問數據庫,以免泄露重要信息,同時也能51防A止s非px法用戶的蓄意破壞,有許多保護數據的方法,如采用用戶標識,口令和密碼或

49、訪問控制等方法。一個成功的數據庫應用系統應具有用戶標識,每一個合法用戶具有一個用戶名和相應的口令,進入數據庫應用系統前必須輸入正確的口令,否則無法進入系統,這就保證了只有合法的用戶才能操作數據庫系統。為了保證數據的合法語義,必須對數據庫的數據進行完整性約束,即防止用戶輸入不合語義的數據。</p><p>  在設計應用軟件時,應嚴格按照軟件工程學的方法進行設計,傳統的方法采用瀑布模型,從問題定義、可行性分析、需求

50、分析、概念設計、總體設計、系統實現、編碼和軟件測試、運行和維護等軟件生命周期內,每一階段均在前一階段的基礎上進行設計,并在每一階段有相應的文檔資料。</p><p>  設計數據庫系統時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。數據庫設計一般包括如下幾個步驟:數據庫需要分析,數據庫概念結構設計,數據庫邏輯結構設計。</p><p><b>  3.3

51、性能需求</b></p><p>  為了保證系統能夠長期、安全、穩(wěn)定、可靠、高效的運行,城市公交查詢系統應該滿足以下的性能需求:</p><p>  3.3.1 系統處理的準確性和及時性</p><p>  系統處理的準確性和及時性是系統的必要性能。在系統設計和開發(fā)過程中,要充分考慮系統當前和將來可能承受的工作量,使系統的處理能力和響應時間能夠滿足企業(yè)

52、對信息處理的需求。</p><p>  由于公交查詢系統的查詢功能對于整個系統的功能和性能完成舉足輕重。作為系統的很多數據來源,而車票數量和時間又影響企業(yè)的決策活動,其準確性很大程度上決定了公交查詢系統的成敗。在系統開發(fā)過程中,必須采用一定的方法保證系統的準確性。</p><p>  3.3.2 系統的開放性和系統的可擴充性</p><p>  公交查詢系統在開發(fā)過

53、程中,應該充分考慮以后的可擴充性。例如網上查詢的用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統提供足夠的手段進行功能的調整和擴充。而要實現這一點,應通過系統的開放性來完成,既系統應是一個開放系統,只要符合一定的規(guī)范,可以簡單的加入和減少系統的模塊,配置系統的硬件。通過軟件的修補、替換完成系統的升級和更新換代。</p><p>  3.3.3 系統的易用性和易維護性</p><p>

54、;  公交查詢系統是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統能夠提供良好的用戶接口,易用的人機交互界面。要實現這一點,就要求系統應該盡量使用用戶熟悉的術語和中文信息的界面;針對用戶可能出現的使用問題,要提供足夠的在線幫助,縮短用戶對系統熟悉的過程。</p><p>  公交查詢系統中涉及到的數據是公交公司的相當重要的信息,系統要提供方便的手段供系統維護人員進行數據的備份,日常的安全管

55、理,系統意外崩潰時數據的恢復等工作。</p><p>  3.3.4 系統的標準性</p><p>  系統在設計開發(fā)使51用aspx過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標準。例如在開發(fā)中使用的操作系統、網絡系統、開發(fā)工具都必須符合通用標準。如規(guī)范的數據庫操縱界面、作為業(yè)界標準的TCP/IP網絡協議及ISO9002標準所要求的質量規(guī)范等;同時,在自主開

56、發(fā)本系統時,要進行良好的設計工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。</p><p>  3.3.5 系統的先進性</p><p>  目前計算系統的技術發(fā)展相當快,做為公交查詢系統工程,應該保證系統在下個世紀仍舊是先進的,在系統的生命周期盡量做到系統的先進,充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統的開放性和可擴充性,不斷改善系統的功能完成。

57、另一方面,在系統設計和開發(fā)的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發(fā)展前途的產品。</p><p>  3.3.6 系統的響應速度</p><p>  公交查詢系統在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統計分析時,根據所需數據量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。</p><p>

58、  第4章 系統概要設計</p><p><b>  4.1概述</b></p><p>  本階段設計的基本目標是解決系統如何實現問題,也叫做概要設計,本階段主要任務是劃分出系統的物理元素及設計軟件的結構,完成軟件定義時期的任務之后就應該對系統進行總體設計,即根據系統分析產生的分5析1結果AS來PX確定這個系統由哪些系統和模塊組成,這些系統和模塊又如何有機的結合在一

59、起,每個模塊的功能如何實現。系統設計的目標是使系統實現擁有所要求的功能,同時,力爭達到高效率、高可靠性、可修改性,并且容易掌握和使用。</p><p>  模塊化的依據是:把復雜問題分解成許多容易解決的小問題。原來的問題也就變得容易解決。模塊化設計是把大型軟件按照一定的原則劃分成一個較小的相對功能獨立又相關聯的模塊。每個模塊完成一個特定的子功能。把這些模塊結合起來組成一個整體。完成指定的功能,滿足問題的要求。采用

60、模塊化原理的優(yōu)點在于可以使軟件結構清晰,容易測試和調試。從而提高軟件的可靠性,可修改性。有助于軟件開發(fā)的組織管理。一個大型軟件可分別編寫不同的模塊。模塊化理論的幾個重要概念如下:</p><p>  抽象。抽象就是抽象出事物的本質特性而暫時不考慮它們的細節(jié)。處理復雜系統唯一有效的方法是用層次的方式構造和分析它。一個復雜的動態(tài)系統首先可以用一些高級的抽象概念構造和理解,這些高級概念又可以用一些較低級的理解,直到最低

61、層次的具體元素。</p><p>  信息隱蔽和局部化。信息隱蔽是指在設計和確定模塊時,應使得一個模塊內包含的信息對于不需要這些信息的模塊來說,是不能訪問。</p><p>  局部化是指把一些關系密切的軟件元素物理的放得彼此靠近。局部化有助于實現信息隱蔽。</p><p>  信息隱蔽原理和局部化有助于在測試期間以及軟件維護期間修改軟件。因為絕大多數數據和過程對于

62、軟件的其它部分而言是隱蔽的,從而由疏忽引入的錯誤就很少可能傳播到軟件的其它部分。</p><p>  逐步求精的模塊化概念。逐步求精和模塊化的抽象是密切相關的。軟件結構每一層中模塊表示對軟件抽象層次的次細化。用自頂向下,逐步求精的方法由抽象到具體的方式分配控制,簡化了軟件設計和實施,提高了軟件的可理解性和可測試性,并使得軟件更容易維護。</p><p>  模塊獨立性。模塊的劃分要使模塊間

63、盡可能的相互獨立,獨立模塊較易維護。度量模塊的獨立程度有兩個標準:內聚和耦合。耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點,以及通過接口的數。</p><p>  在軟件的設計中應追求盡可能松散的耦合。內聚標志一個模塊內各個元素彼此結合的緊密程度,它是信息隱藏和局部化概念的自然擴展,理想內聚的模塊只做一件事情。在設計時應力求做到高內聚。</p&

64、gt;<p>  4.2 功能模塊劃分</p><p><b>  查詢系統模塊</b></p><p>  該模塊實現公交查詢功能??蓪崿F按線路查詢、站點查詢和起點—終點查詢三種查詢方式。</p><p><b>  錄入系統模塊</b></p><p>  該模塊實現數據的新增、修

65、改、刪除功能。</p><p>  系統模塊圖如圖4-1所示:</p><p><b>  4.3 數據庫設計</b></p><p>  數據庫技術是在文件系統的基礎上發(fā)展起來的一種高效的數據管理技術,它能保持系統數據的整體性,完整性和共享性。在數據庫系統中提供了對數據的訪問機制,能有組織的存儲相關的數據,具有合理的存儲方式,快速的查詢效率和

66、最小的數據冗余等特性。另外數據的存儲和應用程序彼此獨立,不僅便于數據的管理與控制而且有利于應用程序的編寫與調試。數據庫類似于一個數據的大倉庫,能很好地實現數據共享,能維護數據的一致性。數據庫設計是系統設計的一個重要內容,其設計質量的好壞直接影響系統開發(fā)的成敗,系統的質量,系統效率及可維護性。</p><p>  在本系統的設計中,充分考慮到了管理系統數據繁雜,重復性很大,數據使用頻繁。因此本系統采用了一種能正確反

67、映用戶實現環(huán)境,能被現行系統接受,易于維護、效率高的數據管理方法--數據庫系統。</p><p>  數據模型是指數據庫中記錄與記錄之間聯系的數據結構形成的。不同的數據管理系統有不同的數據模型,數據庫設計的核心問題是設計好的數據模型。在目前的數據庫管理系統中有層次模型,網狀模型、關系模型三種數據模型。其中,關系模型具有較高的數據獨立性,使用也較為方便。本設計采用關系數據庫。該數據庫實行增、刪、編輯、統計。顯示和打

68、印都極為方便。其中的排序和索引功能,對數據快速定位,查詢提供了有利條件。交流互動對于本系統的數據庫設計有以下幾點說明:數據庫設計兼顧前面設計的數據流程圖,管理信息系統的設計并不是以數據庫為核心的數據庫應用設計,本系統的數據庫設計盡量滿足3NF(第三范式)的要求,本系統的數據庫設計以提高系統運行效率為前提。</p><p>  4.3.1 數據庫概念結構設計</p><p>  在系統設計的

69、開始,我首先考慮的是如何用數據模型來數據庫的結構與語義,以對現實世界進行抽象。目前廣泛使用的數據模型可分為兩種類型,一種是獨立于計算機系統的“概念數據模型”,如“實體聯系模型”;另一種是直接面向數據庫邏輯結構的“結構數據模型”。在本系統中我采用“實體聯系模型”(ER模型)來描述數據庫的結構與語義,以對現實世界進行第一次抽象。ER模型直接從現實世界抽象出實體類型及實體間聯系,然后用ER圖來表示數據模型。它有兩個明顯的優(yōu)點:接近于人的思維,

70、容易理解;與計算機無關,用戶容易接受。但它只是數據庫設計的第一步。</p><p>  E-R圖是直觀表示概念模型的工具,它有三個基本成分:</p><p>  (1)矩形框,表示實體類型(考慮問題的對象)。</p><p> ?。?)菱形框,表示聯系類型(實體間的聯系)。</p><p> ?。?)橢圓形框,表示實體的屬性。</p&

71、gt;<p>  實體和屬性的定義如下:</p><p>  管理員表(登陸ID,登錄姓名,登錄密碼)</p><p>  站名表(站名編號,站名)</p><p>  車輛線路編號表(車次,車線類型)</p><p>  線路表(線路編號,車次,站名,次序)</p><p>  車輛表(車輛編號,車次,

72、車輛類型,服務類型,票價,IC卡類型,運行區(qū)間)</p><p>  冬季發(fā)車時間表(車次,編號,首班時間,末班時間)</p><p>  夏季發(fā)車時間表(車次,編號,首班時間,末班時間)</p><p>  各實體屬性圖如圖4-2所示。</p><p>  圖4-2 實體屬性關系圖</p><p>  本系統的總體E

73、-R圖如圖4-3所示。</p><p>  4.3.2數據庫邏輯結構設計</p><p>  本系統采用的數據庫管理系統是Microsoft公司的SQL Server 2005。該管理系統由一系列產品組成,不僅能夠滿足最大的數據處理系統和商業(yè) Web 站點存儲數據的需要,還能為個人或小企業(yè)提供易于使用的數據存儲服務。</p><p>  Microsoft SQL

74、Server 2005 的特性包括: </p><p><b> ?。?)企業(yè)數據管理</b></p><p>  在當今的互聯世界中,數據和管理數據的系統必須始終為用戶可用且能夠確保安全。有了 SQL Server 2005,組織內的用戶和信息技術 (IT) 專家將從減少的應用程序停機時間、提高的可伸縮性及性能、更緊密而靈活的安全控制中獲益。SQL Server 2

75、005 也包括了許多新的和改進的功能來幫助 IT 工作人員更有效率地工作。SQL Server 2005 包含幾個在企業(yè)數據管理中關鍵的增強:易管理性、可用性、可伸縮性、安全性。</p><p>  SQL Server 2005 使部署、管理和優(yōu)化企業(yè)數據以及分析應用程序變得更簡單、更容易。作為一個企業(yè)數據管理平臺,它提供單一管理控制臺,使數據管理員能夠在任何地方監(jiān)視、管理和調諧企業(yè)中所有的數據庫和相關的服務。

76、它還提供了一個可以使用 SQL 管理對象輕松編程的可擴展的管理基礎結構,使得用戶可以定制和擴展他們的管理環(huán)境,同時使獨立軟件供應商 (ISV) 也能夠創(chuàng)建附加的工具和功能來更好地擴展打開即得的能力。</p><p> ?。?)SQL Server Management Studio</p><p>  SQL Server 2005 通過提供一個集成的管理控制臺來監(jiān)視和管理 SQL Ser

77、ver 關系數據庫、Integration Services、Analysis Services、Reporting Services、Notification Services 以及在數量眾多的分布式服務器和數據庫上的 SQL Server Mobile Edition,從而簡化了管理工作。數據庫管理員能夠同時執(zhí)行多個任務,例如,編寫和執(zhí)行查詢,查看服務器對象,管理對象,監(jiān)視系統活動和查看聯機幫助。SQL Server Managem

78、ent Studio 提供了一個開發(fā)環(huán)境,可在其中使用 Transact-SQL、多維表達式、XML for Analysis 和 SQL Server Mobile Edition 來編寫、編輯和管理腳本和存儲過程。Management Studio 可以很容易地與源代碼控制集成在一起。Management Studio 還包括一些工具可用來調度 SQL Server 代理作業(yè)和管理維護計劃,以自動執(zhí)行日常維護和操作任務。管理和腳本編

79、寫集成在單一工具中,同時,該工具</p><p>  SQL Server 2005 開放了 70 多個新的內部數據庫性能和資源使用的度量值,涵蓋了從內存、鎖定到對事務、網絡和磁盤 I/O 的調度等。這些動態(tài)管理視圖 (DMV) 提供了對數據庫和強大的基礎結構的更大的透明度和可見性,可以主動監(jiān)視數據庫的狀況和性能。</p><p> ?。?)SQL 管理對象</p><

80、p>  SQL 管理對象 (SMO) 是一個新的可編程對象集,它可實現所有 SQL Server 數據庫的管理功能。事實上,Management Studio 就是構建在 SQL 管理對象之上的。SMO 是作為 Microsoft .NET Framework 程序集實現的。您可以使用 SMO 自動執(zhí)行常見的 SQL Server 管理任務,例如,用編程方式檢索配置設置,創(chuàng)建新數據庫,應用 Transact-SQL 腳本,創(chuàng)建 S

81、QL Server 代理作業(yè)以及調度備份等。SMO 對象模型替代了包含在 SQL Server 早期版本中的分布式管理對象 (DMO),因為它更安全可靠并具有更高的可伸縮性。</p><p><b> ?。?)可用性</b></p><p>  在高可用性技術、額外的備份和恢復功能,以及復制增強上的投資使企業(yè)能夠構建和部署高可用的應用程序。在高可用性上的創(chuàng)新有:數據庫

82、鏡像、故障轉移群集、數據庫快照和增強的聯機操作,這有助于最小化停機時間,并確保可以訪問關鍵的企業(yè)系統。本節(jié)將詳細介紹這些增強特性。</p><p><b> ?。?)數據庫鏡像</b></p><p>  數據庫鏡像允許事務日志以連續(xù)的方式從源服務器傳遞到單臺目標服務器上。當主系統出現故障時,應用程序可以立即重新連接到輔助服務器上的數據庫。輔助實例幾秒鐘內即可檢測到主

83、服務器發(fā)生了故障,并能立即接受數據庫連接。數據庫鏡像工作在標準服務器硬件下,不需要特定的存儲或控制器。</p><p>  本系統創(chuàng)建的SQL數據庫名稱為城市公交查詢系統。并將數據文件和日志文件保存在公交查詢系統APP_DATA文件夾中。此數據庫包含7個表:</p><p> ?、俟芾韱T表(LoginTable)</p><p>  管理員表存放登陸系統所需要的用戶

84、名和密碼,登錄后臺時需要訪問此表。</p><p><b>  表4-1 管理員表</b></p><p><b>  ②站名表</b></p><p>  站名表存放站名等數據,修改站名需要訪問此表。</p><p><b>  表4-2 站名表</b></p>

85、<p><b> ?、圮囕v線路編號表</b></p><p>  車輛線路編號表存放線路編號等數據,修改車輛線路編號將要訪問此表。</p><p>  表4-3 車輛線路編號表</p><p><b> ?、芫€路表</b></p><p>  線路表存放公交車線路的數據,修改車輛線路需要

86、訪問此表。</p><p><b>  表4-4線路表</b></p><p><b> ?、蒈囕v表</b></p><p>  車輛表存放車輛的相關信息,修改車輛等相關信息需要訪問此表。</p><p><b>  表4-5 車輛表</b></p><p&

87、gt;  ⑥夏季發(fā)車時刻表沈陽王子科技 專業(yè)畢業(yè)設計培訓 想了解我們 請登錄我們的官方網站:www.wangzikeji.com </p><p>  此系列論文均免費下載,如果你使用了我們的論文,你可以把頁眉改掉,但是請你告訴你身邊的好朋友,此論文來自王子科技,我們衷心的表示感謝!QQ:45789022 電話 13898863631 王經理</p><p>  夏季發(fā)車時刻表存放夏季發(fā)車

88、的時間,修改夏季發(fā)車時間需要訪問此表。</p><p>  表4-6 夏季發(fā)車時刻表</p><p><b> ?、叨景l(fā)車時刻表</b></p><p>  冬季發(fā)車時刻表存放冬季發(fā)車的時間,修改冬季發(fā)車時間需要訪問此表。</p><p>  表4-7 冬季發(fā)車時刻表</p><p>  第5章

89、 詳細設計與實現</p><p>  5.1 前臺功能的實施</p><p>  5.1.1連接數據庫的包含文件</p><p>  在動態(tài)網站中,調用數據庫中的數據是十分頻繁的,為了避免編寫重復的代碼。編寫一個數據庫連接文件是非常重要的。DB.cs文件中包含了本系統中的數據庫的連接代碼。本系統的數庫的連接代碼如下:</p><p>  pu

90、blic static SqlConnection createConnection()</p><p><b>  {</b></p><p>  SqlConnection con=new SqlConnection("server=.;database=城市公交查詢系統;uid=sa;pwd=;");</p><p>

91、  return con;</p><p><b>  }</b></p><p>  5.1.2按線路查詢</p><p>  線路查詢模塊:用戶進入系統后,在線路查詢模塊的輸入框中輸入要查詢的線路,點擊查詢按鈕,系統首先檢查用戶所查詢的線路是否存在,如果不存在給出出錯提示,如果存在給出這條線路的相關信息,如:雙向早晚車的工作時間,票價,經過

92、的站點。如線路存在,進入線路界面如圖5-1所示:</p><p><b>  圖5-1 線路查詢</b></p><p><b>  主要實現代碼如下:</b></p><p>  SqlCommand cmdsj=new SqlCommand(cmdstring,con);</p><p>  S

93、qlDataReader sdrsj=cmdsj.ExecuteReader();</p><p>  while(sdrsj.Read()){string linetemp1=sdrsj["首班時間"].ToString();</p><p>  string linetemp2=sdrsj["末班時間"].ToString();</p>

94、;<p>  line+="<font size=3>(首班時間為:"+linetemp1+" ";</p><p>  line+="末班時間為:"+linetemp2+")</font><br>";}</p><p>  SqlCommand cmd=n

95、ew SqlCommand("select * from 公交車線路表where 車次="+num+"order by 次序ASC",con);SqlDataReader sdr=cmd.ExecuteReader();</p><p>  try{while(sdr.Read()){line+=sdr["站名"].ToString();</p&g

96、t;<p>  line=line.Replace(sdr["站名"].ToString(),"<font color=red>"+sdr["站名"].ToString()+"</font>");</p><p>  line+="-->";}}</p>&

97、lt;p>  finally{dr.Close();con.Close();}</p><p><b>  int i;</b></p><p>  i=Convert.ToInt32(line.Length);</p><p>  line=line.Substring(0,i-3); }</p><p>  5

98、.1.3按站點查詢</p><p>  站點查詢模塊:用戶進入系統后,在站點查詢模塊中有二種選擇,第一個是按站點的確切信息也就是完全匹配查詢,此時用戶要給出站點的全稱,當點擊查詢按鈕后,系統會在數據庫中檢測該站點是否存在,如果存在,系統顯示這個站點的相關信息。比如:經過這個站點共有哪些線路,這些線路又各經過哪些站點,第二個選擇是站點的模糊查詢,也就是不完全匹配,用戶只需輸入站點名稱和部分字符信息,系統便會給出與此

99、相關的所有站點信息。當輸入確切站點后,進入的界面如圖5-2所示:</p><p><b>  圖5-2 站點查詢</b></p><p><b>  主要實現代碼如下:</b></p><p>  SqlCommand cmd=new SqlCommand("SELECT 車次FROM 公交車線路表 WHERE

100、站名='"+a+"'",con);</p><p>  SqlDataReader sdr=cmd.ExecuteReader();</p><p>  while(sdr.Read()){alS.Add(sdr.GetValue(0));}</p><p>  cmd.CommandText="SELECT

101、車次FROM 公交車線路表WHERE 站名='"+b+"'";</p><p>  SqlDataReader sdr1=cmd.ExecuteReader();</p><p>  while(sdr1.Read()){alE.Add(sdr1.GetValue(0));}</p><p>  for(int

102、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>  5.1.4按兩站點查詢</p><p>  兩站點查詢模塊:用戶進入系統后,在主

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

104、;</p><p><b>  圖5-4 兩點查詢</b></p><p><b>  主要實現代碼如下:</b></p><p>  if(cixuS<cixuE) {zhanmNum=cixuE-cixuS+1;</p><p>  cmd.CommandText="SELECT

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

106、ndText="SELECT 站名FROM 公交車線路表WHERE 次序BETWEEN "+cixuE+" AND "+cixuS+" AND 車次="+alNum[k].ToString()+" ORDER BY 次序DESC";}</p><p>  str+="<font color=red>"

107、+alNum[k].ToString()+"</font>";</p><p>  str+="路(總共經過<font color=red>"+zhanmNum.ToString()+"</font>個站)";</p><p>  5.2后臺管理功能的實現</p><

108、p>  5.2.1新增車次線路</p><p>  此模塊為管理員操作,如當地出現新的公交線路,或原有公交車線路有新的站點加入,管理員可以登陸此表,及時添加線路和站點的信息,以保證車次線路的及時更新,方便用戶查詢。添加的界面如圖5-5,5-6所示:</p><p><b>  圖5-5 新增車次</b></p><p>  圖5-6新增線

109、路站名</p><p><b>  主要實現代碼如下:</b></p><p>  if(Check()){int maxChelNo=GetMaxChelNo();</p><p>  SqlConnection con=DB.createConnection();</p><p>  con.Open();</

110、p><p>  SqlCommand cmd=new SqlCommand("INSERT INTO 車輛線路編號表(車次,車線類型)VALUES(@車次,@車線類型)",con);</p><p>  SqlParameter para=new SqlParameter("@車次",SqlDbType.Int,4);</p><p&

111、gt;  para.Value=Convert.ToInt32(this.txtCheci.Text.Trim());</p><p>  cmd.Parameters.Add(para);</p><p>  para=new SqlParameter("@車線類型",SqlDbType.NVarChar,50);</p><p>  para

112、.Value=this.ddlLineType.SelectedValue;</p><p>  cmd.Parameters.Add(para);</p><p>  cmd.ExecuteNonQuery();</p><p>  cmd.CommandText="INSERT INTO 車輛表(車輛編號,車次,車輛類型,服務類型,IC卡類型,票價,運

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論