基于Web的航空機(jī)票售票管理信息系統(tǒng)



基于Web的航空機(jī)票售票管理信息系統(tǒng)院 系計算機(jī)學(xué)院專 業(yè)班 級學(xué) 號姓 名指導(dǎo)教師負(fù)責(zé)教師沈陽2009年6月(論文)摘 要本文主要介紹了航空售票系統(tǒng)信息管理的設(shè)計和實(shí)現(xiàn)過程首先敘述了開發(fā)該系統(tǒng)的背景、目的及意義比較多的篇幅闡述了系統(tǒng)的需求分析、概要設(shè)計、詳細(xì)設(shè)計以及功能的實(shí)現(xiàn)本系統(tǒng)主要包括基本信息管理、業(yè)務(wù)處理、信息查詢基本信息管理包括售票員信息管理、乘客信息管理、航班信息管理、乘客保險信息管理、機(jī)票價格信息管理;業(yè)務(wù)處理包括機(jī)票銷售、退票處理和銷售結(jié)算,信息查詢主要包括客戶信息查詢、航班信息查詢、機(jī)票銷售查詢、退票信息查詢系統(tǒng)采用JSP和Java開發(fā);后臺數(shù)據(jù)庫采用MySQL面向?qū)ο罂梢暬幊淌潜鞠到y(tǒng)的最大特點(diǎn),清晰的人機(jī)交互界面可以更方便的實(shí)現(xiàn)航空售票管理功能經(jīng)測試系統(tǒng)性能良好,人機(jī)界面比較友好,操作簡便,有一定的使用價值關(guān)鍵詞:航空港信息管理;航班信息管理;售票管理;退票管理;保險信息管理;預(yù)訂票管理AbstractThe paper introduces the process of design and implementation on information management system which is concerning selling tickets in the airline company. First of all, this paper describes the background, purpose and significance of developing this system, and then explains system requirement analysis, outline design, detailed design and program achievement. This system includes the basic information management, transaction management and information query. Basic information management includes the conductors information management, passengers information management, flights information management, passenger insurance information management and ticket price information management; transaction management includes selling airplane tickets, refunding airplane tickets and balancing sale; information query includes customer information query, flight information query, sold ticket information query, refunded ticket information query. JSP, Java and MySQL DataBase were adopted in the process of developt this system. Object-oriented visual programming is the special feature of this system, and implicit interface between machine and men could be more convenient for conductors when using. System tests show that the system has better performance, friendly interface, convenient operation, so it is to use at a certain extent.Key words: management of airport information , management of flight information; management of sale tickets; management of return tickets; management of insurance information; management of book tickets.目 錄1 緒論 11.1 題目背景 11.2 題目內(nèi)容 21.3 系統(tǒng)設(shè)計目標(biāo) 31.4 經(jīng)濟(jì)技術(shù)分析 31.5 本文結(jié)構(gòu) 42 需求分析 52.1 角色及其職能 52.2 數(shù)據(jù)流圖 52.3 概念結(jié)構(gòu)設(shè)計 62.3.1 實(shí)體-聯(lián)系(E-R)圖 62.3.2 各實(shí)體詳細(xì)E-R圖 72.4 設(shè)計工具環(huán)境 82.4.1 Java語言 82.4.2 Eclipse開發(fā)平臺 92.4.3 MySQL 92.4.4 JSP 93 概要設(shè)計 123.1 總體結(jié)構(gòu)設(shè)計 123.2 數(shù)據(jù)庫邏輯設(shè)計 133.2.1 人員信息 133.2.2 機(jī)票信息 144 詳細(xì)設(shè)計 194.1 系統(tǒng)部分時序圖 194.2系統(tǒng)的流程設(shè)計 204.3系統(tǒng)功能的詳細(xì)實(shí)現(xiàn) 224.4詳細(xì)設(shè)計中關(guān)鍵技術(shù)的實(shí)現(xiàn) 254.4.1數(shù)據(jù)庫的連接 264.4.2驗(yàn)證碼的實(shí)現(xiàn) 265 系統(tǒng)測試與調(diào)試 285.1軟件測試常識 285.2系統(tǒng)功能測試計劃 285.3系統(tǒng)功能模塊測試 295.3.1管理人員模塊的測試 295.1.2乘客模塊測試 295.1.3售票員模塊測試 295.4調(diào)試中的問題 29結(jié)論 31參考文獻(xiàn) 32致 謝 33331 緒論1.1 題目背景在當(dāng)今社會, 隨著經(jīng)濟(jì)的不斷發(fā)展, 必然帶動交通業(yè)和旅游業(yè)務(wù)的不斷擴(kuò)大, 特別是航空售票和訂票的信息管理日異復(fù)雜, 傳統(tǒng)的手工登記和集中管理已經(jīng)難以滿足快節(jié)奏、高效率的現(xiàn)代生活需求。
這就需要在計算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫和先進(jìn)的開發(fā)平臺上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的機(jī)票預(yù)定系統(tǒng),實(shí)現(xiàn)航空公司的訂票售票的自動化的計算機(jī)系統(tǒng)航空售票管理系統(tǒng)是指應(yīng)用計算機(jī)和網(wǎng)絡(luò)通信設(shè)備以及應(yīng)用軟件進(jìn)行電子售票的信息管理系統(tǒng),它可以進(jìn)行信息收集、存儲、處理、提取和數(shù)據(jù)通信,能滿足用戶對信息的使用需求的計算機(jī)應(yīng)用軟件系統(tǒng)現(xiàn)在社會對數(shù)據(jù)庫系統(tǒng)的認(rèn)識不夠,絕大部分基層人員還只認(rèn)為信息化可以簡化工作程序,降低勞動強(qiáng)度,提高工作效率對航空信息化能帶來航空服務(wù)手段的重大變革,航空科技的發(fā)展等重大意義尚無認(rèn)識航空售票信息管理系統(tǒng)是航空公司的重要的管理工作之一售票管理是指管理者通過一定的管理手段,使乘客(用戶)能更加了解自己在買票時涉及到的相關(guān)費(fèi)用航空售票管理信息系統(tǒng)包括航空港信息、乘客保險信息、售票以及退票等業(yè)務(wù)的管理以及相關(guān)的統(tǒng)計圖形顯示,其中不同權(quán)限的人可以進(jìn)行不同的操作,管理員對該系統(tǒng)進(jìn)行綜合的管理目前,計算機(jī)技術(shù)和產(chǎn)品的發(fā)展日新月異,將會給信息處理帶來更多的手段,同時也會帶來更加豐富的信息表達(dá)形式隨著經(jīng)濟(jì)的不斷發(fā)展,航空售票和訂票的信息管理日異復(fù)雜。
過去傳統(tǒng)的售票已經(jīng)不能滿足現(xiàn)代航空業(yè)務(wù)流量劇增的客觀要求,所以急需開發(fā)“航空售票管理系統(tǒng)”下面介紹開發(fā)本軟件的重要意義1)航空售票管理系統(tǒng),應(yīng)用于所有航空售票處的客戶資料和送票情況管理,能對客戶累計購票情況進(jìn)行統(tǒng)計分析,具有自動編號、快速查詢、客戶購票統(tǒng)計、售票管理、密碼設(shè)置等功能,能根據(jù)任意身份證號快速定位到某一客戶,并錄入購票明細(xì)情況能打印各種客戶資料報表,具有較強(qiáng)的可擴(kuò)充性經(jīng)過運(yùn)行使用后,效果良好通過使用該軟件,有利于提高工作效率,加強(qiáng)與客戶之間的溝通和了解,增強(qiáng)客戶的信任感,從而達(dá)到提高機(jī)票銷售的效率2)數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計算機(jī)科學(xué)的重要分支今天,信息資源已成為各個部門的重要財富,建立一個滿足航空售票信息處理要求的行之有效的信息系統(tǒng)也成為一個航空公司發(fā)展的重要條件航空售票管理系統(tǒng),它是航空部門機(jī)票管理系統(tǒng)的一部分,其作用是對所有待售機(jī)票和已售機(jī)票進(jìn)行有效的管理通過本系統(tǒng)不僅可以進(jìn)行售票工作,而且還可以對旅客情況和航班情況進(jìn)行查詢,并可隨時進(jìn)行增加,修改,刪除等操作,使管理人員能夠有效地對機(jī)票進(jìn)行有效的管理因此,通過航空售票管理系統(tǒng),使航空售票管理工作系統(tǒng)化,規(guī)范化,自動化,從而大大提高了售票管理工作的效率。
3)民航售票系統(tǒng)實(shí)施的目的是要帶給旅客快捷方便的服務(wù),其開發(fā)過程中不僅要考慮到人力,資金和時間的約束,也要為旅客們提供更便捷的服務(wù)在設(shè)計中,重點(diǎn)是售票系統(tǒng)中的方便快捷,能提供給旅客以優(yōu)質(zhì)高效的服務(wù),并提高銷售的效率和便捷,為航空公司帶來良好的效益為企業(yè)的決策層提供準(zhǔn)確、精細(xì)、迅速的機(jī)票銷售信息1.2 題目內(nèi)容隨著信息技術(shù)的發(fā)展,航空售票業(yè)也成為一個高度依賴信息業(yè)的行業(yè)信息技術(shù)的飛速發(fā)展不僅使航空售票工作者逐漸擺脫了繁重的手工勞動、提高了工作效率,而且推著航空事業(yè)向現(xiàn)代化管理邁進(jìn)現(xiàn)代化的航空售票也應(yīng)該有現(xiàn)代化的管理系統(tǒng)在科技日益發(fā)達(dá)的今天,人們對旅游出行更加重視因此,航空售票進(jìn)行現(xiàn)代化管理就變的尤為重要畢業(yè)設(shè)計的主要任務(wù)就是設(shè)計實(shí)現(xiàn)一個航空售票信息管理系統(tǒng),完成對航空公司的正常售票等業(yè)務(wù)的管理具體任務(wù)如下:(1)主要航空港基本信息管理;(2)主要民航航線基本信息管理;(3)售票信息管理;(4)預(yù)定票信息管理;(5)退票信息管理;(6)飛機(jī)票價格(包括打折)管理;(7)乘客保險信息管理;(8)上述信息的統(tǒng)計及圖形顯示1.3 系統(tǒng)設(shè)計目標(biāo)此次畢業(yè)設(shè)計的主要任務(wù)就是設(shè)計實(shí)現(xiàn)一個航空售票信息管理系統(tǒng),其中包括管理員對基本信息的管理,系統(tǒng)可實(shí)現(xiàn)對所有信息的添加、刪除、修改功能,售票員可以根據(jù)乘客的要求進(jìn)行售票和退票,乘客可以通過網(wǎng)上預(yù)訂自己所要的票,并且可以查詢自己預(yù)訂票信息以及個人保險信息,管理員具有最高權(quán)限,可以對所有信息進(jìn)行增刪改查,售票員除了具有售票和退票權(quán)限外還具有查看所有信息權(quán)限。
通過設(shè)計這個系統(tǒng)可以極大地提高售票效率和方便性,也可以極大地減少成本,不僅節(jié)省了大量的人力、物力、財力,也為歷史數(shù)據(jù)的查詢及使用提供了便捷為航空公司更好的、更有效的正常售票提供了方便條件1.4 經(jīng)濟(jì)技術(shù)分析(1)經(jīng)濟(jì)可行性航空售票信息管理系統(tǒng)是整個航空管理系統(tǒng)中的一個子系統(tǒng),是根據(jù)各部分管理的功能開發(fā)的從任務(wù)量上來說最好由多人開發(fā),雖然不需要投入太多的人力、物力、財力,但是這樣可以保障功能的完善,質(zhì)量的提高如果航空公司沒有一個規(guī)范嚴(yán)謹(jǐn)?shù)氖燮毙畔⒐芾硐到y(tǒng),那么在面對眾多乘客訂票管理方面所需要消耗的人力是巨大的僅乘客保險信息一項(xiàng),就需要對乘客身份證號、保險類型、保險費(fèi)、保險金額等許多數(shù)據(jù)進(jìn)行枯燥的管理,很容易出錯尤其在類似于沈陽這樣的人員眾多的城市,數(shù)據(jù)量大的特點(diǎn)更是十分明顯工作量大、效率低下是航空售票信息管理長期以來的詬病而通過計算機(jī)管理航空售票不僅節(jié)約了人力資源,而且提高了效率與準(zhǔn)確性,使效益在質(zhì)量上有了很大的飛躍所以,從經(jīng)濟(jì)角度上來說是完全可行的2)技術(shù)可行性此系統(tǒng)應(yīng)用JSP技術(shù)作為開發(fā)工具Java語言具有面向?qū)ο?、與平臺無關(guān)、安全、穩(wěn)定和多線程等優(yōu)良特性,是目前軟件設(shè)計中極為健壯的編程語言。
JSP技術(shù)還擁有很多的優(yōu)勢,一次編寫到處運(yùn)行,系統(tǒng)的多平臺支持,多樣化和功能強(qiáng)大的開發(fā)工具支持,強(qiáng)大的可伸縮性系統(tǒng)后臺數(shù)據(jù)庫采用MySQL所以,從技術(shù)角度上來說是完全可行的1.5 本文結(jié)構(gòu)此論文共分為緒論、需求分析、概要設(shè)計、詳細(xì)設(shè)計和系統(tǒng)測試幾個章節(jié)在需求分析與概要設(shè)計章節(jié)中共分為用戶需求分析、角色及其功能、數(shù)據(jù)流圖、E-R圖、模塊圖和設(shè)計環(huán)境及工具的介紹等幾部分本論文的重點(diǎn)之一將以用戶的需求分析為主,從用戶的角度出發(fā)使系統(tǒng)的功能與用戶的要求達(dá)成一致這需要全面地理解用戶的各項(xiàng)要求,準(zhǔn)確地表達(dá)用戶需求,設(shè)計出系統(tǒng)的各項(xiàng)功能以解決“做什么”的問題同時通過時序圖、ER圖、模塊圖等,更為詳細(xì)的說明此系統(tǒng)的功能和此系統(tǒng)的設(shè)計思路在本章節(jié)的最后還將說明本系統(tǒng)所使用的工具和設(shè)計環(huán)境,并簡略的敘述其相關(guān)情況在詳細(xì)設(shè)計章節(jié)中共分為數(shù)據(jù)庫結(jié)構(gòu)設(shè)計、程序流程圖等幾部分本章節(jié)是此論文的另一重點(diǎn),在此章節(jié)中將詳細(xì)的對本系統(tǒng)進(jìn)行介紹數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計是本次畢設(shè)的一個重要環(huán)節(jié),設(shè)計出正確的數(shù)據(jù)庫結(jié)構(gòu)有助于準(zhǔn)確的敘述出各個實(shí)體之間的關(guān)系,進(jìn)而實(shí)現(xiàn)系統(tǒng)的各項(xiàng)功能在本章還將通過程序流程圖給出設(shè)計程序的基本思路,同時設(shè)計出準(zhǔn)確、高效的程序代碼。
在系統(tǒng)測試章節(jié)中共分為測試環(huán)境、測試結(jié)果、測試工具和測試界面等幾部分在此章節(jié)將對此系統(tǒng)的具體功能、運(yùn)行情況等進(jìn)行測試通過此章節(jié)完成對系統(tǒng)的最后檢測找出不足并加以完善2 需求分析2.1 角色及其職能本系統(tǒng)的角色是乘客、售票員和管理員售票員除了具有售票和退票的操作權(quán)限外還有查詢所有信息的權(quán)限,管理人員具有對任何信息進(jìn)行增加,刪除、修改和查詢的操作,可以查詢統(tǒng)計信息乘客可以通過登錄后查詢和修改與自己有關(guān)的信息2.2 數(shù)據(jù)流圖經(jīng)過初步的需求分析,得到系統(tǒng)的主要功能要求如下:(1) 乘客查詢自己的保險信息和訂票信息;售票員售票和退票以及查詢相關(guān)信息;管理人員可以對各項(xiàng)信息進(jìn)行增加、刪除、修改、查詢操作根據(jù)分析得到的系統(tǒng)功能要求,設(shè)計出航空售票信息管理系統(tǒng)的數(shù)據(jù)流圖,如圖2.1所示航空售票信息管理系統(tǒng)管理員旅客管理員旅客保險信息、售票信息、退票信息、價格信息、預(yù)訂票信息、航空港信息、航班信息、客機(jī)信息、機(jī)票信息查詢與管理查詢結(jié)果結(jié)果 圖2.1航空售票管理信息系統(tǒng)的數(shù)據(jù)流圖2.3 概念結(jié)構(gòu)設(shè)計2.3.1 實(shí)體-聯(lián)系(E-R)圖概念模型的表示方法很多,其中最為著名最為常用的是實(shí)體-聯(lián)系方法(E-R圖)。
實(shí)體-關(guān)系圖方法是抽象和描述現(xiàn)實(shí)世界的有力工具用 E-R圖表示的概念模型獨(dú)立于具體的DBMS所支持的數(shù)據(jù)模型,它是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實(shí)世界系統(tǒng)E-R圖如圖2.2所示 圖2.2系統(tǒng)的E-R圖2.3.2 各實(shí)體詳細(xì)E-R圖航 班航班號發(fā)出城市起飛時間到達(dá)城市始發(fā)日期座位總數(shù)客機(jī)編號剩余座位飛行距離圖2.3航班的E-R圖 機(jī)票編號始發(fā)城市終到城市始發(fā)時間航班編號倉位類型機(jī)票價格座位編號機(jī)票 圖2.4機(jī)票的E-R圖身份證號乘客姓名乘客性別聯(lián)系電話乘客類型具體住址航班編號飛機(jī)編號乘客飛機(jī)類型座位數(shù)量所屬機(jī)場飛機(jī) 圖2.5乘客和飛機(jī)的E-R圖機(jī)場編號客機(jī)數(shù)量機(jī)場類型機(jī)場位置機(jī)場性質(zhì)備注公司名稱公司編號機(jī)場信譽(yù)度所在城市備注航空公司 圖2.6機(jī)場和航空公司的E-R圖實(shí)體的屬性如下所示:機(jī)票(編號(KEY)、始發(fā)城市、終到城市、倉位類型、始發(fā)日期、始發(fā)時間、航班編號、座位號、機(jī)票價格);航班(編號(KEY)、始發(fā)城市、終到城市、始發(fā)日期、始發(fā)時間、客機(jī)編號、頭等艙價格、公務(wù)艙價格、經(jīng)濟(jì)艙價格、剩余座位、座位總數(shù)、飛行距離);乘客(乘客ID(KEY)、姓名、性別、聯(lián)系方式、聯(lián)系地址、乘客類型);飛機(jī)(編號(KEY)、客機(jī)類型、所屬航班、頭等艙座位數(shù)、經(jīng)濟(jì)艙座位數(shù)、公務(wù)艙座位數(shù)、所屬機(jī)場);訂票(機(jī)票編號(KEY)、乘客姓名、乘客類型、折扣比例、乘客ID、倉位類型、航班編號、始發(fā)城市、終到城市、始發(fā)日期、機(jī)票價格、保險類型);航空公司(公司編號(KEY)、公司名稱、信譽(yù)度、所在城市、備注);機(jī)場(編號(KEY)、名稱、客機(jī)數(shù)量、機(jī)場位置、機(jī)場性質(zhì));退票(機(jī)票編號、乘客ID、姓名、機(jī)票類型、機(jī)票日期、應(yīng)退金額);機(jī)票價格(編號(KEY)、客運(yùn)季節(jié)、普通乘客折扣、會員折扣比例)。
2.4 設(shè)計工具環(huán)境2.4.1 Java語言 Java語言是1995年由Sun公司開發(fā)的編程語言,它的出現(xiàn)是源于對獨(dú)立平臺語言的需要Java語言是目前使用最為廣泛的編程語言之一,它具有簡單、面向?qū)ο?、穩(wěn)定、與平臺無關(guān)、多線程、動態(tài)等特點(diǎn)2.4.2 Eclipse開發(fā)平臺Eclipse 是基于Java的、開放源代碼的可擴(kuò)展開發(fā)平臺,它最初由IBM公司投入巨資開發(fā),后來被捐贈給國際開放源代碼團(tuán)體就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境幸運(yùn)的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括了Java開發(fā)工具(Java development Tools,JDT)雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作Java IDE 來用,但Eclipse的目標(biāo)不僅限于此Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴(kuò)展Eclipse的軟件開發(fā)人員,因?yàn)樗试S開發(fā)人員構(gòu)建與Eclipse環(huán)境無縫集成工具Eclipse可以集成不同的軟件工具開發(fā)供應(yīng)商的產(chǎn)品,任何開發(fā)工具廠商都可以將他們的開發(fā)工具或組件加入到Eclipse 平臺,用戶可以通過相同的接口使用不同的工具。
也就是說,可以在同一集成環(huán)境中同時使用不同開發(fā)商開發(fā)的軟件工具由于Eclipse具有這種整和不同工具的特性,開發(fā)者可以綜合性能調(diào)節(jié)、監(jiān)測、調(diào)試等處理,從而可以在較短的時間內(nèi)開發(fā)出更高性能和質(zhì)量的應(yīng)用軟件因此,Eclipse 平臺不僅得到了許多開發(fā)者和新興的中小企業(yè)軟件公司的支持而且得到IBM、Sun、Oracle等大型軟件公司的支持2.4.3 MySQLMySQL是一個精巧的SQL 數(shù)據(jù)庫管理系統(tǒng),以操作簡便著稱由于其強(qiáng)大的功能、豐富的應(yīng)用編程接口以及精巧的系統(tǒng)結(jié)構(gòu)設(shè)計,在基于數(shù)據(jù)庫的應(yīng)用軟件開發(fā)中得到了廣泛的應(yīng)用MySQL 是客戶機(jī)/服務(wù)器模式的分布式系統(tǒng),由SQL服務(wù)器、客戶端、管理工具和應(yīng)用編程接口等組成它平臺無關(guān)性的優(yōu)點(diǎn)使其能在多個操作系統(tǒng)上運(yùn)行此外,MySQL 還是多線程的,不僅具有運(yùn)行速度快,可處理大批量數(shù)據(jù)等特點(diǎn),還支持多CPU使用2.4.4 JSP系統(tǒng)用JSP技術(shù)作為開發(fā)工具JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。
用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。
1. JSP技術(shù)的優(yōu)勢 (1)JSP的效率和安全性更高JSP在執(zhí)行之前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋的效率高;服務(wù)器還有字節(jié)碼的Cacher(緩存)機(jī)制,能提高字節(jié)碼的訪問效率第一次調(diào)用JSP網(wǎng)頁速度可能稍慢,因?yàn)樗痪幾g成緩存內(nèi)容,以后就快的多了 (2)JSP組件方式更方便絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使用這些組件為更多的使用者或者客戶所使用基于組件的方法加速了總體開發(fā)過程,并且使用各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡 (3)JSP適應(yīng)平臺更廣幾乎所有平臺都支持Java,JSP+Javabean可以在所有平臺下暢通無阻從一個平臺移植到另一個平臺,JSP和Javabean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺無關(guān)的4)簡單標(biāo)識簡化頁面開發(fā)Web頁面開發(fā)人員不一定都是熟悉腳本語言的編程人員JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實(shí)例化Javabean組件,設(shè)置或者檢索組件屬性,下載Applet以及執(zhí)行使用其他方法更難于編碼和耗時的功能。
3 概要設(shè)計3.1 總體結(jié)構(gòu)設(shè)計航空售票管理信息系統(tǒng)共分為航空港基本信息管理、民航航線基本信息管理、售票信息管理、預(yù)定票信息管理、退票信息管理、飛機(jī)票價格(包括打折)管理、乘客保險信息管理和統(tǒng)計信息及圖形顯示幾個模塊其中管理員有添加、刪除、修改權(quán)限具體功能模塊如圖3.1所示 圖3.1總體模塊圖3.2 數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫是系統(tǒng)的后臺部分,用來存儲信息以供前臺調(diào)用和輸出數(shù)據(jù)庫設(shè)計的是否合理將直接影響到系統(tǒng)的穩(wěn)定性、安全性及可維護(hù)性,同時也會影響到后期的編碼在進(jìn)行了需求分析和概要設(shè)計后,接下來將詳細(xì)介紹系統(tǒng)中各部分信息的存儲結(jié)構(gòu)3.2.1 人員信息人員信息包括乘客信息表、售票人員信息表、管理員信息表;具體表格如表3.1,表3.2,表3.3所示表 3.1管理人員信息表屬性名數(shù)據(jù)類型長度允許空字段描述Manager_IdVarchar10×管理員編號NameVarchar15√姓名PasswordVarchar10×密碼*注:管理人員信息表主要存儲系統(tǒng)管理人的相關(guān)信息,用于管理員登錄系統(tǒng)時驗(yàn)證身份,登錄系統(tǒng)后,可以修改數(shù)據(jù)庫的任何信息主鍵:Manager_Id 表 3.2售票員信息表屬性名數(shù)據(jù)類型長度允許空字段描述Salemen_idVarchar10×售票員號PasswordVarchar10×密碼Salemen_nameVarchar15√姓名*注:售票員信息表主要存儲航空公司所有售票員的相關(guān)信息,用于系統(tǒng)管理員登錄系統(tǒng)時驗(yàn)證身份,登錄系統(tǒng)后,可以進(jìn)行售票和退票以及查詢操作。
主鍵:Salemen _id表 3.3 乘客信息表屬性名數(shù)據(jù)類型長度允許空字段描述Cust_IdVarchar10×乘客編號CustomerIDVarchar18√身份證號Cust_nameVarchar15√姓名sexVarchar2√性別Cust_typeVarchar12√乘客類型 Cust_telVarchar15√聯(lián)系方式PasswordVarchar10√密碼*注:乘客信息表主要是對乘客信息的存儲,添加乘客信息存入該表,乘客用戶登錄時驗(yàn)證輸入信息是否正確,刪除和修改乘客信息時即刪除和修改該表中對應(yīng)的相關(guān)信息主鍵:Cust_id 3.2.2 機(jī)票信息機(jī)票信息包括訂票信息表、乘客保險信息表、機(jī)票信息表、航班信息表、客機(jī)信息表、航空港信息表、保險信息表和機(jī)票價格信息表,這些機(jī)票信息表用來存放與機(jī)票相關(guān)的所用操作信息如表3.4,表3.5,表3.6,表3.7,表3.8,表3.9,表3.10,表3.11所示 表3.4客機(jī)信息表屬性名數(shù)據(jù)類型長度允許空字段描述planeNoVarchar10×客機(jī)編號airlineNoVarchar15×航班項(xiàng)目planeTypeVarchar8√客機(jī)類型commonNumInteger8√經(jīng)濟(jì)艙座位數(shù)commercialNumInteger8√公務(wù)艙座位數(shù)firstNumInteger8√頭等艙座位數(shù) suoshuflyVarchar15√所屬航空港 descriptionVarchar30√備注*注:客機(jī)信息表中存儲了每架客機(jī)的詳細(xì)信息,登錄系統(tǒng)后可以查詢該表中的相關(guān)信息。
為管理人員統(tǒng)計客機(jī)數(shù)據(jù)提供信息主鍵:planeNo表3.5訂票信息表屬性名數(shù)據(jù)類型長度允許空字段描述ticketNoVarchar10×機(jī)票編號customerNameVarchar10√乘客姓名customerTypeVarchar15√乘客類型discountInteger8√折扣比例airlineNoVarchar10×航班編號departCityVarchar10√始發(fā)城市arrivalCityVarchar10√到達(dá)城市ticketDateDate10√機(jī)票日期serviceTypeVarchar15√倉位類型ticketPriceInteger8√機(jī)票價格safetypeVarchar10√保險類型*注:訂票信息表中記錄了乘客訂票的信息,每有一位乘客訂票,就在該表中插入一條信息,為管理員統(tǒng)計數(shù)據(jù)提供信息主鍵:ticketNo 表 3.6航空港信息表屬性名數(shù)據(jù)類型長度允許空字段描述hangkong_idVarchar10×航空港編號hangkong_nameVarchar15√航空港名稱planenumInteger8√飛機(jī)數(shù)量positionVarchar12√具體位置applicationVarchar12√航空港性質(zhì) xinyuduVarchar10√信譽(yù)度 descriptionVarchar30√備注*注:航空港信息表中記錄了沈陽各個航空港的基本信息,每一個新增加的航空港信息都會添加到這里,為管理員查詢信息提供信息,管理員可以對表進(jìn)行添加、刪除、修改和查詢等操作。
主鍵:hangkong_id表3.7航班信息表屬性名數(shù)據(jù)類型長度允許空字段描述airlineNoVarchar10×航班編號departCityVarchar10√始發(fā)城市arrivalCityVarchar15√到達(dá)城市departDateDate15√始發(fā)日期dapartTimeVarchar12√始發(fā)時間 arrivalTimeVarchar15√到達(dá)時間 planeNoVarchar10×客機(jī)編號 commonPriceInteger4√經(jīng)濟(jì)艙價格 commercialPriceInteger4√公務(wù)艙價格 firstPriceInteger4√頭等艙價格distanceInteger8√飛行距離ticketnumInteger4√已訂票數(shù)量 maxpassagernumInteger 4√最大乘客人數(shù)*注:航班信息表中存儲了所有航班的相關(guān)信息,管理員可以對該表的信息進(jìn)行增刪改查等操作,其他人員只有查詢權(quán)限主鍵:airlineNo 表3.8 乘客保險信息表屬性名數(shù)據(jù)類型長度允許空字段描述safeidVarchar10×保險編號customerIDVarchar18×乘客身份證號customerNameVarchar10√乘客姓名safemoneyInteger4√保險費(fèi)safetimeVarchar10√保險期限safepeiInteger8√保險金額safetypeVarchar15√保險類型*注:乘客保險信息表中存儲了乘客買航空保險的信息,乘客在訂票的同時如果選擇了買保險會把此信息插入進(jìn)來。
乘客可以通過身份證號查詢自己的保險信息主鍵:safeid 表3.9飛機(jī)票價格信息表屬性名數(shù)據(jù)類型長度允許空字段描述Price_idVarchar10×編號seasontypeVarchar 10√客運(yùn)季節(jié)vipdiscountInteger4√VIP折扣commondiscountInteger4√普通乘客折扣descriptionVarchar30√備注*注:該表中存儲各個客運(yùn)季節(jié)不同類型的乘客將享受不同的折扣優(yōu)惠信息,由管理員對該表進(jìn)行添加,修改和刪除,售票人員和乘客可以對飛機(jī)票價格信息進(jìn)行相關(guān)查詢主鍵:Price_id 表3.10 機(jī)票信息表屬性名數(shù)據(jù)類型長度允許空字段描述ticketNoVarchar10×航班編號departCityVarchar10√始發(fā)城市arrivalCityVarchar10√到達(dá)城市departDateDate10√始發(fā)日期departTimeVarchar10√始發(fā)時間 airlineNoVarchar10×航班編號 serviceTypeVarchar10√倉位類型 siteNoInteger8√座位號 ticketPriceInteger8√機(jī)票價格 ticketNumInteger8√機(jī)票數(shù)量 descriptionVarchar30√備注*注:該表中存儲了所有機(jī)票的詳細(xì)信息,由管理員對該表進(jìn)行添加,修改和刪除,乘客和售票員可以對該信息進(jìn)行相關(guān)查詢。
主鍵:ticketNo表3.11 保險信息表屬性名數(shù)據(jù)類型長度允許空字段描述safeidVarchar10×編號safetypeVarchar15√保險類型safemoneyInteger8√保險費(fèi)safetimeVarchar15√保險期限safepeiInteger 8√保險金額 descriptionVarchar30√備注*注:該表中存儲航空公司為乘客指定的保險詳細(xì)信息,由管理人員對該表進(jìn)行添加,修改和刪除,售票員和乘客可以對保險信息進(jìn)行相關(guān)查詢主鍵:safeid4 詳細(xì)設(shè)計 4.1 系統(tǒng)部分時序圖時序圖是通過表示隨著時間的推移所發(fā)送的消息序列,來體現(xiàn)對象之間的動態(tài)協(xié)作關(guān)系,它主要是為了表示對象之間的交互過程,即對象之間發(fā)送消息的順序,以及引起的一系列事件圖4.1登錄人員登錄系統(tǒng)時序圖圖4.1為登錄人員登錄系統(tǒng)主界面的時序圖,登錄人員先在系統(tǒng)的登錄界面輸入登陸信息,系統(tǒng)對登錄信息進(jìn)行判斷,信息不正確則返回錯誤提示,信息正確便可進(jìn)入操作者所屬權(quán)限下要執(zhí)行的操作該系統(tǒng)設(shè)定了三種登錄人員,即售票員、管理員和乘客,并為他們設(shè)定了各自的訪問權(quán)限1:選擇菜單7:顯示改后信息6:保存新信息息5:填寫修改信息4:顯示界面3:選擇2:列出菜單管理人員newticketsmainmenu1menuumenutickets圖4.2管理人員對信息進(jìn)行操作的時序圖圖4.2為登錄人員登錄系統(tǒng)后進(jìn)行各種操作的時序圖,登錄人員進(jìn)入操作界面先在操作界面選擇何種操作,更正后的信息會保存在數(shù)據(jù)庫里。
例如,選擇的是修改信息就會將更新后的信息顯示在頁面上4.2系統(tǒng)的流程設(shè)計系統(tǒng)的流程設(shè)計對系統(tǒng)的編碼起著至關(guān)重要的地位,根據(jù)系統(tǒng)的功能要求,做出幾個重要的功能的流程圖1)用戶登錄模塊為了安全性,進(jìn)入本系統(tǒng)需要(包括“管理員“和“售票員”)身份驗(yàn)證,只有用戶通過帳號與密碼一致性的驗(yàn)證,才能進(jìn)入系統(tǒng)登錄情況有三種:一是帳號與密碼一致,二是帳號不存在,三是密碼不正確,每一種情況系統(tǒng)都會有提示另外,用戶也可以選擇取消登錄當(dāng)輸入帳號時,系統(tǒng)會自動搜索數(shù)據(jù)庫(使用SELECT函數(shù))辨別此用戶是“管理員“還是“售票員”,并且顯示出來,倘若是管理員,那么在用戶管理模塊中可以修改用戶密碼以及增加新一般用戶,否則只能修改密碼設(shè)計出的登錄流程圖如圖4.3所示 結(jié)束圖4.3系統(tǒng)登錄流程圖(2)售票模塊該流程詳細(xì)描述售票員售票功能,當(dāng)用戶發(fā)出訂票請求后,系統(tǒng)搜索數(shù)據(jù)庫中相應(yīng)的機(jī)票信息,如果沒找到則該機(jī)票已經(jīng)售完如果找到相應(yīng)的機(jī)票信息,系統(tǒng)會將相關(guān)機(jī)票售予該用戶設(shè)計出的售票流程圖如圖4.4所示圖4.4售票流程圖4.3系統(tǒng)功能的詳細(xì)實(shí)現(xiàn)下面介紹系統(tǒng)的詳細(xì)功能設(shè)計1) 用戶登錄系統(tǒng)登錄界面如圖4.5所示。
在這里設(shè)置了一個圖片驗(yàn)證碼,可以更好的保護(hù)用戶的信息當(dāng)用戶輸入正確的用戶賬號和密碼以及驗(yàn)證碼時,系統(tǒng)會跳轉(zhuǎn)到另一個界面,也就是主窗口若用戶名密碼不正確,系統(tǒng)將給出提示:“您輸入的用戶名和密碼不正確,請您重新輸入”,然后繼續(xù)重新輸入圖4.5用戶登錄界面(2) 管理員主界面 用戶登錄后,根據(jù)登錄的帳號進(jìn)行判斷:若是admin(管理員),則可以對系統(tǒng)中的所有信息進(jìn)行增加、刪除、修改和查詢等操作,如圖4.6所示圖4.7所示的是管理員對航班信息的管理圖4.6主界面(管理員)(3) 售票員售票用戶登錄后,根據(jù)登錄的帳號進(jìn)行判斷:若是salemen(售票員),則可以進(jìn)行售票和退票以及查詢機(jī)票信息等操作,圖4.8所示售票員根據(jù)乘客請求輸入機(jī)票的查詢條件,從數(shù)據(jù)庫中找到相應(yīng)的機(jī)票,當(dāng)售票員點(diǎn)售票時,將彈出如圖4.9所示的界面,提示輸入乘客的個人信息以及一些訂票相關(guān)選項(xiàng),乘客信息輸入完成點(diǎn)提交信息時,會顯示售票成功 圖4.7查詢航班(管理員) 圖4.8 查詢機(jī)票(售票員)(4) 售票員退票當(dāng)乘客需要退票時,首先提供給售票員自己機(jī)票的編號,售票員根據(jù)機(jī)票編號從數(shù)據(jù)庫查到關(guān)于此票的訂票信息如圖4.10所示,當(dāng)點(diǎn)退票時,數(shù)據(jù)庫中該票的信息會立刻更新,同時該類機(jī)票的數(shù)量也會加一,以便及時將此票售予下位乘客。
在退還票價時,要扣掉機(jī)票價格20%的手續(xù)費(fèi),如圖4.11所示5) 乘客預(yù)訂機(jī)票 乘客如需預(yù)定機(jī)票,可以直接通過互聯(lián)網(wǎng)在網(wǎng)上預(yù)訂機(jī)票,預(yù)定機(jī)票過程類似于售票過程,不同的是預(yù)定機(jī)票不需要在預(yù)定時付錢,一旦該票被預(yù)定了就不能被售出,如果乘客有什么特殊情況也可以上網(wǎng)取消預(yù)訂,乘客可以在網(wǎng)上注冊成為我公司的會員用戶,可以享受更超值的訂票優(yōu)惠 圖4.9 輸入乘客信息(售票員) 圖4.10退票界面(售票員) 圖4.11 退票金額(售票員)4.4詳細(xì)設(shè)計中關(guān)鍵技術(shù)的實(shí)現(xiàn)以下主要介紹主要功能的關(guān)鍵技術(shù)的實(shí)現(xiàn)過程4.4.1數(shù)據(jù)庫的連接數(shù)據(jù)庫連接的建立及關(guān)閉對系統(tǒng)而言是耗費(fèi)系統(tǒng)資源的操作在多層結(jié)構(gòu)應(yīng)用程序環(huán)境中,這種耗費(fèi)資源的動作對系統(tǒng)性能的影響很大在傳統(tǒng)的數(shù)據(jù)庫連接方式中,一個數(shù)據(jù)庫連接對象均對應(yīng)一個邏輯數(shù)據(jù)庫連接,每次操作都打開一個邏輯連接,使用完后再關(guān)閉連接,這樣的反復(fù)操作將造成系統(tǒng)性能的急劇下降數(shù)據(jù)庫連接池是應(yīng)用程序啟動時建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由程序動態(tài)地對池中的連接進(jìn)行申請、使用和釋放,當(dāng)連接的數(shù)量大于連接池中的連接數(shù)時,可以動態(tài)地根據(jù)情況增加或減少池中的連接數(shù)。
用JDBC(Java DataBase Connectivity)連接MySQL數(shù)據(jù)庫需要經(jīng)過下面幾個步驟:(1)(2)載入JDBC驅(qū)動: Class.forName("org.gjt.mm.mysql.Driver");(3) 建立與數(shù)據(jù)庫的連接:要建立與數(shù)據(jù)庫的連接,首先要創(chuàng)建指定數(shù)據(jù)庫的URL利用DriverManager的getConnection方法連接數(shù)據(jù)庫的URL對象,URL格式如下:Stringurl=(jdbc:mysql://localhost:3306/my database?user=root&password=esoft&useUnicode=true&characterEncoding=gb2312”); (4) 調(diào)用執(zhí)行HQL語句5) 結(jié)束連接4.4.2驗(yàn)證碼的實(shí)現(xiàn)為防止用戶利用機(jī)器自動登錄以及灌水,故而采用了驗(yàn)證碼技術(shù)所謂驗(yàn)證碼,就是將一串隨機(jī)產(chǎn)生的數(shù)字或符號生成一幅圖片,圖片里加一些干擾元素(防止OCR),由用戶肉眼識別其中的驗(yàn)證碼信息并輸入表單,再提交給網(wǎng)站驗(yàn)證,驗(yàn)證成功后才能使用某項(xiàng)功能驗(yàn)證碼的實(shí)現(xiàn)流程是:(1)服務(wù)器端隨機(jī)生成驗(yàn)證碼字符串,保存在內(nèi)存中,并寫入圖片發(fā)送給瀏覽器端顯示。
2)瀏覽器端輸入驗(yàn)證碼圖片上的字符,然后提交服務(wù)器端,提交的字符與服務(wù)器端保存的字符進(jìn)行比較,若一致就繼續(xù),若不一致就顯示錯誤,不能進(jìn)入操作的主界面攻擊者編寫的robot程序很難識別驗(yàn)證碼字符,所以不能順利完成登錄以及其它操作用戶可以識別填寫,這就實(shí)現(xiàn)了阻擋攻擊的作用就實(shí)際的效果來說,驗(yàn)證碼只是增加攻擊者的難度,而不可能完全的防止5 系統(tǒng)測試與調(diào)試當(dāng)程序完成時,對程序的測試必不可少,為使程序有效運(yùn)行,測試與調(diào)試是唯一的手段,測試的目的是為了發(fā)現(xiàn)盡可能多的缺陷這里的缺陷是一種泛稱,它可以指功能的錯誤,也可以指性能低下、易用性差等5.1軟件測試常識軟件測試過程按測試的先后次序可分為4個步驟進(jìn)行:單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試,最后進(jìn)行驗(yàn)收測試單元測試:分別完成每個單元的測試任務(wù),以確保每個模塊能正常工作單元測試大量的采用了白盒測試方法盡可能發(fā)現(xiàn)模塊內(nèi)部的程序差錯集成測試:把已測試過的模塊組裝起來,進(jìn)行集成測試其目的在于檢驗(yàn)與軟件設(shè)計相關(guān)的程序結(jié)構(gòu)問題這是較多的采用黑盒測試方法來設(shè)計測試用例確認(rèn)測試:完成集成測試以后,要對開發(fā)工作初期制定的確認(rèn)準(zhǔn)則進(jìn)行檢驗(yàn)確認(rèn)測試是檢驗(yàn)所開發(fā)的軟件能否滿足所有功能需求的最后手段,通常采用黑盒測試的方法。
系統(tǒng)測試:完成確認(rèn)測試以后,給出的應(yīng)該是合格的軟件產(chǎn)品,但為檢驗(yàn)它能否與系統(tǒng)的其它部分(如硬件、數(shù)據(jù)庫及操作人員)協(xié)調(diào)工作,需要進(jìn)行系統(tǒng)測試驗(yàn)收測試:檢驗(yàn)軟件產(chǎn)品質(zhì)量的最后一道工序是驗(yàn)收測試,它突出了客戶的作用,同時軟件開發(fā)人員也應(yīng)有一定程度的參與鑒于程序自身的特點(diǎn)做了單元測試和集成測試5.2系統(tǒng)功能測試計劃軟件測試并不單純等同于程序測試軟件測試應(yīng)該貫穿整個軟件定義與整個開發(fā)周期因此需求分析、概要設(shè)計、詳細(xì)設(shè)計以及程序編碼等各個階段所得到的文檔,包括需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序,都應(yīng)該是軟件測試的對象在對需求理解與表達(dá)的正確性、設(shè)計與表達(dá)的正確性、實(shí)現(xiàn)的正確性以及運(yùn)行的正確性的驗(yàn)證中,任何一個環(huán)節(jié)發(fā)生了問題都可能在軟件測試中表現(xiàn)出來在這部分中,為了確保每個階段功能的實(shí)現(xiàn),在系統(tǒng)完成后,每個分支都走了一遍,也有發(fā)現(xiàn)的問題,但經(jīng)過改正和查閱資料都解決了5.3系統(tǒng)功能模塊測試5.3.1管理人員模塊的測試管理員進(jìn)入系統(tǒng)主界面后,可以點(diǎn)擊添加信息,在彈出的下一個頁面中選擇要添加哪一類信息,在彈出的信息表中鍵入相應(yīng)的數(shù)據(jù),點(diǎn)擊確定按鈕,系統(tǒng)將對輸入信息進(jìn)行判定,判斷輸入是否為空及輸入信息類型是否符合要求,如果正確系統(tǒng)將返回操作成功提示界面,否則返回錯誤提示信息。
例如:輸入信息點(diǎn)擊確定按鈕返回操作成功提示后,查詢該表在數(shù)據(jù)庫中的信息,如果表中存在添加信息,就表明測試成功5.1.2乘客模塊測試乘客用戶進(jìn)入自己所有權(quán)限的操作界面后,點(diǎn)擊要查詢的項(xiàng)目,在彈出請輸入身份證號碼后就可以查詢到自己的相關(guān)信息若該項(xiàng)目沒有記錄則輸出為空 例如,要查詢自己預(yù)訂機(jī)票的情況,就要點(diǎn)擊個人預(yù)訂信息查詢輸入身份證號和密碼就顯示出自己所有預(yù)訂機(jī)票的相關(guān)信息,這樣就表明測試成功5.1.3售票員模塊測試售票員進(jìn)入該權(quán)限下的主界面后,根據(jù)乘客的訂票需求通過售票系統(tǒng)買票給乘客以及退票,還可以查詢各種與機(jī)票相關(guān)的信息,成功獲得信息證明測試正確5.4調(diào)試中的問題(1)在訪問系統(tǒng)時,發(fā)現(xiàn)不用登錄直接訪問程序中的Servlet或者某些jsp頁面也可以直接進(jìn)入主頁面,最后為了保證訪問的安全性,除了登錄頁面其他頁面全放在WEB-INF目錄下,并且在Servlet加判斷語句用戶是否登錄,如果沒登錄自動跳會登錄頁面2)在系統(tǒng)的用戶登錄模塊,開始時不能進(jìn)行信息的提示,如果不輸入用戶名、密碼或驗(yàn)證碼中的某一項(xiàng)只能是進(jìn)入錯誤的界面,后來加上了判斷的語句,就能及時提示用戶填寫否則不能進(jìn)入下一個界面3)在剛開始具體編寫程序時,經(jīng)常把整型和字符串相混淆,還有一些類似的錯誤。
后來經(jīng)過熟悉以后就變得越來越熟練4)在編寫代碼的初期,出現(xiàn)錯誤最多的地方就是用SQL語句實(shí)現(xiàn)添加、修改、查詢和刪除數(shù)據(jù)首先是SQL語句書寫錯誤,由于數(shù)據(jù)庫表中各列的數(shù)據(jù)類型不同,所以在書寫SQL語句時需要注意相關(guān)列的數(shù)據(jù)類型是否一致,其次是執(zhí)行這些語句時出現(xiàn)的錯誤,例如executeQuery()方法只能執(zhí)行查詢語句,其余的操作都需調(diào)用executeUpdate()方法來執(zhí)行,剛開始對這兩個方法不是很理解,總是調(diào)用錯誤導(dǎo)致功能無法實(shí)現(xiàn)5)在更新信息時,更改的信息如果是漢字就會出現(xiàn)亂碼,后來才發(fā)現(xiàn)沒有在程序中添加支持漢語的語句(Request.setCharacterEncoding( ))結(jié)論本畢業(yè)設(shè)計是開發(fā)一個航空售票系統(tǒng),實(shí)現(xiàn)查詢乘客需求的航班信息和當(dāng)前航班的售票訂票情況,實(shí)現(xiàn)訂票,對機(jī)票數(shù)據(jù)和乘客的信息進(jìn)行管理,實(shí)現(xiàn)更新航班信息和航空公司的信息,按乘客要求進(jìn)行退票處理,管理退票數(shù)據(jù),進(jìn)行數(shù)據(jù)的備份和恢復(fù)的功能通過對開發(fā)工具的學(xué)習(xí)和對一些算法的研究設(shè)計,培養(yǎng)了自學(xué)能力和獨(dú)立分析、解決問題的能力總之,在畢業(yè)設(shè)計過程中收獲頗多,這里有知識的提高,經(jīng)驗(yàn)的積累,也有成功后的喜悅這些都會對未來的學(xué)業(yè)及事業(yè)之路有著非比尋常的意義。
在設(shè)計過程中,發(fā)現(xiàn)需要用到很多以前學(xué)過的知識,特別是軟件工程的方法,從需求分析、軟件設(shè)計、軟件實(shí)現(xiàn)到后期的測試,都做得一絲不茍,翻閱資料,進(jìn)行測試,不斷發(fā)現(xiàn)問題、分析問題、解決問題,從而對系統(tǒng)進(jìn)行完善與維護(hù)期間,自己遇到很多問題,不斷摸索,解決各種問題,逐漸了解并初步掌握了這些技術(shù),提高了自己的動手操作能力,加深了信息系統(tǒng)和數(shù)據(jù)庫編程的理解剛接到畢業(yè)設(shè)計題目的時候,感覺不知所措,因?yàn)閺臎]買過機(jī)票,對售票系統(tǒng)不太了解,最后通過上網(wǎng)查閱各種相關(guān)售票資料以及在指導(dǎo)老師的指導(dǎo)下,對題目有了一定的認(rèn)識在開發(fā)的過程中也遇到許多的問題從這些問題可以看出來,在開發(fā)軟件的過程中,對需要用到的技術(shù)要有充分的了解之后才能開始編寫,而不是僅僅因?yàn)槟軌驅(qū)崿F(xiàn)目前的功能就不加思索的開始編寫代碼本設(shè)計實(shí)現(xiàn)了系統(tǒng)的主要功能,而在退票管理和航班調(diào)度功能方面需要進(jìn)一步完善;在實(shí)際的售票中,由于各個售票點(diǎn)同時在售票,因此需要重視系統(tǒng)同步問題,這些不足都是要在以后的工作中逐步完善的參考文獻(xiàn)[1] 盧秉亮. Microsoft SQL Server2000數(shù)據(jù)庫服務(wù)器安全管理技術(shù)分析[J]. 計算機(jī)應(yīng)用研究,Vol 19 (增刊), P82-P84, 2002年12月[2] Oracle9i數(shù)據(jù)庫的安全性策略2005年8月,沈陽航空工業(yè)學(xué)院學(xué)報,第22卷,第4期[3] 申吉紅等.JSP 課程設(shè)計案例精編[M].北京:清華大學(xué)出版社,2007[4] 教務(wù)管理信息系統(tǒng)的開發(fā)2002年3月,沈陽航空工業(yè)學(xué)院學(xué)報,第19卷,第1期[5] 盧瀟主. 軟件工程[M]. 北京: 北京交通大學(xué)出版社, 2005[6] 教學(xué)計劃管理MIS的設(shè)計與實(shí)現(xiàn)2003年3月,沈陽航空工業(yè)學(xué)院學(xué)報,第20卷,第1期[7] 學(xué)生成績管理及學(xué)費(fèi)管理信息系統(tǒng)的軟件開發(fā)2003年5月,沈陽航空工業(yè)學(xué)院學(xué)報,第20卷,第2期[8] 史斌星, 史佳. Java基礎(chǔ)編程貫通教程[M]. 北京: 清華大學(xué)出版社,2007[9] 耿祥義. Java基礎(chǔ)教程[M]. 北京:清華大學(xué)出版社, 2006[10] 孫衛(wèi)琴. Java面向?qū)ο缶幊蘙M]. 北京:電子工業(yè)出版社, 2007[11] 希爾德. Java參考大全[M]. 北京: 清華大學(xué)出版社, 2006。
