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

下載本文檔

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

文檔簡(jiǎn)介

PAGE成都信息工程學(xué)院學(xué)位論文公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文作者姓名:帥希濤申請(qǐng)學(xué)位專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)申請(qǐng)學(xué)位類別:工學(xué)學(xué)士秦智(講師)論文提交日期:2007年6月10日公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著經(jīng)濟(jì)的日益增長(zhǎng),信息化時(shí)代已經(jīng)到來,生活中各種信息趨向數(shù)字化、清晰化。公交車作為現(xiàn)代城市生活中一種重要的交通工具,其數(shù)量增多,車型也不再單一,雇用的司機(jī)增多,這樣使得公交車公司的車輛信息管理復(fù)雜化。在這樣的背景下,提出了計(jì)算機(jī)管理的公交車管理系統(tǒng),輔助公交車運(yùn)營(yíng)公司對(duì)車輛進(jìn)行管理,實(shí)現(xiàn)公交車、公交線路和司機(jī)管理科學(xué)化,更合理的利用資源。該系統(tǒng)主要根據(jù)實(shí)際的需求,以需求分析、系統(tǒng)的設(shè)計(jì)目標(biāo),并且重點(diǎn)進(jìn)行系統(tǒng)功能模塊的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),采用了VisualStudio.NET2003開發(fā)平臺(tái)和SQLServer2000數(shù)據(jù)庫,實(shí)現(xiàn)了車輛信息管理、司機(jī)信息管理、線路信息管理和車輛分配線路管理等功能。在針對(duì)數(shù)據(jù)操作方面,主要通過存儲(chǔ)過程的方式實(shí)現(xiàn)數(shù)據(jù)的添加、刪除和查詢等操作。通過系統(tǒng)測(cè)試,解決了公交車輛管理系統(tǒng)主要問題。關(guān)鍵詞:管理系統(tǒng);數(shù)據(jù)庫;存儲(chǔ)過程TheDesignandImplementationofBusManagementSystemAbstractAlongwitheconomicalgrowing,theinformationcenturyhasalreadyarrivedandeachkindofinformationtrendstodigitizationandclearnessinourlife.Asanimportanttransportationtoolinthemodernlife,thenumberofthebusisincreasinganditstypeisnolongerunitary.Aswell,thebusdriversarealsoincreasing.Thesemaketheinformationmanagementofthebuscompaniesmorecomplicated.Undersuchbackground,thebusmanagementsystemcontrolledbythecomputersisputforward.Itwillhelpthebuscompanymanageitsbuses,makethemanagementofthebus,thebusroutineandthedrivermorescientificandmakeproperuseoftheresources.Thesystemisbasedonthepracticalrequirements,andaimedatthedemandanalysisandthesystematicaldesign.Itemphasizesthedetailsofdesignandimplementationofthesystematicalfunctionmodule.It’sdevelopmentplatformareVisualStudio.NET2003andSQLServer2000Databaseandimplementsmanyfunctions,suchasvehiclesinformationmanagement,driverinformationmanagement,routineinformationmanagement,vehicleassignmentlinemanagement.fordatabaseimplementation,itmainlyusesthestorageproceduretoimplementtheaddition,deletionandinquiry.Bythesystematicaltest,itcansolvethemainproblemsinthevehiclesmanagementsystem.Keywords:Managementsystem;Database;Storageprocedure目錄論文總頁數(shù):20頁1 引言 11.1 信息管理系統(tǒng)簡(jiǎn)介 11.2 開發(fā)背景和意義 11.3 系統(tǒng)設(shè)計(jì)目標(biāo) 12 需求分析 12.1 系統(tǒng)需求 12.2 功能需求 22.3 性能需求 23 系統(tǒng)開發(fā)相關(guān)技術(shù) 33.1 編程環(huán)境的選擇 33.2 關(guān)系型數(shù)據(jù)庫 34 總體設(shè)計(jì) 44.1 設(shè)計(jì)思想與處理流程 44.2 系統(tǒng)層次模塊圖 44.3 模塊設(shè)計(jì) 45 數(shù)據(jù)庫設(shè)計(jì) 55.1 ADO.NET綜述 55.2 邏輯設(shè)計(jì) 55.3 存儲(chǔ)過程 76 詳細(xì)設(shè)計(jì) 86.1 登錄模塊 86.2 主操作界面模塊 106.3 系統(tǒng)用戶注冊(cè)模塊 116.4 車輛信息管理模塊 126.5 司機(jī)信息管理模塊 136.6 線路信息管理模塊 156.7 車輛分配線路管理模塊 157 系統(tǒng)維護(hù)和改進(jìn) 177.1 運(yùn)行維護(hù) 177.2 系統(tǒng)改進(jìn)和提高 17結(jié)論 17參考文獻(xiàn) 18致謝 19聲明 20第20頁共20頁引言隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,推動(dòng)了信息技術(shù)廣泛、深入地應(yīng)用到人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。計(jì)算機(jī)軟件技術(shù)應(yīng)用于信息管理是必然的趨勢(shì)。作為計(jì)算機(jī)應(yīng)用的一部分,充分發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),將大量復(fù)雜的數(shù)據(jù)交給計(jì)算機(jī)來處理,有著人工管理所無法比擬的優(yōu)點(diǎn)。如:查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,是真正意義上的合理利用資源,也是企事業(yè)管理科學(xué)化、正規(guī)化,與世界接軌的重要條件。信息管理系統(tǒng)簡(jiǎn)介信息管理系統(tǒng),即我們常說的MIS(ManagementInformationSystem),是由人和計(jì)算機(jī)等組成的,能進(jìn)行信息收集、加工、保存、維護(hù)和使用的系統(tǒng)。它能實(shí)現(xiàn)國(guó)民經(jīng)濟(jì)和企業(yè)行為的各種運(yùn)行情況,利用歷史數(shù)據(jù)預(yù)測(cè)未來,從全局出發(fā)輔助管理決策,利用信息控制企業(yè)行為、幫助實(shí)現(xiàn)其規(guī)劃目標(biāo)。在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代化社會(huì)中變的越來越普及。開發(fā)背景和意義隨著經(jīng)濟(jì)的日益增長(zhǎng),車輛作為最重要的交通工具,在當(dāng)今社會(huì)中得以普及。由于汽車數(shù)量的增加,而道路的承載能力有限。因此,城市公交車的迅速發(fā)展成為一種必然趨勢(shì)。在這樣的情況下,公交車運(yùn)營(yíng)商的車輛數(shù)目已經(jīng)增加了許多,而且車型也不再單一,與此同時(shí)便產(chǎn)生了車輛資源的合理分配和使用問題。該問題涉及到車輛的檔案管理、駕駛員檔案管理、車輛管理、公交車運(yùn)營(yíng)線路的分配和管理等。如何對(duì)公交車公司的車輛進(jìn)行合理的分配,科學(xué)的使用,使其發(fā)揮最大的價(jià)值是本問探討的重點(diǎn)。該管理系統(tǒng)的提出,對(duì)于一個(gè)公交車運(yùn)營(yíng)商來說,不但可以對(duì)車輛的使用進(jìn)行合理的管理,而且對(duì)車輛的使用情況進(jìn)行跟蹤記錄,這對(duì)于單位車輛責(zé)任到人,信息明確,避免責(zé)任混亂等一系列相應(yīng)問題的解決。系統(tǒng)設(shè)計(jì)目標(biāo)該系統(tǒng)以車輛為主體,結(jié)合對(duì)于公交車線路的管理,設(shè)計(jì)并開發(fā)一個(gè)公交車管理系統(tǒng),提供一個(gè)信息更新快捷,管理方便,功能設(shè)置合理的公交車管理系統(tǒng)解決方案。針對(duì)公交車運(yùn)營(yíng)公司大量的車輛信息和線路制定信息,制定實(shí)施該系統(tǒng)的各個(gè)功能,使得公交車的管理更加科學(xué)化。需求分析系統(tǒng)需求公交車管理系統(tǒng)是一個(gè)協(xié)助公交車運(yùn)營(yíng)商各單位對(duì)車輛進(jìn)行全面的管理。在此之前,對(duì)于線路與車輛的管理采用的方式幾乎都是手工管理,其中的弊端顯而易見,即容易造成檔案資料的遺失,控制不集中,管理不規(guī)范等等問題。因此,在管理系統(tǒng)的實(shí)現(xiàn)上應(yīng)該滿足以下需求:1.為保障系統(tǒng)的穩(wěn)定性,對(duì)于可能發(fā)生問題的輸入要進(jìn)行檢驗(yàn),同時(shí)要給出合理的提示信息。2.在管理上滿足公交車管理職能的基本需求,能夠方便的進(jìn)行司機(jī)信息管理、車輛信息管理、線路信息管理和車輛與線路的分配管理。3.為公交車管理系統(tǒng)提供數(shù)據(jù)支持。4.與傳統(tǒng)的手工管理相比,應(yīng)該添加用戶權(quán)限的管理機(jī)制。保證系統(tǒng)安全性。功能需求根據(jù)對(duì)上述管理系統(tǒng)的業(yè)務(wù)流程、要求以及所要實(shí)現(xiàn)的目標(biāo),可以擬出以下的需求目標(biāo):1.建立司機(jī)檔案和車輛檔案管理的管理和維護(hù),在計(jì)算機(jī)的支持下快速的完成車輛信息的添加和刪除。2.建立線路與車輛的設(shè)置管理,在計(jì)算機(jī)的管理下,可以實(shí)現(xiàn)方便的添加、刪除、修改。3.建立車輛與司機(jī)的分配管理,在計(jì)算機(jī)的管理下,可以實(shí)現(xiàn)方便的添加、刪除、修改。4.實(shí)現(xiàn)系統(tǒng)權(quán)限設(shè)置管理,保證系統(tǒng)的安全性。根據(jù)系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下:1.車輛信息的設(shè)置管理:系統(tǒng)合法用戶可以根據(jù)公司具體情況設(shè)置關(guān)于車輛的具體資料檔案。2.權(quán)限管理:為了很好的保證系統(tǒng)的安全性,公司相關(guān)負(fù)責(zé)人可以根據(jù)實(shí)際情況添加和刪除系統(tǒng)用戶。3.線路檔案管理:一個(gè)城市的運(yùn)營(yíng)線路可能復(fù)雜且數(shù)據(jù)量極大,系統(tǒng)用戶可以進(jìn)行線路的規(guī)劃管理。4.車輛與司機(jī)的分配管理:為了維護(hù)好車輛,要求司機(jī)做好車輛的日常維護(hù)工作,落實(shí)具體責(zé)任。5.車輛運(yùn)行線路管理:實(shí)現(xiàn)對(duì)車輛和線路分配的管理,包括添加、修改和刪除操作。性能需求系統(tǒng)的運(yùn)行環(huán)境要求是:1.硬件環(huán)境目前,考慮到所開發(fā)系統(tǒng)主要應(yīng)用在中小規(guī)模的公交車公司,因此,中等配置的計(jì)算機(jī)硬件就可以滿足系統(tǒng)功能需求??紤]到公司規(guī)模的擴(kuò)大和硬件價(jià)格的降低,為本系統(tǒng)配置在較優(yōu)秀的服務(wù)器硬件上,可以充分發(fā)揮本系統(tǒng)的功能。處理器:InterPentium41.8G或更高內(nèi)存:512M(推薦)硬盤空間:80GB顯卡:SVGA顯示適配器2.軟件環(huán)境操作系統(tǒng):Windows2003/XP開發(fā)軟件:MicrosoftVisualStudio.NET2003數(shù)據(jù)庫:MicrosoftSQLServer2000系統(tǒng)開發(fā)相關(guān)技術(shù)編程環(huán)境的選擇微軟公司的VisualStudio.NET2003是Windows應(yīng)用程序開發(fā)平臺(tái),該平臺(tái)具有直觀的開發(fā)界面、先進(jìn)的程序設(shè)計(jì)思想,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。VS.NET2003提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。C#同時(shí)提供的一套完善的編譯和調(diào)試系統(tǒng),使得在開發(fā)過程中可以很好的解決開發(fā)過程中出現(xiàn)的一系列問題。同時(shí)在該平臺(tái)下還提供了軟件發(fā)布功能,使得開發(fā)、調(diào)試到發(fā)布可以一步完成。故而,這是實(shí)現(xiàn)該信息管理信息的一個(gè)較好選擇。C#是一門完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。它可用于創(chuàng)建要運(yùn)行在.NETCLR上的應(yīng)用程序的語言之一,是微軟專門為使用.NET平臺(tái)而創(chuàng)建的。使用C#語言在開發(fā)過程中以對(duì)象為開發(fā)元素,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事件和方法)。開發(fā)人員可以最有效的利用所創(chuàng)建的每一個(gè)對(duì)象。同時(shí),用戶還可以自己開發(fā)控件,從而滿足用戶的不同的需求,這樣變使得應(yīng)用程序具有可通用性可說擴(kuò)展性和強(qiáng)有力的功能。確定測(cè)評(píng)指標(biāo)的原則與方法。關(guān)系型數(shù)據(jù)庫SQLServer2000是一種功能強(qiáng)大的數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫匯集了信息以供查詢、存儲(chǔ)和檢索。它的優(yōu)點(diǎn)在于強(qiáng)大的數(shù)據(jù)庫引擎,它可以承受10000條以上的記錄測(cè)試,而且數(shù)據(jù)庫運(yùn)行于服務(wù)器上,相對(duì)于本地?cái)?shù)據(jù)庫,可以明顯的減少內(nèi)存占用,提高運(yùn)行速度和本機(jī)的利用效率。SQL數(shù)據(jù)庫具有友好的管理界面——企業(yè)管理器,其中的視圖可以直觀的進(jìn)行數(shù)據(jù)處理,同時(shí)支持直觀的數(shù)據(jù)庫設(shè)計(jì),也可以通過詞法分析器,使用SQL語句進(jìn)行數(shù)據(jù)庫的各種操作,包括數(shù)據(jù)庫的建立,表的建立和修改等一系列操作。采用C/S模式的設(shè)計(jì),可以更加合理的利用企業(yè)資源,使得數(shù)據(jù)集中在一臺(tái)服務(wù)器上,從來節(jié)省了數(shù)據(jù)庫管理的人力資源,也使得由于非專業(yè)人士的誤操作,或者別的各種電腦意外而導(dǎo)致數(shù)據(jù)丟失,或者別的不必要損失,所以在數(shù)據(jù)庫選擇上采用了SQLServer2000??傮w設(shè)計(jì)設(shè)計(jì)思想與處理流程本系統(tǒng)采用面向?qū)ο筮M(jìn)行分析和設(shè)計(jì),在SQLServer2000數(shù)據(jù)庫上實(shí)現(xiàn)數(shù)據(jù)操作。使用了上文所介紹的完全面向?qū)ο蟮腃#語言作為開發(fā)語言。使用WindowsXP作為開發(fā)平臺(tái),能夠很好地實(shí)現(xiàn)系統(tǒng)的基本開發(fā)和測(cè)試。系統(tǒng)的基本流程是:用戶登錄主界面選擇各項(xiàng)子功能。系統(tǒng)層次模塊圖“公交車管理系統(tǒng)”主要分為用戶登錄、車輛管理、司機(jī)管理、線路管理和車輛分配管理等6個(gè)主功能模塊。系統(tǒng)主模塊功能樹如圖1所示。公交車管理系統(tǒng)公交車管理系統(tǒng)登錄功能圖1系統(tǒng)主模塊功能樹用戶注冊(cè)車輛信息管理司機(jī)信息管理線路信息管理車輛分配管理模塊設(shè)計(jì)1.登錄模塊輸入用戶的名稱和密碼,如果用戶名、密碼正確,則進(jìn)入主控制平臺(tái);否則給出錯(cuò)誤提示。2.用戶注冊(cè)模塊系統(tǒng)管理員進(jìn)行用戶使用設(shè)置和初始密碼的設(shè)置。3.車輛信息管理該模塊的設(shè)計(jì)目的是用于用戶錄入與車輛有關(guān)的資料信息。比如車牌號(hào)、車輛擁有的座位數(shù)目和是否有人售票等信息。4.司機(jī)管理在該模塊下包含兩個(gè)子模塊。其中一個(gè)用于對(duì)司機(jī)資料的錄入操作;另一個(gè)模塊提供給用戶查詢司機(jī)信息。5.線路管理該模塊的功能同司機(jī)管理模塊類似,同樣包含兩個(gè)子模塊。一個(gè)用于錄入線路信息;另一個(gè)用于查詢線路信息。6.車輛分配線路管理實(shí)現(xiàn)將每輛車與線路相關(guān)聯(lián)的操作。數(shù)據(jù)庫設(shè)計(jì)ADO.NET綜述ADO.NET是ADO的改進(jìn)版本。ADO.NET是與C#和.NETFramework一起使用的類集的名稱,用于以關(guān)系型的、面向表的格式訪問數(shù)據(jù)[1]。ADO.NET集成到.NETFramework中,可以用于任何.NET語言,尤其是C#。這也是該管理系統(tǒng)采用C#程序語言的原因。ADO.NET的作用與ADO(ActiveDataObjects)相同,提供易于使用的類集,以訪問數(shù)據(jù),ADO.NET的功能得到更新和增強(qiáng),可以用于.NET編程環(huán)境。在使用SQLServer數(shù)據(jù)庫時(shí),通過SQLServer專用的內(nèi)置.NET數(shù)據(jù)提供者可以獲得最好的性能和對(duì)基礎(chǔ)功能的最直接的訪問。1..NET數(shù)據(jù)提供程序根據(jù)數(shù)據(jù)源不同,常用的.NET數(shù)據(jù)提供程序可以分為以3種:SQLServer數(shù)據(jù)提供程序、OLEDB數(shù)據(jù)源提供程序以及ODBC兼容的數(shù)據(jù)源提供程序。所有的數(shù)據(jù)提供程序都位于System.Data命名空間中。每種.NET數(shù)據(jù)提供程序都由4個(gè)主要組建組成。它們的功能如下:(1)Connection對(duì)象:用于連接數(shù)據(jù)源。(2)Command對(duì)象:用于執(zhí)行針對(duì)數(shù)據(jù)源的命令并且檢索DataReader或者DataSet,或者用于針對(duì)數(shù)據(jù)源的一個(gè)INSERT、UPADTA或者DELETE命令。(3)DataReader對(duì)象:一個(gè)已連接的、前向只讀結(jié)果集。(4)DataAdapter對(duì)象:用于從數(shù)據(jù)源產(chǎn)生一個(gè)DataSet,并且更新數(shù)據(jù)源。2.數(shù)據(jù)庫應(yīng)用程序的開發(fā)流程雖然數(shù)據(jù)庫應(yīng)用程序訪問的數(shù)據(jù)庫不通,實(shí)現(xiàn)的功能也不同,但其開發(fā)流程主要分為以下幾個(gè)步驟:(1)創(chuàng)建數(shù)據(jù)庫。(2)使用Connection對(duì)象創(chuàng)建到數(shù)據(jù)庫的連接。(3)使用Command對(duì)象對(duì)數(shù)據(jù)源執(zhí)行SQL命令并返回?cái)?shù)據(jù)。(4)利用DataReader和DataSet對(duì)象讀取和處理數(shù)據(jù)源的數(shù)據(jù)。邏輯設(shè)計(jì)1.E-R模型的建立根據(jù)針對(duì)系統(tǒng)的需求分析,可以得到本系統(tǒng)對(duì)應(yīng)的各實(shí)體以及實(shí)體之間的關(guān)系。其中包含有用戶實(shí)體、司機(jī)實(shí)體、車輛實(shí)體、線路信息實(shí)體等。下面根據(jù)分析得出其中主要的E-R圖,如圖2和圖3所示。司機(jī)司機(jī)車輛姓名編號(hào)相片唯一ID住址工作證號(hào)身份證號(hào)配備唯一ID汽車牌號(hào)汽車品牌汽車座位數(shù)售票類型備注NM圖2司機(jī)實(shí)體與車輛實(shí)體E-R圖圖2描述了司機(jī)實(shí)體和車輛實(shí)體之間的關(guān)系。車輛車輛錄入時(shí)間發(fā)車時(shí)間起點(diǎn)站名稱花費(fèi)時(shí)間線路編碼終點(diǎn)站名稱備注收車時(shí)間線路名稱唯一編號(hào)運(yùn)行于車輛唯一ID汽車牌號(hào)汽車座位數(shù)汽車品牌備注售票類型1N圖3車輛和線路E-R圖圖3描述了車輛實(shí)體和線路實(shí)體之間的關(guān)系。2.表單設(shè)計(jì)根據(jù)對(duì)各個(gè)實(shí)體的分析,可以進(jìn)行數(shù)據(jù)庫表的具體設(shè)計(jì)。下面給出兩張具體表設(shè)計(jì)的實(shí)例,如表1和表2所示。表1用戶信息表的實(shí)現(xiàn)字段名數(shù)據(jù)類型長(zhǎng)度允許為空是否為主鍵說明IDINT4否是唯一標(biāo)識(shí)UserNamenvarchar50否否用戶名UserPassnvarchar50否否用戶密碼UserSexnvarchar50否否用戶性別UserTelnvarchar50是否用戶電話UserAddrnvarchar50是否用戶住址表2線路信息表的實(shí)現(xiàn)字段名數(shù)據(jù)類型長(zhǎng)度允許為空是否為主鍵說明IDInt4否是唯一標(biāo)志LineNamenvarchar50是否路線名稱LineCodenvarchar50是否路線代號(hào)StartTimenvarchar50是否起始時(shí)間EndTimenvarchar50是否中止時(shí)間StratPlacenvarchar50是否起點(diǎn)Remarknvarchar50是否備注CostTimenvarchar50是否用時(shí)InputTimedatetime8是否輸入時(shí)間存儲(chǔ)過程在該公交車管理系統(tǒng)的在數(shù)據(jù)的查詢、添加和刪除等操作上主要采用了存儲(chǔ)過程。存儲(chǔ)過程是編譯好了的SQL語句。它類似于函數(shù)的使用,可以直接通過參數(shù)調(diào)用存儲(chǔ)過程,所以效率比較高。1.存儲(chǔ)過程的介紹存儲(chǔ)過程是由一組為了完成特定功能的SQL語句集,經(jīng)過編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫服務(wù)器中,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它[2]。存儲(chǔ)過程的能力大大增強(qiáng)了SQL語言的功能和靈活性。2.存儲(chǔ)過程的優(yōu)勢(shì)(1)允許標(biāo)準(zhǔn)組件式編程。在存儲(chǔ)過程被創(chuàng)建以后,可以在程序中被多次調(diào)用,而不必重新編寫該存儲(chǔ)過程的SQL語句。(2)實(shí)現(xiàn)較快的執(zhí)行速度。因?yàn)榇鎯?chǔ)過程是預(yù)編譯的,在首次運(yùn)行前,查詢優(yōu)化器對(duì)其進(jìn)行分析、優(yōu)化,并給出了最終被存在系統(tǒng)中的執(zhí)行計(jì)劃[2]。(3)減少網(wǎng)絡(luò)流量。在調(diào)用存儲(chǔ)過程時(shí),網(wǎng)絡(luò)中傳送的只是該調(diào)用語句,而不是多條SQL語句,從而大大減少了網(wǎng)絡(luò)流量。(4)作為一種安全機(jī)制來充分利用。系統(tǒng)管理員通過對(duì)執(zhí)行某一存儲(chǔ)過程的權(quán)限進(jìn)行限制,從而能夠?qū)崿F(xiàn)對(duì)相應(yīng)的數(shù)據(jù)訪問權(quán)限制,避免非授權(quán)用戶對(duì)數(shù)據(jù)的訪問,保證數(shù)據(jù)安全[2]。3.存儲(chǔ)過程的代碼實(shí)現(xiàn)在創(chuàng)建存儲(chǔ)過程時(shí),需要確定存儲(chǔ)過程的三個(gè)組成部分:1.所有的輸入?yún)?shù)以及傳遞給調(diào)用者的輸出參數(shù)。2.被執(zhí)行的針對(duì)數(shù)據(jù)庫的操作語句,包括調(diào)用其他存儲(chǔ)過程的語句。3.返回給調(diào)用者的狀態(tài)值,以指明調(diào)用是成功還是失敗。下面給出在該系統(tǒng)中使用到的部分存儲(chǔ)過程:實(shí)現(xiàn)對(duì)滿足ID號(hào)是CarLineID的汽車線路數(shù)據(jù)的刪除操作。createprocprc_deleteCarLine@CarLineIDintasdeleteT_Car_LinewhereID=@CarLineIDif@@rowcount>0return0elsereturn1GO實(shí)現(xiàn)查詢所有汽車信息的存儲(chǔ)過程。createprocspr_carallasselectID,CarNumas"車牌號(hào)",CarColoras"顏色",SitNumas"座位數(shù)",CarTypeas"類型",AirCondias"是否空調(diào)車",Companyas"車品牌",Remarkas"備注"fromt_carGO詳細(xì)設(shè)計(jì)根據(jù)已有的需求分析和總體設(shè)計(jì),在此基礎(chǔ)上進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)。為此,建立了一個(gè)C#.NET項(xiàng)目。登錄模塊1.用戶身份驗(yàn)證輸入:用戶名和密碼。處理:(1)用戶登錄窗體啟動(dòng)。(2)輸入用戶名和密碼。(3)檢索數(shù)據(jù)庫中數(shù)據(jù),是否有相應(yīng)的用戶名和密碼。(4)如果用戶名和密碼為空,或者錯(cuò)誤,進(jìn)行提示。(5)如果輸入的用戶名和密碼正確,則允許該用戶進(jìn)入系統(tǒng)。(6)進(jìn)入主控制臺(tái)。輸出:主控制臺(tái)。2.用戶登錄模塊的窗體設(shè)計(jì)用戶登錄模塊的窗體設(shè)計(jì),如圖4所示。圖4用戶登錄窗體圖4用戶登錄窗體3.用戶登錄模塊的主要代碼privatevoidbutton1_Click(objectsender,System.EventArgse){ DataAccessmyAcc=newDataAccess(); if(myAcc.userlogin(this.textBox1.Text.Trim(), this.textBox2.Text.Trim())==1){ this.Visible=false; MainnewMain=newMain(this.textBox1.Text.Trim()); newMain.Show(); } elseif(myAcc.userlogin(this.textBox1.Text.Trim(),"")==0) MessageBox.Show("沒有該用戶!"); else { MessageBox.Show("登錄失敗"); }}privatevoidbutton1_Click()鼠標(biāo)事件用于實(shí)現(xiàn)在輸入用戶名和密碼后,進(jìn)入系統(tǒng)主控制界面的方法。DataAccess類是自定義的用于實(shí)現(xiàn)數(shù)據(jù)庫訪問的類。該方法中判斷語句里調(diào)用了該類所聲明的對(duì)象myAcc的方法userlogin(),該方法的具體實(shí)現(xiàn)代碼如下所示:publicintuserlogin(stringusername,stringuserpass){ DatabasemyDB=newDatabase(); SqlParameter[]para={ myDB.MakeInParam("@username",SqlDbType.NVarChar,50,username), myDB.MakeInParam("@userPass",SqlDbType.NVarChar,50,userpass)}; returnmyDB.RunProc("spr_uerlogin",para);}該段代碼展示了上文中所提到的存儲(chǔ)過程的具體使用。主操作界面模塊1.主控制平臺(tái)的窗體設(shè)計(jì)主控制平臺(tái)的窗體設(shè)計(jì),如圖5所示。圖5主控制臺(tái)界面圖5主控制臺(tái)界面從界面上直觀的向用戶表明了在該系統(tǒng)下可以進(jìn)行的一系列操作,包括新用戶的注冊(cè),車輛信息的管理,司機(jī)信息的管理,線路信息的管理和車輛線路分配的管理。當(dāng)用戶選擇相應(yīng)的功能進(jìn)行操作時(shí),觸發(fā)該按鈕事件,則可以進(jìn)入相應(yīng)的功能界面進(jìn)行相應(yīng)的操作。系統(tǒng)用戶注冊(cè)模塊1.添加用戶子模塊添加用戶子模塊負(fù)責(zé)系統(tǒng)的安全性,在該模塊種只能增加新用戶而不能修改、刪除用戶,這樣是為了加強(qiáng)系統(tǒng)的安全性,保證了系統(tǒng)的惡意操作或誤刪除等情況出現(xiàn)。(1)添加新用戶功能的實(shí)現(xiàn),并且設(shè)置用戶的初始密碼。(2)功能模塊實(shí)現(xiàn)的界面效果如圖6所示。圖6添加用戶子模塊窗體效果圖6添加用戶子模塊窗體效果2.該子模塊功能主要代碼//用戶名檢測(cè)機(jī)制,保證用戶名的唯一性。privatevoidbutton2_Click(objectsender,System.EventArgse){ if(this.textBox1.Text.Trim()==""){ MessageBox.Show("用戶名不能為空"); } elseif(checkuser()==1) MessageBox.Show("該用戶名不存在,可以注冊(cè)!"); else{ MessageBox.Show("該用戶名存在,請(qǐng)重新錄入新的用戶名!"); }}將新用戶的信息寫入數(shù)據(jù)庫。通過自定義對(duì)象myAccc訪問數(shù)據(jù)庫,主要是由該對(duì)象調(diào)用存儲(chǔ)過程來實(shí)現(xiàn)。privatevoidbutton1_Click(objectsender,System.EventArgse){//checkuser()是自定義的方法,實(shí)現(xiàn)對(duì)用戶名的檢查判斷。 if(checkuser()==0){ MessageBox.Show("該用戶名存在,請(qǐng)重新錄入新的用戶名!"); return; }自定義的regcheck()方法,根據(jù)該方法返回的值對(duì)不同的情況進(jìn)行處理。 if(regcheck()==1){ DataAccessmyAcc=newDataAccess(); intli_check=myAcc.uerReg(this.textBox1.Text.Trim(),this.textBox2.Text.Trim(),boBox1.SelectedItem.ToString(),this.textBox4.Text.Trim(),this.textBox5.Text.Trim()); if(li_check==1){ MessageBox.Show("注冊(cè)成功"); } }}車輛信息管理模塊1.車輛信息模塊該模塊實(shí)現(xiàn)對(duì)車輛信息如、車牌號(hào)、顏色、座位數(shù)、是否無人售票和車輛品牌信息的錄入和刪除操作。該界面窗體效果如圖7所示。

圖7車輛信息管理窗體效果圖7車輛信息管理窗體效果2.該功能模塊實(shí)現(xiàn)的主要代碼該段代碼在用戶點(diǎn)擊“所有”按時(shí),觸發(fā)一個(gè)事件,通過調(diào)用allcarinfo()方法來返回?cái)?shù)據(jù)庫中的數(shù)據(jù),然后使用dataGrid控件將數(shù)據(jù)顯示出來。privatevoidbutton2_Click(objectsender,System.EventArgse){DataAccessmyAcc=newDataAccess();DataSetmySet=newDataSet();mySet=myAcc.allcarinfo();this.dataGrid1.DataSource=mySet.Tables[0];}該段代碼實(shí)現(xiàn)用戶增加車輛信息后完成保存功能的實(shí)現(xiàn)。其中針對(duì)某些可能出錯(cuò)的地方做出了人性化的處理,以便用戶更正和做出相應(yīng)的處理。司機(jī)信息管理模塊1.司機(jī)信息管理模塊通過該窗體,輸入司機(jī)姓名、身份證、編號(hào)和駕駛編號(hào)等等司機(jī)的個(gè)人資料,實(shí)現(xiàn)添加司機(jī)信息的功能,該功能模塊窗體的效果如圖8所示。

圖8司機(jī)信息添加模塊圖8司機(jī)信息添加模塊2.實(shí)現(xiàn)該功能模塊的主要代碼該事件實(shí)現(xiàn)將合法的司機(jī)信息寫入數(shù)據(jù)庫。同樣通過自定義類的對(duì)象來訪問數(shù)據(jù)庫,并通過調(diào)用存儲(chǔ)過程實(shí)現(xiàn)完成操作。privatevoidbutton1_Click(objectsender,System.EventArgse){ if(AddDirverscheck()==1){ DataAccessmyAcc=newDataAccess(); intli_check= myAcc.AddDirvers(this.tb_name.Text.Trim(),this.tb_Number.Text.Trim(), this.lab_photo.Text.Trim(),this.tb_Idnumber.Text.Trim(), this.tb_phone.Text.Trim(),this.tb_address.Text.Trim(), his.tb_DirverNumber.Text.Trim() ); if(li_check==1){ stringls_D=System.Environment.CurrentDirectory; MessageBox.Show("操作成功"); intli_counts=this.Controls.Count; for(inti=0;i<li_counts;i++){ if(this.Controls[i].GetType().ToString()=="System.Windows.Forms.TextBox") this.Controls[i].Text="";} } }}線路信息管理模塊1.在該功能模塊中實(shí)現(xiàn)添加線路相關(guān)的信息,主要輸入的信息包括線路編號(hào)、線路名稱、發(fā)車時(shí)間和收車時(shí)間等,具體的窗體效果見下頁圖9所示。圖9線路維護(hù)界面圖9線路維護(hù)界面2.實(shí)現(xiàn)該功能的主要代碼CheckReg()是一個(gè)用于實(shí)現(xiàn)檢查用戶注冊(cè)信息的私有方法,該方法通過嵌入SQL語句來檢索數(shù)據(jù)庫信息,以核對(duì)用戶信息的有效性。privateintCheckReg(){ DataSetmySet=newDataSet(); stringls_query="select*fromt_lineInfowhereLineName='"+this.tb_name.Text.Trim()+"'orLineCode='"+this.tb_Code.Text.Trim()+"'"; DatabasemyDB=newDatabase(); mySet=myDB.SQLQuery(ls_query); if(mySet.Tables[0].DefaultView.Count==0)return0; elsereturn1;}車輛分配線路管理模塊1.車輛分配線路管理功能公交車最終要與固定的某條線路相匹配,把具體的每一輛車分配到設(shè)置好的線路上。這樣,汽車,司機(jī),線路才能完成有機(jī)的聯(lián)系,形成一個(gè)整體。對(duì)于管理者來說,能夠通過該系統(tǒng)所提供的功能從宏觀上把握車輛的運(yùn)行情況,如圖10所示。圖圖10車輛分配線路管理窗體效果2.實(shí)現(xiàn)功能的主要代碼鼠標(biāo)單擊“確定”事件時(shí),將進(jìn)行的操作。首先根據(jù)整型變量li_LineID和li_CarID的值來判斷是否選擇了車輛或者某條線路;若沒有,則彈出一消息窗口,給出提示信息。privatevoidbutton1_Click(objectsender,System.EventArgse){ if(li_LineID==0||li_CarID==0){ MessageBox.Show("車輛或者線路沒有選擇,請(qǐng)選擇!"); return; } DataAccessmyAcc=newDataAccess(); if(myAcc.CheckLinByCarID(li_CarID)==0){ MessageBox.Show("該汽車已經(jīng)分配線路"); } else{ intli_flag=0; if(this.checkBox1.Checked==true) li_flag=1; else li_flag=0; if(myAcc.InsertCarLine(li_CarID,li_LineID,li_flag)>0) MessageBox.Show("保存成功!"); }}系統(tǒng)維護(hù)和改進(jìn)運(yùn)行維護(hù)經(jīng)過測(cè)試,該系統(tǒng)運(yùn)行穩(wěn)定,在使用和維護(hù)中應(yīng)該注意以下幾個(gè)問題:(1)定期備份數(shù)據(jù)庫,以免丟失數(shù)據(jù)。(2)定期清理數(shù)據(jù)庫中的無效數(shù)據(jù),以提高運(yùn)行效率。(3)對(duì)軟件及運(yùn)行環(huán)境進(jìn)行日常維護(hù)。系統(tǒng)改進(jìn)和提高本系統(tǒng)在信息表描述上,以及其它各個(gè)地方還有不完備的地方,通用性不強(qiáng),另外對(duì)于用戶權(quán)限上的設(shè)置沒有實(shí)現(xiàn)更具體的功能實(shí)施,沒有實(shí)現(xiàn)查詢資料導(dǎo)出的處理。下一部的工作將完善本系統(tǒng),在各個(gè)界面上進(jìn)一步添加所需要的字段。在熟悉系統(tǒng)模塊的設(shè)計(jì)后,可以根據(jù)實(shí)際需求的變化,擴(kuò)充系統(tǒng)的功能。結(jié)論本文主要研究了公交車管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。實(shí)現(xiàn)公交車公司在對(duì)車輛和人員以及線路的統(tǒng)一管理的應(yīng)用型設(shè)計(jì)。通過幾個(gè)月的努力,公交車管理系統(tǒng)功能基本符合用戶需求,能夠完成用戶提出的信息管理要求,實(shí)現(xiàn)對(duì)公交車輛的日常管理。在系統(tǒng)的整個(gè)設(shè)計(jì)與實(shí)現(xiàn)過程中,主要解決了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論