久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

QTP自帶的飛機(jī)訂票程序產(chǎn)品規(guī)格說(shuō)明書5篇

時(shí)間:2019-05-13 16:40:46下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《QTP自帶的飛機(jī)訂票程序產(chǎn)品規(guī)格說(shuō)明書》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《QTP自帶的飛機(jī)訂票程序產(chǎn)品規(guī)格說(shuō)明書》。

第一篇:QTP自帶的飛機(jī)訂票程序產(chǎn)品規(guī)格說(shuō)明書

QTP自帶的飛機(jī)訂票程序

產(chǎn)品規(guī)格說(shuō)明書

一.產(chǎn)品介紹

QTP是HP公司開發(fā)的功能自動(dòng)化測(cè)試工具。相對(duì)于手工測(cè)試,QTP自動(dòng)化測(cè)試比人工測(cè)試快得多,同時(shí)可以避免人工測(cè)試的錯(cuò)誤,減輕了測(cè)試的工作量,給測(cè)試人來(lái)帶來(lái)了極大的便利。隨著測(cè)試技術(shù)的發(fā)展,自動(dòng)化測(cè)試逐漸成為測(cè)試的一個(gè)重要測(cè)試工具。

二.產(chǎn)品面向的用戶群體

專業(yè)的測(cè)試人員、企業(yè)公司測(cè)試組以及測(cè)試團(tuán)隊(duì) 三.產(chǎn)品應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)和規(guī)范

遵守軟件相關(guān)的標(biāo)準(zhǔn)、規(guī)范建立一套軟件測(cè)試的管理和評(píng)判體系,從根本上保證軟件測(cè)試的質(zhì)量,有一定的行業(yè)規(guī)范和操作規(guī)范,腳本生成簡(jiǎn)單易懂,錯(cuò)誤糾正符合常規(guī)測(cè)試人員的測(cè)試習(xí)慣,操作易于上手。

四.產(chǎn)品的功能簡(jiǎn)介

QTP自帶的飛機(jī)訂票程序包括登錄、訂票、刪除等一系列功能操作,運(yùn)用QTP自動(dòng)化測(cè)試工具來(lái)進(jìn)行登錄測(cè)試和訂票測(cè)試,通過(guò)檢查點(diǎn)來(lái)實(shí)現(xiàn)對(duì)各種測(cè)試用例的測(cè)試,同時(shí)可以對(duì)操作進(jìn)行錄制和回放,并生成腳本,便于測(cè)試人員對(duì)產(chǎn)品進(jìn)行檢查。

五.操作說(shuō)明

QTP自帶的飛機(jī)訂票程序,可實(shí)現(xiàn)登錄測(cè)試和訂票測(cè)試。

QTP自帶的飛機(jī)訂票程序,小圖標(biāo)為飛行圖標(biāo)。如圖1-01

圖1-01

登錄模塊

打開后可以看到登錄界面,登錄界面——兩個(gè)文本框,三個(gè)按鈕 如圖1-02

圖1-02 Agent Name文本框

1.登錄框可以輸入的登錄名必須大于4個(gè)字符,小于10個(gè)字符。

當(dāng)輸入的字符小于4個(gè)時(shí),不能登錄成功

當(dāng)輸入的字符大于10個(gè)時(shí),則光標(biāo)將移動(dòng)到所輸入字符的初始端,如果此時(shí)繼續(xù)輸入字符,那么所輸入的字符將會(huì)逐漸覆蓋原先輸入的 字符

2.輸入的字符可以是數(shù)字,字母,漢字以及特殊符號(hào)。3.所輸入的字符均為明文,可以看得見。4.登錄名不固定可以自主輸入。

Password文本框

1.密碼框中可以輸入的字符可以是數(shù)字,字母,漢字以及特殊符號(hào)。2.密碼框中可以輸入的字符必須大于4個(gè)字符,最多只能有8個(gè)字符。3.所輸入的字符均加密不可見,用戶所看到的只是星號(hào)(*)。4.密碼固定為mercury,不區(qū)分大小寫。OK按鈕

登陸窗口中沒(méi)有輸入任何內(nèi)容,或者是只輸入密碼時(shí),點(diǎn)擊此按鈕會(huì)提示。如圖1-03

圖1-03

2.當(dāng)?shù)卿浢斎氲淖址∮?個(gè)時(shí),點(diǎn)擊此按鈕會(huì)提示。如圖1-04

圖1-04 3.當(dāng)輸入符合規(guī)格的登錄名時(shí),并沒(méi)有輸入密碼時(shí),點(diǎn)擊此按鈕會(huì)提示。如圖1-05

圖1-05 4.當(dāng)輸入符合規(guī)格的登錄名,及任意輸入大于4個(gè)字符的密碼時(shí),點(diǎn)擊按鈕會(huì)提示。如圖1-06

圖1-06 5.當(dāng)輸入符合規(guī)格的登錄名,并輸入密碼長(zhǎng)度小于4個(gè)字符時(shí),點(diǎn)擊此按鈕會(huì)提示。如圖1-07

圖1-07 6.當(dāng)在文本框中輸入的字符均不符合時(shí),點(diǎn)擊此按鈕將會(huì)提示出以下警示框。如圖1-08

圖1-08 7.當(dāng)輸入符合規(guī)格的登錄名,并輸入Help中所提示的密碼(不區(qū)分大小寫時(shí),則會(huì)登錄成功。如圖1-09

圖1-09

Cancel按鈕

點(diǎn)擊此按鈕整個(gè)登錄窗口都會(huì)關(guān)閉,如果在點(diǎn)擊按鈕之前的路窗口 中輸入的有內(nèi)容,則將不會(huì)被保存。

Help按鈕

不論登錄窗口中是否輸入有字符,點(diǎn)擊此按鈕都會(huì)提示。如圖1-08

圖1-08

訂票模塊

登陸成功后可以看到訂票界面。如圖2-01

圖2-01

日期選擇

時(shí)間的格式為月/日/年,其中空格處必須輸入兩個(gè)數(shù)字,其他字符均不能識(shí)別。

當(dāng)輸入的日期不符合常規(guī)或者輸入的數(shù)字不均為兩個(gè)時(shí),點(diǎn)擊飛行班機(jī)圖標(biāo)。如圖2-02,會(huì)出現(xiàn)提示框。如圖2-03

圖2-02

圖2-03

當(dāng)輸入的日期時(shí)間過(guò)早,則會(huì)出現(xiàn)提示框。如圖2-04

圖2-04 當(dāng)輸入的日期沒(méi)有對(duì)應(yīng)的航班,點(diǎn)擊飛行班機(jī)圖標(biāo)時(shí),則會(huì)出現(xiàn)對(duì)話框。如圖2-05

圖2-05 當(dāng)輸入的時(shí)間有對(duì)應(yīng)的航班,點(diǎn)擊飛行班機(jī)圖標(biāo)時(shí),則會(huì)出現(xiàn)相應(yīng)對(duì)話框可供選擇具體航班。如圖2-06

圖2-06 起始地和目的地

均有下拉列表,可以自行選擇,但只能選擇下拉列表里所給出的地點(diǎn)。起始地 如圖2-07,目的地 如圖2-08。

圖2-07

圖2-08

當(dāng)選擇相應(yīng)的航班,點(diǎn)擊飛行班機(jī)圖標(biāo)時(shí)。對(duì)應(yīng)在訂票窗口中的航班號(hào),登機(jī)時(shí)間,到達(dá)時(shí)間,航線,票數(shù),所價(jià)錢以及總計(jì)都會(huì)自動(dòng)生成在對(duì)話框中。如圖2-09

圖2-09

種類選擇class 可以自行選擇 頭等艙first,經(jīng)濟(jì)艙economy,商務(wù)艙business,如圖2-10。同時(shí)票價(jià)會(huì)隨著選擇自行改動(dòng)。

圖2-10

姓名填寫Name 在選票的同時(shí)可以輸入自己的姓名,如圖2-11

圖2-11

選擇所買票的張數(shù)點(diǎn)擊提交訂單Insert Order,則訂票成功,且自動(dòng)生成訂單號(hào),同時(shí)可以刪除訂單Delete Order。

快捷按鈕

訂票窗口不但可以訂票,同時(shí)可以查看某時(shí)間段的訂票比例圖。如圖2-12

圖2-12 查看Agents Order Report,在Agents Order Report 記錄著訂票人的信息,訂票信息,以及總?cè)藬?shù),總票數(shù)和總價(jià)。如圖2-13

圖2-13 菜單欄

可以根據(jù)自己的需要進(jìn)行有機(jī)選擇和調(diào)整,進(jìn)行新建、查看、添加、刪除等操作,同時(shí)對(duì)某些疑問(wèn)可以在help中尋求幫助。

附:

登錄模塊中,當(dāng)?shù)卿洿螖?shù)過(guò)多時(shí),將會(huì)有警示框提示錯(cuò)誤次數(shù)太多,不能再登錄了。

訂票模塊中,菜單欄和快捷圖形按鈕可實(shí)現(xiàn)的功能基本相同,都可以進(jìn)行新建、查看、添加、刪除等操作,同時(shí)對(duì)某些疑可尋求幫助。

第二篇:QTP自帶的飛機(jī)訂票功能測(cè)試報(bào)告

QTP自帶的飛機(jī)訂票功能測(cè)試報(bào)告

課題名稱

飛機(jī)訂票系統(tǒng)功能測(cè)試報(bào)告 系/專 業(yè)

*******學(xué)院 班

級(jí)

***** 學(xué)

號(hào)

***** 學(xué)生姓名

*****

指導(dǎo)教師:*****

測(cè)試目標(biāo)

了解熟悉QTP自動(dòng)化測(cè)試工具及其基本功能,掌握QTP自動(dòng)化測(cè)試的基本測(cè)試步驟,能運(yùn)用QTP測(cè)試工具對(duì)系統(tǒng)進(jìn)行簡(jiǎn)單的自動(dòng)化測(cè)試。在QTP測(cè)試中能寫出基本的腳本語(yǔ)言,以及能夠?qū)δ_本語(yǔ)句進(jìn)行編寫,能夠測(cè)試登錄功能、訂票功能。其中有判斷訂票是否成功、添加檢查點(diǎn)及循環(huán)所有航班能否成功測(cè)試。

測(cè)試內(nèi)容

熟悉了解飛機(jī)訂票系統(tǒng)的基本運(yùn)行流程,從登錄到訂票、查詢、刪除等一系列基本功能的操作,并能夠?qū)ζ渲械囊恍┕δ苓M(jìn)行測(cè)試工作。此次飛機(jī)訂票系統(tǒng)測(cè)試內(nèi)容有登錄功能,其中登陸功能測(cè)試包含一個(gè)用戶能否正確登錄、設(shè)置參數(shù)可以進(jìn)行多個(gè)用戶正確和錯(cuò)誤的登錄進(jìn)行測(cè)試。在訂票功能中有對(duì)訂票是否成功的測(cè)試、設(shè)置檢查點(diǎn)以及循環(huán)所有航班的測(cè)試。

測(cè)試原理分析

QTP主要采用的是GUI模擬人的操作。它在模擬人的操作時(shí)會(huì)通過(guò)錄制記錄操作的對(duì)象及所做的操作和順序,然后在回放時(shí)按照記錄順序操作這些對(duì)象。而在這個(gè)模擬的過(guò)程中最重要的莫過(guò)于界面對(duì)象控件的識(shí)別。

基本操作

第二步:點(diǎn)擊QTP的執(zhí)行文件

第二步:第一步完成后會(huì)出現(xiàn)下圖的對(duì)畫框,然后點(diǎn)擊”O(jiān)K”,如圖1-01;

圖1-01

第三步:選擇“Blank Test”選項(xiàng),如圖1-02;

圖1-02

第四步:關(guān)閉右上角的對(duì)話框,選擇左上角的“Record”選項(xiàng),如圖1-03;

圖1-03

第五步:對(duì)具體軟件程序的測(cè)試有兩種方法。第一種是錄制并且運(yùn)行測(cè)試任何一個(gè)打開的基于Windows下的應(yīng)用程序,第二種是只是錄制和運(yùn)行QTP軟件中打開的應(yīng)用程序。如圖1-04;

圖1-04

第六步:在“application”中點(diǎn)擊“+”按鈕選擇要執(zhí)行程序的文件,并點(diǎn)擊確定按鈕,開始錄制,如圖1-05;

圖1-05

登陸測(cè)試測(cè)試用例設(shè)計(jì)

針對(duì)登錄模塊的輸入條件:用戶名和密碼,有以下幾種情況: 1.當(dāng)用戶什么也沒(méi)輸入,直接點(diǎn)OK按鈕,是否提示請(qǐng)輸入用戶名;

2.當(dāng)用戶輸入正確的用戶名,沒(méi)輸入密碼,直接點(diǎn)擊OK按鈕,是否提示請(qǐng)輸入密碼;

3.對(duì)密碼進(jìn)行驗(yàn)證看是否設(shè)置輸入密碼的長(zhǎng)度;

4.當(dāng)輸入正確的用戶名和密碼時(shí),點(diǎn)擊OK按鈕是否進(jìn)入操作界面;

對(duì)登錄模塊進(jìn)行測(cè)試時(shí),盡可能全面的測(cè)試登陸功能的正常和異常情況:只要用戶名大于或等于4個(gè)字符,密碼是“mercury”,即可

登錄。

錄制與測(cè)試過(guò)

第一步:用QTP自動(dòng)打開Flight Reservation系統(tǒng)的登陸界面,輸入用戶名和密碼,確定當(dāng)前的操作,將訂票系統(tǒng)打開,登陸界面如圖2-01;

圖2-01 第二步:在QTP主界面中單擊“Record”,在登陸界面的文本框

中,輸入正確的用戶名和密碼,單擊“OK”按鈕,進(jìn)入飛機(jī)訂票系統(tǒng)界面。在QTP主界面,單擊“Stop”按鈕,結(jié)束當(dāng)前的錄制,如圖2-02;

圖2-02

錄制的腳本代碼為:

'寫一個(gè)循環(huán),讀取datatable的每一行測(cè)試用例 Dim i '定義變量i Dim outputvalue '定義變量實(shí)際得到的輸出 Dim istatus '定義變量希望得到的輸出

For i=1 to datatable.GetSheet(“Action1”).getrowcount '從第一行,讀到datatable的最后一行

Dialog(“Login”).WinEdit(“Agent Name:”).Set DataTable(“AgentName”, dtLocalSheet)Dialog(“Login”).WinEdit(“Password:”).SetSecure DataTable(“Password”, dtLocalSheet)Dialog(“Login”).WinButton(“OK”).Click Dialog(“Login”).Dialog(“Flight Reservations”).Static(“Agent name must be at least 4 characters long.”).Output CheckPoint(“Agent name must be at least 4 characters long.”)Dialog(“Login”).Dialog(“Flight Reservations”).WinButton(“確定”).Click outputvalue=datatable(“outmsg”,dtlocalsheet)'獲取該次循環(huán)的實(shí)際輸出 istatus=datatable(“status”,dtlocalsheet)'獲取該次循環(huán)的預(yù)期輸出

If outputvalue<>istatus Then Reporter.ReportEvent micFail,“登錄測(cè)試”,“實(shí)際的:”+outputvalue+“預(yù)期的:”+istatus+“不相同!” '報(bào)錯(cuò)

else Reporter.ReportEvent micPass,“登錄測(cè)試”,“實(shí)際的:”+outputvalue+“預(yù)期的:”+istatus+“相同!” '報(bào)對(duì) End If

datatable.GetSheet(“Action1”).setnextrow '獲取下一行測(cè)試用例 Next Dialog(“Login”).WinButton(“Cancel”).Click Dialog(“Login_2”).WinButton(“Cancel”).Click

測(cè)試結(jié)果

通過(guò)運(yùn)用QTP對(duì)飛機(jī)訂票系統(tǒng)的測(cè)試,將已設(shè)計(jì)好的測(cè)試用例添加到QTP中,通過(guò)腳本的參數(shù)化設(shè)置,對(duì)測(cè)試用例進(jìn)行自動(dòng)化循環(huán)測(cè)試,如下圖2-03;

圖2-03 QTP對(duì)測(cè)試用例的自動(dòng)化測(cè)試后,分別將可以登陸成功和不能登陸成功的測(cè)試用例進(jìn)行測(cè)試,運(yùn)行結(jié)果如圖2-04

圖2-04

訂票測(cè)試

訂票實(shí)例的前提是登錄訂票系統(tǒng)的成功,該實(shí)例是在訂票系統(tǒng)中進(jìn)行訂票

操作:輸入航班日期、選擇起飛地、選擇目的地、選擇航班、輸入顧客姓名、輸入票的張數(shù)、選擇航班級(jí)別、單擊訂票按鈕,完成訂票功能。

錄制與測(cè)試過(guò)程

第一步:錄制腳本,選擇“Record”如圖(3-01);

圖3-01 第二步:在Agent Nname和Password中都輸入Mercury點(diǎn)擊“OK”按鈕,如圖3-02;

圖3-02 第三步:輸入飛機(jī)的時(shí)間、出發(fā)地、目的地,然后選擇“Flights”選擇航班,如圖3-03;

圖3-03

第四步:選擇要乘坐飛機(jī)的航班,然后點(diǎn)擊確定,如圖3-04;

圖3-04 第五步:輸入顧客的姓名、票數(shù)、票的類型、點(diǎn)擊“insert”,如圖3-05;

圖3-05 第六步:點(diǎn)擊“Stop”結(jié)束錄制過(guò)程,腳本錄制成功,如圖3-06;

圖3-06 錄制的腳本代碼為:

Dialog(“Login”).WinEdit(“Agent Name:”).Set “mercury” Dialog(“Login”).WinEdit(“Password:”).SetSecure “50d03c65bf584d4548c5df42c75a1b2ce70a1491” Dialog(“Login”).WinButton(“OK”).Click

Dim i '定義變量i

For i=1 to datatable.GetSheet(“Action1”).getrowcount '循環(huán)datatable中若干個(gè)測(cè)試用例 Window(“Flight

Reservation”).ActiveX(“MaskEdBox”).Type DataTable(“Date”, dtLocalSheet)Window(“Flight

Reservation”).WinComboBox(“Fly

From:”).Select DataTable(“FlyFrom”, dtLocalSheet)Window(“Flight

Reservation”).WinComboBox(“Fly

To:”).Select DataTable(“FlyTo”, dtLocalSheet)Window(“Flight Reservation”).WinButton(“FLIGHT”).Click ' 日期不同,起飛地不同,目的地不同,可選擇的航班是不一樣的 ' 為適應(yīng)這種不同,則需要從剛才現(xiàn)實(shí)的列表中隨機(jī)選擇一個(gè) '則需要用到隨機(jī)函數(shù),首先要獲取列表框中的條目個(gè)數(shù)

ItemCount=Window(“Flight Table”).WinList(“From”).GetItemsCount SelectItem=RandomNumber(0,ItemCount)'從0~ItemCount中隨機(jī)選擇一個(gè)數(shù)目

Window(“Flight

Reservation”).Dialog(“Flights Reservation”).Dialog(“Flights Table”).WinList(“From”).Select SelectItem Window(“Flight Table”).WinButton(“OK”).Click Window(“Flight Reservation”).WinEdit(“Name:”).Set “l(fā)ixiao” Window(“Flight Reservation”).WinRadioButton(“Business”).Set Window(“Flight Reservation”).WinButton(“Insert Order”).Click Window(“Flight Reservation”).WinButton(“Button”).Click

datatable.GetSheet(“Action1”).setnextrow '讀取下一行 Next Window(“Flight Reservation”).Close

Reservation“).Dialog(”Flights

測(cè)試結(jié)果

通過(guò)運(yùn)用QTP對(duì)飛機(jī)訂票系統(tǒng)的測(cè)試,將已設(shè)計(jì)好的測(cè)試用例添加到QTP中,通過(guò)腳本的參數(shù)化設(shè)置,對(duì)測(cè)試用例進(jìn)行自動(dòng)化循環(huán)測(cè)試,如下圖3-07;

圖3-07 QTP對(duì)測(cè)試用例的自動(dòng)化測(cè)試后,對(duì)訂票參數(shù)的測(cè)試用例進(jìn)行測(cè)試,測(cè)試結(jié)果如圖3-08

圖3-08 分析與建議

功能較少,但基本上滿足了飛機(jī)訂票的需求,但是建議一般用戶也能對(duì)系統(tǒng)進(jìn)行訪問(wèn),查看自己的訂票。沒(méi)有連到外網(wǎng),只是在本機(jī)進(jìn)行測(cè)試,建議在互聯(lián)網(wǎng)進(jìn)行功能等測(cè)試。

飛機(jī)訂票系統(tǒng)測(cè)試小結(jié)

通過(guò)對(duì)QTP飛機(jī)訂票系統(tǒng)從需求分析到執(zhí)行測(cè)試,從錄制腳本到腳本分析結(jié)果,使得我對(duì)以前所學(xué)習(xí)的軟件測(cè)試方面的知識(shí)有了更好的理解,實(shí)踐中才能更深入的理解掌握知識(shí)。在此期間我了解和認(rèn)識(shí)了軟件測(cè)試技術(shù)和QTP自動(dòng)化測(cè)試工具,并且學(xué)習(xí)了QTP工具的使用。現(xiàn)在已經(jīng)能很熟練的使用QTP測(cè)試工具。使用QTP可以加速測(cè)試的整個(gè)過(guò)程,并且建置完新版本的應(yīng)用程序后網(wǎng)站后,可以重復(fù)使用測(cè)試腳本進(jìn)行測(cè)試。

第三篇:4 飛機(jī)訂票系統(tǒng)系統(tǒng)概要設(shè)計(jì)說(shuō)明書

文檔編號(hào): 版本號(hào):V1.0

概要設(shè)計(jì)說(shuō)明書

項(xiàng)目名稱

飛機(jī)訂票系統(tǒng) 項(xiàng)目負(fù)責(zé)人

何柳青 本文檔編寫者 李欣純 項(xiàng)目開發(fā)者 計(jì)算機(jī)081第二組

2010年11月7日 目錄

1.引言.....................................................................1

1.1 編寫目的......................................................................................................................................1 1.2 背景.............................................................................................................................................1 1.3 定義.............................................................................................................................................1 1.4參考資料.......................................................................................................................................1

2.任務(wù)概述...............................................................2

2.1目標(biāo)...............................................................................................................................................2 2.2運(yùn)行環(huán)境.......................................................................................................................................2

2.2.1設(shè)備........................................................................................................................2

2.2.2支持軟件................................................................................................................2 2.3需求概要.......................................................................................................................................2 2.4條件與限制...................................................................................................................................2 3.總體設(shè)計(jì).................................................................3

3.1處理流程.......................................................................................................................................3 3.2總體結(jié)構(gòu)和模塊外部設(shè)計(jì)...........................................................................................................4

4.接口設(shè)計(jì).................................................................4

4.1 硬件接口......................................................................................................................................4 4.2 軟件接口......................................................................................................................................4

5.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì).............................................................5

5.1 邏輯結(jié)構(gòu)設(shè)計(jì)..............................................................................................................................5 5.2 物理結(jié)構(gòu)設(shè)計(jì)..............................................................................................................................5 5.3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系..............................................................................................................5

6.運(yùn)行設(shè)計(jì).................................................................5

6.1 運(yùn)行模塊的組合..........................................................................................................................5 6.2 運(yùn)行控制......................................................................................................................................5 6.3 運(yùn)行時(shí)間......................................................................................................................................5

7.出錯(cuò)處理設(shè)計(jì).............................................................6

7.1 出錯(cuò)輸出信息..............................................................................................................................6 7.2 出錯(cuò)處理對(duì)策..............................................................................................................................6

8.安全保密設(shè)計(jì).............................................................6 9.維護(hù)設(shè)計(jì).................................................................6

1.引言

1.1 編寫目的

從該階段正式進(jìn)入軟件的實(shí)際開發(fā)階段,本文檔將對(duì)《飛機(jī)訂票系統(tǒng)》的軟件功能進(jìn)行描述。本階段的主要任務(wù)是把系統(tǒng)的功能需求分配給軟件結(jié)構(gòu),形成軟件的系統(tǒng)結(jié)構(gòu)圖。本概要設(shè)計(jì)說(shuō)明書的目的就是進(jìn)一步細(xì)化軟件設(shè)計(jì)階段得出的軟件總體概貌,把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。本文檔的讀者是項(xiàng)目策劃、設(shè)計(jì)和評(píng)審人員。

1.2 背景

開發(fā)軟件名稱:飛機(jī)票訂系統(tǒng)。

//(1)項(xiàng)目任務(wù)提出者:中國(guó)民航及中國(guó)國(guó)際旅游開發(fā)公司。(2)項(xiàng)目開發(fā)者:何柳靑,陸銀琳,李欣純,單國(guó)英,阿依古麗

(3)項(xiàng)目與其他軟件,系統(tǒng)的關(guān)系:本項(xiàng)目采用客戶機(jī)/服務(wù)器原理,客戶端的程序是建立在Windows NT 系統(tǒng)上以Microsoft Visual C++為開發(fā)軟件的應(yīng)用程序,服務(wù)器端采用Linux 為操作系統(tǒng)的工作站,是采用Oracle 8的為開發(fā)軟件的數(shù)據(jù)庫(kù)服務(wù)程序。

1.3 定義

概要設(shè)計(jì)說(shuō)明書中的專門術(shù)語(yǔ)有:數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),總體設(shè)計(jì),接口設(shè)計(jì),運(yùn)行設(shè)計(jì),系統(tǒng)出錯(cuò)處理設(shè)計(jì)。

1.4參考資料

《軟件工程導(dǎo)論》 清華大學(xué)出版社 張海藩 編著 《實(shí)用軟件工程》 清華大學(xué)出版社 鄭人杰 等 編著

《數(shù)據(jù)庫(kù)系統(tǒng)概論(第三版)》 高等教育出版社 薩師煊 王珊等編著 《實(shí)用軟件文檔寫作》 清華大學(xué)出版社 肖剛等 編著 《軟件工程》第3版 人民郵電出版社 張海藩等 編著 2.任務(wù)概述

2.1目標(biāo)

該階段目的在于明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件結(jié)構(gòu),此外總體設(shè)計(jì)還將給出內(nèi)部軟件和外部系統(tǒng)部分之間的接口定義,各個(gè)軟件模塊的功能說(shuō)明,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)以及具體的裝配要求。

2.2運(yùn)行環(huán)境

2.2.1設(shè)備

硬件最低要求:內(nèi)存128MB,硬盤20G以上PC機(jī)

2.2.2支持軟件

vc++.net 傳感器windows系列os 如 win98/me/2000pro server/xp/server2003/win7 2.3需求概要

系統(tǒng)主要的輸入輸出:

1.乘客通過(guò)登錄用戶界面輸入姓名和密碼,進(jìn)行登錄,查詢信息等; 2.操作人員根據(jù)乘客的要求輸入信息到數(shù)據(jù)庫(kù)中進(jìn)行相應(yīng)的查詢及修3.4.5.改;

操作人員或用戶登錄相應(yīng)的界面輸入基本信息,例如姓名,性別,年齡,身份證號(hào)等;

公告信息的輸出,公告信息的回復(fù);

航班具體情況的輸出,剩余票數(shù)的輸出,及臨時(shí)調(diào)整的輸出。

2.4條件與限制

為了評(píng)價(jià)該設(shè)計(jì)階段的設(shè)計(jì)表示的“優(yōu)劣程度”,必須遵循以下幾個(gè)準(zhǔn)則:

(1)軟件設(shè)計(jì)應(yīng)當(dāng)表現(xiàn)出層次結(jié)構(gòu),它應(yīng)巧妙地利用各個(gè)軟件部件之間的控制關(guān)系;

(2)設(shè)計(jì)應(yīng)當(dāng)是模塊化的,即該軟件應(yīng)當(dāng)從邏輯上被劃分成多個(gè)部件,分別實(shí)現(xiàn)各種特定功能和子功能;(3)設(shè)計(jì)最終應(yīng)當(dāng)給出具體的模塊(例如子程序或過(guò)程),這些模塊就具有獨(dú)立的功能特性;

(4)應(yīng)當(dāng)應(yīng)用在軟件需求分析期間得到的信息,采取循環(huán)反復(fù)的方法來(lái)獲得設(shè)計(jì)。

3.總體設(shè)計(jì)

3.1處理流程

系統(tǒng)的總體處理流程如下圖:

開始進(jìn)入用戶登錄界面是否為后臺(tái)數(shù)據(jù)管理員NO YES是否訂票NOYES查看航班信息YESNO是否改簽NOYES查詢顯示航班信息YES是否修改退票改簽訂票修改信息NO結(jié)束圖3.1 流程圖 3.2總體結(jié)構(gòu)和模塊外部設(shè)計(jì)

模塊是軟件是軟件結(jié)構(gòu)的基礎(chǔ),軟件結(jié)構(gòu)的好壞完全由模塊的屬性體現(xiàn)出來(lái),把軟件模塊化的目的是為了降低軟件復(fù)雜性,使軟件設(shè)計(jì)、測(cè)試、調(diào)試、維護(hù)等工作變得簡(jiǎn)易,但隨著模塊數(shù)目的增加,通過(guò)接口連接這些模塊的工作量也隨之增加。

從系統(tǒng)的層次圖中可以看出,訂票以及退票的信息輸入輸出功能是由航班數(shù)據(jù)管理系統(tǒng)進(jìn)行的。

飛機(jī)訂票系統(tǒng)登錄驗(yàn)證乘客信息修改訂票管理航班信息查詢航班信息調(diào)整后臺(tái)管理員驗(yàn)證用戶身份驗(yàn)證乘客基本信息錄入乘客基本信息修改乘客票務(wù)信息修改乘客訂票改簽退票按時(shí)間查詢按目的地查詢按航班號(hào)查詢?cè)黾有潞桨嘈薷脑泻桨鄤h除航班圖3.2系統(tǒng)層次圖

4.接口設(shè)計(jì)

4.1 硬件接口

本軟件不需要特定的硬件或硬件接口進(jìn)行支持。

4.2 軟件接口

可以運(yùn)行于Windows等操作系統(tǒng)之上。5.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

5.1 邏輯結(jié)構(gòu)設(shè)計(jì)

1.航空公司表:AIRLINE 2.客戶表CUSTOMER 3.飛機(jī)表PLANE 4.航線表LINE 5.航班表FLIGHT 6.訂票表BOOKTICKET 5.2 物理結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)的物理結(jié)構(gòu)具體由數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì)與生成的。

5.3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系

系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)由標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)語(yǔ)言SQL生成。

6.運(yùn)行設(shè)計(jì)

6.1 運(yùn)行模塊的組合

具體軟件的運(yùn)行模塊組合為程序多窗口的運(yùn)行環(huán)境,各個(gè)模塊在軟件運(yùn)行過(guò)程中能較好的交換信息,處理數(shù)據(jù)。

6.2 運(yùn)行控制

軟件運(yùn)行時(shí)有較友好的界面,基本能夠?qū)崿F(xiàn)用戶的數(shù)據(jù)處理要求。

6.3 運(yùn)行時(shí)間

系統(tǒng)的運(yùn)行時(shí)間基本可以達(dá)到用戶所提出來(lái)的要求。7.出錯(cuò)處理設(shè)計(jì)

7.1 出錯(cuò)輸出信息

用戶使用錯(cuò)誤的數(shù)據(jù)或訪問(wèn)沒(méi)有權(quán)限的數(shù)據(jù)后,系統(tǒng)給出提示:“對(duì)不起,你無(wú)法使用數(shù)據(jù),沒(méi)有權(quán)限!”而且用戶的密碼管理可以允許用戶修改自己的密碼,不允許用戶的匿名登錄。

7.2 出錯(cuò)處理對(duì)策

由于數(shù)據(jù)在數(shù)據(jù)庫(kù)中已經(jīng)有備份,故在系統(tǒng)出錯(cuò)后可以依靠數(shù)據(jù)庫(kù)恢復(fù)功能,并且依靠日志文件使系統(tǒng)再啟動(dòng),就算系統(tǒng)崩潰用戶的數(shù)據(jù)也不會(huì)丟失或遭到破壞。但有可能占用更多的數(shù)據(jù)存儲(chǔ)空間,權(quán)衡措施由用戶來(lái)決定。

8.安全保密設(shè)計(jì)

系統(tǒng)的系統(tǒng)用戶管理保證了只有授權(quán)的用戶才能進(jìn)入系統(tǒng)進(jìn)行數(shù)據(jù)操作,而且對(duì)一些重要的數(shù)據(jù),系統(tǒng)設(shè)置為只有最高權(quán)限的人員方可讀取或是操作。系統(tǒng)安全保密性較高。

9.維護(hù)設(shè)計(jì)

由于系統(tǒng)較小沒(méi)有加外加維護(hù)模塊,因?yàn)橄到y(tǒng)維護(hù)工作比較簡(jiǎn)單,僅靠數(shù)據(jù)庫(kù)的一些基本維護(hù)。

第四篇:qtp測(cè)試飛機(jī)訂票使用DataTable參數(shù)化(實(shí)驗(yàn)3

飛機(jī)訂票使用DataTable參數(shù)化(實(shí)驗(yàn)III)

原理:通過(guò)關(guān)鍵字視圖可觀察到自動(dòng)化測(cè)試腳本是由操作步驟與數(shù)據(jù)構(gòu)成的。如測(cè)試腳本在某個(gè)變量中重復(fù)使用,而該變量的值經(jīng)常需要根據(jù)具體測(cè)試需求進(jìn)行變更。QT參數(shù)化可以實(shí)現(xiàn)無(wú)須打開測(cè)試腳本,直接改變量的值,提供了高效的維護(hù)測(cè)試腳本方式。主要過(guò)程包括:錄制實(shí)驗(yàn)程序,使用DataTable進(jìn)行參數(shù)化,同時(shí)使用RandomNumber實(shí)現(xiàn)參數(shù)化的正常運(yùn)行和測(cè)試。初步掌所握QuickTest Professional的環(huán)境變量的使用,同時(shí)對(duì)Data Driver了解其概念。

一: 實(shí)現(xiàn)步驟

1.1:點(diǎn)擊安裝并QuickTest安裝步驟完成后,運(yùn)行QuickTest Professional,出現(xiàn)如下界面,點(diǎn)擊Automation->Record and Run Setting,選擇紅框中的內(nèi)容。

1.2:將flight4b.exe打開,運(yùn)行至此界面,確保錄制從這個(gè)階段開始

1.3插入一條訂票的記錄,注意記好num號(hào),生成如下的測(cè)試過(guò)程,并運(yùn)行回放該測(cè)試的結(jié)果,點(diǎn)擊run驗(yàn)證“僅錄制預(yù)定機(jī)票的過(guò)程”

1.4:要求測(cè)試過(guò)程為全部pass

II.對(duì)預(yù)定機(jī)票中的數(shù)據(jù)進(jìn)行參數(shù)化 2.1:在test用例中選中Fly From這個(gè)項(xiàng)

2.2:命名為Fly_from,點(diǎn)擊確定

2.3:,以此類推,對(duì)Fly_to進(jìn)行參數(shù)化,命名后點(diǎn)擊OK

2.4參數(shù)如下紅框所示,手動(dòng)添加進(jìn)參數(shù),London Denver;London Frankfurt;也可以自已多添幾條,前提是機(jī)票預(yù)定系統(tǒng)里有這些地點(diǎn)即可。

2.5:出錯(cuò)信息如附,因?yàn)槭止ぬ砑訁?shù)后,QT并沒(méi)有識(shí)別到,所以我們下一步采用RandomNumber來(lái)實(shí)現(xiàn)

2.6:選擇Flight Table下的From,點(diǎn)擊# 5 2.7:選擇random Number

2.8:測(cè)試完成,參數(shù)化自動(dòng)執(zhí)行Data table表中的參數(shù)。III:環(huán)境變量的使用

3.1使用正常的錄制過(guò)程,機(jī)票錄入系統(tǒng)界面彈出即可。點(diǎn)擊File-setting 6

3.2選擇用戶自定義

3.3按+號(hào)將用戶名添加入

3.4按下圖操作,選擇Environment

3.5選RUN驗(yàn)證吧

要求:主要完成I、II部分,III部分作為體驗(yàn)

完成將調(diào)試PASS的界面截圖,同時(shí)將測(cè)試腳本用例保存打包 班級(jí)+姓名+學(xué)號(hào).RAR方式提交,同時(shí)將實(shí)驗(yàn)報(bào)告(可以打印)方式上交課代表。

第五篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 飛機(jī)訂票系統(tǒng)

飛機(jī)訂票系統(tǒng)

1.需求分析

描述要求編程解決的問(wèn)題。以無(wú)歧義的陳述說(shuō)明程序設(shè)計(jì)的任務(wù),強(qiáng)調(diào)的是程序要做什么?明確規(guī)定:

(a)輸入的形式和輸入值的范圍;

(b)輸出的形式;

(c)程序所能達(dá)到的功能;

(d)測(cè)試數(shù)據(jù):包括正確的輸入及其輸出結(jié)果和含有錯(cuò)誤的輸入及其輸出結(jié)果。

2.概要設(shè)計(jì)

給出程序要達(dá)到的具體的要求。描述解決相應(yīng)問(wèn)題算法的設(shè)計(jì)思想。描述所設(shè)計(jì)程序的各個(gè)模塊(即函數(shù))功能。說(shuō)明本程序中用到的所有抽象數(shù)據(jù)類型的定義、主程序的流程以及各程序模塊之間的層次(調(diào)用)關(guān)系。

3.詳細(xì)設(shè)計(jì)

實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有數(shù)據(jù)類型,對(duì)每個(gè)操作只需要寫出流程或偽碼算法;對(duì)主程序和其他模塊也都需要寫出流程或偽碼算法(偽碼算法達(dá)到的詳細(xì)程度建議為:按照偽碼算法可以在計(jì)算機(jī)鍵盤直接輸入高級(jí)程序設(shè)計(jì)語(yǔ)言程序);畫出函數(shù)的調(diào)用關(guān)系圖。給出所使用的基本抽象數(shù)據(jù)類型,所定義的具體問(wèn)題的數(shù)據(jù)類型,以及新定義的抽象數(shù)據(jù)類型。設(shè)計(jì)出良好的輸入輸出界面(清晰易懂)。

4.調(diào)試分析 內(nèi)容包括:

(a)調(diào)試過(guò)程中遇到的問(wèn)題是如何解決的以及對(duì)設(shè)計(jì)與實(shí)現(xiàn)的回顧討論和分析;

(b)算法的時(shí)空分析(包括基本操作和其他算法的時(shí)間復(fù)雜度和空間復(fù)雜度的分析)和改進(jìn)設(shè)想;

(c)經(jīng)驗(yàn)和體會(huì)等。

5.用戶使用說(shuō)明

說(shuō)明如何使用你編寫的程序,詳細(xì)列出每一步的操作步驟。

6.測(cè)試結(jié)果

設(shè)計(jì)測(cè)試數(shù)據(jù),或具體給出測(cè)試數(shù)據(jù)。要求測(cè)試數(shù)據(jù)能全面地測(cè)試所設(shè)計(jì)程序的功能。列出你的測(cè)試結(jié)果,包括輸入和輸出。這里的測(cè)試數(shù)據(jù)應(yīng)該完整和嚴(yán)格,最好多于需求分析中所列。

7.測(cè)試情況:給出程序的測(cè)試情況,并分析運(yùn)行結(jié)果

附錄(非必須,按照需要添加)

帶注釋的源程序。可以只列出程序文件名的清單。

需求分析

任務(wù):通過(guò)此系統(tǒng)可以實(shí)現(xiàn)如下功能: 錄入:

可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)

查詢:

可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉(cāng)); 可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;

訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無(wú)票,可以提供相關(guān)可選擇航班;

退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;

客戶資料有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào)。

概要設(shè)計(jì)

詳細(xì)設(shè)計(jì)

詳列函數(shù) void list(){

struct airline *info;

int i=0;

info=start;

printf(“起點(diǎn)城市t終點(diǎn)城市t航班號(hào)t起飛時(shí)間t降落時(shí)間t總票數(shù)t余票數(shù)n”);

while(i

{

display(info);

info++;

i++;

}

printf(“nn”);}

查詢函數(shù) void search(){

struct airline *info,*find();

char qiname[10];

char jiangname[10];

int i=0;

info=start;

printf(“請(qǐng)輸入要起飛城市的名稱:”);

scanf(“%s”,qiname);

printf(“請(qǐng)輸入要抵達(dá)城市的名稱:”);

scanf(“%s”,jiangname);

while(i

{

if(!strcmp(jiangname,info->jiang_name))

{

break;

}

info++;

i++;

}

if(i>=MAXSIZE)

{

printf(“沒(méi)有這條航線!n”);

}

else

{

printf(“起飛城市t降落城市t航班號(hào)t起飛時(shí)間t降落時(shí)間t總票數(shù)t余票數(shù)n”);

display(info);

} }

struct airline *find(){

struct airline *info;

char number[10];

int i=0;

info=start;

printf(“請(qǐng)輸入航班號(hào):”);

scanf(“%s”,number);

while(i

{

if(!strcmp(number,info->air_num))

{

return info;

}

info++;

i++;

}

printf(“沒(méi)有這條航線!n”);

return NULL;}

訂票函數(shù) void order(){

struct airline *info;

char qiname[10];

char jiangname[10];

int amount;

char name[10];

char id[30];

info=start;

printf(“請(qǐng)輸入您的起飛城市:”);

scanf(“%s”,qiname);

printf(“請(qǐng)輸入您的降落城市:”);

scanf(“%s”,jiangname);

printf(“請(qǐng)輸入您需要的票數(shù):”);

scanf(“%d”,&amount);

int i=1;

while(i<5)

{

if(!strcmp(info->qi_name,qiname)&&!strcmp(info->jiang_name,jiangname))

{

if(amount<=info->ticket_left)

{

int i;

printf(“請(qǐng)輸入您的姓名:”);

scanf(“%s”,name);

printf(“請(qǐng)輸入您的身份證號(hào):”);

scanf(“%s”,id);

info->order=insertlink(info->order,amount,name,id);

printf(“您的航班信息為:n”);

display(info);

for(i=0;i

{

printf(“%s的座位號(hào)是:%dn”,name,info->ticket_all-info->ticket_left+i+1);

}

info->ticket_left-=amount;

printf(“訂票成功!n”);

break;

}

else

{

info++;

i++;

}

}

else

{

info++;

i++;

}

} }

退票函數(shù)

void returnticket(){

struct airline *info;

linklist *p1,*p2,*head;

char name[10];

if(!(info=find()))

{

return;

}

head=info->order;

p1=head;

printf(“請(qǐng)輸入您的姓名:”);

scanf(“%s”,name);

while(p1!=NULL)

{

if(!strcmp(name,p1->name))

{

break;

}

p2=p1;

p1=p1->next;

}

if(p1==NULL)

{

printf(“您沒(méi)有訂過(guò)票!n”);

return;

}

else

{

if(p1==head)

{

head=p1->next;

}

else

{

p2->next=p1->next;

}

info->ticket_left+=p1->tickets;

printf(“%s退票成功!n”,p1->name);

free(p1);

}

info->order=head;}

存儲(chǔ)結(jié)構(gòu)

typedef struct passenger {

char name[10];

int tickets;

char id[30];

struct passenger *next;} linklist;typedef struct airline {

char qi_name[10];

char jiang_name[10];

char air_num[10];

char qi_time[10];

char jiang_time[10];

int ticket_all;

int ticket_left;

linklist *order;} lineinfo;調(diào)試分析

查看航線信息

查詢航線 ① 輸入起飛城市 ② 輸入抵達(dá)城市 ③ 輸出航班信息

辦理訂票業(yè)務(wù) ① 查詢符合的航班 ② 查詢余票量 ③ 輸出航班信息

辦理退票業(yè)務(wù)

源代碼

#include #include #include #include #include #include using namespace std;#define MAXSIZE 5 typedef struct passenger {

char name[10];

int tickets;

char id[30];

struct passenger *next;} linklist;

typedef struct airline {

char qi_name[10];

char jiang_name[10];

char air_num[10];

char qi_time[10];

char jiang_time[10];

int ticket_all;

int ticket_left;

linklist *order;} lineinfo;

struct airline *start;

void display(struct airline *info){ printf(“%st %10st %10st %10st %10st %5dt %5dn”,info->qi_name,info->jiang_name,info->air_num,info->qi_time,info->jiang_time,info->ticket_all,info->ticket_left);} void list(){

struct airline *info;

int i=0;

info=start;

printf(“起點(diǎn)城市t終點(diǎn)城市t航班號(hào)t起飛時(shí)間t降落時(shí)間t總票數(shù)t余票數(shù)n”);

while(i

{

display(info);

info++;

i++;

}

printf(“nn”);}

void search(){

struct airline *info,*find();

char qiname[10];

char jiangname[10];

int i=0;

info=start;

printf(“請(qǐng)輸入要起飛城市的名稱:”);

scanf(“%s”,qiname);

printf(“請(qǐng)輸入要抵達(dá)城市的名稱:”);

scanf(“%s”,jiangname);

while(i

{

if(!strcmp(jiangname,info->jiang_name))

{

break;

}

info++;

i++;

}

if(i>=MAXSIZE)

{

printf(“沒(méi)有這條航線!n”);

}

else

{

printf(“起飛城市t降落城市t航班號(hào)t起飛時(shí)間t降落時(shí)間t總票數(shù)t余票數(shù)n”);

display(info);

} } struct airline *find(){

struct airline *info;

char number[10];

int i=0;

info=start;

printf(“請(qǐng)輸入航班號(hào):”);

scanf(“%s”,number);

while(i

{

if(!strcmp(number,info->air_num))

{

return info;

}

info++;

i++;

}

printf(“沒(méi)有這條航線!n”);

return NULL;}

linklist *insertlink(linklist *head,int amount,char name[],char id[]){

linklist *p1,*new1;

p1=head;

new1=(linklist*)malloc(sizeof(linklist));

strcpy(new1->name,name);

new1->tickets=amount;

new1->next=NULL;

strcpy(new1->id,id);

if(head==NULL)

{

head=new1;

new1->next=NULL;

}

else

{

while(p1->next!=NULL)

p1=p1->next;

p1->next=new1;

}

return head;}

void order(){

struct airline *info;

char qiname[10];

char jiangname[10];

int amount;

char name[10];

char id[30];

info=start;

printf(“請(qǐng)輸入您的起飛城市:”);

scanf(“%s”,qiname);

printf(“請(qǐng)輸入您的降落城市:”);

scanf(“%s”,jiangname);

printf(“請(qǐng)輸入您需要的票數(shù):”);

scanf(“%d”,&amount);

int i=1;

while(i<5)

{

if(!strcmp(info->qi_name,qiname)&&!strcmp(info->jiang_name,jiangname))

{

if(amount<=info->ticket_left)

{

int i;

printf(“請(qǐng)輸入您的姓名:”);

scanf(“%s”,name);

printf(“請(qǐng)輸入您的身份證號(hào):”);

scanf(“%s”,id);

info->order=insertlink(info->order,amount,name,id);

printf(“您的航班信息為:n”);

display(info);

for(i=0;i

{

printf(“%s的座位號(hào)是:%dn”,name,info->ticket_all-info->ticket_left+i+1);

}

info->ticket_left-=amount;

printf(“訂票成功!n”);

break;

}

else

{

info++;

i++;

}

}

else

{

info++;

i++;

}

} }

void returnticket(){

struct airline *info;

linklist *p1,*p2,*head;

char name[10];

if(!(info=find()))

{

return;

}

head=info->order;

p1=head;

printf(“請(qǐng)輸入您的姓名:”);

scanf(“%s”,name);

while(p1!=NULL)

{

if(!strcmp(name,p1->name))

{

break;

}

p2=p1;

p1=p1->next;

}

if(p1==NULL)

{

printf(“您沒(méi)有訂過(guò)票!n”);

return;

}

else

{

if(p1==head)

{

head=p1->next;

}

else

{

p2->next=p1->next;

}

info->ticket_left+=p1->tickets;

printf(“%s退票成功!n”,p1->name);

free(p1);

}

info->order=head;}

int menu_select(){

int c;

char s[20];

printf(“

訂票系統(tǒng)n”);

printf(“-------------n”);

printf(“

1.查看航線信息

printf(”

2.查詢航線

printf(“

3.辦理訂票業(yè)務(wù)

printf(”

4.辦理退票業(yè)務(wù)

printf(“

5.退出系統(tǒng)

printf(”-------------n“);

do

{

printf(”請(qǐng)選擇(1-5):“);

scanf(”%s“,s);

c=atoi(s);

}

while(c<1||c>6);

return c;

n”);n“);n”);n“);

n”);

}

int main(){

struct airline air[MAXSIZE]=

{

{“harbin”,“beijing”,“1”,“12:00”,“14:00”,30,30},{“harbin”,“shanghai”,“2”,“10:00”,“13:00”,20,20},{“harbin”,“beijing”,“3”,“13:30”,“10:00”,50,50},{“harbin”,“guangzhou”,“4”,“17:00”,“21:00”,50,50},{“harbin”,“dalian”,“5”,“14:00”,“17:00”,40,40}

};

start=air;

while(1)

{

system(“cls”);

switch(menu_select())

{

case 1:

list();

break;

case 2:

search();

break;

case 3:

order();

break;

case 4:

returnticket();

break;

case 5:

exit(0);

}

getch();

} }

經(jīng)驗(yàn)體會(huì)

1、通過(guò)設(shè)計(jì)飛機(jī)訂票系統(tǒng),加深了對(duì)鏈表的運(yùn)用和理解。

2、通過(guò)多組測(cè)試數(shù)據(jù),發(fā)現(xiàn)了程序的問(wèn)題,并做了調(diào)整、3、通過(guò)設(shè)計(jì)選擇菜單,對(duì)選擇結(jié)構(gòu)有更深刻的了解。

下載QTP自帶的飛機(jī)訂票程序產(chǎn)品規(guī)格說(shuō)明書5篇word格式文檔
下載QTP自帶的飛機(jī)訂票程序產(chǎn)品規(guī)格說(shuō)明書5篇.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    數(shù)據(jù)庫(kù)課程設(shè)計(jì)+飛機(jī)訂票系統(tǒng)

    飛機(jī)訂票系統(tǒng) 1.概述(設(shè)計(jì)題目與可行性分析) 1.1設(shè)計(jì)題目:飛機(jī)訂票系統(tǒng) 1.2可行性分析 飛機(jī)訂票系統(tǒng)是為機(jī)場(chǎng)工作人員和客戶提供訂票退票等與機(jī)票相關(guān)內(nèi)容的管理系統(tǒng),方便機(jī)場(chǎng)工......

    6 飛機(jī)訂票系統(tǒng)開發(fā)總結(jié)報(bào)告

    文檔編號(hào): 版本號(hào):v1.0 開發(fā)總結(jié)報(bào)告項(xiàng)目名稱 飛機(jī)訂票系統(tǒng) 項(xiàng)目負(fù)責(zé)人何柳青 本文檔編寫者 何柳青 項(xiàng)目開發(fā)者計(jì)算機(jī)081第二組 2010年12月20日 目錄 1.引言 ................

    飛機(jī)訂票系統(tǒng)風(fēng)險(xiǎn)評(píng)估

    飛機(jī)訂票系統(tǒng) —項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告 本文檔的范圍和目的 本文主要針對(duì)飛機(jī)訂票系統(tǒng)軟件開發(fā)涉及到的風(fēng)險(xiǎn),包括在軟件開發(fā)周期過(guò)程中可能出現(xiàn)的風(fēng)險(xiǎn)以及軟件實(shí)施過(guò)程中外部......

    C語(yǔ)言程序設(shè)計(jì)——飛機(jī)訂票系統(tǒng)

    C語(yǔ)言程序設(shè)計(jì)——飛機(jī)訂票系統(tǒng) 代碼如下:” #include"stdio.h" #include"stdlib.h" #include"string.h" #defineLENsizeof (structplane) #defineMAX 10; structplane { ch......

    飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)(共五則)

    《銀行帳戶管理系統(tǒng)》設(shè)計(jì)報(bào)告 飛機(jī)航班訂票系統(tǒng)概要設(shè)計(jì) 根據(jù)需求分析中的描述,知道需要三個(gè)struct結(jié)構(gòu)體類型和一個(gè)class的類 struct person //定義旅客信息結(jié)構(gòu)體類型 {......

    1 飛機(jī)訂票系統(tǒng)可行性研究報(bào)告

    文檔編號(hào): 版本號(hào):v1.0 可行性研究報(bào)告 項(xiàng)目名稱 飛機(jī)訂票系統(tǒng) 項(xiàng)目負(fù)責(zé)人何柳青 文檔編寫者阿依古麗.麥麥提 項(xiàng)目開發(fā)者計(jì)算機(jī)081第二組 2010年9月26日 目錄 1.引言 ..........

    C語(yǔ)言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)源代碼

    #include //標(biāo)準(zhǔn)輸入、輸出頭文件 #include //包含字符串函數(shù)處理頭文件 #include //包含access函數(shù)的頭文件 #define N 9999 //定義最多的航班數(shù) #define PRINT "%dtt......

    數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語(yǔ)言版《飛機(jī)訂票系統(tǒng)》

    軟件工程專業(yè)14級(jí) 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目: 飛機(jī)訂票系統(tǒng) 班 級(jí): 軟 件14 姓 名: 指導(dǎo)教師: 2015年 11月20日 目錄 一、設(shè)計(jì)任務(wù)與要求 ...............................

主站蜘蛛池模板: 婷婷四房色播| 九九热在线视频精品店| 最新综合精品亚洲网址| 久久久久久久性潮| 日本嫩交12一16xxx视频| 人人人爽人人爽人人av| 丝袜国产一区av在线观看| 国产精品无码久久av嫩草| 欧美日韩国产图片区一区| 日本肉体xxxx裸交| 久久久久免费看黄a片app| 国产亚洲精品第一综合另类| 东北女人毛多水多牲交视频| 国产又滑又嫩又白| 亚洲精品偷拍无码不卡av| 成人片黄网站色大片免费观看cn| 中国一 片免费观看| 亚洲中文无码精品卡通| 久久久久久成人毛片免费看| 在线亚洲综合欧美网站首页| 欧美日韩一区二区三区自拍| 亚洲中文字幕无码一区在线| 亚洲中文超碰中文字幕| 老司机午夜福利试看体验区| 色猫咪av在线观看| 18禁免费无码无遮挡不卡网站| 日本亚洲国产一区二区三区| 一本一道色欲综合网中文字幕| 国产精品热久久无码av| 国产精品原创巨作av| 无码中文人妻在线三区| 国产av一区二区三区天堂综合网| 影音先锋每日av色资源站| 日韩精品无码专区免费播放| 乌克兰少妇xxxx做受野外| 国产午夜激无码av毛片不卡| 国精产品一区一区三区免费视频| 一区二区三区高清av专区| 真人抽搐一进一出视频| 欧美精品国产制服第一页| 中文字幕在线不卡一区二区|