中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      機票預訂系統(一)

      時間:2024-05-27 12:55:17 計算機畢業論文 我要投稿
      • 相關推薦

      機票預訂系統(一)

      1.1項目背景
      1.1.1項目名稱    機票預訂系統
      1.1.2任務提出者 
      1.1.3開發者     
      1.1.4產品用戶.1.5機票預定系統的總目標
       在計算機網絡,數據庫和先進的開發平臺上,利用現有的軟件,配置一定的硬件,開發一個具有開放體系結構的、易擴充的、易維護的、具有良好人機交互界面的機票預定系統,實現航空公司的機票銷售的自動化的計算機系統,為企業的決策層提供準確、精細、迅速的機票銷售信息。1.2編寫目的
       一個正常營運的航空公司需要管理所擁有的飛機、航線的設置,客戶的信息等,更重要的還要提供票務管理。面對各種不同種類的信息,需要開發有效的程序結構來管理各種信息。
       而在前一階段(概要設計說明書)中,已解決了實現該系統需求的程序模塊設計問題。包括如何把該系統劃分成若干個模塊、決定各個模塊之間的接口、模塊之間傳遞的信息,以及數據結構、模塊結構的設計等。在以下的詳細設計報告中將對在本階段中對系統所做的所有詳細設計進行說明。
       在本階段中,確定應該如何具體地實現所要求的系統,從而在編碼階段可以把這個描述直接翻譯成用具體的程序語言書寫的程序。主要的工作有:根據在《需求分析說明書》中所描述的數據、功能、運行、性能需求,并依照《概要設計說明書》所確定的處理流程、總體結構和模塊外部設計,設計軟件系統的結構設計、逐個模塊的程序描述(包括各模塊的功能、性能、輸入、輸出、算法、程序邏輯、接口等等),解決如何
       
       1. 接受:航班信息,旅客信息及取票通知和賬單;
       2. 輸出:取票通知和賬單及機票;
       3. 網絡輸出和加密,輸入和解密;
       4. 分辨信息的種類并采取相應的處理步驟;
       5. 判斷信息的正誤并采取相應的處理步驟;
       6. 進行數據庫的查詢、修改工作;
       7. 接受并判斷錯誤,輸出相應的出錯消息;
       
       詳細設計文檔是進行系統編碼的依據,編寫本文檔的目的在于為程序員的編碼提供詳細的說明,使程序員能根據詳細設計的框圖進行正確的編碼。本文檔的讀者對象為程序員,系統設計人員,航空公司管理人員以及參加評審的專家們。
      1.3 軟件定義
       在數據庫建表中,其中:flightnumber為航班號,airlinecompany為航空公司,startstation為始發站,middlestation為中轉站,endstation為終點站,takeofftime為起飛時間,landingtime為到達時間,price1為普通機票單價,memo為備注,flag記為是否售出的標志符,no1為普通艙座位數量,rest為剩余座位數量,buyername為客戶姓名,buyertel為聯系電話,buyeridnum為身份證號碼,contractno為訂單號,bookdate為訂票日期,cancledate為退票日期,buyeremail為客戶郵箱。
      1.4 開發環境
      1.4.1 操作系統
       Windows 98,Windows Me,Windows Me,Windows NT,Windows 2000 Professional,Windows 2000 Sever,Windows XP
      1.4.2 硬件要求
       PC機,小型機,工作站,服務器,內存512M以上,硬盤10G以上
      1.4.3 軟件要求
       應配置SQL Sever,Oracle或其他數據庫
      1.4.5 開發工具
       PowerBuilder  9.0
        第二章  需求分析

      2.1功能要求
      班機基本信息的管理;
      航班信息的管理;
      旅客預定機票、取消預約、付款取票、退票的管理;
      查詢航班信息、航班預定情況、旅客信息,計算航班滿座率。
      統計營業收入。

      2.2系統數據流圖
      2.2.1總體數據流圖
               第三章 數據庫邏輯設計

      3.1 planeticket表設計說明及描述
      3.1.1 定義表及關鍵字
      表1 planeticket
      字段名 數據類型 含義說明 空值情況 
      flightnumber Varchar 航班號 主關鍵字 
       airlinecompany Varchar 航空公司 不能為空 
       startstation Varchar 起飛城市 不能為空 
       middlestation Varchar 中轉城市 可以為空 
       endstation Varchar 到達城市 不能為空 
      takeofftime Time 起飛時間 不能為空 
       landingtime Time 到達時間 不能為空 
       no1 Int 普通艙座位數量 不能為空 
      price1 Long 普通機票單價 不能為空 
      rest int 剩余座位數 不能為空 
      memo Varchar 備        注 可以為空 

      3.1.2表的功能
       本程序主要實現航班信息的輸入和查詢,包括航班號,航空公司,始發站,中轉站,終點站,起飛時間,到達時間,普通艙座位數量,普通機票單價,剩余座位數及備注信息等。

      3.2 buyticket表設計說明及描述
      3.2.1定義表及關鍵字
      表2 buyticket
      字段名 數據類型 含義說明 空值情況 
      flightnumber Varchar 航班號 主關鍵字 
       airlinecompany Varchar 航空公司 不能為空 
       startstation Varchar 起飛城市 不能為空 
       middlestation Varchar 中轉城市 可以為空 
      endstation Varchar 到達城市 不能為空 
      takeofftime Time 起飛時間 不能為空 
       landingtime Time 到達時間 不能為空 
       Number1 Int 普通艙座位數量 不能為空 
       Price1 Long 普通機票單價 不能為空 
      Rest Int 剩余座位數 不能為空 
      memo Varchar 備注 系統調入 
      buyername Varchar 客戶姓名 不能為空 
      buyertel Int 聯系電話 不能為空 
       buyeridnumber Int 身份證號碼 不能為空 
       buyeremail Varchar 郵箱 可以為空 
       contractno Varchar 訂單號 不能為空 
      bookdate Data 訂票日期 不能為空 
      cancledate data 退票日期 不能為空 


      3.2.2 表的功能
        本程序主要實現旅客信息的輸入和查詢,包括航班號,航空公司,始發站,中轉站,終點站,起飛時間,到達時間,普通艙座位數量,普通機票單價,剩余座位數,備注信息,客戶姓名,聯系電話,身份證號碼,郵箱,訂單號,訂票日期,退票日期等

      第四章  軟件功能設計

      4.1  客戶機接受信息模塊結構圖
      4.1.1系統管理員添加航班信息    
       
       圖9添加航班信息
      4.1.2客戶訂票信息錄入
       
       圖10 訂票信息錄入
      4.1.3客戶退票信息錄入
       
       圖11 退票信息錄入
      4.2客戶機輸出信息模塊
      4.2.1繳款取票
       
       圖12 繳費取票
      4.3系統自動更新航班信息模塊
       
       圖13 更新航班信息
       
       第五章  界面設計

      5.1登錄界面
       
       圖14 登錄界面
      5.2主菜單界面
       
       圖15 主菜單界面
      5.3登記航班信息界面
       
       圖16 登記航班信息界面
      5.4訂購機票界面
       
       圖17 訂票界面
      5.5取消訂票界面
       
       圖18 退票界面
      5.6 航班信息維護界面
       
       圖19 更新航班信息界面
      5.7 計算航班滿座率界面
       
       圖20 滿座率計算
      5.8 統計營業收入界面
       
       圖21 統計營業收入界面
       
       
       

       第六章 課程設計心得體會
       這次課程設計做的比較匆忙,也可以說是畢業設計的一個前瞻。
       我用的是PowerBuilder 9.0來設計的,對該軟件還不是很熟悉,尤其是Powerscript語言以及它所自帶的函數,不得甚解,尤其是當某些功能,譬如說刪除,插入我們可以直接用deleterow(0),insertrow()來實現,還比較方便。
       總的來說,數據庫設計與軟件設計有異曲同工之妙,唯一的不同之處就是軟件有一個生命周期。從另一方面講,數據庫設計是軟件設計的基礎,脫離了數據庫設計軟件設計是沒有意義的,而單純的數據庫設計并沒有什么實際意義。
       該軟件需要改進的地方還有很多,譬如說界面不是很友好,數據庫表的設計有點不符合BCNF范式,每次只能實現一次操作訂購一張票等等。

      附錄1:參考文獻

        《PowerBuilder9.0課程設計案例精編》 魏海,黃浩等編著 中國水利水電出版社
        《PowerBuilder9.0開發人員指南》     張長富,李勻等編著 北京希望電子出版社
        《PowerBuilder9.0信息管理系統開發實例導航》何旭洪,傅立宏編著 人民郵電出版社
        《oracle 9i數據庫應用標準教程》 李欣主編 上海科學普及出版社
      附錄2:代碼
      1.planeticket  open()
      /*SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
      SQLCA.LogPass ="manager"
      SQLCA.ServerName = "LAB_b14"
      SQLCA.LogId = "system"
      SQLCA.AutoCommit = false
      //SQLCA.DBParm = "PBCatalogOwner='scott'"*/


      // Profile fly
      SQLCA.DBMS = "ODBC"
      SQLCA.AutoCommit = False
      SQLCA.DBParm = "ConnectString='DSN=plane;UID=sa;PWD=sa'"

      connect Using SQLCA;
      //open (w_main1)
      //open(w_planeticket)
      //open(w_chooseplane)
      //open(w_buyticket)
      open(w_main)

      2..訂購機票界面W_buyticket  open()
      long rn
      string num
      dw_3.settransobject (sqlca)
      dw_3.retrieve()
      dw_3.insertrow(0)
      dw_3.ScrollToRow(rn)
      dw_3.object.bookdate[1]=today()

      String flightnumber,airlinecompany,startstation,middlestation,endstation
      int takeofftime,landingtime, price1,rest
      String memo
      num=message.stringparm
      select airlinecompany,startstation,middlestation,endstation,takeofftime,landingtime,memo,
       price1
      into :airlinecompany,:startstation,:middlestation,:endstation,:takeofftime,:landingtime,:memo,
      :price1
      from planeticket
      where flightnumber=:num
      Using sqlca;

      dw_3.object.flightnumber[1]=num
      dw_3.object.airlinecompany[1]=airlinecompany
      dw_3.object.startstation[1]=startstation
      dw_3.object.middlestation[1]=middlestation
      dw_3.object.endstation[1]=endstation
      dw_3.object.takeofftime[1]=takeofftime
      dw_3.object.landingtime[1]=landingtime
      dw_3.object.price1[1]=price1
      //dw_3.object.price2[1]=price2
      dw_3.object.memo[1]=memo

      3.訂購機票界面訂票成功按鈕 clicked()
      dw_3.update()

      string num
      num=dw_3.GetitemString(1,"flightnumber")
      Update buyticket
      set flag=1
      where flightnumber=:num
      using sqlca;

      update planeticket

      set rest=rest-1
      where flightnumber=:num

      using sqlca;
      close(parent)

      4.退票界面w_cancleticket  open()
      // Profile xuwei
      /*SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
      SQLCA.LogPass = 'manager'
      SQLCA.ServerName = "lab_b14"
      SQLCA.LogId = "system"
      SQLCA.AutoCommit = true
      //SQLCA.DBParm = "PBCatalogOwner='scott'"*/

      // Profile fly
      SQLCA.DBMS = "ODBC"
      SQLCA.AutoCommit = False
      SQLCA.DBParm = "ConnectString='DSN=plane;UID=sa;PWD=sa'"

      connect using sqlca;

      5.退票界面查詢按鈕 clicked()
      string filterStr
      string name
      integer rc
      name=sle_buyername.text
      filterStr="buyername='"+name+"'"
      dw_4.SetTransobject(sqlca)

      dw_4.setFilter(filterStr)

      dw_4.Filter()
      dw_4.Retrieve()

      rc=dw_4.getrow()

       if rc<=0 then
       messagebox("提示:","沒有此顧客訂購機票信息!")
       return 1
      end if
       
      6.退票界面退票按鈕 clicked()
      string num
            num=dw_4.GetitemString(1,"flightnumber")
        update planeticket

            set rest=rest+1
            where flightnumber=:num

            using sqlca;
        
        dw_4.deleterow(0)
        dw_4.update()
            dw_4.retrieve()
        
      messagebox("提示:","退票成功!")

      7選擇機票界面查詢全部航班信息按鈕 clicked()
      disconnect using sqlca;
      // Profile xuwei
      /*SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
      SQLCA.LogPass = 'manager'
      SQLCA.ServerName = "lab_b14"
      SQLCA.LogId = "system"
      SQLCA.AutoCommit = true*/

      // Profile fly
      SQLCA.DBMS = "ODBC"
      SQLCA.AutoCommit = False
      SQLCA.DBParm = "ConnectString='DSN=plane;UID=sa;PWD=sa'"


      connect using sqlca;

      string filterStr
      filterStr="flag=0"

      dw_1.settransobject(sqlca)
      dw_1.setfilter(filterStr)
      dw_1.filter()
      dw_1.retrieve ()

      8.選擇機票界面訂購按鈕 clicked()
      int i
      string selNum
      for i=1 to dw_1.getrow()
       if dw_1.GetItemNumber(i,"flag")=1 then
        selNum=dw_1.GetitemString(i,"flightnumber")
          openwithparm(w_buyticket,selNum)
      //  close(w_chooseplane)
        return
        end if
       next
       
      9.選擇機票界面按目的地查找按鈕 clicked()
      open(w_findplane)

      10.按目的地查找界面w_findplane open()
      // Profile xuwei
      SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
      SQLCA.LogPass = 'manager'
      SQLCA.ServerName = "lab_b14"
      SQLCA.LogId = "system"
      SQLCA.AutoCommit = true
      //SQLCA.DBParm = "PBCatalogOwner='scott'"

      connect using sqlca;

      11.按目的地查找界面查找按鈕 clicked()
      string filterStr
      string name
      integer rc
      name=sle_station.text
      filterStr="endstation='"+name+"'"
      dw_5.SetTransobject(sqlca)

      dw_5.setFilter(filterStr)

      dw_5.Filter()
      dw_5.Retrieve()

      rc=dw_5.getrow()

       if rc<=0 then
       messagebox("提示:","沒有到達此地的航班!")
       return 1
      end if

      12.登錄界面登錄按鈕 clicked()
      string pwd,username

      username=sle_name1.text
      pwd=sle_pwd.text

      SQLCA.LogId = username
      SQLCA.LogPass =pwd

      connect using sqlca;
      if sqlca.sqlcode=-1 then
       messageBox("口令錯誤,請重新輸入!",SQLCA.SQLErrText)
       close(parent)
      else
       open(w_main)
      end if

      13航班信息查詢界面w_plane1 open()
      disconnect using sqlca;
      // Profile xuwei
      /*SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
      SQLCA.LogPass = 'manager'
      SQLCA.ServerName = "lab_b14"
      SQLCA.LogId = "system"
      SQLCA.AutoCommit = true*/

      // Profile fly
      SQLCA.DBMS = "ODBC"
      SQLCA.AutoCommit = False
      SQLCA.DBParm = "ConnectString='DSN=plane;UID=sa;PWD=sa'"


      connect using sqlca;
      dw_7.settransobject(sqlca)
      dw_7.retrieve ()

      14.航班信息維護界面w_planeinfo open()
      dw_4.settransobject (SQLCA)
      dw_4.retrieve ()

      15.航班信息維護界面添加按鈕 clicked()
      long net
      net=dw_4.insertrow(0)
      dw_4.ScrollToRow(net)

      16.航班信息維護界面刪除按鈕 clicked()
      dw_4.deleterow(0)
      dw_4.update()
      dw_4.retrieve()

      17機票信息登記界面確定插入按鈕 clicked()
      int num
      String flightnumber,airlinecompany,startstation,middlestation,endstation,memo,takeofftime,landingtime,no1
      String err

      double price1
      string mysql

      /*SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
      SQLCA.LogPass ="manager"
      SQLCA.ServerName = "lab_b14"
      SQLCA.LogId = "system"
      SQLCA.AutoCommit = true
      //SQLCA.DBParm = "PBCatalogOwner='scott'"*/

      // Profile fly
      SQLCA.DBMS = "ODBC"
      SQLCA.AutoCommit = False
      SQLCA.DBParm = "ConnectString='DSN=plane;UID=sa;PWD=sa'"


      connect Using SQLCA;

       


      flightnumber = sle_number.text
      airlinecompany = sle_airlinecompany.text
      startstation = sle_startstation.text
      middlestation = sle_middlestation.text
      endstation = sle_endstation.text
      memo=mle_memo.text
      takeofftime = sle_takeofftime.text
      landingtime = sle_landingtime.text
      no1=sle_no1.text
      em_price1.getData(price1)


      err=""
      if flightnumber="" then
        err=err+"航班號不能為空!~n"
      end if
      if airlinecompany = "" then
       err=err+"航空公司不能為空!~n"
      end if
      if startstation = "" then
       err=err+"起始站不能為空!~n"
      end if
      if endstation = "" then
       err=err+"終點站不能為空!~n"
      end if
      if takeofftime = "" then
       err=err+"起飛時間不能為空!~n"
      end if
      if landingtime = "" then
       err=err+"到達時間不能為空!~n"
      end if
      if price1<=0 then
       err=err+"單價應該大于0!~n"
      end if
      if err<>"" then
       messagebox("警告!",err)
       return
      end if

      //查詢數據庫,是否有該航班號,如果有則不能重復添加

      select count(flightnumber)
      into :num
      from planeticket
      where flightnumber=:flightnumber
      using sqlca;

      if num>0 then
       messagebox("警告","航班號不能重復")
       return
      end if

      //執行添加記錄操作
      /*mysql = "INSERT INTO planeticket(flightnumber,airlinecompany,startstation,middlestation,endstation,takeofftime,landingtime,price1,price2,memo)  VALUES('"+flightnumber+"','"+airlinecompany+"','"+startstation+"','"+middlestation+"','"+endstation+"','"+takeofftime+"','"+landingtime+"','"+price1+"','"+price2+"','"+memo+"')"
      execute IMMEDIATE :mysql using sqlca;*/
      INSERT INTO planeticket
                  (flightnumber,
           airlinecompany,
           startstation,
           middlestation,
           endstation,
           takeofftime,
           landingtime,
           price1,
           no1,
           memo
           )
      VALUES(      :flightnumber,
           :airlinecompany,
           :startstation,
           :middlestation,
           :endstation,
           :takeofftime,
           :landingtime,
           :price1,
           :no1,
           :memo 
          
           )
      USING SQLCA;
      if sqlca.sqlcode<>0 then
        messagebox("",sqlca.sqlerrtext)
      //else
      //    messagebox("已經成功添加航班信息!~n")
      //  return
      end if

      //disconnect using SQLCA;

      18.旅客訂票信息界面查詢按鈕 clicked()
      string filterStr
      string name
      integer rc
      name=sle_buyername.text
      filterStr="buyername='"+name+"'"
      dw_6.SetTransobject(sqlca)

      dw_6.setFilter(filterStr)

      dw_6.Filter()
      dw_6.Retrieve()

      rc=dw_6.getrow()

       if rc<=0 then
       messagebox("提示:","沒有此顧客訂購機票信息!")
       return 1
      end if

      【機票預訂系統(一)】相關文章:

      ASP交友系統設計(一)03-07

      delphi題庫系統(一)03-07

      ASP人才招聘系統(一)03-07

      ASP網絡購物系統(一)03-07

      消防聯動控制系統(一)12-26

      考務和成績管理系統(一)03-26

      VB+教學輔助系統(一)11-22

      談機電一體化系統中的軟件系統設計03-12

      探究機電一體化系統中的軟件系統設計及討論03-14

      主站蜘蛛池模板: 精品91精品91精品国产片| 亚洲嫩模一区二区三区视频| 甘孜| 欧美性受xxxx狂喷水| 亚洲加勒比无码一区二区在线播放| 来安县| av天堂资源网在线播放| 中文字幕熟女一区二区三区| 在线视频青青草猎艳自拍69| 国产日韩一区二区精品| 海南省| 金川县| 屏边| av资源在线看免费观看| 国产成人综合久久三区北岛玲| 精品日韩欧美| 青草蜜桃视频在线观看| 久久国产热这里只有精品| 国产精品亚洲综合色区丝瓜 | 永久免费不卡在线观看黄网站| 国产精选一区二区三区| 美女熟妇67194免费入口| 2021最新久久久视精品爱| 成人午夜视频在线观看高清| 中日韩字幕中文字幕一区| 久久精品亚洲一区二区| 亚洲国产精品免费一区| 爆乳无码AV国内| 久久国产香蕉一区精品天美| 中文字幕日韩精品人妻在线| 中文字幕乱码亚洲无线| 最近亚洲精品中文字幕| 中国免费一级毛片| 国产视频网站一区二区三区| 日本韩国黄色三级三级| 日韩欧美精品有码在线观看| 在线高清免费不卡视频| 一区二区三区熟女人妻| 国产精品美女久久久久浪潮AVⅤ | 国产九九在线观看播放| 日产精品一区二区免费|