基于.NET的航空訂票系統(tǒng)設計與開發(fā)
基于.NET的航空訂票系統(tǒng)設計與開發(fā),基于,NET,航空,訂票,系統(tǒng),設計,開發(fā)
編號
無錫太湖學院
畢業(yè)設計(論文)
題目: 基于.NET的航空訂票系統(tǒng)
設計與開發(fā)
信機 系 計算機科學與技術 專業(yè)
學 號: 0921131
學生姓名: 包培培
指導教師: 李朝鋒 (職稱:副教授 )
(職稱: )
2013年5月25日
III
無錫太湖學院本科畢業(yè)設計(論文)
誠 信 承 諾 書
本人鄭重聲明:所呈交的畢業(yè)設計(論文) 基于.NET的航空訂票系統(tǒng)設計與開發(fā) 是本人在導師的指導下獨立進行研究所取得的成果,其內容除了在畢業(yè)設計(論文)中特別加以標注引用,表示致謝的內容外,本畢業(yè)設計(論文)不包含任何其他個人、集體已發(fā)表或撰寫的成果作品。
班 級: 計科94
學 號: 0921131
作者姓名:
2013 年 5 月 25 日
無錫太湖學院
信 機 系 計算機科學與技術 專業(yè)
畢 業(yè) 設 計論 文 任 務 書
一、題目及專題:
1、題目 基于.NET的航空訂票系統(tǒng)設計與開發(fā)
2、專題
二、課題來源及選題依據
課題來源:導師指定
選題依據:計算機與互聯(lián)網技術的日益成熟為航空帶來了全新的售票方式:網絡航空訂票方式。網上訂票系統(tǒng)是一種新興的現代商務方式,顯示了巨大的現代商業(yè)價值,它將逐漸方便社會生活,也將成為數字化社會的一種重要體現。
通過航空訂票系統(tǒng)這個平臺,可以解決手工操作機票訂購高峰時刻的大量數據處理問題,使得機票訂購與日常管理工作得以改善,同時顧客可以享受到更便利更快捷的航空服務。此系統(tǒng)是一個高效率、低成本、高質量的系統(tǒng),節(jié)省了不少的人力、物力、財力。 三、本設計(論文或其他)應達到的要求:
技術要求:①技術的選擇:使用.NET和數據庫技術完成;
②數據庫的選擇:SQL Server 2000。
系統(tǒng)前臺功能要求:
①客戶能進行注冊、登錄、重置密碼及密碼修改的操作;
②能查詢航班信息,查詢后可進行訂票、退票等操作;
③若客戶有建議或是意見,能進行留言操作。
系統(tǒng)后臺功能要求:
①客戶管理,能查詢客戶的基本信息,能查詢和刪除留言信息;
②航班管理,能查詢及增刪改航班信息;
③訂單管理,能查詢及刪除航班信息;
④能更改管理員信息;能查詢及增刪改公告信息、旅游咨詢。
四、接受任務學生:
計科94 班 姓名 包培培
五、開始及完成日期:
自2012年11月12日 至2013年5月25日
六、設計(論文)指導(或顧問):
指導教師 簽名
簽名
簽名
教研室主任
〔學科組組長研究所所長〕 簽名
系主任 簽名
2012年11月12日
摘 要
隨著計算機科學技術的日益發(fā)展及信息化技術向各個領域的不斷深入,人們的學習生活已越來越趨向于信息化。為跟上時代的要求及人們生活的步伐,航空訂票業(yè)務也日益發(fā)展了起來。它的發(fā)展不僅給人們帶來了很大的便利性,還在很大程度上減輕了其管理人員的工作壓力。
在航空訂票系統(tǒng)的開發(fā)過程中遵循了軟件的生命周期:問題的定義、需求分析、軟件設計、程序編碼、軟件測試這五個階段。本系統(tǒng)前臺,新客戶可進行注冊;若老客戶忘記密碼,可在忘記密碼頁面重置密碼;老客戶登錄進入本系統(tǒng)后,可進行航班的查詢,機票的預定、取消訂單、支付、退票;可進行訂單的查詢及客戶密碼的修改;客戶在幫助中心可進行留言。本系統(tǒng)后臺,管理人員對客戶信息、留言可進行查詢;對航班可進行查增刪改操作;對客戶訂單可查詢及定期進行刪除;高級管理員可對所有管理員進行查詢及增刪改操作,普通管理員只能對自身信息進行操作。
本航空訂票系統(tǒng)是利用ASP.NET技術及C#編程語言來實現的,用數據庫SQL Server 2000來存儲信息,并采用基于XML的三層瀏覽器/服務器體系結構。
關鍵詞:ASP.NET;C#;SQL Server 2000;航空訂票系統(tǒng)
Abstract
With the increasing development of the computer science and information technology to every field in-depth, people's learning life has more and more tend to information. To keep pace with the times and the pace of people's life, airline reservation business is also growing up. Its development not only brings a lot of convenience to people, also reduces the pressure on its management staff.
In the development process in the airline reservation systems follows the software life cycle: problem definition, requirements analysis, software design, program coding, the five stages in software testing. This system foreground, new customers can register. If the old customers forget a password, the password can be found in the forgetting password page. After Old customers log in the system, they can carry out querying flights, booking tickets, canceling the order, paying and returning tickets. And customers can query orders and modify the customer password. The customer can leave messages in the center of the help message. This system background, managers can query customers’ information and messages being leaved by customers. The flight can be queried, be added, be deleted and be modified. Managers can query and delete customers’ orders. Senior managers can query and update all managers’ information; general managers can only to operate their own information.
The airline reservation system is using ASP.NET, C # programming language, SQL Server 2000 database to store information, and the use of XML-based three-tier Browser / Web architecture.
Key words: ASP.NET; C#; SQL Server 2000; Airline reservation system
目 錄
摘 要 III
Abstract IV
目 錄 V
1 緒論 1
1.1 航空訂票系統(tǒng)的研究內容和意義 1
1.2 國內外的發(fā)展概況 1
1.3 本系統(tǒng)應達到的要求 1
1.4 系統(tǒng)運行環(huán)境 2
1.5 論文主要結構 2
2 相關技術 3
2.1 ASP.NET技術 3
2.2 C#技術 3
2.3 SQL Server 2000技術 4
2.4 本章小結 5
3 航空訂票系統(tǒng)系統(tǒng)分析 7
3.1 可行性研究 7
3.2 系統(tǒng)需求分析 7
3.2.1 系統(tǒng)需求分析描述 7
3.2.2 數據流分析 8
3.2.3 數據字典 10
3.2.4 系統(tǒng)功能需求 11
3.2.5 系統(tǒng)性能需求 12
3.3 本章小結 12
4 航空訂票系統(tǒng)功能設計 13
4.1 系統(tǒng)功能描述 13
4.2 系統(tǒng)數據流程圖 13
4.3 系統(tǒng)功能描述及模塊示意圖 15
4.3.1 系統(tǒng)功能總描述及總模塊圖 15
4.3.2 系統(tǒng)詳細功能描述及功能模塊圖 16
4.4 本章小結 19
5 航空訂票系統(tǒng)數據庫設計 21
5.1 數據庫概念結構設計 21
5.2 數據庫邏輯結構設計 23
5.3 數據庫物理結構設計 24
5.5 本章小結 30
6 航空訂票系統(tǒng)界面及主要程序 31
6.1 航空訂票系統(tǒng)前臺界面 31
6.1.1 主界面 31
6.1.2 登錄界面 34
6.1.3 注冊界面 36
6.1.4 忘記密碼界面 39
6.1.5 查詢航班界面 39
6.1.6 預定航班界面 41
6.1.7 退票服務界面 46
6.1.8 我的訂單界面 48
6.1.9 幫助中心界面 50
6.2 航空訂票系統(tǒng)后臺界面 50
6.2.1 管理員登錄界面 50
6.2.2 用戶管理界面 51
6.2.3 航班管理界面 53
6.2.4 訂單管理界面 55
6.2.5 管理信息界面 55
6.3 本章小結 58
7 軟件模塊集成測試 59
7.1 航空訂票系統(tǒng)前臺集成測試 59
7.2 航空訂票系統(tǒng)后臺集成測試 61
7.3 本章小結 62
8 幫助信息及使用說明 63
8.1 系統(tǒng)前臺的幫助信息及使用說明 63
8.2 系統(tǒng)后臺的幫助信息及使用說明 63
9 結論與展望 65
9.1 結論 65
9.2 不足之處及未來展望 65
致 謝 67
參考文獻 68
VII
基于.NET的航空訂票系統(tǒng)開發(fā)與設計
1 緒論
1.1 航空訂票系統(tǒng)的研究內容和意義
近年來,計算機與互聯(lián)網的發(fā)展日益成熟,人們已看到它們在功能上所發(fā)揮的強大之處,它們在人類生活中扮演著越來月重要的角色,逐漸深入人類社會的各個領域。并且,在世界經濟迅猛發(fā)展的前提下,人們對于利用飛機出行的需求在不斷的在增加,然傳統(tǒng)的售票方式已經不能滿足人們的要求了。因此,通過航空訂票系統(tǒng)這個平臺,可以解決機票訂購高峰時期大量數據的處理問題,提高工作人員的工作效率,使得管理人員的工作方便簡潔很多,使得機票訂購與日常管理能夠得以改善。同時,乘客也能享受到更便利更快捷的航空服務。更是給航空公司帶來了無限的商機。
航空訂票是一個非常復雜的過程,它涉及客戶基本信息的管理、航班的的基本信息管理、每一條訂單與客戶間的聯(lián)系、每一條訂單與航班見的聯(lián)系,因此,航空訂票系統(tǒng)是一個涉及管理內容眾多,數據關系復雜的系統(tǒng)。本航空系統(tǒng)的開發(fā)主要分為程序軟件的開發(fā)及對數據庫的建立兩部分。對程序軟件的前臺開發(fā),對用戶的需求要有完整性,并且得讓用戶使用起來方便;對數據庫的后臺建立,要使得數據庫具備一致性、完整性、安全性、獨立性、易擴展性等功能。
1.2 國內外的發(fā)展概況
從邁入21世紀開始,在這個新的歷史時期電子商務探索發(fā)展了十多年,電子商務讓更多的商家找到了新的平臺。網上訂票也是一種電子商務,近年來網上訂票日漸流行,其優(yōu)越性使得國內外著手研制自己的網上訂票系統(tǒng)的航空公司越來越多,因為它具有巨大的現代商業(yè)價值。它打破了常規(guī)的買賣方式,為客戶提供了全天候的服務。
國內近幾年隨著人們生活質量的提高,更多的人選擇使用飛機作為長途出行的交通工具,在加上計算機技術及網絡的迅速發(fā)展,航空訂票業(yè)務也就隨著發(fā)展了起來。隨著旅游業(yè)的日益成熟,航空客運量在大幅度的提高,國內的各大航空公司都在不斷的增加航班,這些都對航空管理系統(tǒng)提出了更高的要求,因此航空訂票系統(tǒng)要不斷的完善及更新,從而提高航空訂票的工作效率故而,航空訂票系統(tǒng)在國內的發(fā)展日漸成熟。
相對于國外而言,他們的計算機技術及網絡技術都比我國發(fā)展的快發(fā)展的成熟,對于旅游業(yè)來說,也比我國的發(fā)展來的成熟,所以他們在網絡應用這一方面比我國成熟,技術與應用領域也比我們來的成熟與廣泛。在1994年,率先推出網上售票系統(tǒng)的是美國聯(lián)合航空公司。發(fā)展至今,國外的航空訂票業(yè)務在功能上做的越來越完善。
1.3 本系統(tǒng)應達到的要求
在我們開發(fā)軟件時,并不是一味的在系統(tǒng)中添加功能等,因為不論我們把系統(tǒng)做的有多完美,不能滿足用戶的需求之前做的也都是徒然的。所以,在開發(fā)本軟件之前我們一定要對用戶的需求足夠了解。這樣才可以在完成本系統(tǒng)時,在用戶滿意的同時,自己也能因此得到一定得促進。
系統(tǒng)前臺,新客戶要能進行注冊;老客戶忘記密碼,要能重置密碼;老客戶登錄進入系統(tǒng),要能進行航班的查詢,機票的預定、取消訂單、支付、退票;能進行訂單的查詢及客戶密碼的修改;用戶能留言。系統(tǒng)后臺,管理人員對用戶信息、留言能查詢及刪除;對航班要能查詢、增加、刪除及更改;對客戶訂單要能查詢及定期進行刪除;高級管理員能更改所有管理員的信息,能增加或刪除某個管理人員;普通管理員只能對自己的信息進行更改。比較系統(tǒng)地對航空訂票的信息及各項服務進行管理,使數據管理更人性化、自動化、智能化、自動化、現代化人性化。
從Web興起后就形成了一種新的網絡結構模式Browser/Web 模式,并且客戶端最主要的應用軟件也是Web瀏覽器,這種B/S模式統(tǒng)一了客戶端,將系統(tǒng)的開發(fā)、維護和使用簡化了,將系統(tǒng)功能實現的核心部分集中到服務器上。
航空訂票系統(tǒng)的軟件必需要不斷更新,不斷自我完善的。所以,利用網絡和數據庫的結合,應用基于Browser/Web 模式及ASP.NET技術來設計航空訂票系統(tǒng)。
1.4 系統(tǒng)運行環(huán)境
⑴ 服務器端
操作系統(tǒng):Windows XP
數據庫服務器:SQL Server 2000
瀏覽器:Google Chrome
⑵ 客戶端
瀏覽器:Google Chrome
1.5 論文主要結構
本論文是“基于.NET的航空訂票系統(tǒng)開發(fā)與設計”,論文的內容是根據軟件工程的開發(fā)理論,系統(tǒng)地對本課題進行講解。
整篇論文包含9個章節(jié),具體內容如下:
第1章 緒論。介紹了航空訂票系統(tǒng)的開發(fā)背景意義、國內外的發(fā)展概況、本課題應該達到的要求及系統(tǒng)運行的環(huán)境。
第2章 相關技術。介紹了ASP.NET技術、C#技術、SQL Server 2000,為下面的學習提供了基礎。
第3章 航空訂票系統(tǒng)的系統(tǒng)分析。介紹了系統(tǒng)的可行性研究及需求分析。
第4章 航空訂票系統(tǒng)的功能設計。介紹了系統(tǒng)的詳細功能描述、系統(tǒng)流程分析、系統(tǒng)功能模塊的詳細描述及功能模塊圖。
第5章 航空訂票系統(tǒng)的數據庫設計。介紹了數據庫的概念結構(E-R設計)、邏輯結構、物理結構及數據字典。
第6章 航空訂票系統(tǒng)的實現。介紹了每個界面的實現及功能和系統(tǒng)使用到控件的具體用法。
第7章 系統(tǒng)測試。對系統(tǒng)的每個模塊機功能進行詳細的測試,去發(fā)現系統(tǒng)中的錯誤。
第8章 幫助信息及使用說明。主要講述了整個系統(tǒng)每個模塊的操作流程。
第9章 結論與展望。講述對本次設計的總結,與對本次設計不足之處的說明。
2 相關技術
2.1 ASP.NET技術
ASP.NET是由Microsoft公司提出的一個統(tǒng)一的WEB開發(fā)模型。ASP.NET不僅僅是Active Server Page的下一個版本,還是一種建立在通用語言上的程序架構,能在WEB服務器上建立強大的WEB應用程序。ASP.NET的開發(fā)模式比現在的WEB開發(fā)模式強大[1]。
⑴ 簡單性和易學性
ASP.NET使運行一些平常的任務如客戶端的身份驗證、表單的提交、網站配置和分布系統(tǒng)變得很簡單。另外,通用語言的簡化開發(fā)使得把代碼結合成軟件簡單得就像裝配電腦[1]。
⑵ 強大性和適應性
可以在WEB應用軟件開發(fā)者的幾乎所有平臺上運行。通用語言的數據接口的處理、基本庫、消息機制都能無縫整合到ASP.NET的WEB應用中。ASP.NET也是language-independent語言獨立化的,所以可以選擇一種最適合自己的語言來編寫程序,也可以使用多種語言來編寫,現在已經支持的有C#、VB、JScript等[1]。
⑶ 世界級的工具支持
在Microsoft公司的產品Visual Studio.NET環(huán)境中ASP.NET架構可以進行開發(fā),WYSIWYG的編輯[1]。
⑷ 大幅度提高執(zhí)行效率
ASP.NET是程序放在服務器上運行。和以前即時解釋程序的ASP不同,ASP.NET將程序首次在服務器端運行時就進行了編譯,這樣的執(zhí)行效果比即時解釋程序要強得多[1]。
⑸ 可擴展性和自定義性
ASP.NET設計時考慮了讓網站程序員可以在代碼中自己定義plug-in模塊。這和原來的包含關系不同,ASP.NET能加入通過自己定義的所有控件[1]。
⑹ 安全性
基于應用程序的配置和Windows認證技術,可以保證源程序的絕對安全[1]。
2.2 C#技術
C#作是Microsoft 公司為其全新的.NET框架專門創(chuàng)建的編程語言。不但結合了Java語言簡潔和C++強大靈活的特性,而且吸取了Visual Basic和Delphi具有的易用性,因而是一種表達力豐富、使用簡單、功能強大的語言[2]。
C#簡單易學,而且語法表現力強。C#語法簡化了C++的諸多復雜性,并提供了很強大的功能,例如可為直接內存訪問、委托、null的值類型、枚舉、lambda表達式,這些都是Java沒有的。C#支持范型類型和方法,從而提供了更出色的類型性能和安全[3]。
C#是面向對象的語言,支持多態(tài)性、封裝和繼承的概念。所有的方法和變量,包括Main方法,都封裝在類的定義中。類從一個父類可能直接繼承,但它能實現任意數量的接口。重寫父類中的虛方法的各種方法要求override關鍵字作為一種避免意外重定義的方法。在C#中,結構類似于一個輕量類;它是一種堆棧分配的類型,可以實現接口,但不支持繼承[3]。
C#還通過幾種創(chuàng)新的語言構造簡化了軟件組織的開發(fā),這些結構包括[3]:
⑴ 語言集成查詢(LINQ),提供了跨各種數據源的內置查詢功能。
⑵ 封裝的方法簽名(稱為“委托”),它實現了類型安全的事件通知;
⑶ 屬性(Property),充當私有成員變量的訪問器;
⑷ 屬性(Attribute),提供關于運行時類型的聲明性元數據;
⑸ 內聯(lián)XML文檔注釋;
在C#中,如果必須與其他Windows軟件交互,則可以通過一個稱為“互操作”的過程來實現?;ゲ僮魇笴#程序能夠完成本機C++應用程序可以完成的幾乎任何任務。在直接內存訪問必不可少的情況下,C#甚至支持指針和“不安全”代碼的概念[3]。
C#的生成過程比C、C++和Java簡單靈活。沒有單獨的頭文件,也不要求按照特定順序聲明類型和方法。C#源文件能定義任意數量的事件、類、結構和接口[3]。
2.3 SQL Server 2000技術
在SQL Server 7.0的基礎上推出了SQL Server 2000,SQL Server 2000繼承了7.0版本的高性能、可靠性、易用性和可擴充性的優(yōu)點,同時又增加了一些新的特性,使其成為一種領先的數據庫管理系統(tǒng),可用于大規(guī)模聯(lián)機事務處理(OLTP)、數據倉庫及電子商務等[4]。
SQL Server 2000包含管理工具SQL Server Management Studio , Management Studio將Enterprise Manager,Query Analyzer 及Analysis Manager 的功能結合為一整個管理工具,并支持SQL Server Reporting Services,XML及SQL Server 2000 Mobile Edition[4]。
⑴ 客戶機/服務器體系結構
SQL Server采用客戶機/服務器體系結構,客戶機負責界面描述、界面顯示,向服務器提出處理要求;服務器負責數據管理、程序處理,并將處理結果返回客戶機;在這種體系結構中數據資源是集中存儲在數據庫服務器里,而不是分別存儲在各個客戶機內,有效的實現數據共享[4]。
⑵ 圖形化的用戶界面
SQL Server 2000的圖形化用戶界面使數據庫管理和系統(tǒng)管理更加簡單直觀。特別是SQL Server 2000在查詢分析器、日志存儲和事件探查器的圖形操作界面上做了較大的改進。對日志存儲的改進可以使用戶可以連續(xù)不斷地將事務日志進行備份并裝載到另一臺服務器上的目標數據庫;對事件探查器的改進可以使用戶使用基于時間和基于空間的跟蹤,同時增加了許多可以跟蹤的事件;查詢分析器增加了對象瀏覽器組件,使用戶可以瀏覽并獲取服務器上數據庫對象的信息[4]。
⑶ 兼容性好
在Windows占操作系統(tǒng)主導地位的情況下,選擇SQL Server在兼容性方面一定會有優(yōu)勢多的。然,SQL Server 2000除有擴展性及可靠性外,還具有迅速開發(fā)新因特網系統(tǒng)的功能。特別是它可以直接存儲xml數據,有利于構建異構系統(tǒng)的互操作性。這些在.NET中發(fā)揮這重要作用[4]。
⑷ 電子商務
在使用SQL Server 2000數據庫引擎的情況下,xml數據在關系表中進行存儲,而查詢則能以xml格式將其結果返回。此外,xml支持還簡化后端系統(tǒng)的集成,并實現了跨越防火墻的無縫數據傳輸[4]。
⑸ 支持數據倉庫
SQL Server 2000的分布式查詢允許用戶同時引用多處數據源,但其友好的界面卻使用戶始終以為是在操作同一個數據源。為了滿足現代企業(yè)對大規(guī)模數據進行有效分析和使用的要求,SQL Server 2000提供了一系列提取、分析、總結數據的根據,從而可以實現聯(lián)機分析處理[4]。
2.4 本章小結
本章節(jié)主要講了在系統(tǒng)設計過程中所涉及到的相關技術。對于本章中講到的ASP.NET技術、SQL Server技術等對于本系統(tǒng)的設計是相當重要的。設計者只有真正了解及掌握了這些技術,才能更好的完成本系統(tǒng)要實現的功能。這里也只是大概講解了一下所涉及技術的特性,若要仔細了解可以查看相應的參考資料。
3 航空訂票系統(tǒng)系統(tǒng)分析
3.1 可行性研究
航空訂票系統(tǒng)最基本及最重要的就是客戶的訂票及退票功能,及管理員對航班的更新及錄入。由它們組成了航空訂票系統(tǒng)的前臺服務與后臺管理。在現代社會航空訂票系統(tǒng)是必須的。下面是對航空訂票系統(tǒng)從技術、經濟、管理上進行的可行性分析。
⑴ 技術可行性:三層邏輯體系結構是WEB項目較為流行的開發(fā)模式。采用最新技術B/S架構,降低了客戶端電腦的負荷,減輕了系統(tǒng)升級與維護的工作量和成本。ASP.NET開發(fā)技術是微軟力推的主流開發(fā)技術,與Windows操作系統(tǒng)無縫集成、擴展性好,使用ASP結合ActiveX組件、HTML網頁和ASP指令可以快速地建立高效、動態(tài)、且交互的Web服務器應用程序[6]。
⑵ 經濟可行性:航空公司采用網上訂票系統(tǒng)全天后為客戶服務,方便客戶隨時隨地購票,這樣就給其公司帶來了更大的經濟效益;本系統(tǒng)實施后,也可以節(jié)省航空公司購買客戶端服務機的成本,使得資金可以加速周轉。這樣就能節(jié)省大量的人力、時間及財力。所以,本系統(tǒng)在經濟上是可行的。
⑶ 管理可行性:本系統(tǒng)帶有后臺管理,對于客戶信息、航班基本信息、訂單信息、客戶留言信息、管理員信息等都有詳細的管理。根據管理員的權限不同,所能管理的范圍也是有所差別的。
3.2 系統(tǒng)需求分析
3.2.1 系統(tǒng)需求分析描述
航空訂票系統(tǒng)用于提高訂票服務和管理的效率。首先,分析使用這個系統(tǒng)的應是客戶和管理人員,所以把系統(tǒng)整體分為前臺、后臺兩部分。因此,應提供客戶查詢、訂票、購票、退票的服務,客戶對于訂單的查詢及對網站的留言;管理人員對客戶、航班、訂單等的管理。減少了手工輸入的過程,界面盡量做到友好,使客戶和管理員易學易懂。本系統(tǒng)在設計還要充分考慮系統(tǒng)的可擴展性和商業(yè)活動特有的流程,一個良好的前期設計會使系統(tǒng)具有優(yōu)秀的擴展能力并且便于維護[7]。
本系統(tǒng)主要處理的數據有:客戶的基本信息,如用戶編號(id)、用戶名(username)、用戶密碼(password)、電子郵件(email_add)、聯(lián)系方式(telephone)等;航班信息,如航班號(hanBan)、出發(fā)地(chuFa)、目的地(muDi)、日期(flag)等;訂單信息,如訂單號(id)、用戶名(username)、乘客(xingming)、證件(shengfen)、證件號(shengfenzhenghao)等??蛻舻卿浐罂梢钥吹揭陨闲畔ⅲ⒖梢詫λ麄冞M行查詢。還有后臺管理員的數據信息,如管理員編號(id)、管理員(adminName)、密碼(password)、權限(flag)等。后臺管理人員可以對以上信息進行查詢及增刪改。
基于以上系統(tǒng)涉及的數據處理,B/S模式實現的航空訂票系統(tǒng)具體涉及以下幾個方面:
⑴ 能方便客戶對機票進行查詢、預定、購買及退票;
⑵ 能實現對航班的基本查詢;
⑶ 能實現對本網站的留言;
⑷ 能實現后臺管理員對航班的錄入、查詢、更改、刪除等;
⑸ 實現訂單查詢的主從表;
⑹ 系統(tǒng)具有操作方便、簡潔等功能。
B/S系統(tǒng)的數據間是密切聯(lián)系、緊密依賴與聯(lián)動的,數據庫存放在企業(yè)服務器上的SQL Sever 2000數據庫管理系統(tǒng)中。
3.2.2 數據流分析
在調研和分析航空訂票系統(tǒng)過程的基礎上,發(fā)現航空訂票系統(tǒng)的流程是至關重要的,所以分析數據得出了數據流圖。
⑴ 管理員對客戶信息的管理,在邏輯功能上可以分為:“產生客戶信息”、“接受客戶信息”、“處理客戶信息”三個步驟,如圖3.1所示。
圖3.1 用戶管理數據流圖
⑵ 管理員對航班信息的管理,在邏輯功能上可以分為:“產生航班信息”、“處理航班信息”、“查詢航班信息”三個步驟,如圖3.2所示。
圖3.2 航班管理數據流圖
⑶ 管理員對訂單信息的管理,在邏輯功能上可以分為:“產生訂單信息”、“接受訂單信息”、“處理訂單信息”三個步驟,如圖3.3所示。
圖3.3 訂單管理數據流圖
⑷ 管理員對管理員信息、公告信息、旅游資訊的管理,在邏輯功能上可以分為:“產生信息”、“處理信息”兩個步驟,如圖3.4所示。
圖3.4 管理員信息及公告信息數據流圖
⑸ 總的數據流圖,如圖3.5所示。
圖3.5 系統(tǒng)總數據流圖
3.2.3 數據字典
數據流圖表達了數據和處理的關系,數據字典則是系統(tǒng)中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程5個部分[10]。以下面數據字典的卡片來舉例說明。
⑴ 數據結構。以“usernameTable”為例。
·名字:usernameTable;
·別名:客戶信息;
·描述:航空訂票系統(tǒng)的注冊信息;
·定義:客戶信息=客戶編號+客戶名+密碼+性別+電話+郵箱+提示問題+提示答案+注冊時間;
·位置:保存到usernameTable表中。
⑵ 數據項。以數據結構“usernameTable”的數據項“username”為例。
·名字:username;
·別名:客戶名;
·描述:唯一標識客戶的編號;
·定義:字符型;
·位置:在usernameTable,dingDanTable,messageTable中。
⑶ 數據流。以數據結構“usernameTable”在系統(tǒng)內的流動為例。
·數據流名:客戶注冊信息;
·說明:“usernameTable”數據結構在系統(tǒng)內的流向;
·數據流來源:客戶注冊處理;
·數據流去向:usernameTable表;
·平均流量:不定;
·高峰期流量:不定。
⑷ 數據存儲。以數據結構“usernameTable”在系統(tǒng)內的存儲為例。
·數據存儲名:usernameTable表;
·說明:客戶注冊信息及管理員審核信息;
·編號:每個客戶有一個唯一的識別客戶名;
·輸入的數據流:客戶注冊信息;
·輸出的數據流:管理員審核的信息;
·數據結構:usernameTable;
·數據量:不定;
·存取頻率:不定;
·存取方法:聯(lián)機處理、查詢與更新、順序查詢與隨機查詢。
⑸ 處理過程。以“客戶注冊”為例。
·處理過程名:客戶注冊;
·說明:客戶提交注冊信息;
·輸入:客戶編號、客戶名、密碼;
·輸出:保存到usernameTable表中;
·處理:對用戶名進行唯一性驗證,密碼和確認密碼性驗證。
以上通過示例說明了數據字典的基本表示方法,只是起到引導的作用。完整詳盡的數據字典應根據實際的系統(tǒng)需求分析,在充分調研、分析、討論的基礎上建立,并將在數據庫設計過程中不斷修改、充實、完善。
3.2.4 系統(tǒng)功能需求
經研究分析系統(tǒng)分為前臺服務和后臺管理。
前臺服務系統(tǒng)分為以下幾大功能:
⑴ 新客戶進行注冊,老客戶可以直接登錄,若忘記密碼可以進行密碼重置;
⑵ 客戶進入系統(tǒng)可以查詢到航班信息,然后可以進行機票的預定、購買,對購買的票要進行退票,必須在航班起飛前兩個小時之前進行退票操作;
⑶ 在我的訂單中,客戶可以查詢到未完成支付的訂單、十天之內的所有訂單、客戶的基本信息及可進行密碼修改的操作;
⑷ 在幫助信息中,說明了客戶如何對本網站進行操作及對本網站客戶的一些要求,客戶若對本航空網站或是航空公司有什么意見或建議可以進行留言操作。
后臺管理系統(tǒng)分為以下幾大功能:
⑴ 管理員可以查詢到客戶的信息及留言信息,對留言信息還可進行定期的刪除;
⑵ 對航班的信息,管理員可以進行查詢、增加、刪除、更改;
⑶ 對客戶的訂單信息,管理員可以進行查詢、刪除操作;
⑷ 對管理員自身的信息,可以進行刪除及更改操作;權限最高的管理員可對所有管理員信息進行曾刪改查;所有管理員對公告信息和旅游資訊的查詢、增加、刪除及更改操作。
3.2.5 系統(tǒng)性能需求
⑴ 數據的準確性與精準性
一個完善的訂票系統(tǒng)是每個航空公司都應擁有的。一個訂票系統(tǒng)必須能夠及時的將航班信息反映在系統(tǒng)中,以便能夠安排新的航班。并且,應能及時地將航班信息反饋給客戶,以便客戶進行查詢了解。尤其是在購票高峰期時,更能體現出一個完善的訂票系統(tǒng)的重要性。對于這個系統(tǒng)的實現,數據的準確性要求是非常高的,任何細小的誤差都會導致整個航空業(yè)務出現嚴重的問題。
⑵ 系統(tǒng)的可擴充性和開放性
訂票系統(tǒng)在設計與開發(fā)過程的時候,系統(tǒng)以后的可擴充性應充分考慮。例如,查詢方式的改進,要求系統(tǒng)能夠進行功能的擴充及調整。而要實現著一點,就要求系統(tǒng)有很好的開放性,只要符合這點,系統(tǒng)就可以簡單的減少或加入功能模塊。通過對軟件的維護、修補完成系統(tǒng)的更新升級。
3.3 本章小結
本章講述了對整個系統(tǒng)的可行性研究及需求分析。在可行性研究方面,主要是從技術、經濟、管理三個角度出發(fā)進行研究調查的。在需求分析方面,主要是從數據流、功能、及性能方面進行分析的。本章節(jié)對功能進行了分析,下一章節(jié)將對功能模塊進行詳細的闡述說明。
4 航空訂票系統(tǒng)功能設計
4.1 系統(tǒng)功能描述
在上一章節(jié)已經對系統(tǒng)功能進行過分析,這里將對系統(tǒng)功能做更加詳細的描述。
前臺服務系統(tǒng)分為以下幾大功能:
⑴ 新客戶可以進行注冊操作,若注冊的用戶名已存在,有提示信息,對于客戶注冊的用戶名、密碼、電子郵箱、密碼、提示問題、提示答案都要有驗證信息,若不達要求應該會有提示信息;老客戶可以直接登錄系統(tǒng),在登錄時密碼錯誤或是用戶名錯誤都應該有提示信息;若老客戶忘記密碼可以進行密碼重置。
⑵ 客戶進入系統(tǒng)可以看到十天的航班信息,在客戶輸入出發(fā)地、目的地及出發(fā)時間后,可以查詢到相應的航班信息,然后可以進行機票的預定,在機票預訂過程中會有訂單信息反饋給客戶,以便客戶進行確認。退票服務是必須在航班起飛兩個小時之前才可以進行的操作,并且只能單張退票。
⑶ 在我的訂單中,客戶可以看到未完成支付的訂單,能夠按照訂單日期或航班日期查詢到十天之內的所有訂單,可以看到客戶的基本信息,并且客戶可進行密碼修改的操作,當密碼修改完畢后,必須要重新登錄。
⑷ 在幫助信息中,說明客戶如何對本網站進行操作及對本網站客戶的一些要求,客戶若對本航空網站或是航空公司有什么意見或建議能進行留言操作,但留言內容不能超過1000個字。
后臺管理系統(tǒng)分為以下幾大功能:
⑴ 對客戶的信息及留言信息,管理員按照客戶的注冊日期可以查詢到客戶的基本信息,對留言信息管理員可按照留言日期進行查詢,可以看到詳細的留言內容,可以刪除某條留言內容,也能批量刪除留言內容。
⑵ 對航班的信息,管理員可以根據航班、航班日期、出發(fā)地、目的地查詢航班的信息,可以對某條航班信息進行細節(jié)更改;管理員還可以增加刪除某一航班;還可對某一天的航班更改為另外一天的航班,然后在進行航班的細節(jié)更改。
⑶ 對客戶的訂單信息,管理員可以按照訂單日期和航班日期進行查詢;但刪除的時候只能刪除按照航班日期查詢的訂單。
⑷ 權限最高的管理員可對所有管理員信息進行增刪改查;所有管理員都可對旅游資訊和公告信息進行查詢、增加、刪除及更改操作。
4.2 系統(tǒng)數據流程圖
圖4.1是對本系統(tǒng)前臺即客戶端的流程介紹??蛻暨M入本系統(tǒng)的網站,首先進入的是網站首頁,新用戶可以進行注冊,然后登錄本網站;老用戶可以直接登錄進入本系統(tǒng),然后在本網站進行查詢航班、預定機票、退票服務、訂單查詢、修改密碼及留言等,還可以在登錄后的首頁看到本網站的公告信息、旅游景點的介紹等;若老用戶忘記密碼,可在進行密碼重置操作。
圖4.1 系統(tǒng)前臺總流程圖
圖4.2是對本系統(tǒng)后臺即本航空訂票系統(tǒng)管理流程的介紹。管理員登錄進入后臺管理界面后,在用戶管理中,可對用戶信息進行查詢、對客戶留言信息進行查詢、增刪改;在航班管理中,對航班可以進行查詢、增加、刪除、某個航班的細節(jié)更改及航班的批量更改;在訂單管理中,管理員可以查詢客戶的訂單、刪除客戶的某條訂單記錄、刪除某天所有客戶的訂單及刪除某個日期前的所有客戶的訂單;在管理員信息中,權限最高的管理員可以查詢某個管理員的信息、增刪改管理員,普通管理員只能對自己的信息進行修改,對網站的公告信息需要每天都進行更新,還可進行查詢、增加、刪除等操作,對旅游資訊可進行上傳及查詢、刪除等操作。
圖4.2 系統(tǒng)后臺總流程圖
4.3 系統(tǒng)功能描述及模塊示意圖
4.3.1 系統(tǒng)功能總描述及總模塊圖
根據航空訂票系統(tǒng)的特點,可以將其分為前臺服務模塊和后臺管理模塊進行系統(tǒng)設計。前臺服務模塊是面向Internet上的客戶,主要包括首頁、航班查詢、航班預定、退票服務、我的訂單及幫助中心等模塊;后臺管理模塊則是用于對網站及其信息進行管理和維護,主要包括用戶管理、航班管理、訂單管理、管理員信息管理、公告管理、旅游資訊信息管理模塊。系統(tǒng)的總功能模塊結構如圖4.3所示,體現了整個系統(tǒng)的功能實現。
圖4.3 系統(tǒng)功能總模塊圖
4.3.2 系統(tǒng)詳細功能描述及功能模塊圖
4.3.2.1 前臺模塊詳細功能描述及功能模塊圖
⑴ 客戶登錄模塊
在首頁1,客戶可以進行登錄,或是進入這側頁面進行注冊操作,若忘記密碼了,可以密碼重置,然后進行登錄到首頁2界面。
圖4.4 客戶登錄功能模塊圖
⑵ 航班預定模塊
首先,客戶可以在航班預定中查詢所要預定的班次,如需預定就要進行登錄操作,登錄后點擊預定,確認航班信息后,填寫要訂票的客戶信息,提交訂單后再次確認航班信息及客戶信息等,若信息有所差錯可以取消訂單,若確定購買就進行支付操作。
圖4.5 航班預定功能模塊圖
⑶ 退票服務模塊
首先,客戶需要登錄本網站才可以進行此操作,客戶可以按照訂單日期或航班日期對已支付的訂單進行查詢,并且退票操作必須在航班起飛前兩個小時才可以進行,若確定退票就必須扣除一定的手續(xù)費。
圖4.6 航班退票服務功能模塊圖
⑷ 我的訂單模塊
首先,客戶需要進行登錄才能進行此操作。在此模塊中,客戶可以查詢到尚未支付的訂單,可以去進行支付;可以查詢到十天前的所有訂單;也可進行退票操作,和上述的退票服務模塊一樣;客戶還可以查看到自己的基本信息;此模塊最后一個功能是客戶可以修改自己的登錄密碼,若密碼修改成功,就需重新登錄。
圖4.7 我的訂單功能模塊圖
⑸ 幫助中心模塊
在幫助中心,客戶可以查看購票所要知道的內容及操作;若客戶想要留言,就必須進行登錄,登錄后方可以進行留言操作。
圖4.8 幫助中心功能模塊圖
4.3.2.2 后臺模塊詳細功能描述及功能模塊圖
⑴ 用戶管理模塊
管理員登錄,對客戶的信息可以進行查詢,但不能進行增刪改;對客戶的留言可以進行查詢,可以查看到詳細的留言內容,可以刪除某條留言信息或是某個日期的所有留言或是某個日期前的所有留言。
圖4.9 用戶管理功能模塊圖
⑵ 航班管理模塊
管理員可以查詢航班,對某條航班信息進行詳情更改;可以增加某個航班;可以刪除某個航班;還可以批量更改航班信息。
圖4.10 航班管理功能模塊圖
⑶ 訂單管理模塊
管理員在進行訂單管理時,可以查詢某個日期內的所有訂單;可以刪除某天訂單記錄或是刪除 查詢日期間的所有訂單。
圖4.11 訂單管理功能模塊圖
⑷ 管理員信息模塊
高級管理員可以對所有管理員進行查詢、增加、刪除、更改操作,普通管理員只能對自己的用戶名及密碼進行修改操作;所有管理員都可以對公告信息進行查詢及增刪改。
圖4.12 管理員信息管理功能模塊圖
4.4 本章小結
本章主要介紹了系統(tǒng)的功能模塊的設計,涉及到了對系統(tǒng)功能的詳細描述、對系統(tǒng)流程的描述、對系統(tǒng)每個功能模塊的描述。對流程圖及功能模塊的描述采用了與圖結合的方式,使得功能設計更有說服力。
5 航空訂票系統(tǒng)數據庫設計
5.1 數據庫概念結構設計
在分析設計出的數據流程圖的基礎上,得出系統(tǒng)所要處理的實體及其聯(lián)系,在確定實體及其聯(lián)系的主要屬性后,結合系統(tǒng)的功能處理要求后,采用自底向上的設計方法得出局部E-R圖和全局E-R圖[8]。
⑴ 客戶查詢航班的E-R設計。
客戶信息實體的屬性包括:客戶編號、客戶名、密碼、性別、電話、郵箱、提示問題、提示答案、注冊時間;
航班信息實體的屬性包括:航班編號、航班日期、航班號、出發(fā)地、出發(fā)時間、目的地、到達時間、頭等艙、頭等票價、經濟艙、經濟票價、歷時、總時間;
上述實體存在如下聯(lián)系:
一個客戶可以查詢多個航班,一個航班可以被多個客戶查詢。
根據上述約定,可以得到客戶查詢航班的局部E-R圖,如圖5.1所示。
圖5.1 客戶查詢航班的E-R
⑵ 客戶預定及退票的E-R設計。
客戶信息實體的屬性包括:客戶編號、客戶名、密碼、性別、電話、郵箱、提示問題、提示答案、注冊時間;
訂單編號、客戶名、姓名、電話、證件類型、證件號、訂單日期、航班日期、航班號、席別、票種、票價、狀態(tài)編號、訂票時間;
訂單狀態(tài)實體的屬性包括:狀態(tài)編號、狀態(tài)值;
上述實體存在如下聯(lián)系:
① 一個客戶可以預定多個訂單,一個訂單只屬于一個客戶;
② 一個訂單只有一個狀態(tài),一個狀態(tài)可以屬于多個訂單。
根據上述約定,可以得到客戶預定及退票的局部E-R圖,如圖5.2所示。
圖5.2 客戶預定及圖票的E-R
⑶ 客戶留言的E-R設計。
客戶信息實體的屬性包括:客戶編號、客戶名、密碼、性別、電話、郵箱、提示問題、提示答案、注冊時間;
留言實體的屬性包括:留言編號、客戶名、留言時間、留言內容;
上述實體存在如下聯(lián)系:
一個客戶可以留言多條,一個留言值可能屬于一個客戶。
根據上述約定,可以得到客戶留言的局部E-R圖,如圖5.3所示。
圖5.3 客戶留言的E-R
⑷ 管理員管理客戶信息、航班信息、訂單信息、留言、公告、旅游資訊的E-R設計。
管理員信息實體的屬性包括:管理員編號、管理員名、密碼、權限編號;
權限實體的屬性包括:權限編號、權限值;
客戶信息實體的屬性包括:客戶編號、客戶名、密碼、性別、電話、郵箱、提示問題、提示答案、注冊時間;
客戶訂單實體的屬性包括:訂單編號、客戶名、姓名、電話、證件類型、證件號、訂單日期、航班日期、航班號、席別、票種、票價、狀態(tài)編號、訂票時間;
航班信息實體的屬性包括:航班編號、航班日期、航班號、出發(fā)地、出發(fā)時間、目的地、到達時間、頭等艙、頭等票價、經濟艙、經濟票價、歷時、總時間;
留言實體的屬性包括:留言編號、客戶名、留言時間、留言內容;
公告實體的屬性包括:公告編號、當前日期、公告信息;
旅游資訊的實體屬性包括:資訊編號、上傳管理員、圖片名稱、圖片相對路徑、圖片絕對路徑、上傳時間;
上述實體存在如下聯(lián)系:
① 一個管理員值可能有一種權限,一個權限可能屬于多個管理員;
② 一個管理員可以管理每張表的很多信息,每張表的信息也可由多個管理員管理。
根據上述約定,可以得到管理員管理客戶信息、航班信息、訂單信息、留言、公告、旅游資訊的局部E-R圖,如圖5.4所示(僅以管理員管理客戶為例)。
圖5.4 管理員權限E-R圖
⑸ 全局E-R模型設計。
各個局部視圖即分E-R圖建立好后,還需對它們進行合并,集成為一個整體的概念數據結構即全局E-R圖,如圖5.5所示。
圖5.5 全局E-R圖
5.2 數據庫邏輯結構設計
根據E-R圖轉換成關系模式規(guī)則(多對多聯(lián)系均采用轉化為一個獨立的關系規(guī)則),很容易得到如下關系模式:
⑴ 客戶信息(客戶編號、客戶名、密碼、性別、電話、郵箱、提示問題、提示答案、注冊時間);
⑵ 航班信息(航班編號、航班日期、航班號、出發(fā)地、出發(fā)時間、目的地、到達時間、頭等艙、頭等票價、經濟艙、經濟票價、歷時、總時間);
⑶ 訂單信息(訂單編號、客戶名、姓名、電話、證件類型、證件號、訂單日期、航班日期、航班號、席別、票種、票價、狀態(tài)編號、訂票時間);
⑷ 訂單狀態(tài)(狀態(tài)編號、狀態(tài)值);
⑸ 留言信息(留言編號、客戶名、留言時間、留言內容);
⑹ 管理員信息(管理員編號、管理員名、密碼、權限編號);
⑺ 管理員權限(權限編號、權限值);
⑻ 公告信息(公告編號、發(fā)布管理員、當前日期、公告信息);
⑼ 旅游資訊(圖片編號、上傳管理員、圖片名稱、圖片相對路徑、圖片絕對路徑、上傳時間)。
表名與屬性名轉化為相應的英文,則9個關系模式為:
⑴ usernameTable(id,username,password,sex,telephone,email_add,question,answer,registerTime);
⑵ hangBanTable( id.flag,hanBan,chuFa,chuFaSJ,muDi,daoDaSJ,touDeng,touDengPJ,
jingJi,jingJiPJ,liShi,zTime );
⑶ dingDanTable(id,username,xingming,telephone,shenfengleixing,shenfengzhenghao,
dangQianRiQi,riQi,hangban,xibie,piaozhong,piaojia,flag,dqtime);
⑷ zhiFuZhuangTaiTable(id,flag_);
⑸ messageTable(id,username,liuyanTime,content);
⑹ adminTable(id,adminName,password,flag);
⑺ adminFlagTable(id,adminFlag);
⑻ noticeTable(id,admin,date_,notice);
⑼ lvYouTable(id,admin,mingChen,tupian,tupian_,add_time) [9]。
5.3 數據庫物理結構設計
本航空訂票系統(tǒng)共涉及9張表:客戶信息表usernameTable、航班信息表hangBanTable、訂單信息表dingDanTable、訂單狀態(tài)表dingDanZhuangTaiTable、留言信息表messageTable、管理員信息表adminTable、管理員權限內表adminFlagTable、公告表noticeTable、
收藏