版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 航空訂票管理系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 目前,國(guó)內(nèi)航空公司的數(shù)量和規(guī)模都在擴(kuò)大,國(guó)外航空公司也紛紛著陸中國(guó),這些航空公司之間的競(jìng)爭(zhēng)可謂日益激烈。配備一個(gè)安全、高效、靈活、可靠的航空訂票管理系統(tǒng)對(duì)于航空公司加強(qiáng)客戶服務(wù)質(zhì)量,提高客戶服務(wù)水平,擴(kuò)展業(yè)務(wù)途徑,維護(hù)公眾形象
2、,提高工作效率必將發(fā)揮重要作用。 </p><p> 關(guān)鍵詞:航空訂票系統(tǒng);國(guó)內(nèi)航空;飛機(jī)航班 </p><p><b> 目 錄</b></p><p> 第一章 系統(tǒng)需求分析………………………………………………………………… 5</p><p> 1.1 硬件可靠性…………………………………………
3、………………………………… 5</p><p> 1.2 系統(tǒng)運(yùn)行的穩(wěn)定性…………………………………………………………………… 5</p><p> 1.3 較高的性能價(jià)格比…………………………………………………………………… 5</p><p> 1.4 系統(tǒng)功能齊全、開(kāi)放性好…………………………………………………………… 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 客戶端尚未解決的問(wèn)題………………………………………………………………
6、 6</p><p> 2.6 服務(wù)端尚未解決的問(wèn)題……………………………………………………………… 6</p><p> 2.7 難點(diǎn)問(wèn)題……………………………………………………………………………… 6</p><p> 第三章 性能需求分析……………………………………………………………… 7</p><p> 3.1
7、 可操作性……………………………………………………………………………… 7</p><p> 3.2 可靠性………………………………………………………………………………… 7</p><p> 3.3 實(shí)用性………………………………………………………………………………… 7</p><p> 3.4 安全性………………………………………………………
8、………………………… 7</p><p> 3.5 可維護(hù)性……………………………………………………………………………… 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è)計(jì)………………………………………………………………………10</p><p> 5.1 程序描述………………………………………………………………………………10</p&
10、gt;<p> 5.2 功能……………………………………………………………………………………10</p><p> 5.3 性能……………………………………………………………………………………11</p><p> 5.4 輸入項(xiàng)…………………………………………………………………………………11</p><p> 5.5 輸出項(xiàng)
11、…………………………………………………………………………………11</p><p> 5.6 算法……………………………………………………………………………………11</p><p> 5.7 流程邏輯…………………………………………………………………………… 11</p><p> 第六章 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)…………………………………………………
12、…… 18</p><p> 6.1 邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)……………………………………………………………………18</p><p> 6.2 物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)……………………………………………………………………18</p><p> 6.3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系………………………………………………………………18</p><p>
13、; 6.4 數(shù)據(jù)庫(kù)設(shè)計(jì)描述………………………………………………………………………18</p><p> 6.5 程序系統(tǒng)的組織結(jié)構(gòu)…………………………………………………………………19</p><p> 第七章 代碼設(shè)計(jì)………………………………………………………………………21</p><p> 7.1查詢模塊………………………………………………
14、………………………………… 21</p><p> 7.2 數(shù)據(jù)庫(kù)的鏈接和操作……………………………………………………………………22</p><p> 7.3 訂單號(hào)的生成……………………………………………………………………………25</p><p> 7.4訂票成功………………………………………………………………………………… 25</p>
15、<p> 第八章 系統(tǒng)運(yùn)行效果與操作……………………………………………………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ù)庫(kù)界面…………………………………………………………………………37</p><p> 8.9數(shù)據(jù)庫(kù)的連接……………………………………………………………………………37</p><p> 8.10版權(quán)所有……………………………………
18、………………………………………… 40</p><p> 參考文獻(xiàn)………………………………………………………………………………………41 </p><p> 第一章 系統(tǒng)需求分析</p><p> 目前,國(guó)內(nèi)航空公司的數(shù)量和規(guī)模都在擴(kuò)大,國(guó)外航空公司也紛紛著陸中國(guó),這些航空公司之間的競(jìng)爭(zhēng)可謂日益激烈。配備一個(gè)安全、高效、靈活、可靠的客戶服務(wù)中心系統(tǒng)對(duì)于航空公
19、司加強(qiáng)客戶服務(wù)質(zhì)量,提高客戶服務(wù)水平,擴(kuò)展業(yè)務(wù)途徑,維護(hù)公眾形象,提高工作效率必將發(fā)揮重要作用。</p><p> 對(duì)航空公司來(lái)說(shuō),航空訂票管理系統(tǒng)既能擴(kuò)大服務(wù)范圍,擴(kuò)大公司影響,減少營(yíng)業(yè)費(fèi)用,又對(duì)穩(wěn)固航空公司的客源有著重要的輔助作用;站在旅客的角度,航空公司提供的這種服務(wù)提供了更多的方便,節(jié)省了很多時(shí)間。建設(shè)航空訂票管理系統(tǒng)是體現(xiàn)和提高航空公司領(lǐng)導(dǎo)業(yè)績(jī)的一條捷徑,此外還具有重要意義:</p>&
20、lt;p> 1、改善航空公司服務(wù)質(zhì)量;</p><p> 2、創(chuàng)造和提升航空公司的品牌優(yōu)勢(shì);</p><p> 3、優(yōu)化航空公司的服務(wù)流程; </p><p> 4、提升信息化的水平;</p><p><b> 1.1硬件可靠性</b></p><p><b> 數(shù)據(jù)庫(kù)
21、服務(wù)器:</b></p><p> 數(shù)據(jù)庫(kù)服務(wù)器用于存放用戶及航班信息等資料,配一臺(tái)專用服務(wù)器,安裝數(shù)據(jù)庫(kù)SQL server2000。</p><p> 1.2系統(tǒng)運(yùn)行的穩(wěn)定性</p><p> 系統(tǒng)支持操作系統(tǒng)如下:</p><p> Windows vista、Windows XP(服務(wù)器版本)(推薦) 或Wind
22、ows 2000,系統(tǒng)運(yùn)行穩(wěn)定可靠,可以保證365天*24小時(shí)的不間斷運(yùn)行,并安裝殺毒軟件,防止病毒的干擾,保證系統(tǒng)的運(yùn)行穩(wěn)定。</p><p> SQL Server數(shù)據(jù)庫(kù)服務(wù)器版, 可以存儲(chǔ)管理大量數(shù)據(jù)信息</p><p> 1.3較高的性能價(jià)格比</p><p> 由于這種模式極大的方便了客戶及航班信息的管理,節(jié)省了很多不必要的設(shè)備,減少了項(xiàng)目投資。&l
23、t;/p><p> 1.4系統(tǒng)功能齊全、開(kāi)放性好</p><p> 訂票,退票,查詢,管理等業(yè)務(wù),全部使用軟件來(lái)控制,因此今后功能變動(dòng)、業(yè)務(wù)改動(dòng)很靈活。</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ù)需要來(lái)輸入航班、訂票人、乘客等信息的具體數(shù)據(jù),但必須保證其正確性和準(zhǔn)確性。</p><p><b> 2.2 數(shù)據(jù)的修改</b></p><p
25、> 管理員根據(jù)需要對(duì)指定的數(shù)據(jù)進(jìn)行修改,由于記錄繁多,因此用戶首先要輸入一定的查詢條件,縮小記錄范圍,然后再?gòu)脑摲秶姓业街付ǖ挠涗涍M(jìn)行修改,保證修改的內(nèi)容的正確性和準(zhǔn)確性后可更新數(shù)據(jù)庫(kù)的數(shù)據(jù)。</p><p><b> 2.3 數(shù)據(jù)的刪除</b></p><p> 管理員根據(jù)需要對(duì)指定的數(shù)據(jù)進(jìn)行刪除,由于記錄繁多,因此用戶首先要輸入一定的查詢條件,縮小記
26、錄范圍,然后再?gòu)脑摲秶姓业街贫ǖ挠涗涍M(jìn)行刪除,保證將要?jiǎng)h除的內(nèi)容的正確性和準(zhǔn)確性后可刪除掉數(shù)據(jù)庫(kù)中的數(shù)據(jù)。</p><p><b> 2.4 數(shù)據(jù)的查詢</b></p><p> 管理員根據(jù)需要查詢數(shù)據(jù)庫(kù)中的所有數(shù)據(jù),輸入一定的查詢條件,然后可按照輸入的查詢依據(jù)查詢新數(shù)據(jù)庫(kù)的數(shù)據(jù)。</p><p><b> 尚未解決的問(wèn)題&l
27、t;/b></p><p> 2.5 客戶端尚未解決的問(wèn)題</p><p> 客戶端尚未解決的問(wèn)題是,如何與訂票人的銀行賬戶連接。</p><p> 2.6服務(wù)器端尚未解決的問(wèn)題</p><p> 服務(wù)器端尚未解決的問(wèn)題是,系統(tǒng)自動(dòng)檢索到過(guò)期的航班后自動(dòng)將其信息刪除并且要保所有與該航班關(guān)聯(lián)的訂票人的信息和乘客的信息都刪除,難點(diǎn)在
28、于,如何保證數(shù)據(jù)庫(kù)中的表間的一致性。</p><p><b> 2.7難點(diǎn)問(wèn)題</b></p><p> 難點(diǎn)問(wèn)題是服務(wù)器端的程序的刪除部分,因?yàn)橛喥比说男畔㈥P(guān)系到部分乘客的信息,必須保持?jǐn)?shù)據(jù)的完整性。其次是航班信息,它關(guān)系著部分訂票人的信息和乘客信息,其中還嵌套著這部分訂票人當(dāng)中有部分關(guān)系的乘客信息,并且同一定票人可以訂購(gòu)多架次航班的機(jī)票和所訂購(gòu)的機(jī)票的數(shù)量也不
29、僅僅是1張,要將航班信息刪除,也要保數(shù)據(jù)的完整性。</p><p> 第三章 性能需求分析</p><p> 從實(shí)用、好用的角度出發(fā)開(kāi)發(fā)航空訂票管理系統(tǒng),建立面向顧客管理全過(guò)程的管理與控制系統(tǒng),在設(shè)計(jì)過(guò)程中主要考慮以下原則:3.1可操作性 原始信息皆由管理員錄入,系統(tǒng)應(yīng)盡量減少操作員的數(shù)據(jù)錄入量,錄入數(shù)據(jù)盡
30、量通過(guò)設(shè)計(jì)下拉列表框來(lái)選擇錄入,這樣的處理同時(shí)也避免了許多錄入異?,F(xiàn)象的發(fā)生。數(shù)據(jù)輸入的格式應(yīng)符合業(yè)務(wù)習(xí)慣,并且直觀、方便。要求系統(tǒng)處理的數(shù)據(jù)能準(zhǔn)確無(wú)誤,同時(shí)輸出信息要求直觀、簡(jiǎn)潔。3.2可靠性 系統(tǒng)運(yùn)行具有較高的可靠性,提供嚴(yán)格的并發(fā)控制,確保數(shù)據(jù)的一致性和正確性3.3實(shí)用性
31、60;從用戶的實(shí)際需要出發(fā)進(jìn)行系統(tǒng)開(kāi)發(fā),不盲目追求高新技術(shù)的應(yīng)用。3.4安全性 系統(tǒng)安全措施可靠、高效、可維護(hù)性好,有權(quán)限控制、口令控制、臨時(shí)鎖定控制,其中口令錄入界面便于系統(tǒng)識(shí)別登錄用戶。3.5可維護(hù)性 為了保證系統(tǒng)的可維護(hù)性,要求具有詳細(xì)的文檔資料,同時(shí),要求系統(tǒng)在功能
32、設(shè)計(jì)上考慮可擴(kuò)展性,以滿足業(yè)務(wù)變動(dòng)的需求。3.6可移植性 系統(tǒng)開(kāi)發(fā)完成后,要能運(yùn)行于任何由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> 查看航班信息 基本查詢,從下拉列表中選擇航班或起點(diǎn)或終點(diǎn)信息 </p><p> 綜合查詢,手動(dòng)輸入航班的基本信息</p><p&
34、gt;<b> (2)訂票</b></p><p> 輸入航班信息 顯示航班信息,以及打折后的票價(jià)信息,詢問(wèn)信息是否正確 正確 輸入個(gè)人信息 完成訂票</p><p> 不正確 返回訂票初始界面</p><p><b> ?。?)退票</b&g
35、t;</p><p> 輸入將退票的序號(hào) 顯示票的具體信息,并詢問(wèn)是否退票 退票成功,更新顧客數(shù)據(jù)庫(kù)</p><p><b> ?。?)管理</b></p><p> 登陸 進(jìn)入管理界面 選擇添加、更新、刪除航班,或查看航班具體信息等業(yè)務(wù)</p><p>
36、 添加 輸入添加航班的具體信息 更新航班數(shù)據(jù)庫(kù)</p><p> 更新 輸入所要更改航班的具體信息 更新航班數(shù)據(jù)庫(kù)</p><p> 刪除 選擇所要?jiǎng)h除的航班 更新航班數(shù)據(jù)庫(kù)</p><p> 查看航班具體信息 顯示數(shù)據(jù)庫(kù)中所有航班的具體信息<
37、/p><p><b> 第五章 系統(tǒng)設(shè)計(jì)</b></p><p><b> 5.1 程序描述</b></p><p> 5.1.1服務(wù)器端程序:</p><p> 本套航空訂票系統(tǒng)軟件的服務(wù)器端應(yīng)用程序,使用java編寫(xiě)前臺(tái)控制軟件,管理員通過(guò)使用該軟件來(lái)進(jìn)行對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行管理。<
38、;/p><p> 5.1.2后臺(tái)數(shù)據(jù)庫(kù):</p><p> 本套航空訂票系統(tǒng)軟件的后臺(tái)數(shù)據(jù)庫(kù)使用Microsoft SQL Server 2000來(lái)搭建后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,用來(lái)存放所有的數(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)查詢航班信息包括航班號(hào)、時(shí)間、地點(diǎn)等信息。</p><p> 2)查詢及票價(jià)格包括起始地、抵達(dá)地、、機(jī)票價(jià)格等信息。</p><p> 3)查詢訂票人的詳細(xì)信息:</p><p> 精確查詢:輸入訂票人身份證號(hào)碼查詢訂票人詳細(xì)信息。</p>&l
40、t;p> 模糊查詢:輸入訂票人的姓名(或訂票人的姓或是年齡或是性別)查詢出一系列相關(guān)的信息,然后可從小范圍內(nèi)找到訂票人的詳細(xì)信息。</p><p> 4)查詢乘客的詳細(xì)信息:</p><p> 精確查詢:輸入乘客的身份證號(hào)碼查詢乘客的詳細(xì)信息。</p><p> 模糊查詢:輸入乘客的姓名(或乘客的姓或是年齡或是性別)查詢出一系列相關(guān)的信息,然后可從小范
41、圍內(nèi)找到乘客的詳細(xì)信息</p><p> 5.2.1.2定票功能:</p><p> 1)填寫(xiě)訂票人的詳細(xì)信息其中包括:</p><p> 姓名、身份證號(hào)碼、聯(lián)系電話、地址等信息。</p><p> 2)填寫(xiě)訂票的詳細(xì)信息,其中包括:</p><p> 航班編號(hào)、訂票時(shí)間、訂票數(shù)量等信息。</p>
42、<p> 5.2.1.3錄入信息功能</p><p> 1)取票功能:根據(jù)輸入的訂票人身份證號(hào)驗(yàn)證訂票人身份后,輸入詳細(xì)的乘客信息并進(jìn)行保存。</p><p> 2)直接購(gòu)票:直接輸入乘客詳細(xì)信息并保存(不通過(guò)訂票人)。</p><p> 3)錄入航班信息:錄入航班的相關(guān)信息。</p><p> 4)訂票人取消訂票:保
43、存訂票人取消訂票信息。</p><p> 5.2.1.4修改功能</p><p> 1)修改乘客信息:將查找到的乘客信息,進(jìn)行修改,然后進(jìn)行保存。</p><p> 2)修改訂票人信息:將查找到的訂票人的信息進(jìn)行修改然后進(jìn)行保存。</p><p> 3)修改航班信息:將查找到的航班信息進(jìn)行修改后保存。</p><p
44、> 5.2.1.5 刪除功能</p><p> 1)刪除乘客信息:將查找到的乘客信息,進(jìn)行刪除。</p><p> 2)刪除訂票人信息:將查找到的訂票人的信息進(jìn)行刪除。</p><p> 3)刪除航班信息:將查找到的航班信息進(jìn)行刪除。</p><p><b> 5.3 性能</b></p>
45、<p><b> 5.3.1 靈活性</b></p><p> 當(dāng)需求發(fā)生某些變化時(shí),機(jī)票管理應(yīng)用軟件操作方式、數(shù)據(jù)結(jié)構(gòu)、運(yùn)行環(huán)境基本不會(huì)發(fā)生變化,變化只是將對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件內(nèi)的記錄改變,或改變過(guò)濾條件。</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ù)庫(kù)中,在程序中應(yīng)盡可能的使用調(diào)用存儲(chǔ)過(guò)程的方法以免使某人反編譯軟件后或入侵到服務(wù)器后對(duì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)了如指掌,在程序中應(yīng)該設(shè)置不同權(quán)限的人訪問(wèn)時(shí)的賬戶和密碼,以保證數(shù)據(jù)不容易被錯(cuò)改、破壞,
47、而且要經(jīng)常對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份操作,使得數(shù)據(jù)一旦受到破壞或是出錯(cuò)能夠保證及時(shí)的恢復(fù)數(shù)據(jù),將損失降低到最低。</p><p> 5.3.4 可維護(hù)性</p><p> 5.3.4.1 應(yīng)用程序的維護(hù)</p><p> 當(dāng)用戶使用本套航空訂票系統(tǒng)軟件時(shí),遇到了軟件本身的邏輯錯(cuò)誤時(shí),應(yīng)當(dāng)有軟件的維護(hù)人員對(duì)軟件進(jìn)行修改。</p><p> 5.3
48、.4.2 數(shù)據(jù)庫(kù)的維護(hù)</p><p> 應(yīng)當(dāng)有特定的數(shù)據(jù)庫(kù)維護(hù)人員對(duì)數(shù)據(jù)庫(kù)進(jìn)行及時(shí)地進(jìn)行備份,管理等操作,以保證數(shù)據(jù)庫(kù)的安全性。</p><p><b> 5.4 輸入項(xiàng)</b></p><p> 管理員通過(guò)軟件輸入必要的信息,然后保存到數(shù)據(jù)庫(kù),所輸入的信息是經(jīng)過(guò)需求分析限定的內(nèi)容,同時(shí)也是數(shù)據(jù)庫(kù)中每個(gè)字段中存儲(chǔ)的內(nèi)容。</p&
49、gt;<p><b> 5.5 輸出項(xiàng)</b></p><p> 本套航空訂票系統(tǒng)軟件會(huì)將所有需要瀏覽的數(shù)據(jù)顯示在屏幕上,以便使用戶能夠?yàn)g覽到數(shù)據(jù)庫(kù)中的數(shù)據(jù)或用戶想要瀏覽范圍中的數(shù)據(jù)。</p><p> 5.6 算法 </p><p> 1)將管理員輸入的數(shù)據(jù),按字段保存到數(shù)據(jù)庫(kù)中。</p>&
50、lt;p> 2)將數(shù)據(jù)庫(kù)中的數(shù)據(jù),按字段提取到用戶界面中。</p><p> 3)必要的去除重復(fù)項(xiàng)的算法。</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è)計(jì)</p><p> 6.1 邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)</p><p> 按照需求分析設(shè)計(jì)數(shù)據(jù)庫(kù)中的字段,建立一個(gè)邏輯上的數(shù)據(jù)庫(kù)的結(jié)構(gòu)。</p><p> 6.2
53、 物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)</p><p> 在數(shù)據(jù)庫(kù)軟件(SQL Server2000)中建立數(shù)據(jù)庫(kù),并要保證數(shù)據(jù)庫(kù)最低要符合第二范式。</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é),最大無(wú)限制。</p><p> 6.3.2 精度需求</p><p> 在進(jìn)行提取數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí),要求數(shù)據(jù)記錄定位準(zhǔn)確,在向數(shù)據(jù)庫(kù)中添加數(shù)據(jù)時(shí),要求輸入數(shù)據(jù)準(zhǔn)確。主要的精度適應(yīng)系統(tǒng)要求,不接受違規(guī)操作。</p><p> 6.3.3 時(shí)間特性需求 </
55、p><p> (1) 響應(yīng)時(shí)間應(yīng)在人的感覺(jué)和視覺(jué)事件范圍內(nèi);</p><p> (2) 更新處理時(shí)間,隨著應(yīng)用軟件的版本升級(jí),以及網(wǎng)絡(luò)的定期維護(hù)更新。</p><p> 6.3.4 靈活性</p><p> 當(dāng)需求發(fā)生某些變化時(shí),管理應(yīng)用軟件操作方式、數(shù)據(jù)結(jié)構(gòu)、運(yùn)行環(huán)境基本不會(huì)發(fā)</p><p> 生變化,
56、變化只是將對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件內(nèi)的記錄改變,或?qū)⑦^(guò)濾條件改變即可。</p><p> 6.3.5 數(shù)據(jù)管理能力需求</p><p> 本應(yīng)用軟件可管理多條記錄,本應(yīng)用軟件基本約用1,300千字節(jié)空間,所有文件均放置在數(shù)據(jù)庫(kù)中調(diào)用,查詢數(shù)據(jù)、文件、記錄時(shí),通過(guò)庫(kù)文件名直接進(jìn)行操作或通過(guò)存儲(chǔ)過(guò)程來(lái)完成操作。</p><p> 6.4 數(shù)據(jù)庫(kù)設(shè)計(jì)描述</p&g
57、t;<p> 6.4.1 數(shù)據(jù)庫(kù)分析</p><p> 需將數(shù)據(jù)庫(kù)設(shè)計(jì)成關(guān)系模式最低符合第二范式的標(biāo)準(zhǔn)。按照需求分析,確定系統(tǒng)的實(shí)體。根據(jù)實(shí)體分析的結(jié)果,在數(shù)據(jù)庫(kù)中應(yīng)建立如下數(shù)據(jù)表:</p><p> destine(訂票人信息表)、flight(航班信息表)。</p><p> 6.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明</p><p
58、> (1) destine(訂票人信息表)</p><p> 在此數(shù)據(jù)表中存放的是訂票人的其他信息,如:所乘坐的航班號(hào)、所乘坐的機(jī)艙等級(jí)等信息。訂票人的信息表要與航班信息表有所關(guān)聯(lián)。</p><p> 在該信息表中包含以下字段:destine_id(訂票人身份證號(hào)碼)、flight_no(航班號(hào))、destine_count(訂票數(shù)量)、destine_date(定票日期)、
59、destine_status(訂票狀態(tài))、destine _id (訂票人身份證號(hào)碼)、destine_phone(訂票人聯(lián)系電話)、destine_address(訂票人地址)、destine_sex(訂票人性別)、destine_age(訂票人年齡)等字段。</p><p> (2) flight(航班信息表)</p><p> 在此數(shù)據(jù)表中存放的是航班的起飛與降落的地點(diǎn)和時(shí)間,
60、并通過(guò)flight _no(航班號(hào))字段建立起與flight_infor數(shù)據(jù)表的表間連接。</p><p> 在該信息表中包含以下字段:flight_no(航班號(hào))、begin_from(起飛地點(diǎn))、end_address(降落地點(diǎn))、begin_time(起飛時(shí)間)、end_time(降落時(shí)間) ticket_price(機(jī)票價(jià)格)等字段。</p><p> 6.4.3 數(shù)據(jù)庫(kù)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è)計(jì)</b></p><p><b> 7.1查詢模塊</b><
62、;/p><p> 為查詢模塊AirFirmQuery類的showResult方法添加代碼,這個(gè)方法返回航空公司查詢的結(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 += "航班號(hào) 航空公司 起飛地點(diǎn) 抵達(dá)地點(diǎn) 起飛時(shí)間 抵達(dá)時(shí)間 " +</p><p> "兒童票價(jià) 成人票價(jià) 折扣 班期 " + "\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> "對(duì)不起,找不到你想要的航班信息!" + "\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ù)庫(kù)的鏈接和操作</p><p> sqlBean 類包含了數(shù)據(jù)庫(kù)的主要操作,有查詢、插入、刪除、更新和連接的關(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 訂單號(hào)的生成</p><p><b> 訂
101、單號(hào)的隨機(jī)生成:</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你的定單號(hào)是:"+dingdan+"\n"+"你應(yīng)付價(jià)錢為:"+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請(qǐng)您重新選擇票數(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,"對(duì)不起,今天沒(méi)有這個(gè)航班",</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,"對(duì)不起,今天沒(méi)有第一個(gè)航班",</p><p> "客戶信息",JOptionPane.ERROR_MESSAGE);</p><p> else if(j==-2)</p><p> JOptionPane.showMess
116、ageDialog(null,"對(duì)不起,今天沒(méi)有第二個(gè)航班",</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你的定單號(hào)是:"+dingdan+"\n"+"你應(yīng)付價(jià)錢為:"+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請(qǐng)您重新選擇票數(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)-航空訂票管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告-航空訂票系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-- 航空訂票管理系統(tǒng)
- 課程設(shè)計(jì)---航空客運(yùn)訂票系統(tǒng)
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航空訂票系統(tǒng)
- 航空訂票管理系統(tǒng)-軟件項(xiàng)目管理課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 航空訂票系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)航空訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)(數(shù)據(jù)結(jié)構(gòu))
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航空客運(yùn)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)航空航班課程設(shè)計(jì)--航空客運(yùn)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---航空客運(yùn)訂票系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告_航空訂票系統(tǒng)的菜單設(shè)計(jì)
- 飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論