




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、攀枝花學(xué)院課程設(shè)計題 目: 院 (系): 年級專業(yè): 姓 名: 學(xué) 號: 指導(dǎo)教師: 二一四年十二月二十二日攀枝花學(xué)院教務(wù)處制攀枝花學(xué)院本科學(xué)生課程設(shè)計任務(wù)書題目民航訂票管理系統(tǒng)開發(fā)1、課程設(shè)計的目的使學(xué)生掌握數(shù)據(jù)庫的基本概念,結(jié)合實際的操作和設(shè)計,鞏固課堂教學(xué)內(nèi)容;使學(xué)生掌握數(shù)據(jù)庫系統(tǒng)的基本概念、原理和技術(shù),將理論與實際相結(jié)合,應(yīng)用現(xiàn)有的數(shù)據(jù)建模工具和數(shù)據(jù)庫管理系統(tǒng)軟件,規(guī)范、科學(xué)地完成一個小型數(shù)據(jù)庫的設(shè)計與實現(xiàn);把理論課與實驗課所學(xué)內(nèi)容做一綜合,并在此基礎(chǔ)上強化學(xué)生的實踐意識、提高其實際動手能力。2、課程設(shè)計的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)(1)航班信息管理:每個航班基本
2、信息的錄入、修改與刪除。 (2)航班坐位信息管理:每個航班坐位信息的錄入、修改與刪除。 (3)機票預(yù)定管理:輸入旅客基本信息,系統(tǒng)為旅客安排航班,打印取票通知和帳單(4)退訂機票管理:對退訂機票信息進(jìn)行判斷、錄入、修改與刪除。 (5)查詢信息:能夠查詢每個航班的基本信息、預(yù)定情況、旅客的基本信息等。(6)統(tǒng)計信息:計算每個航班的滿座率,統(tǒng)計旅客的乘坐次數(shù)數(shù)、乘坐總金額等。3、主要參考文獻(xiàn)2 王成良數(shù)據(jù)庫技術(shù)及應(yīng)用M北京:清華大學(xué)出版社20113 劉金嶺,馮萬利數(shù)據(jù)庫系統(tǒng)及應(yīng)用教程SQL Server 2008 M北京:清華大學(xué)4 楊學(xué)全等.SQL SERVER 實例教程(第2版)M北京:電子工
3、業(yè)出版社,20085 鄭阿奇等. Asp.Net 程序設(shè)計教程M北京:機械工業(yè)出版社,20086 鄧子云,張賜JSP網(wǎng)絡(luò)編程從基礎(chǔ)到實踐M北京:電子工業(yè)出版社M20064、課程設(shè)計工作進(jìn)度計劃第1天 :選題、完成需求分析第2天 :數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計第3天:數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計及物理實現(xiàn)第4天:應(yīng)用程序開發(fā)第5天: 程序調(diào)試分析和結(jié)果、編寫課程設(shè)計報告指導(dǎo)教師(簽字)日期年 月 日教研室意見: 年 月 日學(xué)生(簽字): 接受任務(wù)時間: 年 月 日課程設(shè)計(論文)指導(dǎo)教師成績評定表題目名稱民航訂票管理系統(tǒng)開發(fā)評分項目分值得分評價內(nèi)涵工作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項紀(jì)律,工作刻苦努力,具有良好的科
4、學(xué)工作態(tài)度。02科學(xué)實踐、調(diào)研7通過實驗、試驗、查閱文獻(xiàn)、深入生產(chǎn)實踐等渠道獲取與課程設(shè)計有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能力水平35%04綜合運用知識的能力10能運用所學(xué)知識和技能去發(fā)現(xiàn)與解決實際問題,能正確處理實驗數(shù)據(jù),能對課題進(jìn)行理論分析,得出有價值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5能獨立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研;能提出并較好地論述課題的實施方案;有收集、加工各種信息及獲取新知識的能力。06設(shè)計(實驗)能力,方案的設(shè)計能力5能正確設(shè)計實驗方案,獨立進(jìn)行裝置安裝、調(diào)試、操作等實驗工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計算及計算機應(yīng)用能力5具有較強的數(shù)據(jù)運
5、算與處理能力;能運用計算機進(jìn)行資料搜集、加工、處理和輔助設(shè)計等。08對計算或?qū)嶒灲Y(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)10具有較強的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(論文)規(guī)范化程度5符合本專業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計說明書(論文)質(zhì)量30綜述簡練完整,有見解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實驗正確,分析處理科學(xué)。11創(chuàng)新10對前人工作有改進(jìn)或突破,或有獨特見解。成績指導(dǎo)教師評語指導(dǎo)教師簽名: 年月日摘要目前,國內(nèi)航空公司的數(shù)量和規(guī)模都在擴(kuò)大,國外航空公司也紛紛著陸中國,這些航空公司之間的競爭可謂日
6、益激烈。配備一個安全、高效、靈活、可靠的客戶服務(wù)中心系統(tǒng)對于航空公司加強客戶服務(wù)質(zhì)量,提高客戶服務(wù)水平,擴(kuò)展業(yè)務(wù)途徑,維護(hù)公眾形象,提高工作效率必將發(fā)揮重要作用。航空訂票是整個民航客運業(yè)務(wù)中一個最基本的業(yè)務(wù)。雖然它只是民航客運業(yè)務(wù)中一個非常簡單的部分,但因其涉及到資金管理以及客戶管理所以使其變得非常重要。隨著電子客票的出現(xiàn),以及越來越多的數(shù)據(jù)量,傳統(tǒng)的售票方式已經(jīng)不能滿足現(xiàn)代航空業(yè)務(wù)的發(fā)展。這時就需要開發(fā)一套具有開放體系結(jié)構(gòu)的、容易擴(kuò)展和維護(hù)的,并且具有良好人際交互界面的航空訂票系統(tǒng)。關(guān)鍵詞:訂票管理系統(tǒng)、分層部署、售票目 錄摘 要I1 需求分析11.1 需求概述11.2 需求環(huán)境11.3 功
7、能描述22 概要設(shè)計32.1 程序功能模塊32.2 程序流程圖32.3 數(shù)據(jù)結(jié)構(gòu)的設(shè)計43 詳細(xì)設(shè)計53.1 程序初始化53.1.1 代碼功能53.1.2 功能實現(xiàn)代碼53.2 盤塊的移動過程5代碼功能53.2.2 功能實現(xiàn)代碼53.3 遞歸函數(shù)63.3.1 流程圖63.3.2 功能實現(xiàn)代碼74 測試與運行8結(jié)束語9參考文獻(xiàn)10前言1 需求分析1.1需求來源對航空公司來說,航空訂票管理系統(tǒng)既能擴(kuò)大服務(wù)范圍,擴(kuò)大公司影響,減少營業(yè)費用,又對穩(wěn)固航空公司的客源有著重要的輔助作用;站在旅客的角度,航空公司提供的這種服務(wù)提供了更多的方便,節(jié)省了很多時間。建設(shè)航空訂票管理系統(tǒng)是體現(xiàn)和提高航空公司領(lǐng)導(dǎo)業(yè)績
8、的一條捷徑,此外還具有重要意義:2007年,民用航空行業(yè)完成旅客總周轉(zhuǎn)量2776.3億人公里、旅客運輸量19452.1萬人、貨物周轉(zhuǎn)量115.6億噸公里,民用航空貨運量394.9萬噸,比2006年同期分別增長18.7%、1.7%和14.3%。國內(nèi)航線(含港澳)三項指標(biāo)分別完成232.5億噸公里、1952.1萬人和272萬噸,同比分別增長17.1%、16.1%和12.3%;國際航線三項指標(biāo)分別完成129.1億噸公里、1884.1萬人和119.4萬噸,同比分別增長26.4%、20.8%和26.2%。在人民幣持續(xù)升值預(yù)期明確、燃油成本波動相對較平和以及2008年奧運會、2010年世博會、亞運會等相對
9、積極因素推動下,行業(yè)正處于景氣度不斷提升時期。1、改善航空公司服務(wù)質(zhì)量;2、創(chuàng)造和提升航空公司的品牌優(yōu)勢;3、優(yōu)化航空公司的服務(wù)流程;4、提升信息化的水平;1.2設(shè)計目的 該軟件為用戶提供一個在訂票系統(tǒng),所有用戶可以訂票,查詢系統(tǒng)余票,自己退票,在查詢時可以知道系統(tǒng)的剩余票,什么地方發(fā)往什么地方,什么時間,剩余票數(shù),自己是否訂票,填寫個人信息,最后確定提交自己信息,可以查詢自己的票,系統(tǒng)給用戶發(fā)送消息,告訴用戶基本信息,可以按時取票,最后得到機票。1.3需求環(huán)境本課程設(shè)計需要的設(shè)備為硬件要求和軟件配置要求具體要求如下:硬件要求:一臺計算機。軟件配置:WINDOWS、C/VC+6.0,SQL。2
10、 概要設(shè)計2.1程序功能模塊由需求分析知,本次課程設(shè)計是用實現(xiàn)訂票的程序,故其功能模塊分為:用戶權(quán)限模塊,訂票模塊,購票模塊和航班管理模塊四個模塊。2.2數(shù)據(jù)流程圖航班查詢修改航班撤銷航班航班管理新增航班退票管理修改航班訂單查詢訂單管理購票購票管理用戶查詢修改密碼用戶權(quán)限民航訂票系統(tǒng)圖2.2 系統(tǒng)數(shù)據(jù)流2.3數(shù)據(jù)結(jié)構(gòu)設(shè)計 根據(jù)需求分析將訂票系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)的設(shè)計如下: 登錄窗口模塊的函數(shù)代碼如下private void txtusername_TextChanged(object sender, EventArgs e) 主界面模塊模塊的函數(shù)代碼設(shè)計如下 private void miBookT
11、icket_Click(object sender, EventArgs e) 更改密碼模塊代碼 private void texOldPsw_TextChanged(object sender, EventArgs e) 航班基本信息模塊代碼BindingSource bs = null;DataTable dtchanges = null;private void button5_Click_1(object sender, EventArgs e) /錄入 Ticket fi = new Ticket(); 其他功能合作人實現(xiàn)3詳細(xì)設(shè)計3.1 程序初始化代碼功能在初始化程序中,設(shè)計各個模
12、塊的功能,模塊例如:查詢,訂票,退票等。3.1.2 功能實現(xiàn)代碼private void miBookTicket_Click(object sender, EventArgs e) /訂票 BookForm bookf = new BookForm(tsbBookTiket, miBookTicket); bookf.Show(); tsbBookTiket.Enabled = false; miBookTicket.Enabled = false;private void miBackTicket_Click(object sender, EventArgs e) /退票 BackForm
13、 backf = new BackForm(miBackTicket, tsbBackTicket); backf.Show(); miBackTicket.Enabled = false; tsbBackTicket.Enabled = false;private void miFlightBaseInfo_Click(object sender, EventArgs e) /航班基本信息 FlightBaseForm fbform = new FlightBaseForm(tsbBaseFlight, miFlightBaseInfo); fbform.MdiParent = this;
14、fbform.Show(); tsbBaseFlight.Enabled = false; miFlightBaseInfo.Enabled = false;private void miSeatBaseInfo_Click(object sender, EventArgs e) /座位基本信息 SeatBaseForm sbf = new SeatBaseForm(tsbBaseSeat, miSeatBaseInfo);sbf.MdiParent = this sbf.Show(); tsbBaseSeat.Enabled = false; miSeatBaseInfo.Enabled =
15、 false;private void miLogoff_Click(object sender, EventArgs e) /注銷 Application.Restart();private void miExit_Click(object sender, EventArgs e) /退出 Application.Exit(); private void miChangePwd_Click(object sender, EventArgs e) /更改密碼 ChangePwdForm frmfrom = new ChangePwdForm(miChangePwd, tsbChangePwd)
16、; frmfrom.Show(); frmfrom.MdiParent = this; miChangePwd.Enabled = false; tsbChangePwd.Enabled = false;private void miQu_Click(object sender, EventArgs e) /查詢 QueryForm qf = new QueryForm(miQu, tsbQuery); qf.Show(); qf.MdiParent = this; miQu.Enabled = false; tsbQuery.Enabled = false;3.2 登陸界面實現(xiàn)3.2.1代碼
17、功能登錄窗口模塊3.2.2功能實現(xiàn)代碼登錄窗口模塊private void txtusername_TextChanged(object sender, EventArgs e) btnOk.Enabled = !string.IsNullOrEmpty(txtusername.Text) && !string.IsNullOrEmpty(txtpassword.Text);private void txtpassword_TextChanged(object sender, EventArgs e) btnOk.Enabled = !string.IsNullOrEmpty(
18、txtusername.Text) && !string.IsNullOrEmpty(txtpassword.Text);private void txtusername_KeyDown(object sender, KeyEventArgs e) if (e.KeyValue = 13) txtpassword.Focus();private void txtpassword_KeyDown(object sender, KeyEventArgs e) if (e.KeyValue = 13) btnOk.Focus(); public string UserName get
19、 return txtusername.Text; public string UserPassword get return txtpassword.Text; 3.3更改密碼3.3.1代碼功能對密碼進(jìn)行更改3.3.2功能實現(xiàn)代碼private void texOldPsw_TextChanged(object sender, EventArgs e) btnOk.Enabled = !string.IsNullOrEmpty(texOldPsw.Text) && !string.IsNullOrEmpty(texNewPsw.Text) && !string
20、.IsNullOrEmpty(ConfirmNewPsw.Text);private void texNewPsw_TextChanged(object sender, EventArgs e) btnOk.Enabled = !string.IsNullOrEmpty(texOldPsw.Text) && !string.IsNullOrEmpty(texNewPsw.Text) && !string.IsNullOrEmpty(ConfirmNewPsw.Text);private void ConfirmNewPsw_TextChanged(object
21、sender, EventArgs e) btnOk.Enabled = !string.IsNullOrEmpty(texOldPsw.Text) && !string.IsNullOrEmpty(texNewPsw.Text) && !string.IsNullOrEmpty(ConfirmNewPsw.Text);private void btnOk_Click(object sender, EventArgs e) DB db = new DB(); DataTable dt; try db.BeginTransaction(); dt = db.Get
22、DataTable("SELECT 1 FROM useraccount WHERE username = ? AND userpassword = ?", UserInfo.UserName, texOldPsw.Text); if (dt.Rows.Count > 0) if (texNewPsw.Text != ConfirmNewPsw.Text) MessageBox.Show("兩次輸入的密碼不一致!"); else dt = db.GetDataTable("UPDATE useraccount SET userpasswo
23、rd = ? WHERE username = ?", texNewPsw.Text, UserInfo.UserName); MessageBox.Show("密碼修改成功!"); else MessageBox.Show("您輸入的密碼不正確!"); db.Commit(); dt.AcceptChanges(); catch (Exception ex) MessageBox.Show(ex.Message); db.Rollback();3.4航班基本信息模塊3.4.1代碼功能對航班基本信息進(jìn)行查詢3.4.2功能實現(xiàn)代碼BindingS
24、ource bs = null;DataTable dtchanges = null;private void button5_Click_1(object sender, EventArgs e) /錄入 Ticket fi = new Ticket(); DataTable dt = fi.GetDatable("select * from Flight"); bs = new BindingSource(); bs.DataSource = dt.DefaultView; dataGridView1.DataSource = bs; private void butt
25、on3_Click_1(object sender, EventArgs e) /刪除 bs.RemoveCurrent();private void button2_Click_1(object sender, EventArgs e) /修改 if (dataGridView1.DataSource is BindingSource) BindingSource bs = dataGridView1.DataSource as BindingSource; DataRowView dv = (DataRowView)bs.Current; dv.Row.RejectChanges(); p
26、rivate void button4_Click_1(object sender, EventArgs e) DB db = new DB(); if (bs.DataSource is DataView) DataTable dtchanges = (bs.DataSource as DataView).Table.GetChanges(); try db.BeginTransaction(); foreach (DataRow dr in dtchanges.Rows) if (dr"price", DataRowVersion.Original.Equals(1)
27、&& dr"price", DataRowVersion.Current = DBNull.Value) db.Execute("delete from Flight where Fno = ?", dr"price"); else if (dr"price", DataRowVersion.Original.ToString() != dr"price", DataRowVersion.Current.ToString() db.Execute("update Fli
28、ght set price=? where Fno=?", dr"price", dr"Fno"); db.Commit(); (bs.DataSource as DataView).Table.AcceptChanges(); catch (Exception ex) db.Rollback(); finally MessageBox.Show("保存成功"); if (bs.DataSource is DataView) dtchanges = (bs.DataSource as DataView).Table.GetC
29、hanges(DataRowState.Deleted); DeleteFromDB(db, dtchanges); dtchanges = (bs.DataSource as DataView).Table.GetChanges(DataRowState.Modified); UpdataFromDB(db, dtchanges); dtchanges = (bs.DataSource as DataView).Table.GetChanges(DataRowState.Added); InseFromDB(db, dtchanges); private void DeleteFromDB(
30、DB db, DataTable dtDeleted) if (dtDeleted != null) string sql = "delete from Flight where Fno = ?" foreach (DataRow dr in dtDeleted.Rows) db.Execute(sql, dr"Fno", DataRowVersion.Original); private void InseFromDB(DB db, DataTable dtInserted) if (dtInserted != null) string sql = &
31、quot;insert into Flight (Fno,lbA,lbB,timeA,timeB,price) values(?,?,?,?,?,?)" foreach (DataRow dr in dtInserted.Rows) db.Execute(sql, dr"Fno", dr"lbA", dr"lbB", dr"timeA", dr"timeB", dr"price"); private void UpdataFromDB(DB db, DataTabl
32、e dtUpdata) if (dtUpdata != null) string sql = "UPDATE Flight SET lbA=?,lbB=?,timeA=?,timeB=?,price=? WHERE Fno = ?" foreach (DataRow dr in dtUpdata.Rows) db.Execute(sql, dr"lbA", DataRowVersion.Current, dr"lbB", DataRowVersion.Current, dr"timeA", DataRowVersi
33、on.Current, dr"timeB", DataRowVersion.Current, dr"price", DataRowVersion.Current, dr"Fno", DataRowVersion.Original); 3.5座位基本信息模塊3.5.1代碼功能對座位號驚醒查詢3.5.2功能實現(xiàn)代碼BindingSource bs = null;DataTable dt = null;DataTable dtchanges = null;private void button5_Click(object sender, E
34、ventArgs e) /錄入 DB db = new DB(); dt = db.GetDataTable("select * from Seat", UserInfo.UserName); bs = new BindingSource(); bs.DataSource = dt.DefaultView; dataGridView1.DataSource = bs;private void button2_Click(object sender, EventArgs e) /修改 if (dataGridView1.DataSource is BindingSource)
35、 BindingSource bs = dataGridView1.DataSource as BindingSource; DataRowView dv = (DataRowView)bs.Current; dv.Row.RejectChanges(); private void button3_Click(object sender, EventArgs e) /刪除 bs.RemoveCurrent(); private void button4_Click(object sender, EventArgs e) /確定 DB db = new DB(); if (bs.DataSour
36、ce is DataView) DataTable dtchanges = (bs.DataSource as DataView).Table.GetChanges(); try db.BeginTransaction(); foreach (DataRow dr in dtchanges.Rows) if (dr"Fno", DataRowVersion.Original.Equals(1) && dr"Fno", DataRowVersion.Current = DBNull.Value) db.Execute("delet
37、e from Flight where Fno = ?", dr"Fno"); else if (dr"Fno", DataRowVersion.Original.ToString() != dr"Fno", DataRowVersion.Current.ToString() db.Execute("update Flight set stno=? where Fno=?", dr"stno",dr"Fno"); db.Commit(); (bs.DataSourc
38、e as DataView).Table.AcceptChanges(); catch (Exception ex) db.Rollback(); finally MessageBox.Show("保存成功"); if (bs.DataSource is DataView) dtchanges = (bs.DataSource as DataView).Table.GetChanges(DataRowState.Deleted); DeleteFromDB(db, dtchanges); dtchanges = (bs.DataSource as DataView).Table.GetChanges(DataRowState.Modified); UpdataFromDB(db, dtchanges); dtchanges = (bs.DataSource as DataView).Table.GetChanges(DataRowState.Added); InseFromDB(db, dtchanges); 4 系統(tǒng)結(jié)構(gòu)4.1系統(tǒng)圖E_R圖E-R圖也稱實體-聯(lián)系圖(Entity Relationship
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)縣醫(yī)院面試題及答案
- 藥庫測試試題及答案
- 白內(nèi)障護(hù)理查房
- 2025年 倉儲管理員中級考試練習(xí)試卷附答案
- 培訓(xùn)學(xué)校年終匯報
- 小螞蟻手工課課件
- 車展新能源技術(shù)研討會舉辦合同
- 生態(tài)公園場地租賃及環(huán)保教育合作合同
- 藝術(shù)比賽選手成績PK合同
- 2025年投資學(xué)基礎(chǔ)知識考試試題及答案
- 人教版(2024)七年級下學(xué)期地理期末質(zhì)量檢測試卷(含答案)
- 2025年新能源汽車產(chǎn)業(yè)發(fā)展考試試卷及答案
- 校長在2025暑假前期末教師大會上的講話:靜水深流腳踏實地
- (2025)黨校入黨積極分子培訓(xùn)結(jié)業(yè)考試題庫與答案
- 2025年中國超薄柔性玻璃(UTG)行業(yè)深度分析、投資前景及發(fā)展趨勢預(yù)測報告(智研咨詢)
- 交房期間業(yè)主維權(quán)突發(fā)事件應(yīng)急預(yù)案
- 【專題訓(xùn)練】專題04三角形(考題猜想九大題型)(學(xué)生版+解析)-2025年七年級數(shù)學(xué)下學(xué)期期末總復(fù)習(xí)(北師大版)
- 腫瘤護(hù)理專家共識
- 2025春季學(xué)期國開電大本科《理工英語3》一平臺在線形考綜合測試(形考任務(wù))試題及答案
- 新22J01 工程做法圖集
評論
0/150
提交評論