《軟件工程》課后答案(第六版)_第1頁
《軟件工程》課后答案(第六版)_第2頁
《軟件工程》課后答案(第六版)_第3頁
《軟件工程》課后答案(第六版)_第4頁
《軟件工程》課后答案(第六版)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《軟件工程》(第六版)習(xí)題參考答案第1章一、判斷題1×2√3×4√5×6√7√8×9√10×二、選擇題1-5CADDD6-10ADAAD11-15AAADA三、簡答題1、軟件包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。其中,程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠正確地處理信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。軟件包括程序,程序只是軟件的一部分。2、軟件危機(jī)的產(chǎn)生有兩方面因素,一方面與軟件本身的抽象性和復(fù)雜性有關(guān);另一方面則與軟件開發(fā)和維護(hù)過程中使用的技術(shù)和方法有關(guān),這是主觀原因。為了解決軟件危機(jī),既要有技術(shù)措施(好的方法和工具),也要有組織管理措施。(1)使用好的軟件開發(fā)技術(shù)和方法。(2)使用好的軟件開發(fā)工具,提高軟件生產(chǎn)率。(3)有良好的組織、嚴(yán)密的管理,各方面人員相互配合共同完成任務(wù)。3、軟件工程的主要思想是強(qiáng)調(diào)軟件開發(fā)過程中應(yīng)用工程化原則的重要性。軟件工程的目標(biāo)是實(shí)現(xiàn)軟件的優(yōu)質(zhì)高產(chǎn)。軟件工程的目的是在經(jīng)費(fèi)的預(yù)算范圍內(nèi),按期交付出用戶滿意的、質(zhì)量合格的軟件產(chǎn)品。4、軟件生命周期是軟件工程的一個(gè)重要的概念。把整個(gè)軟件生命周期劃分為若干個(gè)較小的階段,每個(gè)階段都有相對獨(dú)立的任務(wù)和完成任務(wù)的步驟和方法,然后逐步完成各個(gè)階段的任務(wù),這有利于軟件開發(fā)過程的組織和管理,從而降低了整個(gè)軟件開發(fā)過程的困難程度,從而使規(guī)模龐大、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變得容易控制和管理。5、瀑布模型是線性模型,是整體開發(fā)模型,文檔驅(qū)動(dòng)的模型,每一階段必須完成指定的文檔,需求明確的中、小型軟件開發(fā),不適宜需求模糊或多變的應(yīng)用軟件開發(fā);螺旋模型是典型迭代模型,是風(fēng)險(xiǎn)驅(qū)動(dòng)模型,可用于面向?qū)ο箝_發(fā),適宜風(fēng)險(xiǎn)較大的大型軟件開發(fā)。第2章一、選擇題1-5DCAAD6-8AAD二、簡答題1、許多軟件開發(fā)問題都不能在預(yù)期的時(shí)間范圍內(nèi)或資源限制下得到解決。如果開發(fā)人員沒有盡早停止沒有可行解決方案的開發(fā)項(xiàng)目,就會(huì)造成時(shí)間、資金、人力、物力的浪費(fèi)。為了降低軟件開發(fā)失敗的可能性,需要進(jìn)行軟件可行性研究??尚行匝芯恳獜慕?jīng)濟(jì)可行性、技術(shù)可行性、運(yùn)行可行性和法律可行性四方面進(jìn)行。2、1.審核系統(tǒng)的規(guī)模和目標(biāo)2.分析研究現(xiàn)行系統(tǒng)3.設(shè)計(jì)新系統(tǒng)的高層邏輯模型4.獲得并比較可行的方案5.撰寫可行性研究報(bào)告。3、(1)問題定義:航運(yùn)公司機(jī)票預(yù)訂系統(tǒng)問題定義-------------------------------------------------------------------系統(tǒng)目標(biāo)和范圍說明書1.項(xiàng)目名稱:X航運(yùn)公司機(jī)票預(yù)訂系統(tǒng)。2.背景:目前,由旅客人工到航運(yùn)公司排隊(duì)購票,費(fèi)時(shí)、費(fèi)力、管理工作量大、手續(xù)繁瑣效率低,制約了公司業(yè)務(wù)的發(fā)展。3.項(xiàng)目目標(biāo):建立一個(gè)網(wǎng)絡(luò)化的機(jī)票預(yù)訂系統(tǒng)。4.項(xiàng)目范圍:軟件開發(fā)費(fèi)用不超過X萬元。5.初步設(shè)想:建議在系統(tǒng)中完成安排航班、打印取票通知、打印票務(wù)賬單、打印機(jī)票等主要功能。6.可行性研究:建議進(jìn)行大約X周的可行性研究,研究費(fèi)用不超過X元。-------------------------------------------------------------------(2)可行性分析技術(shù)可行性:使用現(xiàn)有的技術(shù)能夠?qū)崿F(xiàn)此系統(tǒng),在現(xiàn)有資源(包括硬件資源、軟件資源、技術(shù)人員的技術(shù)水平和已有的工作基礎(chǔ))條件下,技術(shù)風(fēng)險(xiǎn)不大,項(xiàng)目可以實(shí)現(xiàn)。經(jīng)濟(jì)可行性:此系統(tǒng)能夠方便旅客訂票,具有一定的經(jīng)濟(jì)效益和社會(huì)效益。法律可行性:此項(xiàng)目開發(fā)要符合航運(yùn)系統(tǒng)相關(guān)要求。操作可行性:現(xiàn)有制度、人員素質(zhì)、操作方式可行。(3)系統(tǒng)流程圖第3章一、判斷題1√2×3√4×5√6×7×8√二、選擇題1-5BACDB6-10ABDAA11-15BABDB16-20ADCDB三、簡答題1、需求分析的基本任務(wù)是要準(zhǔn)確地理解舊系統(tǒng)、定義新系統(tǒng)的目標(biāo),為了滿足用戶需要,回答“系統(tǒng)必須做什么”的問題,即確定系統(tǒng)必須完成哪些工作,對新系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。具體任務(wù)是:明確問題定義、導(dǎo)出軟件的邏輯模型、編寫軟件需求規(guī)格說明書?!白鍪裁础?,即深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的限制和軟件與其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求?!霸趺醋觥?,即著手軟件需求的實(shí)現(xiàn):用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),確定系統(tǒng)的物理模型。2、建立目標(biāo)系統(tǒng)邏輯模型的一般過程:(1)由當(dāng)前物理系統(tǒng)導(dǎo)出當(dāng)前系統(tǒng)物理模型;(2)由當(dāng)前系統(tǒng)物理模型,導(dǎo)出當(dāng)前系統(tǒng)邏輯模型;(3)參考當(dāng)前系統(tǒng)邏輯模型,設(shè)想出新系統(tǒng)邏輯模型。3、數(shù)據(jù)流圖是用于表示系統(tǒng)邏輯模型的一種工具。它從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理過程。它表示了系統(tǒng)內(nèi)部信息的流向以及系統(tǒng)的邏輯處理功能。數(shù)據(jù)流圖的主要成分有四種:數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工、數(shù)據(jù)流的源點(diǎn)和終點(diǎn)。4、數(shù)據(jù)詞典是數(shù)據(jù)的集合,它對數(shù)據(jù)流圖中的各個(gè)元素作完整的定義和說明,是數(shù)據(jù)流圖的補(bǔ)充工具。數(shù)據(jù)流圖和數(shù)據(jù)詞典共同構(gòu)成系統(tǒng)的邏輯模型,兩者缺一不可。其內(nèi)容包括:數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)、加工邏輯、外部實(shí)體6類元素。四、應(yīng)用題1、“學(xué)生管理系統(tǒng)”的頂層圖和0層圖。頂層圖:學(xué)生信息課程表老師學(xué)生學(xué)生管理系統(tǒng)學(xué)生信息課程表老師學(xué)生學(xué)生管理系統(tǒng)考試成績成績表考試成績成績表課程表課程表0層圖:11學(xué)籍管理學(xué)生信息學(xué)生信息課程表課程表2排課管理學(xué)生檔案2排課管理學(xué)生檔案33成績登統(tǒng)考試成績考試成績課程庫課程庫成績表成績表成績庫成績庫成績庫成績庫部分?jǐn)?shù)據(jù)詞典:學(xué)生檔案={學(xué)號+姓名+性別+年齡+專業(yè)+班級}成績庫=學(xué)號+課程號+分?jǐn)?shù)課程庫=課程號+課程名+學(xué)分學(xué)生信息=學(xué)號+姓名+性別+年齡+專業(yè)+班級考試成績=學(xué)號+課程號+分?jǐn)?shù)學(xué)號=”00001”...”99999”姓名=2{漢字}4專業(yè)=”01”...”99”注:專業(yè)代號2位數(shù)字班級=”01”...”99”注:班級代號2位數(shù)字學(xué)分=0..992、數(shù)據(jù)流圖如下:計(jì)算計(jì)算標(biāo)準(zhǔn)分計(jì)算錄取線分考生原始分標(biāo)準(zhǔn)分標(biāo)準(zhǔn)分考生分?jǐn)?shù)招生計(jì)劃文件錄取線文件招生人數(shù)3、頂層圖:成績清單成績清單統(tǒng)計(jì)分析表不合格報(bào)名表考生名單報(bào)名表準(zhǔn)考證考務(wù)管理系統(tǒng)考生考試中心合格標(biāo)準(zhǔn)閱卷站考試通知單錯(cuò)誤成績單頂層圖0層圖:單單錯(cuò)誤成績單成績清統(tǒng)計(jì)分析表考生通知單2統(tǒng)計(jì)成績合格標(biāo)準(zhǔn)考生名冊報(bào)名表1登記報(bào)名單不合格報(bào)名表準(zhǔn)考證考生名單0層圖4、判定表如下:設(shè):性別:男:M女:F學(xué)歷:初中:A高中B大專:C年齡:小于25:C25至40:Y40以上:L123456789101112131415161718性別MMMMMMMMMFFFFFFFFF學(xué)歷AAABBBCCCAAABBBCCC年齡CYLCYLCYLCYLCYLCYL脫產(chǎn)學(xué)習(xí)XX電工XX技術(shù)員XXXXXX修理工XX鉗工XX車工XX清潔工XX化簡后的判定表:1234567-910111213141516-18性別MMMMMMMFFFFFFF學(xué)歷AAABBBCAAABBBC年齡CYLCYL--CYLCYL--脫產(chǎn)學(xué)習(xí)XX電工XX技術(shù)員XX修理工XX鉗工XX車工XX清潔工XX>4025-40>4025-40年齡學(xué)歷性別男修理工女清潔工初中高中大專技術(shù)員男修理工女–--清潔工25-40男鉗工女車工初中高中大專技術(shù)員男鉗工女–--車工大專技術(shù)員初中脫產(chǎn)學(xué)習(xí)高中電工大專技術(shù)員結(jié)構(gòu)化語言:IF年齡>40THENSWITCH(學(xué)歷){CASE:“初中”IF性別為“男”THEN做修理工ELSE做清潔工CASE:“高中”IF性別為“男”THEN做修理工ELSE做清潔工CASE:“大?!弊黾夹g(shù)員ELSEIF年齡>=25且年齡<40THENSWITCH(學(xué)歷){CASE:“初中”IF性別為“男”THEN做鉗工ELSE做車工CASE:“高中”IF性別為“男”THEN做鉗工ELSE做車工CASE:“大?!弊黾夹g(shù)員}ELSESWITCH(學(xué)歷){CASE:“初中”脫產(chǎn)學(xué)習(xí)CASE:“高中”做電工CASE:“大專”做技術(shù)員}5、判定表國內(nèi)YYYNNN重量LMHLMH運(yùn)費(fèi)(元)126W6.5(W-20)+1202412W13(W-20)+240注:設(shè)重量為W(單位為Kg)重量<=2Kg,重量>2Kg且重量<=20Kg,重量>20Kg,分別用L、M、H表示判定樹:重量<=2Kg——12元國內(nèi)重量>2Kg且<=20Kg——6W元國內(nèi)重量>20Kg——6.5(W-20)+120重量<=2Kg——24元國際重量>2Kg且<=20Kg——12W元國際重量>20Kg——13(W-20)+2406、設(shè)匯款金額為W元。判定樹如下:匯額本埠/外埠匯費(fèi)<=2002元>200且<=5000元W*0.01元>500050元判定表如下:三種匯額分別用符號L、M、H表示,匯款額用W表示。匯額(元)LLMMHH本埠YNYNYN匯費(fèi)(元)22W*0.01W*0.015050可簡化為:匯額(元)LMH本埠匯費(fèi)(元)2W*0.0150第4章一、判斷題1√2√3×4√5×6√7×8√二、選擇題1-5CBCDB6-10DACCA11-15CABDC三、簡答題1、軟件設(shè)計(jì)中一般應(yīng)遵循以下原則:模塊化、抽象、信息隱蔽與局部化、一致性、完整性和可驗(yàn)證性。2、總體設(shè)計(jì)又稱概要設(shè)計(jì),是將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫模式。3、(1)模塊功能的完善化(2)消除重復(fù)功能,改善軟件結(jié)構(gòu)(3)模塊規(guī)模應(yīng)該適中(4)模塊的深度、寬度、扇出和扇入都應(yīng)適當(dāng)(5)模塊的作用范圍應(yīng)該在控制范圍之內(nèi)(6)力爭降低模塊接口的復(fù)雜程度(7)設(shè)計(jì)單入口、單出口的模塊(9)模塊功能應(yīng)該可以預(yù)測四、應(yīng)用題1、模塊A和B是數(shù)據(jù)耦合,模塊B是功能內(nèi)聚。2、模塊A和B是控制耦合,模塊B是邏輯內(nèi)聚。第5章一、判斷題1√2×3×4×5×二、選擇題1-5ACACA三、簡答題1、(1)算法設(shè)計(jì)(2)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(3)模塊接口細(xì)節(jié)設(shè)計(jì)(4)測試用例設(shè)計(jì)(5)數(shù)據(jù)庫物理設(shè)計(jì)(6)數(shù)據(jù)代碼設(shè)計(jì)(7)其他設(shè)計(jì)(8)編寫詳細(xì)設(shè)計(jì)說明書并進(jìn)行評審。2、在設(shè)計(jì)數(shù)據(jù)輸入界面時(shí)應(yīng)做到:盡量簡化用戶的工作、減少輸入的出錯(cuò)率;減輕用戶的記憶負(fù)擔(dān)、盡可能減少輸入量并實(shí)現(xiàn)自動(dòng)輸入;對共同的輸入設(shè)置默認(rèn)值;使用代碼或縮寫;自動(dòng)填入已輸入過的內(nèi)容;列表式輸入;數(shù)據(jù)分組輸入。3、代碼設(shè)計(jì)的原則是標(biāo)準(zhǔn)化、唯一性、可擴(kuò)充性、簡單性、規(guī)范性和適應(yīng)性。四、應(yīng)用題1、(1)求整數(shù)1-n的累加和SUM,其中n的值由鍵盤輸入。PAD圖如下輸入N輸入NI=1I=1Sum=0Sum=0Sum=Sum+ISum=Sum+I當(dāng)I<=N當(dāng)I<=NI=I+1I=I+1打印Sum打印Sum(2)求整型數(shù)組K[50]中的最大值和次大值。N-S圖如下:定義數(shù)組k[50]fst=k[0],sed=k[1]I=3當(dāng)i<=50時(shí)FTk[i]>fstFTk[i]>fstscd=fstfst=k[i]TFk[i]>scdTFk[i]>scdScd=k[i]I=i+1輸出fst,scd(3)求s=1-1/2!+1/3!-1/4!+….+1/n!,其中n的值由鍵盤輸入。PAD圖如下:當(dāng)K<=IP當(dāng)K<=IP=P*KJC(i)DEFP=1K=1K=k+1返回P當(dāng)I<=NS=s-jc(i)打印SI%2=0TFI=1S=0輸入NS=s+jc(i)I=I+12.根據(jù)偽碼畫PAD圖SS=xS=y……X<yTX<zTy<zFFTFS=ZS=Z3.將程序流程圖轉(zhuǎn)化為PAD圖(1)當(dāng)P當(dāng)PA直到OB結(jié)束(2)當(dāng)P當(dāng)PAB結(jié)束(3)直到P為假直到P為假AB結(jié)束PFT(4)當(dāng)A為假當(dāng)A為假Dbreak直到E為假BGC為假TA為真TFF(5)對于分支結(jié)構(gòu)if(f)a;elseb;只使用順序和循環(huán)結(jié)構(gòu)的PAD圖如下:當(dāng)F當(dāng)FAbreak當(dāng)!FBbreak第6章一、選擇題1-5CBDDA6-10CADDA10-15CAACC二、簡答題簡要介紹用例圖的三個(gè)要素。用例圖主要包括以下三個(gè)元素:①用例(UseCase):用例是系統(tǒng)的使用過程或要執(zhí)行的動(dòng)作序列,用來描述某個(gè)參與者使用系統(tǒng)所完成的功能。在圖中用橢圓來表示,用例名稱可寫在橢圓中或橢圓下面。②參與者(Actor)?;蚍Q角色或執(zhí)行者,它是系統(tǒng)外部的一個(gè)實(shí)體(可以是任何的事物或人所扮演的角色等)。在圖中用一個(gè)小人圖形表示。③關(guān)聯(lián)。表示角色與用例之間的驅(qū)動(dòng)和反饋關(guān)系,也可以表示用例間的包含與擴(kuò)展關(guān)系。在圖中用線段或帶箭頭的線段表示。分別寫出UML對象圖中對象的三種表示方式。在UML中,對象圖和類圖一樣采用矩形圖示,不過對象名稱下方有下劃線(類名稱下方?jīng)]有下劃線),通常對象名采用:對象名:類名、:類名或?qū)ο竺N格式表示,中間形式是尚未給對象命名,最后一種形式是省略了類名。舉例說明類圖和對象圖之間的關(guān)系。對象圖展示了一組對象和它們之間的關(guān)系。對象圖是類圖的實(shí)例,對象之間的連接是類之間關(guān)聯(lián)的實(shí)例。類圖和對象圖的不同點(diǎn)在于對象圖顯示類的多個(gè)對象實(shí)例,而不是實(shí)際的類?;顒?dòng)圖的主要作用是什么,狀態(tài)圖的主要作用是什么?狀態(tài)圖和活動(dòng)圖都屬于行為圖,主要用于分析、設(shè)計(jì)階段描述對象的行為。狀態(tài)圖適于描述單個(gè)對象狀態(tài)的變化情況,活動(dòng)圖適于描述一個(gè)工作過程、多個(gè)對象之間的合作。狀態(tài)圖描述一個(gè)特定對象的所有可能狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)間的轉(zhuǎn)移?;顒?dòng)圖(ActivityDiagram)是狀態(tài)圖的變種。狀態(tài)圖適于描述單個(gè)對象狀態(tài)的變化情況,而活動(dòng)圖的目的是描述動(dòng)作(執(zhí)行的工作和活動(dòng)),以及對象狀態(tài)改變的結(jié)果,適于描述一個(gè)工作過程、多個(gè)對象之間的合作。與狀態(tài)圖不同的是,活動(dòng)圖中動(dòng)作狀態(tài)的遷移不是靠事件觸發(fā),當(dāng)動(dòng)作狀態(tài)中的活動(dòng)完成時(shí)就觸發(fā)遷移,活動(dòng)圖中的一個(gè)活動(dòng)結(jié)束后將立即進(jìn)行下一個(gè)活動(dòng)。三、應(yīng)用題略。第7章一、選擇題:1-5BDCAC6-10CAACA1CCBAD二、簡答題1、面向?qū)ο蠓治鐾ǔR⒛娜N模型?它們分別描述系統(tǒng)的哪些方面?面向?qū)ο蠓治鐾ǔR⑷N模型,分別是對象模型、動(dòng)態(tài)模型和功能模型。其中:對象模型描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),它是用來描述系統(tǒng)包含的對象及對象之間關(guān)系的模型;動(dòng)態(tài)模型描述系統(tǒng)的控制結(jié)構(gòu),它是用來確定各個(gè)對象之間交互及整體的控制結(jié)構(gòu)的模型;功能模型描述系統(tǒng)的功能,它是用來描述系統(tǒng)要實(shí)現(xiàn)的功能的模型。2、對象模型有哪五種層次?復(fù)雜問題(大型系統(tǒng))的對象模型由5個(gè)層次組成,即主題層、類-&-對象層、結(jié)構(gòu)層、屬性層和服務(wù)層。(1)類-&-對象層:定義類和屬性。在這個(gè)層次將分析與待開發(fā)軟件對應(yīng)的各個(gè)現(xiàn)實(shí)世界的實(shí)體,并從中抽象出類和對象。(2)結(jié)構(gòu)層:定義對象和類之間的層次結(jié)構(gòu)關(guān)系,如一般-特殊結(jié)構(gòu)(即繼承結(jié)構(gòu))、整體-部分結(jié)構(gòu)(即組合結(jié)構(gòu))。(3)屬性層:定義屬性。為類和對象層中抽取出來的各個(gè)類和對象設(shè)計(jì)靜態(tài)屬性和它們之間的關(guān)系。(4)服務(wù)層:定義對象和類的動(dòng)態(tài)屬性以及對象之間的消息通信。(5)主題層:主題是指導(dǎo)讀者理解大型、復(fù)雜模型的一種機(jī)制。定義若干個(gè)主題,把有關(guān)的對象分別劃歸不同的主題,每個(gè)主題構(gòu)成一個(gè)子系統(tǒng)。3、建立對象模型的基本過程是什么?建立對象模型的基本過程如下:確定對象和類確定結(jié)構(gòu)確定主題確定服務(wù)和消息三、應(yīng)用題略。第8章一、判斷題1√2×3×4√5√6×7√8×9×10√11×12×二、選擇題1-5BDACB6-10DCBAA11-15CBDBB16-17CC三、簡答題1、第一代語言(機(jī)器語言)、第二代語言(匯編語言)、第三代語言(高級語言)。高級語言種類繁多,又可分為傳統(tǒng)的基礎(chǔ)語言、結(jié)構(gòu)化語言和專用語言三類。2、1)源程序文檔化2)數(shù)據(jù)說明3)語句構(gòu)造4)輸入與輸出5)效率3、(1)項(xiàng)目的應(yīng)用領(lǐng)域。(2)用戶的要求。(3)軟件開發(fā)工具。(4)算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。(5)軟件開發(fā)人員的知識(shí)。(6)系統(tǒng)的可移植性要求。四、應(yīng)用題1.一方面盡量不使用“非”條件;另一方面語句格式不規(guī)范。改為:if(x<=0){x=-x;}2.if((i+1)%10==0){printf(”%5d\n”,*(a+i));}else{printf(”%5d”,*(a+i));}3.按編碼風(fēng)格優(yōu)化后的代碼為:/**************************************************************程序名稱:sumint.c設(shè)計(jì)者:王永濤日期:2008年4月22日程序功能:由鍵盤輸入若干個(gè)整數(shù),計(jì)算它們之和,并打印整數(shù)個(gè)數(shù)及其和***************************************************************/#include<stdio.h>voidmain(){intcount,j=1,sum=0,x;printf(“請輸入整數(shù)個(gè)數(shù)\n”);scanf("%d",&count);while(j<=count)//求count個(gè)整數(shù)之和{printf(“請輸入第%d個(gè)整數(shù):\n”,j);scanf("%d",&x);sum=sum+x;//累加整數(shù)j++;//整數(shù)個(gè)數(shù)計(jì)數(shù)}printf("%d個(gè)整數(shù)的和為%d\n",j,sum);}}4、for(i=0;i<n-1;i++){t=i;for(j=i+1;j<n;j++){if(a[j]<a[t]){t=j;if(t!=i){temp=a[t];a[t]=a[i];a[i]=temp;}}}5、/*****************************程序名:sumints.c程序功能:求整數(shù)1~n的累加和sum,其中n的值由鍵盤輸入*****************************/voidmain(){inti,n,sum=0;printf(“請輸入整數(shù)個(gè)數(shù)n\n”);for(i=1;i<=n;i+++){scanf(“%d”);/*輸入整數(shù),使用空格、回車或TAB鍵分隔*/sum=sum+i;/*計(jì)算累加*/}printf(“1~%d的累加和sum=%d\n”,n,sum);}第9章一、判斷題1×2√3×4×5√6√7√8√9√10×二、選擇題1-5CABAD6-10ABACA11-15ADDDD三、簡答題1、軟件測試的目的是為了發(fā)現(xiàn)軟件產(chǎn)品中存在的軟件缺陷,進(jìn)而保證軟件產(chǎn)品的質(zhì)量。軟件測試是軟件開發(fā)過程中的一個(gè)重要階段,是軟件產(chǎn)品正式投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測試的結(jié)果也是分析軟件可靠性的重要依據(jù)。在軟件測試中,應(yīng)注意以下指導(dǎo)原則:(1)所有測試都應(yīng)追溯到需求(2)堅(jiān)持“盡早地和不斷地進(jìn)行軟件測試”。(3)測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。(4)程序員應(yīng)避免測試自己的程序。(5)在設(shè)計(jì)測試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。(6)充分注意測試中的群集現(xiàn)象。(7)嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性。(8)應(yīng)當(dāng)對每個(gè)測試結(jié)果做全面檢查。(9)在測試程序時(shí),不僅要檢驗(yàn)程序是否做了該做的事,還要檢驗(yàn)程序是否做了不該做的事。(10)應(yīng)長期保留所有測試用例。保留測試用例有助于以后修改程序后的回歸測試。2、測試過程分為4個(gè)步驟,即單元測試、組裝測試、確認(rèn)測試和系統(tǒng)測試。數(shù)據(jù)源有:(1)軟件配置:包括軟件需求規(guī)格說明、軟件設(shè)計(jì)規(guī)格說明、源代碼等。(2)測試配置:包括測試計(jì)劃、測試用例、測試驅(qū)動(dòng)程序等。(3)測試工具:測試工具為測試的實(shí)施提供某種服務(wù),以減輕測試過程中的手工勞動(dòng),提高測試效率。3、黑盒測試法與白盒測試法的根本區(qū)別是設(shè)計(jì)測試用例的方法不同。前者是測試產(chǎn)品的功能,后者是測試產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。通過黑盒測試主要發(fā)現(xiàn)以下錯(cuò)誤:(1)是否有不正確或遺漏了的功能。(2)界面是否有錯(cuò),能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確的輸出信息。(3)是否有數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤。(4)性能是否滿足要求。(5)是否有初始化或終止性錯(cuò)誤。白盒測試法是一種程序級的微觀上的測試,不適合于大單元、大系統(tǒng)的測試,主要用于很小單元的測試,以及從事軟件底層工作、生產(chǎn)構(gòu)件的測試人員使用。4、軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤,而調(diào)試的目的是根據(jù)測試時(shí)發(fā)現(xiàn)的錯(cuò)誤,找出錯(cuò)誤的原因和具體位置,并改正錯(cuò)誤。測試與調(diào)試的不同如下表所示。測試與調(diào)試的不同測試(test)調(diào)試(debug)目的是發(fā)現(xiàn)錯(cuò)誤目的是找出錯(cuò)誤位置并排除有計(jì)劃被動(dòng)的以已知條件開始,使用預(yù)先定義的程序,有預(yù)知的結(jié)果以不可知內(nèi)部條件開始,結(jié)果一般不可預(yù)見由獨(dú)立的測試組,在不了解軟件設(shè)計(jì)的條件下完成由程序作者進(jìn)行,誰開發(fā)的程序就由誰來調(diào)試5、(1)面向?qū)ο蟮膯卧獪y試面向?qū)ο蟮膯卧獪y試是進(jìn)行面向?qū)ο蠹蓽y試的基礎(chǔ)。面向?qū)ο蟮膯卧獪y試以類或?qū)ο鬄閱挝弧S捎陬惏唤M不同的操作,并且某些特殊的操作可能被多個(gè)類共享,因此,單元測試不能孤立地測試某個(gè)操作,而是將操作作為類的一部分來測試。(2)面向?qū)ο蟮募蓽y試因?yàn)樵诿嫦驅(qū)ο蟮能浖袥]有層次的控制結(jié)構(gòu),并且構(gòu)成類的成分彼此之間存在著直接或間接的交互作用,所以,傳統(tǒng)意義上的自頂向下和自底向上的集成策略將不再適用。(3)面向?qū)ο蟮拇_認(rèn)測試在確認(rèn)測試層次,不需要再考慮類的實(shí)現(xiàn)和交互的具體細(xì)節(jié),只要驗(yàn)證交互過程及功能,包括提供的用戶界面,用戶可見的操作,軟件的反應(yīng)和輸出的結(jié)果等情況,其中測試用例的選擇主要是依據(jù)動(dòng)態(tài)模型和系統(tǒng)的腳本描述。四、應(yīng)用題1、測試用例表測試內(nèi)容測試數(shù)據(jù)期望結(jié)果是一元二次方程且有實(shí)根a=1b=-5c=6x1=2x2=3是一元二次方程且有復(fù)根a=1b=1c=2.5x1=-0.5+1.5ix2=-0.5-1.5i不是一元二次方程a=0b=1c=1x=-12、等價(jià)類劃分表輸入條件合理等價(jià)類不合理等價(jià)類基本文件名長度(1)1-8個(gè)字符(5)少于1個(gè)字符(6)多于8個(gè)字符基本文件名首字符(2)字母或部分特殊字符(7)不是字母也不是部分特殊字符其他字符(3)字母、數(shù)字、部分特殊字符(8)包含空格,+,?,*,.擴(kuò)展名長度(4)0-3個(gè)字符(9)多于3個(gè)字符測試用例表測試數(shù)據(jù)期望結(jié)果測試范圍abcd1234.123有效(1)(2)(3)(4).abc無效(5)abcd12345.123無效(6)1234abcd.123無效(7)ab無效(8)a*b(8)a?b(8)a+b無效(8)abc.1234無效(9)3、邏輯覆蓋測試用例覆蓋類型輸入數(shù)據(jù)預(yù)期結(jié)果測試路徑判定判定條件條件條件條件ABXXA>1且B=0A=2或X>1A>1B=0A=2X>1語句覆蓋3032①②④TT判定覆蓋3000①②⑤TF3134①③④FT條件覆蓋0030④FFFTFT2212①③④FTTFTF判定/條件覆蓋2034①②④TTTTTT1201①③⑤FFFFFF條件組合覆蓋2032④TTTTTT2201④FTTFTF1023④FTFTFT1111⑤FFFFFF路徑覆蓋2023②③④⑤TT3123①③④FT0111①③⑤FF4010①②⑤TF第10章一、判斷題1√2×3√4×5×6×7×8×9X10×二、選擇題1-5ACBDC6-10AACBB11-14DCCC三、簡答題1.對軟件進(jìn)行維護(hù)的根本目的是為了延長軟件的生存期。軟件維護(hù)的原因除了軟件在開發(fā)過程中的錯(cuò)誤需要修改外,根本的原因是變化,使用軟件的機(jī)構(gòu)的工作流程、組織機(jī)構(gòu)、軟件工作的軟硬件環(huán)境等都在變化,要求使用的軟件也跟著變化,所以必須對軟件進(jìn)行維護(hù)。維護(hù)的類型有四種(1)改正性維護(hù)(2)適應(yīng)性維護(hù)(3)完善性維護(hù)(4)預(yù)防性維護(hù)2.維護(hù)組織機(jī)構(gòu)內(nèi)一般設(shè)修改負(fù)責(zé)人、維護(hù)管理員、系統(tǒng)監(jiān)督員、配置管理員、維護(hù)人員等。各自的職責(zé)是:修改負(fù)責(zé)人是維護(hù)的行政領(lǐng)導(dǎo),管理維護(hù)的人事工作。維護(hù)管理員負(fù)責(zé)接受維護(hù)申請,他把申請轉(zhuǎn)交給系統(tǒng)監(jiān)督員(或稱系統(tǒng)管理員)去評價(jià)。并負(fù)責(zé)向上級報(bào)告維護(hù)工作。系統(tǒng)監(jiān)督員對維護(hù)任務(wù)做出評價(jià)。配置管理員嚴(yán)格把關(guān)程序修改過程,控制修改的范圍,對軟件配置進(jìn)行審計(jì)。維護(hù)人員負(fù)責(zé)分析程序的維護(hù)要求并進(jìn)行程序的修改工作。3.(1)確定維護(hù)的類型及維護(hù)要求(2)根據(jù)不同維護(hù)類型確定維護(hù)的時(shí)機(jī)和策略(3)實(shí)施維護(hù)任務(wù)。(4)維護(hù)復(fù)審。4.軟件可維護(hù)性是指維護(hù)人員理解、改正和改進(jìn)這個(gè)軟件的難易程度。5.1)可理解性2)可測試性3)可修改性4)可靠性5)可移植性6)可使用性7)效率6.1)建立明確的軟件質(zhì)量目標(biāo)2)使用先進(jìn)的軟件開發(fā)技術(shù)和工具3)進(jìn)行明確的質(zhì)量保證審查4)選擇可維護(hù)的程序設(shè)計(jì)語言5)改進(jìn)程序文檔。7.代碼的副作用,數(shù)據(jù)的副作用,文檔的副作用。第11章一、判斷題1×2√3×4√5√二、選擇題1-5DDBAB6-10DBDBB三、簡答題1、軟件項(xiàng)目管理的根本目的是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個(gè)軟件生存周期都能在管理者的控制下,以預(yù)定的成本按時(shí)、保質(zhì)地完成軟件并交付用戶使用。2、軟件項(xiàng)目管理的職能包括:(1)制定計(jì)劃:規(guī)定要完成的任務(wù)和要求,安排資源、人員和進(jìn)度等。(2)建立組織:建立分工明確的為實(shí)施計(jì)劃的責(zé)任制機(jī)構(gòu),以保證任務(wù)的完成。(3)配備人員:根據(jù)任務(wù)要求,任用各種層次的技術(shù)人員和管理人員。(4)協(xié)調(diào)或追蹤與指導(dǎo):跟蹤項(xiàng)目的進(jìn)展情況,協(xié)調(diào)、指導(dǎo)、鼓勵(lì)和動(dòng)員各種人員完成所分配的任務(wù)。(5)控制或檢驗(yàn):對照計(jì)劃和標(biāo)準(zhǔn),監(jiān)督和檢驗(yàn)項(xiàng)目實(shí)施的情況。3、(1)主程序員制小組。該小組的核心有3個(gè)人。主程序員、輔助程序員和程序管理員。如果大多數(shù)開發(fā)人員比較缺乏經(jīng)驗(yàn),而程序設(shè)計(jì)過程中又有許多事務(wù)性工作,則采取該種組織方法。(2)民主制程序員小組。在民主制小組中,組內(nèi)成員之間可以平等地交換意見。適合于研制時(shí)間長、開發(fā)難度大的項(xiàng)目。(3)層次式小組這種組織中,組內(nèi)人員分為3級。組長負(fù)責(zé)全組工作,直接領(lǐng)導(dǎo)2~3名高級程序員,每位高級程序員管理若干名程序員。這種組織比較適合于層次結(jié)構(gòu)的課題。4、常用的成本估算策略有以下4種:(1)參考已經(jīng)完成的類似項(xiàng)目,估計(jì)待開發(fā)項(xiàng)目的工作量和成本。(2)將大的項(xiàng)目分解成若干個(gè)小項(xiàng)目,分別對每個(gè)子項(xiàng)目的工作量和成本進(jìn)行估算,再估算整個(gè)項(xiàng)目的工作量和成本。(3)根據(jù)軟件生存周期,分別估算出軟件開發(fā)各階段的工作量和成本,然后再把這些工作量和成本匯總,估算出整個(gè)項(xiàng)目的工作量和成本。(4)根據(jù)實(shí)驗(yàn)或歷史數(shù)據(jù)給出軟件項(xiàng)目工作量或成本的經(jīng)驗(yàn)估算公式。成本估算方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論