【正文】
MTTF=100h,有:100 = 10000/( * ( 45EC(19) ) ) 故:EC(19)=42,即當(dāng)集成測試結(jié)束時總共改正了42個錯誤,還有4542=3個錯誤潛伏在程序中。要求: (1) 根據(jù)上述數(shù)據(jù)確定MTTF與測試時間之間的函數(shù)關(guān)系,畫出MTTF與測試時間τ的關(guān)系曲線。所以,在對1000行FORTRAN語句構(gòu)成的程序進行測試期間將發(fā)現(xiàn)的錯誤的個數(shù)大約有25~100個。 集成測試:又稱為組裝測試,就是將軟件產(chǎn)品中各個模塊組裝起來,檢查其接口是否存在問題,以及組裝后的整體功能、性能表現(xiàn) (2)經(jīng)驗表明,在類似的程序中,單位長度里的錯誤數(shù)ET/IT近似為常數(shù)。 (1) 什么是模塊測試和集成測試?它們各有什么特點? (2) 假設(shè)有一個由1000行FORTRAN語句構(gòu)成的程序(經(jīng)編譯后大約有5000條機器指令),估計在對它進行測試期間將發(fā)現(xiàn)多少個錯誤?為什么? (3) 設(shè)計下列偽碼程序的語句覆蓋和路徑覆蓋測試用例。因此,該段代碼中的WHILE循環(huán)部分代碼要么不會執(zhí)行,要么可能出現(xiàn)死循環(huán)。答:(1)判定表如圖66所示:圖66 判定表(2)判定樹如圖67所示:圖67 判定樹68.畫出下列偽碼程序的流圖,計算它的環(huán)形復(fù)雜度。當(dāng)每股售價超過25元時,如果交易的股數(shù)零散(即,不是100的倍數(shù)),則附加手續(xù)費為基本手續(xù)費的4%,否則附加手續(xù)費為基本手續(xù)費的1%。當(dāng)每股售價低于14元時,附加手續(xù)費為基本手續(xù)費的5%,除非買進、賣出的股數(shù)不是100的倍數(shù),在這種情況下附加手續(xù)費為基本手續(xù)費的9%。67.某交易所規(guī)定給經(jīng)紀(jì)人的手續(xù)費計算方法如下:總手續(xù)費等于基本手續(xù)費加上與交易中的每股價格和股數(shù)有關(guān)的附加手續(xù)費。答:(1)該程序流程圖如下:(2)該程序不是結(jié)構(gòu)化的,結(jié)構(gòu)化的程序只有一個入口和一個出口,而該程序的流程途中有兩個出口。(3) 若程序是非結(jié)構(gòu)化的,設(shè)計一個等價的結(jié)構(gòu)化程序并且畫出流程圖。 圖64 與該圖等價的結(jié)構(gòu)化程序(不用flag)65.研究下面的偽代碼程序: LOOP: Set I to (START+FINISH)/2 If TABLE(I)=ITEM goto FOUND If TABLE(I)ITEM Set START to (I+1) If TABLE(I)ITEM Set FINISH to (I1) If (FINISHSTART )1 goto LOOP If TABLE(START)=ITEM goto FOUND If TABLE(FINISH)=ITEM goto FOUND Set FLAG to 0 Goto DONE FOUND: Set FLAG to 1 DONE:Exit(1) 畫出程序流程圖。(2)使用附加的標(biāo)志變量flag,至少有兩種方法可以把該程序改造為等價的結(jié)構(gòu)化程序,圖63描繪了等價的結(jié)構(gòu)化程序的盒圖。答:(1)通常所說的結(jié)構(gòu)化程序,是按照狹義的結(jié)構(gòu)程序的定義衡量,符合定義規(guī)定的程序。答:轉(zhuǎn)化如下:K = 1DO WHILE (條件 .AND. ) 程序塊1 K=K+1END DODO WHILE ( (.NOT. 條件) .AND. ) 程序塊2 K=K+1END DO62.假設(shè)允許使用SEQUENCE和IF_THEN_ELSE兩種控制結(jié)構(gòu),怎樣利用它們完成DO_WHILE操作?答:轉(zhuǎn)化如下;label: IF (條件) THEN 程序塊 GOTO label ELSE 程序塊 END IF63:畫出下列偽碼程序的程序流程圖和盒圖64.下圖給出的程序流程圖代表一個非結(jié)構(gòu)化的程序,請問:(1)為什么說它是非結(jié)構(gòu)化的?(2)設(shè)計一個等價的結(jié)構(gòu)化程序。第三章31 為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求?因為,需求分析是對可行性分析的一種補充,它的基本任務(wù)是準(zhǔn)確的回答系統(tǒng)必須做什么。7位數(shù)字=7{數(shù)字}7//3至3個數(shù)字3位數(shù)字=3{數(shù)字}3非零數(shù)字=[1|2|3|4|5|6|7|8|9]本市號碼=數(shù)字零+8位數(shù)字//后面繼續(xù)定義3 電話號碼=[校內(nèi)電話號碼|校外電話號碼]25 北京某高校可用的電話號碼由以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第一位數(shù)字不是零;校外電話又分為本市電話和外地電話兩類,撥校外電話先撥0,若是本地電話再接著撥8位數(shù)字(固話第一位不是0)或1