基于.NET的航空訂票系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)
基于.NET的航空訂票系統(tǒng)設(shè)計(jì)與開(kāi)發(fā),基于,NET,航空,訂票,系統(tǒng),設(shè)計(jì),開(kāi)發(fā)
編號(hào)
無(wú)錫太湖學(xué)院
畢業(yè)設(shè)計(jì)(論文)
題目: 基于.NET的航空訂票系統(tǒng)
設(shè)計(jì)與開(kāi)發(fā)
信機(jī) 系 計(jì)算機(jī)科學(xué)與技術(shù) 專(zhuān)業(yè)
學(xué) 號(hào): 0921131
學(xué)生姓名: 包培培
指導(dǎo)教師: 李朝鋒 (職稱(chēng):副教授 )
(職稱(chēng): )
2013年5月25日
III
無(wú)錫太湖學(xué)院本科畢業(yè)設(shè)計(jì)(論文)
誠(chéng) 信 承 諾 書(shū)
本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)(論文) 基于.NET的航空訂票系統(tǒng)設(shè)計(jì)與開(kāi)發(fā) 是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果,其內(nèi)容除了在畢業(yè)設(shè)計(jì)(論文)中特別加以標(biāo)注引用,表示致謝的內(nèi)容外,本畢業(yè)設(shè)計(jì)(論文)不包含任何其他個(gè)人、集體已發(fā)表或撰寫(xiě)的成果作品。
班 級(jí): 計(jì)科94
學(xué) 號(hào): 0921131
作者姓名:
2013 年 5 月 25 日
無(wú)錫太湖學(xué)院
信 機(jī) 系 計(jì)算機(jī)科學(xué)與技術(shù) 專(zhuān)業(yè)
畢 業(yè) 設(shè) 計(jì)論 文 任 務(wù) 書(shū)
一、題目及專(zhuān)題:
1、題目 基于.NET的航空訂票系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)
2、專(zhuān)題
二、課題來(lái)源及選題依據(jù)
課題來(lái)源:導(dǎo)師指定
選題依據(jù):計(jì)算機(jī)與互聯(lián)網(wǎng)技術(shù)的日益成熟為航空帶來(lái)了全新的售票方式:網(wǎng)絡(luò)航空訂票方式。網(wǎng)上訂票系統(tǒng)是一種新興的現(xiàn)代商務(wù)方式,顯示了巨大的現(xiàn)代商業(yè)價(jià)值,它將逐漸方便社會(huì)生活,也將成為數(shù)字化社會(huì)的一種重要體現(xiàn)。
通過(guò)航空訂票系統(tǒng)這個(gè)平臺(tái),可以解決手工操作機(jī)票訂購(gòu)高峰時(shí)刻的大量數(shù)據(jù)處理問(wèn)題,使得機(jī)票訂購(gòu)與日常管理工作得以改善,同時(shí)顧客可以享受到更便利更快捷的航空服務(wù)。此系統(tǒng)是一個(gè)高效率、低成本、高質(zhì)量的系統(tǒng),節(jié)省了不少的人力、物力、財(cái)力。 三、本設(shè)計(jì)(論文或其他)應(yīng)達(dá)到的要求:
技術(shù)要求:①技術(shù)的選擇:使用.NET和數(shù)據(jù)庫(kù)技術(shù)完成;
②數(shù)據(jù)庫(kù)的選擇:SQL Server 2000。
系統(tǒng)前臺(tái)功能要求:
①客戶(hù)能進(jìn)行注冊(cè)、登錄、重置密碼及密碼修改的操作;
②能查詢(xún)航班信息,查詢(xún)后可進(jìn)行訂票、退票等操作;
③若客戶(hù)有建議或是意見(jiàn),能進(jìn)行留言操作。
系統(tǒng)后臺(tái)功能要求:
①客戶(hù)管理,能查詢(xún)客戶(hù)的基本信息,能查詢(xún)和刪除留言信息;
②航班管理,能查詢(xún)及增刪改航班信息;
③訂單管理,能查詢(xún)及刪除航班信息;
④能更改管理員信息;能查詢(xún)及增刪改公告信息、旅游咨詢(xún)。
四、接受任務(wù)學(xué)生:
計(jì)科94 班 姓名 包培培
五、開(kāi)始及完成日期:
自2012年11月12日 至2013年5月25日
六、設(shè)計(jì)(論文)指導(dǎo)(或顧問(wèn)):
指導(dǎo)教師 簽名
簽名
簽名
教研室主任
〔學(xué)科組組長(zhǎng)研究所所長(zhǎng)〕 簽名
系主任 簽名
2012年11月12日
摘 要
隨著計(jì)算機(jī)科學(xué)技術(shù)的日益發(fā)展及信息化技術(shù)向各個(gè)領(lǐng)域的不斷深入,人們的學(xué)習(xí)生活已越來(lái)越趨向于信息化。為跟上時(shí)代的要求及人們生活的步伐,航空訂票業(yè)務(wù)也日益發(fā)展了起來(lái)。它的發(fā)展不僅給人們帶來(lái)了很大的便利性,還在很大程度上減輕了其管理人員的工作壓力。
在航空訂票系統(tǒng)的開(kāi)發(fā)過(guò)程中遵循了軟件的生命周期:?jiǎn)栴}的定義、需求分析、軟件設(shè)計(jì)、程序編碼、軟件測(cè)試這五個(gè)階段。本系統(tǒng)前臺(tái),新客戶(hù)可進(jìn)行注冊(cè);若老客戶(hù)忘記密碼,可在忘記密碼頁(yè)面重置密碼;老客戶(hù)登錄進(jìn)入本系統(tǒng)后,可進(jìn)行航班的查詢(xún),機(jī)票的預(yù)定、取消訂單、支付、退票;可進(jìn)行訂單的查詢(xún)及客戶(hù)密碼的修改;客戶(hù)在幫助中心可進(jìn)行留言。本系統(tǒng)后臺(tái),管理人員對(duì)客戶(hù)信息、留言可進(jìn)行查詢(xún);對(duì)航班可進(jìn)行查增刪改操作;對(duì)客戶(hù)訂單可查詢(xún)及定期進(jìn)行刪除;高級(jí)管理員可對(duì)所有管理員進(jìn)行查詢(xún)及增刪改操作,普通管理員只能對(duì)自身信息進(jìn)行操作。
本航空訂票系統(tǒng)是利用ASP.NET技術(shù)及C#編程語(yǔ)言來(lái)實(shí)現(xiàn)的,用數(shù)據(jù)庫(kù)SQL Server 2000來(lái)存儲(chǔ)信息,并采用基于XML的三層瀏覽器/服務(wù)器體系結(jié)構(gòu)。
關(guān)鍵詞: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)的研究?jī)?nèi)容和意義 1
1.2 國(guó)內(nèi)外的發(fā)展概況 1
1.3 本系統(tǒng)應(yīng)達(dá)到的要求 1
1.4 系統(tǒng)運(yùn)行環(huán)境 2
1.5 論文主要結(jié)構(gòu) 2
2 相關(guān)技術(shù) 3
2.1 ASP.NET技術(shù) 3
2.2 C#技術(shù) 3
2.3 SQL Server 2000技術(shù) 4
2.4 本章小結(jié) 5
3 航空訂票系統(tǒng)系統(tǒng)分析 7
3.1 可行性研究 7
3.2 系統(tǒng)需求分析 7
3.2.1 系統(tǒng)需求分析描述 7
3.2.2 數(shù)據(jù)流分析 8
3.2.3 數(shù)據(jù)字典 10
3.2.4 系統(tǒng)功能需求 11
3.2.5 系統(tǒng)性能需求 12
3.3 本章小結(jié) 12
4 航空訂票系統(tǒng)功能設(shè)計(jì) 13
4.1 系統(tǒng)功能描述 13
4.2 系統(tǒng)數(shù)據(jù)流程圖 13
4.3 系統(tǒng)功能描述及模塊示意圖 15
4.3.1 系統(tǒng)功能總描述及總模塊圖 15
4.3.2 系統(tǒng)詳細(xì)功能描述及功能模塊圖 16
4.4 本章小結(jié) 19
5 航空訂票系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 21
5.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 21
5.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 23
5.3 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì) 24
5.5 本章小結(jié) 30
6 航空訂票系統(tǒng)界面及主要程序 31
6.1 航空訂票系統(tǒng)前臺(tái)界面 31
6.1.1 主界面 31
6.1.2 登錄界面 34
6.1.3 注冊(cè)界面 36
6.1.4 忘記密碼界面 39
6.1.5 查詢(xún)航班界面 39
6.1.6 預(yù)定航班界面 41
6.1.7 退票服務(wù)界面 46
6.1.8 我的訂單界面 48
6.1.9 幫助中心界面 50
6.2 航空訂票系統(tǒng)后臺(tái)界面 50
6.2.1 管理員登錄界面 50
6.2.2 用戶(hù)管理界面 51
6.2.3 航班管理界面 53
6.2.4 訂單管理界面 55
6.2.5 管理信息界面 55
6.3 本章小結(jié) 58
7 軟件模塊集成測(cè)試 59
7.1 航空訂票系統(tǒng)前臺(tái)集成測(cè)試 59
7.2 航空訂票系統(tǒng)后臺(tái)集成測(cè)試 61
7.3 本章小結(jié) 62
8 幫助信息及使用說(shuō)明 63
8.1 系統(tǒng)前臺(tái)的幫助信息及使用說(shuō)明 63
8.2 系統(tǒng)后臺(tái)的幫助信息及使用說(shuō)明 63
9 結(jié)論與展望 65
9.1 結(jié)論 65
9.2 不足之處及未來(lái)展望 65
致 謝 67
參考文獻(xiàn) 68
VII
基于.NET的航空訂票系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)
1 緒論
1.1 航空訂票系統(tǒng)的研究?jī)?nèi)容和意義
近年來(lái),計(jì)算機(jī)與互聯(lián)網(wǎng)的發(fā)展日益成熟,人們已看到它們?cè)诠δ苌纤l(fā)揮的強(qiáng)大之處,它們?cè)谌祟?lèi)生活中扮演著越來(lái)月重要的角色,逐漸深入人類(lèi)社會(huì)的各個(gè)領(lǐng)域。并且,在世界經(jīng)濟(jì)迅猛發(fā)展的前提下,人們對(duì)于利用飛機(jī)出行的需求在不斷的在增加,然傳統(tǒng)的售票方式已經(jīng)不能滿(mǎn)足人們的要求了。因此,通過(guò)航空訂票系統(tǒng)這個(gè)平臺(tái),可以解決機(jī)票訂購(gòu)高峰時(shí)期大量數(shù)據(jù)的處理問(wèn)題,提高工作人員的工作效率,使得管理人員的工作方便簡(jiǎn)潔很多,使得機(jī)票訂購(gòu)與日常管理能夠得以改善。同時(shí),乘客也能享受到更便利更快捷的航空服務(wù)。更是給航空公司帶來(lái)了無(wú)限的商機(jī)。
航空訂票是一個(gè)非常復(fù)雜的過(guò)程,它涉及客戶(hù)基本信息的管理、航班的的基本信息管理、每一條訂單與客戶(hù)間的聯(lián)系、每一條訂單與航班見(jiàn)的聯(lián)系,因此,航空訂票系統(tǒng)是一個(gè)涉及管理內(nèi)容眾多,數(shù)據(jù)關(guān)系復(fù)雜的系統(tǒng)。本航空系統(tǒng)的開(kāi)發(fā)主要分為程序軟件的開(kāi)發(fā)及對(duì)數(shù)據(jù)庫(kù)的建立兩部分。對(duì)程序軟件的前臺(tái)開(kāi)發(fā),對(duì)用戶(hù)的需求要有完整性,并且得讓用戶(hù)使用起來(lái)方便;對(duì)數(shù)據(jù)庫(kù)的后臺(tái)建立,要使得數(shù)據(jù)庫(kù)具備一致性、完整性、安全性、獨(dú)立性、易擴(kuò)展性等功能。
1.2 國(guó)內(nèi)外的發(fā)展概況
從邁入21世紀(jì)開(kāi)始,在這個(gè)新的歷史時(shí)期電子商務(wù)探索發(fā)展了十多年,電子商務(wù)讓更多的商家找到了新的平臺(tái)。網(wǎng)上訂票也是一種電子商務(wù),近年來(lái)網(wǎng)上訂票日漸流行,其優(yōu)越性使得國(guó)內(nèi)外著手研制自己的網(wǎng)上訂票系統(tǒng)的航空公司越來(lái)越多,因?yàn)樗哂芯薮蟮默F(xiàn)代商業(yè)價(jià)值。它打破了常規(guī)的買(mǎi)賣(mài)方式,為客戶(hù)提供了全天候的服務(wù)。
國(guó)內(nèi)近幾年隨著人們生活質(zhì)量的提高,更多的人選擇使用飛機(jī)作為長(zhǎng)途出行的交通工具,在加上計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)的迅速發(fā)展,航空訂票業(yè)務(wù)也就隨著發(fā)展了起來(lái)。隨著旅游業(yè)的日益成熟,航空客運(yùn)量在大幅度的提高,國(guó)內(nèi)的各大航空公司都在不斷的增加航班,這些都對(duì)航空管理系統(tǒng)提出了更高的要求,因此航空訂票系統(tǒng)要不斷的完善及更新,從而提高航空訂票的工作效率故而,航空訂票系統(tǒng)在國(guó)內(nèi)的發(fā)展日漸成熟。
相對(duì)于國(guó)外而言,他們的計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)都比我國(guó)發(fā)展的快發(fā)展的成熟,對(duì)于旅游業(yè)來(lái)說(shuō),也比我國(guó)的發(fā)展來(lái)的成熟,所以他們?cè)诰W(wǎng)絡(luò)應(yīng)用這一方面比我國(guó)成熟,技術(shù)與應(yīng)用領(lǐng)域也比我們來(lái)的成熟與廣泛。在1994年,率先推出網(wǎng)上售票系統(tǒng)的是美國(guó)聯(lián)合航空公司。發(fā)展至今,國(guó)外的航空訂票業(yè)務(wù)在功能上做的越來(lái)越完善。
1.3 本系統(tǒng)應(yīng)達(dá)到的要求
在我們開(kāi)發(fā)軟件時(shí),并不是一味的在系統(tǒng)中添加功能等,因?yàn)椴徽撐覀儼严到y(tǒng)做的有多完美,不能滿(mǎn)足用戶(hù)的需求之前做的也都是徒然的。所以,在開(kāi)發(fā)本軟件之前我們一定要對(duì)用戶(hù)的需求足夠了解。這樣才可以在完成本系統(tǒng)時(shí),在用戶(hù)滿(mǎn)意的同時(shí),自己也能因此得到一定得促進(jìn)。
系統(tǒng)前臺(tái),新客戶(hù)要能進(jìn)行注冊(cè);老客戶(hù)忘記密碼,要能重置密碼;老客戶(hù)登錄進(jìn)入系統(tǒng),要能進(jìn)行航班的查詢(xún),機(jī)票的預(yù)定、取消訂單、支付、退票;能進(jìn)行訂單的查詢(xún)及客戶(hù)密碼的修改;用戶(hù)能留言。系統(tǒng)后臺(tái),管理人員對(duì)用戶(hù)信息、留言能查詢(xún)及刪除;對(duì)航班要能查詢(xún)、增加、刪除及更改;對(duì)客戶(hù)訂單要能查詢(xún)及定期進(jìn)行刪除;高級(jí)管理員能更改所有管理員的信息,能增加或刪除某個(gè)管理人員;普通管理員只能對(duì)自己的信息進(jìn)行更改。比較系統(tǒng)地對(duì)航空訂票的信息及各項(xiàng)服務(wù)進(jìn)行管理,使數(shù)據(jù)管理更人性化、自動(dòng)化、智能化、自動(dòng)化、現(xiàn)代化人性化。
從Web興起后就形成了一種新的網(wǎng)絡(luò)結(jié)構(gòu)模式Browser/Web 模式,并且客戶(hù)端最主要的應(yīng)用軟件也是Web瀏覽器,這種B/S模式統(tǒng)一了客戶(hù)端,將系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用簡(jiǎn)化了,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上。
航空訂票系統(tǒng)的軟件必需要不斷更新,不斷自我完善的。所以,利用網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的結(jié)合,應(yīng)用基于Browser/Web 模式及ASP.NET技術(shù)來(lái)設(shè)計(jì)航空訂票系統(tǒng)。
1.4 系統(tǒng)運(yùn)行環(huán)境
⑴ 服務(wù)器端
操作系統(tǒng):Windows XP
數(shù)據(jù)庫(kù)服務(wù)器:SQL Server 2000
瀏覽器:Google Chrome
⑵ 客戶(hù)端
瀏覽器:Google Chrome
1.5 論文主要結(jié)構(gòu)
本論文是“基于.NET的航空訂票系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)”,論文的內(nèi)容是根據(jù)軟件工程的開(kāi)發(fā)理論,系統(tǒng)地對(duì)本課題進(jìn)行講解。
整篇論文包含9個(gè)章節(jié),具體內(nèi)容如下:
第1章 緒論。介紹了航空訂票系統(tǒng)的開(kāi)發(fā)背景意義、國(guó)內(nèi)外的發(fā)展概況、本課題應(yīng)該達(dá)到的要求及系統(tǒng)運(yùn)行的環(huán)境。
第2章 相關(guān)技術(shù)。介紹了ASP.NET技術(shù)、C#技術(shù)、SQL Server 2000,為下面的學(xué)習(xí)提供了基礎(chǔ)。
第3章 航空訂票系統(tǒng)的系統(tǒng)分析。介紹了系統(tǒng)的可行性研究及需求分析。
第4章 航空訂票系統(tǒng)的功能設(shè)計(jì)。介紹了系統(tǒng)的詳細(xì)功能描述、系統(tǒng)流程分析、系統(tǒng)功能模塊的詳細(xì)描述及功能模塊圖。
第5章 航空訂票系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。介紹了數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)(E-R設(shè)計(jì))、邏輯結(jié)構(gòu)、物理結(jié)構(gòu)及數(shù)據(jù)字典。
第6章 航空訂票系統(tǒng)的實(shí)現(xiàn)。介紹了每個(gè)界面的實(shí)現(xiàn)及功能和系統(tǒng)使用到控件的具體用法。
第7章 系統(tǒng)測(cè)試。對(duì)系統(tǒng)的每個(gè)模塊機(jī)功能進(jìn)行詳細(xì)的測(cè)試,去發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤。
第8章 幫助信息及使用說(shuō)明。主要講述了整個(gè)系統(tǒng)每個(gè)模塊的操作流程。
第9章 結(jié)論與展望。講述對(duì)本次設(shè)計(jì)的總結(jié),與對(duì)本次設(shè)計(jì)不足之處的說(shuō)明。
2 相關(guān)技術(shù)
2.1 ASP.NET技術(shù)
ASP.NET是由Microsoft公司提出的一個(gè)統(tǒng)一的WEB開(kāi)發(fā)模型。ASP.NET不僅僅是Active Server Page的下一個(gè)版本,還是一種建立在通用語(yǔ)言上的程序架構(gòu),能在WEB服務(wù)器上建立強(qiáng)大的WEB應(yīng)用程序。ASP.NET的開(kāi)發(fā)模式比現(xiàn)在的WEB開(kāi)發(fā)模式強(qiáng)大[1]。
⑴ 簡(jiǎn)單性和易學(xué)性
ASP.NET使運(yùn)行一些平常的任務(wù)如客戶(hù)端的身份驗(yàn)證、表單的提交、網(wǎng)站配置和分布系統(tǒng)變得很簡(jiǎn)單。另外,通用語(yǔ)言的簡(jiǎn)化開(kāi)發(fā)使得把代碼結(jié)合成軟件簡(jiǎn)單得就像裝配電腦[1]。
⑵ 強(qiáng)大性和適應(yīng)性
可以在WEB應(yīng)用軟件開(kāi)發(fā)者的幾乎所有平臺(tái)上運(yùn)行。通用語(yǔ)言的數(shù)據(jù)接口的處理、基本庫(kù)、消息機(jī)制都能無(wú)縫整合到ASP.NET的WEB應(yīng)用中。ASP.NET也是language-independent語(yǔ)言獨(dú)立化的,所以可以選擇一種最適合自己的語(yǔ)言來(lái)編寫(xiě)程序,也可以使用多種語(yǔ)言來(lái)編寫(xiě),現(xiàn)在已經(jīng)支持的有C#、VB、JScript等[1]。
⑶ 世界級(jí)的工具支持
在Microsoft公司的產(chǎn)品Visual Studio.NET環(huán)境中ASP.NET架構(gòu)可以進(jìn)行開(kāi)發(fā),WYSIWYG的編輯[1]。
⑷ 大幅度提高執(zhí)行效率
ASP.NET是程序放在服務(wù)器上運(yùn)行。和以前即時(shí)解釋程序的ASP不同,ASP.NET將程序首次在服務(wù)器端運(yùn)行時(shí)就進(jìn)行了編譯,這樣的執(zhí)行效果比即時(shí)解釋程序要強(qiáng)得多[1]。
⑸ 可擴(kuò)展性和自定義性
ASP.NET設(shè)計(jì)時(shí)考慮了讓網(wǎng)站程序員可以在代碼中自己定義plug-in模塊。這和原來(lái)的包含關(guān)系不同,ASP.NET能加入通過(guò)自己定義的所有控件[1]。
⑹ 安全性
基于應(yīng)用程序的配置和Windows認(rèn)證技術(shù),可以保證源程序的絕對(duì)安全[1]。
2.2 C#技術(shù)
C#作是Microsoft 公司為其全新的.NET框架專(zhuān)門(mén)創(chuàng)建的編程語(yǔ)言。不但結(jié)合了Java語(yǔ)言簡(jiǎn)潔和C++強(qiáng)大靈活的特性,而且吸取了Visual Basic和Delphi具有的易用性,因而是一種表達(dá)力豐富、使用簡(jiǎn)單、功能強(qiáng)大的語(yǔ)言[2]。
C#簡(jiǎn)單易學(xué),而且語(yǔ)法表現(xiàn)力強(qiáng)。C#語(yǔ)法簡(jiǎn)化了C++的諸多復(fù)雜性,并提供了很強(qiáng)大的功能,例如可為直接內(nèi)存訪(fǎng)問(wèn)、委托、null的值類(lèi)型、枚舉、lambda表達(dá)式,這些都是Java沒(méi)有的。C#支持范型類(lèi)型和方法,從而提供了更出色的類(lèi)型性能和安全[3]。
C#是面向?qū)ο蟮恼Z(yǔ)言,支持多態(tài)性、封裝和繼承的概念。所有的方法和變量,包括Main方法,都封裝在類(lèi)的定義中。類(lèi)從一個(gè)父類(lèi)可能直接繼承,但它能實(shí)現(xiàn)任意數(shù)量的接口。重寫(xiě)父類(lèi)中的虛方法的各種方法要求override關(guān)鍵字作為一種避免意外重定義的方法。在C#中,結(jié)構(gòu)類(lèi)似于一個(gè)輕量類(lèi);它是一種堆棧分配的類(lèi)型,可以實(shí)現(xiàn)接口,但不支持繼承[3]。
C#還通過(guò)幾種創(chuàng)新的語(yǔ)言構(gòu)造簡(jiǎn)化了軟件組織的開(kāi)發(fā),這些結(jié)構(gòu)包括[3]:
⑴ 語(yǔ)言集成查詢(xún)(LINQ),提供了跨各種數(shù)據(jù)源的內(nèi)置查詢(xún)功能。
⑵ 封裝的方法簽名(稱(chēng)為“委托”),它實(shí)現(xiàn)了類(lèi)型安全的事件通知;
⑶ 屬性(Property),充當(dāng)私有成員變量的訪(fǎng)問(wèn)器;
⑷ 屬性(Attribute),提供關(guān)于運(yùn)行時(shí)類(lèi)型的聲明性元數(shù)據(jù);
⑸ 內(nèi)聯(lián)XML文檔注釋?zhuān)?
在C#中,如果必須與其他Windows軟件交互,則可以通過(guò)一個(gè)稱(chēng)為“互操作”的過(guò)程來(lái)實(shí)現(xiàn)?;ゲ僮魇笴#程序能夠完成本機(jī)C++應(yīng)用程序可以完成的幾乎任何任務(wù)。在直接內(nèi)存訪(fǎng)問(wèn)必不可少的情況下,C#甚至支持指針和“不安全”代碼的概念[3]。
C#的生成過(guò)程比C、C++和Java簡(jiǎn)單靈活。沒(méi)有單獨(dú)的頭文件,也不要求按照特定順序聲明類(lèi)型和方法。C#源文件能定義任意數(shù)量的事件、類(lèi)、結(jié)構(gòu)和接口[3]。
2.3 SQL Server 2000技術(shù)
在SQL Server 7.0的基礎(chǔ)上推出了SQL Server 2000,SQL Server 2000繼承了7.0版本的高性能、可靠性、易用性和可擴(kuò)充性的優(yōu)點(diǎn),同時(shí)又增加了一些新的特性,使其成為一種領(lǐng)先的數(shù)據(jù)庫(kù)管理系統(tǒng),可用于大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉(cāng)庫(kù)及電子商務(wù)等[4]。
SQL Server 2000包含管理工具SQL Server Management Studio , Management Studio將Enterprise Manager,Query Analyzer 及Analysis Manager 的功能結(jié)合為一整個(gè)管理工具,并支持SQL Server Reporting Services,XML及SQL Server 2000 Mobile Edition[4]。
⑴ 客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)
SQL Server采用客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu),客戶(hù)機(jī)負(fù)責(zé)界面描述、界面顯示,向服務(wù)器提出處理要求;服務(wù)器負(fù)責(zé)數(shù)據(jù)管理、程序處理,并將處理結(jié)果返回客戶(hù)機(jī);在這種體系結(jié)構(gòu)中數(shù)據(jù)資源是集中存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器里,而不是分別存儲(chǔ)在各個(gè)客戶(hù)機(jī)內(nèi),有效的實(shí)現(xiàn)數(shù)據(jù)共享[4]。
⑵ 圖形化的用戶(hù)界面
SQL Server 2000的圖形化用戶(hù)界面使數(shù)據(jù)庫(kù)管理和系統(tǒng)管理更加簡(jiǎn)單直觀。特別是SQL Server 2000在查詢(xún)分析器、日志存儲(chǔ)和事件探查器的圖形操作界面上做了較大的改進(jìn)。對(duì)日志存儲(chǔ)的改進(jìn)可以使用戶(hù)可以連續(xù)不斷地將事務(wù)日志進(jìn)行備份并裝載到另一臺(tái)服務(wù)器上的目標(biāo)數(shù)據(jù)庫(kù);對(duì)事件探查器的改進(jìn)可以使用戶(hù)使用基于時(shí)間和基于空間的跟蹤,同時(shí)增加了許多可以跟蹤的事件;查詢(xún)分析器增加了對(duì)象瀏覽器組件,使用戶(hù)可以瀏覽并獲取服務(wù)器上數(shù)據(jù)庫(kù)對(duì)象的信息[4]。
⑶ 兼容性好
在Windows占操作系統(tǒng)主導(dǎo)地位的情況下,選擇SQL Server在兼容性方面一定會(huì)有優(yōu)勢(shì)多的。然,SQL Server 2000除有擴(kuò)展性及可靠性外,還具有迅速開(kāi)發(fā)新因特網(wǎng)系統(tǒng)的功能。特別是它可以直接存儲(chǔ)xml數(shù)據(jù),有利于構(gòu)建異構(gòu)系統(tǒng)的互操作性。這些在.NET中發(fā)揮這重要作用[4]。
⑷ 電子商務(wù)
在使用SQL Server 2000數(shù)據(jù)庫(kù)引擎的情況下,xml數(shù)據(jù)在關(guān)系表中進(jìn)行存儲(chǔ),而查詢(xún)則能以xml格式將其結(jié)果返回。此外,xml支持還簡(jiǎn)化后端系統(tǒng)的集成,并實(shí)現(xiàn)了跨越防火墻的無(wú)縫數(shù)據(jù)傳輸[4]。
⑸ 支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)
SQL Server 2000的分布式查詢(xún)?cè)试S用戶(hù)同時(shí)引用多處數(shù)據(jù)源,但其友好的界面卻使用戶(hù)始終以為是在操作同一個(gè)數(shù)據(jù)源。為了滿(mǎn)足現(xiàn)代企業(yè)對(duì)大規(guī)模數(shù)據(jù)進(jìn)行有效分析和使用的要求,SQL Server 2000提供了一系列提取、分析、總結(jié)數(shù)據(jù)的根據(jù),從而可以實(shí)現(xiàn)聯(lián)機(jī)分析處理[4]。
2.4 本章小結(jié)
本章節(jié)主要講了在系統(tǒng)設(shè)計(jì)過(guò)程中所涉及到的相關(guān)技術(shù)。對(duì)于本章中講到的ASP.NET技術(shù)、SQL Server技術(shù)等對(duì)于本系統(tǒng)的設(shè)計(jì)是相當(dāng)重要的。設(shè)計(jì)者只有真正了解及掌握了這些技術(shù),才能更好的完成本系統(tǒng)要實(shí)現(xiàn)的功能。這里也只是大概講解了一下所涉及技術(shù)的特性,若要仔細(xì)了解可以查看相應(yīng)的參考資料。
3 航空訂票系統(tǒng)系統(tǒng)分析
3.1 可行性研究
航空訂票系統(tǒng)最基本及最重要的就是客戶(hù)的訂票及退票功能,及管理員對(duì)航班的更新及錄入。由它們組成了航空訂票系統(tǒng)的前臺(tái)服務(wù)與后臺(tái)管理。在現(xiàn)代社會(huì)航空訂票系統(tǒng)是必須的。下面是對(duì)航空訂票系統(tǒng)從技術(shù)、經(jīng)濟(jì)、管理上進(jìn)行的可行性分析。
⑴ 技術(shù)可行性:三層邏輯體系結(jié)構(gòu)是WEB項(xiàng)目較為流行的開(kāi)發(fā)模式。采用最新技術(shù)B/S架構(gòu),降低了客戶(hù)端電腦的負(fù)荷,減輕了系統(tǒng)升級(jí)與維護(hù)的工作量和成本。ASP.NET開(kāi)發(fā)技術(shù)是微軟力推的主流開(kāi)發(fā)技術(shù),與Windows操作系統(tǒng)無(wú)縫集成、擴(kuò)展性好,使用ASP結(jié)合ActiveX組件、HTML網(wǎng)頁(yè)和ASP指令可以快速地建立高效、動(dòng)態(tài)、且交互的Web服務(wù)器應(yīng)用程序[6]。
⑵ 經(jīng)濟(jì)可行性:航空公司采用網(wǎng)上訂票系統(tǒng)全天后為客戶(hù)服務(wù),方便客戶(hù)隨時(shí)隨地購(gòu)票,這樣就給其公司帶來(lái)了更大的經(jīng)濟(jì)效益;本系統(tǒng)實(shí)施后,也可以節(jié)省航空公司購(gòu)買(mǎi)客戶(hù)端服務(wù)機(jī)的成本,使得資金可以加速周轉(zhuǎn)。這樣就能節(jié)省大量的人力、時(shí)間及財(cái)力。所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。
⑶ 管理可行性:本系統(tǒng)帶有后臺(tái)管理,對(duì)于客戶(hù)信息、航班基本信息、訂單信息、客戶(hù)留言信息、管理員信息等都有詳細(xì)的管理。根據(jù)管理員的權(quán)限不同,所能管理的范圍也是有所差別的。
3.2 系統(tǒng)需求分析
3.2.1 系統(tǒng)需求分析描述
航空訂票系統(tǒng)用于提高訂票服務(wù)和管理的效率。首先,分析使用這個(gè)系統(tǒng)的應(yīng)是客戶(hù)和管理人員,所以把系統(tǒng)整體分為前臺(tái)、后臺(tái)兩部分。因此,應(yīng)提供客戶(hù)查詢(xún)、訂票、購(gòu)票、退票的服務(wù),客戶(hù)對(duì)于訂單的查詢(xún)及對(duì)網(wǎng)站的留言;管理人員對(duì)客戶(hù)、航班、訂單等的管理。減少了手工輸入的過(guò)程,界面盡量做到友好,使客戶(hù)和管理員易學(xué)易懂。本系統(tǒng)在設(shè)計(jì)還要充分考慮系統(tǒng)的可擴(kuò)展性和商業(yè)活動(dòng)特有的流程,一個(gè)良好的前期設(shè)計(jì)會(huì)使系統(tǒng)具有優(yōu)秀的擴(kuò)展能力并且便于維護(hù)[7]。
本系統(tǒng)主要處理的數(shù)據(jù)有:客戶(hù)的基本信息,如用戶(hù)編號(hào)(id)、用戶(hù)名(username)、用戶(hù)密碼(password)、電子郵件(email_add)、聯(lián)系方式(telephone)等;航班信息,如航班號(hào)(hanBan)、出發(fā)地(chuFa)、目的地(muDi)、日期(flag)等;訂單信息,如訂單號(hào)(id)、用戶(hù)名(username)、乘客(xingming)、證件(shengfen)、證件號(hào)(shengfenzhenghao)等??蛻?hù)登錄后可以看到以上信息,并可以對(duì)他們進(jìn)行查詢(xún)。還有后臺(tái)管理員的數(shù)據(jù)信息,如管理員編號(hào)(id)、管理員(adminName)、密碼(password)、權(quán)限(flag)等。后臺(tái)管理人員可以對(duì)以上信息進(jìn)行查詢(xún)及增刪改。
基于以上系統(tǒng)涉及的數(shù)據(jù)處理,B/S模式實(shí)現(xiàn)的航空訂票系統(tǒng)具體涉及以下幾個(gè)方面:
⑴ 能方便客戶(hù)對(duì)機(jī)票進(jìn)行查詢(xún)、預(yù)定、購(gòu)買(mǎi)及退票;
⑵ 能實(shí)現(xiàn)對(duì)航班的基本查詢(xún);
⑶ 能實(shí)現(xiàn)對(duì)本網(wǎng)站的留言;
⑷ 能實(shí)現(xiàn)后臺(tái)管理員對(duì)航班的錄入、查詢(xún)、更改、刪除等;
⑸ 實(shí)現(xiàn)訂單查詢(xún)的主從表;
⑹ 系統(tǒng)具有操作方便、簡(jiǎn)潔等功能。
B/S系統(tǒng)的數(shù)據(jù)間是密切聯(lián)系、緊密依賴(lài)與聯(lián)動(dòng)的,數(shù)據(jù)庫(kù)存放在企業(yè)服務(wù)器上的SQL Sever 2000數(shù)據(jù)庫(kù)管理系統(tǒng)中。
3.2.2 數(shù)據(jù)流分析
在調(diào)研和分析航空訂票系統(tǒng)過(guò)程的基礎(chǔ)上,發(fā)現(xiàn)航空訂票系統(tǒng)的流程是至關(guān)重要的,所以分析數(shù)據(jù)得出了數(shù)據(jù)流圖。
⑴ 管理員對(duì)客戶(hù)信息的管理,在邏輯功能上可以分為:“產(chǎn)生客戶(hù)信息”、“接受客戶(hù)信息”、“處理客戶(hù)信息”三個(gè)步驟,如圖3.1所示。
圖3.1 用戶(hù)管理數(shù)據(jù)流圖
⑵ 管理員對(duì)航班信息的管理,在邏輯功能上可以分為:“產(chǎn)生航班信息”、“處理航班信息”、“查詢(xún)航班信息”三個(gè)步驟,如圖3.2所示。
圖3.2 航班管理數(shù)據(jù)流圖
⑶ 管理員對(duì)訂單信息的管理,在邏輯功能上可以分為:“產(chǎn)生訂單信息”、“接受訂單信息”、“處理訂單信息”三個(gè)步驟,如圖3.3所示。
圖3.3 訂單管理數(shù)據(jù)流圖
⑷ 管理員對(duì)管理員信息、公告信息、旅游資訊的管理,在邏輯功能上可以分為:“產(chǎn)生信息”、“處理信息”兩個(gè)步驟,如圖3.4所示。
圖3.4 管理員信息及公告信息數(shù)據(jù)流圖
⑸ 總的數(shù)據(jù)流圖,如圖3.5所示。
圖3.5 系統(tǒng)總數(shù)據(jù)流圖
3.2.3 數(shù)據(jù)字典
數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,數(shù)據(jù)字典則是系統(tǒng)中各類(lèi)數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過(guò)程5個(gè)部分[10]。以下面數(shù)據(jù)字典的卡片來(lái)舉例說(shuō)明。
⑴ 數(shù)據(jù)結(jié)構(gòu)。以“usernameTable”為例。
·名字:usernameTable;
·別名:客戶(hù)信息;
·描述:航空訂票系統(tǒng)的注冊(cè)信息;
·定義:客戶(hù)信息=客戶(hù)編號(hào)+客戶(hù)名+密碼+性別+電話(huà)+郵箱+提示問(wèn)題+提示答案+注冊(cè)時(shí)間;
·位置:保存到usernameTable表中。
⑵ 數(shù)據(jù)項(xiàng)。以數(shù)據(jù)結(jié)構(gòu)“usernameTable”的數(shù)據(jù)項(xiàng)“username”為例。
·名字:username;
·別名:客戶(hù)名;
·描述:唯一標(biāo)識(shí)客戶(hù)的編號(hào);
·定義:字符型;
·位置:在usernameTable,dingDanTable,messageTable中。
⑶ 數(shù)據(jù)流。以數(shù)據(jù)結(jié)構(gòu)“usernameTable”在系統(tǒng)內(nèi)的流動(dòng)為例。
·數(shù)據(jù)流名:客戶(hù)注冊(cè)信息;
·說(shuō)明:“usernameTable”數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)的流向;
·數(shù)據(jù)流來(lái)源:客戶(hù)注冊(cè)處理;
·數(shù)據(jù)流去向:usernameTable表;
·平均流量:不定;
·高峰期流量:不定。
⑷ 數(shù)據(jù)存儲(chǔ)。以數(shù)據(jù)結(jié)構(gòu)“usernameTable”在系統(tǒng)內(nèi)的存儲(chǔ)為例。
·數(shù)據(jù)存儲(chǔ)名:usernameTable表;
·說(shuō)明:客戶(hù)注冊(cè)信息及管理員審核信息;
·編號(hào):每個(gè)客戶(hù)有一個(gè)唯一的識(shí)別客戶(hù)名;
·輸入的數(shù)據(jù)流:客戶(hù)注冊(cè)信息;
·輸出的數(shù)據(jù)流:管理員審核的信息;
·數(shù)據(jù)結(jié)構(gòu):usernameTable;
·數(shù)據(jù)量:不定;
·存取頻率:不定;
·存取方法:聯(lián)機(jī)處理、查詢(xún)與更新、順序查詢(xún)與隨機(jī)查詢(xún)。
⑸ 處理過(guò)程。以“客戶(hù)注冊(cè)”為例。
·處理過(guò)程名:客戶(hù)注冊(cè);
·說(shuō)明:客戶(hù)提交注冊(cè)信息;
·輸入:客戶(hù)編號(hào)、客戶(hù)名、密碼;
·輸出:保存到usernameTable表中;
·處理:對(duì)用戶(hù)名進(jìn)行唯一性驗(yàn)證,密碼和確認(rèn)密碼性驗(yàn)證。
以上通過(guò)示例說(shuō)明了數(shù)據(jù)字典的基本表示方法,只是起到引導(dǎo)的作用。完整詳盡的數(shù)據(jù)字典應(yīng)根據(jù)實(shí)際的系統(tǒng)需求分析,在充分調(diào)研、分析、討論的基礎(chǔ)上建立,并將在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中不斷修改、充實(shí)、完善。
3.2.4 系統(tǒng)功能需求
經(jīng)研究分析系統(tǒng)分為前臺(tái)服務(wù)和后臺(tái)管理。
前臺(tái)服務(wù)系統(tǒng)分為以下幾大功能:
⑴ 新客戶(hù)進(jìn)行注冊(cè),老客戶(hù)可以直接登錄,若忘記密碼可以進(jìn)行密碼重置;
⑵ 客戶(hù)進(jìn)入系統(tǒng)可以查詢(xún)到航班信息,然后可以進(jìn)行機(jī)票的預(yù)定、購(gòu)買(mǎi),對(duì)購(gòu)買(mǎi)的票要進(jìn)行退票,必須在航班起飛前兩個(gè)小時(shí)之前進(jìn)行退票操作;
⑶ 在我的訂單中,客戶(hù)可以查詢(xún)到未完成支付的訂單、十天之內(nèi)的所有訂單、客戶(hù)的基本信息及可進(jìn)行密碼修改的操作;
⑷ 在幫助信息中,說(shuō)明了客戶(hù)如何對(duì)本網(wǎng)站進(jìn)行操作及對(duì)本網(wǎng)站客戶(hù)的一些要求,客戶(hù)若對(duì)本航空網(wǎng)站或是航空公司有什么意見(jiàn)或建議可以進(jìn)行留言操作。
后臺(tái)管理系統(tǒng)分為以下幾大功能:
⑴ 管理員可以查詢(xún)到客戶(hù)的信息及留言信息,對(duì)留言信息還可進(jìn)行定期的刪除;
⑵ 對(duì)航班的信息,管理員可以進(jìn)行查詢(xún)、增加、刪除、更改;
⑶ 對(duì)客戶(hù)的訂單信息,管理員可以進(jìn)行查詢(xún)、刪除操作;
⑷ 對(duì)管理員自身的信息,可以進(jìn)行刪除及更改操作;權(quán)限最高的管理員可對(duì)所有管理員信息進(jìn)行曾刪改查;所有管理員對(duì)公告信息和旅游資訊的查詢(xún)、增加、刪除及更改操作。
3.2.5 系統(tǒng)性能需求
⑴ 數(shù)據(jù)的準(zhǔn)確性與精準(zhǔn)性
一個(gè)完善的訂票系統(tǒng)是每個(gè)航空公司都應(yīng)擁有的。一個(gè)訂票系統(tǒng)必須能夠及時(shí)的將航班信息反映在系統(tǒng)中,以便能夠安排新的航班。并且,應(yīng)能及時(shí)地將航班信息反饋給客戶(hù),以便客戶(hù)進(jìn)行查詢(xún)了解。尤其是在購(gòu)票高峰期時(shí),更能體現(xiàn)出一個(gè)完善的訂票系統(tǒng)的重要性。對(duì)于這個(gè)系統(tǒng)的實(shí)現(xiàn),數(shù)據(jù)的準(zhǔn)確性要求是非常高的,任何細(xì)小的誤差都會(huì)導(dǎo)致整個(gè)航空業(yè)務(wù)出現(xiàn)嚴(yán)重的問(wèn)題。
⑵ 系統(tǒng)的可擴(kuò)充性和開(kāi)放性
訂票系統(tǒng)在設(shè)計(jì)與開(kāi)發(fā)過(guò)程的時(shí)候,系統(tǒng)以后的可擴(kuò)充性應(yīng)充分考慮。例如,查詢(xún)方式的改進(jìn),要求系統(tǒng)能夠進(jìn)行功能的擴(kuò)充及調(diào)整。而要實(shí)現(xiàn)著一點(diǎn),就要求系統(tǒng)有很好的開(kāi)放性,只要符合這點(diǎn),系統(tǒng)就可以簡(jiǎn)單的減少或加入功能模塊。通過(guò)對(duì)軟件的維護(hù)、修補(bǔ)完成系統(tǒng)的更新升級(jí)。
3.3 本章小結(jié)
本章講述了對(duì)整個(gè)系統(tǒng)的可行性研究及需求分析。在可行性研究方面,主要是從技術(shù)、經(jīng)濟(jì)、管理三個(gè)角度出發(fā)進(jìn)行研究調(diào)查的。在需求分析方面,主要是從數(shù)據(jù)流、功能、及性能方面進(jìn)行分析的。本章節(jié)對(duì)功能進(jìn)行了分析,下一章節(jié)將對(duì)功能模塊進(jìn)行詳細(xì)的闡述說(shuō)明。
4 航空訂票系統(tǒng)功能設(shè)計(jì)
4.1 系統(tǒng)功能描述
在上一章節(jié)已經(jīng)對(duì)系統(tǒng)功能進(jìn)行過(guò)分析,這里將對(duì)系統(tǒng)功能做更加詳細(xì)的描述。
前臺(tái)服務(wù)系統(tǒng)分為以下幾大功能:
⑴ 新客戶(hù)可以進(jìn)行注冊(cè)操作,若注冊(cè)的用戶(hù)名已存在,有提示信息,對(duì)于客戶(hù)注冊(cè)的用戶(hù)名、密碼、電子郵箱、密碼、提示問(wèn)題、提示答案都要有驗(yàn)證信息,若不達(dá)要求應(yīng)該會(huì)有提示信息;老客戶(hù)可以直接登錄系統(tǒng),在登錄時(shí)密碼錯(cuò)誤或是用戶(hù)名錯(cuò)誤都應(yīng)該有提示信息;若老客戶(hù)忘記密碼可以進(jìn)行密碼重置。
⑵ 客戶(hù)進(jìn)入系統(tǒng)可以看到十天的航班信息,在客戶(hù)輸入出發(fā)地、目的地及出發(fā)時(shí)間后,可以查詢(xún)到相應(yīng)的航班信息,然后可以進(jìn)行機(jī)票的預(yù)定,在機(jī)票預(yù)訂過(guò)程中會(huì)有訂單信息反饋給客戶(hù),以便客戶(hù)進(jìn)行確認(rèn)。退票服務(wù)是必須在航班起飛兩個(gè)小時(shí)之前才可以進(jìn)行的操作,并且只能單張退票。
⑶ 在我的訂單中,客戶(hù)可以看到未完成支付的訂單,能夠按照訂單日期或航班日期查詢(xún)到十天之內(nèi)的所有訂單,可以看到客戶(hù)的基本信息,并且客戶(hù)可進(jìn)行密碼修改的操作,當(dāng)密碼修改完畢后,必須要重新登錄。
⑷ 在幫助信息中,說(shuō)明客戶(hù)如何對(duì)本網(wǎng)站進(jìn)行操作及對(duì)本網(wǎng)站客戶(hù)的一些要求,客戶(hù)若對(duì)本航空網(wǎng)站或是航空公司有什么意見(jiàn)或建議能進(jìn)行留言操作,但留言?xún)?nèi)容不能超過(guò)1000個(gè)字。
后臺(tái)管理系統(tǒng)分為以下幾大功能:
⑴ 對(duì)客戶(hù)的信息及留言信息,管理員按照客戶(hù)的注冊(cè)日期可以查詢(xún)到客戶(hù)的基本信息,對(duì)留言信息管理員可按照留言日期進(jìn)行查詢(xún),可以看到詳細(xì)的留言?xún)?nèi)容,可以刪除某條留言?xún)?nèi)容,也能批量刪除留言?xún)?nèi)容。
⑵ 對(duì)航班的信息,管理員可以根據(jù)航班、航班日期、出發(fā)地、目的地查詢(xún)航班的信息,可以對(duì)某條航班信息進(jìn)行細(xì)節(jié)更改;管理員還可以增加刪除某一航班;還可對(duì)某一天的航班更改為另外一天的航班,然后在進(jìn)行航班的細(xì)節(jié)更改。
⑶ 對(duì)客戶(hù)的訂單信息,管理員可以按照訂單日期和航班日期進(jìn)行查詢(xún);但刪除的時(shí)候只能刪除按照航班日期查詢(xún)的訂單。
⑷ 權(quán)限最高的管理員可對(duì)所有管理員信息進(jìn)行增刪改查;所有管理員都可對(duì)旅游資訊和公告信息進(jìn)行查詢(xún)、增加、刪除及更改操作。
4.2 系統(tǒng)數(shù)據(jù)流程圖
圖4.1是對(duì)本系統(tǒng)前臺(tái)即客戶(hù)端的流程介紹??蛻?hù)進(jìn)入本系統(tǒng)的網(wǎng)站,首先進(jìn)入的是網(wǎng)站首頁(yè),新用戶(hù)可以進(jìn)行注冊(cè),然后登錄本網(wǎng)站;老用戶(hù)可以直接登錄進(jìn)入本系統(tǒng),然后在本網(wǎng)站進(jìn)行查詢(xún)航班、預(yù)定機(jī)票、退票服務(wù)、訂單查詢(xún)、修改密碼及留言等,還可以在登錄后的首頁(yè)看到本網(wǎng)站的公告信息、旅游景點(diǎn)的介紹等;若老用戶(hù)忘記密碼,可在進(jìn)行密碼重置操作。
圖4.1 系統(tǒng)前臺(tái)總流程圖
圖4.2是對(duì)本系統(tǒng)后臺(tái)即本航空訂票系統(tǒng)管理流程的介紹。管理員登錄進(jìn)入后臺(tái)管理界面后,在用戶(hù)管理中,可對(duì)用戶(hù)信息進(jìn)行查詢(xún)、對(duì)客戶(hù)留言信息進(jìn)行查詢(xún)、增刪改;在航班管理中,對(duì)航班可以進(jìn)行查詢(xún)、增加、刪除、某個(gè)航班的細(xì)節(jié)更改及航班的批量更改;在訂單管理中,管理員可以查詢(xún)客戶(hù)的訂單、刪除客戶(hù)的某條訂單記錄、刪除某天所有客戶(hù)的訂單及刪除某個(gè)日期前的所有客戶(hù)的訂單;在管理員信息中,權(quán)限最高的管理員可以查詢(xún)某個(gè)管理員的信息、增刪改管理員,普通管理員只能對(duì)自己的信息進(jìn)行修改,對(duì)網(wǎng)站的公告信息需要每天都進(jìn)行更新,還可進(jìn)行查詢(xún)、增加、刪除等操作,對(duì)旅游資訊可進(jìn)行上傳及查詢(xún)、刪除等操作。
圖4.2 系統(tǒng)后臺(tái)總流程圖
4.3 系統(tǒng)功能描述及模塊示意圖
4.3.1 系統(tǒng)功能總描述及總模塊圖
根據(jù)航空訂票系統(tǒng)的特點(diǎn),可以將其分為前臺(tái)服務(wù)模塊和后臺(tái)管理模塊進(jìn)行系統(tǒng)設(shè)計(jì)。前臺(tái)服務(wù)模塊是面向Internet上的客戶(hù),主要包括首頁(yè)、航班查詢(xún)、航班預(yù)定、退票服務(wù)、我的訂單及幫助中心等模塊;后臺(tái)管理模塊則是用于對(duì)網(wǎng)站及其信息進(jìn)行管理和維護(hù),主要包括用戶(hù)管理、航班管理、訂單管理、管理員信息管理、公告管理、旅游資訊信息管理模塊。系統(tǒng)的總功能模塊結(jié)構(gòu)如圖4.3所示,體現(xiàn)了整個(gè)系統(tǒng)的功能實(shí)現(xiàn)。
圖4.3 系統(tǒng)功能總模塊圖
4.3.2 系統(tǒng)詳細(xì)功能描述及功能模塊圖
4.3.2.1 前臺(tái)模塊詳細(xì)功能描述及功能模塊圖
⑴ 客戶(hù)登錄模塊
在首頁(yè)1,客戶(hù)可以進(jìn)行登錄,或是進(jìn)入這側(cè)頁(yè)面進(jìn)行注冊(cè)操作,若忘記密碼了,可以密碼重置,然后進(jìn)行登錄到首頁(yè)2界面。
圖4.4 客戶(hù)登錄功能模塊圖
⑵ 航班預(yù)定模塊
首先,客戶(hù)可以在航班預(yù)定中查詢(xún)所要預(yù)定的班次,如需預(yù)定就要進(jìn)行登錄操作,登錄后點(diǎn)擊預(yù)定,確認(rèn)航班信息后,填寫(xiě)要訂票的客戶(hù)信息,提交訂單后再次確認(rèn)航班信息及客戶(hù)信息等,若信息有所差錯(cuò)可以取消訂單,若確定購(gòu)買(mǎi)就進(jìn)行支付操作。
圖4.5 航班預(yù)定功能模塊圖
⑶ 退票服務(wù)模塊
首先,客戶(hù)需要登錄本網(wǎng)站才可以進(jìn)行此操作,客戶(hù)可以按照訂單日期或航班日期對(duì)已支付的訂單進(jìn)行查詢(xún),并且退票操作必須在航班起飛前兩個(gè)小時(shí)才可以進(jìn)行,若確定退票就必須扣除一定的手續(xù)費(fèi)。
圖4.6 航班退票服務(wù)功能模塊圖
⑷ 我的訂單模塊
首先,客戶(hù)需要進(jìn)行登錄才能進(jìn)行此操作。在此模塊中,客戶(hù)可以查詢(xún)到尚未支付的訂單,可以去進(jìn)行支付;可以查詢(xún)到十天前的所有訂單;也可進(jìn)行退票操作,和上述的退票服務(wù)模塊一樣;客戶(hù)還可以查看到自己的基本信息;此模塊最后一個(gè)功能是客戶(hù)可以修改自己的登錄密碼,若密碼修改成功,就需重新登錄。
圖4.7 我的訂單功能模塊圖
⑸ 幫助中心模塊
在幫助中心,客戶(hù)可以查看購(gòu)票所要知道的內(nèi)容及操作;若客戶(hù)想要留言,就必須進(jìn)行登錄,登錄后方可以進(jìn)行留言操作。
圖4.8 幫助中心功能模塊圖
4.3.2.2 后臺(tái)模塊詳細(xì)功能描述及功能模塊圖
⑴ 用戶(hù)管理模塊
管理員登錄,對(duì)客戶(hù)的信息可以進(jìn)行查詢(xún),但不能進(jìn)行增刪改;對(duì)客戶(hù)的留言可以進(jìn)行查詢(xún),可以查看到詳細(xì)的留言?xún)?nèi)容,可以刪除某條留言信息或是某個(gè)日期的所有留言或是某個(gè)日期前的所有留言。
圖4.9 用戶(hù)管理功能模塊圖
⑵ 航班管理模塊
管理員可以查詢(xún)航班,對(duì)某條航班信息進(jìn)行詳情更改;可以增加某個(gè)航班;可以刪除某個(gè)航班;還可以批量更改航班信息。
圖4.10 航班管理功能模塊圖
⑶ 訂單管理模塊
管理員在進(jìn)行訂單管理時(shí),可以查詢(xún)某個(gè)日期內(nèi)的所有訂單;可以刪除某天訂單記錄或是刪除 查詢(xún)?nèi)掌陂g的所有訂單。
圖4.11 訂單管理功能模塊圖
⑷ 管理員信息模塊
高級(jí)管理員可以對(duì)所有管理員進(jìn)行查詢(xún)、增加、刪除、更改操作,普通管理員只能對(duì)自己的用戶(hù)名及密碼進(jìn)行修改操作;所有管理員都可以對(duì)公告信息進(jìn)行查詢(xún)及增刪改。
圖4.12 管理員信息管理功能模塊圖
4.4 本章小結(jié)
本章主要介紹了系統(tǒng)的功能模塊的設(shè)計(jì),涉及到了對(duì)系統(tǒng)功能的詳細(xì)描述、對(duì)系統(tǒng)流程的描述、對(duì)系統(tǒng)每個(gè)功能模塊的描述。對(duì)流程圖及功能模塊的描述采用了與圖結(jié)合的方式,使得功能設(shè)計(jì)更有說(shuō)服力。
5 航空訂票系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
5.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)
在分析設(shè)計(jì)出的數(shù)據(jù)流程圖的基礎(chǔ)上,得出系統(tǒng)所要處理的實(shí)體及其聯(lián)系,在確定實(shí)體及其聯(lián)系的主要屬性后,結(jié)合系統(tǒng)的功能處理要求后,采用自底向上的設(shè)計(jì)方法得出局部E-R圖和全局E-R圖[8]。
⑴ 客戶(hù)查詢(xún)航班的E-R設(shè)計(jì)。
客戶(hù)信息實(shí)體的屬性包括:客戶(hù)編號(hào)、客戶(hù)名、密碼、性別、電話(huà)、郵箱、提示問(wèn)題、提示答案、注冊(cè)時(shí)間;
航班信息實(shí)體的屬性包括:航班編號(hào)、航班日期、航班號(hào)、出發(fā)地、出發(fā)時(shí)間、目的地、到達(dá)時(shí)間、頭等艙、頭等票價(jià)、經(jīng)濟(jì)艙、經(jīng)濟(jì)票價(jià)、歷時(shí)、總時(shí)間;
上述實(shí)體存在如下聯(lián)系:
一個(gè)客戶(hù)可以查詢(xún)多個(gè)航班,一個(gè)航班可以被多個(gè)客戶(hù)查詢(xún)。
根據(jù)上述約定,可以得到客戶(hù)查詢(xún)航班的局部E-R圖,如圖5.1所示。
圖5.1 客戶(hù)查詢(xún)航班的E-R
⑵ 客戶(hù)預(yù)定及退票的E-R設(shè)計(jì)。
客戶(hù)信息實(shí)體的屬性包括:客戶(hù)編號(hào)、客戶(hù)名、密碼、性別、電話(huà)、郵箱、提示問(wèn)題、提示答案、注冊(cè)時(shí)間;
訂單編號(hào)、客戶(hù)名、姓名、電話(huà)、證件類(lèi)型、證件號(hào)、訂單日期、航班日期、航班號(hào)、席別、票種、票價(jià)、狀態(tài)編號(hào)、訂票時(shí)間;
訂單狀態(tài)實(shí)體的屬性包括:狀態(tài)編號(hào)、狀態(tài)值;
上述實(shí)體存在如下聯(lián)系:
① 一個(gè)客戶(hù)可以預(yù)定多個(gè)訂單,一個(gè)訂單只屬于一個(gè)客戶(hù);
② 一個(gè)訂單只有一個(gè)狀態(tài),一個(gè)狀態(tài)可以屬于多個(gè)訂單。
根據(jù)上述約定,可以得到客戶(hù)預(yù)定及退票的局部E-R圖,如圖5.2所示。
圖5.2 客戶(hù)預(yù)定及圖票的E-R
⑶ 客戶(hù)留言的E-R設(shè)計(jì)。
客戶(hù)信息實(shí)體的屬性包括:客戶(hù)編號(hào)、客戶(hù)名、密碼、性別、電話(huà)、郵箱、提示問(wèn)題、提示答案、注冊(cè)時(shí)間;
留言實(shí)體的屬性包括:留言編號(hào)、客戶(hù)名、留言時(shí)間、留言?xún)?nèi)容;
上述實(shí)體存在如下聯(lián)系:
一個(gè)客戶(hù)可以留言多條,一個(gè)留言值可能屬于一個(gè)客戶(hù)。
根據(jù)上述約定,可以得到客戶(hù)留言的局部E-R圖,如圖5.3所示。
圖5.3 客戶(hù)留言的E-R
⑷ 管理員管理客戶(hù)信息、航班信息、訂單信息、留言、公告、旅游資訊的E-R設(shè)計(jì)。
管理員信息實(shí)體的屬性包括:管理員編號(hào)、管理員名、密碼、權(quán)限編號(hào);
權(quán)限實(shí)體的屬性包括:權(quán)限編號(hào)、權(quán)限值;
客戶(hù)信息實(shí)體的屬性包括:客戶(hù)編號(hào)、客戶(hù)名、密碼、性別、電話(huà)、郵箱、提示問(wèn)題、提示答案、注冊(cè)時(shí)間;
客戶(hù)訂單實(shí)體的屬性包括:訂單編號(hào)、客戶(hù)名、姓名、電話(huà)、證件類(lèi)型、證件號(hào)、訂單日期、航班日期、航班號(hào)、席別、票種、票價(jià)、狀態(tài)編號(hào)、訂票時(shí)間;
航班信息實(shí)體的屬性包括:航班編號(hào)、航班日期、航班號(hào)、出發(fā)地、出發(fā)時(shí)間、目的地、到達(dá)時(shí)間、頭等艙、頭等票價(jià)、經(jīng)濟(jì)艙、經(jīng)濟(jì)票價(jià)、歷時(shí)、總時(shí)間;
留言實(shí)體的屬性包括:留言編號(hào)、客戶(hù)名、留言時(shí)間、留言?xún)?nèi)容;
公告實(shí)體的屬性包括:公告編號(hào)、當(dāng)前日期、公告信息;
旅游資訊的實(shí)體屬性包括:資訊編號(hào)、上傳管理員、圖片名稱(chēng)、圖片相對(duì)路徑、圖片絕對(duì)路徑、上傳時(shí)間;
上述實(shí)體存在如下聯(lián)系:
① 一個(gè)管理員值可能有一種權(quán)限,一個(gè)權(quán)限可能屬于多個(gè)管理員;
② 一個(gè)管理員可以管理每張表的很多信息,每張表的信息也可由多個(gè)管理員管理。
根據(jù)上述約定,可以得到管理員管理客戶(hù)信息、航班信息、訂單信息、留言、公告、旅游資訊的局部E-R圖,如圖5.4所示(僅以管理員管理客戶(hù)為例)。
圖5.4 管理員權(quán)限E-R圖
⑸ 全局E-R模型設(shè)計(jì)。
各個(gè)局部視圖即分E-R圖建立好后,還需對(duì)它們進(jìn)行合并,集成為一個(gè)整體的概念數(shù)據(jù)結(jié)構(gòu)即全局E-R圖,如圖5.5所示。
圖5.5 全局E-R圖
5.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)
根據(jù)E-R圖轉(zhuǎn)換成關(guān)系模式規(guī)則(多對(duì)多聯(lián)系均采用轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系規(guī)則),很容易得到如下關(guān)系模式:
⑴ 客戶(hù)信息(客戶(hù)編號(hào)、客戶(hù)名、密碼、性別、電話(huà)、郵箱、提示問(wèn)題、提示答案、注冊(cè)時(shí)間);
⑵ 航班信息(航班編號(hào)、航班日期、航班號(hào)、出發(fā)地、出發(fā)時(shí)間、目的地、到達(dá)時(shí)間、頭等艙、頭等票價(jià)、經(jīng)濟(jì)艙、經(jīng)濟(jì)票價(jià)、歷時(shí)、總時(shí)間);
⑶ 訂單信息(訂單編號(hào)、客戶(hù)名、姓名、電話(huà)、證件類(lèi)型、證件號(hào)、訂單日期、航班日期、航班號(hào)、席別、票種、票價(jià)、狀態(tài)編號(hào)、訂票時(shí)間);
⑷ 訂單狀態(tài)(狀態(tài)編號(hào)、狀態(tài)值);
⑸ 留言信息(留言編號(hào)、客戶(hù)名、留言時(shí)間、留言?xún)?nèi)容);
⑹ 管理員信息(管理員編號(hào)、管理員名、密碼、權(quán)限編號(hào));
⑺ 管理員權(quán)限(權(quán)限編號(hào)、權(quán)限值);
⑻ 公告信息(公告編號(hào)、發(fā)布管理員、當(dāng)前日期、公告信息);
⑼ 旅游資訊(圖片編號(hào)、上傳管理員、圖片名稱(chēng)、圖片相對(duì)路徑、圖片絕對(duì)路徑、上傳時(shí)間)。
表名與屬性名轉(zhuǎn)化為相應(yīng)的英文,則9個(gè)關(guān)系模式為:
⑴ 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 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)
本航空訂票系統(tǒng)共涉及9張表:客戶(hù)信息表usernameTable、航班信息表hangBanTable、訂單信息表dingDanTable、訂單狀態(tài)表dingDanZhuangTaiTable、留言信息表messageTable、管理員信息表adminTable、管理員權(quán)限內(nèi)表adminFlagTable、公告表noticeTable、
收藏