欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      QTP自帶的飛機訂票功能測試報告

      時間:2019-05-14 03:13:43下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《QTP自帶的飛機訂票功能測試報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《QTP自帶的飛機訂票功能測試報告》。

      第一篇:QTP自帶的飛機訂票功能測試報告

      QTP自帶的飛機訂票功能測試報告

      課題名稱

      飛機訂票系統(tǒng)功能測試報告 系/專 業(yè)

      *******學院 班

      ***** 學

      ***** 學生姓名

      *****

      指導教師:*****

      測試目標

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

      測試內容

      熟悉了解飛機訂票系統(tǒng)的基本運行流程,從登錄到訂票、查詢、刪除等一系列基本功能的操作,并能夠對其中的一些功能進行測試工作。此次飛機訂票系統(tǒng)測試內容有登錄功能,其中登陸功能測試包含一個用戶能否正確登錄、設置參數(shù)可以進行多個用戶正確和錯誤的登錄進行測試。在訂票功能中有對訂票是否成功的測試、設置檢查點以及循環(huán)所有航班的測試。

      測試原理分析

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

      基本操作

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

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

      圖1-01

      第三步:選擇“Blank Test”選項,如圖1-02;

      圖1-02

      第四步:關閉右上角的對話框,選擇左上角的“Record”選項,如圖1-03;

      圖1-03

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

      圖1-04

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

      圖1-05

      登陸測試測試用例設計

      針對登錄模塊的輸入條件:用戶名和密碼,有以下幾種情況: 1.當用戶什么也沒輸入,直接點OK按鈕,是否提示請輸入用戶名;

      2.當用戶輸入正確的用戶名,沒輸入密碼,直接點擊OK按鈕,是否提示請輸入密碼;

      3.對密碼進行驗證看是否設置輸入密碼的長度;

      4.當輸入正確的用戶名和密碼時,點擊OK按鈕是否進入操作界面;

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

      登錄。

      錄制與測試過

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

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

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

      圖2-02

      錄制的腳本代碼為:

      '寫一個循環(huán),讀取datatable的每一行測試用例 Dim i '定義變量i Dim outputvalue '定義變量實際得到的輸出 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)的實際輸出 istatus=datatable(“status”,dtlocalsheet)'獲取該次循環(huán)的預期輸出

      If outputvalue<>istatus Then Reporter.ReportEvent micFail,“登錄測試”,“實際的:”+outputvalue+“預期的:”+istatus+“不相同!” '報錯

      else Reporter.ReportEvent micPass,“登錄測試”,“實際的:”+outputvalue+“預期的:”+istatus+“相同!” '報對 End If

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

      測試結果

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

      圖2-03 QTP對測試用例的自動化測試后,分別將可以登陸成功和不能登陸成功的測試用例進行測試,運行結果如圖2-04

      圖2-04

      訂票測試

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

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

      錄制與測試過程

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

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

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

      圖3-03

      第四步:選擇要乘坐飛機的航班,然后點擊確定,如圖3-04;

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

      圖3-05 第六步:點擊“Stop”結束錄制過程,腳本錄制成功,如圖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中若干個測試用例 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 ' 日期不同,起飛地不同,目的地不同,可選擇的航班是不一樣的 ' 為適應這種不同,則需要從剛才現(xiàn)實的列表中隨機選擇一個 '則需要用到隨機函數(shù),首先要獲取列表框中的條目個數(shù)

      ItemCount=Window(“Flight Table”).WinList(“From”).GetItemsCount SelectItem=RandomNumber(0,ItemCount)'從0~ItemCount中隨機選擇一個數(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

      測試結果

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

      圖3-07 QTP對測試用例的自動化測試后,對訂票參數(shù)的測試用例進行測試,測試結果如圖3-08

      圖3-08 分析與建議

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

      飛機訂票系統(tǒng)測試小結

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

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

      QTP自帶的飛機訂票程序

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

      一.產(chǎn)品介紹

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

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

      專業(yè)的測試人員、企業(yè)公司測試組以及測試團隊 三.產(chǎn)品應當遵循的標準和規(guī)范

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

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

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

      五.操作說明

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

      QTP自帶的飛機訂票程序,小圖標為飛行圖標。如圖1-01

      圖1-01

      登錄模塊

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

      圖1-02 Agent Name文本框

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

      當輸入的字符小于4個時,不能登錄成功

      當輸入的字符大于10個時,則光標將移動到所輸入字符的初始端,如果此時繼續(xù)輸入字符,那么所輸入的字符將會逐漸覆蓋原先輸入的 字符

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

      Password文本框

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

      登陸窗口中沒有輸入任何內容,或者是只輸入密碼時,點擊此按鈕會提示。如圖1-03

      圖1-03

      2.當?shù)卿浢斎氲淖址∮?個時,點擊此按鈕會提示。如圖1-04

      圖1-04 3.當輸入符合規(guī)格的登錄名時,并沒有輸入密碼時,點擊此按鈕會提示。如圖1-05

      圖1-05 4.當輸入符合規(guī)格的登錄名,及任意輸入大于4個字符的密碼時,點擊按鈕會提示。如圖1-06

      圖1-06 5.當輸入符合規(guī)格的登錄名,并輸入密碼長度小于4個字符時,點擊此按鈕會提示。如圖1-07

      圖1-07 6.當在文本框中輸入的字符均不符合時,點擊此按鈕將會提示出以下警示框。如圖1-08

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

      圖1-09

      Cancel按鈕

      點擊此按鈕整個登錄窗口都會關閉,如果在點擊按鈕之前的路窗口 中輸入的有內容,則將不會被保存。

      Help按鈕

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

      圖1-08

      訂票模塊

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

      圖2-01

      日期選擇

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

      當輸入的日期不符合常規(guī)或者輸入的數(shù)字不均為兩個時,點擊飛行班機圖標。如圖2-02,會出現(xiàn)提示框。如圖2-03

      圖2-02

      圖2-03

      當輸入的日期時間過早,則會出現(xiàn)提示框。如圖2-04

      圖2-04 當輸入的日期沒有對應的航班,點擊飛行班機圖標時,則會出現(xiàn)對話框。如圖2-05

      圖2-05 當輸入的時間有對應的航班,點擊飛行班機圖標時,則會出現(xiàn)相應對話框可供選擇具體航班。如圖2-06

      圖2-06 起始地和目的地

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

      圖2-07

      圖2-08

      當選擇相應的航班,點擊飛行班機圖標時。對應在訂票窗口中的航班號,登機時間,到達時間,航線,票數(shù),所價錢以及總計都會自動生成在對話框中。如圖2-09

      圖2-09

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

      圖2-10

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

      圖2-11

      選擇所買票的張數(shù)點擊提交訂單Insert Order,則訂票成功,且自動生成訂單號,同時可以刪除訂單Delete Order。

      快捷按鈕

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

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

      圖2-13 菜單欄

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

      附:

      登錄模塊中,當?shù)卿洿螖?shù)過多時,將會有警示框提示錯誤次數(shù)太多,不能再登錄了。

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

      第三篇:qtp測試飛機訂票使用DataTable參數(shù)化(實驗3

      飛機訂票使用DataTable參數(shù)化(實驗III)

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

      一: 實現(xiàn)步驟

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

      1.2:將flight4b.exe打開,運行至此界面,確保錄制從這個階段開始

      1.3插入一條訂票的記錄,注意記好num號,生成如下的測試過程,并運行回放該測試的結果,點擊run驗證“僅錄制預定機票的過程”

      1.4:要求測試過程為全部pass

      II.對預定機票中的數(shù)據(jù)進行參數(shù)化 2.1:在test用例中選中Fly From這個項

      2.2:命名為Fly_from,點擊確定

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

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

      2.5:出錯信息如附,因為手工添加參數(shù)后,QT并沒有識別到,所以我們下一步采用RandomNumber來實現(xiàn)

      2.6:選擇Flight Table下的From,點擊# 5 2.7:選擇random Number

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

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

      3.2選擇用戶自定義

      3.3按+號將用戶名添加入

      3.4按下圖操作,選擇Environment

      3.5選RUN驗證吧

      要求:主要完成I、II部分,III部分作為體驗

      完成將調試PASS的界面截圖,同時將測試腳本用例保存打包 班級+姓名+學號.RAR方式提交,同時將實驗報告(可以打印)方式上交課代表。

      第四篇:數(shù)據(jù)結構課程設計 飛機訂票系統(tǒng)

      飛機訂票系統(tǒng)

      1.需求分析

      描述要求編程解決的問題。以無歧義的陳述說明程序設計的任務,強調的是程序要做什么?明確規(guī)定:

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

      (b)輸出的形式;

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

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

      2.概要設計

      給出程序要達到的具體的要求。描述解決相應問題算法的設計思想。描述所設計程序的各個模塊(即函數(shù))功能。說明本程序中用到的所有抽象數(shù)據(jù)類型的定義、主程序的流程以及各程序模塊之間的層次(調用)關系。

      3.詳細設計

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

      4.調試分析 內容包括:

      (a)調試過程中遇到的問題是如何解決的以及對設計與實現(xiàn)的回顧討論和分析;

      (b)算法的時空分析(包括基本操作和其他算法的時間復雜度和空間復雜度的分析)和改進設想;

      (c)經(jīng)驗和體會等。

      5.用戶使用說明

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

      6.測試結果

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

      7.測試情況:給出程序的測試情況,并分析運行結果

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

      帶注釋的源程序??梢灾涣谐龀绦蛭募那鍐巍?/p>

      需求分析

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

      可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結構、具體數(shù)據(jù)自定)

      查詢:

      可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉); 可以輸入起飛抵達城市,查詢飛機航班情況;

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

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

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

      概要設計

      詳細設計

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

      struct airline *info;

      int i=0;

      info=start;

      printf(“起點城市t終點城市t航班號t起飛時間t降落時間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(“請輸入要起飛城市的名稱:”);

      scanf(“%s”,qiname);

      printf(“請輸入要抵達城市的名稱:”);

      scanf(“%s”,jiangname);

      while(i

      {

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

      {

      break;

      }

      info++;

      i++;

      }

      if(i>=MAXSIZE)

      {

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

      }

      else

      {

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

      display(info);

      } }

      struct airline *find(){

      struct airline *info;

      char number[10];

      int i=0;

      info=start;

      printf(“請輸入航班號:”);

      scanf(“%s”,number);

      while(i

      {

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

      {

      return info;

      }

      info++;

      i++;

      }

      printf(“沒有這條航線!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(“請輸入您的起飛城市:”);

      scanf(“%s”,qiname);

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

      scanf(“%s”,jiangname);

      printf(“請輸入您需要的票數(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(“請輸入您的姓名:”);

      scanf(“%s”,name);

      printf(“請輸入您的身份證號:”);

      scanf(“%s”,id);

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

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

      display(info);

      for(i=0;i

      {

      printf(“%s的座位號是:%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(“請輸入您的姓名:”);

      scanf(“%s”,name);

      while(p1!=NULL)

      {

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

      {

      break;

      }

      p2=p1;

      p1=p1->next;

      }

      if(p1==NULL)

      {

      printf(“您沒有訂過票!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;}

      存儲結構

      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;調試分析

      查看航線信息

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

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

      辦理退票業(yè)務

      源代碼

      #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(“起點城市t終點城市t航班號t起飛時間t降落時間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(“請輸入要起飛城市的名稱:”);

      scanf(“%s”,qiname);

      printf(“請輸入要抵達城市的名稱:”);

      scanf(“%s”,jiangname);

      while(i

      {

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

      {

      break;

      }

      info++;

      i++;

      }

      if(i>=MAXSIZE)

      {

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

      }

      else

      {

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

      display(info);

      } } struct airline *find(){

      struct airline *info;

      char number[10];

      int i=0;

      info=start;

      printf(“請輸入航班號:”);

      scanf(“%s”,number);

      while(i

      {

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

      {

      return info;

      }

      info++;

      i++;

      }

      printf(“沒有這條航線!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(“請輸入您的起飛城市:”);

      scanf(“%s”,qiname);

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

      scanf(“%s”,jiangname);

      printf(“請輸入您需要的票數(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(“請輸入您的姓名:”);

      scanf(“%s”,name);

      printf(“請輸入您的身份證號:”);

      scanf(“%s”,id);

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

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

      display(info);

      for(i=0;i

      {

      printf(“%s的座位號是:%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(“請輸入您的姓名:”);

      scanf(“%s”,name);

      while(p1!=NULL)

      {

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

      {

      break;

      }

      p2=p1;

      p1=p1->next;

      }

      if(p1==NULL)

      {

      printf(“您沒有訂過票!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è)務

      printf(”

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

      printf(“

      5.退出系統(tǒng)

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

      do

      {

      printf(”請選擇(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)驗體會

      1、通過設計飛機訂票系統(tǒng),加深了對鏈表的運用和理解。

      2、通過多組測試數(shù)據(jù),發(fā)現(xiàn)了程序的問題,并做了調整、3、通過設計選擇菜單,對選擇結構有更深刻的了解。

      第五篇:數(shù)據(jù)庫課程設計+飛機訂票系統(tǒng)

      飛機訂票系統(tǒng)

      1.概述(設計題目與可行性分析)

      1.1設計題目:飛機訂票系統(tǒng)

      1.2可行性分析

      飛機訂票系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關內容的管理系統(tǒng),方便機場工作人員對機票的管理,以提高機場工作人員對機票管理工作的效率。當前飛機訂票問題:手工訂票所產(chǎn)生的客座率低。而我們的目標是:建立一個飛機訂票系統(tǒng)數(shù)據(jù)庫。

      1.2.1研究現(xiàn)有系統(tǒng),畫現(xiàn)有系統(tǒng)的流程圖

      了解當前系統(tǒng)能夠完成的功能及組成

      航班管理:票據(jù)管理

      售票點:直接面向用戶 航班管理

      票據(jù)管理

      票庫

      訂票庫

      訂票管理

      出售管理

      打印機票

      售票點1 售票點n

      現(xiàn)有系統(tǒng):票據(jù)都分布在各個售票點

      1.2.2導出新系統(tǒng)的高層邏輯結構

      數(shù)據(jù)流圖的基本符號:

      數(shù)據(jù)源/終點(人機界面):

      加工處理:

      文件名

      文件: 數(shù)據(jù)流名

      數(shù)據(jù)流: 票價信息

      機票

      查訂票號

      訂票處理

      客戶信息

      出票處理

      訂票記錄

      顧客

      訂票信息

      訂票號

      庫存信息

      票價信息

      票價管理

      航班管理

      航班信息

      操作員

      航班信息

      保存

      新系統(tǒng)的數(shù)據(jù)流圖:

      說明:流向文件的數(shù)據(jù)流的名可以省略

      1.2.3可行性分析報告

      隨著Internet的迅速發(fā)展和用戶數(shù)量的急劇增加,互聯(lián)網(wǎng)對于企業(yè)和事業(yè)單位的運營和發(fā)展日益重要,網(wǎng)上交易也逐漸被人們認可,并成為未來交易的發(fā)展方向。在這種情況下,很多原有的C/S模式的系統(tǒng)也逐步向B/S模式靠攏,飛機訂票系統(tǒng)也不例外。

      飛機訂票系統(tǒng)是飛機旅游服務信息系統(tǒng)的一個重要組成部分。為旅客提供優(yōu)質便捷的服務,為了提高飛機客運的售票效率,豐富飛機客運的營銷手段,飛機售票總站的下屬代售點可以通過公用的互聯(lián)網(wǎng)資源,建立數(shù)據(jù)庫,實現(xiàn)網(wǎng)上的售票,查詢及管理工作。

      2.系統(tǒng)目標和設計原則

      2.1系統(tǒng)目標:

      建立一個飛機訂票系統(tǒng)數(shù)據(jù)庫。

      2.1.1系統(tǒng)簡介:

      本系統(tǒng)是專為乘坐飛機的旅客準備的,旅客只需把自己的信息(姓名.性別.工作單位.身份證號.旅行時間.旅行目的地)預先交給旅行社,旅行社就可以將信息輸入本系統(tǒng),系統(tǒng)就可以為旅客安排航班,打印出取票通知和帳單。旅客只要在飛機起飛的前一天憑取票通知單和帳單交款取單,系統(tǒng)校對無誤即印出機票給旅客。

      2.2設計原則

      2.2.1根據(jù)實際情況考慮三種可行性

      技術可行性、經(jīng)濟可行性、操作可行性

      2.2.2提出侯選方案、提出各種各樣的實現(xiàn)方案

      主機(純主機型、C/S型)、開發(fā)環(huán)境、網(wǎng)絡方案、對提出的每個方案進行成本估計

      硬件、軟件費用投資(根據(jù)各公司的報價)開發(fā)成本估計(任務估算法)

      運行費用、投資回收期

      純收入:通過本系統(tǒng)的運行、投資回收后的收入

      3、描述推薦理由:分別從技術、經(jīng)濟、用戶、投資方的不同角度考慮

      3.支撐環(huán)境規(guī)劃

      3.1整體系統(tǒng)運作圖

      3.2運行環(huán)境

      服務器:硬件配置:CPU Intel P4 1.2G以上

      內存256 硬盤 80G以上

      軟件配置:Windows 2000/2003 SERVER SQL SERVER 2000 4.系統(tǒng)功能結構

      1、錄入:可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結構、具體數(shù)據(jù)自定)

      2、查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;

      3、訂票:(訂票情況可以存在一個數(shù)據(jù)文件中,結構自己設定)可以訂票,如果該航班已經(jīng)無票,可以提供相關可選擇航班;

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

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

      5、修改航班信息:當航班信息改變可以修改航班數(shù)據(jù)文件。

      5.數(shù)據(jù)庫設計

      5.1概念結構設計

      E-R圖如下:

      5.2邏輯結構設計

      1.航空公司表:AIRLINE 2.客戶表CUSTOMER

      3、飛機表PLANE 4.航線表LINE 5.航班表FLIGHT 6.訂票表BOOKTICKET

      5.3實現(xiàn)設計

      實現(xiàn)以下操作:

      1、注冊航空公司:

      2、增加飛機:

      3、增加航線:

      4、增加航班:

      5、增加客戶:

      6、建立一個訂票的存儲過程,存儲過程名為Book_Ticket,請完成以下存儲過程,實現(xiàn)訂票的操作:

      a)指定要訂的航班號(HID)及客戶的編號(KID);

      b)先查看客戶是否為特殊客戶,如果不是,票價不打折扣;

      c)否則如果客戶航程超過5萬公里,票價7折,超過15萬公里,票價打5折;

      d)查看客戶訂票以后,所有乘客的票數(shù)是否超過總的座位數(shù),如果超過,回滾訂票操作;

      e)要求在操作過程中使用到事務技術。

      CREATE PROCEDURE Book_ticket @HID VARCHAR(20)

      @HID VARCHAR(20)

      AS DECLARE @TRANS_NAME VARCHAR(20)select @TRANS_NAME=’ ’

      BEGIN TRANSACTION DECLARE @Bookid int,@seats int,@IsSpec char(1)/*定義訂票里程DIST、折扣率discount、總的訂票里程distance、票價PRICE(實型)*/ select @Isspec=Isspec,@distance=Points FROM Customer where select @discount=1 IF @ BEGIN

      END /*選擇出票價*/ SELECT @PRICE=PRICE FROM FLIGHT WHERE /*加入客戶訂票信息*/

      /*將客戶新訂票里程的信息累計到用戶信息里面*/

      UPDATE SET WHERE /*查看客戶訂票后,是否超過可容納的座位數(shù)目,如果超過,取消所有操作*/ SELECT booked=count(*)FROM WHERE FID= /*查看額定座位容量*/ SELECT @seats=seatsnum FROM WHERE

      IF @BOOKED>@SEATS

      ELSE

      COMMIT TRANSACTION GO 7.運行這個訂票操作的存儲過程(自己設定客戶及航班)

      book_ticket , 8.事務運行成功后,再顯示各表的數(shù)據(jù),按表分別寫出來。

      6.總體實施計劃

      6.1可行性研究:

      研究現(xiàn)有系統(tǒng),畫現(xiàn)有系統(tǒng)的流程圖,編寫可行性分析報告

      6.2進行數(shù)據(jù)庫設計:

      概念結構設計,邏輯結構設計,實現(xiàn)設計

      6.3概要設計:

      從數(shù)據(jù)流圖導出初始結構圖,設計優(yōu)化 6.4詳細設計:

      結構化的程序設計,采用流程圖的形式

      6.5保密設計

      1.每個用戶需要注冊才能進入航空訂票信息系統(tǒng),并進行網(wǎng)上訂票的。用戶必須

      用自己真實的身份進行注冊。

      2.系統(tǒng)要另外在備一份數(shù)據(jù)庫,防止系統(tǒng)出現(xiàn)錯誤而使數(shù)據(jù)信息丟失的可能性。

      3.系統(tǒng)要安裝防火墻,防止黑客入侵破壞系統(tǒng)。還有就是安裝殺毒軟件,防止

      病毒入侵而導致系統(tǒng)癱瘓。

      6.6維護設計

      系統(tǒng)設置提供管理員操作頁面:

      1.提供管理員密碼,方便維護操作.2.固定時間對系統(tǒng)進行維護和檢測.3.若系統(tǒng)出現(xiàn)癱瘓時,可出動備用系統(tǒng)維持運轉.4.定期對系統(tǒng)進行更新整頓清空.7.總結

      這次數(shù)據(jù)庫課程設計的“飛機訂票系統(tǒng)”,通過近一周的上機操作,充分應用了所學的數(shù)據(jù)庫的知識,并去圖書館查閱了一些書集和上網(wǎng)搜索一部分相當資料,粗略設計出該系統(tǒng)??傮w上來說,這次課程設計還是比較成功的,充分運用了所學的軟件工程設計、數(shù)據(jù)庫的設計,設計出E-R圖、流程圖、數(shù)據(jù)庫基本表,從整體規(guī)劃出了系統(tǒng)的運行環(huán)境和系統(tǒng)實現(xiàn)的功能。

      當然,由于學藝不精,在課程設計的過程也碰到的一些問題。其中,畫E-R圖時,各實體中的關系的確定,由于對系統(tǒng)還不夠了解而找不到一個準確的詞來形容;總體規(guī)劃時,材料太多,不易整理;相關數(shù)據(jù)庫技術方面沒有多注意,這次課程設計的重點只在對整個系統(tǒng)的總體思路設計。

      其實這些通過最近的課程設計覺得最重要一點就是:我們一定要自己動手,這樣才能真正的學到東西。書本知識固然重要,但我們更要學會將書本知識應用到實際的工作中。實踐中才會發(fā)現(xiàn)錯誤,也才能改進,才能達到學習的最終目的。

      最后感謝在這次課程設計中幫助過我的老師,同學!8.參考文獻

      物流信息系統(tǒng)

      趙剛 四川大學人民出版社 2002/9 物流信息管理

      尹濤 東北財經(jīng)大學出版社

      2005/1 數(shù)據(jù)庫系統(tǒng)概論

      王珊 薩師煊 高等教育出版社 2006/5 數(shù)據(jù)庫技術與應用-Access2000篇 郭力平人民郵電出版社

      2002/8 軟件設計師教程 陳平禇華

      清華大學出版社 2006/6 文章引用自:

      下載QTP自帶的飛機訂票功能測試報告word格式文檔
      下載QTP自帶的飛機訂票功能測試報告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


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

      相關范文推薦

        6 飛機訂票系統(tǒng)開發(fā)總結報告

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

        飛機訂票系統(tǒng)風險評估

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

        C語言程序設計——飛機訂票系統(tǒng)

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

        飛機訂票系統(tǒng)課程設計(共五則)

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

        1 飛機訂票系統(tǒng)可行性研究報告

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

        4 飛機訂票系統(tǒng)系統(tǒng)概要設計說明書

        文檔編號: 版本號:V1.0 概要設計說明書 項目名稱 飛機訂票系統(tǒng) 項目負責人何柳青 本文檔編寫者 李欣純 項目開發(fā)者 計算機081第二組 2010年11月7日 目錄 1.引言 ..............

        C語言課程設計——飛機訂票系統(tǒng)源代碼

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

        數(shù)據(jù)結構課程設計c語言版《飛機訂票系統(tǒng)》

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