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

下載本文檔

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

文檔簡介

目 錄 城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(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)概要設(shè)計(jì) . 9 4.1 概述 . 9 4.2 功能模塊劃分 . 9 4.3 數(shù)據(jù)庫設(shè)計(jì) . 10 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) . 17 5.1 前臺(tái)功能的實(shí)施 . 17 5.2 后臺(tái)管理功能的實(shí)現(xiàn) . 21 第 6 章 測試與維護(hù) . 27 6.1 創(chuàng)建和測試應(yīng)用程序 . 27 6.2 測試項(xiàng)目 . 27 6.3 程序改進(jìn) . 28 6.4 測試方法 . 28 6.5 測試內(nèi)容 . 29 6.6 軟件維護(hù) . 29 結(jié) 論 . 31 致 謝 . 32 參考文獻(xiàn) . 33 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 摘 要 I 摘 要 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個(gè)較落后的水平 ,廣大乘客可以獲得信息的方式很少 ,為了解決這種問題 ,加快發(fā)展城市公交信息化,設(shè)計(jì)一個(gè)城市公交查詢系統(tǒng)是具有一定實(shí)際應(yīng)用意義的。在此背景下,我開發(fā)了這個(gè)應(yīng)用程序 -城市公交查詢系統(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)。 關(guān)鍵詞: 公交 , ASP.NET,查詢, B/S 結(jié)構(gòu),數(shù)據(jù)庫大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 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)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 1 章 引 言 1 第 1 章 引 言 1.1 課題背景 城市 公交 是專門服務(wù)于市民出行的客運(yùn)企業(yè)。它是城市社會(huì)和經(jīng)濟(jì)活動(dòng)的重要組成部分。伴隨著國民經(jīng)濟(jì)和城市建設(shè)的快速發(fā) 展,城市經(jīng)濟(jì)的繁榮,人口的增加,城市必須解決好人們出行的需求。 城市公交 直接關(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)大的功能。 隨著城市經(jīng)濟(jì)的發(fā)展、規(guī)模的擴(kuò)大以及人口的增長,城市交通問題日益突出。降低出行時(shí)間將使所有的公交利用者產(chǎn)生效 益,快速的交通、更好的信息及更好的市場可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運(yùn)輸以其覆蓋面廣、經(jīng)濟(jì)、快捷的特點(diǎn),成為絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統(tǒng)方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。 我國城市公交乘客信息系統(tǒng)的發(fā)展處于一個(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ì)。 現(xiàn)階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進(jìn)行商業(yè)有關(guān)或其他事情需要在外地進(jìn)行短暫停留的人而言,公交對他們是必不可少的,但是對于那個(gè)不屬于自己所熟悉的城市,坐公交也是一個(gè)很大的難題,因此,開發(fā)一個(gè)公交查詢系統(tǒng)就顯得非常的重要。本系統(tǒng)的核心是對選擇好的車次進(jìn)行路線的查詢,或者輸入所要查詢的車站名,點(diǎn)擊“查詢”按鈕,查 詢所有含有該站的車次及相應(yīng)的??空尽4颂幖瓤梢浴熬_查詢”也可以是“模糊查詢”,“模糊查詢”主要方便那些對站名不是很清楚,但知道其中的一部分的乘客,系統(tǒng)可以幫助他們快速的查出。 1.2 論文的研究內(nèi)容 公交查詢系統(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ì)介紹了如何創(chuàng)建“公交查詢系統(tǒng)”的全部過程。 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 1 章 引 言 2 1.3 論文的組織結(jié)構(gòu) 論文第 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)境。 第 3 章是系統(tǒng)的需求分析和數(shù)據(jù)庫總體設(shè)計(jì),包括系統(tǒng)需求,性能分析等。 第 4 章是系統(tǒng)的系統(tǒng)概要設(shè)計(jì),包括系統(tǒng)的模塊劃分,數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)。 第 5 章是系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),包括系統(tǒng) 各個(gè)界面設(shè)計(jì)和相關(guān)重要注釋。 第 6 章是系統(tǒng)測試和維護(hù)。 最后是結(jié)論、致謝、參考文獻(xiàn)及附錄。 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 3 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 2.1 ASP.NET 簡介 ASP.NET 是一種建立在通用語言上的程序構(gòu)架,能被用于一臺(tái) Web 服務(wù)器來建立強(qiáng)大的Web 應(yīng)用程序。 ASP.NET 提供許多比現(xiàn)在的 Web 開發(fā)模式強(qiáng)大的的優(yōu)勢 。 ASP.NET 建立在 .NET Framework 的編程類之上,它提供了一個(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ì)話狀態(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、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。 Visual Basic .NET、 Visual C+ .NET、 Visual C# .NET 和 Visual J# .NET 全都使用相同的集成開發(fā)環(huán)境 (IDE),該環(huán)境允許它們共享工具并有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功 能,此框架提供對簡化 ASP Web 應(yīng)用程序和 XML Web services 開發(fā)的關(guān)鍵技術(shù)的訪問。 2.1.1 ASP.NET 技術(shù)的優(yōu)點(diǎn) ASP.NET 是一種將各種 Web 元素組合在一起的服務(wù)器技術(shù),是一個(gè)統(tǒng)一的 Web 開發(fā)平臺(tái),它提供了生成一個(gè)完整的 Web 應(yīng)用程序所必須要的各種服務(wù)。與以前的開發(fā)模型相比較,它提供了以下數(shù)個(gè)重要的優(yōu)點(diǎn): ( 1) 增強(qiáng)的性能。 ASP.NET 是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫代碼。與被解釋的前輩不同, ASP.NET 可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這 相當(dāng)于在編寫代碼之前便顯著提高了性能。 ( 2) 世界級的工具支持。 ASP.NET 框架補(bǔ)充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。 WYSIWYG 編輯、拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大的工具所提供功能中的少數(shù)幾種。 ( 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í)保留基于 COM 的開發(fā)中的現(xiàn)有投資。 ( 4) 簡易性。 ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗(yàn)證到部署 的 站點(diǎn)配置。例如, ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 4 用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運(yùn)行庫利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡化了開發(fā)。 ( 5) 可管理性。 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í)。 ( 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)用程序始終可用于處理請求。 ( 7) 自定義性和擴(kuò)展性。 ASP.NET 隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e “ 插入 ” 代碼。實(shí)際上,可以用自己編寫的自定義組件擴(kuò)展或替換 ASP.NET 運(yùn)行庫的任何子組件。實(shí)現(xiàn)自定義身份驗(yàn)證或狀態(tài)服務(wù)一直沒有變得更容易。 ( 8) 安全性。借助內(nèi)置的 Windows 身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。 2.1.2 .NET Framework 概述 .NET Framework 是用于生成、部署和運(yùn)行 XML Web services 和應(yīng)用程序的多語言環(huán)境。它由 以下幾個(gè) 主要部分組成: 公共語言運(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)行庫的作用稍有變化;由于做了大量的自動(dòng)處理工作(如內(nèi)存管理),運(yùn)行庫使開發(fā)人員的操作非常簡單,尤其是與今天的 COM 相比。特別 是反射等功能顯著減少了開發(fā)人員為將業(yè)務(wù)邏輯轉(zhuǎn)變?yōu)榭芍赜媒M件而必須編寫的代碼量。 統(tǒng)一編程類 該框架為開發(fā)人員提供了統(tǒng)一的、面向?qū)ο蟮?、分層的和可擴(kuò)展的類庫集 (API)。目前, C+ 開發(fā)人員使用 Microsoft 基礎(chǔ)類,而 Java 開發(fā)人員使用 Windows 基礎(chǔ)類。框架統(tǒng)一了這些完全不同的模型并且為 Visual Basic 和 JScript 程序員同樣提供了對類庫的訪問。通過創(chuàng)建跨所有編程語言的公共 API 集,公共語言運(yùn)行庫使得跨語言繼承、錯(cuò)誤處理和調(diào)試成為可能。從 JScript 到 C+ 的所有編程語言具有對框架的相似訪問,開發(fā)人員可以自由選擇它們要使用的語言。 2.2 ADO.NET 概述 ADO.NET 并不是 ADO 的升級版本,它是全新的面向?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ò)大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 2 章 系統(tǒng)的開發(fā)工具與環(huán)境 5 展性 、 支持多層應(yīng)用程序、統(tǒng)一 XML 和關(guān)系數(shù)據(jù)訪問 的特點(diǎn)。 ADO.NET 的主要目標(biāo)是提供對關(guān)系數(shù)據(jù)的簡單訪問功能。坦白的說,易于使 用的類描述關(guān)系數(shù)據(jù)庫中的表、列和行。另外, ADO.NET 引入了 DataSet 類,它代表來自封裝在一個(gè)單元中的關(guān)聯(lián)表中的一組數(shù)據(jù),維持他們之間完整的關(guān)系。這是在 ADO.NET 中的新概念,可以顯著的擴(kuò)展數(shù)據(jù)訪問接口的功能。 ADO.NET 可以擴(kuò)展 它為插件 .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ù)庫和非關(guān)系數(shù)據(jù)。另外, Microsoft 最近預(yù)演了用于ADO.NET 的 ODBC.NET 數(shù)據(jù)提供者,它允許 .NET 訪問更多的舊的數(shù)據(jù)格式和第三方數(shù)據(jù)庫。 ADO.NET 用于多層應(yīng)用程序。這是當(dāng)今商業(yè)和電子商務(wù)應(yīng)用程序最常見的體系結(jié)構(gòu)。在多層體系結(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)一層或多層。 那么在 Visual Studio.NET 中 ADO.NET 訪問數(shù)據(jù)庫分為二種。一種是 SQL Server 數(shù)據(jù)庫,另一種是其它任何類型的數(shù)據(jù)庫。 本系統(tǒng)的后臺(tái)數(shù)據(jù)庫為 SQL Server 2005,因此是 通過SQLConnection、 SqlCommand、 SqlDataAdapter、 DataSet 等幾個(gè)主要的數(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ā)平臺(tái): Visual Studio.NET 2005, Microsoft SQL Server 2005。大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 3 章 需求分析 6 第 3 章 需求分析 3.1 系統(tǒng)需求分析 隨著我國經(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í)際,著眼于公交業(yè)的未來發(fā)展,規(guī)范公交管理,提高服務(wù)質(zhì)量,方便乘客查詢,并為此設(shè)計(jì)該系統(tǒng)。 人們生活水平的提高,越來越多人喜歡旅游,但是第一次來一個(gè)陌生的城市,肯定對公交路線不熟悉,所以必定需要一個(gè)能查看具體公交線路的公交系統(tǒng)。有些只知道一個(gè)站的某幾個(gè)字或一個(gè)車次的某幾個(gè)數(shù)字,所以本系統(tǒng)將 給出站點(diǎn)的模糊查詢,方便用戶的查詢,有些只知道車次或某個(gè)站點(diǎn),本系統(tǒng)也給出了公交線路查詢、公交站點(diǎn)查詢、公交換乘查詢,進(jìn)一步方便大家的出行,但也有用戶什么都查不到,想留言問問人,所以再搞個(gè)留言板很有必要,方便大家交流以及解答各種疑難問題! 本系統(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)的功能 前臺(tái)主要有 3 個(gè)模塊,線路查詢、站點(diǎn) 查詢、公交換乘模塊和后臺(tái)管理模塊 功能名稱:線路查詢 功能概述:可以獲得要查詢公交所通過的各個(gè)站點(diǎn)。 功能名稱:站點(diǎn)查詢 功能概述:通過輸入的指定站點(diǎn)查詢經(jīng)過該站點(diǎn)的公交。 功能名稱:公交換乘查詢 功能概述:分為公交直達(dá)、公交一次換乘,主要體現(xiàn)那些不可直達(dá)需要轉(zhuǎn)車的路線的所有換法。 (如果用戶輸入的起始點(diǎn)和終點(diǎn),有一條及一條以上的公交線可以直達(dá)的,則為公交直達(dá);如果輸入的起始點(diǎn)和終點(diǎn),沒有一條公交線可以直接到的,系統(tǒng)將會(huì)給出一次換乘的方案,則為公交一次換乘 ) 功能名稱:后臺(tái)管理 功能概述:用于管理員登陸,添加 、修改、刪除公交線路,修改信息資料、安全密碼,回復(fù)留言板等功能。 本系統(tǒng)提供了的車次查詢功能、路 5 線 1 查 A 詢 S 功 P 能 X。乘客可以方便的進(jìn)行查詢,以防乘錯(cuò)車次。當(dāng)然有些功能的智能化不是很強(qiáng),系統(tǒng)有待進(jìn)一步來完善。 3.2 數(shù)據(jù)庫需求分析 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對應(yīng)用系大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 3 章 需求分析 7 統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。 數(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)我們正確地設(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è)施。 目前許多數(shù)據(jù)庫管理系統(tǒng)都基于關(guān)系模型,關(guān)系模型的主要特點(diǎn)是用表格結(jié)構(gòu)表達(dá)實(shí)體,用鍵表示實(shí)體與實(shí)體之間的聯(lián)系。與層次模型和網(wǎng)狀模型相比,關(guān)系模型比較簡單,容易為初學(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é)等知識(shí)。 SQL 語言是關(guān)系數(shù)據(jù)庫的代表性語言,已經(jīng)得到廣泛應(yīng)用。 在設(shè)計(jì)數(shù)據(jù)庫時(shí),應(yīng)注意數(shù)據(jù)的安全性,保證數(shù)據(jù)的安全,防止非法用戶訪問數(shù)據(jù)庫,以免泄露重要信息,同時(shí)也能 51 防 A 止 s 非 px 法用戶的蓄意破壞,有許多保護(hù)數(shù)據(jù)的方法,如采用用戶標(biāo)識(shí),口令和密碼或訪問控制等方法。一個(gè)成功的數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)具有用戶標(biāo)識(shí),每 一個(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ù)。 在設(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)的文檔資料。 設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí)應(yīng)該首先 充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計(jì)一般包括如下幾個(gè)步驟:數(shù)據(jù)庫需要分析 , 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) , 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。 3.3 性能需求 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,城市公交查詢系統(tǒng)應(yīng)該滿足以下的性能需求: 3.3.1 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足企業(yè)對信息處理的需求。 由于公交查詢系統(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)確性。 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 3 章 需求分析 8 3.3.2 系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性 公交查詢系統(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代。 3.3.3 系統(tǒng)的易用性和易維護(hù)性 公交查詢系統(tǒng)是直接面對使用人員的,而使用人員往往對計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。 公交查詢系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工 作。 3.3.4 系統(tǒng)的標(biāo)準(zhǔn)性 系統(tǒng)在設(shè)計(jì)開發(fā)使 51 用 aspx 過程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標(biāo)準(zhǔn)。例如在開發(fā)中使用的操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、開發(fā)工具都必須符合通用標(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ī)范,保證代碼的易讀性、可操作性和可移植性。 3.3.5 系統(tǒng)的先進(jìn)性 目前計(jì)算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,做 為公交查詢系統(tǒng) 工程,應(yīng)該保證系統(tǒng) 在下個(gè)世紀(jì)仍舊是先進(jìn)的,在系統(tǒng)的生命周期盡量做到系統(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)品。 3.3.6 系統(tǒng)的響應(yīng)速度 公交查詢系統(tǒng) 在日常處理中的響應(yīng)速度為秒級,達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會(huì)因?yàn)樗俣葐栴}而影響工作效率。 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 9 第 4 章 系統(tǒng)概要設(shè)計(jì) 4.1 概述 本階 段設(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)進(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á)到高效率、高可靠性、可修改性,并且容易掌握和使用。 模塊化的依據(jù)是:把復(fù)雜問題分解成許多容易解決的小問題。原來的問題也就變得容易解決。模塊化設(shè)計(jì)是把大型軟件 按照一定的原則劃分成一個(gè)較小的相對功能獨(dú)立又相關(guān)聯(lián)的模塊。每個(gè)模塊完成一個(gè)特定的子功能。把這些模塊結(jié)合起來組成一個(gè)整體。完成指定的功能,滿足問題的要求。采用模塊化原理的優(yōu)點(diǎn)在于可以使軟件結(jié)構(gòu)清晰,容易測試和調(diào)試。從而提高軟件的可靠性,可修改性。有助于軟件開發(fā)的組織管理。一個(gè)大型軟件可分別編寫不同的模塊。模塊化理論的幾個(gè)重要概念如下: 抽象。 抽象就是抽象出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。處理復(fù)雜系統(tǒng)唯一有效的方法是用層次的方式構(gòu)造和分析它。一個(gè)復(fù)雜的動(dòng)態(tài)系統(tǒng)首先可以用一些高級的抽象概念構(gòu)造和理解,這些高 級概念又可以用一些較低級的理解,直到最低層次的具體元素。 信息隱蔽和局部化。信息隱蔽是指在設(shè)計(jì)和確定模塊時(shí),應(yīng)使得一個(gè)模塊內(nèi)包含的信息對于不需要這些信息的模塊來說,是不能訪問。 局部化是指把一些關(guān)系密切的軟件元素物理的放得彼此靠近。局部化有助于實(shí)現(xiàn)信息隱蔽。 信息隱蔽原理和局部化有助于在測試期間以及軟件維護(hù)期間修改軟件。因?yàn)榻^大多數(shù)數(shù)據(jù)和過程對于軟件的其它部分而言是隱蔽的,從而由疏忽引入的錯(cuò)誤就很少可能傳播到軟件的其它部分。 逐步求精的模塊化概念。逐步求精和模塊化的抽象是密切相關(guān)的。軟件結(jié)構(gòu)每一層中模塊表示 對軟件抽象層次的次細(xì)化。用自頂向下,逐步求精的方法由抽象到具體的方式分配控制,簡化了軟件設(shè)計(jì)和實(shí)施,提高了軟件的可理解性和可測試性,并使得軟件更容易維護(hù)。 模塊獨(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ù)。 在軟件的設(shè)計(jì)中應(yīng)追求盡可能松散的耦合。內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò) 展,理想內(nèi)聚的模塊只做一件事情。在設(shè)計(jì)時(shí)應(yīng)力求做到高內(nèi)聚。 4.2 功能模塊劃分 查詢系統(tǒng)模塊 該模塊實(shí)現(xiàn)公交查詢功能??蓪?shí)現(xiàn)按線路查詢、站點(diǎn)查詢和起點(diǎn) 終點(diǎn)查詢?nèi)N查詢方式。 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 10 錄入系統(tǒng)模塊 該模塊實(shí)現(xiàn)數(shù)據(jù)的新增、修改、刪除功能。 系統(tǒng)模塊圖如圖 4-1 所示 : 4.3 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫技術(shù)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來的一種高效的數(shù)據(jù)管理技術(shù),它能保持系統(tǒng)數(shù)據(jù)的整體性,完整性和共享性。在數(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ù)性。 在本系統(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)。 數(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)系模型三種數(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)行效率為前提。 城市公交查詢系統(tǒng) 查詢 后臺(tái)管理 按線路查詢 按站點(diǎn)查詢 兩站點(diǎn)間換乘查詢 新增 修改 刪除 線路 車輛參數(shù) 發(fā)車時(shí)間表 車次 站名 圖 4-1 系統(tǒng)模塊圖 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 11 4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 在系統(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)行第 一次抽象。ER 模型直接從現(xiàn)實(shí)世界抽象出實(shí)體類型及實(shí)體間聯(lián)系,然后用 ER 圖來表示數(shù)據(jù)模型。它有兩個(gè)明顯的優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無關(guān),用戶容易接受。但它只是數(shù)據(jù)庫設(shè)計(jì)的第一步。 E-R 圖是直觀表示概念模型的工具,它有三個(gè)基本成分: ( 1)矩形框,表示實(shí)體類型(考慮問題的對象)。 ( 2)菱形框,表示聯(lián)系類型(實(shí)體間的聯(lián)系)。 ( 3)橢圓形框,表示實(shí)體的屬性。 實(shí)體和屬性的定義如下: 管理員表( 登陸 ID,登錄姓名,登錄密碼) 站名表(站名編號(hào),站名) 車輛線路編號(hào)表(車次,車線類型) 線路表 ( 線 路 編號(hào), 車次 , 站名 , 次序) 車輛表(車輛編號(hào),車次,車輛類型,服務(wù)類型,票價(jià), IC 卡類型,運(yùn)行區(qū)間) 冬季發(fā)車時(shí)間表(車次,編號(hào),首班時(shí)間,末班時(shí)間) 夏季發(fā)車時(shí)間表(車次,編號(hào),首班時(shí)間,末班時(shí)間) 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 12 各實(shí)體屬性圖如圖 4-2 所示。 圖 4-2 實(shí)體屬性關(guān)系圖 站 名 站名編號(hào) 站名 車輛線路編號(hào) 車次 車輛類型 線 路 線路編號(hào) 次序 車次 站名 車 輛 服務(wù)類型 運(yùn)行區(qū)間 車輛編號(hào) 票價(jià) 車輛類型 車次 IC 卡類型 發(fā)車時(shí)間 車次 末班 時(shí)間 編號(hào) 首班時(shí)間 管 理 員 登錄 ID 登錄姓名 登錄密碼 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 13 本系統(tǒng)的 總體 E-R 圖如圖 4-3 所示。 4.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 本系統(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ù)的需要,還能為個(gè)人或小企業(yè)提供易于使用的數(shù)據(jù)存儲(chǔ)服務(wù)。 Microsoft SQL Server 2005 的特性包括: ( 1) 企業(yè)數(shù)據(jù)管理 在當(dāng)今的互聯(lián)世界中,數(shù)據(jù)和管理數(shù)據(jù)的系統(tǒng)必須始終為用戶可用且能夠確保安全。有了 SQL Server 2005,組織內(nèi)的用戶和信息技術(shù) (IT) 專家將從減少的應(yīng)用程序停機(jī)時(shí)間、提高的可伸縮性及性能、更緊密而靈活的安全控制中獲益。 SQL Server 2005 也包括了許多新的 和改進(jìn)的功能來幫助 IT 工作人員更有效率地工作。 SQL Server 2005 包含幾個(gè)在企業(yè)數(shù)據(jù)管理中關(guān)鍵的增強(qiáng): 易管理性、可用性、可伸縮性、安全性。 SQL Server 2005 使部署、管理和優(yōu)化企業(yè)數(shù)據(jù)以及分析應(yīng)用程序變得更簡單、更容易。作為一個(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ò)展打開即得的能力。 ( 2) SQL Server Management Studio 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í)行多個(gè)任務(wù),例如,編寫和執(zhí)行查詢,查看服務(wù)器對象,管理對象,監(jiān)視系統(tǒng)活動(dòng)和時(shí) 刻 站 名 圖 4-3 E-R 模型圖 車 輛 線 路 擁有 包含 屬于 M 1 M 1 M N 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 14 查看聯(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 Studio 還包括一些工具可用來調(diào)度 SQL Server 代理作業(yè)和管理維護(hù)計(jì)劃,以自動(dòng)執(zhí)行日常維護(hù)和操作任務(wù)。管理和腳本編寫集成在單一工具中,同時(shí),該工具具有管理所有類型的服務(wù)器的能力,為數(shù)據(jù)庫管理員們提供了更強(qiáng)的生產(chǎn)效率。 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)監(jiān)視數(shù)據(jù)庫的狀況和性能。 ( 3) SQL 管理對象 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í)行常見的 SQL Server 管理任務(wù),例如,用編程方式檢索配置設(shè)置,創(chuàng)建新數(shù)據(jù)庫,應(yīng)用 Transact-SQL 腳本,創(chuàng)建 SQL Server 代理作業(yè)以及調(diào)度備份等。 SMO 對象模型替代了包含在 SQL Server 早期版本中的分布式管理對象 (DMO),因 為它更安全可靠并具有更高的可伸縮性。 ( 4) 可用性 在高可用性技術(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í)間,并確保可以訪問關(guān)鍵的企業(yè)系統(tǒng)。本節(jié)將詳細(xì)介紹這些增強(qiáng)特性。 ( 5) 數(shù)據(jù)庫鏡像 數(shù)據(jù)庫鏡像允許事務(wù)日志以連續(xù)的方式從源服務(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ǔ)或控制器。 本系統(tǒng)創(chuàng)建的 SQL 數(shù)據(jù)庫名稱為城市公交查詢系統(tǒng)。并將數(shù)據(jù)文件和日志文件保存在公交查詢系統(tǒng) APP_DATA 文件夾中。此數(shù)據(jù)庫包含 7 個(gè)表: 管理員表 (LoginTable) 管理員表存放登陸系統(tǒng)所需要的用戶名和密碼,登錄后臺(tái)時(shí)需要訪問此表。 表 4-1 管理員表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 LoginId int 4 否 是 登陸 ID LoginPwd varchar 50 否 否 登陸密碼 Loginname varchar 50 否 否 登陸姓名 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 15 站名表 站名表存放站名等數(shù)據(jù),修改站名需要訪問此表。 表 4-2 站名表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 站名編號(hào) int 4 否 是 站名編號(hào) 站名 varchar 50 否 否 站名 車輛線路編號(hào)表 車輛線路編號(hào)表存放線路編號(hào)等數(shù)據(jù),修改車輛線路編號(hào)將要訪問此表。 表 4-3 車輛線路編號(hào)表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 車次 int 4 否 是 車次 車線類型 varchar 50 否 否 車線類型 線路表 線路表存放公交車線路的數(shù)據(jù),修改車輛線路需要訪問此表。 表 4-4 線路表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 線路編號(hào) int 4 否 是 線路編號(hào) 車次 int 4 否 是 車次 站名 varchar 50 否 否 站名 次序 int 4 否 否 次序 車輛表 車輛表存放車輛的相關(guān)信息,修改車輛等相關(guān)信息需要訪問此表。 表 4-5 車輛表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 車輛編號(hào) int 4 否 是 車輛編號(hào) 車次 int 4 否 是 車次 車輛類型 varchar 50 否 否 車輛類型 服務(wù)類型 varchar 50 否 否 服務(wù)類型 票價(jià) varchar 50 否 否 票價(jià) IC 卡類型 varchar 50 否 否 IC 卡類型 運(yùn)行區(qū)間 varchar 50 否 否 運(yùn)行區(qū)間 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 4 章 系統(tǒng)概要設(shè)計(jì) 16 夏季發(fā)車時(shí)刻表 夏季發(fā)車時(shí)刻表存放夏季發(fā)車的時(shí)間,修改夏季發(fā)車時(shí)間需要訪問此表。 表 4-6 夏季發(fā)車時(shí)刻表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 編號(hào) int 4 否 是 編號(hào) 車次 int 4 否 否 車 次 首班時(shí)間 varchar 50 否 否 首班時(shí)間 末班時(shí)間 varchar 50 否 否 末班時(shí)間 冬季發(fā)車時(shí)刻表 冬季發(fā)車時(shí)刻表存放冬季發(fā)車的時(shí)間,修改冬季發(fā)車時(shí)間需要訪問此表。 表 4-7 冬季發(fā)車時(shí)刻表 字段名 數(shù)據(jù)類型 長度 是否為空 是否為主鍵 說明 編號(hào) int 4 否 是 編號(hào) 車次 int 4 否 否 車次 首班時(shí)間 varchar 50 否 否 首班時(shí)間 末班時(shí)間 varchar 50 否 否 末班時(shí)間 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 17 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 5.1 前臺(tái)功能的實(shí)施 5.1.1 連接 數(shù)據(jù)庫的包含文件 在動(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ù)庫的連接代碼如下: public static SqlConnection createConnection() SqlConnection con=new SqlConnection(server=.;database= 城 市 公 交 查 詢 系統(tǒng) ;uid=sa;pwd=;); return con; 5.1.2 按線路查詢 線路查詢模塊:用戶進(jìn)入系統(tǒng)后,在線路查詢模塊的輸入框中輸入要查詢的線路,點(diǎn)擊查詢按鈕,系統(tǒng)首先檢查用戶所查詢的線路是否存在,如果不存在給出出錯(cuò)提示,如果存在給出這條線路的相關(guān)信息,如:雙向早晚車的工作時(shí)間,票價(jià),經(jīng)過的站點(diǎn)。如線路存在,進(jìn)入線路界面如圖 5-1 所示: 圖 5-1 線路查詢 主要實(shí)現(xiàn)代碼如下: SqlCommand cmdsj=new SqlCommand(cmdstring,con); SqlDataReader sdrsj=cmdsj.ExecuteReader(); while(sdrsj.Read()string linetemp1=sdrsj首班時(shí)間 .ToString(); 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 18 string linetemp2=sdrsj末班時(shí)間 .ToString(); line+=(首班時(shí)間為: +linetemp1+ ; line+=末班時(shí)間為: +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 按站點(diǎn)查詢 站點(diǎn)查詢模塊:用戶進(jìn)入系統(tǒng)后,在站點(diǎn)查詢模塊中有二種選擇,第一個(gè)是按站點(diǎn)的確切信息也就是完全匹配查詢,此時(shí)用戶要給出站點(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 所示: 圖 5-2 站點(diǎn)查詢 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 19 主要實(shí)現(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 按兩站點(diǎn) 查詢 兩站點(diǎn)查詢模塊:用戶進(jìn)入系統(tǒng)后,在主頁面的換乘查詢模塊中有兩種選擇,第一是直達(dá),第二個(gè)是一次換乘。用戶可以在起點(diǎn)站輸入框中輸入自已的出發(fā)點(diǎn),然后在終點(diǎn)站輸入框輸入出行的終點(diǎn),如果選擇直達(dá),系統(tǒng)便會(huì)檢測這兩個(gè)站點(diǎn)間是否有直達(dá)車,如果沒有直達(dá)車,系統(tǒng)會(huì)給出相關(guān)提示,那么用戶便可以選擇一次換乘,系統(tǒng)會(huì)檢測是否有一次換乘方案,如果有系統(tǒng)會(huì)給出所換乘方案。界面如圖 5-3,5-4 所示: 圖 5-3 兩點(diǎn)查詢 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 20 圖 5-4 兩點(diǎn)查詢 主要實(shí)現(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()+個(gè)站 ); 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 21 5.2 后臺(tái)管理功能的實(shí)現(xiàn) 5.2.1 新增車次線路 此模塊為管理員操作,如當(dāng)?shù)爻霈F(xiàn)新的公交線路,或原有公交車線路有新的站點(diǎn)加入,管理員可以登陸此表,及 時(shí)添加線路和站點(diǎn)的信息,以保證車次線路的及時(shí)更新,方便用戶查詢。添加的界面如圖 5-5, 5-6 所示: 圖 5-5 新增車次 圖 5-6 新增線路站名 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 22 主要實(shí)現(xiàn)代碼如下: if(Check()int maxChelNo=GetMaxChelNo(); SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd=new SqlCommand(INSERT INTO 車輛線路編號(hào)表 (車次 ,車線類型 )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 車輛表 (車輛編號(hào) ,車次 ,車輛類型 ,服務(wù)類型 ,IC卡類型 ,票價(jià) ,運(yùn)行區(qū)間 )VALUES(車輛編號(hào) ,車次 ,車輛類型 ,服務(wù)類型 ,IC卡類型 ,票價(jià) ,運(yùn)行區(qū)間 ); int MaxNoS=GetMaxNoS(); cmd.CommandText=INSERT INTO 夏季發(fā)車時(shí)間表 (編號(hào) ,車次 ,首班時(shí)間 ,末班時(shí)間 )VALUES(編號(hào) ,車次 ,首班時(shí)間 ,末班時(shí)間 ); cmd.Parameters.Add(para); cmd.ExecuteNonQuery(); Response.Redirect(AddCheciDts.aspx?str=+this.txtCheci.Text.Trim(); elseResponse.Write(alert(請輸入完整的信息! ); 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 23 5.2.2 刪除車次以及無效站點(diǎn) 此模塊同樣為管理員操作,如當(dāng)?shù)啬膫€(gè)公交線路已經(jīng)被廢除,或原有公交車線路有哪個(gè)站點(diǎn)被刪 除,管理員可以登陸此表,及時(shí)刪除線路和站點(diǎn)的信息,以保證車次線路的及時(shí)更新,方便用戶查詢。刪除的界面如圖 5-7, 5-8 所示: 圖 5-7 刪除車次 圖 5-8 刪除無效站點(diǎn) 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 24 主要實(shí)現(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ā)車時(shí)間表 WHERE車次 =+ddlCheci.SelectedValue; cmd.ExecuteNonQuery(); cmd.CommandText=DELETE FROM 冬發(fā)車時(shí)間表 WHERE車次 =+ddlCheci.SelectedValue; cmd.ExecuteNonQuery(); cmd.CommandText=DELETE FROM 車輛線路編號(hào)表 WHERE 車次數(shù)=+this.ddlCheci.SelectedValue; cmd.ExecuteNonQuery();BindGrid(); Response.Write(alert(刪除成功! ); ( 2)刪除無效站點(diǎn): 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(暫時(shí)不能刪除此站名! ); elseResponse.Redirect(./error/error7.aspx?ZhanMing=+txtZhanm.Text.Trim(); 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 25 5.2.3 修改車輛參數(shù) 本系統(tǒng)設(shè)計(jì)了一個(gè)管理員和大眾用戶能共用的主界面。但管理員需登陸才能進(jìn)入相應(yīng)的界面進(jìn)行操作和修改,而大眾用戶無需登陸可直接進(jìn)入相應(yīng)的界面進(jìn)行查詢。 兩者實(shí)現(xiàn)的功能基本一樣,但系統(tǒng)只對用戶提供信息查詢功能,并不對用戶開放所有數(shù)據(jù)信息的編輯權(quán)限。而管理員比大眾用戶增加了對數(shù)據(jù)信息編輯功能(包括: 刪除 站點(diǎn)、刪除線路、修改站點(diǎn)、添加線路 等 功能 等),管理員實(shí)現(xiàn)對數(shù)據(jù)信息的編輯并對系統(tǒng)進(jìn)行定期的維護(hù),保證其運(yùn)行的穩(wěn)定性,為大眾用戶提供盡可能完善的服務(wù)。 用戶進(jìn)入主頁面后不但可以得到公交相關(guān)信息,而且可以對公交進(jìn)行查詢。 在線路查詢中主要實(shí)現(xiàn)所屬線路具體的信息, 獲得該線路會(huì)經(jīng)過的站點(diǎn),起末班時(shí)間、價(jià)格等等 。管理員通過后臺(tái)進(jìn)入系統(tǒng),按照提示完成,車次、站點(diǎn)的添加、修改和刪除。下圖為修改車輛參數(shù)界面,如圖 5-9 所示: 圖 5-9 修改車輛參數(shù) 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 5 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 26 主要實(shí)現(xiàn)代碼如下: SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd =new SqlCommand(Update 車輛表 set 車輛類型=+this.txtBusType.Text.Trim()+,服務(wù)類型 =+this.ddlServerType.SelectedValue+,票價(jià)=+this.txtPrice.Text.Trim()+,IC卡類型 =+this.txtICCardType.Text.Trim()+,運(yùn)行區(qū)間=+this.txtMoveBetween.Text.Trim()+ where 車次 =+this.ddlLineNum.SelectedValue,con); cmd.ExecuteNonQuery(); cmd.CommandText=update 車輛線路編號(hào)表 set 車線類型=+this.ddlLineType.SelectedValue+ where 車次 =+this.ddlLineNum.SelectedValue; cmd.ExecuteNonQuery(); con.Close(); Response.Write(alert(修改成功! ); 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 6 章 測試與維護(hù) 27 第 6 章 測試與維護(hù) 6.1 創(chuàng)建和測試應(yīng)用程序 為了確保本系統(tǒng)能夠正常運(yùn)行,需要在發(fā)布之后做一次較全面的測試?,F(xiàn)將具體操作及過程舉例說明如下: 創(chuàng)建和測試應(yīng)用程序應(yīng)是交替進(jìn)行的,既要注意開發(fā)的效率也要注意它的穩(wěn)定性。每編寫一個(gè)模塊,就要對這個(gè)模塊進(jìn)行測試,看它能否根據(jù)特定的要求工作。及早發(fā)現(xiàn)問題,及早解決,否則到最后再來測試的話,難度會(huì)大大增 加。 6.2 測試項(xiàng)目 在 MIS 開發(fā)過程中采用了多種措施保證軟件質(zhì)量,但是實(shí)際開發(fā)過程中還是不可避免地會(huì)產(chǎn)生差錯(cuò),系統(tǒng)中通常可能隱藏著錯(cuò)誤和缺陷,不經(jīng)周密測試的系統(tǒng)投入運(yùn)行,將會(huì)造成難以想象的后果,因此系統(tǒng)測試是 MIS 開發(fā)過程中為保證軟件質(zhì)量必須進(jìn)行的工作。大量統(tǒng)計(jì)資料表明,系統(tǒng)測試的工作量往往占 MIS 開發(fā)總工作量的 40%以上。因此,我們必須重視測試工作。 由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯(cuò) 誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計(jì)最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價(jià)和時(shí)間找出軟件系統(tǒng)中潛在的錯(cuò)誤和缺陷。 從產(chǎn)品角度看,測試計(jì)劃中的測試項(xiàng)目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認(rèn)測試等。測試對象是隨不同階段而異的,最基本、最初的測試是單元測試,后面的組合測試、確認(rèn)測試都是以被測過的模塊作為測試對象的。 單元測試。單元測試也稱模塊測試或程序測試,單元測試是 對每個(gè)模塊單獨(dú)進(jìn)行的,驗(yàn)證模塊接口與設(shè)計(jì)說明書是否一致,對模塊的所有主要處理路徑進(jìn)行測試且與預(yù)期的結(jié)構(gòu)進(jìn)行對照,還要對所有錯(cuò)誤處理路徑進(jìn)行測試。對源碼進(jìn)行審查,對照設(shè)計(jì)說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。 組合測試。組合測試也稱集成測試或子系統(tǒng)測試,通常采用自頂向下測試和自底向上測試兩種測試方法。組合測試的對象是指已經(jīng)通過單元測試的模塊,不是對零散模塊進(jìn)行單個(gè)測試,而是用系統(tǒng)化的方法裝配和測試軟件系統(tǒng),是一個(gè)嚴(yán)格的過程,必須 認(rèn)真地進(jìn)行,其計(jì)劃的產(chǎn)生和單元模塊測試的完成日期要協(xié)調(diào)起來,這種測試應(yīng)在系統(tǒng)目標(biāo)機(jī)上進(jìn)行,造成系統(tǒng)應(yīng)用的環(huán)境條件,除了開發(fā)部分項(xiàng)目負(fù)責(zé)人參加以外,還應(yīng)該有相應(yīng)系統(tǒng)的用戶參加,給評審員進(jìn)行演示。 確認(rèn)測試。確認(rèn)測試是對通過組合測試的軟件進(jìn)行的,這些軟件已經(jīng)存于系統(tǒng)目標(biāo)設(shè)備的介質(zhì)上,確認(rèn)測試的目的是表明軟件是可以工作的,并且符合“軟件需求說明書”中規(guī)定的全部功能和性能要求。確認(rèn)測試是按照這些要求定出的“確認(rèn)測試計(jì)劃”進(jìn)行的。測試工作是由一個(gè)獨(dú)大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 6 章 測試與維護(hù) 28 立的組織進(jìn)行,而且測試要從用戶的角度出發(fā)。 系統(tǒng)測試。系統(tǒng)測試是對整體 性能的測試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通信和數(shù)據(jù)共享問題以及檢測系統(tǒng)是否達(dá)到用戶的實(shí)際要求,系統(tǒng)測試的依據(jù)是系統(tǒng)分析報(bào)告。系統(tǒng)測試應(yīng)在系統(tǒng)的整個(gè)范圍內(nèi)進(jìn)行,這種測試不只對軟件進(jìn)行,而是對構(gòu)成系統(tǒng)的硬、軟件一起進(jìn)行。系統(tǒng)測試與建構(gòu)同時(shí)進(jìn)行或略慢。系統(tǒng)測試需要確認(rèn)從頭到尾的功能正常才算完成,應(yīng)當(dāng)盡量避免系統(tǒng)測試延到項(xiàng)目末尾進(jìn)行。 用戶驗(yàn)收測試。在系統(tǒng)測試完成后,進(jìn)行用戶的驗(yàn)收測試,它是用戶在實(shí)際應(yīng)用環(huán)境中所進(jìn)行的真實(shí)數(shù)據(jù)測試。 在具體的測試中,一般應(yīng)遵循以下原則:由程序設(shè)計(jì)者之外的人進(jìn)行測試;測試用例應(yīng)由兩部分 組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入測試;不僅要檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該做的工作;集中測試容易出錯(cuò)的程序模塊;對程序修改以后,必須重新進(jìn)行測試。 6.3 程序改進(jìn) 本系統(tǒng)設(shè)計(jì)時(shí)沒有統(tǒng)計(jì)每兩個(gè)站點(diǎn)之間的距離,只統(tǒng)計(jì)了從起點(diǎn)到終點(diǎn)的站數(shù),這樣就不能得出最短路徑,站數(shù)多的不一定距離就遠(yuǎn),同樣站點(diǎn)少的距離不一定近。 在乘客查詢到自己想要的線路信息后,系統(tǒng)沒有提供打印功能,這是本系統(tǒng)以后要著重改的地方。 6.4 測試方法 一般來說,對程序測試有兩種測試方法:如果已經(jīng) 知道了軟件系統(tǒng)應(yīng)具有的功能,可通過測試來對每個(gè)功能是否都能正常使用;如果知道程序的內(nèi)部工作過程,可以通過測試來檢測程序內(nèi)部是否按照規(guī)格說明書的規(guī)定正常進(jìn)行。前一種方法稱為黑盒測試,后一種方法稱為白盒子測試。黑盒測試又稱為功能測試,白盒子測試又稱為結(jié)構(gòu)測試。 4 本系統(tǒng)采用黑盒測試,以下以管理員登陸為例子。 大連水產(chǎn)學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 第 6 章 測試與維護(hù) 29 6.5 測試內(nèi)容 1. 登錄成功后,顯示頁面,如圖 6-1 所示: 圖 6-1 登錄成功顯示頁面 2. 登錄失敗,則顯示如下界面,如圖 6-2 所示: 圖 6-2 登錄 失敗界面 3. 如果登錄未輸入用戶名和密碼,則顯示如下界面,如圖 6-3 所示: 圖 6-3 用戶名和密碼為空提示 6.6 軟件維護(hù) 軟件維護(hù)是指在軟件運(yùn)行或維護(hù)階段對軟件產(chǎn)品所進(jìn)行的修改。軟件維護(hù)是軟件生命周期中耗費(fèi)最多、

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論