版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目九1精選課件根據(jù)乘客和管理人員的需求,飛機(jī)訂票系統(tǒng)可以提供下列服務(wù):(1)瀏覽、查詢(xún)航班信息;(2)購(gòu)票、退票;(3)管理航班信息(管理人員權(quán)限)。項(xiàng)目說(shuō)明2精選課件預(yù)備知識(shí)
接到項(xiàng)目要求后,首先需要分析項(xiàng)目中提出的要求然后定義項(xiàng)目的功能。根據(jù)功能的劃分再進(jìn)行類(lèi)與核心控制的設(shè)計(jì),最后進(jìn)行編碼和測(cè)試。具體可分為以下步驟:(1)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為;(2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次;(3)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法);(4)完成類(lèi)中各個(gè)成員函數(shù)的定義;(5)編碼完成系統(tǒng)的應(yīng)用模塊;(6)功能調(diào)試;(7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。3精選課件一、問(wèn)題分析和功能定義二、類(lèi)設(shè)計(jì)及實(shí)現(xiàn)三、核心控制設(shè)計(jì)四、編碼與測(cè)試綜合實(shí)踐
設(shè)計(jì)飛機(jī)訂票系統(tǒng)4精選課件一、問(wèn)題分析和功能定義
這個(gè)階段的工作也叫作“需求分析”,需要程序員和用戶(hù)共同分析問(wèn)題,從而確定整個(gè)軟件系統(tǒng)要完成的功能。飛機(jī)訂票系統(tǒng)的功能結(jié)構(gòu)如圖所示。5精選課件(一)更新航班信息模塊
該模塊用于更新對(duì)航班信息,僅向管理人員開(kāi)放使用,需進(jìn)行身份驗(yàn)證。其下分為五個(gè)子功能模塊——信息庫(kù)的重建、信息的插入、修改、刪除和清空數(shù)據(jù)。(二)訂票和退票模塊
訂票時(shí),首先按航班編號(hào)或站點(diǎn)查詢(xún)?cè)摵桨嗟幕拘畔?,?dāng)剩余座位數(shù)大于0且當(dāng)前系統(tǒng)時(shí)間小于起飛時(shí)間時(shí)才能售票,售票后系統(tǒng)自動(dòng)更新剩余座位數(shù)。
退票時(shí),需輸入退票的班次,只有該航班未發(fā)出時(shí)才能退票,退票后將自動(dòng)更新剩余座位數(shù)。6精選課件(三)查詢(xún)航班信息模塊
可以實(shí)現(xiàn)按航班號(hào)和按站點(diǎn)的兩種方式進(jìn)行查詢(xún)并將查詢(xún)到的信息輸出。(四)瀏覽航班信息
該模塊用于將文件中的航班信息按照要求的格式全部輸出。如果當(dāng)前系統(tǒng)時(shí)間超過(guò)了某航班的起飛時(shí)間,則顯示“此次航班已發(fā)出”的提示信息。
程序中各功能模塊所需的數(shù)據(jù)都直接取自文件,而不是依賴(lài)其他模塊,這樣一來(lái),保證了各模塊的獨(dú)立和數(shù)據(jù)的安全。7精選課件二、類(lèi)設(shè)計(jì)及實(shí)現(xiàn)
本階段的工作是要給出所有對(duì)象的描述,并確定對(duì)象之間是如何交互的。本項(xiàng)目中定義了兩個(gè)類(lèi):Flight類(lèi)和Traffic_system類(lèi)。Flight類(lèi)封裝了航班的數(shù)據(jù)信息和方法,Traffic_system類(lèi)用于管理Flight類(lèi)對(duì)象。(一)Flight類(lèi)Flight類(lèi)中的數(shù)據(jù)信息主要包括:航班的航班號(hào)、起飛時(shí)間、站點(diǎn)等信息;方法主要包括:本次航班信息的輸入、輸出,對(duì)本航班的訂票、退票管理,對(duì)時(shí)間、站名的核對(duì),另外,重載了提取和插入運(yùn)算符以方便對(duì)文件的輸出和讀取。8精選課件classFlight{public: charm_fnum[10]; //航班號(hào)
intm_ftime[2]; //起飛時(shí)間
charm_fstar[18]; //起始站
charm_fdestination[18]; //終點(diǎn)站
intm_fprice; //票價(jià)
intm_fseat; //票數(shù)
Flight() { m_fnum[0]='+'; }Flight類(lèi)的具體信息如下所示:9精選課件boolSetInfo(); //設(shè)置航班信息friendistream&operator>>(istream&in,Flight&cp); //提取運(yùn)算符重載friendostream&operator<<(ostream&out,Flight&cp); //插入運(yùn)算符重載voidDisplay(); //輸出航班信息boolBook(); //訂票voidRefund(); //退票boolIf_takeoff(); //判斷是否起飛boolIf_deleted(); //判斷是否刪除boolIf_match(char(*p)[18],charta);//判斷航班號(hào)或站點(diǎn)名是否相同};10精選課件(二)Traffic_system類(lèi)
航班有多組,為了方便管理Flight類(lèi)的各個(gè)對(duì)象,這里定義了一個(gè)Traffic_system類(lèi)。將Flight類(lèi)的對(duì)象作為T(mén)raffic_system類(lèi)的數(shù)據(jù)成員,另外定義了一個(gè)數(shù)據(jù)成員用于記錄航班數(shù)。
該類(lèi)中還定義了兩個(gè)私有的成員函數(shù)完成對(duì)文件的讀寫(xiě)。其他共有的成員函數(shù)如Manage()、voidScan()、Search()和BookRefund()用來(lái)完成系統(tǒng)的管理信息、瀏覽、查詢(xún)和訂票、退票功能。11精選課件Traffic_system類(lèi)的具體信息如下所示:classTraffic_system{public:Traffic_system() {m_sum=0;}voidManage(); //管理航班信息voidScan(); //瀏覽intSearch(intinvoke=0); //查詢(xún)功能voidBookRefund(); //訂票和退票private:voidRead_file(); //讀取文件voidSave_file(); //保存文件intm_sum; //記錄航班數(shù)vector<Flight>v_array; //航班類(lèi)數(shù)組};12精選課件三、核心控制設(shè)計(jì)
核心控制設(shè)計(jì)階段主要完成程序的框架設(shè)計(jì),這是實(shí)現(xiàn)軟件系統(tǒng)體系的核心。在本項(xiàng)目中,程序的核心部分是數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的選擇以及類(lèi)中函數(shù)的設(shè)計(jì)。(一)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的選擇
乘客的基本信息包括航班號(hào)、起始站、終點(diǎn)站、起飛時(shí)間、票價(jià)、余票量等,乘客的數(shù)量較大且不固定,因此我們使用動(dòng)態(tài)增長(zhǎng)的Flight類(lèi)數(shù)組來(lái)保存這些信息,在必要的時(shí)候可將數(shù)組的內(nèi)容保存到文件中。13精選課件
在本程序中我們使用的是vector數(shù)組,vector是C++標(biāo)準(zhǔn)程序庫(kù)中的一個(gè)類(lèi),可視為會(huì)自動(dòng)擴(kuò)展容量的數(shù)組。使用vector時(shí)需在頭文件中包含下面的代碼:#include<vector>聲明一個(gè)vector變量的方法如下:vector<T>v;
其中,T是vector要存儲(chǔ)的對(duì)象集合的類(lèi)型,該vector的變量名稱(chēng)是v。
訪(fǎng)問(wèn)vector中的任意元素或從末尾添加元素都可以在常量級(jí)時(shí)間復(fù)雜度內(nèi)完成,在本程序中我們用到了它的函數(shù)push_back(),其作用是在vector最后添加一個(gè)元素。14精選課件(二)函數(shù)的設(shè)計(jì)與實(shí)現(xiàn)
本項(xiàng)目中函數(shù)的實(shí)現(xiàn)比較簡(jiǎn)單,這里不再贅述,讀者可參照源碼。這里只將程序中帶參數(shù)的函數(shù)進(jìn)行簡(jiǎn)單介紹。1.istream&operator>>(istream&in,Flight&cp)
提取運(yùn)算符重載函數(shù)使用了形參in和cp:形參in為“istream&”引用類(lèi)型,與該函數(shù)的返回值相同,故可以將該函數(shù)的返回值傳給該形參,實(shí)現(xiàn)“>>”操作符的連續(xù)使用;形參cp為“Flight&”引用類(lèi)型,實(shí)現(xiàn)了對(duì)Flight類(lèi)對(duì)象的輸入重載。15精選課件2.ostream&operator<<(ostream&out,Flight&cp)插入運(yùn)算符重載函數(shù)使用了形參out和cp,其作用與提取運(yùn)算符重載函數(shù)類(lèi)似。3.boolFlight::If_match(char(*p)[18],charta)
該函數(shù)使用了形參p和ta:形參p為指向字符數(shù)組的指針,它用來(lái)指向一個(gè)大小為18的字符數(shù)組;形參ta為字符型,其作用是使該函數(shù)區(qū)分航班號(hào)和站點(diǎn)名兩種比較。4.intTraffic_system::Search(intinvoke=0)
該函數(shù)使用了形參invoke,該形參為int型并設(shè)置默認(rèn)參數(shù)為0,其作用為區(qū)分調(diào)用者,以便輸出相應(yīng)的提示信息。四、編碼與測(cè)試編碼與測(cè)試的工作將在任務(wù)實(shí)施中進(jìn)行。16精選課件任務(wù)實(shí)施——設(shè)計(jì)飛機(jī)訂票系統(tǒng)步驟1在VisualC++中創(chuàng)建一個(gè)工作區(qū),并在此工作區(qū)中創(chuàng)建一個(gè)ConsoleApplication即控制臺(tái)應(yīng)用程序類(lèi)型的工程。在此工程中我們添加一個(gè)名為flight的頭文件以及同名的一個(gè)源文件,其代碼略。步驟2在步驟1創(chuàng)建的工程中添加一個(gè)名為T(mén)raffic_system的頭文件以及同名的一個(gè)源文件,其代碼
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年華東師大版九年級(jí)歷史下冊(cè)階段測(cè)試試卷
- 2024年華東師大版三年級(jí)英語(yǔ)下冊(cè)階段測(cè)試試卷含答案
- 招才引智報(bào)名登記表
- 2025年滬教版七年級(jí)物理下冊(cè)月考試卷含答案
- 2025年度環(huán)保產(chǎn)品研發(fā)與銷(xiāo)售合作協(xié)議3篇
- 2025年牛津上海版七年級(jí)歷史上冊(cè)月考試卷
- 二零二五年度商業(yè)地產(chǎn)租賃合同模板6篇
- 2025年牛津上海版高一地理下冊(cè)階段測(cè)試試卷
- 二零二五年度2025版遠(yuǎn)程辦公勞動(dòng)合同指南3篇
- 2025年人教版高一物理下冊(cè)階段測(cè)試試卷含答案
- 修井作業(yè)冬季和雨季技術(shù)服務(wù)方案
- 三相電能表測(cè)量誤差不確定分析報(bào)
- 色彩基礎(chǔ)知識(shí)ppt
- Q∕GDW 12082-2021 輸變電設(shè)備物聯(lián)網(wǎng)無(wú)線(xiàn)傳感器通用技術(shù)規(guī)范
- 加油站冬季安全教育
- 皮爾遜Ⅲ型曲線(xiàn)模比系數(shù)計(jì)算(共享版).xls
- 腹膜透析并發(fā)腹膜炎臨床路徑
- (完整版)市政工程施工工期定額(定稿).docx
- 商業(yè)發(fā)票INVOICE模板
- 超聲波焊接作業(yè)指導(dǎo)書(shū)(共8頁(yè))
- 《你的生命有什么可能》PPT
評(píng)論
0/150
提交評(píng)論