




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、公交查詢系統設計與實現論文1引言隨著城市經濟的發展、規模的擴大以及人口的增長,城市交通問題日益突出。降低出行時間將使所有的公交利用者產生效益,快速的交通、更好的信息及更好的市場可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運輸以其覆蓋面廣、經濟、快捷的特點,成為絕大多數出行者的首選方式,也是各地城市政府大力發展的一種交通方式。本地市民特別是外來旅游、出差、就醫等急需了解本地道路情況的人可以利用本系統方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。我國城市公交乘客信息系統的發展處于一個落后的水平,廣大乘客可以獲得信息的方式很少,公交信息的完整性和準確性得不到保證,而
2、且還沒有專門的機構負責信息的發布和管理。出于這個目的,在老師的指導下,我設計了這個城市公交線路查詢系統。在對公交乘客出行心理特征進行分析的基礎上,考慮乘客選擇公交線路決策的因素,進行程序關鍵部分的框架設計。現階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進行商業有關或其他事情需要在外地進行短暫停留的人而言,公交對他們是必不可少的,但是對于那個不屬于自己所熟悉的城市,坐公交也是一個很大的難題,因此,開發一個公交查詢系統就顯得非常的重要。本系統的核心是對選擇好的車次進行路線的查詢,或者輸入所要查詢的車站名,點擊“查詢”按鈕,查詢所有含有該站的車次及相應的停靠站。此處既
3、可以“精確查詢”也可以是“模糊查詢”,“模糊查詢”主要方便那些對站名不是很清楚,但知道其中的一部分的乘客,系統可以幫助他們快速的查出。1.1論文的研究內容公交查詢系統是一個取代過去由人工查詢的查詢系統。本論文論述了一個基于瀏覽器/服務器(B/Srowser/Server)模式的公交查詢系統的研究和實現的過程.論文從開發平臺和工具談起,對ASP.NET服務器所提供的組件及其屬性和方法做了一般介紹,更重要的是闡述了ASP.NET勺數據庫訪問組件ADO.NET勺使用方法。最后,詳細介紹了如何創建“公交查詢系統”的全部過程。2系統的開發工具與環境2.1 ASP.NET簡介ASP.NET一種建立在通用語
4、言上的程序構架,能被用于一臺Wb務器來建立強大的應用程序。ASP.NET1供許多比現在的開發模式強大的的優勢。APNETlI立在.NETFramework的編程類之上,它提供了一個web應用程序模型,并且包含使生成web應用程序變得簡單的控件集和結構。ASP.NE的含封裝公共用戶界面元素(如文本框和下拉菜單)的控件集。但這些控件在務器上運行,并以HTML勺形式將它們的用戶界面推送到瀏覽器。在服務器上,這些控件公開一個面向對象的編程模型,為web開發人員提供了面向對象的編程的豐富性。ASP.NE斑提供結構服務(如會話狀態管理和進程回收),進一步減少了開發人員必須編寫的代碼量并提高了應用程序的可靠
5、性。另外,ASP.NET用這些同樣的概念使開發人員能夠以服務的形式交付軟件。使用MWservices功能ASP.NETF發人員可以編寫自己的業務邏輯并使ASP.NETT結構通過SOA改付該服務。VisualStudio.NET是一套完整的開發工具,用于生成應用程序、XMLWebservices桌面應用程序和移動應用程序。VsuaBasic.NET、VisualC+.NET、VisualC#.NET和VsaJ#.NET全都使用相同的集成開發環境(IDE),該環境允許它們共享工具并有助于創建混合語言解決方案。另外,這些語言利用了.NETFramework的功能,此框架提供對簡化應用程序和XMLWe
6、bservices開發的關鍵技術的訪問。2.1.1 ASP.NET技術的優點ASP.NET是一種將各種Web元素組合在一起的服務器技術,是一個統一的Web開發平臺,它提供了生成一個完整的Web應用程序所必須要的各種服務。與以前的開發模型相比較,它提供了以下數個重要的優點:(1)增強的性能。ASP.NET是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,.NET可利用早期綁定、實時編譯、本機優化和盒外緩存服務。這相當于在編寫代碼之前便顯著提高了性能。(2)世界級的工具支持。ASP.NET1架補充了VsualSudo集成開發環境中的大量工具箱和設計器。WYSIWYG輯、拖放服務器控
7、件和自動部署只是這個強大的工具所提供功能中的少數幾種(3)威力和靈活性。由于ASP.NETS于公共語言運行庫,因此應用程序開發人員可以利用整個平臺的威力和靈活性。.NE框架類庫、消息處理和數據訪問解決方案都可從Web無縫訪問。ASP.NETT也與語言無關,所以可以選擇最適合應用程序的語言(如(#,或是跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到ASP.NET寸保留基于CM的開發中的現有投資。(4)簡易性。ASP.NET8執行常見任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署的站點配置。(5)可管理性。ASP.NET采用基于文本的分層配置系統,簡化了將設置應用于服務器環
8、境和Web應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此“零本地管理”哲學也擴展到了ASP.NET框架應用程序的部署。只需將必要的文件復制到服務器,即可將ASP.NET框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。(6)可縮放性和可用性。ASP.NET在設計時考慮了可縮放性,增加了專門用于在聚集環境和多處理器環境中提高性能的功能。另外,進程受到ASP.NET運行庫的密切監視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創建新進程,以幫助保持應用程序始終可用于處理請求。2.1.2.NETFramewor
9、k概述NETFramework是用于生成、部署和運行XMLWebservices和應用程序的多語言環境。它由以下幾個主要部分組成:公共語言運行庫運行庫實際上在組件的運行時和開發時操作中都起到很大的作用,盡管名稱中沒有體現這個意思。在組件運行時,運行庫除了負責滿足此組件在其他組件上可能具有的依賴項外,還負責管理內存分配、啟動和停止線程和進程,以及強制執行安全策略。在開發時,運行庫的作用稍有變化;由于做了大量的自動處理工作(如內存管理),運行庫使開發人員的操作非常簡單,尤其是與今天的COMS比。特別是反射等功能顯著減少了開發人員為將業務邏輯轉變為可重用組件而必須編寫的代碼量。統一編程類該框架為開發
10、人員提供了統一的、面向對象的、分層的和可擴展的類庫集(API)。目前,C+FF發人員使用Microsoft基礎類,而Java開發人員使用Windows基礎類。框架統一了這些完全不同的模型并且為VisualBasic和JScript程序員同樣提供了對類庫的訪問。通過創建跨所有編程語言的公共API集,公共語言運行庫使得跨語言繼承、錯誤處理和調試成為可能。從JScript到C+勺所有編程語言具有對框架的相似訪問,開發人員可以自由選擇它們要使用的語言。2.2ADO.NET概述ADO.NET并不是ADO勺升級版本,它是全新的面向對象模型。比ADCg適應于分布式及Internet等大型應用程序環境,為了多
11、人同時存取更具擴展性,ADO.NET的數據存取采用的是離線存取模式,可說是專門為.NET臺設計的數據存取結構。它具有簡單地訪問關系數據、可擴展性、支持多層應用程序、統一XML和關系數據訪問的特點。ADO.NET的主要目標是提供對關系數據的簡單訪問功能。坦白的說,易于使用的類描述關系數據庫中的表、列和行。另外,ADO.NET弓I入了DataSet類,它代表來自封裝在一個單元中的關聯表中的一組數據,維持他們之間完整的關系。這是在ADO.NET的新概念,可以顯著的擴展數據訪問接口的功能。ADO.NET-以擴展一一它為插件.NET數據提供者(也稱為可管理提供者)提供了框架,這些提供者被構建,以便從任何
12、數據源讀取和寫入數據。ADO.NET!供了兩種內置的.NET數據提供者,一種用于OLED吸據源,另一種用于MicrosoftSQLServer。可以通過OLEDB訪問數據格式(比如MicrosoftAccess)、第三方數據庫和非關系數據另外,Microsoft最近預演了用于ADO.NET勺ODBC.NE敬據提供者,它允許.NET訪問更多的舊的數據格式和第三方數據庫。ADO.NET用于多層應用程序。這是當今商業和電子商務應用程序最常見的體系結構。在多層體系結構中,應用邏輯的不同部5分1運a行s在p多x個服務器或進程中,每一部分就稱為一層。ADO.NET®用開放的Internet標準X
13、ML格式在層之間通信,允許數通過Internet防火來傳遞,并允許以非Microsoft技術來實現一層或多層。那么在VisualStudio.NET中ADO.NET®問數據庫分為二種。一種是SQLServer數據庫,另一種是其任何類型的數據庫。本系統的后臺數據庫為SQLServer2005,因此是通過SQLConnection、SqlCommandSqlDataAdapter、DataSet等幾個主要的數據訪問對象來訪問數據的.3需求分析3.1 系統需求分析隨著我國經濟的高速發展,人們生活水平的提高,越來越多的人開始熱衷于到外地旅游。那么對于這些外來旅游者,首先搞清這個城市的公交路線
14、顯的很重要!我的家鄉沈陽,作為一個旅游城市,每年都要吸引大量的游客,為了滿足這些游客熟悉公交路線的需求,特以公交查詢系統為設計課題。本軟件不僅能給游客帶來方便,也能給廣大市民提供方便。我認為這樣的系統應該具有很好的實用性!開發本系統的目標就是立足廣大乘客的實際,著眼于公交業的未來發展,規范公交管理,提高服務質量,方便乘客查詢,并為此設計該系統。人們生活水平的提高,越來越多人喜歡旅游,但是第一次來一個陌生的城市,肯定對公交路線不熟悉,所以必定需要一個能查看具體公交線路的公交系統。有些只知道一個站的某幾個字或一個車次的某幾個數字,所以本系統將給出站點的模糊查詢,方便用戶的查詢,有些只知道車次或某個
15、站點,本系統也給出了公交線路查詢、公交站點查詢、公交換乘查詢,進一步方便大家的出行,但也有用戶什么都查不到,想留言問問人,所以再搞個留言板很有必要,方便大家交流以及解答各種疑難問題!本系統采用結構化設計的方法來實現系統總體功能,提高系統的各項指標,即將整個系統合的劃分成各個功能模塊,正確地處理模塊之間和模塊內部的聯系以及和數據庫的聯系,定義各模塊的內部結構,通過對模塊的設計和模塊之間關系的系統來實現整個系統的功能前臺主要有3個模塊,線路查詢、站點查詢、公交換乘模塊和后臺管理模塊功能名稱:線路查詢功能概述:可以獲得要查詢公交所通過的各個站點。功能名稱:站點查詢功能概述:通過輸入的指定站點查詢經過
16、該站點的公交。功能名稱:公交換乘查詢功能概述:分為公交直達、公交一次換乘,主要體現那些不可直達需要轉車的路線的所有換法。(如果用戶輸入的起始點和終點,有一條及一條以上的公交線可以直達的,則為公交直達;如果輸入的起始點和終點,沒有一條公交線可以直接到的,系統將會給出一次換乘的方案,則為公交一次換乘)功能名稱:后臺管理功能概述:用于管理員登陸,添加、修改、刪除公交線路,修改信息資料、安全密碼,回復留言板等功能。本系統提供了的車次查詢功能、路5線1查A詢S功P能X。乘客可以方便的進行查詢,以防乘錯車次。當然有些功能的智能化不是很強,系統有待進一步來完善。3.2 數據庫需求分析數據庫在一個信息管理系統
17、中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。數據庫技術是由傳統的文件系統發展而來的,從層次模型、網狀模型發展到關系模型。數據庫技術是數據管理的最新技術,是計算機科學的一個重要分支,它能指導我們正確地設計數據庫系統,它的出現極大地促進了計算機應用的發展。采用數據庫技術的原理和方法可以有效地設計實用的數據庫系統。一個完整的數據庫系統包括數據庫管理系統(DBMS,數據庫管理員(DBA、數據庫(DB)、應用程序和相應的硬件設施。目前許多數據庫管理系統都基于關系模型,關系模型的主要特點是用表格結
18、構表達實體,用鍵表示實體與實體之間的聯系。與層次模型和網狀模型相比,關系模型比較簡單,容易為初學者接受。關系模型是由若干個關系模式組成的集合,關系模式相當于記錄類型,它的實例稱為關系。每個關系是一張表格。表格簡單,用戶易懂,用戶只需用簡單的查詢語句就可以對數據庫進行數據操作,并不涉及到存儲結構,訪問技術等細節。關系模型是數學化的模型,要用到集合論,離散數學等知識。SQL語言是關系數據庫的代表性語言,已經得到廣泛應用。在設計數據庫時,應注意數據的安全性,保證數據的安全,防止非法用戶訪問數據庫,以免泄露重要信息,同時也能51防A止s非法用戶的蓄意破壞,有許多保護數據的方法,如采用用戶標識,口令密碼
19、或訪問控制等方法。一個成功的數據庫應用系統應具有用戶標識,每一個合法用戶具有一個用戶名和相應的口令,進入數據庫應用系統前必須輸入正確的口令,否則無法進入系統,這就保證了只有合法的用戶才能操作數據庫系統。為了保證數據的合法語義,必須對數據庫的數據進行完整性約束,即防止用戶輸入不合語義的數據。在設計應用軟件時,應嚴格按照軟件工程學的方法進行設計,傳統的方法采用瀑布模型,從問題定義、可行性分析、需求分析、概念設計、總體設計、系統實現、編碼和軟件測試、運行和維護等軟件生命周期內,每一階段均在前一階段的基礎上進行設計,并在每一階段有相應的文檔資料。設計數據庫系統時應該首先充分了解用戶各個方面的需求,包括
20、現有的以及將來可能增加的需求。數據庫設計一般包括如下幾個步驟:數據庫需要分析,數據庫概念結構設計,數據庫邏輯結構設計。4系統概要設計4.1 概述本階段設計的基本目標是解決系統如何實現問題,也叫做概要設計,本階段主要任務是劃分出系統的物理元素及設計軟件的結構,完成軟件定義時期的任務之后就應該對系統進行總體設計,即根據系統分析產生的分析結果來確定這個系統由哪些系統和模塊組成,這些系統和模塊又如何有機的結合在一起,每個模塊的功能如何實現。系統設計的目標是使系統實現擁有所要求的功能,同時,力爭達到高效率、高可靠性、可修改性,并且容易掌握和使用。模塊化的依據是:把復雜問題分解成許多容易解決的小問題。原來
21、的問題也就變得容易解決。模塊化設計是把大型軟件按照一定的原則劃分成一個較小的相對功能獨立又相關聯的模塊。每個模塊完成一個特定的子功能。把這些模塊結合起來組成一個整體。完成指定的功能,滿足問題的要求。采用模塊化原理的優點在于可以使軟件結構清晰,容易測試和調試。從而提高軟件的可靠性,可修改性。有助于軟件開發的組織管理。一個大型軟件可分別編寫不同的模塊。4.2 功能模塊劃分查詢系統模塊該模塊實現公交查詢功能。可實現按線路查詢、站點查詢和起點一終點查詢三種查詢方式。錄入系統模塊該模塊實現數據的新增、修改、刪除功能。系統模塊圖如圖4rl所示:S4-1系統模塊圖4.3.1數據庫概念結構設計在系統設計的開始
22、,我首先考慮的是如何用數據模型來數據庫的結構與語義,以對現實世界進行抽象。目前廣泛使用的數據模型可分為兩種類型,一種是獨立于計算機系統的“概念數據模型”,如“實體聯系模型”;另一種是直接面向數據庫邏輯結構的“結構數據模型”。在本系統中我采用“實體聯系模型”(蹴型)來描述數據庫的結構與語義,以對現實世界進行第一次抽象。心型直接從現實世界抽象出實體類型及實體間聯系然后用陶來表示數據模型。它有兩個明顯的優點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。但它只是數據庫設計的第一步。E-R圖是直觀表示概念模型的工具,它有三個基本成分:(1)矩形框,表示實體類型(考慮問題的對象)。(2)菱形框,
23、表示聯系類型(實體間的聯系)。(3)橢圓形框,表示實體的屬性。實體和屬性的定義如下:管理員表(登陸ID,登錄姓名,登錄密碼)站名表(站名編號,站名)車輛線路編號表(車次,車線類型)線路表(線路編號,車次,站名,次序)車輛表(車輛編號,車次,車輛類型,服務類型,票價,IC卡類型,運行區間)冬季發車時間表(車次,編號,首班時間,末班時間)夏季發車時間表(車次,編號,首班時間,末班時間)各實體屬性圖如圖4-2所示。本系統的總體E-R圖如圖4-3所示。4.3.2數據庫邏輯結構設計本系統創建的SQLM據庫名稱為城市公交查詢系統。并將數據文件和日志文件保存在公交查詢系統APP_D函件夾中。管理員表(Loc
24、gnlatle)管理員表存放登陸系統所需要的用戶名和密碼,登錄后臺時需要訪問此表表4-1管理員表字段名數據類型長度是否為空是否為王建說明Loginldint4否是登陸IDLogiuPwdvarvhaT50否否登陸密碼Logiimamevarrhar50否否登陸姓名站名表站名表存放站名等數據,修改站名需要訪問此表。表4-2站名表字段名數據類型長度是否為空是否為主鍵說明站名編號int4否是站名編號站名varchar50否否站名車輛線路編號表車輛線路編號表存放線路編號等數據,修改車輛線路編號將要訪問此表。表車輛線路編號表字段名數據類型長度是否為空是否為主鍵說明車次int4否是車次車線類型varcha
25、r50否否車線類型線路表線路表存放公交車線路的數據,修改車輛線路需要訪問此表。表43線路表字段名數據類型長度是否為空是否為主鍵說明線路編號int4否是線路編記車次int4否是車次站名varchar50否否站名次序int4否否次序5詳細設計與實現5.1. 連接數據庫的包含文件在動態網站中,調用數據庫中的數據是十分頻繁的,為了避免編寫重復的代碼。編寫一個數據庫連接文件是非常重要的。DB.cs文件中包含了本系統中的數據庫的連接代碼。本系統的數庫的連接代碼如下:publicstaticSqlConnectioncreateConnection()(SqlConnectioncon=newSqlConn
26、ection("server=.;database=城市公交查詢系統;uid=sa;pwd=;");returncon;5.1.1 新增車次線路此模塊為管理姆作,如當地出現新的公交線路,或原有公交但路有新的站點加入,管理員可以登錄此表,及時添加線路和站點的信息,以保證車次線路的及時更新,方便用戶查詢。添加車次的界面如圖所示。在輸入相關車次信息后便進入站名添加過程如圖5.1.2新增車次線路此模塊為管理員操作,如當地出現新的公交線路,或原有公交車線路有所變動是,管理員可以登錄此模塊,及時添加相關的線路圖,以保證車線路圖快時更新,方使用戶查詢。添加的界面如圖GO5.1.4刪除線路
27、圖該模塊在管理員系統中實現,如當地哪個公交線路已經改變,管理員可以登錄此盜,及時刪除線路圖信息,以保證車次線咯圖的及時更新,方便用戶查詢。刪除的界面如圖5.1.3刪除車次以及無效站點此模塊司樣為管理員操作,如當地哪個公交線路已經被廢除,或原有公交車線路有哪個站點被刪除,管理員可以登錄此表,及時刪除纜珞和站點的信息,以保證車欠線路的及時更新,方便用戶查詢。刪除的界面如圖6測試與維護6.1 創建和測試應用程序為了確保本系統能夠正常運行,需要在發布之后做一次較全面的測試。現將具體操作及過程舉例說明如下:創建和測試應用程序應是交替進行的,既要注意開發的效率也要注意它的穩定性。每編寫一個模塊,就要對這個
28、模塊進行測試,看它能否根據特定的要求工作。及早發現問題,及早解決,否則到最后再來測試的話,難度會大大增加。6.2 測試項目在MIS開發過程中采用了多種措施保證軟件質量,但是實際開發過程中還是不可避免地會產生差錯,系統中通常可能隱藏著錯誤和缺陷,不經周密測試的系統投入運行,將會造成難以想象的后果,因此系統測試是MIS開發過程中為保證軟件質量必須進行的工作。大量統計資料表明,系統測試的工作量往往占MIS開發總工作量的40犯上。因此,我們必須重視測試工作。由于程序中隱藏的缺陷只在特定的環境下才有可靠顯露,系統缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發現錯誤的測試。有意義的軟件測試應該是從“破壞”軟件系統的角度出發,精心設計最有可以暴露程序系統缺陷的測試方案。因此軟件測試的目標應該是以盡可能少的代價和時間找出軟件系統中潛在的錯誤和缺陷。總結在公交數字化的時代,公交系統的設計者應當以乘客需求為首位,調整服務策略,滿足社會的需要和乘客的需要,充分發揮公交系統交趣心的作用。本系統基他到了預定的設計目標,但是在系統的實際化應用中仍需要改進和提高公交查詢系統的服務職能。系統的不足與改進方案:在數據車設計方面,還有待改進,數據庫設計也可采用別的形式,比如:可以用一個字段作為站點字段,另一個字段作為經過該站點的車次字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年模具設計師資格考試常見考點試題及答案
- 2024農業植保員考試信息試題及答案
- 2024年體育經紀人職業面臨的挑戰與機遇試題及答案
- 種子繁育員必考知識回顧試題及答案
- 2024年足球裁判員考試高效復習與試題及答案
- 2024年無人機考試常見誤區試題及答案
- 模具設計師備考數據的有效利用試題及答案
- 2024年體育經紀人職考時間安排分析試題及答案
- 提升判罰技巧的2024年籃球裁判員考試試題及答案
- 2024年模具設計師考試的復習資源整合試題及答案
- 湖北省武昌區七校2023-2024學年八年級下學期期中聯考英語試卷+
- 聲音特征與情緒影響關系
- 地理中原之州-河南省
- 高考英語 03 高考3500詞亂序版(默寫版漢譯英)
- 醫學數據標注培訓課件模板
- 2024-2025北京中考英語真題閱讀CD篇
- 高一年級下學期期末考試化學試卷與答案解析(共三套)
- 三國殺英文介紹
- 2024城鎮燃氣用環壓式不銹鋼管道工程技術規程
- 《養成良好的行為習慣》主題班會課件
- 2024屆高三一輪復習《庖丁解牛》課件
評論
0/150
提交評論