版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE43《軟件系統(tǒng)》課程設(shè)計(jì)報(bào)告學(xué)院:軟件學(xué)院專業(yè)班級(jí):組長(zhǎng):組員:指導(dǎo)教師:時(shí)間:目錄一、序言5二、需求分析說(shuō)明書(shū)52.1引言52.1.1編寫(xiě)目的52.1.2系統(tǒng)定義52.2系統(tǒng)介紹62.3系統(tǒng)面向的用戶群體62.4條件與限制62.5系統(tǒng)的功能性需求62.5.1功能劃分62.5.2功能描述72.6系統(tǒng)的非功能性需求72.6.1用戶界面需求72.6.2運(yùn)行環(huán)境需求72.6.3軟件質(zhì)量需求7三、可行性分析報(bào)告73.1編寫(xiě)目的73.1.1目的73.1.2用戶類及其特征73.2問(wèn)題定義83.2.1開(kāi)展該工程的原因83.2.2該工程的基本目標(biāo)83.2.3經(jīng)濟(jì)目標(biāo)93.3可行性研究的方法及評(píng)價(jià)度93.3.1可行性研究所采用的方法93.3.2評(píng)價(jià)尺度93.4工作產(chǎn)品93.4.1設(shè)計(jì)目標(biāo)93.4.2設(shè)計(jì)及約束條件93.4.3產(chǎn)品工作原理103.5時(shí)間、設(shè)備可能性103.6系統(tǒng)工作量103.7代碼工作量10四、開(kāi)發(fā)環(huán)境與項(xiàng)目規(guī)劃104.1開(kāi)發(fā)環(huán)境104.2項(xiàng)目規(guī)劃與管理104.2.1開(kāi)發(fā)人員安排114.2.2開(kāi)發(fā)進(jìn)度安排11五、軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范115.1編寫(xiě)目的115.2界面設(shè)計(jì)思想115.3界面設(shè)計(jì)原則115.4界面設(shè)計(jì)樣式125.5常見(jiàn)提示信息樣式125.6常見(jiàn)錯(cuò)誤信息樣式125.7其他界面約定12六、軟件編碼設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范126.1結(jié)構(gòu)化編碼約定12七、軟件體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書(shū)127.1系統(tǒng)概述127.2設(shè)計(jì)約束137.3系統(tǒng)概要設(shè)計(jì)說(shuō)明書(shū)137.3.1圖例說(shuō)明137.3.2系統(tǒng)總體結(jié)構(gòu)137.3.3流程圖157.4系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)157.4.1系統(tǒng)核心模塊詳解15八、用戶界面設(shè)計(jì)報(bào)告338.1界面設(shè)計(jì)規(guī)范338.2界面設(shè)計(jì)338.2.1主頁(yè)348.2.2查詢窗口368.2.3訂票窗口398.2.4航班時(shí)刻表界面39九、軟件測(cè)試分析報(bào)告399.1測(cè)試目的399.2測(cè)試項(xiàng)目409.3測(cè)試人員409.4測(cè)試過(guò)程分析409.5測(cè)試報(bào)告示例419.6測(cè)試評(píng)價(jià)439.7改進(jìn)建議與措施439.8測(cè)試結(jié)論43十、軟件使用說(shuō)明書(shū)4310.1軟件概述43一、序言通過(guò)前面對(duì)工程設(shè)計(jì)的學(xué)習(xí)以及做了相應(yīng)的上機(jī)實(shí)驗(yàn),對(duì)軟件工程設(shè)計(jì)有了一定的認(rèn)識(shí)和了解,為了加深和鞏固本課程的知識(shí),現(xiàn)在又做了更有挑戰(zhàn)性的實(shí)驗(yàn)——銀河航空飛機(jī)訂票查詢系統(tǒng)。本實(shí)驗(yàn)基本上與實(shí)際應(yīng)用中的系統(tǒng)相差不大,由于所學(xué)的知識(shí)有限及其它方面的原因,在本實(shí)驗(yàn)需求分析中所設(shè)計(jì)的用戶需求中某些功能可能實(shí)現(xiàn)得不是很理想,但基本功能都能高質(zhì)量高標(biāo)準(zhǔn)地完成。為了系統(tǒng)的順利開(kāi)發(fā)和維護(hù),特編制如下技術(shù)文檔:二、需求分析說(shuō)明書(shū)2.1引言本實(shí)驗(yàn)分為兩大部分,一部分是設(shè)計(jì)實(shí)現(xiàn)。第二部分是測(cè)試。第一部分分為以下幾個(gè)部分:需求分析、系統(tǒng)設(shè)計(jì)。本文檔是屬于設(shè)計(jì)實(shí)現(xiàn)的第一步,是對(duì)軟件的需求進(jìn)行的分析,分析出軟件的各種需求,并且對(duì)于各中需求的各個(gè)部分及有關(guān)事項(xiàng)又分別作出了大概的說(shuō)明論述。2.1.1編寫(xiě)目的目的:為明確軟件需求、安排項(xiàng)目規(guī)劃與進(jìn)度、組織軟件開(kāi)發(fā)與測(cè)試,撰寫(xiě)本文檔。針對(duì)人員:本文檔供項(xiàng)目經(jīng)理、設(shè)計(jì)人員、開(kāi)發(fā)人員參考,有利于對(duì)小組各成員的任務(wù)分工和團(tuán)結(jié)協(xié)作。2.1.2系統(tǒng)定義1.文檔:記錄軟件開(kāi)發(fā)活動(dòng)和階段性成果,為理解軟件所必需的闡述性資料2.?dāng)?shù)據(jù):是客觀事物的符號(hào)表示,是現(xiàn)實(shí)世界的事物采用計(jì)算機(jī)能夠識(shí)別、存儲(chǔ)和處理的 形式進(jìn)行描述的符號(hào)集合3.正確性:滿足用戶的需求(功能、性能等)4.可靠性:具有能夠防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善而造成的系統(tǒng)失效,具有挽回因操作不當(dāng)而造成軟件系統(tǒng)失效的能力5.有效性:充分利用計(jì)算機(jī)的時(shí)間和空間資源2.2系統(tǒng)介紹本系統(tǒng)是一飛機(jī)航班機(jī)票訂購(gòu)系統(tǒng),該系統(tǒng)可以錄入航班和機(jī)票信息,用戶可以在線查詢航班時(shí)刻表、查詢機(jī)票可用信息和機(jī)票折扣信息,用戶可以通過(guò)軟件訂購(gòu)機(jī)票。2.3系統(tǒng)面向的用戶群體本系統(tǒng)面向由于種種原因希望在線訂購(gòu)民航機(jī)票的用戶群體。實(shí)現(xiàn)網(wǎng)上遠(yuǎn)程訂票,為廣大的客戶朋友提供方便、快捷、優(yōu)質(zhì)的服務(wù)。2.4條件與限制條件: 1.小組成員之間的通力合作,發(fā)揮團(tuán)結(jié)互助的精神,共同完成。 2.有大量的參考書(shū)籍供大家借鑒。 3.有輔導(dǎo)老師的不停指導(dǎo)。限制: 1.由于大家都還是處于學(xué)習(xí)階段,經(jīng)驗(yàn)不足,能力有限,所以有很多沒(méi)有考慮到的地方。2.學(xué)習(xí)任務(wù)比較重,時(shí)間比較倉(cāng)促,不能仔仔細(xì)細(xì)的去完成,所以有很多功能沒(méi)有實(shí)現(xiàn),只是簡(jiǎn)單的做了一個(gè)樣本,還有待進(jìn)一步完善。2.5系統(tǒng)的功能性需求2.5.1功能劃分系統(tǒng)需向兩類用戶提供如下功能:1.系統(tǒng)管理員功能:錄入和修改航班和機(jī)票的信息;定時(shí)更新信息;管理留言板2.客戶需要的功能:1)查詢;2)訂票;2.5.2功能描述查詢以及訂票:查詢航班時(shí)刻表,包括航線信息,時(shí)間信息和班次信息??梢酝ㄟ^(guò)航班、始發(fā)站、終點(diǎn)站和班次進(jìn)行層次查詢,既可以分層次逐步細(xì)化查詢。2.6系統(tǒng)的非功能性需求2.6.1用戶界面需求簡(jiǎn)潔、易用、易懂,美觀、大方、標(biāo)準(zhǔn),具備一定的兼容性。2.6.2運(yùn)行環(huán)境需求操作系統(tǒng):vc6.02.6.3軟件質(zhì)量需求易用、健壯、兼容性好、運(yùn)行穩(wěn)定、有一定安全保障。三、可行性分析報(bào)告3.1編寫(xiě)目的3.1.1目的隨著人民生活水平的提高,旅游業(yè)和商務(wù)的發(fā)展,航空業(yè)的飛速發(fā)展,機(jī)票銷售預(yù)定也應(yīng)用而生,而相關(guān)的信息管理,如國(guó)內(nèi),國(guó)際機(jī)票的預(yù)定信息和機(jī)票政策信息等管理卻落后。靠已往的管理方式進(jìn)行管理,已不能適應(yīng)社會(huì)的快速發(fā)展。這樣就迫切需要一個(gè)高效率的管理方式來(lái)引導(dǎo)機(jī)票預(yù)定服務(wù)業(yè)的發(fā)展。3.1.2用戶類及其特征用戶類描述旅客(優(yōu)先考慮)旅客是所有乘飛機(jī)的人員,他們希望能夠查詢航班信息,包括票價(jià),起飛和降落時(shí)間等,同時(shí)能夠進(jìn)行網(wǎng)上預(yù)定與刪除預(yù)定。售票員航空公司聘請(qǐng)的工作人員,專門負(fù)責(zé)與旅客打交道,他們從旅客那里接受信息,進(jìn)行售票,也可查詢,預(yù)定,刪除預(yù)定,還能為旅客辦理退票手續(xù)。飛機(jī)售票管理系統(tǒng)的工作人員需要接受培訓(xùn),學(xué)會(huì)如何使用計(jì)算機(jī),Web瀏覽器和該系統(tǒng)公司領(lǐng)導(dǎo)投資開(kāi)發(fā)該系統(tǒng)的人員,可以對(duì)當(dāng)前航班和歷史航班售票信息進(jìn)行查詢統(tǒng)計(jì)。系統(tǒng)管理員專門負(fù)責(zé)管理系統(tǒng)的人員,是高層次的人員,可以對(duì)該系統(tǒng)進(jìn)行數(shù)據(jù)備份、恢復(fù)、數(shù)據(jù)調(diào)整等日常維護(hù)。業(yè)務(wù)人員錄入非規(guī)范信息,包括座位數(shù),座位等級(jí),服務(wù)類別,備注信息。公司業(yè)務(wù)人員同時(shí)負(fù)責(zé)上述信息的修改、刪除等維護(hù)。公司業(yè)務(wù)人員錄入航班信息,包括航班號(hào),出發(fā)城市,到達(dá)城市,出發(fā)時(shí)間,到達(dá)時(shí)間,座位價(jià)格(含不同等級(jí)座位價(jià)格),備注信息。公司業(yè)務(wù)人員同時(shí)負(fù)責(zé)上述信息的修改、刪除等維護(hù)。公司業(yè)務(wù)人員可以對(duì)當(dāng)前航班和歷史航班售票信息進(jìn)行查詢統(tǒng)計(jì)3.2問(wèn)題定義3.2.1開(kāi)展該工程的原因航空公司在每個(gè)航班運(yùn)營(yíng)的城市都設(shè)有大量訂票處。每個(gè)訂票處都有大量訂票柜臺(tái)來(lái)處理訂票和取消訂票。每個(gè)柜臺(tái)都有一名柜臺(tái)助理來(lái)負(fù)責(zé)預(yù)訂或取消預(yù)訂?,F(xiàn)航空公司需要開(kāi)發(fā)一個(gè)新系統(tǒng)來(lái)利用最新技術(shù)和使乘客能夠在線查詢有關(guān)航班和候補(bǔ)列表狀態(tài)的信息。3.2.2該工程的基本目標(biāo)1).輸入航班信息2).瀏覽航班信息3).修改航班信息4).查找航班信息5).刪除航班信息6).訂票信息7).退票信息3.2.3經(jīng)濟(jì)目標(biāo)本工程產(chǎn)品作為飛機(jī)售票管理的具體應(yīng)用,是帶有實(shí)驗(yàn)性的,在一定的時(shí)間內(nèi)無(wú)經(jīng)濟(jì)上收益。是為了通過(guò)實(shí)現(xiàn)本產(chǎn)品的設(shè)計(jì)語(yǔ)言,能夠做到開(kāi)發(fā)其它軟件,是為了推廣由本語(yǔ)言開(kāi)發(fā)的相關(guān)軟件,是注重以后的潛在發(fā)展,是在概念上、形象上的不斷升值。3.3可行性研究的方法及評(píng)價(jià)度本工程產(chǎn)品作為飛機(jī)售票管理的具體應(yīng)用,是帶有實(shí)驗(yàn)性的,在一定的時(shí)間內(nèi)無(wú)經(jīng)濟(jì)上收益。是為了通過(guò)實(shí)現(xiàn)本產(chǎn)品的設(shè)計(jì)語(yǔ)言,能夠做到開(kāi)發(fā)其它軟件,是為了推廣由本語(yǔ)言開(kāi)發(fā)的相關(guān)軟件,是注重以后的潛在發(fā)展,是在概念上、形象上的不斷升值。3.3.1可行性研究所采用的方法通過(guò)調(diào)查分析飛機(jī)售票管理現(xiàn)階段所具備的能力及實(shí)現(xiàn)的方法、確定主體結(jié)構(gòu)。利用現(xiàn)階段售票管理所能達(dá)到的能力,以最簡(jiǎn)潔、最容易的辦法,邊開(kāi)發(fā)邊測(cè)試,實(shí)現(xiàn)一個(gè)初級(jí)應(yīng)用軟件。3.3.2評(píng)價(jià)尺度利用飛機(jī)售票管理開(kāi)發(fā)一個(gè)初始產(chǎn)品,以能夠達(dá)到提高機(jī)票管理工作效率、減少額外人力、物力資源開(kāi)銷為評(píng)價(jià)標(biāo)準(zhǔn)。3.4工作產(chǎn)品3.4.1設(shè)計(jì)目標(biāo)系統(tǒng)具有售票,增加預(yù)定,刪除預(yù)定,,查詢,退票等功能。3.4.2設(shè)計(jì)及約束條件a.軟件系統(tǒng)界面美觀、布局合理、內(nèi)容簡(jiǎn)單,提供的信息語(yǔ)言通俗易懂、有層次感、分類清晰。b.必須根據(jù)現(xiàn)有條件所能達(dá)到的能力來(lái)完成整個(gè)工程。3.4.3產(chǎn)品工作原理飛機(jī)售票系統(tǒng)軟件與其它軟件有所不同,它小巧實(shí)用,主要利用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn):a.它將所有的數(shù)據(jù)都存入數(shù)據(jù)庫(kù)中;b.它調(diào)用的數(shù)據(jù)都來(lái)自數(shù)據(jù)庫(kù);c.它能隨意的輸入數(shù)據(jù)和輸出數(shù)據(jù)以及刪除數(shù)據(jù);d.通過(guò)過(guò)濾的功能來(lái)查找出來(lái)的記錄中找到所需的項(xiàng)。3.5時(shí)間、設(shè)備可能性系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)工作預(yù)計(jì)耗時(shí)半個(gè)月,所有參與開(kāi)發(fā)的人員均能夠保證按時(shí)完成任務(wù)。實(shí)驗(yàn)設(shè)備如:計(jì)算機(jī)等充足,上機(jī)任務(wù)可以完成,網(wǎng)絡(luò)的實(shí)驗(yàn)根據(jù)具體條件暫時(shí)延緩執(zhí)行。3.6系統(tǒng)工作量該系統(tǒng)的工作量相對(duì)于我們的開(kāi)發(fā)小組來(lái)說(shuō)很大,必須保證按進(jìn)度完成任務(wù)。實(shí)際工作量預(yù)計(jì)超過(guò)半個(gè)月(每天4-8小時(shí))。如包含軟件維護(hù)及技術(shù)文檔的整理、制作,工作量將更大。3.7代碼工作量預(yù)計(jì)需14天左右。四、開(kāi)發(fā)環(huán)境與項(xiàng)目規(guī)劃4.1開(kāi)發(fā)環(huán)境前臺(tái)開(kāi)發(fā)環(huán)境:vc6.04.2項(xiàng)目規(guī)劃與管理4.2.1開(kāi)發(fā)人員安排件測(cè)試。4.2.2開(kāi)發(fā)進(jìn)度安排1月5日至1月8日:系統(tǒng)分析,進(jìn)行需求定義,定義系統(tǒng)概況1月8日至1月10日:數(shù)據(jù)庫(kù)分析與設(shè)計(jì)、UML工程設(shè)計(jì)1月10日至1月12日:軟件體系結(jié)構(gòu)設(shè)計(jì)1月12日至1月14日:軟件編碼1月14日至1月16日:系統(tǒng)測(cè)試五、軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范5.1編寫(xiě)目的制定界面設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范的目的是為了規(guī)范和統(tǒng)一軟件界面設(shè)計(jì)制定軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范。5.2界面設(shè)計(jì)思想首先考慮標(biāo)準(zhǔn)化,在標(biāo)準(zhǔn)化的基礎(chǔ)上進(jìn)行界面的美工設(shè)計(jì)。5.3界面設(shè)計(jì)原則簡(jiǎn)單易用、簡(jiǎn)潔明了、兼容性好、標(biāo)準(zhǔn)、規(guī)范。5.4界面設(shè)計(jì)樣式采用標(biāo)準(zhǔn)網(wǎng)頁(yè)界面,自上至下依次為:標(biāo)題欄、菜單欄、工具條、工作區(qū)、狀態(tài)欄等。5.5常見(jiàn)提示信息樣式提示信息按以下標(biāo)準(zhǔn)進(jìn)行:采用標(biāo)準(zhǔn)網(wǎng)頁(yè)對(duì)話框樣式,添加信息圖標(biāo),后接提示信息文本和相應(yīng)按鈕。5.6常見(jiàn)錯(cuò)誤信息樣式錯(cuò)誤信息依據(jù)提示信息樣式設(shè)計(jì),將信息圖標(biāo)更改為警告圖標(biāo)。5.7其他界面約定除主界面外,所有子界面均采用模式窗體,即該窗體不消失,不可以在本程序內(nèi)將焦點(diǎn)移出子窗體。六、軟件編碼設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范6.1結(jié)構(gòu)化編碼約定編碼應(yīng)清晰、可讀性好,運(yùn)用縮進(jìn)、空行,結(jié)合大小寫(xiě)區(qū)別等方法保持程序結(jié)構(gòu)良好。凡與數(shù)據(jù)庫(kù)操作相關(guān)的模塊一律加上容錯(cuò)代碼,涉及多表操作的模塊應(yīng)運(yùn)用“事務(wù)”處理,以保持?jǐn)?shù)據(jù)完整性。七、軟件體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書(shū)7.1系統(tǒng)概述在單機(jī)環(huán)境下進(jìn)行系統(tǒng)安全的考慮,有必要進(jìn)行用戶權(quán)限的劃分與控制,因而系統(tǒng)在總體上應(yīng)包含安全子系統(tǒng)之下的各類用戶工作環(huán)境。用戶權(quán)限的合理劃分與有效控制是本系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)的核心。7.2設(shè)計(jì)約束系統(tǒng)將實(shí)現(xiàn)對(duì)用戶、管理員的全面管理,而用戶管理是系統(tǒng)的核心部件,怎樣實(shí)現(xiàn)二者的共存,互不干擾,是本系統(tǒng)設(shè)計(jì)的難點(diǎn)。本系統(tǒng)必須實(shí)現(xiàn)對(duì)用戶權(quán)限的有效合理控制。7.3系統(tǒng)概要設(shè)計(jì)說(shuō)明書(shū)7.3.1圖例說(shuō)明過(guò)程、模塊1.處理過(guò)程:過(guò)程、模塊數(shù)據(jù)表2.數(shù)據(jù)存儲(chǔ):數(shù)據(jù)表決策3.決策4.數(shù)據(jù)流:(單向)5.數(shù)據(jù)流:(雙向)實(shí)體實(shí)體6.外部實(shí)體:數(shù)據(jù)表7.帶有變動(dòng)歷史的數(shù)據(jù)存儲(chǔ):數(shù)據(jù)表7.3.2系統(tǒng)總體結(jié)構(gòu)輸入航班信息輸入航班信息瀏覽航班信息瀏覽航班信息按航班號(hào)修改按航班號(hào)修改按航線修改修改航班信息按航線修改修改航班信息按航班號(hào)查找飛機(jī)訂票管理系統(tǒng)按航班號(hào)查找飛機(jī)訂票管理系統(tǒng)按終點(diǎn)站查找查找航班信息按終點(diǎn)站查找查找航班信息按航線修改按航線修改返回返回按航班號(hào)刪除按航班號(hào)刪除按航線刪除刪除航班信息按航線刪除刪除航班信息按航班號(hào)查找返回按航班號(hào)查找返回按終點(diǎn)站查找按終點(diǎn)站查找訂票信息訂票信息按航線修改按航線修改返回返回按航班號(hào)按航班號(hào)查找 按終點(diǎn)站查找退票信息按終點(diǎn)站查找退票信息按航線修改按航線修改返回返回退出退出圖10.系統(tǒng)總體結(jié)構(gòu)圖7.3.3流程圖用戶用戶SearchingSearchingBooking選擇查詢選擇訂票Booking選擇查詢選擇訂票時(shí)刻表航班時(shí)刻表航班表時(shí)刻表航班時(shí)刻表航班表查詢記錄查詢記錄圖11.用戶訂票流程圖7.4系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)7.4.1系統(tǒng)核心模塊詳解#include<stdio.h>//標(biāo)準(zhǔn)輸入、輸出頭文件#include<string.h>//包含字符串函數(shù)處理頭文件#include<stdlib.h>//包含動(dòng)態(tài)存儲(chǔ)與釋放函數(shù)頭文件#defineN10000structair//定義結(jié)構(gòu)體數(shù)組{intnum;charstart[20];charover[20];chartime[10];intcount;}s[N];inti;intm=0;#definePRINT"%-d%12s%12s%10s%12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//定義輸出格式voidinput();//輸入航班信息voidprint();//輸出航班信息voidsave();//保存航班信息voidread();//讀取航班信息voidsearch();//查找航班信息voidshanchu();//刪除航班信息voiddingpiao();//訂票信息voidtuipiao();//退票信息voidxiugai();//修改信息voidmain(){intj;printf("★您好,歡迎進(jìn)入機(jī)票預(yù)訂系統(tǒng)!★\n");printf("================================================================================\n");do{printf("☆1.輸入航班信息☆\n\n""☆2.瀏覽航班信息☆\n\n""☆3.修改航班信息☆\n\n""☆4.查找航班信息☆\n\n""☆5.刪除航班信息☆\n\n""☆6.訂票信息☆\n\n""☆7.退票信息☆\n\n""☆0.退出☆\n\n");printf("================================================================================\n");printf("請(qǐng)?jiān)?-7中選擇以回車鍵結(jié)束:\n\n");scanf("%d",&j);switch(j){case1:input();//調(diào)用輸入模塊break;case2:print();//調(diào)用打印模塊break;case3:xiugai();//調(diào)用修改模塊break;case4:search();//調(diào)用查找模塊break;case5:shanchu();//調(diào)用刪除模塊break;case6:dingpiao();//調(diào)用訂票模塊break;case7:tuipiao();//調(diào)用退票模塊break;case0:;break;}}while(j!=0);//判斷結(jié)束printf("謝謝使用,再見(jiàn)!\n");}//主函數(shù)結(jié)束voidinput()//打印模塊程序{charf[]="12345";//設(shè)置密碼inty;printf("請(qǐng)輸入密碼并以回車鍵結(jié)束:\n\n");scanf("%s",f);//讀取密碼if(strcmp(f,"12345")==0){printf("請(qǐng)依次輸入航班信息(機(jī)票數(shù)位0結(jié)束輸入):\n\n""完成輸入信息請(qǐng)鍵入w以回車鍵結(jié)束\n\n");//打印提示信息printf("\n");for(i=0;i<N;i++){printf("請(qǐng)輸入航班號(hào):\n");scanf("%d",&s[i].num);//讀取航班號(hào)printf("請(qǐng)輸入起始站:\n");scanf("%s",s[i].start);//讀取起始站printf("請(qǐng)輸入終點(diǎn)站:\n");scanf("%s",s[i].over);//讀取終點(diǎn)站printf("請(qǐng)輸入時(shí)間:\n");scanf("%s",s[i].time);//讀取時(shí)間printf("請(qǐng)輸入機(jī)票數(shù)(機(jī)票數(shù)為0結(jié)束輸入):\n",m);scanf("%d",&s[i].count);//讀取機(jī)票數(shù)m++;printf("第%d個(gè)信息已經(jīng)輸完是否繼續(xù)?按任意鍵繼續(xù),按0結(jié)束",m);scanf("%d",&y);if(y==0){save();//將結(jié)構(gòu)體信息存盤(pán)print();//輸出輸入的航班信息break;}}}elseprintf("輸入密碼錯(cuò)誤!請(qǐng)檢查您的密碼是否正確!謝謝!再見(jiàn)!\n\n");}voidsave()//保存模塊程序{FILE*fp,*fp1;//定義文件指針if((fp=fopen("chen.dat","wb"))==NULL)//打開(kāi)文件并判斷是否出錯(cuò){printf("創(chuàng)建文件失敗!\n\n");//打印出錯(cuò)提示getchar();return;}if((fp1=fopen("hao.dat","wb"))==NULL)//打開(kāi)文件并判斷是否出錯(cuò){printf("創(chuàng)建文件失敗!\n\n");//打印出錯(cuò)提示getchar();return;}for(i=0;i<m;i++)if(fwrite(&s[i],sizeof(structair),1,fp)==0)//向文件寫(xiě)入數(shù)據(jù),并判斷是否出錯(cuò)printf("向文件輸入數(shù)據(jù)失敗!\n\n");fprintf(fp1,"%d",m);fclose(fp);//關(guān)閉文件fclose(fp1);//關(guān)閉文件}voidread()//從文件讀取信息模塊{FILE*fp,*fp1;//定義文件指針if((fp=fopen("chen.dat","rb"))==NULL)//打開(kāi)文件,并判斷是否出錯(cuò){printf("出錯(cuò),請(qǐng)檢查文件是否存在,按任意鍵返回住菜單");//打印出錯(cuò)提示getchar();}if((fp1=fopen("hao.dat","rb"))==NULL)//打開(kāi)文件并判斷是否出錯(cuò){printf("創(chuàng)建文件失敗!\n\n");//打印出錯(cuò)提示getchar();return;}fscanf(fp1,"%d",&m);fclose(fp1);//關(guān)閉文件for(i=0;i<m;i++){fread(&s[i],sizeof(structair),1,fp);//從文件中讀取信息}fclose(fp);//關(guān)閉文件}voidprint()//打印模塊{charw[10];read();//調(diào)用讀取文件函數(shù)printf("航班號(hào)起始站終點(diǎn)站時(shí)間機(jī)票數(shù)\n");for(i=0;i<m;i++){printf(PRINT);//打印信息}printf("請(qǐng)按任意鍵回車鍵結(jié)束返回上層菜單以:\n");scanf("%s",w);}voidsearch()//查詢模塊{charname1[20];charname2[20];charii[10];intn,no;do{printf("請(qǐng)選擇查找方式:\n\n");//打印查詢方式菜單printf("1.按航班號(hào)查找\n\n""2.按終點(diǎn)站查找\n\n""3.按航線查找\n\n""0.返回\n\n");printf("請(qǐng)?jiān)?-3中選擇:\n\n""按其他鍵以回車鍵結(jié)束返回主菜單:\n\n");scanf("%d",&n);//讀取查找方式if(n==0)break;switch(n){case1:printf("請(qǐng)輸入航班號(hào):\n");scanf("%d",&no);//航班號(hào)break;case2:printf("請(qǐng)輸入終點(diǎn)站名稱:\n");scanf("%s",name2);//讀取終點(diǎn)站break;case3:printf("請(qǐng)輸入起始站名稱:\n");scanf("%s",name1);//讀取起始站printf("請(qǐng)輸入終點(diǎn)站名稱:\n");scanf("%s",name2);//終點(diǎn)站break;}read();//調(diào)用讀取函數(shù)for(i=0;i<m;i++){if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)//按終點(diǎn)站起始站判斷輸出條件{printf("\n查找航班信息成功!\n");printf("航班號(hào)起始站終點(diǎn)站時(shí)間機(jī)票數(shù)\n");printf(PRINT);//打印信息break;}if(s[i].num==no)//按航班號(hào)判斷輸出條件{printf("\n查找航班信息成功!\n");printf("航班號(hào)起始站終點(diǎn)站時(shí)間機(jī)票數(shù)\n");printf(PRINT);//打印信息break;}}no=0;//將航班號(hào)賦值為0printf("沒(méi)有您需要的信息或查找完畢:\n\n""是否繼續(xù)查找?請(qǐng)鍵入yes或no以回車鍵結(jié)束\n");scanf("%s",ii);}while(strcmp(ii,"yes")==0);//判斷結(jié)束}voidshanchu()//刪除模塊{charname1[20];charname2[20];charii[10];charf[]="12345";//設(shè)置密碼intno,n;printf("請(qǐng)輸入密碼并以回車鍵結(jié)束:\n\n");scanf("%s",f);//讀取密碼if(strcmp(f,"12345")==0)//判斷密碼是否正確{do{printf("請(qǐng)選擇刪除以方式回車鍵結(jié)束:\n\n");//打印刪除方式菜單printf("*1.按航班號(hào)刪除\n\n""*2.按航線刪除\n\n""*0.返回\n\n");printf("請(qǐng)?jiān)?-2中選擇以回車鍵結(jié)束:\n");scanf("%d",&n);//讀取刪除方式if(n==0)break;//跳出循環(huán)switch(n){case1:printf("請(qǐng)輸入航班號(hào):\n");scanf("%d",&no);//讀取航班號(hào)read();//調(diào)用讀取函數(shù)break;//跳出循環(huán)case2:printf("請(qǐng)輸入起始站名稱:\n");scanf("%s",name1);//讀取起始站printf("請(qǐng)輸入終點(diǎn)站名稱:\n");scanf("%s",name2);//讀取終點(diǎn)站read();//調(diào)用讀取函數(shù)break;//跳出循環(huán)}for(i=0;i<m;i++){if(s[i].num==no||strcmp(s[i].start,name1)==0&&strcmp(s[i].over,name2)==0)//判斷輸入信息是否存在{s[i]=s[m-1];m--;}}printf("查找完畢或沒(méi)有這個(gè)信息\n\n");printf("是否繼續(xù)刪除\n");printf("請(qǐng)鍵入yes或no以回車鍵結(jié)束\n");scanf("%s",ii);//讀取是否繼續(xù)信息save();//調(diào)用讀取函數(shù)if(!strcmp(ii,"yes"))//判斷是否繼續(xù)刪除printf("請(qǐng)按任意鍵以回車鍵結(jié)束返回上層菜單:\n");break;}while(n!=1&&n!=2&&n!=3&&n!=4&&n!=0);//判斷結(jié)束}elseprintf("對(duì)不起密碼錯(cuò)誤!您不是管理員,不能使用此項(xiàng)功能!謝謝!再見(jiàn)!\n\n");}voiddingpiao()//訂票模塊{intn;chara[10];do{search();//調(diào)用查詢模塊printf("請(qǐng)輸入您要訂的機(jī)票數(shù)以回車鍵結(jié)束:\n");scanf("%d",&n);//讀取所訂機(jī)票數(shù)if(n<0){printf("請(qǐng)輸入有效的機(jī)票數(shù)!\n");//判斷機(jī)票數(shù)是否出錯(cuò)break;}if(s[i].count!=0&&s[i].count>=n)//判斷是否出錯(cuò){s[i].count=s[i].count-n;save();//調(diào)用保存函數(shù)printf("訂票成功!\n\n");break;}if(s[i].count<n)//判斷是否出錯(cuò){printf("請(qǐng)輸入有效的機(jī)票數(shù):\n");break;}printf("是否繼續(xù)?請(qǐng)輸入yes或no以回車鍵結(jié)束:\n");//判斷是否繼續(xù)訂票scanf("%s",a);}while(!strcmp(a,"yes"));//判斷結(jié)束}voidtuipiao()//退票模塊{intn;chara[10];do{search();//調(diào)用查詢模塊printf("請(qǐng)輸入您要退的機(jī)票數(shù)目:\n");scanf("%d",&n);//輸入所退票數(shù)if(n<0)//判斷票數(shù)是否有效printf("請(qǐng)輸入有效的機(jī)票數(shù)!\n");s[i].count=s[i].count+n;save();//調(diào)用保存模塊printf("退票成功!\n\n");printf("是否繼續(xù)?請(qǐng)鍵入yes或no以回車鍵結(jié)束:\n\n");//判斷是否繼續(xù)退票scanf("%s",a);}while(!strcmp(a,"yes"));//判斷并跳出循環(huán)getchar();}voidxiugai()//修改模塊{structxiu//定義結(jié)構(gòu)體{intno;charname1[20];charname2[20];chartime[20];intcount;}x[1];charj[10];charf[]="12345";//設(shè)置密碼intn;printf("請(qǐng)輸入密碼并以回車鍵結(jié)束:\n\n");scanf("%s",f);//讀取密碼if(strcmp(f,"12345")==0)//判斷是否出錯(cuò){read();//調(diào)用讀取模塊do{printf("請(qǐng)選擇修改方式:\n\n""*1,按航班號(hào)修改:\n\n""*2,按航線修改:\n\n");printf("請(qǐng)?jiān)?2中修改以回車鍵結(jié)束:\n\n");scanf("%d",&n);//讀取修改方式switch(n){case1:printf("請(qǐng)輸入航班號(hào):\n");scanf("%d",&x[0].no);//讀取航班號(hào)break;case2:printf("請(qǐng)輸入起始站:\n");scanf("%s",x[0].name1);//讀取起始站printf("請(qǐng)輸入終點(diǎn)站:\n");scanf("%s",x[0].name2);//讀取終點(diǎn)站break;}for(i=0;i<m;i++){if(strcmp(s[i].over,x[0].name1)==0&&strcmp(s[i].over,x[0].name2)==0)//判斷輸出條件{printf("航班號(hào)起始站終點(diǎn)站時(shí)間機(jī)票數(shù)\n");printf(PRINT);break;}if(s[i].num==x[0].no)//判斷輸出條件{printf("航班號(hào)起始站終點(diǎn)站時(shí)間機(jī)票數(shù)\n");printf(PRINT);break;}}x[0].no=0;//將結(jié)構(gòu)體中的號(hào)為零printf("請(qǐng)輸入新航班號(hào)、起始站、終點(diǎn)站、時(shí)間(星期幾)、機(jī)票數(shù):\n");scanf("%d%s%s%s%d",&x[0].no,x[0].name1,x[0].name2,x[0].time,&x[0].count);//定義輸入格式s[i].num=x[0].no;//替換航班號(hào)strcpy(s[i].start,x[0].name1);//替換其始站strcpy(s[i].over,x[0].name2);//替換終點(diǎn)站strcpy(s[i].time,x[0].time);//替換時(shí)間s[i].count=x[0].count;//替換機(jī)票數(shù)save();//調(diào)用保存模塊printf("是否繼續(xù)?請(qǐng)鍵入yes或no以回車鍵結(jié)束:\n\n");scanf("%s",j);}while(strcmp(j,"yes")==0);//判斷結(jié)束}elseprintf("對(duì)不起密碼錯(cuò)誤!您不是管理員,不能使用此項(xiàng)功能!謝謝!再見(jiàn)!\n\n");}八、用戶界面設(shè)計(jì)報(bào)告8.1界面設(shè)計(jì)規(guī)范界面是除算法外,整個(gè)軟件的很重要的性能參數(shù)之一。本軟件對(duì)界面的要求是:更加方便好用,更符合用戶一般的使用習(xí)慣,界面的設(shè)計(jì)布局要更加美觀,使用戶有美的感覺(jué)。8.2界面設(shè)計(jì)8.2.1主頁(yè)主頁(yè)上要提供整個(gè)網(wǎng)站所能提供的一切服務(wù)鏈接,并能及時(shí)地講關(guān)于本網(wǎng)站或某個(gè)具體服務(wù)的最新的信息傳遞給用戶。因此,基于以上要求,對(duì)主頁(yè)設(shè)計(jì)要求如下:提供查詢與訂票功能的鏈接提供乘機(jī)常識(shí)功能的鏈接。提供關(guān)于本站功能的鏈接,主要用于向用戶介紹網(wǎng)站的相關(guān)信息。提供幫助功能的鏈接,用于幫助用戶使用本網(wǎng)站所提供的相關(guān)服務(wù)。提供留言板功能鏈接,用于用戶與本站進(jìn)行交流。提供管理員登陸窗口,并可以錄入管理員姓名、密碼等信息,并提供登陸和重置功能。主要用于管理員登陸管理界面。提供用戶訂票查詢界面,錄入用戶名、身份證號(hào)等信息,并提供查詢和重置的功能,主要用于用戶對(duì)訂票信息的查詢。提供滾動(dòng)信息窗口,隨時(shí)將本站的最新動(dòng)態(tài)公布出來(lái),這樣便于用戶了解本站。提供到其他主要航空公司的鏈接,主要包括:深圳航空公司,上海航空公司,東方航空公司,海南航空公司,加拿大航空公司,美國(guó)西北航空公司,南方航空公司,國(guó)際航空公司。為了使界面更加美觀并方便用戶,要設(shè)計(jì)多樣的動(dòng)態(tài)效果來(lái)豐富網(wǎng)頁(yè)的外觀,并在頁(yè)面的醒目位置提供諸如當(dāng)前時(shí)間、天氣等快捷的信息。8.2.2查詢窗口查詢窗口主要提供用戶對(duì)機(jī)票信息的查詢,因此,該窗口要提供交互式的界面模式,方便用戶進(jìn)行想換操作。具體的設(shè)計(jì)要求如下:提供按航班號(hào)查詢功能。界面要接收到用戶所填入的航班號(hào)、出發(fā)日期(月、日)、起飛時(shí)間等信息,為了方便用戶使用,要求在航班號(hào)錄入空白后給予用戶正確的航班編號(hào)書(shū)寫(xiě)舉例;在出發(fā)日期填寫(xiě)空白采用下拉式菜單的形式;起飛時(shí)間的錄入空白也采用下拉式菜單形式,并設(shè)計(jì)成時(shí)間段的錄取,方便用戶在不知道航班具體起飛時(shí)間時(shí)的查詢。提供按出發(fā)地查詢功能。。界面要接收到用戶所填入的出發(fā)地點(diǎn)、出發(fā)日期(月、日)、起飛時(shí)間等信息,為了方便用戶使用,要求在出發(fā)地點(diǎn)錄入空白后給予用戶正確的地址書(shū)寫(xiě)舉例;在出發(fā)日期填寫(xiě)空白采用下拉式菜單的形式;起飛時(shí)間的錄入空白也采用下拉式菜單形式,并設(shè)計(jì)成時(shí)間段的錄取,方便用戶在不知道航班具體起飛時(shí)間時(shí)的查詢。提供按終點(diǎn)地查詢功能。界面要接收到用戶所填入的終點(diǎn)、出發(fā)日期(月、日)、起飛時(shí)間等信息,為了方便用戶使用,要求在終點(diǎn)錄入空白后給予用戶正確的終點(diǎn)地址的書(shū)寫(xiě)舉例;在出發(fā)日期填寫(xiě)空白采用下拉式菜單的形式;起飛時(shí)間的錄入空白也采用下拉式菜單形式,并設(shè)計(jì)成時(shí)間段的錄取,方便用戶在不知道航班具體起飛時(shí)間時(shí)的查詢。各子功能的交互窗口要統(tǒng)一布局,統(tǒng)籌安排,要充分考慮到界面的視覺(jué)效果,便于用戶使用。仍然提供主業(yè)所提供的各種功能的鏈接,以及方便用戶的友好信息,如當(dāng)前時(shí)間,天氣等信息,具體模式參見(jiàn)9.2.1。8.2.3訂票窗口 訂票窗口主要提供用戶訂票的功能,能夠錄入用戶訂票所要提交的信息,并能給予一定的幫助提示。錄入信息要求能夠盡量的完整,但出入節(jié)減的角度,要能夠滿足多層次用戶的要求。信息的錄入可以設(shè)計(jì)成選擇式的,但要滿足最低的限度。能夠錄入用戶的相關(guān)性質(zhì)信息。如用戶名、用戶的性別、年齡、身份證號(hào)碼、聯(lián)系電話、聯(lián)系地址、郵編、電子郵件,為了方便用戶及管理,用戶的性別、年齡設(shè)計(jì)成下拉選擇錄入的形式;身份證號(hào)碼提示16位18位均可;電子郵件位可選擇填寫(xiě),其它為必須填寫(xiě)的信息。能夠錄入用戶所要訂的票的信息。并在相應(yīng)的屬性后給出提示,如航班號(hào)(如:CZ1102);出發(fā)月份(如:5月);出發(fā)日期(如:5日);起飛時(shí)間:(如:5:15);始發(fā)站(如:長(zhǎng)沙);終點(diǎn)站:(如:北京);打折票數(shù);非打折票數(shù)以及票的往返類型。類型選用下拉選擇式填入方式。為了能夠?yàn)橛脩舾玫姆?wù),提供附注功能,獲取用戶的更多信息。仍然提供主業(yè)所提供的各種功能的鏈接,以及方便用戶的友好信息,如當(dāng)前時(shí)間,天氣等信息,具體模式參見(jiàn)9.2.1。8.2.4航班時(shí)刻表界面主要提供對(duì)全國(guó)各大航空公司所開(kāi)的班次信息,目的是方便用戶的乘機(jī)。具體功能如下:要顯示航程、開(kāi)設(shè)航空公司、時(shí)間、折扣、團(tuán)隊(duì)的折扣、備注等必要的信息。要有注意事項(xiàng)等臨時(shí)的信息提供。仍然提供主業(yè)所提供的各種功能的鏈接,以及方便用戶的友好信息,如當(dāng)前時(shí)間,天氣等信息,具體模式參見(jiàn)9.2.1。九、軟件測(cè)試分析報(bào)告9.1測(cè)試目的為了進(jìn)一步對(duì)所分析設(shè)計(jì)的項(xiàng)目進(jìn)行檢測(cè)和評(píng)估,對(duì)本項(xiàng)目中的每一個(gè)模塊都做了詳細(xì)的分析,測(cè)試及改正.也為了進(jìn)一步了解其工作過(guò)程,深入弄懂每一步
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣西旅發(fā)大健康產(chǎn)業(yè)集團(tuán)有限公司招聘16人參考考試試題及答案解析
- 2026年陜西交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試備考題庫(kù)含詳細(xì)答案解析
- 2026年上海興偉學(xué)院?jiǎn)握芯C合素質(zhì)考試備考試題含詳細(xì)答案解析
- 2026年山東協(xié)和學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年青海柴達(dá)木職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- 2026年甘肅農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- 2026年四川大學(xué)錦江學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年昆明衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試備考題庫(kù)含詳細(xì)答案解析
- 2026年江蘇海事職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試參考題庫(kù)含詳細(xì)答案解析
- 2026年石家莊郵電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試備考題庫(kù)含詳細(xì)答案解析
- x探傷安全管理制度
- 財(cái)政分局對(duì)賬管理制度
- 噴水機(jī)車間管理制度
- 云師大附中 2026 屆高三高考適應(yīng)性月考(一)-地理試卷(含答案)
- 高中數(shù)學(xué)北師大版講義(必修二)第05講1.5正弦函數(shù)、余弦函數(shù)的圖象與性質(zhì)再認(rèn)識(shí)3種常見(jiàn)考法歸類(學(xué)生版+解析)
- 商業(yè)銀行反洗錢風(fēng)險(xiǎn)管理自評(píng)估制度研究
- 2025年度法院拍賣合同模板:法院拍賣拍賣保證金退還合同
- 海關(guān)特殊監(jiān)管區(qū)域?qū)n}政策法規(guī)匯編 2025
- 《浙江省城市體檢工作技術(shù)導(dǎo)則(試行)》
- 人教統(tǒng)編版(部編版)小學(xué)科學(xué)教材目錄
- DB34∕T 1555-2011 存量房交易計(jì)稅價(jià)格評(píng)估技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論