楊永琪 董國(guó)泰 朱文豪
摘要:乘坐飛機(jī)出行是當(dāng)今社會(huì)主流的交通方式之一,不同的航班能直接或間接地連接世界上的各個(gè)城市,為人們的出行提供了極大的便利。針對(duì)該文提出的航空售票系統(tǒng),為乘客用戶和航班管理人員之間搭建了平臺(tái),從而實(shí)現(xiàn)航班管理人員能夠更加便捷地實(shí)現(xiàn)查詢班次信息、乘客信息、修改乘客信息等操作;而乘客用戶則可以更加方便地查詢購票記錄、對(duì)機(jī)票進(jìn)行預(yù)購等操作,實(shí)現(xiàn)管理人員和乘客用戶的各個(gè)需求,同時(shí)規(guī)范化購票及其相關(guān)流程。該文基于Java語言和SQL語言的設(shè)計(jì)實(shí)現(xiàn)了較為便捷、智能的航空售票管理系統(tǒng)。
關(guān)鍵詞:航空售票管理系統(tǒng);數(shù)據(jù)庫系統(tǒng)設(shè)計(jì);Java
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)06-0075-02
1航空售票管理系統(tǒng)的需求分析
1.1需求分析
隨著交通方式的多元化,飛機(jī)出行也成為主要的交通方式之一。每天都會(huì)有大量的航班信息發(fā)布,為滿足乘客和航空管理人員的需求,改善航班售票秩序、規(guī)范乘客購票行為等。
選擇相應(yīng)的時(shí)間、地點(diǎn)查詢班次信息該系統(tǒng)主要記錄用戶、航空班次、飛機(jī)信息、個(gè)人用戶的銀行卡之間的關(guān)系。1)用戶分為系統(tǒng)管理員與購票用戶:①航空售票管理員信息:管理員編號(hào)、管理員名字、管理員電話。②購票用戶信息:身份證號(hào)、電話號(hào)碼、銀行卡號(hào)、郵箱等。
2)航空班次信息:航空班次號(hào)、飛機(jī)編號(hào)、出發(fā)地點(diǎn)、目的地、出發(fā)時(shí)間、到達(dá)時(shí)間。
3)飛機(jī)信息:飛機(jī)編號(hào)、機(jī)艙數(shù)目、飛機(jī)座位數(shù)及座位編號(hào)、不同機(jī)艙的座位票價(jià)、飛機(jī)時(shí)速。
4)銀行卡信息:個(gè)人銀行卡號(hào)、用戶銀行卡余額、用戶身份證號(hào)。
5)身份證信息:身份證號(hào)、姓名、性別、用戶所有者。
6)機(jī)票信息:機(jī)票編號(hào)、航空班次號(hào)、飛機(jī)座位號(hào)、乘客身份證號(hào)、機(jī)票價(jià)格、座位編號(hào)。
根據(jù)上述該系統(tǒng)的目的,提出用戶和航空管理人員的需求分析,分別總結(jié)為以下幾點(diǎn)功能:
1)航空管理員子系統(tǒng)的需求分析:
①查看航班班次的詳細(xì)信息;
②通過身份證號(hào)碼查詢乘客信息;
③通過班次號(hào)對(duì)班次進(jìn)行詳細(xì)查詢;
④發(fā)布與刪除航班班次及其相關(guān)信息。
2)乘客用戶子系統(tǒng)的需求分析:
①為個(gè)人及其他乘客購買機(jī)票;
②查看當(dāng)前用戶的購票記錄;
③添加和刪除個(gè)人信用卡信息;
④添加、修改和刪除乘機(jī)人信息。
1.2安全性與完整性需求
1)安全性
①通過不同權(quán)限用戶的賬號(hào)及密碼進(jìn)行系統(tǒng)登錄。
②通過對(duì)管理員用戶與乘客用戶的判別來給予不同的權(quán)限與實(shí)現(xiàn)不同界面。
③乘客用戶登錄自己賬號(hào)后只能查詢自己用戶名下身份證的購票信息與個(gè)人信息。
④乘客用戶不可對(duì)班次、飛機(jī)等信息進(jìn)行修改。
⑤管理員用戶能對(duì)班次信息進(jìn)行修改與查詢,對(duì)于客戶用戶信息只能查詢不能修改。
2)完整性
①實(shí)體完整性
手機(jī)號(hào)、航空班次號(hào)、飛機(jī)編號(hào)、用戶銀行卡號(hào)、身份證號(hào)、機(jī)票編碼號(hào)分別為不同用戶、航空班次、飛機(jī)信息、銀行卡、身份證、機(jī)票的主碼。
②參照完整性
航空班次表中的飛機(jī)編號(hào)為飛機(jī)信息表的主碼、銀行卡號(hào)表中所有者號(hào)碼為用戶表的主碼、機(jī)票信息表中的飛機(jī)編號(hào)號(hào)與航空班次號(hào)分別為飛機(jī)信息表與航空班次表的主碼等。
③用戶定義完整性
用戶性別只能是男或女;用戶手機(jī)號(hào)碼、名字、銀行卡號(hào)、車機(jī)票價(jià)格、航空班次出發(fā)地、航空班次目的地、飛機(jī)時(shí)速等數(shù)據(jù)不為空;用戶類型只能是0與1:其中0表示客戶用戶、l表示管理員用戶。
2航空售票管理系統(tǒng)的系統(tǒng)設(shè)計(jì)
2.1界面及其功能設(shè)計(jì)
管理員菜單界面設(shè)計(jì):在當(dāng)前系統(tǒng)中,使用管理員權(quán)限的賬戶登錄后,出現(xiàn)管理員子系統(tǒng)主界面。在該界面中可設(shè)置航班的出發(fā)地點(diǎn)和出發(fā)時(shí)間的選擇控件,從而通過地點(diǎn)和時(shí)間發(fā)布詳細(xì)的航班信息,當(dāng)此操作完成后可設(shè)置航班編號(hào)用于規(guī)范化航空流程。在該管理員子系統(tǒng)界面可以通過具體的航班編號(hào)和用戶身份證編號(hào)對(duì)航班和乘客進(jìn)行詳細(xì)查詢,此外管理員也可以選取當(dāng)前界面中存在的班次進(jìn)行刪除操作。
用戶菜單界面設(shè)計(jì):在當(dāng)前系統(tǒng)中,使用用戶權(quán)限的賬戶登錄后,出現(xiàn)用戶子系統(tǒng)主界面。該用戶界面共分為四個(gè)模塊,分別為預(yù)購機(jī)票的地點(diǎn)查詢模塊、機(jī)票信息查詢模塊、已購機(jī)票記錄查詢模塊以及個(gè)人信息模塊。
預(yù)購機(jī)票的地點(diǎn)查詢模塊:通過用戶選擇出發(fā)地點(diǎn)、目的地以及時(shí)間來查詢可選航班班次列表,在查詢到欲購班次后可以通過購買按鈕對(duì)機(jī)票進(jìn)行購買,購買時(shí)需要填寫相應(yīng)的個(gè)人信息、銀行卡信息等。
機(jī)票信息查詢模塊:用戶可以通過航空班次號(hào)來查詢班次信息與購票,輸入班次號(hào)點(diǎn)擊查詢后,將顯示當(dāng)前班次信息并可選購票按鈕,進(jìn)行后續(xù)的購票操作。
已購機(jī)票記錄查詢模塊:用戶可以查詢到自己所有的購票記錄,可以通過查看詳細(xì)按鈕進(jìn)行查看,還可以通過退票按鈕進(jìn)行相應(yīng)的退票操作。
個(gè)人信息模塊:用戶可以在此模塊看到自己用戶名以及郵箱號(hào),也可在此界面內(nèi)實(shí)現(xiàn)增、刪、改常用乘車人信息,添加和刪除信用卡信息等操作。
2.2功能實(shí)現(xiàn)
整體功能是通過兩個(gè)Activity與四個(gè)Fragment來實(shí)現(xiàn),本系統(tǒng)大量使用Dialog來對(duì)詳細(xì)信息填寫進(jìn)行管理。其功能實(shí)現(xiàn)過程中使用到uI的類有14個(gè),其中三個(gè)抽象父類用于限制所有界面的業(yè)務(wù)處理與邏輯執(zhí)行順序,其余各個(gè)子類用于詳細(xì)界面以及功能的實(shí)現(xiàn)。
3系統(tǒng)測(cè)試
在Eclipse和SQL Server 2017的開發(fā)環(huán)境下運(yùn)行程序,根據(jù)
2.1中的功能設(shè)計(jì)描述進(jìn)行操作,可以分別實(shí)現(xiàn)乘客用戶和航空管理員的不同功能需求。管理員進(jìn)行登錄后,能成功實(shí)現(xiàn)查看航班班次的詳細(xì)信息、通過身份證號(hào)碼查詢乘客信息、通過班次號(hào)對(duì)班次進(jìn)行詳細(xì)查詢、發(fā)布與刪除航班班次及其相關(guān)信息的相關(guān)功能;乘客用戶進(jìn)行登錄后,能成功實(shí)現(xiàn)為當(dāng)前及其他乘客購買機(jī)票、查看當(dāng)前用戶的購票記錄、添加和刪除個(gè)人信用卡信息、添加、修改和刪除乘機(jī)人信息的功能。
4總結(jié)
該航空售票管理系統(tǒng)是基于Java語言并結(jié)合SQL語言進(jìn)行系統(tǒng)設(shè)計(jì)的,通過不同用戶(乘客用戶、管理員用戶)的需求分析以及安全性與完整性需求,設(shè)計(jì)了較為完備、智能、便捷的平臺(tái)系統(tǒng)。在數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)階段,從需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)等方面逐一人手,建立了一個(gè)小型的模擬航空系統(tǒng)數(shù)據(jù)庫及框架,從而給程序編排和運(yùn)行提供根基基礎(chǔ),對(duì)于整體功能的實(shí)現(xiàn),通過Java語句使用多個(gè)uI類,封裝各個(gè)界面的業(yè)務(wù)處理與邏輯執(zhí)行順序,并用Dialog來對(duì)詳細(xì)功能部分的手寫內(nèi)容進(jìn)行管理。該系統(tǒng)可以實(shí)現(xiàn)管理人員和乘客用戶的各個(gè)需求,同時(shí)規(guī)范化航空業(yè)務(wù)的各個(gè)流程。