版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 學(xué) 生 姓 名: </p><p> 指導(dǎo)教師: 副教授 </p><p> 合作指導(dǎo)教師:
2、 </p><p> 專業(yè)名稱: 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 所在學(xué)院: 職業(yè)技術(shù)學(xué)院 </p><p> 2009 年 6 月</p><p><b> 目 錄</b></p><p><b> 摘 要I
3、</b></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>
4、; 第2章 系統(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>
5、 3.2 數(shù)據(jù)庫需求分析6</p><p> 3.3 性能需求7</p><p> 第4章 系統(tǒng)概要設(shè)計(jì)9</p><p><b> 4.1 概述9</b></p><p> 4.2 功能模塊劃分9</p><p> 4.3 數(shù)據(jù)庫設(shè)計(jì)10</p><p
6、> 第5章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)17</p><p> 5.1 前臺(tái)功能的實(shí)施17</p><p> 5.2 后臺(tái)管理功能的實(shí)現(xiàn)21</p><p> 第6章 測試與維護(hù)27</p><p> 6.1 創(chuàng)建和測試應(yīng)用程序27</p><p> 6.2 測試項(xiàng)目27</p><
7、p> 6.3 程序改進(jìn)28</p><p> 6.4 測試方法28</p><p> 6.5 測試內(nèi)容29</p><p> 6.6 軟件維護(hù)29</p><p><b> 結(jié) 論31</b></p><p><b> 致 謝32</b><
8、/p><p><b> 參考文獻(xiàn)33</b></p><p><b> 摘 要</b></p><p> 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個(gè)較落后的水平,廣大乘客可以獲得信息的方式很少,為了解決這種問題,加快發(fā)展城市公交信息化,設(shè)計(jì)一個(gè)城市公交查詢系統(tǒng)是具有一定實(shí)際應(yīng)用意義的。在此背景下,我開發(fā)了這個(gè)應(yīng)用程序---
9、城市公交查詢系統(tǒng)。本次設(shè)計(jì),首先我考慮了公交運(yùn)營的實(shí)際情況和不同公交乘客的實(shí)際要求,分析了此系統(tǒng)應(yīng)該具有的功能;其次對系統(tǒng)的主要功能模塊進(jìn)行了詳細(xì)地描述,其中主要包括二個(gè)模塊---查詢模塊(包括按線路查詢、按站點(diǎn)查詢和按兩站點(diǎn)查詢)和管理更新模塊(包括公交站點(diǎn)管理和公交線路管理),最后結(jié)合系統(tǒng)開發(fā)階段和調(diào)試階段發(fā)現(xiàn)的問題,提出了系統(tǒng)需要完善的地方,總結(jié)了開發(fā)此系統(tǒng)所取得的經(jīng)驗(yàn)。</p><p> 關(guān)鍵詞:公交,
10、 ASP.NET,查詢,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 p
11、art of 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 applicati
12、on procedure---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,St
13、ructure of B/S,Database</p><p><b> 第1章 引 言</b></p><p><b> 課題背景</b></p><p> 城市公交是專門服務(wù)于市民出行的客運(yùn)企業(yè)。它是城市社會(huì)和經(jīng)濟(jì)活動(dòng)的重要組成部分。伴隨著國民經(jīng)濟(jì)和城市建設(shè)的快速發(fā)展,城市經(jīng)濟(jì)的繁榮,人口的增加,城市必須解決好人
14、們出行的需求。城市公交直接關(guān)系著城市的經(jīng)濟(jì)發(fā)展和居民生活,對城市經(jīng)濟(jì)具有全局性、先導(dǎo)性的影響,城市公交以其方便、快捷、容量大而成為城市交通的主體。但是隨著公交系統(tǒng)的龐大,人們很難得到準(zhǔn)確的公交信息,這樣給一些人的出行就帶來了不便。因此,急需一個(gè)方便、快捷的公交信息查詢方式,本系統(tǒng)通過瀏覽器查詢,實(shí)現(xiàn)中心控制、自動(dòng)更新、更多的查詢方式等等更多更強(qiáng)大的功能。</p><p> 隨著城市經(jīng)濟(jì)的發(fā)展、規(guī)模的擴(kuò)大以及人口
15、的增長,城市交通問題日益突出。降低出行時(shí)間將使所有的公交利用者產(chǎn)生效益,快速的交通、更好的信息及更好的市場可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運(yùn)輸以其覆蓋面廣、經(jīng)濟(jì)、快捷的特點(diǎn),成為絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統(tǒng)方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。 我國城市公交乘客信息系統(tǒng)的發(fā)
16、展處于一個(gè)落后的水平,廣大乘客可以獲得信息的方式很少,公交信息的完整性和準(zhǔn)確性得不到保證,而且還沒有專門的機(jī)構(gòu)負(fù)責(zé)信息的發(fā)布和管理。出于這個(gè)目的,在老師的指導(dǎo)下,我設(shè)計(jì)了這個(gè)城市公交線路查詢系統(tǒng)。在對公交乘客出行心理特征進(jìn)行分析的基礎(chǔ)上,考慮乘客選擇公交線路決策的因素,進(jìn)行程序關(guān)鍵部分的框架設(shè)計(jì)。</p><p> 現(xiàn)階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進(jìn)行商業(yè)有關(guān)或其他
17、事情需要在外地進(jìn)行短暫停留的人而言,公交對他們是必不可少的,但是對于那個(gè)不屬于自己所熟悉的城市,坐公交也是一個(gè)很大的難題,因此,開發(fā)一個(gè)公交查詢系統(tǒng)就顯得非常的重要。本系統(tǒng)的核心是對選擇好的車次進(jìn)行路線的查詢,或者輸入所要查詢的車站名,點(diǎn)擊“查詢”按鈕,查詢所有含有該站的車次及相應(yīng)的??空尽4颂幖瓤梢浴熬_查詢”也可以是“模糊查詢”,“模糊查詢”主要方便那些對站名不是很清楚,但知道其中的一部分的乘客,系統(tǒng)可以幫助他們快速的查出。<
18、/p><p> 1.2論文的研究內(nèi)容</p><p> 公交查詢系統(tǒng)是一個(gè)取代過去由人工查詢的查詢系統(tǒng)。本論文論述了一個(gè)基于瀏覽器/服務(wù)器(B/S,Browser/Server)模式的公交查詢系統(tǒng)的研究和實(shí)現(xiàn)的過程. 論文從開發(fā)平臺(tái)和工具談起,對ASP.NET服務(wù)器所提供的組件及其屬性和方法做了一般介紹,更重要的是闡述了ASP.NET的數(shù)據(jù)庫訪問組件ADO.NET的使用方法。最后,詳細(xì)介紹
19、了如何創(chuàng)建“公交查詢系統(tǒng)”的全部過程。</p><p> 1.3論文的組織結(jié)構(gòu)</p><p> 論文第2章是系統(tǒng)的開發(fā)工具與環(huán)境概述,介紹了該系統(tǒng)設(shè)計(jì)開發(fā)使用的Visual Studio .net中的ASP.NET開發(fā)語言和系統(tǒng)在數(shù)據(jù)庫的設(shè)計(jì)開發(fā)中使用的數(shù)據(jù)庫連接技術(shù)ADO.NET,并介紹了系統(tǒng)開發(fā)所需要的計(jì)算機(jī)環(huán)境。</p><p> 第3章是系統(tǒng)的需求分
20、析和數(shù)據(jù)庫總體設(shè)計(jì),包括系統(tǒng)需求,性能分析等。</p><p> 第4章是系統(tǒng)的系統(tǒng)概要設(shè)計(jì),包括系統(tǒng)的模塊劃分,數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)。</p><p> 第5章是系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),包括系統(tǒng)各個(gè)界面設(shè)計(jì)和相關(guān)重要注釋。</p><p> 第6章是系統(tǒng)測試和維護(hù)。</p><p> 最后是結(jié)論、致謝、參考文獻(xiàn)及
21、附錄。</p><p> 第2章 系統(tǒng)的開發(fā)工具與環(huán)境</p><p> 2.1 ASP.NET簡介</p><p> ASP.NET 是一種建立在通用語言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來建立強(qiáng)大的Web應(yīng)用程序。ASP.NET提供許多比現(xiàn)在的Web開發(fā)模式強(qiáng)大的的優(yōu)勢。</p><p> ASP.NET 建立在 .NET F
22、ramework 的編程類之上,它提供了一個(gè) Web 應(yīng)用程序模型,并且包含使生成 ASP Web 應(yīng)用程序變得簡單的控件集和結(jié)構(gòu)。ASP.NET 包含封裝公共 HTML 用戶界面元素(如文本框和下拉菜單)的控件集。但這些控件在 Web 服務(wù)器上運(yùn)行,并以 HTML 的形式將它們的用戶界面推送到瀏覽器。在服務(wù)器上,這些控件公開一個(gè)面向?qū)ο蟮木幊棠P?,?Web 開發(fā)人員提供了面向?qū)ο蟮木幊痰呢S富性。ASP.NET 還提供結(jié)構(gòu)服務(wù)(如會(huì)話
23、狀態(tài)管理和進(jìn)程回收),進(jìn)一步減少了開發(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、桌
24、面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Basic .NET、Visual C++ </p><p> 2.1.1 ASP.NET技術(shù)的優(yōu)點(diǎn)</p><p> ASP.NET是一種將各種Web元素組合在一起的服務(wù)器技術(shù),是一個(gè)統(tǒng)一的Web開發(fā)平臺(tái),它提供了生成一個(gè)完整的Web應(yīng)用程序所必須要的各種服務(wù)。與以前的開發(fā)模型相比較,它提供了以下數(shù)個(gè)重要的優(yōu)點(diǎn):</p><
25、p> ?。?)增強(qiáng)的性能。ASP.NET 是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼之前便顯著提高了性能。</p><p> (2)世界級的工具支持。ASP.NET 框架補(bǔ)充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。WYSIWYG 編輯、拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大
26、的工具所提供功能中的少數(shù)幾種。</p><p> (3)威力和靈活性。由于 ASP.NET 基于公共語言運(yùn)行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個(gè)平臺(tái)的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言(如C#),或是跨多種語言分割應(yīng)用程序。另外,公共語言運(yùn)行庫的交互性保證在遷移到 ASP.NET 時(shí)保留基
27、于 COM 的開發(fā)中的現(xiàn)有投資。</p><p> ?。?)簡易性。ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗(yàn)證到部署的站點(diǎn)配置。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運(yùn)行庫利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡化了開發(fā)。</p><
28、p> ?。?)可管理性。ASP.NET 采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲(chǔ)的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴(kuò)展到了 ASP.NET 框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動(dòng)服務(wù)器,即使是在部署或替換運(yùn)行的編譯代碼時(shí)。</p>&
29、lt;p> (6)可縮放性和可用性。ASP.NET 在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到 ASP.NET 運(yùn)行庫的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時(shí),可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請求。</p><p> ?。?)自定義性和擴(kuò)展性。ASP.NET 隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代
30、碼。實(shí)際上,可以用自己編寫的自定義組件擴(kuò)展或替換 ASP.NET 運(yùn)行庫的任何子組件。實(shí)現(xiàn)自定義身份驗(yàn)證或狀態(tài)服務(wù)一直沒有變得更容易。</p><p> ?。?)安全性。借助內(nèi)置的 Windows 身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。 </p><p> 2.1.2 .NET Framework概述</p><p> .NET Fram
31、ework 是用于生成、部署和運(yùn)行 XML Web services 和應(yīng)用程序的多語言環(huán)境。它由以下幾個(gè)主要部分組成:</p><p> 公共語言運(yùn)行庫 運(yùn)行庫實(shí)際上在組件的運(yùn)行時(shí)和開發(fā)時(shí)操作中都起到很大的作用,盡管名稱中沒有體現(xiàn)這個(gè)意思。在組件運(yùn)行時(shí),運(yùn)行庫除了負(fù)責(zé)滿足此組件在其他組件上可能具有的依賴項(xiàng)外,還負(fù)責(zé)管理內(nèi)存分配、啟動(dòng)和停止線程和進(jìn)程,以及強(qiáng)制執(zhí)行安全策略。在開發(fā)時(shí),運(yùn)行庫的作用稍有變化;由于做
32、了大量的自動(dòng)處理工作(如內(nèi)存管理),運(yùn)行庫使開發(fā)人員的操作非常簡單,尤其是與今天的 COM 相比。特別是反射等功能顯著減少了開發(fā)人員為將業(yè)務(wù)邏輯轉(zhuǎn)變?yōu)榭芍赜媒M件而必須編寫的代碼量。 </p><p> 統(tǒng)一編程類 該框架為開發(fā)人員提供了統(tǒng)一的、面向?qū)ο蟮摹⒎謱拥暮涂蓴U(kuò)展的類庫集 (API)。目前,C++ 開發(fā)人員使用 Microsoft 基礎(chǔ)類,而 Java 開發(fā)人員使用 Windows 基礎(chǔ)類??蚣芙y(tǒng)一了這些
33、完全不同的模型并且為 Visual Basic 和 JScript 程序員同樣提供了對類庫的訪問。通過創(chuàng)建跨所有編程語言的公共 API 集,公共語言運(yùn)行庫使得跨語言繼承、錯(cuò)誤處理和調(diào)試成為可能。從 JScript 到 C++ 的所有編程語言具有對框架的相似訪問,開發(fā)人員可以自由選擇它們要使用的語言。</p><p> 2.2 ADO.NET概述</p><p> ADO.NET并不是A
34、DO的升級版本,它是全新的面向?qū)ο竽P?。比ADO更適應(yīng)于分布式及Internet等大型應(yīng)用程序環(huán)境,為了多人同時(shí)存取更具擴(kuò)展性,ADO.NET的數(shù)據(jù)存取采用的是離線存取模式,可說是專門為.NET平臺(tái)設(shè)計(jì)的數(shù)據(jù)存取結(jié)構(gòu)。它具有簡單地訪問關(guān)系數(shù)據(jù)、可擴(kuò)展性、支持多層應(yīng)用程序、統(tǒng)一XML和關(guān)系數(shù)據(jù)訪問的特點(diǎn)。</p><p> ADO.NET的主要目標(biāo)是提供對關(guān)系數(shù)據(jù)的簡單訪問功能。坦白的說,易于使用的類描述關(guān)系數(shù)據(jù)
35、庫中的表、列和行。另外,ADO.NET引入了DataSet類,它代表來自封裝在一個(gè)單元中的關(guān)聯(lián)表中的一組數(shù)據(jù),維持他們之間完整的關(guān)系。這是在ADO.NET中的新概念,可以顯著的擴(kuò)展數(shù)據(jù)訪問接口的功能。</p><p> ADO.NET可以擴(kuò)展——它為插件.NET數(shù)據(jù)提供者(也稱為可管理提供者)提供了框架,這些提供者被構(gòu)建,以便從任何數(shù)據(jù)源讀取和寫入數(shù)據(jù)。ADO.NET提供了兩種內(nèi)置的.NET數(shù)據(jù)提供者,一種用于
36、OLE DB數(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)。在多層體
37、系結(jié)構(gòu)中,應(yīng)用邏輯的不同部5分1運(yùn)a行s在p多x個(gè)服務(wù)器或進(jìn)程中,每一部分就稱為一層。ADO.NET使用開放的Internet標(biāo)準(zhǔn)XML格式在層之間通信,允許數(shù)據(jù)通過Internet防火墻來傳遞,并允許以非Microsoft技術(shù)來實(shí)現(xiàn)一層或多層。</p><p> 那么在Visual Studio.NET中ADO.NET訪問數(shù)據(jù)庫分為二種。一種是SQL Server數(shù)據(jù)庫,另一種是其它任何類型的數(shù)據(jù)庫。本系統(tǒng)的
38、后臺(tái)數(shù)據(jù)庫為SQL Server 2005,因此是通過SQLConnection、SqlCommand、SqlDataAdapter、DataSet等幾個(gè)主要的數(shù)據(jù)訪問對象來訪問數(shù)據(jù)的。</p><p> 2.3系統(tǒng)的開發(fā)要求</p><p> 本次開發(fā)的公交查詢系統(tǒng)對操作系統(tǒng)的要求如下:</p><p><b> 硬件要求:</b>&l
39、t;/p><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ā)平臺(tái):Visual Studio.NET 2005,Microsoft SQL Server 2005。</p><p><b> 第3章 需求分析</b></p><p> 3.1 系統(tǒng)需求分析
41、</p><p> 隨著我國經(jīng)濟(jì)的高速發(fā)展,人們生活水平的提高,越來越多的人開始熱衷于到外地旅游。那么對于這些外來旅游者,首先搞清這個(gè)城市的公交路線顯的很重要!我的家鄉(xiāng)沈陽,作為一個(gè)旅游城市,每年都要吸引大量的游客,為了滿足這些游客熟悉公交路線的需求,特以公交查詢系統(tǒng)為設(shè)計(jì)課題。本軟件不僅能給游客帶來方便,也能給廣大市民提供方便。我認(rèn)為這樣的系統(tǒng)應(yīng)該具有很好的實(shí)用性!開發(fā)本系統(tǒng)的目標(biāo)就是立足廣大乘客的實(shí)際,著眼
42、于公交業(yè)的未來發(fā)展,規(guī)范公交管理,提高服務(wù)質(zhì)量,方便乘客查詢,并為此設(shè)計(jì)該系統(tǒng)。</p><p> 人們生活水平的提高,越來越多人喜歡旅游,但是第一次來一個(gè)陌生的城市,肯定對公交路線不熟悉,所以必定需要一個(gè)能查看具體公交線路的公交系統(tǒng)。有些只知道一個(gè)站的某幾個(gè)字或一個(gè)車次的某幾個(gè)數(shù)字,所以本系統(tǒng)將給出站點(diǎn)的模糊查詢,方便用戶的查詢,有些只知道車次或某個(gè)站點(diǎn),本系統(tǒng)也給出了公交線路查詢、公交站點(diǎn)查詢、公交換乘查詢
43、,進(jìn)一步方便大家的出行,但也有用戶什么都查不到,想留言問問人,所以再搞個(gè)留言板很有必要,方便大家交流以及解答各種疑難問題!</p><p> 本系統(tǒng)采用結(jié)構(gòu)化設(shè)計(jì)的方法來實(shí)現(xiàn)系統(tǒng)總體功能,提高系統(tǒng)的各項(xiàng)指標(biāo),即將整個(gè)系統(tǒng)合理的劃分成各個(gè)功能模塊,正確地處理模塊之間和模塊內(nèi)部的聯(lián)系以及和數(shù)據(jù)庫的聯(lián)系,定義各模塊的內(nèi)部結(jié)構(gòu),通過對模塊的設(shè)計(jì)和模塊之間關(guān)系的系統(tǒng)來實(shí)現(xiàn)整個(gè)系統(tǒng)的功能</p><p&
44、gt; 前臺(tái)主要有3個(gè)模塊,線路查詢、站點(diǎn)查詢、公交換乘模塊和后臺(tái)管理模塊</p><p><b> 功能名稱:線路查詢</b></p><p> 功能概述:可以獲得要查詢公交所通過的各個(gè)站點(diǎn)。</p><p><b> 功能名稱:站點(diǎn)查詢</b></p><p> 功能概述:通過輸入的指
45、定站點(diǎn)查詢經(jīng)過該站點(diǎn)的公交。</p><p> 功能名稱:公交換乘查詢</p><p> 功能概述:分為公交直達(dá)、公交一次換乘,主要體現(xiàn)那些不可直達(dá)需要轉(zhuǎn)車的路線的所有換法。(如果用戶輸入的起始點(diǎn)和終點(diǎn),有一條及一條以上的公交線可以直達(dá)的,則為公交直達(dá);如果輸入的起始點(diǎn)和終點(diǎn),沒有一條公交線可以直接到的,系統(tǒng)將會(huì)給出一次換乘的方案,則為公交一次換乘)</p><p&
46、gt;<b> 功能名稱:后臺(tái)管理</b></p><p> 功能概述:用于管理員登陸,添加、修改、刪除公交線路,修改信息資料、安全密碼,回復(fù)留言板等功能。</p><p> 本系統(tǒng)提供了的車次查詢功能、路5線1查A詢S功P能X。乘客可以方便的進(jìn)行查詢,以防乘錯(cuò)車次。當(dāng)然有些功能的智能化不是很強(qiáng),系統(tǒng)有待進(jìn)一步來完善。</p><p>
47、 3.2 數(shù)據(jù)庫需求分析</p><p> 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。</p><p> 數(shù)據(jù)庫技術(shù)是由傳統(tǒng)的文件系統(tǒng)發(fā)展而來的,從層次模型、網(wǎng)狀模型發(fā)展到關(guān)系模型。數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的一個(gè)重要分支,它能指導(dǎo)我
48、們正確地設(shè)計(jì)數(shù)據(jù)庫系統(tǒng),它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用的發(fā)展。采用數(shù)據(jù)庫技術(shù)的原理和方法可以有效地設(shè)計(jì)實(shí)用的數(shù)據(jù)庫系統(tǒng)。一個(gè)完整的數(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)系模型的主要特點(diǎn)是用表格結(jié)構(gòu)表達(dá)實(shí)體,用鍵表示實(shí)體與實(shí)體之間的聯(lián)系。與層次模型和網(wǎng)狀模型相比,關(guān)系模型比較簡單,容易
49、為初學(xué)者接受。關(guān)系模型是由若干個(gè)關(guān)系模式組成的集合,關(guān)系模式相當(dāng)于記錄類型,它的實(shí)例稱為關(guān)系。每個(gè)關(guān)系是一張表格。表格簡單,用戶易懂,用戶只需用簡單的查詢語句就可以對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)操作,并不涉及到存儲(chǔ)結(jié)構(gòu),訪問技術(shù)等細(xì)節(jié)。關(guān)系模型是數(shù)學(xué)化的模型,要用到集合論,離散數(shù)學(xué)等知識。SQL語言是關(guān)系數(shù)據(jù)庫的代表性語言,已經(jīng)得到廣泛應(yīng)用。</p><p> 在設(shè)計(jì)數(shù)據(jù)庫時(shí),應(yīng)注意數(shù)據(jù)的安全性,保證數(shù)據(jù)的安全,防止非法用戶
50、訪問數(shù)據(jù)庫,以免泄露重要信息,同時(shí)也能51防A止s非px法用戶的蓄意破壞,有許多保護(hù)數(shù)據(jù)的方法,如采用用戶標(biāo)識,口令和密碼或訪問控制等方法。一個(gè)成功的數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)具有用戶標(biāo)識,每一個(gè)合法用戶具有一個(gè)用戶名和相應(yīng)的口令,進(jìn)入數(shù)據(jù)庫應(yīng)用系統(tǒng)前必須輸入正確的口令,否則無法進(jìn)入系統(tǒng),這就保證了只有合法的用戶才能操作數(shù)據(jù)庫系統(tǒng)。為了保證數(shù)據(jù)的合法語義,必須對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行完整性約束,即防止用戶輸入不合語義的數(shù)據(jù)。</p>&l
51、t;p> 在設(shè)計(jì)應(yīng)用軟件時(shí),應(yīng)嚴(yán)格按照軟件工程學(xué)的方法進(jìn)行設(shè)計(jì),傳統(tǒng)的方法采用瀑布模型,從問題定義、可行性分析、需求分析、概念設(shè)計(jì)、總體設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、編碼和軟件測試、運(yùn)行和維護(hù)等軟件生命周期內(nèi),每一階段均在前一階段的基礎(chǔ)上進(jìn)行設(shè)計(jì),并在每一階段有相應(yīng)的文檔資料。</p><p> 設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計(jì)一般包括如下幾個(gè)步驟:數(shù)據(jù)
52、庫需要分析,數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。</p><p><b> 3.3 性能需求</b></p><p> 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,城市公交查詢系統(tǒng)應(yīng)該滿足以下的性能需求:</p><p> 3.3.1 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性</p><p> 系統(tǒng)處理的準(zhǔn)確性和及時(shí)
53、性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足企業(yè)對信息處理的需求。</p><p> 由于公交查詢系統(tǒng)的查詢功能對于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票數(shù)量和時(shí)間又影響企業(yè)的決策活動(dòng),其準(zhǔn)確性很大程度上決定了公交查詢系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。</p>&l
54、t;p> 3.3.2 系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性</p><p> 公交查詢系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如網(wǎng)上查詢的用戶查詢的需求也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級和更新?lián)Q
55、代。</p><p> 3.3.3 系統(tǒng)的易用性和易維護(hù)性</p><p> 公交查詢系統(tǒng)是直接面對使用人員的,而使用人員往往對計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p&g
56、t; 公交查詢系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。</p><p> 3.3.4 系統(tǒng)的標(biāo)準(zhǔn)性</p><p> 系統(tǒng)在設(shè)計(jì)開發(fā)使51用aspx過程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。例如在開發(fā)中使用的操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、開發(fā)工具都必須符
57、合通用標(biāo)準(zhǔn)。如規(guī)范的數(shù)據(jù)庫操縱界面、作為業(yè)界標(biāo)準(zhǔn)的TCP/IP網(wǎng)絡(luò)協(xié)議及ISO9002標(biāo)準(zhǔn)所要求的質(zhì)量規(guī)范等;同時(shí),在自主開發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。</p><p> 3.3.5 系統(tǒng)的先進(jìn)性</p><p> 目前計(jì)算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做為公交查詢系統(tǒng)工程,應(yīng)該保證系統(tǒng)在下個(gè)世紀(jì)仍舊是先進(jìn)的,在系統(tǒng)的生命
58、周期盡量做到系統(tǒng)的先進(jìn),充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計(jì)和開發(fā)的過程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。</p><p> 3.3.6 系統(tǒng)的響應(yīng)速度</p><p> 公交查詢系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所
59、需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會(huì)因?yàn)樗俣葐栴}而影響工作效率。</p><p> 第4章 系統(tǒng)概要設(shè)計(jì)</p><p><b> 4.1概述</b></p><p> 本階段設(shè)計(jì)的基本目標(biāo)是解決系統(tǒng)如何實(shí)現(xiàn)問題,也叫做概要設(shè)計(jì),本階段主要任務(wù)是劃分出系統(tǒng)的物理元素及設(shè)計(jì)軟件的結(jié)構(gòu),完成軟件定義時(shí)期的任務(wù)之后就應(yīng)該對系統(tǒng)
60、進(jìn)行總體設(shè)計(jì),即根據(jù)系統(tǒng)分析產(chǎn)生的分5析1結(jié)果AS來PX確定這個(gè)系統(tǒng)由哪些系統(tǒng)和模塊組成,這些系統(tǒng)和模塊又如何有機(jī)的結(jié)合在一起,每個(gè)模塊的功能如何實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)的目標(biāo)是使系統(tǒng)實(shí)現(xiàn)擁有所要求的功能,同時(shí),力爭達(dá)到高效率、高可靠性、可修改性,并且容易掌握和使用。</p><p> 模塊化的依據(jù)是:把復(fù)雜問題分解成許多容易解決的小問題。原來的問題也就變得容易解決。模塊化設(shè)計(jì)是把大型軟件按照一定的原則劃分成一個(gè)較小的相
61、對功能獨(dú)立又相關(guān)聯(lián)的模塊。每個(gè)模塊完成一個(gè)特定的子功能。把這些模塊結(jié)合起來組成一個(gè)整體。完成指定的功能,滿足問題的要求。采用模塊化原理的優(yōu)點(diǎn)在于可以使軟件結(jié)構(gòu)清晰,容易測試和調(diào)試。從而提高軟件的可靠性,可修改性。有助于軟件開發(fā)的組織管理。一個(gè)大型軟件可分別編寫不同的模塊。模塊化理論的幾個(gè)重要概念如下:</p><p> 抽象。抽象就是抽象出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。處理復(fù)雜系統(tǒng)唯一有效的方法是用層次
62、的方式構(gòu)造和分析它。一個(gè)復(fù)雜的動(dòng)態(tài)系統(tǒng)首先可以用一些高級的抽象概念構(gòu)造和理解,這些高級概念又可以用一些較低級的理解,直到最低層次的具體元素。</p><p> 信息隱蔽和局部化。信息隱蔽是指在設(shè)計(jì)和確定模塊時(shí),應(yīng)使得一個(gè)模塊內(nèi)包含的信息對于不需要這些信息的模塊來說,是不能訪問。</p><p> 局部化是指把一些關(guān)系密切的軟件元素物理的放得彼此靠近。局部化有助于實(shí)現(xiàn)信息隱蔽。</
63、p><p> 信息隱蔽原理和局部化有助于在測試期間以及軟件維護(hù)期間修改軟件。因?yàn)榻^大多數(shù)數(shù)據(jù)和過程對于軟件的其它部分而言是隱蔽的,從而由疏忽引入的錯(cuò)誤就很少可能傳播到軟件的其它部分。</p><p> 逐步求精的模塊化概念。逐步求精和模塊化的抽象是密切相關(guān)的。軟件結(jié)構(gòu)每一層中模塊表示對軟件抽象層次的次細(xì)化。用自頂向下,逐步求精的方法由抽象到具體的方式分配控制,簡化了軟件設(shè)計(jì)和實(shí)施,提高了軟
64、件的可理解性和可測試性,并使得軟件更容易維護(hù)。</p><p> 模塊獨(dú)立性。模塊的劃分要使模塊間盡可能的相互獨(dú)立,獨(dú)立模塊較易維護(hù)。度量模塊的獨(dú)立程度有兩個(gè)標(biāo)準(zhǔn):內(nèi)聚和耦合。耦合是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)入或訪問一個(gè)模塊的點(diǎn),以及通過接口的數(shù)。</p><p> 在軟件的設(shè)計(jì)中應(yīng)追求盡可能松散的耦合。內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素
65、彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò)展,理想內(nèi)聚的模塊只做一件事情。在設(shè)計(jì)時(shí)應(yīng)力求做到高內(nèi)聚。</p><p> 4.2 功能模塊劃分</p><p><b> 查詢系統(tǒng)模塊</b></p><p> 該模塊實(shí)現(xiàn)公交查詢功能??蓪?shí)現(xiàn)按線路查詢、站點(diǎn)查詢和起點(diǎn)—終點(diǎn)查詢?nèi)N查詢方式。</p><p>
66、<b> 錄入系統(tǒng)模塊</b></p><p> 該模塊實(shí)現(xiàn)數(shù)據(jù)的新增、修改、刪除功能。</p><p> 系統(tǒng)模塊圖如圖4-1所示:</p><p><b> 4.3 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫技術(shù)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來的一種高效的數(shù)據(jù)管理技術(shù),它能保持系統(tǒng)數(shù)據(jù)的
67、整體性,完整性和共享性。在數(shù)據(jù)庫系統(tǒng)中提供了對數(shù)據(jù)的訪問機(jī)制,能有組織的存儲(chǔ)相關(guān)的數(shù)據(jù),具有合理的存儲(chǔ)方式,快速的查詢效率和最小的數(shù)據(jù)冗余等特性。另外數(shù)據(jù)的存儲(chǔ)和應(yīng)用程序彼此獨(dú)立,不僅便于數(shù)據(jù)的管理與控制而且有利于應(yīng)用程序的編寫與調(diào)試。數(shù)據(jù)庫類似于一個(gè)數(shù)據(jù)的大倉庫,能很好地實(shí)現(xiàn)數(shù)據(jù)共享,能維護(hù)數(shù)據(jù)的一致性。數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的一個(gè)重要內(nèi)容,其設(shè)計(jì)質(zhì)量的好壞直接影響系統(tǒng)開發(fā)的成敗,系統(tǒng)的質(zhì)量,系統(tǒng)效率及可維護(hù)性。</p>
68、<p> 在本系統(tǒng)的設(shè)計(jì)中,充分考慮到了管理系統(tǒng)數(shù)據(jù)繁雜,重復(fù)性很大,數(shù)據(jù)使用頻繁。因此本系統(tǒng)采用了一種能正確反映用戶實(shí)現(xiàn)環(huán)境,能被現(xiàn)行系統(tǒng)接受,易于維護(hù)、效率高的數(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è)計(jì)的核心問題是設(shè)計(jì)好的數(shù)據(jù)模型。在目前的數(shù)據(jù)庫管理系統(tǒng)中有層次模型,網(wǎng)狀模型、關(guān)系模型三種
69、數(shù)據(jù)模型。其中,關(guān)系模型具有較高的數(shù)據(jù)獨(dú)立性,使用也較為方便。本設(shè)計(jì)采用關(guān)系數(shù)據(jù)庫。該數(shù)據(jù)庫實(shí)行增、刪、編輯、統(tǒng)計(jì)。顯示和打印都極為方便。其中的排序和索引功能,對數(shù)據(jù)快速定位,查詢提供了有利條件。交流互動(dòng)對于本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)有以下幾點(diǎn)說明:數(shù)據(jù)庫設(shè)計(jì)兼顧前面設(shè)計(jì)的數(shù)據(jù)流程圖,管理信息系統(tǒng)的設(shè)計(jì)并不是以數(shù)據(jù)庫為核心的數(shù)據(jù)庫應(yīng)用設(shè)計(jì),本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)盡量滿足3NF(第三范式)的要求,本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)以提高系統(tǒng)運(yùn)行效率為前提。</
70、p><p> 4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p> 在系統(tǒng)設(shè)計(jì)的開始,我首先考慮的是如何用數(shù)據(jù)模型來數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實(shí)世界進(jìn)行抽象。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨(dú)立于計(jì)算機(jī)系統(tǒng)的“概念數(shù)據(jù)模型”,如“實(shí)體聯(lián)系模型”;另一種是直接面向數(shù)據(jù)庫邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。在本系統(tǒng)中我采用“實(shí)體聯(lián)系模型”(ER模型)來描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實(shí)世界進(jìn)行第
71、一次抽象。ER模型直接從現(xiàn)實(shí)世界抽象出實(shí)體類型及實(shí)體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型。它有兩個(gè)明顯的優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無關(guān),用戶容易接受。但它只是數(shù)據(jù)庫設(shè)計(jì)的第一步。</p><p> E-R圖是直觀表示概念模型的工具,它有三個(gè)基本成分:</p><p> ?。?)矩形框,表示實(shí)體類型(考慮問題的對象)。</p><p> ?。?)菱形框
72、,表示聯(lián)系類型(實(shí)體間的聯(lián)系)。</p><p> ?。?)橢圓形框,表示實(shí)體的屬性。</p><p> 實(shí)體和屬性的定義如下:</p><p> 管理員表(登陸ID,登錄姓名,登錄密碼)</p><p> 站名表(站名編號,站名)</p><p> 車輛線路編號表(車次,車線類型)</p>&l
73、t;p> 線路表(線路編號,車次,站名,次序)</p><p> 車輛表(車輛編號,車次,車輛類型,服務(wù)類型,票價(jià),IC卡類型,運(yùn)行區(qū)間)</p><p> 冬季發(fā)車時(shí)間表(車次,編號,首班時(shí)間,末班時(shí)間)</p><p> 夏季發(fā)車時(shí)間表(車次,編號,首班時(shí)間,末班時(shí)間)</p><p> 各實(shí)體屬性圖如圖4-2所示。<
74、;/p><p> 圖4-2 實(shí)體屬性關(guān)系圖</p><p> 本系統(tǒng)的總體E-R圖如圖4-3所示。</p><p> 4.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)采用的數(shù)據(jù)庫管理系統(tǒng)是Microsoft公司的SQL Server 2005。該管理系統(tǒng)由一系列產(chǎn)品組成,不僅能夠滿足最大的數(shù)據(jù)處理系統(tǒng)和商業(yè) Web 站點(diǎn)存儲(chǔ)數(shù)據(jù)的需
75、要,還能為個(gè)人或小企業(yè)提供易于使用的數(shù)據(jù)存儲(chǔ)服務(wù)。</p><p> Microsoft SQL Server 2005 的特性包括: </p><p><b> (1)企業(yè)數(shù)據(jù)管理</b></p><p> 在當(dāng)今的互聯(lián)世界中,數(shù)據(jù)和管理數(shù)據(jù)的系統(tǒng)必須始終為用戶可用且能夠確保安全。有了 SQL Server 2005,組織內(nèi)的用戶和信息
76、技術(shù) (IT) 專家將從減少的應(yīng)用程序停機(jī)時(shí)間、提高的可伸縮性及性能、更緊密而靈活的安全控制中獲益。SQL Server 2005 也包括了許多新的和改進(jìn)的功能來幫助 IT 工作人員更有效率地工作。SQL Server 2005 包含幾個(gè)在企業(yè)數(shù)據(jù)管理中關(guān)鍵的增強(qiáng):易管理性、可用性、可伸縮性、安全性。</p><p> SQL Server 2005 使部署、管理和優(yōu)化企業(yè)數(shù)據(jù)以及分析應(yīng)用程序變得更簡單、更容易
77、。作為一個(gè)企業(yè)數(shù)據(jù)管理平臺(tái),它提供單一管理控制臺(tái),使數(shù)據(jù)管理員能夠在任何地方監(jiān)視、管理和調(diào)諧企業(yè)中所有的數(shù)據(jù)庫和相關(guān)的服務(wù)。它還提供了一個(gè)可以使用 SQL 管理對象輕松編程的可擴(kuò)展的管理基礎(chǔ)結(jié)構(gòu),使得用戶可以定制和擴(kuò)展他們的管理環(huán)境,同時(shí)使獨(dú)立軟件供應(yīng)商 (ISV) 也能夠創(chuàng)建附加的工具和功能來更好地?cái)U(kuò)展打開即得的能力。</p><p> ?。?)SQL Server Management Studio</
78、p><p> SQL Server 2005 通過提供一個(gè)集成的管理控制臺(tái)來監(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ù)庫管理員能夠同時(shí)執(zhí)
79、行多個(gè)任務(wù),例如,編寫和執(zhí)行查詢,查看服務(wù)器對象,管理對象,監(jiān)視系統(tǒng)活動(dòng)和查看聯(lián)機(jī)幫助。SQL Server Management Studio 提供了一個(gè)開發(fā)環(huán)境,可在其中使用 Transact-SQL、多維表達(dá)式、XML for Analysis 和 SQL Server Mobile Edition 來編寫、編輯和管理腳本和存儲(chǔ)過程。Management Studio 可以很容易地與源代碼控制集成在一起。Management St
80、udio 還包括一些工具可用來調(diào)度 SQL Server 代理作業(yè)和管理維護(hù)計(jì)劃,以自動(dòng)執(zhí)行日常維護(hù)和操作任務(wù)。管理和腳本編寫集成在單一工具中,同時(shí),該工具</p><p> SQL Server 2005 開放了 70 多個(gè)新的內(nèi)部數(shù)據(jù)庫性能和資源使用的度量值,涵蓋了從內(nèi)存、鎖定到對事務(wù)、網(wǎng)絡(luò)和磁盤 I/O 的調(diào)度等。這些動(dòng)態(tài)管理視圖 (DMV) 提供了對數(shù)據(jù)庫和強(qiáng)大的基礎(chǔ)結(jié)構(gòu)的更大的透明度和可見性,可以主動(dòng)
81、監(jiān)視數(shù)據(jù)庫的狀況和性能。</p><p> (3)SQL 管理對象</p><p> SQL 管理對象 (SMO) 是一個(gè)新的可編程對象集,它可實(shí)現(xiàn)所有 SQL Server 數(shù)據(jù)庫的管理功能。事實(shí)上,Management Studio 就是構(gòu)建在 SQL 管理對象之上的。SMO 是作為 Microsoft .NET Framework 程序集實(shí)現(xiàn)的。您可以使用 SMO 自動(dòng)執(zhí)行常見的
82、 SQL Server 管理任務(wù),例如,用編程方式檢索配置設(shè)置,創(chuàng)建新數(shù)據(jù)庫,應(yīng)用 Transact-SQL 腳本,創(chuàng)建 SQL Server 代理作業(yè)以及調(diào)度備份等。SMO 對象模型替代了包含在 SQL Server 早期版本中的分布式管理對象 (DMO),因?yàn)樗踩煽坎⒕哂懈叩目缮炜s性。</p><p><b> ?。?)可用性</b></p><p>
83、在高可用性技術(shù)、額外的備份和恢復(fù)功能,以及復(fù)制增強(qiáng)上的投資使企業(yè)能夠構(gòu)建和部署高可用的應(yīng)用程序。在高可用性上的創(chuàng)新有:數(shù)據(jù)庫鏡像、故障轉(zhuǎn)移群集、數(shù)據(jù)庫快照和增強(qiáng)的聯(lián)機(jī)操作,這有助于最小化停機(jī)時(shí)間,并確??梢栽L問關(guān)鍵的企業(yè)系統(tǒng)。本節(jié)將詳細(xì)介紹這些增強(qiáng)特性。</p><p><b> ?。?)數(shù)據(jù)庫鏡像</b></p><p> 數(shù)據(jù)庫鏡像允許事務(wù)日志以連續(xù)的方式從源服
84、務(wù)器傳遞到單臺(tái)目標(biāo)服務(wù)器上。當(dāng)主系統(tǒng)出現(xiàn)故障時(shí),應(yīng)用程序可以立即重新連接到輔助服務(wù)器上的數(shù)據(jù)庫。輔助實(shí)例幾秒鐘內(nèi)即可檢測到主服務(wù)器發(fā)生了故障,并能立即接受數(shù)據(jù)庫連接。數(shù)據(jù)庫鏡像工作在標(biāo)準(zhǔn)服務(wù)器硬件下,不需要特定的存儲(chǔ)或控制器。</p><p> 本系統(tǒng)創(chuàng)建的SQL數(shù)據(jù)庫名稱為城市公交查詢系統(tǒng)。并將數(shù)據(jù)文件和日志文件保存在公交查詢系統(tǒng)APP_DATA文件夾中。此數(shù)據(jù)庫包含7個(gè)表:</p><p
85、> ?、俟芾韱T表(LoginTable)</p><p> 管理員表存放登陸系統(tǒng)所需要的用戶名和密碼,登錄后臺(tái)時(shí)需要訪問此表。</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> ⑤車輛表</b></p><p> 車輛表存放車輛的相關(guān)信息,修改車輛等相關(guān)信息需要訪問此表。</p
88、><p><b> 表4-5 車輛表</b></p><p><b> ?、尴募景l(fā)車時(shí)刻表</b></p><p> 夏季發(fā)車時(shí)刻表存放夏季發(fā)車的時(shí)間,修改夏季發(fā)車時(shí)間需要訪問此表。</p><p> 表4-6 夏季發(fā)車時(shí)刻表</p><p><b> ?、叨景l(fā)
89、車時(shí)刻表</b></p><p> 冬季發(fā)車時(shí)刻表存放冬季發(fā)車的時(shí)間,修改冬季發(fā)車時(shí)間需要訪問此表。</p><p> 表4-7 冬季發(fā)車時(shí)刻表</p><p> 第5章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 5.1 前臺(tái)功能的實(shí)施</p><p> 5.1.1連接數(shù)據(jù)庫的包含文件</p>
90、<p> 在動(dòng)態(tài)網(wǎng)站中,調(diào)用數(shù)據(jù)庫中的數(shù)據(jù)是十分頻繁的,為了避免編寫重復(fù)的代碼。編寫一個(gè)數(shù)據(jù)庫連接文件是非常重要的。DB.cs文件中包含了本系統(tǒng)中的數(shù)據(jù)庫的連接代碼。本系統(tǒng)的數(shù)庫的連接代碼如下:</p><p> public static SqlConnection createConnection()</p><p><b> {</b><
91、;/p><p> SqlConnection con=new SqlConnection("server=.;database=城市公交查詢系統(tǒng);uid=sa;pwd=;");</p><p> return con;</p><p><b> }</b></p><p> 5.1.2按線路查詢&
92、lt;/p><p> 線路查詢模塊:用戶進(jìn)入系統(tǒng)后,在線路查詢模塊的輸入框中輸入要查詢的線路,點(diǎn)擊查詢按鈕,系統(tǒng)首先檢查用戶所查詢的線路是否存在,如果不存在給出出錯(cuò)提示,如果存在給出這條線路的相關(guān)信息,如:雙向早晚車的工作時(shí)間,票價(jià),經(jīng)過的站點(diǎn)。如線路存在,進(jìn)入線路界面如圖5-1所示:</p><p><b> 圖5-1 線路查詢</b></p><
93、;p><b> 主要實(shí)現(xiàn)代碼如下:</b></p><p> SqlCommand cmdsj=new SqlCommand(cmdstring,con);</p><p> SqlDataReader sdrsj=cmdsj.ExecuteReader();</p><p> while(sdrsj.Read()){string
94、 linetemp1=sdrsj["首班時(shí)間"].ToString();</p><p> string linetemp2=sdrsj["末班時(shí)間"].ToString();</p><p> line+="<font size=3>(首班時(shí)間為:"+linetemp1+" ";</
95、p><p> line+="末班時(shí)間為:"+linetemp2+")</font><br>";}</p><p> SqlCommand cmd=new SqlCommand("select * from 公交車線路表where 車次="+num+"order by 次序ASC",con
96、);SqlDataReader sdr=cmd.ExecuteReader();</p><p> try{while(sdr.Read()){line+=sdr["站名"].ToString();</p><p> line=line.Replace(sdr["站名"].ToString(),"<font color=red&g
97、t;"+sdr["站名"].ToString()+"</font>");</p><p> line+="-->";}}</p><p> finally{dr.Close();con.Close();}</p><p><b> int i;</b>
98、</p><p> i=Convert.ToInt32(line.Length);</p><p> line=line.Substring(0,i-3); }</p><p> 5.1.3按站點(diǎn)查詢</p><p> 站點(diǎn)查詢模塊:用戶進(jìn)入系統(tǒng)后,在站點(diǎn)查詢模塊中有二種選擇,第一個(gè)是按站點(diǎn)的確切信息也就是完全匹配查詢,此時(shí)用戶要給出
99、站點(diǎn)的全稱,當(dāng)點(diǎn)擊查詢按鈕后,系統(tǒng)會(huì)在數(shù)據(jù)庫中檢測該站點(diǎn)是否存在,如果存在,系統(tǒng)顯示這個(gè)站點(diǎn)的相關(guān)信息。比如:經(jīng)過這個(gè)站點(diǎn)共有哪些線路,這些線路又各經(jīng)過哪些站點(diǎn),第二個(gè)選擇是站點(diǎn)的模糊查詢,也就是不完全匹配,用戶只需輸入站點(diǎn)名稱和部分字符信息,系統(tǒng)便會(huì)給出與此相關(guān)的所有站點(diǎn)信息。當(dāng)輸入確切站點(diǎn)后,進(jìn)入的界面如圖5-2所示:</p><p><b> 圖5-2 站點(diǎn)查詢</b></p&
100、gt;<p><b> 主要實(shí)現(xiàn)代碼如下:</b></p><p> SqlCommand cmd=new SqlCommand("SELECT 車次FROM 公交車線路表 WHERE 站名='"+a+"'",con);</p><p> SqlDataReader sdr=cmd.Execu
101、teReader();</p><p> while(sdr.Read()){alS.Add(sdr.GetValue(0));}</p><p> cmd.CommandText="SELECT 車次FROM 公交車線路表WHERE 站名='"+b+"'";</p><p> SqlDataReader
102、 sdr1=cmd.ExecuteReader();</p><p> while(sdr1.Read()){alE.Add(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].T
103、oString()==alE[j].ToString()){alNum.Add(alE[j]); }}}</p><p> 5.1.4按兩站點(diǎn)查詢</p><p> 兩站點(diǎn)查詢模塊:用戶進(jìn)入系統(tǒng)后,在主頁面的換乘查詢模塊中有兩種選擇,第一是直達(dá),第二個(gè)是一次換乘。用戶可以在起點(diǎn)站輸入框中輸入自已的出發(fā)點(diǎn),然后在終點(diǎn)站輸入框輸入出行的終點(diǎn),如果選擇直達(dá),系統(tǒng)便會(huì)檢測這兩個(gè)站點(diǎn)間是否
104、有直達(dá)車,如果沒有直達(dá)車,系統(tǒng)會(huì)給出相關(guān)提示,那么用戶便可以選擇一次換乘,系統(tǒng)會(huì)檢測是否有一次換乘方案,如果有系統(tǒng)會(huì)給出所換乘方案。界面如圖5-3,5-4所示:</p><p><b> 圖5-3 兩點(diǎn)查詢</b></p><p><b> 圖5-4 兩點(diǎn)查詢</b></p><p><b> 主要實(shí)現(xiàn)代碼
105、如下:</b></p><p> if(cixuS<cixuE) {zhanmNum=cixuE-cixuS+1;</p><p> cmd.CommandText="SELECT 站名FROM 公交車線路表WHERE 次序BETWEEN "+cixuS+" AND "+cixuE+" AND 車次="+al
106、Num[k].ToString()+" ORDER BY 次序ASC";}</p><p> else{zhanmNum=cixuS-cixuE+1;</p><p> cmd.CommandText="SELECT 站名FROM 公交車線路表WHERE 次序BETWEEN "+cixuE+" AND "+cixuS+&quo
107、t; AND 車次="+alNum[k].ToString()+" ORDER BY 次序DESC";}</p><p> str+="<font color=red>"+alNum[k].ToString()+"</font>";</p><p> str+="路(總共經(jīng)
108、過<font color=red>"+zhanmNum.ToString()+"</font>個(gè)站)";</p><p> 5.2后臺(tái)管理功能的實(shí)現(xiàn)</p><p> 5.2.1新增車次線路</p><p> 此模塊為管理員操作,如當(dāng)?shù)爻霈F(xiàn)新的公交線路,或原有公交車線路有新的站點(diǎn)加入,管理員可以登陸此表,及
109、時(shí)添加線路和站點(diǎn)的信息,以保證車次線路的及時(shí)更新,方便用戶查詢。添加的界面如圖5-5,5-6所示:</p><p><b> 圖5-5 新增車次</b></p><p> 圖5-6新增線路站名</p><p><b> 主要實(shí)現(xiàn)代碼如下:</b></p><p> if(Check()){i
110、nt maxChelNo=GetMaxChelNo();</p><p> SqlConnection con=DB.createConnection();</p><p> con.Open();</p><p> SqlCommand cmd=new SqlCommand("INSERT INTO 車輛線路編號表(車次,車線類型)VALUES(@
111、車次,@車線類型)",con);</p><p> SqlParameter para=new SqlParameter("@車次",SqlDbType.Int,4);</p><p> para.Value=Convert.ToInt32(this.txtCheci.Text.Trim());</p><p> cmd.Para
112、meters.Add(para);</p><p> para=new SqlParameter("@車線類型",SqlDbType.NVarChar,50);</p><p> para.Value=this.ddlLineType.SelectedValue;</p><p> cmd.Parameters.Add(para);<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文---城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文-城市公交查詢系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于web的城市公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于net的城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于net的城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 畢業(yè)論文——基于net的城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 公交查詢系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的城市公交查詢系統(tǒng)畢業(yè)論文
- 公交查詢系統(tǒng)畢業(yè)論文 (2)
- 城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 城市公交查詢系統(tǒng)畢業(yè)論文最終版.doc
- 城市公交查詢系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于.net的城市公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的城市公交查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的公交查詢系統(tǒng) ——畢業(yè)論文
- 基于.net的城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計(jì)論文
評論
0/150
提交評論