版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 航空訂票管理系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 目前,國內(nèi)航空公司的數(shù)量和規(guī)模都在擴大,國外航空公司也紛紛著陸中國,這些航空公司之間的競爭可謂日益激烈。配備一個安全、高效、靈活、可靠的航空訂票管理系統(tǒng)對于航空公司加強客戶服務(wù)質(zhì)量,提高客戶服務(wù)水平,擴展業(yè)務(wù)途徑,維護公眾形象
2、,提高工作效率必將發(fā)揮重要作用。 </p><p> 關(guān)鍵詞:航空訂票系統(tǒng);國內(nèi)航空;飛機航班 </p><p><b> 目 錄</b></p><p> 第一章 系統(tǒng)需求分析………………………………………………………………… 5</p><p> 1.1 硬件可靠性…………………………………………
3、………………………………… 5</p><p> 1.2 系統(tǒng)運行的穩(wěn)定性…………………………………………………………………… 5</p><p> 1.3 較高的性能價格比…………………………………………………………………… 5</p><p> 1.4 系統(tǒng)功能齊全、開放性好…………………………………………………………… 5</p>
4、<p> 1.5 管理人員使用的電腦安裝Windows操作系統(tǒng),操作界面友好……………………5</p><p> 第二章 系統(tǒng)功能 ………………………………………………………………… 6</p><p> 2.1 數(shù)據(jù)的錄入…………………………………………………………………………… 6</p><p> 2.2 數(shù)據(jù)的修改…………
5、………………………………………………………………… 6</p><p> 2.3 數(shù)據(jù)的刪除…………………………………………………………………………… 6</p><p> 2.4 數(shù)據(jù)的查詢…………………………………………………………………………… 6</p><p> 2.5 客戶端尚未解決的問題………………………………………………………………
6、 6</p><p> 2.6 服務(wù)端尚未解決的問題……………………………………………………………… 6</p><p> 2.7 難點問題……………………………………………………………………………… 6</p><p> 第三章 性能需求分析……………………………………………………………… 7</p><p> 3.1
7、 可操作性……………………………………………………………………………… 7</p><p> 3.2 可靠性………………………………………………………………………………… 7</p><p> 3.3 實用性………………………………………………………………………………… 7</p><p> 3.4 安全性………………………………………………………
8、………………………… 7</p><p> 3.5 可維護性……………………………………………………………………………… 7</p><p> 3.6 可移植性……………………………………………………………………………… 7</p><p> 第四章 系統(tǒng)結(jié)構(gòu)…………………………………………………………………8</p><p>
9、; 4.1 系統(tǒng)用例圖…………………………………………………………………………… 8</p><p> 4.2 用例描述………………………………………………………………………………8第五章 系統(tǒng)設(shè)計………………………………………………………………………10</p><p> 5.1 程序描述………………………………………………………………………………10</p&
10、gt;<p> 5.2 功能……………………………………………………………………………………10</p><p> 5.3 性能……………………………………………………………………………………11</p><p> 5.4 輸入項…………………………………………………………………………………11</p><p> 5.5 輸出項
11、…………………………………………………………………………………11</p><p> 5.6 算法……………………………………………………………………………………11</p><p> 5.7 流程邏輯…………………………………………………………………………… 11</p><p> 第六章 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計…………………………………………………
12、…… 18</p><p> 6.1 邏輯結(jié)構(gòu)設(shè)計要點……………………………………………………………………18</p><p> 6.2 物理結(jié)構(gòu)設(shè)計要點……………………………………………………………………18</p><p> 6.3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系………………………………………………………………18</p><p>
13、; 6.4 數(shù)據(jù)庫設(shè)計描述………………………………………………………………………18</p><p> 6.5 程序系統(tǒng)的組織結(jié)構(gòu)…………………………………………………………………19</p><p> 第七章 代碼設(shè)計………………………………………………………………………21</p><p> 7.1查詢模塊………………………………………………
14、………………………………… 21</p><p> 7.2 數(shù)據(jù)庫的鏈接和操作……………………………………………………………………22</p><p> 7.3 訂單號的生成……………………………………………………………………………25</p><p> 7.4訂票成功………………………………………………………………………………… 25</p>
15、<p> 第八章 系統(tǒng)運行效果與操作……………………………………………………31</p><p> 8.1系統(tǒng)歡迎界面……………………………………………………………………………31</p><p> 8.2管理員登錄界面…………………………………………………………………………31</p><p> 8.3普通查詢…………………………………………
16、………………………………………33</p><p> 8.4綜合查詢界面……………………………………………………………………………34</p><p> 8.5訂票系統(tǒng)…………………………………………………………………………………34</p><p> 8.6退票界面…………………………………………………………………………………36</p>&l
17、t;p> 8.7更新界面…………………………………………………………………………………36</p><p> 8.8查看數(shù)據(jù)庫界面…………………………………………………………………………37</p><p> 8.9數(shù)據(jù)庫的連接……………………………………………………………………………37</p><p> 8.10版權(quán)所有……………………………………
18、………………………………………… 40</p><p> 參考文獻………………………………………………………………………………………41 </p><p> 第一章 系統(tǒng)需求分析</p><p> 目前,國內(nèi)航空公司的數(shù)量和規(guī)模都在擴大,國外航空公司也紛紛著陸中國,這些航空公司之間的競爭可謂日益激烈。配備一個安全、高效、靈活、可靠的客戶服務(wù)中心系統(tǒng)對于航空公
19、司加強客戶服務(wù)質(zhì)量,提高客戶服務(wù)水平,擴展業(yè)務(wù)途徑,維護公眾形象,提高工作效率必將發(fā)揮重要作用。</p><p> 對航空公司來說,航空訂票管理系統(tǒng)既能擴大服務(wù)范圍,擴大公司影響,減少營業(yè)費用,又對穩(wěn)固航空公司的客源有著重要的輔助作用;站在旅客的角度,航空公司提供的這種服務(wù)提供了更多的方便,節(jié)省了很多時間。建設(shè)航空訂票管理系統(tǒng)是體現(xiàn)和提高航空公司領(lǐng)導(dǎo)業(yè)績的一條捷徑,此外還具有重要意義:</p>&
20、lt;p> 1、改善航空公司服務(wù)質(zhì)量;</p><p> 2、創(chuàng)造和提升航空公司的品牌優(yōu)勢;</p><p> 3、優(yōu)化航空公司的服務(wù)流程; </p><p> 4、提升信息化的水平;</p><p><b> 1.1硬件可靠性</b></p><p><b> 數(shù)據(jù)庫
21、服務(wù)器:</b></p><p> 數(shù)據(jù)庫服務(wù)器用于存放用戶及航班信息等資料,配一臺專用服務(wù)器,安裝數(shù)據(jù)庫SQL server2000。</p><p> 1.2系統(tǒng)運行的穩(wěn)定性</p><p> 系統(tǒng)支持操作系統(tǒng)如下:</p><p> Windows vista、Windows XP(服務(wù)器版本)(推薦) 或Wind
22、ows 2000,系統(tǒng)運行穩(wěn)定可靠,可以保證365天*24小時的不間斷運行,并安裝殺毒軟件,防止病毒的干擾,保證系統(tǒng)的運行穩(wěn)定。</p><p> SQL Server數(shù)據(jù)庫服務(wù)器版, 可以存儲管理大量數(shù)據(jù)信息</p><p> 1.3較高的性能價格比</p><p> 由于這種模式極大的方便了客戶及航班信息的管理,節(jié)省了很多不必要的設(shè)備,減少了項目投資。&l
23、t;/p><p> 1.4系統(tǒng)功能齊全、開放性好</p><p> 訂票,退票,查詢,管理等業(yè)務(wù),全部使用軟件來控制,因此今后功能變動、業(yè)務(wù)改動很靈活。</p><p><b> 共享航班資源。</b></p><p> 1.5管理人員使用的電腦安裝Windows操作系統(tǒng),操作界面友好。</p><
24、;p><b> 第二章 系統(tǒng)功能</b></p><p><b> 2.1 數(shù)據(jù)的輸入</b></p><p> 管理員根據(jù)需要來輸入航班、訂票人、乘客等信息的具體數(shù)據(jù),但必須保證其正確性和準確性。</p><p><b> 2.2 數(shù)據(jù)的修改</b></p><p
25、> 管理員根據(jù)需要對指定的數(shù)據(jù)進行修改,由于記錄繁多,因此用戶首先要輸入一定的查詢條件,縮小記錄范圍,然后再從該范圍中找到指定的記錄進行修改,保證修改的內(nèi)容的正確性和準確性后可更新數(shù)據(jù)庫的數(shù)據(jù)。</p><p><b> 2.3 數(shù)據(jù)的刪除</b></p><p> 管理員根據(jù)需要對指定的數(shù)據(jù)進行刪除,由于記錄繁多,因此用戶首先要輸入一定的查詢條件,縮小記
26、錄范圍,然后再從該范圍中找到制定的記錄進行刪除,保證將要刪除的內(nèi)容的正確性和準確性后可刪除掉數(shù)據(jù)庫中的數(shù)據(jù)。</p><p><b> 2.4 數(shù)據(jù)的查詢</b></p><p> 管理員根據(jù)需要查詢數(shù)據(jù)庫中的所有數(shù)據(jù),輸入一定的查詢條件,然后可按照輸入的查詢依據(jù)查詢新數(shù)據(jù)庫的數(shù)據(jù)。</p><p><b> 尚未解決的問題&l
27、t;/b></p><p> 2.5 客戶端尚未解決的問題</p><p> 客戶端尚未解決的問題是,如何與訂票人的銀行賬戶連接。</p><p> 2.6服務(wù)器端尚未解決的問題</p><p> 服務(wù)器端尚未解決的問題是,系統(tǒng)自動檢索到過期的航班后自動將其信息刪除并且要保所有與該航班關(guān)聯(lián)的訂票人的信息和乘客的信息都刪除,難點在
28、于,如何保證數(shù)據(jù)庫中的表間的一致性。</p><p><b> 2.7難點問題</b></p><p> 難點問題是服務(wù)器端的程序的刪除部分,因為訂票人的信息關(guān)系到部分乘客的信息,必須保持數(shù)據(jù)的完整性。其次是航班信息,它關(guān)系著部分訂票人的信息和乘客信息,其中還嵌套著這部分訂票人當中有部分關(guān)系的乘客信息,并且同一定票人可以訂購多架次航班的機票和所訂購的機票的數(shù)量也不
29、僅僅是1張,要將航班信息刪除,也要保數(shù)據(jù)的完整性。</p><p> 第三章 性能需求分析</p><p> 從實用、好用的角度出發(fā)開發(fā)航空訂票管理系統(tǒng),建立面向顧客管理全過程的管理與控制系統(tǒng),在設(shè)計過程中主要考慮以下原則:3.1可操作性 原始信息皆由管理員錄入,系統(tǒng)應(yīng)盡量減少操作員的數(shù)據(jù)錄入量,錄入數(shù)據(jù)盡
30、量通過設(shè)計下拉列表框來選擇錄入,這樣的處理同時也避免了許多錄入異?,F(xiàn)象的發(fā)生。數(shù)據(jù)輸入的格式應(yīng)符合業(yè)務(wù)習(xí)慣,并且直觀、方便。要求系統(tǒng)處理的數(shù)據(jù)能準確無誤,同時輸出信息要求直觀、簡潔。3.2可靠性 系統(tǒng)運行具有較高的可靠性,提供嚴格的并發(fā)控制,確保數(shù)據(jù)的一致性和正確性3.3實用性
31、60;從用戶的實際需要出發(fā)進行系統(tǒng)開發(fā),不盲目追求高新技術(shù)的應(yīng)用。3.4安全性 系統(tǒng)安全措施可靠、高效、可維護性好,有權(quán)限控制、口令控制、臨時鎖定控制,其中口令錄入界面便于系統(tǒng)識別登錄用戶。3.5可維護性 為了保證系統(tǒng)的可維護性,要求具有詳細的文檔資料,同時,要求系統(tǒng)在功能
32、設(shè)計上考慮可擴展性,以滿足業(yè)務(wù)變動的需求。3.6可移植性 系統(tǒng)開發(fā)完成后,要能運行于任何由Windows NT/Windows 9X操作系統(tǒng)所構(gòu)成</p><p><b> 第四章 系統(tǒng)結(jié)構(gòu)</b></p><p><b> 4.1系統(tǒng)用例圖</b>&l
33、t;/p><p><b> 4.2用例描述</b></p><p><b> ?。?)航班查詢</b></p><p> 查看航班信息 基本查詢,從下拉列表中選擇航班或起點或終點信息 </p><p> 綜合查詢,手動輸入航班的基本信息</p><p&
34、gt;<b> ?。?)訂票</b></p><p> 輸入航班信息 顯示航班信息,以及打折后的票價信息,詢問信息是否正確 正確 輸入個人信息 完成訂票</p><p> 不正確 返回訂票初始界面</p><p><b> ?。?)退票</b&g
35、t;</p><p> 輸入將退票的序號 顯示票的具體信息,并詢問是否退票 退票成功,更新顧客數(shù)據(jù)庫</p><p><b> ?。?)管理</b></p><p> 登陸 進入管理界面 選擇添加、更新、刪除航班,或查看航班具體信息等業(yè)務(wù)</p><p>
36、 添加 輸入添加航班的具體信息 更新航班數(shù)據(jù)庫</p><p> 更新 輸入所要更改航班的具體信息 更新航班數(shù)據(jù)庫</p><p> 刪除 選擇所要刪除的航班 更新航班數(shù)據(jù)庫</p><p> 查看航班具體信息 顯示數(shù)據(jù)庫中所有航班的具體信息<
37、/p><p><b> 第五章 系統(tǒng)設(shè)計</b></p><p><b> 5.1 程序描述</b></p><p> 5.1.1服務(wù)器端程序:</p><p> 本套航空訂票系統(tǒng)軟件的服務(wù)器端應(yīng)用程序,使用java編寫前臺控制軟件,管理員通過使用該軟件來進行對數(shù)據(jù)庫中的數(shù)據(jù)進行管理。<
38、;/p><p> 5.1.2后臺數(shù)據(jù)庫:</p><p> 本套航空訂票系統(tǒng)軟件的后臺數(shù)據(jù)庫使用Microsoft SQL Server 2000來搭建后臺數(shù)據(jù)庫服務(wù)器,用來存放所有的數(shù)據(jù)。</p><p><b> 5.2 功能</b></p><p> 5.2.1 服務(wù)器端的主要功能</p>&l
39、t;p> 5.2.1.1訂票信息的查詢功能:</p><p> 1)查詢航班信息包括航班號、時間、地點等信息。</p><p> 2)查詢及票價格包括起始地、抵達地、、機票價格等信息。</p><p> 3)查詢訂票人的詳細信息:</p><p> 精確查詢:輸入訂票人身份證號碼查詢訂票人詳細信息。</p>&l
40、t;p> 模糊查詢:輸入訂票人的姓名(或訂票人的姓或是年齡或是性別)查詢出一系列相關(guān)的信息,然后可從小范圍內(nèi)找到訂票人的詳細信息。</p><p> 4)查詢乘客的詳細信息:</p><p> 精確查詢:輸入乘客的身份證號碼查詢乘客的詳細信息。</p><p> 模糊查詢:輸入乘客的姓名(或乘客的姓或是年齡或是性別)查詢出一系列相關(guān)的信息,然后可從小范
41、圍內(nèi)找到乘客的詳細信息</p><p> 5.2.1.2定票功能:</p><p> 1)填寫訂票人的詳細信息其中包括:</p><p> 姓名、身份證號碼、聯(lián)系電話、地址等信息。</p><p> 2)填寫訂票的詳細信息,其中包括:</p><p> 航班編號、訂票時間、訂票數(shù)量等信息。</p>
42、<p> 5.2.1.3錄入信息功能</p><p> 1)取票功能:根據(jù)輸入的訂票人身份證號驗證訂票人身份后,輸入詳細的乘客信息并進行保存。</p><p> 2)直接購票:直接輸入乘客詳細信息并保存(不通過訂票人)。</p><p> 3)錄入航班信息:錄入航班的相關(guān)信息。</p><p> 4)訂票人取消訂票:保
43、存訂票人取消訂票信息。</p><p> 5.2.1.4修改功能</p><p> 1)修改乘客信息:將查找到的乘客信息,進行修改,然后進行保存。</p><p> 2)修改訂票人信息:將查找到的訂票人的信息進行修改然后進行保存。</p><p> 3)修改航班信息:將查找到的航班信息進行修改后保存。</p><p
44、> 5.2.1.5 刪除功能</p><p> 1)刪除乘客信息:將查找到的乘客信息,進行刪除。</p><p> 2)刪除訂票人信息:將查找到的訂票人的信息進行刪除。</p><p> 3)刪除航班信息:將查找到的航班信息進行刪除。</p><p><b> 5.3 性能</b></p>
45、<p><b> 5.3.1 靈活性</b></p><p> 當需求發(fā)生某些變化時,機票管理應(yīng)用軟件操作方式、數(shù)據(jù)結(jié)構(gòu)、運行環(huán)境基本不會發(fā)生變化,變化只是將對應(yīng)的數(shù)據(jù)庫文件內(nèi)的記錄改變,或改變過濾條件。</p><p><b> 5.3.2 可用性</b></p><p> 軟件應(yīng)該盡可能的一目了然,
46、使一般操作者能夠使用。 </p><p><b> 5.3.3 安全性</b></p><p> 本套航空訂票軟件系統(tǒng)所涉及的數(shù)據(jù)存放于Microsoft SQL Server數(shù)據(jù)庫中,在程序中應(yīng)盡可能的使用調(diào)用存儲過程的方法以免使某人反編譯軟件后或入侵到服務(wù)器后對數(shù)據(jù)庫的結(jié)構(gòu)了如指掌,在程序中應(yīng)該設(shè)置不同權(quán)限的人訪問時的賬戶和密碼,以保證數(shù)據(jù)不容易被錯改、破壞,
47、而且要經(jīng)常對數(shù)據(jù)庫進行備份操作,使得數(shù)據(jù)一旦受到破壞或是出錯能夠保證及時的恢復(fù)數(shù)據(jù),將損失降低到最低。</p><p> 5.3.4 可維護性</p><p> 5.3.4.1 應(yīng)用程序的維護</p><p> 當用戶使用本套航空訂票系統(tǒng)軟件時,遇到了軟件本身的邏輯錯誤時,應(yīng)當有軟件的維護人員對軟件進行修改。</p><p> 5.3
48、.4.2 數(shù)據(jù)庫的維護</p><p> 應(yīng)當有特定的數(shù)據(jù)庫維護人員對數(shù)據(jù)庫進行及時地進行備份,管理等操作,以保證數(shù)據(jù)庫的安全性。</p><p><b> 5.4 輸入項</b></p><p> 管理員通過軟件輸入必要的信息,然后保存到數(shù)據(jù)庫,所輸入的信息是經(jīng)過需求分析限定的內(nèi)容,同時也是數(shù)據(jù)庫中每個字段中存儲的內(nèi)容。</p&
49、gt;<p><b> 5.5 輸出項</b></p><p> 本套航空訂票系統(tǒng)軟件會將所有需要瀏覽的數(shù)據(jù)顯示在屏幕上,以便使用戶能夠瀏覽到數(shù)據(jù)庫中的數(shù)據(jù)或用戶想要瀏覽范圍中的數(shù)據(jù)。</p><p> 5.6 算法 </p><p> 1)將管理員輸入的數(shù)據(jù),按字段保存到數(shù)據(jù)庫中。</p>&
50、lt;p> 2)將數(shù)據(jù)庫中的數(shù)據(jù),按字段提取到用戶界面中。</p><p> 3)必要的去除重復(fù)項的算法。</p><p> 4)按條件修改、刪除數(shù)據(jù)中的數(shù)據(jù)。</p><p> 5)保持表間數(shù)據(jù)的一致性。</p><p><b> 5.7 流程邏輯</b></p><p>
51、5.7.1 服務(wù)器端各模塊的流程圖</p><p> 5.7.1.1查詢模塊流程圖</p><p> 5.7.1.2 添加模塊流程圖</p><p> 5.7.1.3修改模塊流程圖</p><p> 5.7.1.4刪除模塊流程圖</p><p> 5.7.2 客戶端各模塊的流程圖</p>
52、<p> 5.7.2.1 查詢模塊的流程圖</p><p> 5.7.2.2 訂票模塊的流程圖</p><p> 第六章 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計</p><p> 6.1 邏輯結(jié)構(gòu)設(shè)計要點</p><p> 按照需求分析設(shè)計數(shù)據(jù)庫中的字段,建立一個邏輯上的數(shù)據(jù)庫的結(jié)構(gòu)。</p><p> 6.2
53、 物理結(jié)構(gòu)設(shè)計要點</p><p> 在數(shù)據(jù)庫軟件(SQL Server2000)中建立數(shù)據(jù)庫,并要保證數(shù)據(jù)庫最低要符合第二范式。</p><p> 6.3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系</p><p> 6.3.1 靜態(tài)數(shù)值需求</p><p> (1) 支持并行操作的用戶。</p><p> (2) 處
54、理多條記錄數(shù)據(jù)。</p><p> (3) 表或文件的最小為2048字節(jié),最大無限制。</p><p> 6.3.2 精度需求</p><p> 在進行提取數(shù)據(jù)庫數(shù)據(jù)時,要求數(shù)據(jù)記錄定位準確,在向數(shù)據(jù)庫中添加數(shù)據(jù)時,要求輸入數(shù)據(jù)準確。主要的精度適應(yīng)系統(tǒng)要求,不接受違規(guī)操作。</p><p> 6.3.3 時間特性需求 </
55、p><p> (1) 響應(yīng)時間應(yīng)在人的感覺和視覺事件范圍內(nèi);</p><p> (2) 更新處理時間,隨著應(yīng)用軟件的版本升級,以及網(wǎng)絡(luò)的定期維護更新。</p><p> 6.3.4 靈活性</p><p> 當需求發(fā)生某些變化時,管理應(yīng)用軟件操作方式、數(shù)據(jù)結(jié)構(gòu)、運行環(huán)境基本不會發(fā)</p><p> 生變化,
56、變化只是將對應(yīng)的數(shù)據(jù)庫文件內(nèi)的記錄改變,或?qū)⑦^濾條件改變即可。</p><p> 6.3.5 數(shù)據(jù)管理能力需求</p><p> 本應(yīng)用軟件可管理多條記錄,本應(yīng)用軟件基本約用1,300千字節(jié)空間,所有文件均放置在數(shù)據(jù)庫中調(diào)用,查詢數(shù)據(jù)、文件、記錄時,通過庫文件名直接進行操作或通過存儲過程來完成操作。</p><p> 6.4 數(shù)據(jù)庫設(shè)計描述</p&g
57、t;<p> 6.4.1 數(shù)據(jù)庫分析</p><p> 需將數(shù)據(jù)庫設(shè)計成關(guān)系模式最低符合第二范式的標準。按照需求分析,確定系統(tǒng)的實體。根據(jù)實體分析的結(jié)果,在數(shù)據(jù)庫中應(yīng)建立如下數(shù)據(jù)表:</p><p> destine(訂票人信息表)、flight(航班信息表)。</p><p> 6.4.2 數(shù)據(jù)庫設(shè)計說明</p><p
58、> (1) destine(訂票人信息表)</p><p> 在此數(shù)據(jù)表中存放的是訂票人的其他信息,如:所乘坐的航班號、所乘坐的機艙等級等信息。訂票人的信息表要與航班信息表有所關(guān)聯(lián)。</p><p> 在該信息表中包含以下字段:destine_id(訂票人身份證號碼)、flight_no(航班號)、destine_count(訂票數(shù)量)、destine_date(定票日期)、
59、destine_status(訂票狀態(tài))、destine _id (訂票人身份證號碼)、destine_phone(訂票人聯(lián)系電話)、destine_address(訂票人地址)、destine_sex(訂票人性別)、destine_age(訂票人年齡)等字段。</p><p> (2) flight(航班信息表)</p><p> 在此數(shù)據(jù)表中存放的是航班的起飛與降落的地點和時間,
60、并通過flight _no(航班號)字段建立起與flight_infor數(shù)據(jù)表的表間連接。</p><p> 在該信息表中包含以下字段:flight_no(航班號)、begin_from(起飛地點)、end_address(降落地點)、begin_time(起飛時間)、end_time(降落時間) ticket_price(機票價格)等字段。</p><p> 6.4.3 數(shù)據(jù)庫ER
61、圖</p><p> 6.5、程序系統(tǒng)的組織結(jié)構(gòu) </p><p> 6.5.1 系統(tǒng)組織結(jié)構(gòu)圖</p><p> 6.5.1.1 服務(wù)器端的組織結(jié)構(gòu)圖</p><p><b> 第七章 代碼設(shè)計</b></p><p><b> 7.1查詢模塊</b><
62、;/p><p> 為查詢模塊AirFirmQuery類的showResult方法添加代碼,這個方法返回航空公司查詢的結(jié)果:</p><p> public void showResult(ResultSet rs)</p><p><b> {</b></p><p> String result = "
63、 " +</p><p> "航空公司查詢" + "\n";</p><p> result += "查詢的航空公司:" + airfirm + "\n";</p><p>
64、; result += "航班號 航空公司 起飛地點 抵達地點 起飛時間 抵達時間 " +</p><p> "兒童票價 成人票價 折扣 班期 " + "\n";</p><p> //Used to determine whether there are no records
65、found</p><p> int originLength = result.length();</p><p> String time1,time2;</p><p> String childFare,adultFare,discount1,discount2,seat;</p><p><b> try</
66、b></p><p><b> {</b></p><p> while(rs.next())</p><p><b> {</b></p><p> result += rs.getString("flight") + rs.getString("air
67、firm") + rs.getString("start") +</p><p> rs.getString("destination");</p><p> //When you get the time from the resultset,it is like "1200".</p><p&
68、gt; //So we should change it into the form "12:00".</p><p> time1 = rs.getString("leaveTime");</p><p> time2 = rs.getString("arriveTime");</p><p>
69、//getTime(String time) is used to change the time form into standard one</p><p> time1 = getTime(time1);</p><p> time2 = getTime(time2);</p><p> result += time1 + " &quo
70、t; + time2 + " ";</p><p> //Make sure that the following items have the exactly bits,</p><p> //so that they can be display in a neat format</p><p> childFare = St
71、ring.valueOf(rs.getFloat("childFare"));</p><p> adultFare = String.valueOf(rs.getFloat("adultFare"));</p><p> discount1 = String.valueOf(rs.getFloat("discount1"))
72、;</p><p> discount2 = String.valueOf(rs.getFloat("discount2"));</p><p> seat = String.valueOf(rs.getInt("seat"));</p><p> //Make every item in a neat format&l
73、t;/p><p> while(childFare.length() != 11)</p><p> childFare += " ";</p><p> while(adultFare.length() != 11)</p><p> adultFare += " ";</p>&l
74、t;p> while(discount1.length() != 8)</p><p> discount1 += " ";</p><p> result += childFare + adultFare + discount1 +</p><p> rs.getString("week");</p>
75、;<p> result += "\n";</p><p><b> }</b></p><p><b> }</b></p><p> catch(SQLException e)</p><p><b> {</b></p&g
76、t;<p> e.printStackTrace();</p><p><b> }</b></p><p> //Means there are no records found</p><p> //So give user message that couldn't find correlate infoma
77、tion</p><p> if (result.length() == originLength)</p><p><b> {</b></p><p> result += " " +</p><
78、;p> "對不起,找不到你想要的航班信息!" + "\n";</p><p><b> }</b></p><p> //Display the result in a messageDialog</p><p> JOptionPane.showMessageDialog(null,res
79、ult,"查詢結(jié)果",JOptionPane.PLAIN_MESSAGE);</p><p><b> }</b></p><p> 7.2 數(shù)據(jù)庫的鏈接和操作</p><p> sqlBean 類包含了數(shù)據(jù)庫的主要操作,有查詢、插入、刪除、更新和連接的關(guān)閉等,為其添加代碼如下:</p><p>
80、; public class SqlBean</p><p><b> {</b></p><p> private Connection conn=null;</p><p> private ResultSet rs=null;</p><p> //Database driver</p>&
81、lt;p> private String DatabaseDriver="sun.jdbc.odbc.JdbcOdbcDriver";</p><p> //Database sourse</p><p> private String DatabaseConnStr="jdbc:odbc:dsStudent";</p>&
82、lt;p> //ID to login</p><p> private String LogId="sa";</p><p> //Password to login</p><p> private String LogPass="";</p><p> //Constructor
83、method</p><p> public SqlBean()</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> Class.forName(Databas
84、eDriver);</p><p><b> }</b></p><p> catch(ClassNotFoundException e)</p><p><b> {</b></p><p><b> }</b></p><p><b&g
85、t; }</b></p><p><b> //select</b></p><p> public ResultSet executeQuery(String sql)</p><p><b> {</b></p><p><b> rs=null;</b&g
86、t;</p><p><b> try</b></p><p><b> {</b></p><p> conn = DriverManager.getConnection(DatabaseConnStr,LogId,LogPass);</p><p> Statement stmt=con
87、n.createStatement();</p><p> rs=stmt.executeQuery(sql);</p><p><b> }</b></p><p> catch(SQLException ex)</p><p><b> {</b></p><p>
88、;<b> }</b></p><p> return rs;</p><p><b> }</b></p><p><b> //insert</b></p><p> public int executeInsert(String sql)</p>
89、<p><b> {</b></p><p> int num=0;</p><p><b> try</b></p><p><b> {</b></p><p> conn = DriverManager.getConnection(DatabaseCo
90、nnStr,LogId,LogPass);</p><p> Statement stmt=conn.createStatement();</p><p> num=stmt.executeUpdate(sql);</p><p><b> }</b></p><p> catch(SQLException ex
91、)</p><p><b> {</b></p><p><b> }</b></p><p> return num;</p><p><b> }</b></p><p><b> //delete</b></p
92、><p> public int executeDelete(String sql)</p><p><b> {</b></p><p> int num=0;</p><p><b> try</b></p><p><b> {</b><
93、;/p><p> conn = DriverManager.getConnection(DatabaseConnStr,LogId,LogPass);</p><p> Statement stmt=conn.createStatement();</p><p> num=stmt.executeUpdate(sql);</p><p>&
94、lt;b> }</b></p><p> catch(SQLException e)</p><p><b> {</b></p><p><b> }</b></p><p> return num;</p><p><b> }&l
95、t;/b></p><p><b> //update</b></p><p> public int executeUpdate(String sql)</p><p><b> {</b></p><p> int num=0;</p><p><b&
96、gt; try</b></p><p><b> {</b></p><p> conn = DriverManager.getConnection(DatabaseConnStr,LogId,LogPass);</p><p> Statement stmt=conn.createStatement();</p>
97、;<p> num=stmt.executeUpdate(sql);</p><p><b> }</b></p><p> catch(SQLException e)</p><p><b> {</b></p><p><b> }</b></
98、p><p> return num;</p><p><b> }</b></p><p><b> //close</b></p><p> public void CloseDataBase()</p><p><b> {</b></p
99、><p><b> try</b></p><p><b> {</b></p><p> conn.close();</p><p><b> }</b></p><p> catch(Exception e)</p><p&
100、gt;<b> {</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 7.3 訂單號的生成</p><p><b> 訂
101、單號的隨機生成:</b></p><p> String dingdan=string[3]+ string[4]+String.valueOf((int)(100*Math.random()));</p><p><b> 7.4訂票成功</b></p><p> 訂票成功的事件處理:</p><p>
102、;<b> try</b></p><p><b> {</b></p><p> Connection con = DriverManager.getConnection("jdbc:odbc:dsStudent","sa","yuanran");</p><
103、p> Statement stmt = con.createStatement();</p><p> ResultSet rs = stmt.executeQuery("select adultFare,childFare from flight where flight='"+string[4]+"'");</p><p&g
104、t; while(rs.next())</p><p><b> {</b></p><p> adultfare=rs.getFloat(1);</p><p> childfare=rs.getFloat(2);</p><p><b> }</b></p><p&
105、gt;<b> }</b></p><p> catch(Exception ex)</p><p><b> {</b></p><p><b> }</b></p><p> piaojia=adultnumber*adultfare+childnumber*ch
106、ildfare;</p><p> String dingdan=string[3]+string[4]+String.valueOf((int)(100*Math.random()));</p><p> string[16]=dingdan;</p><p> string[21]=""+piaojia;</p><
107、p> JOptionPane.showMessageDialog(this," 恭喜!提交成功\n你的定單號是:"+dingdan+"\n"+"你應(yīng)付價錢為:"+piaojia,</p><p> "客戶信息",JOptionPane.INFORMATION_MESSAGE);</p><p>
108、 Hangkong.clientFrame.setVisible(false);</p><p> Hangkong.clientFrame.dispose();</p><p> Hangkong.frame.setVisible(true);</p><p> writeToFile writetofile=new writeToFile(string);
109、</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,"非常抱歉!只有"+i+"張航
110、班票剩余\n請您重新選擇票數(shù)",</p><p> "客戶信息",JOptionPane.INFORMATION_MESSAGE);</p><p> jbtadultticketnumber.setText(" ");</p><p> jbtchildticketnumber.setText("
111、");</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> JOptionPane.sh
112、owMessageDialog(null,"對不起,今天沒有這個航班",</p><p> "客戶信息",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p>
113、<b> //double</b></p><p> else //if(string[5].toString().trim().equals("往返")||string[5].toString().trim().equals("往返"))</p><p><b> {</b></p>
114、<p> i=seatinformation.dingPiao(string[4],string[3],ticketnumber);</p><p> j=seatinformation.dingPiao(string[11],string[10],ticketnumber);</p><p><b> if(i==-2)</b></p>
115、<p> JOptionPane.showMessageDialog(null,"對不起,今天沒有第一個航班",</p><p> "客戶信息",JOptionPane.ERROR_MESSAGE);</p><p> else if(j==-2)</p><p> JOptionPane.showMess
116、ageDialog(null,"對不起,今天沒有第二個航班",</p><p> "客戶信息",JOptionPane.ERROR_MESSAGE);</p><p><b> else</b></p><p><b> {</b></p><p>
117、if(i==-1&&j==-1)</p><p><b> {</b></p><p> float adultfare=0;</p><p> float childfare=0;</p><p> float piaojia=0;</p><p><b>
118、try</b></p><p><b> {</b></p><p> Connection con = DriverManager.getConnection("jdbc:odbc:dsStudent","sa","yuanran");</p><p> State
119、ment stmt = con.createStatement();</p><p> ResultSet rs = stmt.executeQuery("select adultFare,childFare from flight where flight='"+string[4]+"'");</p><p> while(rs
120、.next())</p><p><b> {</b></p><p> adultfare=rs.getFloat(1);</p><p> childfare=rs.getFloat(2);</p><p><b> }</b></p><p><b>
121、 }</b></p><p> catch(Exception ex)</p><p><b> {</b></p><p><b> }</b></p><p> piaojia=adultnumber*adultfare+childnumber*childfare;<
122、/p><p><b> try</b></p><p><b> {</b></p><p> Connection con = DriverManager.getConnection("jdbc:odbc:dsStudent","sa","yuanran");
123、</p><p> Statement stmt = con.createStatement();</p><p> ResultSet rs = stmt.executeQuery("select adultFare,childFare from flight where flight='"+string[11]+"'");&l
124、t;/p><p> while(rs.next())</p><p><b> {</b></p><p> adultfare=rs.getFloat(1);</p><p> childfare=rs.getFloat(2);</p><p><b> }</b>&
125、lt;/p><p><b> }</b></p><p> catch(Exception ex)</p><p><b> {</b></p><p><b> }</b></p><p> piaojia=piaojia+adultnumber
126、*adultfare+childnumber*childfare;</p><p> String dingdan=string[3]+string[4]+String.valueOf((int)(100*Math.random()));</p><p> string[16]=dingdan;</p><p> string[21]=""
127、+piaojia;</p><p> JOptionPane.showMessageDialog(this," 恭喜!提交成功\n你的定單號是:"+dingdan+"\n"+"你應(yīng)付價錢為:"+piaojia,</p><p> "客戶信息",JOptionPane.INFORMATION_MESSAG
128、E);</p><p> Hangkong.clientFrame.setVisible(false);</p><p> Hangkong.clientFrame.dispose();</p><p> Hangkong.frame.setVisible(true);</p><p> writeToFile writetofile
129、=new writeToFile(string);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> if(i!=-1)</b></p>
130、<p><b> {</b></p><p> JOptionPane.showMessageDialog(this,"非常抱歉!只有"+i+"張第一航班票剩余\n請您重新選擇票數(shù)",</p><p> "客戶信息",JOptionPane.INFORMATION_MESSAGE);</
131、p><p> jbtadultticketnumber.setText(" ");</p><p> jbtchildticketnumber.setText(" ");</p><p><b> }</b></p><p><b> else</b>&l
132、t;/p><p><b> {</b></p><p><b> if(j!=-1)</b></p><p><b> {</b></p><p> JOptionPane.showMessageDialog(this,"非常抱歉!只有"+j+"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計-航空訂票管理系統(tǒng)設(shè)計
- 課程設(shè)計報告-航空訂票系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-- 航空訂票管理系統(tǒng)
- 課程設(shè)計---航空客運訂票系統(tǒng)
- 航空客運訂票系統(tǒng)課程設(shè)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--航空訂票系統(tǒng)
- 航空訂票管理系統(tǒng)-軟件項目管理課程設(shè)計報告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---航空訂票系統(tǒng)
- 航空訂票系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---航空訂票系統(tǒng)
- 航空客運訂票系統(tǒng)課程設(shè)計報告
- 數(shù)據(jù)結(jié)構(gòu)航空訂票系統(tǒng)課程設(shè)計報告
- 航空客運訂票系統(tǒng)課程設(shè)計(數(shù)據(jù)結(jié)構(gòu))
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--航空客運訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)航空航班課程設(shè)計--航空客運訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告---航空客運訂票系統(tǒng)
- c++課程設(shè)計報告_航空訂票系統(tǒng)的菜單設(shè)計
- 飛機訂票系統(tǒng)課程設(shè)計
評論
0/150
提交評論