一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

機票預訂系統(一)

時(shí)間:2024-05-27 12:55:17 計算機畢業(yè)論文 我要投稿
  • 相關(guān)推薦

機票預訂系統(一)

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

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

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

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

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

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


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

第四章  軟件功能設計

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

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

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

附錄1:參考文獻

  《PowerBuilder9.0課程設計案例精編》 魏海,黃浩等編著(zhù) 中國水利水電出版社
  《PowerBuilder9.0開(kāi)發(fā)人員指南》     張長(cháng)富,李勻等編著(zhù) 北京希望電子出版社
  《PowerBuilder9.0信息管理系統開(kāi)發(fā)實(shí)例導航》何旭洪,傅立宏編著(zhù) 人民郵電出版社
  《oracle 9i數據庫應用標準教程》 李欣主編 上?茖W(xué)普及出版社
附錄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.退票界面查詢(xún)按鈕 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("提示:","沒(méi)有此顧客訂購機票信息!")
 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選擇機票界面查詢(xún)全部航班信息按鈕 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("提示:","沒(méi)有到達此地的航班!")
 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航班信息查詢(xún)界面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+"終點(diǎn)站不能為空!~n"
end if
if takeofftime = "" then
 err=err+"起飛時(shí)間不能為空!~n"
end if
if landingtime = "" then
 err=err+"到達時(shí)間不能為空!~n"
end if
if price1<=0 then
 err=err+"單價(jià)應該大于0!~n"
end if
if err<>"" then
 messagebox("警告!",err)
 return
end if

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

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("已經(jīng)成功添加航班信息!~n")
//  return
end if

//disconnect using SQLCA;

18.旅客訂票信息界面查詢(xún)按鈕 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("提示:","沒(méi)有此顧客訂購機票信息!")
 return 1
end if

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

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

delphi題庫系統(一)03-07

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

ASP網(wǎng)絡(luò )購物系統(一)03-07

消防聯(lián)動(dòng)控制系統(一)12-26

考務(wù)和成績(jì)管理系統(一)03-26

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

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

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

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看