城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第1頁
城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第2頁
城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第3頁
城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第4頁
城市公交查詢系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目 錄 城市公交查詢系統(tǒng)的設計與實現(xiàn) 目 錄 摘 要 . I Abstract . II 第 1 章 引 言 . 1 1.1 課題背景 . 1 1.2 論文的研究內(nèi)容 . 1 1.3 論文的組織結(jié)構(gòu) . 2 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 . 3 2.1 ASP.NET 簡介 . 3 2.2 ADO.NET 概述 . 4 2.3 系統(tǒng)的開發(fā)要求 . 5 第 3 章 需求分析 . 6 3.1 系統(tǒng)需求分析 . 6 3.2 數(shù)據(jù)庫需求分析 . 6 3.3 性能需求 . 7 第 4 章 系統(tǒng)概要設計 . 9 4.1 概述 . 9 4.2 功能模塊劃分 . 9 4.3 數(shù)據(jù)庫設計 . 10 第 5 章 詳細設計與實現(xiàn) . 17 5.1 前臺功能的實施 . 17 5.2 后臺管理功能的實現(xiàn) . 21 第 6 章 測試與維護 . 27 6.1 創(chuàng)建和測試應用程序 . 27 6.2 測試項目 . 27 6.3 程序改進 . 28 6.4 測試方法 . 28 6.5 測試內(nèi)容 . 29 6.6 軟件維護 . 29 結(jié) 論 . 31 致 謝 . 32 參考文獻 . 33 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 摘 要 I 摘 要 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個較落后的水平 ,廣大乘客可以獲得信息的方式很少 ,為了解決這種問題 ,加快發(fā)展城市公交信息化,設計一個城市公交查詢系統(tǒng)是具有一定實際應用意義的。在此背景下,我開發(fā)了這個應用程序 -城市公交查詢系統(tǒng)。本次設計,首先我考慮了公交運營的實際情況和不同公交乘客的實際要求,分析了此系統(tǒng)應該具有的功能;其次對系統(tǒng)的主要功能模塊進行了詳細地描述,其中主要包括二個模塊 -查詢模塊 (包括按線路查詢、按站點查詢和按兩站點查詢)和管理更新模塊(包括公交站點管理和公交線路管理),最后結(jié)合系統(tǒng)開發(fā)階段和調(diào)試階段發(fā)現(xiàn)的問題 ,提出了系統(tǒng)需要完善的地方 ,總結(jié)了開發(fā)此系統(tǒng)所取得的經(jīng)驗。 關鍵詞: 公交 , ASP.NET,查詢, B/S 結(jié)構(gòu),數(shù)據(jù)庫大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) Abstract II Abstract 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 its practical for us to develop citys 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, First ,I analyzed the present condition of the bus passenger information and different peoples needs, in order to know what functions this equipment should contain. Second, I describe the systems main function modules in detail, these functions can be divided in to two parts-search system(According to the line search、 station search and between two stations search) and management update system(Bus station management and Bus line management). At last according to the problems that happened in the period of using, I summed up some ways to improve the system, and some experiences that I can have from this research. Keywords : Bus, ASP.NET, Search, Structure of B/S, Database大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 1 章 引 言 1 第 1 章 引 言 1.1 課題背景 城市 公交 是專門服務于市民出行的客運企業(yè)。它是城市社會和經(jīng)濟活動的重要組成部分。伴隨著國民經(jīng)濟和城市建設的快速發(fā) 展,城市經(jīng)濟的繁榮,人口的增加,城市必須解決好人們出行的需求。 城市公交 直接關系著城市的經(jīng)濟發(fā)展 和 居民生活,對城市經(jīng)濟具有全局性、先導性的影響,城市 公交以其 方便、快捷、容量大而成為城市交通的主體 。但是隨著公交系統(tǒng)的龐大,人們很難得到準確的公交信息,這樣給一些人的出行就帶來了不便。因此,急需一個方便、快捷的公交信息查詢方式,本系統(tǒng)通過瀏覽器查詢,實現(xiàn)中心控制、自動更新、更多的查詢方式等等更多更強大的功能。 隨著城市經(jīng)濟的發(fā)展、規(guī)模的擴大以及人口的增長,城市交通問題日益突出。降低出行時間將使所有的公交利用者產(chǎn)生效 益,快速的交通、更好的信息及更好的市場可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運輸以其覆蓋面廣、經(jīng)濟、快捷的特點,成為絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統(tǒng)方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個落后的水平 ,廣大乘客可以獲得信息的方式很少 ,公交信息的完整性和準確性得不到保證 ,而且還沒有專門的機構(gòu)負責信息的發(fā)布和管理。出于這個 目的 ,在老師的指導下 ,我設計了這個城市公交線路查詢系統(tǒng)。在對公交乘客出行心理特征進行分析的基礎上 ,考慮乘客選擇公交線路決策的因素 ,進行程序關鍵部分的框架設計。 現(xiàn)階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進行商業(yè)有關或其他事情需要在外地進行短暫停留的人而言,公交對他們是必不可少的,但是對于那個不屬于自己所熟悉的城市,坐公交也是一個很大的難題,因此,開發(fā)一個公交查詢系統(tǒng)就顯得非常的重要。本系統(tǒng)的核心是對選擇好的車次進行路線的查詢,或者輸入所要查詢的車站名,點擊“查詢”按鈕,查 詢所有含有該站的車次及相應的??空?。此處既可以“精確查詢”也可以是“模糊查詢”,“模糊查詢”主要方便那些對站名不是很清楚,但知道其中的一部分的乘客,系統(tǒng)可以幫助他們快速的查出。 1.2 論文的研究內(nèi)容 公交查詢系統(tǒng)是一個取代過去由人工查詢的查詢系統(tǒng)。本論文論述了一個基于瀏覽器 /服務器 ( B/S, Browser/Server) 模式的公交查詢系統(tǒng)的研究和實現(xiàn)的過程 . 論文從開發(fā)平臺和工具談起,對 ASP.NET 服務器所提供的組件及其屬性和方法做了一般介紹,更重要的是闡述了 ASP.NET的數(shù)據(jù)庫訪問組件 ADO.NET 的 使用方法。最后,詳細介紹了如何創(chuàng)建“公交查詢系統(tǒng)”的全部過程。 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 1 章 引 言 2 1.3 論文的組織結(jié)構(gòu) 論文第 2 章是系統(tǒng)的開發(fā)工具與環(huán)境概述,介紹了該系統(tǒng)設計開發(fā)使用的 Visual Studio .net中的 ASP.NET 開發(fā)語言和系統(tǒng)在數(shù)據(jù)庫的設計開發(fā)中使用的數(shù)據(jù)庫連接技術 ADO.NET,并介紹了系統(tǒng)開發(fā)所需要的計算機環(huán)境。 第 3 章是系統(tǒng)的需求分析和數(shù)據(jù)庫總體設計,包括系統(tǒng)需求,性能分析等。 第 4 章是系統(tǒng)的系統(tǒng)概要設計,包括系統(tǒng)的模塊劃分,數(shù)據(jù)庫的概念結(jié)構(gòu)設計和數(shù)據(jù)庫的邏輯結(jié)構(gòu)設計。 第 5 章是系統(tǒng)的詳細設計和實現(xiàn),包括系統(tǒng) 各個界面設計和相關重要注釋。 第 6 章是系統(tǒng)測試和維護。 最后是結(jié)論、致謝、參考文獻及附錄。 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 3 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 2.1 ASP.NET 簡介 ASP.NET 是一種建立在通用語言上的程序構(gòu)架,能被用于一臺 Web 服務器來建立強大的Web 應用程序。 ASP.NET 提供許多比現(xiàn)在的 Web 開發(fā)模式強大的的優(yōu)勢 。 ASP.NET 建立在 .NET Framework 的編程類之上,它提供了一個 Web 應用程序模型,并且包含使生成 ASP Web 應用程序變得簡單的控件集和結(jié)構(gòu)。 ASP.NET 包含封裝公共 HTML 用戶界面元素(如文本框和下拉菜單)的控件集。但這些控件在 Web 服務器上運行,并以 HTML 的形式將它們的用戶界面推送到瀏覽器。在服務器上,這些控件公開一個面向?qū)ο蟮木幊棠P?,?Web 開發(fā)人員提供了面向?qū)ο蟮木幊痰呢S富性。 ASP.NET 還提供結(jié)構(gòu)服務(如會話狀態(tài)管理和進程回收),進一步減少了開發(fā)人員必須編寫的代碼量并提高了應用程序的可靠性。另外, ASP.NET 使用這些同樣的概念使開發(fā)人員能夠以服務的形式交付軟件。使用 XML Web services 功能,ASP.NET 開發(fā)人員可以 編寫自己的業(yè)務邏輯并使用 ASP.NET 結(jié)構(gòu)通過 SOAP 交付該服務。Visual Studio .NET 是一套完整的開發(fā)工具,用于生成 ASP Web 應用程序、 XML Web services、桌面應用程序和移動應用程序。 Visual Basic .NET、 Visual C+ .NET、 Visual C# .NET 和 Visual J# .NET 全都使用相同的集成開發(fā)環(huán)境 (IDE),該環(huán)境允許它們共享工具并有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功 能,此框架提供對簡化 ASP Web 應用程序和 XML Web services 開發(fā)的關鍵技術的訪問。 2.1.1 ASP.NET 技術的優(yōu)點 ASP.NET 是一種將各種 Web 元素組合在一起的服務器技術,是一個統(tǒng)一的 Web 開發(fā)平臺,它提供了生成一個完整的 Web 應用程序所必須要的各種服務。與以前的開發(fā)模型相比較,它提供了以下數(shù)個重要的優(yōu)點: ( 1) 增強的性能。 ASP.NET 是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同, ASP.NET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這 相當于在編寫代碼之前便顯著提高了性能。 ( 2) 世界級的工具支持。 ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設計器。 WYSIWYG 編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。 ( 3) 威力和靈活性。由于 ASP.NET 基于公共語言運行庫,因此 Web 應用程序開發(fā)人員可以利用整個平臺的威力和靈活性。 .NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。 ASP.NET 也與語言無關,所以可以選擇最適合應用程序的語言 (如 C#) ,或 是 跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。 ( 4) 簡易性。 ASP.NET 使執(zhí)行常見任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署 的 站點配置。例如, ASP.NET 頁框架使您可以生成將應用程序邏輯與表示代碼清楚分開的大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 4 用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。 ( 5) 可管理性。 ASP.NET 采用基于文本的分 層配置系統(tǒng),簡化了將設置應用于服務器環(huán)境和 Web 應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此 “ 零本地管理 ” 哲學也擴展到了 ASP.NET 框架應用程序的部署。只需將必要的文件復制到服務器,即可將 ASP.NET 框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。 ( 6) 可縮放性和可用性。 ASP.NET 在設計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到 ASP.NET 運行庫 的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應用程序始終可用于處理請求。 ( 7) 自定義性和擴展性。 ASP.NET 隨附了一個設計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當?shù)募墑e “ 插入 ” 代碼。實際上,可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務一直沒有變得更容易。 ( 8) 安全性。借助內(nèi)置的 Windows 身份驗證和基于每個應用程序的配置,可以保證應用程序是安全的。 2.1.2 .NET Framework 概述 .NET Framework 是用于生成、部署和運行 XML Web services 和應用程序的多語言環(huán)境。它由 以下幾個 主要部分組成: 公共語言運行庫 運行庫實際上在組件的運行時和開發(fā)時操作中都起到很大的作用,盡管名稱中沒有體現(xiàn)這個意思。在組件運行時,運行庫除了負責滿足此組件在其他組件上可能具有的依賴項外,還負責管理內(nèi)存分配、啟動和停止線程和進程,以及強制執(zhí)行安全策略。在開發(fā)時,運行庫的作用稍有變化;由于做了大量的自動處理工作(如內(nèi)存管理),運行庫使開發(fā)人員的操作非常簡單,尤其是與今天的 COM 相比。特別 是反射等功能顯著減少了開發(fā)人員為將業(yè)務邏輯轉(zhuǎn)變?yōu)榭芍赜媒M件而必須編寫的代碼量。 統(tǒng)一編程類 該框架為開發(fā)人員提供了統(tǒng)一的、面向?qū)ο蟮?、分層的和可擴展的類庫集 (API)。目前, C+ 開發(fā)人員使用 Microsoft 基礎類,而 Java 開發(fā)人員使用 Windows 基礎類??蚣芙y(tǒng)一了這些完全不同的模型并且為 Visual Basic 和 JScript 程序員同樣提供了對類庫的訪問。通過創(chuàng)建跨所有編程語言的公共 API 集,公共語言運行庫使得跨語言繼承、錯誤處理和調(diào)試成為可能。從 JScript 到 C+ 的所有編程語言具有對框架的相似訪問,開發(fā)人員可以自由選擇它們要使用的語言。 2.2 ADO.NET 概述 ADO.NET 并不是 ADO 的升級版本,它是全新的面向?qū)ο竽P?。?ADO 更適應于分布式及Internet 等大型應用程序環(huán)境,為了多人同時存取更具擴展性, ADO.NET 的數(shù)據(jù)存取采用的是離線存取模式,可說是專門為 .NET 平臺設計的數(shù)據(jù)存取結(jié)構(gòu)。它具有 簡單地訪問關系數(shù)據(jù) 、 可擴大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 5 展性 、 支持多層應用程序、統(tǒng)一 XML 和關系數(shù)據(jù)訪問 的特點。 ADO.NET 的主要目標是提供對關系數(shù)據(jù)的簡單訪問功能。坦白的說,易于使 用的類描述關系數(shù)據(jù)庫中的表、列和行。另外, ADO.NET 引入了 DataSet 類,它代表來自封裝在一個單元中的關聯(lián)表中的一組數(shù)據(jù),維持他們之間完整的關系。這是在 ADO.NET 中的新概念,可以顯著的擴展數(shù)據(jù)訪問接口的功能。 ADO.NET 可以擴展 它為插件 .NET 數(shù)據(jù)提供者(也稱為可管理提供者)提供了框架,這些提供者被構(gòu)建,以便從任何數(shù)據(jù)源讀取和寫入數(shù)據(jù)。 ADO.NET 提供了兩種內(nèi)置的 .NET 數(shù)據(jù)提供者,一種用于 OLE DB 數(shù)據(jù)源,另一種用于 Microsoft SQL Server??梢酝ㄟ^ OLE DB 訪問數(shù) 據(jù)格式(比如 Microsoft Access)、第三方數(shù)據(jù)庫和非關系數(shù)據(jù)。另外, Microsoft 最近預演了用于ADO.NET 的 ODBC.NET 數(shù)據(jù)提供者,它允許 .NET 訪問更多的舊的數(shù)據(jù)格式和第三方數(shù)據(jù)庫。 ADO.NET 用于多層應用程序。這是當今商業(yè)和電子商務應用程序最常見的體系結(jié)構(gòu)。在多層體系結(jié)構(gòu)中,應用邏輯的不同部 5 分 1 運 a 行 s 在 p 多 x 個服務器或進程中,每一部分就稱為一層。 ADO.NET 使用開放的 Internet 標準 XML 格式在層之間通信,允許數(shù)據(jù)通過 Internet 防火墻來傳遞,并允許以非 Microsoft 技術來實現(xiàn)一層或多層。 那么在 Visual Studio.NET 中 ADO.NET 訪問數(shù)據(jù)庫分為二種。一種是 SQL Server 數(shù)據(jù)庫,另一種是其它任何類型的數(shù)據(jù)庫。 本系統(tǒng)的后臺數(shù)據(jù)庫為 SQL Server 2005,因此是 通過SQLConnection、 SqlCommand、 SqlDataAdapter、 DataSet 等幾個主要的數(shù)據(jù)訪問對象來訪問數(shù)據(jù)的。 2.3 系統(tǒng)的開發(fā)要求 本次開發(fā)的公交查詢系統(tǒng)對操作系統(tǒng)的要求如下: 硬件要求: CPU:最低 Intel Pentium II 500 MHz。 磁盤空間: 250MB(完全安裝), 155MB(快速安裝)。 內(nèi)存: 512MB(最好 1GB 以上)。 顯示: 1024*768, 256 色 軟件要求: 操作系統(tǒng): Windows 2000 以上的操作系統(tǒng)。 開發(fā)平臺: Visual Studio.NET 2005, Microsoft SQL Server 2005。大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 3 章 需求分析 6 第 3 章 需求分析 3.1 系統(tǒng)需求分析 隨著我國經(jīng)濟的高速發(fā)展,人們生活水平的提高,越來越多的人開始熱衷于到外地旅游。那么對于這些外來旅游者,首先搞清這個城市的公交路線顯的很重要!我的家鄉(xiāng)沈陽,作為一個 旅游城市,每年都要吸引大量的游客,為了滿足這些游客熟悉公交路線的需求,特以公交查詢系統(tǒng)為設計課題。本軟件不僅能給游客帶來方便,也能給廣大市民提供方便。我認為這樣的系統(tǒng)應該具有很好的實用性!開發(fā)本系統(tǒng)的目標就是立足廣大乘客的實際,著眼于公交業(yè)的未來發(fā)展,規(guī)范公交管理,提高服務質(zhì)量,方便乘客查詢,并為此設計該系統(tǒng)。 人們生活水平的提高,越來越多人喜歡旅游,但是第一次來一個陌生的城市,肯定對公交路線不熟悉,所以必定需要一個能查看具體公交線路的公交系統(tǒng)。有些只知道一個站的某幾個字或一個車次的某幾個數(shù)字,所以本系統(tǒng)將 給出站點的模糊查詢,方便用戶的查詢,有些只知道車次或某個站點,本系統(tǒng)也給出了公交線路查詢、公交站點查詢、公交換乘查詢,進一步方便大家的出行,但也有用戶什么都查不到,想留言問問人,所以再搞個留言板很有必要,方便大家交流以及解答各種疑難問題! 本系統(tǒng)采用結(jié)構(gòu)化設計的方法來實現(xiàn)系統(tǒng)總體功能,提高系統(tǒng)的各項指標,即將整個系統(tǒng)合理的劃分成各個功能模塊,正確地處理模塊之間和模塊內(nèi)部的聯(lián)系以及和數(shù)據(jù)庫的聯(lián)系,定義各模塊的內(nèi)部結(jié)構(gòu),通過對模塊的設計和模塊之間關系的系統(tǒng)來實現(xiàn)整個系統(tǒng)的功能 前臺主要有 3 個模塊,線路查詢、站點 查詢、公交換乘模塊和后臺管理模塊 功能名稱:線路查詢 功能概述:可以獲得要查詢公交所通過的各個站點。 功能名稱:站點查詢 功能概述:通過輸入的指定站點查詢經(jīng)過該站點的公交。 功能名稱:公交換乘查詢 功能概述:分為公交直達、公交一次換乘,主要體現(xiàn)那些不可直達需要轉(zhuǎn)車的路線的所有換法。 (如果用戶輸入的起始點和終點,有一條及一條以上的公交線可以直達的,則為公交直達;如果輸入的起始點和終點,沒有一條公交線可以直接到的,系統(tǒng)將會給出一次換乘的方案,則為公交一次換乘 ) 功能名稱:后臺管理 功能概述:用于管理員登陸,添加 、修改、刪除公交線路,修改信息資料、安全密碼,回復留言板等功能。 本系統(tǒng)提供了的車次查詢功能、路 5 線 1 查 A 詢 S 功 P 能 X。乘客可以方便的進行查詢,以防乘錯車次。當然有些功能的智能化不是很強,系統(tǒng)有待進一步來完善。 3.2 數(shù)據(jù)庫需求分析 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設計的好壞將直接對應用系大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 3 章 需求分析 7 統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。 數(shù)據(jù)庫技術是由傳統(tǒng)的文件系統(tǒng)發(fā)展而來的,從層次模型、網(wǎng)狀模型發(fā)展到關系模型。數(shù)據(jù)庫技術是數(shù)據(jù)管理 的最新技術,是計算機科學的一個重要分支,它能指導我們正確地設計數(shù)據(jù)庫系統(tǒng),它的出現(xiàn)極大地促進了計算機應用的發(fā)展。采用數(shù)據(jù)庫技術的原理和方法可以有效地設計實用的數(shù)據(jù)庫系統(tǒng)。一個完整的數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫管理系統(tǒng)( DBMS),數(shù)據(jù)庫管理員( DBA)、數(shù)據(jù)庫( DB)、應用程序和相應的硬件設施。 目前許多數(shù)據(jù)庫管理系統(tǒng)都基于關系模型,關系模型的主要特點是用表格結(jié)構(gòu)表達實體,用鍵表示實體與實體之間的聯(lián)系。與層次模型和網(wǎng)狀模型相比,關系模型比較簡單,容易為初學者接受。關系模型是由若干個關系模式組成的集合,關系模式相當于 記錄類型,它的實例稱為關系。每個關系是一張表格。表格簡單,用戶易懂,用戶只需用簡單的查詢語句就可以對數(shù)據(jù)庫進行數(shù)據(jù)操作,并不涉及到存儲結(jié)構(gòu),訪問技術等細節(jié)。關系模型是數(shù)學化的模型,要用到集合論,離散數(shù)學等知識。 SQL 語言是關系數(shù)據(jù)庫的代表性語言,已經(jīng)得到廣泛應用。 在設計數(shù)據(jù)庫時,應注意數(shù)據(jù)的安全性,保證數(shù)據(jù)的安全,防止非法用戶訪問數(shù)據(jù)庫,以免泄露重要信息,同時也能 51 防 A 止 s 非 px 法用戶的蓄意破壞,有許多保護數(shù)據(jù)的方法,如采用用戶標識,口令和密碼或訪問控制等方法。一個成功的數(shù)據(jù)庫應用系統(tǒng)應具有用戶標識,每 一個合法用戶具有一個用戶名和相應的口令,進入數(shù)據(jù)庫應用系統(tǒng)前必須輸入正確的口令,否則無法進入系統(tǒng),這就保證了只有合法的用戶才能操作數(shù)據(jù)庫系統(tǒng)。為了保證數(shù)據(jù)的合法語義,必須對數(shù)據(jù)庫的數(shù)據(jù)進行完整性約束,即防止用戶輸入不合語義的數(shù)據(jù)。 在設計應用軟件時,應嚴格按照軟件工程學的方法進行設計,傳統(tǒng)的方法采用瀑布模型,從問題定義、可行性分析、需求分析、概念設計、總體設計、系統(tǒng)實現(xiàn)、編碼和軟件測試、運行和維護等軟件生命周期內(nèi),每一階段均在前一階段的基礎上進行設計,并在每一階段有相應的文檔資料。 設計數(shù)據(jù)庫系統(tǒng)時應該首先 充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設計一般包括如下幾個步驟:數(shù)據(jù)庫需要分析 , 數(shù)據(jù)庫概念結(jié)構(gòu)設計 , 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計。 3.3 性能需求 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,城市公交查詢系統(tǒng)應該滿足以下的性能需求: 3.3.1 系統(tǒng)處理的準確性和及時性 系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應時間能夠滿足企業(yè)對信息處理的需求。 由于公交查詢系統(tǒng)的查詢功能對于整個系統(tǒng)的功能 和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票數(shù)量和時間又影響企業(yè)的決策活動,其準確性很大程度上決定了 公交查詢 系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 3 章 需求分析 8 3.3.2 系統(tǒng)的開放性和系統(tǒng)的可擴充性 公交查詢系統(tǒng)在開發(fā)過程中,應該充分考慮以后的可擴充性。例如網(wǎng)上查詢的用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進行功能的調(diào)整和擴充。而要實現(xiàn)這一點,應通過系統(tǒng)的開放性來完成,既系統(tǒng)應是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的 硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代。 3.3.3 系統(tǒng)的易用性和易維護性 公交查詢系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應該盡量使用用戶熟悉的術語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。 公交查詢系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護人員進行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時數(shù)據(jù)的恢復等工 作。 3.3.4 系統(tǒng)的標準性 系統(tǒng)在設計開發(fā)使 51 用 aspx 過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標準。例如在開發(fā)中使用的操作系統(tǒng)、網(wǎng)絡系統(tǒng)、開發(fā)工具都必須符合通用標準。如規(guī)范的數(shù)據(jù)庫操縱界面、作為業(yè)界標準的 TCP/IP 網(wǎng)絡協(xié)議及 ISO9002 標準所要求的質(zhì)量規(guī)范等;同時,在自主開發(fā)本系統(tǒng)時,要進行良好的設計工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。 3.3.5 系統(tǒng)的先進性 目前計算系統(tǒng)的技術發(fā)展相當快,做 為公交查詢系統(tǒng) 工程,應該保證系統(tǒng) 在下個世紀仍舊是先進的,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進,充分 完成 企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設計和開發(fā)的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發(fā)展前途的產(chǎn)品。 3.3.6 系統(tǒng)的響應速度 公交查詢系統(tǒng) 在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 9 第 4 章 系統(tǒng)概要設計 4.1 概述 本階 段設計的基本目標是解決系統(tǒng)如何實現(xiàn)問題,也叫做概要設計,本階段主要任務是劃分出系統(tǒng)的物理元素及設計軟件的結(jié)構(gòu),完成軟件定義時期的任務之后就應該對系統(tǒng)進行總體設計,即根據(jù)系統(tǒng)分析產(chǎn)生的分 5 析 1 結(jié)果 AS 來 PX 確定這個系統(tǒng)由哪些系統(tǒng)和模塊組成,這些系統(tǒng)和模塊又如何有機的結(jié)合在一起,每個模塊的功能如何實現(xiàn)。系統(tǒng)設計的目標是使系統(tǒng)實現(xiàn)擁有所要求的功能,同時,力爭達到高效率、高可靠性、可修改性,并且容易掌握和使用。 模塊化的依據(jù)是:把復雜問題分解成許多容易解決的小問題。原來的問題也就變得容易解決。模塊化設計是把大型軟件 按照一定的原則劃分成一個較小的相對功能獨立又相關聯(lián)的模塊。每個模塊完成一個特定的子功能。把這些模塊結(jié)合起來組成一個整體。完成指定的功能,滿足問題的要求。采用模塊化原理的優(yōu)點在于可以使軟件結(jié)構(gòu)清晰,容易測試和調(diào)試。從而提高軟件的可靠性,可修改性。有助于軟件開發(fā)的組織管理。一個大型軟件可分別編寫不同的模塊。模塊化理論的幾個重要概念如下: 抽象。 抽象就是抽象出事物的本質(zhì)特性而暫時不考慮它們的細節(jié)。處理復雜系統(tǒng)唯一有效的方法是用層次的方式構(gòu)造和分析它。一個復雜的動態(tài)系統(tǒng)首先可以用一些高級的抽象概念構(gòu)造和理解,這些高 級概念又可以用一些較低級的理解,直到最低層次的具體元素。 信息隱蔽和局部化。信息隱蔽是指在設計和確定模塊時,應使得一個模塊內(nèi)包含的信息對于不需要這些信息的模塊來說,是不能訪問。 局部化是指把一些關系密切的軟件元素物理的放得彼此靠近。局部化有助于實現(xiàn)信息隱蔽。 信息隱蔽原理和局部化有助于在測試期間以及軟件維護期間修改軟件。因為絕大多數(shù)數(shù)據(jù)和過程對于軟件的其它部分而言是隱蔽的,從而由疏忽引入的錯誤就很少可能傳播到軟件的其它部分。 逐步求精的模塊化概念。逐步求精和模塊化的抽象是密切相關的。軟件結(jié)構(gòu)每一層中模塊表示 對軟件抽象層次的次細化。用自頂向下,逐步求精的方法由抽象到具體的方式分配控制,簡化了軟件設計和實施,提高了軟件的可理解性和可測試性,并使得軟件更容易維護。 模塊獨立性。模塊的劃分要使模塊間盡可能的相互獨立,獨立模塊較易維護。度量模塊的獨立程度有兩個標準:內(nèi)聚和耦合。耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點,以及通過接口的數(shù)。 在軟件的設計中應追求盡可能松散的耦合。內(nèi)聚標志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴 展,理想內(nèi)聚的模塊只做一件事情。在設計時應力求做到高內(nèi)聚。 4.2 功能模塊劃分 查詢系統(tǒng)模塊 該模塊實現(xiàn)公交查詢功能??蓪崿F(xiàn)按線路查詢、站點查詢和起點 終點查詢?nèi)N查詢方式。 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 10 錄入系統(tǒng)模塊 該模塊實現(xiàn)數(shù)據(jù)的新增、修改、刪除功能。 系統(tǒng)模塊圖如圖 4-1 所示 : 4.3 數(shù)據(jù)庫設計 數(shù)據(jù)庫技術是在文件系統(tǒng)的基礎上發(fā)展起來的一種高效的數(shù)據(jù)管理技術,它能保持系統(tǒng)數(shù)據(jù)的整體性,完整性和共享性。在數(shù)據(jù)庫系統(tǒng)中提供了對數(shù)據(jù) 的訪問機制,能有組織的存儲相關的數(shù)據(jù),具有合理的存儲方式,快速的查詢效率和最小的數(shù)據(jù)冗余等特性。另外數(shù)據(jù)的存儲和應用程序彼此獨立,不僅便于數(shù)據(jù)的管理與控制而且有利于應用程序的編寫與調(diào)試。數(shù)據(jù)庫類似于一個數(shù)據(jù)的大倉庫,能很好地實現(xiàn)數(shù)據(jù)共享,能維護數(shù)據(jù)的一致性。數(shù)據(jù)庫設計是系統(tǒng)設計的一個重要內(nèi)容,其設計質(zhì)量的好壞直接影響系統(tǒng)開發(fā)的成敗,系統(tǒng)的質(zhì)量,系統(tǒng)效率及可維護性。 在本系統(tǒng)的設計中,充分考慮到了管理系統(tǒng)數(shù)據(jù)繁雜,重復性很大,數(shù)據(jù)使用頻繁。因此本系統(tǒng)采用了一種能正確反映用戶實現(xiàn)環(huán)境,能被現(xiàn)行系統(tǒng)接受,易于維護 、效率高的數(shù)據(jù)管理方法 -數(shù)據(jù)庫系統(tǒng)。 數(shù)據(jù)模型是指數(shù)據(jù)庫中記錄與記錄之間聯(lián)系的數(shù)據(jù)結(jié)構(gòu)形成的。不同的數(shù)據(jù)管理系統(tǒng)有不同的數(shù)據(jù)模型,數(shù)據(jù)庫設計的核心問題是設計好的數(shù)據(jù)模型。在目前的數(shù)據(jù)庫管理系統(tǒng)中有層次模型,網(wǎng)狀模型、關系模型三種數(shù)據(jù)模型。其中,關系模型具有較高的數(shù)據(jù)獨立性,使用也較為方便。本設計采用關系數(shù)據(jù)庫。該數(shù)據(jù)庫實行增、刪、編輯、統(tǒng)計。顯示和打印都極為方便。其中的排序和索引功能,對數(shù)據(jù)快速定位,查詢提供了有利條件。交流互動對于本系統(tǒng)的數(shù)據(jù)庫設計有以下幾點說明:數(shù)據(jù)庫設計兼顧前面設計的數(shù)據(jù)流程圖,管理 信息系統(tǒng)的設計并不是以數(shù)據(jù)庫為核心的數(shù)據(jù)庫應用設計,本系統(tǒng)的數(shù)據(jù)庫設計盡量滿足 3NF(第三范式)的要求,本系統(tǒng)的數(shù)據(jù)庫設計以提高系統(tǒng)運行效率為前提。 城市公交查詢系統(tǒng) 查詢 后臺管理 按線路查詢 按站點查詢 兩站點間換乘查詢 新增 修改 刪除 線路 車輛參數(shù) 發(fā)車時間表 車次 站名 圖 4-1 系統(tǒng)模塊圖 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 11 4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設計 在系統(tǒng)設計的開始,我首先考慮的是如何用數(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)實世界進行第 一次抽象。ER 模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用 ER 圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。但它只是數(shù)據(jù)庫設計的第一步。 E-R 圖是直觀表示概念模型的工具,它有三個基本成分: ( 1)矩形框,表示實體類型(考慮問題的對象)。 ( 2)菱形框,表示聯(lián)系類型(實體間的聯(lián)系)。 ( 3)橢圓形框,表示實體的屬性。 實體和屬性的定義如下: 管理員表( 登陸 ID,登錄姓名,登錄密碼) 站名表(站名編號,站名) 車輛線路編號表(車次,車線類型) 線路表 ( 線 路 編號, 車次 , 站名 , 次序) 車輛表(車輛編號,車次,車輛類型,服務類型,票價, IC 卡類型,運行區(qū)間) 冬季發(fā)車時間表(車次,編號,首班時間,末班時間) 夏季發(fā)車時間表(車次,編號,首班時間,末班時間) 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 12 各實體屬性圖如圖 4-2 所示。 圖 4-2 實體屬性關系圖 站 名 站名編號 站名 車輛線路編號 車次 車輛類型 線 路 線路編號 次序 車次 站名 車 輛 服務類型 運行區(qū)間 車輛編號 票價 車輛類型 車次 IC 卡類型 發(fā)車時間 車次 末班 時間 編號 首班時間 管 理 員 登錄 ID 登錄姓名 登錄密碼 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 13 本系統(tǒng)的 總體 E-R 圖如圖 4-3 所示。 4.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計 本系統(tǒng)采用的數(shù)據(jù)庫管理系統(tǒng)是 Microsoft 公司的 SQL Server 2005。該管理系統(tǒng)由一系列產(chǎn)品組成,不僅能夠滿足最大的數(shù)據(jù)處理系統(tǒng)和商業(yè) Web 站點存儲數(shù)據(jù)的需要,還能為個人或小企業(yè)提供易于使用的數(shù)據(jù)存儲服務。 Microsoft SQL Server 2005 的特性包括: ( 1) 企業(yè)數(shù)據(jù)管理 在當今的互聯(lián)世界中,數(shù)據(jù)和管理數(shù)據(jù)的系統(tǒng)必須始終為用戶可用且能夠確保安全。有了 SQL Server 2005,組織內(nèi)的用戶和信息技術 (IT) 專家將從減少的應用程序停機時間、提高的可伸縮性及性能、更緊密而靈活的安全控制中獲益。 SQL Server 2005 也包括了許多新的 和改進的功能來幫助 IT 工作人員更有效率地工作。 SQL Server 2005 包含幾個在企業(yè)數(shù)據(jù)管理中關鍵的增強: 易管理性、可用性、可伸縮性、安全性。 SQL Server 2005 使部署、管理和優(yōu)化企業(yè)數(shù)據(jù)以及分析應用程序變得更簡單、更容易。作為一個企業(yè)數(shù)據(jù)管理平臺,它提供單一管理控制臺,使數(shù)據(jù)管理員能夠在任何地方監(jiān)視、管理和調(diào)諧企業(yè)中所有的數(shù)據(jù)庫和相關的服務。它還提供了一個可以使用 SQL 管理對象輕松編程的可擴展的管理基礎結(jié)構(gòu),使得用戶可以定制和擴展他們的管理環(huán)境,同時使獨立軟件供應商 (ISV) 也能夠創(chuàng)建附加的工具和功能來更好地擴展打開即得的能力。 ( 2) SQL Server Management Studio SQL Server 2005 通過提供一個集成的管理控制臺來監(jiān)視和管理 SQL Server 關系數(shù)據(jù)庫、Integration Services、 Analysis Services、 Reporting Services、 Notification Services 以及在數(shù)量眾多的分布式服務器和數(shù)據(jù)庫上的 SQL Server Mobile Edition,從而簡化了管理工作。數(shù)據(jù)庫 管理員能夠同時執(zhí)行多個任務,例如,編寫和執(zhí)行查詢,查看服務器對象,管理對象,監(jiān)視系統(tǒng)活動和時 刻 站 名 圖 4-3 E-R 模型圖 車 輛 線 路 擁有 包含 屬于 M 1 M 1 M N 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 14 查看聯(lián)機幫助。 SQL Server Management Studio 提供了一個開發(fā)環(huán)境,可在其中使用 Transact-SQL、多維表達式、 XML for Analysis 和 SQL Server Mobile Edition 來編寫、編輯和管理腳本和存儲過程。 Management Studio 可以很容易地與源代碼控制集成在一起。 Management Studio 還包括一些工具可用來調(diào)度 SQL Server 代理作業(yè)和管理維護計劃,以自動執(zhí)行日常維護和操作任務。管理和腳本編寫集成在單一工具中,同時,該工具具有管理所有類型的服務器的能力,為數(shù)據(jù)庫管理員們提供了更強的生產(chǎn)效率。 SQL Server 2005 開放了 70 多個新的內(nèi)部數(shù)據(jù)庫性能和資源使用的度量值,涵蓋了從內(nèi)存、鎖定到對事務、網(wǎng)絡和磁盤 I/O 的調(diào)度等。這些動態(tài)管理視圖 (DMV) 提供了對數(shù)據(jù)庫和強大的基礎結(jié)構(gòu)的更大的透明度和可見性,可以主動監(jiān)視數(shù)據(jù)庫的狀況和性能。 ( 3) SQL 管理對象 SQL 管理對象 (SMO) 是一個新的可編程對象集 ,它可實現(xiàn)所有 SQL Server 數(shù)據(jù)庫的管理功能。事實上, Management Studio 就是構(gòu)建在 SQL 管理對象之上的。 SMO 是作為 Microsoft .NET Framework 程序集實現(xiàn)的。您可以使用 SMO 自動執(zhí)行常見的 SQL Server 管理任務,例如,用編程方式檢索配置設置,創(chuàng)建新數(shù)據(jù)庫,應用 Transact-SQL 腳本,創(chuàng)建 SQL Server 代理作業(yè)以及調(diào)度備份等。 SMO 對象模型替代了包含在 SQL Server 早期版本中的分布式管理對象 (DMO),因 為它更安全可靠并具有更高的可伸縮性。 ( 4) 可用性 在高可用性技術、額外的備份和恢復功能,以及復制增強上的投資使企業(yè)能夠構(gòu)建和部署高可用的應用程序。在高可用性上的創(chuàng)新有:數(shù)據(jù)庫鏡像、故障轉(zhuǎn)移群集、數(shù)據(jù)庫快照和增強的聯(lián)機操作,這有助于最小化停機時間,并確??梢栽L問關鍵的企業(yè)系統(tǒng)。本節(jié)將詳細介紹這些增強特性。 ( 5) 數(shù)據(jù)庫鏡像 數(shù)據(jù)庫鏡像允許事務日志以連續(xù)的方式從源服務器傳遞到單臺目標服務器上。當主系統(tǒng)出現(xiàn)故障時,應用程序可以立即重新連接到輔助服務器上的數(shù)據(jù)庫。輔助實例幾秒鐘內(nèi)即可檢測到主服務器發(fā)生了故障,并能 立即接受數(shù)據(jù)庫連接。數(shù)據(jù)庫鏡像工作在標準服務器硬件下,不需要特定的存儲或控制器。 本系統(tǒng)創(chuàng)建的 SQL 數(shù)據(jù)庫名稱為城市公交查詢系統(tǒng)。并將數(shù)據(jù)文件和日志文件保存在公交查詢系統(tǒng) APP_DATA 文件夾中。此數(shù)據(jù)庫包含 7 個表: 管理員表 (LoginTable) 管理員表存放登陸系統(tǒng)所需要的用戶名和密碼,登錄后臺時需要訪問此表。 表 4-1 管理員表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 LoginId int 4 否 是 登陸 ID LoginPwd varchar 50 否 否 登陸密碼 Loginname varchar 50 否 否 登陸姓名 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 15 站名表 站名表存放站名等數(shù)據(jù),修改站名需要訪問此表。 表 4-2 站名表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 站名編號 int 4 否 是 站名編號 站名 varchar 50 否 否 站名 車輛線路編號表 車輛線路編號表存放線路編號等數(shù)據(jù),修改車輛線路編號將要訪問此表。 表 4-3 車輛線路編號表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 車次 int 4 否 是 車次 車線類型 varchar 50 否 否 車線類型 線路表 線路表存放公交車線路的數(shù)據(jù),修改車輛線路需要訪問此表。 表 4-4 線路表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 線路編號 int 4 否 是 線路編號 車次 int 4 否 是 車次 站名 varchar 50 否 否 站名 次序 int 4 否 否 次序 車輛表 車輛表存放車輛的相關信息,修改車輛等相關信息需要訪問此表。 表 4-5 車輛表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 車輛編號 int 4 否 是 車輛編號 車次 int 4 否 是 車次 車輛類型 varchar 50 否 否 車輛類型 服務類型 varchar 50 否 否 服務類型 票價 varchar 50 否 否 票價 IC 卡類型 varchar 50 否 否 IC 卡類型 運行區(qū)間 varchar 50 否 否 運行區(qū)間 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 4 章 系統(tǒng)概要設計 16 夏季發(fā)車時刻表 夏季發(fā)車時刻表存放夏季發(fā)車的時間,修改夏季發(fā)車時間需要訪問此表。 表 4-6 夏季發(fā)車時刻表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 編號 int 4 否 是 編號 車次 int 4 否 否 車 次 首班時間 varchar 50 否 否 首班時間 末班時間 varchar 50 否 否 末班時間 冬季發(fā)車時刻表 冬季發(fā)車時刻表存放冬季發(fā)車的時間,修改冬季發(fā)車時間需要訪問此表。 表 4-7 冬季發(fā)車時刻表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 編號 int 4 否 是 編號 車次 int 4 否 否 車次 首班時間 varchar 50 否 否 首班時間 末班時間 varchar 50 否 否 末班時間 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 17 第 5 章 詳細設計與實現(xiàn) 5.1 前臺功能的實施 5.1.1 連接 數(shù)據(jù)庫的包含文件 在動態(tài)網(wǎng)站中,調(diào)用數(shù)據(jù)庫中的數(shù)據(jù)是十分頻繁的,為了避免編寫重復的代碼。編寫一個數(shù)據(jù)庫連接文件是非常重要的。 DB.cs 文件中包含了本系統(tǒng)中的數(shù)據(jù)庫的連接代碼。本系統(tǒng)的數(shù)庫的連接代碼如下: public static SqlConnection createConnection() SqlConnection con=new SqlConnection(server=.;database= 城 市 公 交 查 詢 系統(tǒng) ;uid=sa;pwd=;); return con; 5.1.2 按線路查詢 線路查詢模塊:用戶進入系統(tǒng)后,在線路查詢模塊的輸入框中輸入要查詢的線路,點擊查詢按鈕,系統(tǒng)首先檢查用戶所查詢的線路是否存在,如果不存在給出出錯提示,如果存在給出這條線路的相關信息,如:雙向早晚車的工作時間,票價,經(jīng)過的站點。如線路存在,進入線路界面如圖 5-1 所示: 圖 5-1 線路查詢 主要實現(xiàn)代碼如下: SqlCommand cmdsj=new SqlCommand(cmdstring,con); SqlDataReader sdrsj=cmdsj.ExecuteReader(); while(sdrsj.Read()string linetemp1=sdrsj首班時間 .ToString(); 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 18 string linetemp2=sdrsj末班時間 .ToString(); line+=(首班時間為: +linetemp1+ ; line+=末班時間為: +linetemp2+); SqlCommand cmd=new SqlCommand(select * from 公交車線路表 where 車次 =+num+order by 次序 ASC,con);SqlDataReader sdr=cmd.ExecuteReader(); trywhile(sdr.Read()line+=sdr站名 .ToString(); line=line.Replace(sdr站名 .ToString(),+sdr站名 .ToString()+); line+=-; finallydr.Close();con.Close(); int i; i=Convert.ToInt32(line.Length); line=line.Substring(0,i-3); 5.1.3 按站點查詢 站點查詢模塊:用戶進入系統(tǒng)后,在站點查詢模塊中有二種選擇,第一個是按站點的確切信息也就是完全匹配查詢,此時用戶要給出站點的全稱,當點擊查詢按鈕后,系統(tǒng)會在數(shù)據(jù)庫中檢測該站點是否存在,如果存在,系統(tǒng)顯示這個站點的相關信息。比如:經(jīng)過這個站點共有哪些線路,這些線路又各經(jīng)過哪些站點,第二個選擇是站點的模糊查詢,也就是不完全匹配,用戶只需輸入站點名稱和部分字符 信息,系統(tǒng)便會給出與此相關的所有站點信息。當輸入確切站點后,進入的界面如圖 5-2 所示: 圖 5-2 站點查詢 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 19 主要實現(xiàn)代碼如下: SqlCommand cmd=new SqlCommand(SELECT 車次 FROM 公交車線路表 WHERE 站名=+a+,con); SqlDataReader sdr=cmd.ExecuteReader(); while(sdr.Read()alS.Add(sdr.GetValue(0); cmd.CommandText=SELECT 車次 FROM 公交車線路表 WHERE 站名 =+b+; SqlDataReader sdr1=cmd.ExecuteReader(); while(sdr1.Read()alE.Add(sdr1.GetValue(0); for(int i=0;ialS.Count;i+)for(int j=0;jalE.Count;j+) if(alSi.ToString()=alEj.ToString()alNum.Add(alEj); 5.1.4 按兩站點 查詢 兩站點查詢模塊:用戶進入系統(tǒng)后,在主頁面的換乘查詢模塊中有兩種選擇,第一是直達,第二個是一次換乘。用戶可以在起點站輸入框中輸入自已的出發(fā)點,然后在終點站輸入框輸入出行的終點,如果選擇直達,系統(tǒng)便會檢測這兩個站點間是否有直達車,如果沒有直達車,系統(tǒng)會給出相關提示,那么用戶便可以選擇一次換乘,系統(tǒng)會檢測是否有一次換乘方案,如果有系統(tǒng)會給出所換乘方案。界面如圖 5-3,5-4 所示: 圖 5-3 兩點查詢 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 20 圖 5-4 兩點查詢 主要實現(xiàn)代碼如下: if(cixuScixuE) zhanmNum=cixuE-cixuS+1; cmd.CommandText=SELECT 站名 FROM 公交車線路表 WHERE 次序 BETWEEN +cixuS+ AND +cixuE+ AND 車次 =+alNumk.ToString()+ ORDER BY 次序 ASC; elsezhanmNum=cixuS-cixuE+1; cmd.CommandText=SELECT 站名 FROM 公交車線路表 WHERE 次序 BETWEEN +cixuE+ AND +cixuS+ AND 車次 =+alNumk.ToString()+ ORDER BY 次序 DESC; str+=+alNumk.ToString()+; str+=路 (總共經(jīng)過 +zhanmNum.ToString()+個站 ); 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 21 5.2 后臺管理功能的實現(xiàn) 5.2.1 新增車次線路 此模塊為管理員操作,如當?shù)爻霈F(xiàn)新的公交線路,或原有公交車線路有新的站點加入,管理員可以登陸此表,及 時添加線路和站點的信息,以保證車次線路的及時更新,方便用戶查詢。添加的界面如圖 5-5, 5-6 所示: 圖 5-5 新增車次 圖 5-6 新增線路站名 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 22 主要實現(xiàn)代碼如下: if(Check()int maxChelNo=GetMaxChelNo(); SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd=new SqlCommand(INSERT INTO 車輛線路編號表 (車次 ,車線類型 )VALUES(車次 ,車線類型 ),con); SqlParameter para=new SqlParameter(車次 ,SqlDbType.Int,4); para.Value=Convert.ToInt32(this.txtCheci.Text.Trim(); cmd.Parameters.Add(para); para=new SqlParameter(車線類型 ,SqlDbType.NVarChar,50); para.Value=this.ddlLineType.SelectedValue; cmd.Parameters.Add(para); cmd.ExecuteNonQuery(); cmd.CommandText=INSERT INTO 車輛表 (車輛編號 ,車次 ,車輛類型 ,服務類型 ,IC卡類型 ,票價 ,運行區(qū)間 )VALUES(車輛編號 ,車次 ,車輛類型 ,服務類型 ,IC卡類型 ,票價 ,運行區(qū)間 ); int MaxNoS=GetMaxNoS(); cmd.CommandText=INSERT INTO 夏季發(fā)車時間表 (編號 ,車次 ,首班時間 ,末班時間 )VALUES(編號 ,車次 ,首班時間 ,末班時間 ); cmd.Parameters.Add(para); cmd.ExecuteNonQuery(); Response.Redirect(AddCheciDts.aspx?str=+this.txtCheci.Text.Trim(); elseResponse.Write(alert(請輸入完整的信息! ); 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 23 5.2.2 刪除車次以及無效站點 此模塊同樣為管理員操作,如當?shù)啬膫€公交線路已經(jīng)被廢除,或原有公交車線路有哪個站點被刪 除,管理員可以登陸此表,及時刪除線路和站點的信息,以保證車次線路的及時更新,方便用戶查詢。刪除的界面如圖 5-7, 5-8 所示: 圖 5-7 刪除車次 圖 5-8 刪除無效站點 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 24 主要實現(xiàn)代碼如下: ( 1)刪除車次: SqlConnection con=DB.createConnection(); SqlCommand cmd=new SqlCommand(DELETE FROM 車輛表 WHERE 車次=+ddlCheci.SelectedValue,con); cmd.ExecuteNonQuery(); cmd.CommandText=DELETE FROM 公交車線路表 WHERE 車次 =+ddlCheci.SelectedValue; cmd.ExecuteNonQuery(); cmd.CommandText=DELETE FROM 夏發(fā)車時間表 WHERE車次 =+ddlCheci.SelectedValue; cmd.ExecuteNonQuery(); cmd.CommandText=DELETE FROM 冬發(fā)車時間表 WHERE車次 =+ddlCheci.SelectedValue; cmd.ExecuteNonQuery(); cmd.CommandText=DELETE FROM 車輛線路編號表 WHERE 車次數(shù)=+this.ddlCheci.SelectedValue; cmd.ExecuteNonQuery();BindGrid(); Response.Write(alert(刪除成功! ); ( 2)刪除無效站點: if(JudgeZhanm()if(!JudgeDelZh() SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd=new SqlCommand(DELETE FROM 站名表 WHERE 站名+txtZhanm.Text.Trim(),con); cmd.ExecuteNonQuery(); Response.Write(alert(刪除成功! ); elseResponse.Write(alert(暫時不能刪除此站名! ); elseResponse.Redirect(./error/error7.aspx?ZhanMing=+txtZhanm.Text.Trim(); 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 25 5.2.3 修改車輛參數(shù) 本系統(tǒng)設計了一個管理員和大眾用戶能共用的主界面。但管理員需登陸才能進入相應的界面進行操作和修改,而大眾用戶無需登陸可直接進入相應的界面進行查詢。 兩者實現(xiàn)的功能基本一樣,但系統(tǒng)只對用戶提供信息查詢功能,并不對用戶開放所有數(shù)據(jù)信息的編輯權(quán)限。而管理員比大眾用戶增加了對數(shù)據(jù)信息編輯功能(包括: 刪除 站點、刪除線路、修改站點、添加線路 等 功能 等),管理員實現(xiàn)對數(shù)據(jù)信息的編輯并對系統(tǒng)進行定期的維護,保證其運行的穩(wěn)定性,為大眾用戶提供盡可能完善的服務。 用戶進入主頁面后不但可以得到公交相關信息,而且可以對公交進行查詢。 在線路查詢中主要實現(xiàn)所屬線路具體的信息, 獲得該線路會經(jīng)過的站點,起末班時間、價格等等 。管理員通過后臺進入系統(tǒng),按照提示完成,車次、站點的添加、修改和刪除。下圖為修改車輛參數(shù)界面,如圖 5-9 所示: 圖 5-9 修改車輛參數(shù) 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 5 章 詳細設計與實現(xiàn) 26 主要實現(xiàn)代碼如下: SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd =new SqlCommand(Update 車輛表 set 車輛類型=+this.txtBusType.Text.Trim()+,服務類型 =+this.ddlServerType.SelectedValue+,票價=+this.txtPrice.Text.Trim()+,IC卡類型 =+this.txtICCardType.Text.Trim()+,運行區(qū)間=+this.txtMoveBetween.Text.Trim()+ where 車次 =+this.ddlLineNum.SelectedValue,con); cmd.ExecuteNonQuery(); cmd.CommandText=update 車輛線路編號表 set 車線類型=+this.ddlLineType.SelectedValue+ where 車次 =+this.ddlLineNum.SelectedValue; cmd.ExecuteNonQuery(); con.Close(); Response.Write(alert(修改成功! ); 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 6 章 測試與維護 27 第 6 章 測試與維護 6.1 創(chuàng)建和測試應用程序 為了確保本系統(tǒng)能夠正常運行,需要在發(fā)布之后做一次較全面的測試?,F(xiàn)將具體操作及過程舉例說明如下: 創(chuàng)建和測試應用程序應是交替進行的,既要注意開發(fā)的效率也要注意它的穩(wěn)定性。每編寫一個模塊,就要對這個模塊進行測試,看它能否根據(jù)特定的要求工作。及早發(fā)現(xiàn)問題,及早解決,否則到最后再來測試的話,難度會大大增 加。 6.2 測試項目 在 MIS 開發(fā)過程中采用了多種措施保證軟件質(zhì)量,但是實際開發(fā)過程中還是不可避免地會產(chǎn)生差錯,系統(tǒng)中通??赡茈[藏著錯誤和缺陷,不經(jīng)周密測試的系統(tǒng)投入運行,將會造成難以想象的后果,因此系統(tǒng)測試是 MIS 開發(fā)過程中為保證軟件質(zhì)量必須進行的工作。大量統(tǒng)計資料表明,系統(tǒng)測試的工作量往往占 MIS 開發(fā)總工作量的 40%以上。因此,我們必須重視測試工作。 由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯 誤的測試。有意義的軟件測試應該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設計最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標應該是以盡可能少的代價和時間找出軟件系統(tǒng)中潛在的錯誤和缺陷。 從產(chǎn)品角度看,測試計劃中的測試項目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認測試等。測試對象是隨不同階段而異的,最基本、最初的測試是單元測試,后面的組合測試、確認測試都是以被測過的模塊作為測試對象的。 單元測試。單元測試也稱模塊測試或程序測試,單元測試是 對每個模塊單獨進行的,驗證模塊接口與設計說明書是否一致,對模塊的所有主要處理路徑進行測試且與預期的結(jié)構(gòu)進行對照,還要對所有錯誤處理路徑進行測試。對源碼進行審查,對照設計說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。 組合測試。組合測試也稱集成測試或子系統(tǒng)測試,通常采用自頂向下測試和自底向上測試兩種測試方法。組合測試的對象是指已經(jīng)通過單元測試的模塊,不是對零散模塊進行單個測試,而是用系統(tǒng)化的方法裝配和測試軟件系統(tǒng),是一個嚴格的過程,必須 認真地進行,其計劃的產(chǎn)生和單元模塊測試的完成日期要協(xié)調(diào)起來,這種測試應在系統(tǒng)目標機上進行,造成系統(tǒng)應用的環(huán)境條件,除了開發(fā)部分項目負責人參加以外,還應該有相應系統(tǒng)的用戶參加,給評審員進行演示。 確認測試。確認測試是對通過組合測試的軟件進行的,這些軟件已經(jīng)存于系統(tǒng)目標設備的介質(zhì)上,確認測試的目的是表明軟件是可以工作的,并且符合“軟件需求說明書”中規(guī)定的全部功能和性能要求。確認測試是按照這些要求定出的“確認測試計劃”進行的。測試工作是由一個獨大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 6 章 測試與維護 28 立的組織進行,而且測試要從用戶的角度出發(fā)。 系統(tǒng)測試。系統(tǒng)測試是對整體 性能的測試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通信和數(shù)據(jù)共享問題以及檢測系統(tǒng)是否達到用戶的實際要求,系統(tǒng)測試的依據(jù)是系統(tǒng)分析報告。系統(tǒng)測試應在系統(tǒng)的整個范圍內(nèi)進行,這種測試不只對軟件進行,而是對構(gòu)成系統(tǒng)的硬、軟件一起進行。系統(tǒng)測試與建構(gòu)同時進行或略慢。系統(tǒng)測試需要確認從頭到尾的功能正常才算完成,應當盡量避免系統(tǒng)測試延到項目末尾進行。 用戶驗收測試。在系統(tǒng)測試完成后,進行用戶的驗收測試,它是用戶在實際應用環(huán)境中所進行的真實數(shù)據(jù)測試。 在具體的測試中,一般應遵循以下原則:由程序設計者之外的人進行測試;測試用例應由兩部分 組成:輸入數(shù)據(jù)和預期輸出結(jié)果;應選用不合理的輸入數(shù)據(jù)與非法輸入測試;不僅要檢驗程序是否實現(xiàn)預期功能,還應檢查程序是否做了不應該做的工作;集中測試容易出錯的程序模塊;對程序修改以后,必須重新進行測試。 6.3 程序改進 本系統(tǒng)設計時沒有統(tǒng)計每兩個站點之間的距離,只統(tǒng)計了從起點到終點的站數(shù),這樣就不能得出最短路徑,站數(shù)多的不一定距離就遠,同樣站點少的距離不一定近。 在乘客查詢到自己想要的線路信息后,系統(tǒng)沒有提供打印功能,這是本系統(tǒng)以后要著重改的地方。 6.4 測試方法 一般來說,對程序測試有兩種測試方法:如果已經(jīng) 知道了軟件系統(tǒng)應具有的功能,可通過測試來對每個功能是否都能正常使用;如果知道程序的內(nèi)部工作過程,可以通過測試來檢測程序內(nèi)部是否按照規(guī)格說明書的規(guī)定正常進行。前一種方法稱為黑盒測試,后一種方法稱為白盒子測試。黑盒測試又稱為功能測試,白盒子測試又稱為結(jié)構(gòu)測試。 4 本系統(tǒng)采用黑盒測試,以下以管理員登陸為例子。 大連水產(chǎn)學院本科畢業(yè)論文 (設計 ) 第 6 章 測試與維護 29 6.5 測試內(nèi)容 1. 登錄成功后,顯示頁面,如圖 6-1 所示: 圖 6-1 登錄成功顯示頁面 2. 登錄失敗,則顯示如下界面,如圖 6-2 所示: 圖 6-2 登錄 失敗界面 3. 如果登錄未輸入用戶名和密碼,則顯示如下界面,如圖 6-3 所示: 圖 6-3 用戶名和密碼為空提示 6.6 軟件維護 軟件維護是指在軟件運行或維護階段對軟件產(chǎn)品所進行的修改。軟件維護是軟件生命周期中耗費最多、

溫馨提示

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

評論

0/150

提交評論