《軟件工程導(dǎo)論習(xí)題解答》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程導(dǎo)論習(xí)題解答(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,4-4.考慮下述的自動(dòng)化圖書館流通系統(tǒng):每本書都
2、有一個(gè)條形碼,每個(gè)人都有一個(gè)帶條形碼的卡片。但一個(gè)借閱人想借一本書時(shí),圖書管理員掃描書上的條形碼和借閱人卡片的條形碼,然后在計(jì)算機(jī)終端上輸入C;當(dāng)歸還一本書時(shí),圖書管理員將再次掃描,并輸入R。圖書管理員可以把一些書加到(+)圖書集合中,也可以刪除()它們。借閱人可以再終端上查找到某個(gè)作者所有的書(輸入“A=”和作者名字),或具有指定標(biāo)題的所有書籍(輸入“T=”和標(biāo)題),或?qū)儆谔囟ㄖ黝}范圍內(nèi)的所有圖書(輸入“S=”加主題范圍)。最后,如果借閱人想借的書已被別人借走,圖書管理員將給這本書設(shè)置一個(gè)預(yù)約,以便書歸還時(shí)把書留給預(yù)約的借閱人(輸入“H=”加書號(hào))。,試用有窮狀態(tài)機(jī)說明上述的圖書流通系統(tǒng)。,
3、圖書館流通系統(tǒng)的有窮狀態(tài)機(jī)描述如下:,(一)圖書狀態(tài)的有窮狀態(tài)機(jī)描述,狀態(tài)機(jī)J,:書在圖書館S1,書被借出S2,書被預(yù)約S3,輸入集K,:書上條形碼,借閱卡條形碼,終端輸入各種命令,轉(zhuǎn)換函數(shù)T,:如下圖所示,初始態(tài)S,:書在圖書館S1,書被借出S2,終態(tài)集F,:書被借出S2,書被預(yù)約S3,書歸還,掃描兩個(gè)條形碼,在終端輸入,R,在終端輸入“,H=”,加書號(hào),掃描兩個(gè)條形碼,在終端輸入,R,掃描兩個(gè)條形碼,在終端輸入,C,書在圖書館,S1,書被借出,S2,書被預(yù)約,S3,(二)圖書館終端管理員模式的有窮狀態(tài)機(jī)描述,狀態(tài)機(jī)J,:管理員設(shè)置狀態(tài),書入庫,書出庫(刪除),預(yù)約,輸入集K,:終端輸入管理
4、員命令,書的各種狀態(tài)(S1,S2,S3,轉(zhuǎn)換函數(shù)T,:如下圖所示,初始態(tài)S,:管理員設(shè)置狀態(tài),終態(tài)集F,:書入庫,書出庫(刪除),預(yù)約,,管理員刪除,管理員添加,管理員設(shè)置狀態(tài),書入庫,書出庫(刪除),預(yù)約,書狀態(tài)為,S2&,終端輸入“,H=”,加書名,(三)圖書館終端用戶模式的有窮狀態(tài)機(jī)描述,狀態(tài)機(jī)J,:讀者查詢狀態(tài),查詢結(jié)果,輸入集K,:終端輸入用戶查詢命令,書的各種狀態(tài)(S1,S2,S3),轉(zhuǎn)換函數(shù)T,:如下圖所示,初始態(tài)S,:讀者查詢狀態(tài),終態(tài)集F,:查詢結(jié)果,讀者查詢狀態(tài),查詢結(jié)果,終端輸入各種查詢命令,5-3.用面向數(shù)據(jù)流的方法設(shè)計(jì)下列系統(tǒng)的軟件結(jié)構(gòu)。,(3)患者監(jiān)護(hù)系統(tǒng)。,需求分
5、析階段得出的數(shù)據(jù)流圖,7-2,研究下面給出的偽碼程序,要求:,畫出它的程序流程圖;,它是結(jié)構(gòu)化的還是非結(jié)構(gòu)化的?說明理由;,若是非結(jié)構(gòu)化的,則,把它改造成僅用三種控制結(jié)構(gòu)的結(jié)構(gòu)化程序;,寫出這個(gè)結(jié)構(gòu)化設(shè)計(jì)的偽碼;,用盒圖表示這個(gè)結(jié)構(gòu)化程序.,找出并改正程序邏輯中的錯(cuò)誤.,COMMENT:PROGRAM SEARCHES FOR FIRSTN REFERENCES,TO A TOPIC IN AN INFORMATION RETRRIEVAL,SYSTEM WITH TOTAL ENTRIES,INPUT N,INPUT KEYWORD(S)FOR TOPIC,I=0,MATCH=0,DO WH
6、ILE IT,I=I+1,IF WORD=KEYWORD,THEN MATCH=MATCH+1,STORE IN BUFFER,END,IF MATCH=N,THEN GOTO OUTPUT,END,END,IF N=0,THEN PRINT“NO MATCH”,OUTPUT:ELSE CALL SUBROUTINE TO PRINT BUFFER,INFORMATION,END,(1),程序流程圖,(2)這個(gè)程序是非結(jié)構(gòu)化的。因?yàn)樵诹鞒虉D中“印出緩沖區(qū)的內(nèi)容”這個(gè)處理框有兩個(gè)入口;此外,循環(huán)結(jié)構(gòu)有兩個(gè)出口:IT為假和MATCH=N為真時(shí)都結(jié)束循環(huán)。,(,3,)僅用,3,種控制結(jié)構(gòu)的等價(jià)的結(jié)構(gòu)
7、化程序的偽碼如下:,INPUT N,INPUT KEYWORD(S)FOR TOPIC,I=0,MATCH=0,DO WHILE(I,T)and(MATCHN),I=I+1,IF WORD=KEYWORD,THEN MATCH=MATCH+1,STORE IN BUFFER,END,END,IF N=0,THEN PRINT“NO MATCH”,ELSE CALL SUBROUTINE TO PRINT BUFFER,INFORMATION,END,盒圖,(,4,)該程序邏輯中有兩個(gè)錯(cuò)誤,第一個(gè)錯(cuò)誤是WHILE循環(huán)條件IT:根據(jù)這個(gè)條件,當(dāng)I=T時(shí)應(yīng)該執(zhí)行一遍循環(huán)體。循環(huán)體的第一天語句是I=I
8、+1,即把I的值加1,使之變成T+1,但是,該檢索系統(tǒng)總共只有T個(gè)詞條,下標(biāo)I變成T+1將出現(xiàn)“越界”錯(cuò)誤,因此應(yīng)該把循環(huán)條件改為I5,THEN X=10,ELSE X=1,END IF,IF B10,THEN Y=20,ELSE Y=2,END IF,IF C15,THEN Z=30,ELSE Z=3,END IF,PRINT(X,Y,Z),STOP,2)經(jīng)驗(yàn)表明,在類似的程序中,單位長度里的錯(cuò)誤數(shù)E,T,/I,T,近似為常數(shù)。美國的一些統(tǒng)計(jì)數(shù)字告訴我們,通常,0.5X10,-2,E,T,/I,T,2X10,-2,也就是說,在測(cè)試之前每1000條指令中大約有520個(gè)錯(cuò)誤。,假設(shè)在該程序的每1
9、000條指令中有10個(gè)錯(cuò)誤,則估計(jì)在對(duì)它進(jìn)行測(cè)試期間 將發(fā)現(xiàn)的錯(cuò)誤數(shù)為,5000X10/1000=50 (個(gè)),3,),語句覆蓋的測(cè)試用例,使3個(gè)判定表達(dá)式之值全為假,輸入:A=1,B=1,C=1,預(yù)期的輸出:X=1,Y=2,Z=3,使3個(gè)判定表達(dá)式之值全為真,輸入:A=20,B=40,C=60,預(yù)期的輸出:X=10,Y=20,Z=30,3個(gè)判定表達(dá)式之值全為假,輸入:A=1,B=1,C=1,預(yù)期的輸出:X=1,Y=2,Z=3,3個(gè)判定表達(dá)式依次為假、假、真,輸入:A=1,B=1,C=60,預(yù)期的輸出:X=1,Y=2,Z=30,3個(gè)判定表達(dá)式依次為假、真、假,輸入:A=1,B=40,C=1,預(yù)期的輸出:X=1,Y=20,Z=3,3個(gè)判定表達(dá)式依次為假、真、真,輸入:A=1,B=40,C=60,預(yù)期的輸出:X=1,Y=20,Z=30,路徑覆蓋的測(cè)試用例,3個(gè)判定表達(dá)式依次為真、假、假,輸入:A=20,B=1,C=1,預(yù)期的輸出:X=10,Y=2,Z=3,3個(gè)判定表達(dá)式依次為真、假、真,輸入:A=20,B=1,C=60,預(yù)期的輸出:X=10,Y=2,Z=30,3個(gè)判定表達(dá)式依次為真、真、假,輸入:A=20,B=40,C=1,預(yù)期的輸出:X=10,Y=20,Z=3,3個(gè)判定表達(dá)式全為真,輸入:A=20,B=40,C=60,預(yù)期的輸出:X=10,Y=20,Z=30,