基于java的出租車(chē)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩125頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  隨著科學(xué)日新月異的發(fā)展與進(jìn)步,計(jì)算機(jī)應(yīng)用已經(jīng)成為人們必不可少的重要工具。而當(dāng)今社會(huì)人民生活節(jié)奏日益加快,伴隨著計(jì)算機(jī)的大范圍普及,計(jì)算機(jī)應(yīng)用逐漸由傳統(tǒng)、繁重的數(shù)據(jù)處理轉(zhuǎn)化為精密的數(shù)據(jù)處理以及大規(guī)模的工作化管理,這就產(chǎn)生了以臺(tái)式計(jì)算機(jī)為基準(zhǔn),以數(shù)據(jù)庫(kù)管理系統(tǒng)為開(kāi)發(fā)環(huán)境的信息管理系統(tǒng),從而達(dá)到精密的數(shù)據(jù)處理以及大規(guī)模的工作化管理

2、的運(yùn)用。出租車(chē)管理系統(tǒng)可以更好的為人們服務(wù),而實(shí)現(xiàn)計(jì)算機(jī)管理后能使出租車(chē)管理更加正規(guī)化、專(zhuān)業(yè)化、合理化。</p><p>  本系統(tǒng)主要用MyEclipse8.5作為開(kāi)發(fā)工具,并采用SQL Server 2005作為后臺(tái)數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)公司的出租車(chē)管理系統(tǒng)的主要功能。</p><p>  本系統(tǒng)實(shí)現(xiàn)了一般的出租車(chē)管理所具備的功能,如司機(jī)管理、添加司機(jī)、車(chē)輛信息管理、查詢車(chē)輛、后臺(tái)數(shù)據(jù)庫(kù)管理等,

3、利用這些功能可以對(duì)出租車(chē)信息進(jìn)行較好的管理。</p><p>  關(guān)鍵詞 出租車(chē)管理 數(shù)據(jù)庫(kù) 計(jì)算機(jī)應(yīng)用</p><p><b>  Abstract</b></p><p>  With the rapid development of science and progress, the computer has become an i

4、mportant tool for people to use essential. And in today's society people's ever-accelerating pace of life, along with a wide range of popular computer, computer applications gradually from the traditional, heavy

5、data processing into a sophisticated data processing and management of large-scale work, which resulted in a desktop computer as a benchmark to the database management system for the development of environmen</p>

6、<p>  Key words taxi management database computer applications</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p>&

7、lt;b>  第1章 緒論1</b></p><p>  1.1 課題背景1</p><p>  1.2 課題的意義1</p><p>  1.3 系統(tǒng)設(shè)計(jì)思想1</p><p>  1.4 本章小結(jié)2</p><p>  第2章 系統(tǒng)開(kāi)發(fā)環(huán)境3</p><p> 

8、 2.1 Java技術(shù)3</p><p>  2.2 JSP技術(shù)3</p><p>  2.3 JavaBean4</p><p>  2.4 配置站點(diǎn)5</p><p>  2.4.1 JDK的安裝與配置5</p><p>  2.4.2 Tomcat的安裝和配置5</p><p>

9、;  2.5 MVC模式6</p><p>  2.6 SQL Server 20058</p><p><b>  2.7本章小結(jié)8</b></p><p>  第3章 系統(tǒng)分析9</p><p>  3.1 可行性分析9</p><p>  3.1.1 技術(shù)可行性9</p&g

10、t;<p>  3.1.2 經(jīng)濟(jì)可行性9</p><p>  3.1.3 操作可行性9</p><p>  3.2 功能模塊分析9</p><p>  3.3 界面要求10</p><p>  3.4 本章小結(jié)10</p><p>  第4章 總體設(shè)計(jì)11</p><p&g

11、t;  4.1 系統(tǒng)模塊總體設(shè)計(jì)12</p><p>  4.2 E-R設(shè)計(jì)14</p><p>  4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)14</p><p>  4.3.1 技術(shù)可行性14</p><p>  4.3.2 技術(shù)可行性14</p><p>  4.3.3 技術(shù)可行性15</p><p>

12、;  4.4 本章小結(jié)15</p><p>  第5章 系統(tǒng)實(shí)現(xiàn)及分析15</p><p>  5.1 登陸界面16</p><p>  5.2 系統(tǒng)主界面18</p><p>  5.3 司機(jī)信息管理18</p><p>  5.4 車(chē)倆信息管理21</p><p>  5.5 車(chē)

13、倆查詢模塊23</p><p>  5.6 修改登錄密碼與安全退出登錄24</p><p>  5.7 本章小結(jié)24</p><p>  第6章 系統(tǒng)測(cè)試和性能分析25</p><p>  6.1 測(cè)試的任務(wù)和目標(biāo)25</p><p>  6.1.1 測(cè)試的任務(wù)25</p><p>

14、  6.1.2 測(cè)試的目標(biāo)25</p><p>  6.2 測(cè)試方案25</p><p>  6.3 設(shè)計(jì)本系統(tǒng)的測(cè)試方案26</p><p>  6.4 測(cè)試結(jié)論26</p><p>  6.5 本章小結(jié)27</p><p><b>  結(jié) 論28</b></p>&

15、lt;p><b>  致 謝29</b></p><p><b>  參考文獻(xiàn)30</b></p><p><b>  第1章 緒論</b></p><p><b>  1.1 課題背景</b></p><p>  隨著經(jīng)濟(jì)的蓬勃發(fā)展,出租車(chē)公

16、司的管理也越來(lái)越重,所以對(duì)出租車(chē)管理的要求也更加嚴(yán)格。在傳統(tǒng)的手工管理階段,管理出租車(chē)公司的各個(gè)方面都需要花費(fèi)大量的精力到紙張上,并因業(yè)務(wù),司機(jī)和車(chē)輛管理等各種問(wèn)題的增加,使得信息化管理任務(wù)的數(shù)量也隨著不斷上漲,這使得出租車(chē)管理變得非常麻煩,并對(duì)出租車(chē)公司的管理造成了嚴(yán)重的影響,例如,汽車(chē)租賃公司在運(yùn)營(yíng)過(guò)程中經(jīng)常出現(xiàn)出租車(chē)信息記錄丟失的現(xiàn)象,這極大地影響了出租車(chē)公司的管理與公司的正常運(yùn)轉(zhuǎn),給公司帶來(lái)諸多不便。</p>&l

17、t;p>  出租車(chē)公司需要生存和發(fā)展,就必須加強(qiáng)管理,并且要求信息集成化,出租車(chē)公司作為一個(gè)整體,他的各個(gè)方面,包括資源在內(nèi)是否可以整合,是否可以合理的管理好公司,這才是重中之重,而對(duì)于現(xiàn)代出租車(chē)公司競(jìng)爭(zhēng)是出租車(chē)公司的綜合實(shí)力的競(jìng)爭(zhēng),想要從競(jìng)爭(zhēng)中突出重圍就必須要有豐厚的盈利收入,這樣才可以成功的從市場(chǎng)中脫穎而出。這就要求出租車(chē)公司實(shí)現(xiàn)統(tǒng)一規(guī)劃,協(xié)調(diào)生產(chǎn)步驟,信息匯總等方式提高競(jìng)爭(zhēng)力。并且出租車(chē)公司需要部署內(nèi)部資源,實(shí)現(xiàn)獨(dú)立,統(tǒng)一資

18、源共享管理。</p><p><b>  1.2 課題的意義</b></p><p>  人們的生活在科技進(jìn)步的沖擊之下,正在悄然發(fā)生著翻天覆地的改變,人們?cè)谏钌a(chǎn)中使用的技術(shù)也和以前有著本質(zhì)上的不同,而出租車(chē)的管理就是其中之一,從原先的單一、笨拙的手動(dòng)記錄到現(xiàn)在簡(jiǎn)單、易懂的軟件信息化管理,不得不說(shuō)這是一個(gè)本質(zhì)性的改變。而在經(jīng)過(guò)出租車(chē)公司根據(jù)研究的實(shí)際情況,在進(jìn)行了

19、詳細(xì)的需求分析之后,把原先的管理模式提高,發(fā)展成一個(gè)新的管理系統(tǒng),掌握系統(tǒng)的開(kāi)發(fā)過(guò)程和方法的想法。隨著信息化技術(shù)的持續(xù)革新,出租車(chē)的管理更加離不開(kāi)信息化,只要通過(guò)點(diǎn)擊鼠標(biāo)對(duì)軟件的功能進(jìn)行選擇就可以達(dá)到管理車(chē)輛的目的,完美的替代了手工記錄管理,這也給公司帶來(lái)了巨大的便利,而隨著出租車(chē)公司的規(guī)模變大,所述管理系統(tǒng)將繼續(xù)改善,使之能更適合于出租車(chē)公司的發(fā)展需要。</p><p>  1.3 系統(tǒng)設(shè)計(jì)思想</p&g

20、t;<p>  基于Java的出租車(chē)管理系統(tǒng)功能包括了司機(jī)信息管理、車(chē)輛信息管理、車(chē)輛查詢等模塊。司機(jī)信息管理模塊包括查看司機(jī)信息以及添加、刪除司機(jī)信息的功能。車(chē)輛信息管理模塊包括查看車(chē)輛信息以及添加、刪除車(chē)輛信息的功能。車(chē)輛查詢模塊包括按車(chē)牌照查詢、按司機(jī)姓名查詢的功能。此系統(tǒng)可以使企業(yè)的管理變的容易,從而使企業(yè)在運(yùn)營(yíng)中帶來(lái)巨大的便利。</p><p>  本系統(tǒng)是針對(duì)司機(jī)與車(chē)輛的管理,司機(jī)信息包

21、括姓名、性別、年齡、電話、住址、駕照,駕齡這些基本信息,車(chē)輛信息包括車(chē)牌號(hào)、發(fā)動(dòng)機(jī)號(hào)、購(gòu)買(mǎi)日期、車(chē)況、照片、司機(jī)這些信息。</p><p>  通過(guò)以上這些信息,企業(yè)可以詳細(xì)的了解每一輛出租車(chē)的情況并且做出相應(yīng)的調(diào)整,例如某一輛出租車(chē)出了狀況,企業(yè)可以及時(shí)的根據(jù)出租車(chē)上的信息找到司機(jī),并根據(jù)損失的大小對(duì)出租車(chē)司機(jī)做出相應(yīng)的處理。企業(yè)也可以根據(jù)出租車(chē)的近況來(lái)定期的對(duì)出租車(chē)進(jìn)行保養(yǎng)、維修,從而使出租車(chē)的安全指標(biāo)上升,

22、減少出租車(chē)發(fā)生失靈故障、交通事故的風(fēng)險(xiǎn)。</p><p><b>  1.4 本章小結(jié)</b></p><p>  本章主要講述的是課題背景、課題的意義,系統(tǒng)設(shè)計(jì)思想,通過(guò)講述這些方面,讓我們知道在當(dāng)今出租車(chē)管理系統(tǒng)在管理出租車(chē)的重要性,在出租車(chē)管理的支持下,公司在管理出租車(chē)方面可以做到游刃有余,而不會(huì)向過(guò)去一樣繁瑣,通過(guò)對(duì)出租車(chē)車(chē)況以及出租車(chē)司機(jī)在系統(tǒng)上的記錄,可以

23、對(duì)其進(jìn)行及時(shí)的處理,可以讓公司運(yùn)營(yíng)的更好。</p><p>  第2章 系統(tǒng)開(kāi)發(fā)環(huán)境</p><p>  2.1 Java技術(shù)</p><p>  Java語(yǔ)言是一種應(yīng)用非常廣泛的跨平臺(tái)設(shè)計(jì)語(yǔ)言,正因?yàn)樗^(guò)于強(qiáng)大的功能性而備受使用者的推崇與青睞,應(yīng)用Java語(yǔ)言編制的程序軟件現(xiàn)在廣泛用于人們的日常生活當(dāng)中,小到手機(jī)終端,大到資本管理都可以找到Java的影子,現(xiàn)在Ja

24、va已經(jīng)成為在編程中必不可少的編程語(yǔ)言之一。 </p><p>  Java語(yǔ)言備受青睞,因其強(qiáng)大的功能所以稱(chēng)得上是新一代的編程語(yǔ)言,除了面向?qū)ο髲V泛之外,Java語(yǔ)言還在安全性、跨平臺(tái)無(wú)關(guān)性、支持多線程以及內(nèi)存管理等許多方面具有卓越的優(yōu)點(diǎn):</p><p>  Java是面向?qū)ο蟮?,除了?shù)字和布爾算子這兩個(gè)簡(jiǎn)單類(lèi)型之外,Java使用的元素幾乎全部都是對(duì)象,所以Java是一種面向?qū)ο蟮木幊?/p>

25、語(yǔ)言。</p><p>  Java是靜態(tài)類(lèi)型的,再使用Java之前首先必須要定義所有對(duì)象的類(lèi)型。這樣當(dāng)程序出現(xiàn)錯(cuò)誤的時(shí)候,可以快速的發(fā)現(xiàn)錯(cuò)誤代碼的正確位置,這給用戶能夠改正錯(cuò)誤代碼提供了有利條件。</p><p>  Java是編譯型的,當(dāng)Java程序運(yùn)行時(shí),它會(huì)被編譯成與機(jī)器指令相近的字節(jié)代碼。使得更容易接收,所以Java不但運(yùn)行速度快,效率也很高。</p><p&

26、gt;  Java是健全的,每當(dāng)Java運(yùn)行時(shí),Java系統(tǒng)都會(huì)檢查系統(tǒng)自身的內(nèi)存是否存在異常,只有確認(rèn)他是合法的才會(huì)運(yùn)行,所以不會(huì)產(chǎn)生錯(cuò)誤。</p><p>  Java是小巧的,為了滿足用戶的需要,Java在設(shè)計(jì)時(shí)就被制作成了可以兼容小容量存儲(chǔ)的編程語(yǔ)言。Java翻譯器只占用幾百KB,大多數(shù)的計(jì)算機(jī)都可以通過(guò)Java達(dá)到完美運(yùn)行的效果。</p><p>  Java是多線程的, Jav

27、a程序可以同時(shí)執(zhí)行多個(gè)線程。比如,它可以一邊在一個(gè)線程中完成大量復(fù)雜的計(jì)算,一邊在其它的線程與用戶進(jìn)行交流。</p><p>  Java是可收集無(wú)用的存儲(chǔ)單元的,當(dāng)它的內(nèi)存塊因?yàn)榇鎯?chǔ)單元過(guò)多而不能使用時(shí),Java不需要像C與C++一樣必須要讓程序釋放才可以使用,也不需要像C與C++一樣必須要仔細(xì)檢查所有的內(nèi)存塊。這個(gè)特點(diǎn)是極其重要的,這樣在大項(xiàng)目里他不會(huì)出現(xiàn)內(nèi)存不足和出錯(cuò)的問(wèn)題。</p><

28、p>  Java是快速的, Java要比很多其它的腳本語(yǔ)言更加穩(wěn)定、有效。</p><p><b>  2.2 JSP技術(shù)</b></p><p>  JSP(Java Server Pages)是由Sun公司與多家公司聯(lián)合制作的一種功能強(qiáng)大的動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),是由 Java語(yǔ)言編寫(xiě)的服務(wù)器端運(yùn)行的頁(yè)面。</p><p>  JSP技術(shù)是

29、在Servlet基礎(chǔ)技術(shù)的上發(fā)展制作出來(lái)的,Jsp的應(yīng)用普及是各個(gè)開(kāi)發(fā)工具公司廣泛合作的結(jié)果,它可以將網(wǎng)頁(yè)中的靜態(tài)的HTML與動(dòng)態(tài)部分分離。 </p><p><b>  JSP的優(yōu)點(diǎn)如下:</b></p><p>  1.將內(nèi)容的生成和顯示進(jìn)行分離</p><p>  通過(guò)使用JSP技術(shù),程序開(kāi)發(fā)人員能夠使用HTML或者XML標(biāo)識(shí)來(lái)對(duì)最終頁(yè)面

30、進(jìn)行操作與處理,從而實(shí)現(xiàn)格式化與設(shè)計(jì)的功能。通過(guò)JSP標(biāo)識(shí)或者小腳本來(lái)產(chǎn)生頁(yè)面上的內(nèi)容,從而達(dá)到與用戶交互的目的。產(chǎn)生的所有數(shù)據(jù)內(nèi)容全部都被封裝在標(biāo)志和JavaBean群組件中,通過(guò)對(duì)小腳本進(jìn)行捆綁,使得所有的腳本全都需要依靠服務(wù)器端來(lái)運(yùn)行。如果重要的數(shù)據(jù)被封裝在標(biāo)志和Bean中,那么程序開(kāi)發(fā)人員可以通過(guò)操作JSP來(lái)減少錯(cuò)誤的發(fā)生。 2.強(qiáng)調(diào)可重用的組件 </p><p>  幾乎大部分的JSP頁(yè)面都需要

31、通過(guò) (JavaBeans或者EnterpriseJavaBeansTM組件)來(lái)完成運(yùn)行程序時(shí)難度頗為復(fù)雜的處理。通過(guò)研發(fā)人員的操作(交換與共享執(zhí)行一般操作的組件),從而可以讓更多的用戶與用戶團(tuán)體能夠使用這些組件。</p><p>  3.采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā) </p><p>  JSP的程序開(kāi)發(fā)人員并不意味著都是非常熟悉編程語(yǔ)言的。JSP技術(shù)自身攜帶了很多功能,這種功能主要是用于生成與

32、JSP相關(guān)的XML動(dòng)態(tài)內(nèi)容的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)可以訪問(wèn)JavaBeans組件,并且可以對(duì)其進(jìn)行實(shí)際操作,包括在組件里設(shè)置或者檢索屬性,以及下載Applet,甚至可以在JavaBean組件里使用非常復(fù)雜的編碼與耗時(shí)的功能。</p><p><b>  4.健壯性與安全性</b></p><p>  由于JSP頁(yè)面完全來(lái)自于Java語(yǔ)言,所以他們都會(huì)被編譯成字節(jié)代碼,所以

33、它擁有Java語(yǔ)言的所有功能,這其中就包括了Java出色的健壯性與安全性。</p><p><b>  5.良好的移植性</b></p><p>  同樣,如上所述因?yàn)镴SP頁(yè)面完全使用Java語(yǔ)言編寫(xiě)。所以JSP與Java語(yǔ)言一樣,都可以做到 “一次編寫(xiě),各處運(yùn)行”。這樣的優(yōu)點(diǎn)使得不少軟件開(kāi)發(fā)商愿意把JSP放到自己開(kāi)發(fā)的軟件中,使得用戶可以完全自由的選擇自己喜愛(ài)的服

34、務(wù)器與工具,所選擇的這些應(yīng)用也并不會(huì)影響程序的正常運(yùn)行。</p><p>  6.企業(yè)的擴(kuò)展性與性能</p><p>  JSP頁(yè)面會(huì)提供非常優(yōu)越的功能與擴(kuò)展性,這對(duì)于不少大型公司而言,這種基于Web的應(yīng)用是非常需要的。</p><p>  2.3 JavaBean</p><p>  JavaBean是一個(gè)可以不斷進(jìn)行多次使用的組件。實(shí)際上

35、JavaBean是一種Java類(lèi),JavaBean可以在屬性與方法的封裝之下進(jìn)行改變,它可以給自己添加某種功能或者是處理某個(gè)項(xiàng)目中的對(duì)象,簡(jiǎn)稱(chēng)bean。</p><p>  因?yàn)镴avaBean是一種Java類(lèi),所以 JavaBean不需要使用平臺(tái),它具有以下特點(diǎn):</p><p>  1.代碼可以重復(fù)利用。</p><p>  2.易編寫(xiě)、易維護(hù)、易使用。<

36、/p><p>  3.只要安裝了Java就可以在任何運(yùn)行環(huán)境下使用。</p><p>  Jsp頁(yè)面是由普通的HTML標(biāo)簽與Java程序片兩部分構(gòu)成的,而兩者是非常容易混在一起的,這樣會(huì)導(dǎo)致頁(yè)面顯得非常凌亂,從而導(dǎo)致系統(tǒng)難以維護(hù)。而JSP頁(yè)面可以將數(shù)據(jù)的處理過(guò)程分成幾份,在分別發(fā)送給一個(gè)或者幾個(gè)bean來(lái)完成,我們只需在JSP頁(yè)面調(diào)用這個(gè)bean就可以輕松完成這個(gè)問(wèn)題。并不建議讓Java程序來(lái)

37、進(jìn)行大量的工作。在JSP頁(yè)面還有一些重要的功能,例如通過(guò)在JSP頁(yè)面中調(diào)用bean,可以把動(dòng)態(tài)工作部分與靜態(tài)工作部分完全分離,減少不必要的麻煩與錯(cuò)誤。</p><p><b>  2.4 配置站點(diǎn)</b></p><p>  2.4.1 JDK的安裝與配置</p><p>  JDK(Java Develop Kit),它是Java的早期開(kāi)發(fā)包

38、名稱(chēng),直到今天這個(gè)開(kāi)發(fā)包仍在使用。在1998年Sun公司使用了新的名字Java 2 Platform來(lái)指Java,譯成中文就是“Java平臺(tái)”,修改后的JDK稱(chēng)為J2SDK即Java 2(Platform)Software Developing Kill。并分為標(biāo)準(zhǔn)版、企業(yè)版、微型版,它們有不同的用途。</p><p>  下面是對(duì)JDK的環(huán)境配置說(shuō)明:</p><p>  在Window

39、s 7系統(tǒng)桌面上鼠標(biāo)右鍵單機(jī)“計(jì)算機(jī)”→更改設(shè)置→高級(jí)→環(huán)境變量,在彈出的對(duì)話框中輸入如下代碼:</p><p>  變量名:JAVA_HOME;變量值:D:\JAVA。</p><p>  變量名:CLASS_PATH;變量值:%JAVA_HOME%\lib;% JAVA_HOME%\ lib\ tools.jar(加.表示當(dāng)前路徑,所以這里的.;是不能少的)。</p>&

40、lt;p>  變量名:PATH;變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。</p><p>  2.4.2 Tomcat的安裝和配置</p><p>  在今天,Java已經(jīng)成為了編程軟件中不可缺少的重要軟件,這使得在 web上的應(yīng)用也愈來(lái)愈廣,而tomcat作為一個(gè)開(kāi)源的servler容器,它的使用也變的廣泛起來(lái)。</p><

41、;p>  作為jakarta項(xiàng)目中的必不可少的一個(gè)子項(xiàng)目,Tomcat的作用也是顯而易見(jiàn)的,同時(shí)它也是官方推薦的servler和jsp的容器,所以它也非常受編程愛(ài)好者以及開(kāi)發(fā)人員的歡迎。Servler和jsp的最新功能都可以通過(guò)在tomcat的新版本中得到體現(xiàn)。</p><p>  從tomcat官方網(wǎng)站上下載jakarta tomcat 4.0.1exe,按照一般的軟件安裝步驟即可能夠成功安裝tomcat

42、,安裝時(shí)它會(huì)自動(dòng)尋找他的安裝位置。</p><p>  運(yùn)行tomcat需要設(shè)置JAVA_HOME變量</p><p>  set JAVA_HOME=c:/jdk (win98,在msdos方式下使用,或者放入autoexec.bat中) export JAVA_HOME=/usr/local/jdk (linux下使用,放到/etc/bashrc或者/etc/profile中)

43、</p><p>  在完成上述配置之后就可以運(yùn)行tomcat服務(wù)器了,進(jìn)入tomcat的bin目錄,win7下用startup啟動(dòng)tomcat,linux下用startup.sh,相應(yīng)的關(guān)閉tomcat的命令為shutdown和shutdown.sh。</p><p>  啟動(dòng)后在瀏覽器地址欄中輸入http://localhost:8080/來(lái)測(cè)試,由于tomcat擁有web服務(wù)器的功能

44、,所以不必在安裝 apache,而如果把兩者放在一起,也沒(méi)有什么問(wèn)題。</p><p><b>  2.5 MVC模式</b></p><p>  MVC (Model View Controller)是一種面向動(dòng)態(tài)內(nèi)容的實(shí)現(xiàn),是一種軟件架構(gòu)模式,也是一個(gè)有用的工具箱。</p><p>  MVC具體分為三個(gè)部分:模型(Model)、視圖(Vi

45、ew)和控制器(Controller),并且MVC總是由這三個(gè)部分組成。</p><p>  MVC是在上個(gè)世紀(jì)八十年代提出的一種軟件的設(shè)計(jì)模式。MVC模式的特點(diǎn)是把程序設(shè)計(jì)變成動(dòng)態(tài)的,使程序可以便于修改以及擴(kuò)展簡(jiǎn)化,并且使程序的某個(gè)部分可以多次使用。除此之外,MVC還擁有簡(jiǎn)化程序的特點(diǎn),他可以簡(jiǎn)化眾多的復(fù)雜程序,使程序結(jié)構(gòu)變得更加簡(jiǎn)單,直觀。</p><p>  模型(Model)是指對(duì)

46、程序運(yùn)行的流程和對(duì)狀態(tài)的處理以及業(yè)務(wù)規(guī)則的規(guī)定。用于封裝與應(yīng)用程序中相關(guān)的數(shù)據(jù)以及對(duì)數(shù)據(jù)的處理方法。模型具有可以直接訪問(wèn)數(shù)據(jù)的能力,例如它可以直接訪問(wèn)數(shù)據(jù)庫(kù)。模型是獨(dú)立的,它不依賴于視圖和控制器,也就是說(shuō),模型無(wú)論被視圖顯示成什么樣子或是如何被操作都不影響模型正常的運(yùn)轉(zhuǎn)。而模型中數(shù)據(jù)的變化是可以通過(guò)一種刷新機(jī)制來(lái)進(jìn)行改變。模型對(duì)視圖數(shù)據(jù)的請(qǐng)求做出處理,并且返回最后的數(shù)據(jù)處理結(jié)果,可以說(shuō)模型是MVC不可缺少的一環(huán)。</p>

47、<p>  視圖(View)是模型的表示,它可以通過(guò)與用戶界面交互來(lái)把數(shù)據(jù)顯示在界面上,在視圖中一般沒(méi)有程序上的邏輯。視圖可以對(duì)觀察的數(shù)據(jù)模型進(jìn)行訪問(wèn),以達(dá)到視圖刷新的目的。</p><p>  控制器(Controller)對(duì)用戶的請(qǐng)求做出回應(yīng),在對(duì)視圖與模型進(jìn)行操作來(lái)達(dá)到功能的運(yùn)行與完成??刂破髦皇秦?fù)責(zé)接收并且自己選擇調(diào)用模型構(gòu)建去處理請(qǐng)求。</p><p><b>

48、;  MVC的優(yōu)點(diǎn):</b></p><p>  在最初的JSP網(wǎng)頁(yè)操作處理是非常復(fù)雜的,因?yàn)楹团c數(shù)據(jù)庫(kù)查詢語(yǔ)句相近的數(shù)據(jù)層代碼與HTML相近的表示層混在一起,所以幾乎無(wú)法分辨,這給使用者帶來(lái)了巨大的麻煩。使用者需要耗費(fèi)大量的時(shí)間來(lái)找到數(shù)據(jù)庫(kù)代碼與表示層,并把他們分開(kāi),這是很難以實(shí)現(xiàn)的,因?yàn)檫@樣做需要耐心地計(jì)劃與無(wú)數(shù)次的嘗試,在經(jīng)歷無(wú)數(shù)次次失敗之后可能都無(wú)法把他們分開(kāi)。</p><

49、p>  然而MVC直接就可以強(qiáng)制性的把他們完全分開(kāi)。盡管MVC的構(gòu)造較為復(fù)雜,非常不容易理解,需要花費(fèi)不少時(shí)間與精力去思考,但是它帶給我們的好處是毋容置疑的。</p><p>  其次,控制器又是一個(gè)高獨(dú)立內(nèi)聚的物件,因?yàn)榭刂破?、模型,視圖都是相對(duì)獨(dú)立的,這樣使得改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則也變得十分容易。例如,只要對(duì)控制器進(jìn)行簡(jiǎn)單操作就可以把數(shù)據(jù)庫(kù)從MySQL移動(dòng)到Oracle,或者把RDBMS數(shù)據(jù)源改

50、變成LDAP數(shù)據(jù)源也是如此簡(jiǎn)單,無(wú)論數(shù)據(jù)是來(lái)自數(shù)據(jù)庫(kù)還是來(lái)自于LDAP服務(wù)器,視圖都可以把他們?nèi)砍尸F(xiàn)出來(lái)。</p><p>  由于MVC模式的三個(gè)模塊是都是完全獨(dú)立的,無(wú)論哪一個(gè)發(fā)生怎么的變化都不會(huì)改變另外兩個(gè),而根據(jù)這樣的特點(diǎn),它的內(nèi)部也不會(huì)發(fā)生沖突更不會(huì)造成互相干擾。</p><p>  此外,控制器在之后的改進(jìn)中加強(qiáng)了它的簡(jiǎn)易性與功能性??刂破骺梢愿鶕?jù)用戶的不同要求來(lái)連接不同的模

51、型和視圖,從而達(dá)到用戶的要求。同時(shí)也為用戶提供了構(gòu)造應(yīng)用程序的強(qiáng)大的功能,給予一些非常有用處的模型和視圖,控制器可以根據(jù)用戶的選擇適當(dāng)?shù)倪M(jìn)行模型機(jī)型處理,然后選擇最適合的視圖并在經(jīng)過(guò)圖片的處理后,把完整的結(jié)果呈現(xiàn)給用戶。</p><p><b>  MVC的缺點(diǎn):</b></p><p>  MVC并沒(méi)有詳細(xì)準(zhǔn)確的概念,人們對(duì)概念的模糊性造成了想要完全理解MVC模式并

52、不是一件容易的事情,所以在使用MVC模式之前需要自己做好充足的準(zhǔn)備。</p><p>  MVC的內(nèi)部結(jié)構(gòu)原理也是十分復(fù)雜,經(jīng)常需要很長(zhǎng)時(shí)間來(lái)思考。所以設(shè)計(jì)一個(gè)MVC模式架構(gòu)的系統(tǒng),也同樣需要耗費(fèi)大量的時(shí)間去認(rèn)真考慮如何把MVC模式加載到所要的應(yīng)用程序當(dāng)中,同時(shí)又因?yàn)槟P秃鸵晥D是完全獨(dú)立、沒(méi)有任何聯(lián)系的,這樣也給應(yīng)用程序的調(diào)試帶來(lái)了不小的麻煩。每個(gè)構(gòu)件在使用之前都必須對(duì)其進(jìn)行非常徹底的測(cè)試。另外由于每一個(gè)應(yīng)用程序

53、都被MVC模式分成了三個(gè)部件,所以這就意味著同一個(gè)項(xiàng)目它會(huì)包含以前所有的文件。</p><p>  MVC模式最開(kāi)始并不適合中小型規(guī)模的應(yīng)用程序,因?yàn)樵谥行⌒统绦蚴褂肕VC會(huì)給人們帶來(lái)很多額外,繁重的工作量,這樣也增加了應(yīng)用的復(fù)雜性。但現(xiàn)在大多數(shù)軟件設(shè)計(jì)框架能夠直接快速提供MVC框架,來(lái)供中小型應(yīng)用程序使用,所以現(xiàn)在此問(wèn)題已經(jīng)得到解決。</p><p>  對(duì)于存在著大量用戶界面并且邏輯復(fù)

54、雜的大型應(yīng)用程序,MVC在軟件的健壯性、代碼重用和結(jié)構(gòu)等方面都有著出色的表現(xiàn)。盡管在設(shè)計(jì)程序最初構(gòu)件MVC模式框架時(shí)會(huì)耗費(fèi)大量的時(shí)間與精力。但從長(zhǎng)遠(yuǎn)的角度而言,它會(huì)大大提高后期軟件開(kāi)發(fā)的效率,MVC會(huì)越來(lái)越完美。</p><p>  2.6 SQL Server 2005</p><p>  SQL Server 2005 是一個(gè)功能全面的數(shù)據(jù)庫(kù)平臺(tái),SQL Server 2005 通過(guò)使

55、用功能強(qiáng)大的數(shù)據(jù)處理功能來(lái)對(duì)用戶的要求進(jìn)行相關(guān)的處理。SQL Server 2005數(shù)據(jù)庫(kù)引擎為多種不同的數(shù)據(jù)類(lèi)型提供了更加安全的保護(hù)功能,使用戶可以通過(guò)SQL Sever2005為自己構(gòu)建高性能的軟件系統(tǒng)。</p><p>  SQL Server 2005 數(shù)據(jù)引擎是數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報(bào)表、集成和通知功能。這使企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 BI 解決方案

56、,幫助團(tuán)隊(duì)通過(guò)記分卡、Dashboard、Web services 和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域。</p><p><b>  2.7本章小結(jié)</b></p><p>  本章主要介紹了出租車(chē)管理系統(tǒng)所使用的開(kāi)發(fā)工具、以及該系統(tǒng)所使用的編程語(yǔ)言,本系統(tǒng)使用的開(kāi)發(fā)工具為MyEclipse8.5,所用到的數(shù)據(jù)庫(kù)為SQL Server 2005,使用JSP頁(yè)面技術(shù)

57、,操作系統(tǒng)為Windows 7,因?yàn)镴SP頁(yè)面技術(shù)使用的是Java語(yǔ)言所以它非常的穩(wěn)定,而SQL Server 2005雖然有些老舊,但是它的功能穩(wěn)定性仍然是非常不錯(cuò)的,所以選擇他們來(lái)作為畢業(yè)設(shè)計(jì)的工具。</p><p><b>  第3章 系統(tǒng)分析</b></p><p><b>  3.1 可行性分析</b></p><p

58、>  系統(tǒng)分析是在軟件系統(tǒng)開(kāi)發(fā)中不可缺少的重要環(huán)節(jié),系統(tǒng)分析分別從技術(shù)可行性,經(jīng)濟(jì)可行性和操作可行性這幾個(gè)方面來(lái)分析,判斷程序是否可以正常工作。</p><p>  在程序的設(shè)計(jì)過(guò)程中將會(huì)面臨怎樣巨大的困難,提前做好接受困難的準(zhǔn)備并且設(shè)計(jì)出各種問(wèn)題的結(jié)局方案,合理的計(jì)劃方案,明確問(wèn)題目標(biāo),只有這樣才能從根本上結(jié)局問(wèn)題。</p><p>  該系統(tǒng)采用的架構(gòu)是MVC模式,使用系統(tǒng)前,系

59、統(tǒng)需求分析是必不可少的準(zhǔn)備前期發(fā)展階段,為了能夠使系統(tǒng)做的更好,我們做的必須要滿足于系統(tǒng)性能的各種需求,借鑒了其它網(wǎng)站都考慮到了什么,從而使我們的系統(tǒng)更加完整。</p><p>  幾乎所有的程序在設(shè)計(jì)時(shí)都會(huì)遇到時(shí)間不夠或者資源短缺的問(wèn)題。因此,每個(gè)程序在設(shè)計(jì)之前,都需要進(jìn)行可行性分析,這樣可以減少程序設(shè)計(jì)的風(fēng)險(xiǎn),避免發(fā)生不必要的損失。下面是技術(shù),經(jīng)濟(jì),操作三個(gè)方面來(lái)介紹。</p><p>

60、;  3.1.1 技術(shù)可行性 </p><p>  基于Java的出租車(chē)管理系統(tǒng)是使用MyEclipse和SQL2005數(shù)據(jù)庫(kù)軟件這兩個(gè)開(kāi)發(fā)平臺(tái),采用Java語(yǔ)言以及J2EE技術(shù)開(kāi)發(fā)的,因?yàn)槌绦蚬δ鼙容^簡(jiǎn)單,所以開(kāi)發(fā)該系統(tǒng)的整體難度并不大,而數(shù)據(jù)庫(kù)的設(shè)計(jì)和運(yùn)行是整個(gè)系統(tǒng)的核心。因?yàn)樵诖髮W(xué)里學(xué)習(xí)過(guò)軟件工程,MVC,安卓等課程,每學(xué)期都會(huì)完成相應(yīng)的課程設(shè)計(jì),有一些系統(tǒng)的分析,設(shè)計(jì)和測(cè)試能力。因此,要完成系統(tǒng)在技術(shù)上是

61、可行的。</p><p>  3.1.2 經(jīng)濟(jì)可行性 </p><p>  今天是信息化的時(shí)代,信息化管理可以使管理工作更加系統(tǒng)化,快速化,全面化。這會(huì)快速提高工作效率,為企業(yè)帶來(lái)經(jīng)濟(jì)利益,本系統(tǒng)對(duì)配置要求不高,更換下來(lái)的低配置電腦可以充分滿足需求。此外,系統(tǒng)的高效率帶來(lái)的便利遠(yuǎn)遠(yuǎn)超出了系統(tǒng)的成本,并因此有充分的經(jīng)濟(jì)可行性。</p><p>  3.1.3 操作可行

62、性 </p><p>  該系統(tǒng)頁(yè)面簡(jiǎn)潔,容易上手。輸入頁(yè)面大多是下拉框中選擇的形式,并且不需要輸入就可以在網(wǎng)頁(yè)上可以自動(dòng)生成頁(yè)面信息,時(shí)間的輸入也是用的日歷控件,操作簡(jiǎn)單,只需WINDOWS操作熟練即可。 </p><p>  3.2 設(shè)計(jì)的基本思想</p><p>  1.本系統(tǒng)采用B / S模式來(lái)設(shè)計(jì),它的好處是在后臺(tái)與前臺(tái)之間處理層次分明,非常適合習(xí)慣在網(wǎng)頁(yè)

63、上操作的使用者。 </p><p>  2.隨著面向?qū)ο蟮母拍畹拈_(kāi)發(fā)和設(shè)計(jì)。在面向?qū)ο蠹夹g(shù)的前提下使用該系統(tǒng)的整體高度和準(zhǔn)確的抽象,通過(guò)它可以保證系統(tǒng)有一個(gè)很好的框架,使產(chǎn)品增加穩(wěn)定性并且提高運(yùn)營(yíng)效率。</p><p>  3.本系統(tǒng)使用模塊化的設(shè)計(jì)。模塊化可以將功能分解,從而達(dá)到系統(tǒng)質(zhì)量的提升。</p><p>  4.系統(tǒng)界面非常簡(jiǎn)潔易懂。該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,界面十

64、分容易操作,便于用戶快速上手。</p><p>  5.速度優(yōu)先的原則。因?yàn)檫@個(gè)工具是最重要的評(píng)價(jià)標(biāo)準(zhǔn)速度,所以在設(shè)計(jì)過(guò)程中,具體的過(guò)程盡可能小尺寸,速度快。</p><p>  6.設(shè)計(jì)不僅要注重,也要細(xì)心。為了滿足設(shè)計(jì)要求,它能夠提高擴(kuò)張,使系統(tǒng)更適應(yīng)于用戶的需要的地方。</p><p><b>  3.3 界面要求</b></p&g

65、t;<p>  界面設(shè)計(jì)評(píng)估軟件已經(jīng)成為了用戶的良師益友,它可以判斷出可以使用戶增加使用該系統(tǒng)的信心和興趣,提高了工作效率。</p><p>  用戶界面指的是一個(gè)軟件系統(tǒng)的用戶界面與用戶界面交互時(shí),通常包括一個(gè)輸出端,一個(gè)輸入端,人機(jī)對(duì)話界面格式。</p><p>  系統(tǒng)的設(shè)計(jì)和程序運(yùn)行的過(guò)程是完全相反的,這是因?yàn)榕c用戶直接聯(lián)系的輸出表,以確保輕松輸出表為服務(wù)宗旨,正確的

66、時(shí)間,以反映和各部門(mén)的有用信息組成的用戶。輸出設(shè)計(jì)原則是要考慮既需要充分地反映不同層次的管理,同時(shí)也簡(jiǎn)潔,用戶不需要,也不需要提供給用戶。</p><p>  輸入數(shù)據(jù)采集和錄入是比較繁瑣,需要大量的人力和一些設(shè)備,而且容易出錯(cuò)的。如果數(shù)據(jù)被輸入到系統(tǒng)中的錯(cuò)誤,則輸出將這些錯(cuò)誤的處理后進(jìn)行擴(kuò)展,數(shù)據(jù)質(zhì)量的輸入精度是好還是壞的整個(gè)系統(tǒng)是具有決定性的意義。</p><p>  輸入設(shè)計(jì)的原則有

67、如下幾點(diǎn):</p><p>  1.在保證系統(tǒng)能夠正常運(yùn)行的情況下使輸入量達(dá)到最小,這樣可以減少錯(cuò)誤的發(fā)生,避免為了改正大量錯(cuò)誤而對(duì)時(shí)間的損耗。</p><p>  2.在輸入之前,應(yīng)該思考輸入什么樣的內(nèi)容,輸入的內(nèi)容不能太過(guò)復(fù)雜,以免在程序運(yùn)行時(shí)出現(xiàn)不必要的麻煩。</p><p>  3.對(duì)輸入的內(nèi)容的檢驗(yàn)應(yīng)該盡量接近原數(shù)據(jù),使得程序出現(xiàn)錯(cuò)誤后可以及時(shí)得到改正。&

68、lt;/p><p>  4.用輸入的內(nèi)容來(lái)處理所需形式記錄,以免在數(shù)據(jù)進(jìn)行計(jì)算時(shí)出現(xiàn)誤差。</p><p><b>  3.4本章小結(jié)</b></p><p>  本章主要講述的是可行性分析、設(shè)計(jì)的基本思想、界面要求,通過(guò)對(duì)可行性分析的敘述驗(yàn)證此系統(tǒng)在各個(gè)方面分析之后是否可以正常運(yùn)行,來(lái)滿足公司的要求,通過(guò)最設(shè)計(jì)的基本思想的敘述說(shuō)明系統(tǒng)的功能特點(diǎn)可

69、以讓讀者對(duì)此系統(tǒng)有一個(gè)良好的認(rèn)識(shí),便于用戶的使用,通過(guò)對(duì)界面要求的敘述讓用戶知道這是一個(gè)非常可靠的系統(tǒng)。</p><p><b>  第4章 總體設(shè)計(jì)</b></p><p>  4.1 系統(tǒng)模塊總體設(shè)計(jì)</p><p>  本章介紹的是模塊總體設(shè)計(jì),系統(tǒng)模塊設(shè)計(jì)就是用文字?jǐn)⑹龅姆绞桨殉绦虻慕Y(jié)構(gòu)完整的表達(dá)出來(lái)。它的目的是通過(guò)介紹系統(tǒng)模塊總體設(shè)計(jì)

70、使整個(gè)程序的脈絡(luò)變得清晰化,可以更加容易的去理解整個(gè)系統(tǒng),通過(guò)對(duì)模塊的書(shū)寫(xiě)也可以對(duì)程序進(jìn)行分析,從而得出結(jié)論,這個(gè)模塊是否有邏輯上的錯(cuò)誤,適不適合這個(gè)程序,模塊的功能又是如何實(shí)現(xiàn)的,這樣可以幫助我們減少我們犯錯(cuò)誤的幾率,使程序變得更好。</p><p>  本系統(tǒng)總共有四個(gè)模塊,每個(gè)模塊都有屬于自己的獨(dú)特作用,而無(wú)論缺少哪一個(gè)模塊,這個(gè)系統(tǒng)都會(huì)變得不完整,所以每一個(gè)模塊都是非常重要的,缺一不可。</p>

71、;<p>  四個(gè)模塊分別為:修改登錄密碼、司機(jī)信息、車(chē)輛信息和安全退出程序。</p><p>  1.修改登錄密碼:在登錄系統(tǒng)后,通過(guò)此功能來(lái)實(shí)現(xiàn)密碼的更改。</p><p>  2.司機(jī)信息管理包括兩個(gè)小模塊:分別為司機(jī)信息管理模塊、添加司機(jī)信息模塊。</p><p>  在司機(jī)信息管理模塊中有如下幾個(gè)功能:</p><p>

72、;  (1) 提交司機(jī)信息:把添加過(guò)的司機(jī)信息通過(guò)此功能來(lái)完成提交,通過(guò)提交使司機(jī)信息發(fā)生變化。 </p><p>  (2) 添加司機(jī)信息:通過(guò)此功能添加新的司機(jī)的各種屬性,來(lái)完成司機(jī)信息界面的更新。</p><p>  (3) 刪除司機(jī)信息:刪除沒(méi)有用的司機(jī)信息,留出空間,使整個(gè)司機(jī)信息變的更加簡(jiǎn)潔。</p><p>  3.車(chē)輛信息管理包括三個(gè)小模塊:分別為車(chē)

73、輛信息管理、添加車(chē)輛信息、查詢車(chē)輛信息。</p><p>  在車(chē)輛信息管理模塊中有如下幾個(gè)功能:</p><p>  (1) 提交車(chē)輛信息:把添加過(guò)的車(chē)輛信息通過(guò)此功能來(lái)完成提交,通過(guò)提交使司機(jī)信息發(fā)生變化。</p><p>  (2) 添加車(chē)輛信息:通過(guò)此功能添加新的車(chē)輛的各種屬性,來(lái)完成車(chē)輛信息界面的更新。</p><p>  (3)

74、刪除車(chē)輛信息:刪除沒(méi)有用的車(chē)輛信息,留出空間,是整個(gè)車(chē)輛信息變得更加簡(jiǎn)潔。</p><p>  在查詢車(chē)輛信息模塊中有如下兩個(gè)功能:</p><p>  (1) 按車(chē)牌號(hào)碼查詢:通過(guò)此功能在輸入框中輸入車(chē)牌號(hào)碼可以按照車(chē)牌號(hào)碼來(lái)查找出租車(chē)輛。</p><p>  (2) 按司機(jī)姓名查詢:通過(guò)此功能在輸入框中輸入姓名可以按照姓名來(lái)查找出租車(chē)輛</p>&

75、lt;p>  4.安全退出系統(tǒng):再使用完畢之后,用戶通過(guò)單機(jī)退出按鈕就可以退出整個(gè)系統(tǒng)。</p><p>  功能結(jié)構(gòu)圖如圖4-1所示。</p><p>  圖4-1 功能結(jié)構(gòu)圖</p><p><b>  4.2 E-R設(shè)計(jì)</b></p><p>  因?yàn)樾畔⒁凑站唧w的數(shù)據(jù)模型來(lái)進(jìn)行組織,而且還需要考慮很多其

76、它元素,這就給設(shè)計(jì)工作帶來(lái)了不小的難度,并且設(shè)計(jì)出來(lái)的成果在使用起來(lái)也非常的不理想,因此,需要一種可以處理數(shù)據(jù)庫(kù)信息并且可以準(zhǔn)確的對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行描述的方法。</p><p>  E-R方法就是一種實(shí)體-關(guān)系方法,而其使用的工具就是E-R圖。E-R圖由實(shí)體、實(shí)體的屬性以及實(shí)體之間的關(guān)系三部分組成,實(shí)體是一種對(duì)復(fù)合信息的抽象。</p><p>  所謂復(fù)合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖?/p>

77、物,屬性是實(shí)體所具有的特征,是數(shù)據(jù)對(duì)象的性質(zhì);實(shí)體之間的關(guān)系通常是指不同實(shí)體之間的關(guān)系。</p><p>  此系統(tǒng)包括如下E-R圖:</p><p>  1.司機(jī)信息E-R圖</p><p>  基于Java的出租車(chē)管理系統(tǒng)記錄了所有司機(jī)的基本信息,通過(guò)對(duì)其進(jìn)行操作時(shí),將會(huì)直接引用該司機(jī)的實(shí)體屬性,司機(jī)信息的所有屬性包括:性別、姓名、年齡、地址、駕齡、駕照,電話。

78、</p><p>  司機(jī)信息ER圖如4-2所示。</p><p>  圖4-2 司機(jī)信息E-R圖</p><p>  2.車(chē)輛信息E-R圖</p><p>  基于Java的出租車(chē)管理系統(tǒng)記錄了所有車(chē)輛的基本信息,通過(guò)對(duì)其進(jìn)行操作時(shí),將會(huì)直接引用該車(chē)輛的實(shí)體屬性,車(chē)輛信息的所有屬性包括:車(chē)架號(hào)、車(chē)牌號(hào)、司機(jī)、圖片、車(chē)況、購(gòu)買(mǎi)日期、發(fā)動(dòng)機(jī)號(hào)。

79、</p><p>  車(chē)輛信息ER圖如4-3所示。</p><p>  圖4-3車(chē)輛信息及屬性</p><p><b>  4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  我們知道,在數(shù)據(jù)庫(kù)管理系統(tǒng)里數(shù)據(jù)庫(kù)概念模型是獨(dú)立的,因此,需要根據(jù)系統(tǒng)所使用的數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)來(lái)進(jìn)行轉(zhuǎn)換。即轉(zhuǎn)化為按計(jì)算機(jī)思想所處理的邏輯關(guān)系模型

80、,E-R模型應(yīng)遵循下列原則:</p><p>  每一個(gè)實(shí)體要轉(zhuǎn)換成一個(gè)關(guān)系。</p><p>  所有的主鍵必須定義非空(NOT NULL)。</p><p>  數(shù)據(jù)對(duì)象之間彼此相互連接的方式我們把它叫做聯(lián)系。在ER圖里有3三種這樣的類(lèi)型:一對(duì)一聯(lián)系、一對(duì)多聯(lián)系和多對(duì)多聯(lián)系。</p><p>  數(shù)據(jù)庫(kù)在物理設(shè)備上的皴儲(chǔ)結(jié)構(gòu)與存取方法被稱(chēng)

81、為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它依賴與給定的計(jì)算機(jī)系統(tǒng)。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)。根據(jù)上面的實(shí)體關(guān)系分析以及E-R圖,設(shè)計(jì)基于Java的出租車(chē)管理系統(tǒng)數(shù)據(jù)庫(kù)表,詳細(xì)見(jiàn)數(shù)據(jù)庫(kù)表。</p><p>  本系統(tǒng)中有admin表、司機(jī)表、車(chē)輛表三個(gè)表,下面分別加對(duì)各個(gè)表加以描述。</p><p>  4.3.1 admin表設(shè)計(jì)</p><p>  A

82、dmin表保存了管理員登錄所需要的相關(guān)信息,包括用戶編號(hào)、登錄帳號(hào)、登錄密碼。</p><p>  表中各個(gè)字段的說(shuō)明如下表4-1所示。</p><p>  表4-1 admin表</p><p>  4.3.2 司機(jī)表設(shè)計(jì)</p><p>  司機(jī)表保存了司機(jī)的相關(guān)信息,包括編號(hào)、姓名、性別、年齡、電話、住址,駕齡。</p>

83、<p>  表中各個(gè)字段的說(shuō)明如下表4-2所示。</p><p><b>  表4-2 司機(jī)表</b></p><p>  4.3.3 車(chē)輛表設(shè)計(jì)</p><p>  車(chē)輛表保存了車(chē)輛的相關(guān)信息,包括編號(hào)、車(chē)牌、車(chē)架號(hào)、發(fā)動(dòng)機(jī)號(hào)、購(gòu)買(mǎi)日期、車(chē)況,圖片。</p><p>  表中各個(gè)字段的說(shuō)明如下表4-3所示。&

84、lt;/p><p><b>  表4-3車(chē)輛表</b></p><p><b>  4.4 本章小結(jié)</b></p><p>  本章主要敘述的是系統(tǒng)模塊總體設(shè)計(jì)、E-R設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì),通過(guò)對(duì)系統(tǒng)模塊總體設(shè)計(jì)的分析,可以方便的讓我們從根本上了解,該系統(tǒng)的所有功能,以及各個(gè)功能的作用。通過(guò)對(duì)E-R圖的分析,可以清晰的讓我們的知

85、道屬性與實(shí)體之間的聯(lián)系,而數(shù)據(jù)庫(kù)設(shè)計(jì)讓我們知道各個(gè)數(shù)據(jù)的相關(guān)信息,通過(guò)對(duì)系統(tǒng)模塊總體設(shè)計(jì)、E-R設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì),通過(guò)對(duì)系統(tǒng)模塊總體設(shè)計(jì)的分析我們可以更好的了解該系統(tǒng)。</p><p>  第5章 系統(tǒng)實(shí)現(xiàn)及分析</p><p>  在每個(gè)系統(tǒng)的研發(fā)過(guò)程中,在經(jīng)過(guò)了系統(tǒng)分析、總體設(shè)計(jì)這些階段之后,便開(kāi)始了系統(tǒng)的實(shí)現(xiàn)階段。在系統(tǒng)分析和設(shè)計(jì)階段,系統(tǒng)開(kāi)發(fā)工作主要是集中在系統(tǒng)的編寫(xiě)過(guò)程與功能結(jié)構(gòu)

86、上,系統(tǒng)實(shí)現(xiàn)階段是在前面所有階段的基礎(chǔ)上,把基礎(chǔ)的理論知識(shí)變?yōu)閷?shí)踐,因此系統(tǒng)的成果是系統(tǒng)分析和設(shè)計(jì)階段的完美融合。</p><p><b>  5.1 登陸界面</b></p><p>  為了保證系統(tǒng)的安全性,要使用本系統(tǒng)必須先登陸到系統(tǒng)中。管理員登錄采用AJAX方式進(jìn)行驗(yàn)證,先是在前臺(tái)獲取輸入的管理中登錄賬號(hào)、密碼,點(diǎn)擊登錄后,通過(guò)AJAX方式,后臺(tái)異步進(jìn)行驗(yàn)證,

87、實(shí)現(xiàn)頁(yè)面無(wú)刷新的管理員登錄。效果圖如圖5-1所示。</p><p><b>  圖5-1登錄界面</b></p><p>  通過(guò)輸入賬號(hào)、密碼,在登錄基于Java的出租車(chē)系統(tǒng),用戶進(jìn)入了系統(tǒng)主頁(yè)面之后用戶才可以對(duì)相關(guān)功能進(jìn)行操作。主要實(shí)現(xiàn)代碼如下:</p><p>  public String login(String userName,S

88、tring userPw,int userType)</p><p><b>  {</b></p><p>  System.out.println("userType"+userType);</p><p><b>  try</b></p><p><b>  {

89、</b></p><p>  Thread.sleep(700);</p><p>  } catch (InterruptedException e)</p><p><b>  {</b></p><p>  // TODO Auto-generated catch block</p>&l

90、t;p>  e.printStackTrace();</p><p><b>  }</b></p><p>  String result="no";</p><p>  if(userType==0)//管理員登陸</p><p><b>  {</b></p&g

91、t;<p>  String sql="from TAdmin where userName=? and userPw=? and type='chaoji'";</p><p>  Object[] con={userName,userPw};</p><p>  List adminList=adminDAO.getHibernateT

92、emplate().find(sql,con);</p><p>  if(adminList.size()==0)</p><p><b>  {</b></p><p>  result="no";</p><p><b>  }</b></p><p&g

93、t;<b>  else</b></p><p><b>  {</b></p><p>  WebContext ctx = WebContextFactory.get(); </p><p>  HttpSession session=ctx.getSession(); </p><p>  T

94、Admin admin=(TAdmin)adminList.get(0);</p><p>  session.setAttribute("userType", 0);</p><p>  session.setAttribute("admin", admin);</p><p>  result="yes"

95、;;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(userType==1)</p><p><b>  {</b></p><p><b>  }</b></p&g

96、t;<p>  if(userType==2)</p><p><b>  {</b></p><p><b>  }</b></p><p>  if(userType==3)</p><p><b>  {</b></p><p>&

97、lt;b>  }</b></p><p>  return result;</p><p><b>  }</b></p><p><b>  5.2 系統(tǒng)主界面</b></p><p>  在登錄之后,我們就進(jìn)入了系統(tǒng)主頁(yè)面,我們可以清楚的看到右邊的所有功能菜單。通過(guò)對(duì)系統(tǒng)主頁(yè)面

98、進(jìn)行操作,來(lái)達(dá)到實(shí)現(xiàn)各個(gè)功能的目的。</p><p>  在系統(tǒng)的主界面中包括了修改登錄密碼、司機(jī)信息管理、司機(jī)信息添加、車(chē)輛信息管理、添加車(chē)輛信息、車(chē)輛信息查詢,安全退出系統(tǒng)。</p><p>  在司機(jī)信息管理菜單中,包括了添加司機(jī)信息、刪除司機(jī)信息,提交司機(jī)信息的功能。</p><p>  在車(chē)輛信息管理菜單中,包括了添加車(chē)輛信息、刪除車(chē)輛信息,提交車(chē)輛信息的

99、功能。</p><p>  在車(chē)輛信息查詢菜單中,包括了按車(chē)牌號(hào)查詢、按司機(jī)查詢的功能。系統(tǒng)主界面的效果圖如圖5-2所示。</p><p><b>  圖5-2系統(tǒng)主界面</b></p><p>  5.3 司機(jī)信息管理</p><p>  本模塊實(shí)現(xiàn)對(duì)司機(jī)信息的管理操作,包括司機(jī)信息的添加、查看、刪除操作。</p

100、><p>  點(diǎn)擊司機(jī)信息管理菜單,進(jìn)入司機(jī)信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的司機(jī)信息,包括姓名、性別、電話、年齡、住址、駕照、駕齡等。點(diǎn)擊列表的刪除按鈕,也可以實(shí)現(xiàn)司機(jī)信息的刪除操作,刪除沒(méi)有用的司機(jī)信息可以清理出內(nèi)存空間,使電腦的存儲(chǔ)沒(méi)有那么擁擠,通過(guò)添加與刪除可以及時(shí)更新司機(jī)信息管理界面,是企業(yè)的管理變得容易。司機(jī)信息管理如圖5-3。</p><p>  圖5-3 司機(jī)信息管理&l

101、t;/p><p>  操作過(guò)程:鼠標(biāo)單機(jī)司機(jī)信息管理,選擇要修改或者刪除數(shù)據(jù),在“操作”下面找到刪除按鈕,點(diǎn)擊“刪除”按鈕,完成刪除功能。點(diǎn)擊“添加司機(jī)”,在彈出頁(yè)面中分別輸入姓名、性別、年齡、電話、住址、駕照,在輸入完成后點(diǎn)擊提交。司機(jī)信息添加如圖5-4。</p><p>  圖5-4 司機(jī)信息添加</p><p><b>  主要實(shí)現(xiàn)代碼如下:</b

102、></p><p>  public String sijiAdd()</p><p><b>  {</b></p><p>  TSiji siji=new TSiji();</p><p>  //siji.setId(id);</p><p>  siji.setName(name)

103、;</p><p>  siji.setSex(sex);</p><p>  siji.setAge(age);</p><p>  siji.setTel(tel);</p><p>  siji.setAddress(address);</p><p>  siji.setJiazhao(jiazhao);<

104、;/p><p>  siji.setJialing(jialing);</p><p>  siji.setDel("no");</p><p>  sijiDAO.save(siji);</p><p>  Map request=(Map)ServletActionContext.getContext().get(&quo

105、t;request");</p><p>  request.put("msg", "信息添加成功");</p><p>  return ActionSupport.SUCCESS;</p><p><b>  }</b></p><p>  public String

106、 sijiMana()</p><p><b>  {</b></p><p>  String sql="from TSiji where del='no'";</p><p>  List sijiList=sijiDAO.getHibernateTemplate().find(sql);</p&g

107、t;<p>  Map request=(Map)ServletActionContext.getContext().get("request");</p><p>  request.put("sijiList", sijiList);</p><p>  return ActionSupport.SUCCESS;</p>

108、<p><b>  }</b></p><p>  public String sijiDel()</p><p><b>  {</b></p><p>  TSiji siji=sijiDAO.findById(id);</p><p>  siji.setDel("ye

109、s");</p><p>  sijiDAO.attachDirty(siji);</p><p>  Map request=(Map)ServletActionContext.getContext().get("request");</p><p>  request.put("msg", "信息刪除成

110、功");</p><p>  return ActionSupport.SUCCESS;</p><p><b>  }</b></p><p>  public String sijiAll()</p><p><b>  {</b></p><p>  Stri

111、ng sql="from TSiji where del='no'";</p><p>  List sijiList=sijiDAO.getHibernateTemplate().find(sql);</p><p>  Map request=(Map)ServletActionContext.getContext().get("reque

112、st");</p><p>  request.put("sijiList", sijiList);</p><p>  return ActionSupport.SUCCESS;</p><p><b>  }</b></p><p>  5.4 車(chē)倆信息管理</p><

113、;p>  本模塊實(shí)現(xiàn)對(duì)出租車(chē)信息管理的操作,包括車(chē)輛信息的添加、查看、刪除、查詢等操作。</p><p>  點(diǎn)擊車(chē)輛信息管理菜單,進(jìn)入車(chē)輛信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的車(chē)輛信息,包括車(chē)牌、車(chē)架號(hào)、發(fā)動(dòng)機(jī)號(hào)、購(gòu)買(mǎi)日期、車(chē)況、司機(jī)等信息。</p><p>  點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)車(chē)輛信息的刪除操作。界面設(shè)計(jì)如圖5-5。</p><p>  圖5-5

114、 車(chē)輛信息管理</p><p>  操作過(guò)程:鼠標(biāo)單擊車(chē)輛信息管理,選擇要修改或者刪除數(shù)據(jù),在“操作”下面找到刪除按鈕,點(diǎn)擊“刪除”按鈕,完成刪除功能。添加數(shù)據(jù)與刪除數(shù)據(jù)在操作上也大致相同,點(diǎn)擊添加車(chē)輛,在彈出來(lái)的頁(yè)面中分別輸入車(chē)牌號(hào)、車(chē)架號(hào)、發(fā)動(dòng)機(jī)號(hào)、購(gòu)買(mǎi)日期、車(chē)況、圖片、司機(jī),在輸入完成后點(diǎn)擊提交。車(chē)輛信息添加如圖5-6。</p><p>  圖5-6 車(chē)輛信息添加</p>

115、<p><b>  主要實(shí)現(xiàn)代碼如下:</b></p><p>  public String cheAdd()</p><p><b>  {</b></p><p>  TChe che=new TChe();</p><p>  //che.setId(id);</p>

116、;<p>  che.setChepai(chepai);</p><p>  che.setChejia(chejia);</p><p>  che.setFadong(fadong);</p><p>  che.setGoumairi(goumairi);</p><p>  che.setChekuang(chekua

117、ng);</p><p>  che.setFujian(fujian);</p><p>  che.setSijiming(sijiming);</p><p>  che.setDel("no");</p><p>  cheDAO.save(che);</p><p>  Map reque

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論