【正文】
第三章習(xí)題 一、選擇題 1. 軟件需求分析階段的工作,可以分為以下 4 個(gè)方面:對(duì)問(wèn)題的識(shí)別、分析與綜合、編寫(xiě)需求分析文檔以及 ( )。 供選擇的答案: A. 總結(jié) B. 階段性報(bào)告 C. 需求分析評(píng)審 D. 以上答案都不正確 2. 各種需求方法都有它們共同適用的 ( )。 供選擇的答案: A .說(shuō)明方法 B .描述方式 C. 準(zhǔn)則 D.基本原則 3. 軟件需求分析的任務(wù)不應(yīng)包括 ( A )。進(jìn)行需求分析可使用多種工具, 但( B )是不適用的。在需求分析中,分析員要從用戶那里解決的最重要的問(wèn)題是( C )。需求規(guī)格說(shuō)明書(shū)的內(nèi)容不應(yīng)當(dāng)包括 ( D )。該文檔在軟件開(kāi)發(fā)中具有重要的作用,但其作用不應(yīng)當(dāng)包括 ( E )。 供選擇的答案: A. ① 問(wèn)題分析 ② 信息域分析 ③ 結(jié)構(gòu)化程序設(shè)計(jì) ④ 確定邏輯模型 B. ① 數(shù)據(jù)流圖 ② 判定表 ③ PAD 圖 ④ 數(shù)據(jù)詞典 C. ① 要讓軟件做什么 ② 要給該軟件提供哪些信息 ③ 要求軟件工作 效率如何 ④ 要讓軟件具有什么樣的結(jié)構(gòu) D. ① 對(duì)重要功能的描述 ② 對(duì)算法的詳細(xì)過(guò)程性描述 ③ 軟件確認(rèn)準(zhǔn)則 ④ 軟件的性能 E. ① 軟件設(shè)計(jì)的依據(jù) ② 用戶和開(kāi)發(fā)人員對(duì)軟件要“做什么”的共同理解 ③ 軟件驗(yàn)收的依據(jù) ④ 軟件可行性分析的依據(jù) 4. 原型化方法是用戶和軟件開(kāi)發(fā)人員之間進(jìn)行的一種交互過(guò)程,適用于 ( A )系統(tǒng)。它從用戶界面的開(kāi)發(fā)入手,首先形成 ( B ),用戶 ( C ),并就 ( D )提出意見(jiàn),它是一種 ( E )型的 設(shè)計(jì)過(guò)程。 供選擇的答案: A. ① 需求不確定性高的 ② 需求確定的 ③ 管理信息 ④ 決策支持 B. ① 用戶界面使用手冊(cè) ② 用戶界面需求分析說(shuō)明書(shū) ③ 系統(tǒng)界面原型 ④ 完善的用戶界面 C. ① 改進(jìn)用戶界面的設(shè)計(jì) ② 閱讀文檔資料 ③ 模擬用戶界面的運(yùn)行 ④ 運(yùn)行用戶界面原型 D.① 同意什么和不同意什么 ② 使用和不使用哪一種編程語(yǔ)言 ③ 程序的結(jié)構(gòu) ④ 執(zhí)行速度是否滿足要求 E.① 自外向內(nèi) ② 自頂向下 ③ 自內(nèi)向外 ④ 自底向上 二、簡(jiǎn)答題 1. 用逐步求精方法解決下述的更新順序主文件的問(wèn)題。 美國(guó)某雜志社需要一個(gè)軟件,以更新存有該雜志訂戶姓名、地址等數(shù)據(jù)的順序主文件。 共有插入、修改和刪除等 3種類型的事務(wù),分別對(duì)應(yīng)于事務(wù)代碼 2和 3。也就是說(shuō),事務(wù)類型如下: 類型 1: INSERT(插入一個(gè)新訂戶到主文件中) 類型 2: MODIFY(修改一個(gè)已有的訂戶記錄) 類型 3: DELETE(刪除一個(gè)已有的訂戶記錄) 事務(wù)是按訂戶名字的字母順序排序的。如果對(duì)一個(gè)訂戶既有修改事務(wù)又 有刪除事務(wù),則已對(duì)那個(gè)訂戶的事務(wù)排好次序了,以便使修改發(fā)生在刪除之前。 2. 分析圖 ,確定每個(gè)模塊的內(nèi)聚類型。 圖 計(jì)算多地點(diǎn)日平均溫度的程序 3. 分析圖 ,確定模塊之間的耦合類型。 圖 一個(gè)程序的模塊互連圖 在圖 ,表 。 表 模塊接口描述 4. 用面向數(shù)據(jù)流方法設(shè)計(jì)本書(shū)第 2章第 11 題所述的工資支付系統(tǒng)的軟件結(jié)構(gòu)。 5. 用 3種方法計(jì)算圖 。 圖 一個(gè)程 序的流圖 6. 下面列出的代碼用重復(fù)執(zhí)行的加法來(lái)計(jì)算兩個(gè)正整數(shù) X和 Y 的乘積,請(qǐng)用 Halstead方法預(yù)測(cè)程序的長(zhǎng)度,并把預(yù)測(cè)出的長(zhǎng)度與實(shí)際長(zhǎng)度相比較。 Z=0。 While X0 Z=Z+Y。 X=X1。 End_while。 Print(Z)。 7. 圖 ,請(qǐng)把它改畫(huà)為等價(jià)的盒圖。 圖 程序流程圖 8. 某交易所規(guī)定給經(jīng)紀(jì)人的手續(xù)費(fèi)計(jì)算方法如下:總手續(xù)費(fèi)等于基本手續(xù)費(fèi)加上與交易中的每股價(jià)格和股數(shù)有關(guān)的附加手續(xù)費(fèi)。如果交易總金額少于 1000 元,則基本手續(xù)費(fèi)為交 易金額的 %;如果交易總金額在 1000元到 10000元之間,則基本手續(xù)費(fèi)為交易金額的5%,再加 34元;如果交易總金額超過(guò) 10000元,則基本手續(xù)費(fèi)為交易金額的 4%加上 134元。當(dāng)每股售價(jià)低于 14 元時(shí),附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的 5%,除非買進(jìn)、賣出的股數(shù)不是 100的倍數(shù),在這種情況下附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的 9%。當(dāng)每股售價(jià)在 14元到 25元之間時(shí),附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的 2%,除非交易的股數(shù)不是 100 的倍數(shù),在這種情況下附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的 6%。當(dāng)每股售價(jià)超過(guò) 25元時(shí),如果交易的股數(shù)零散(即,不是 100的 倍數(shù)),則附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的 4%,否則附加手續(xù)費(fèi)為基本手續(xù)費(fèi)的 1%。 要求: (1)用判定表表示手續(xù)費(fèi)的計(jì)算方法; (2)用判定樹(shù)表示手續(xù)費(fèi)的計(jì)算方法; 9. 畫(huà)出下列偽碼程序的程序流程圖和盒圖。 START IF P THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 圖 一個(gè)非結(jié)構(gòu)化程序 10. 圖 ,請(qǐng)問(wèn): (1)為什么說(shuō)它是非結(jié)構(gòu)化的? (2)設(shè)計(jì)一個(gè)與它等價(jià)的結(jié)構(gòu)化程 序。 (3)在 (2)題的設(shè)計(jì)中你使用附加的標(biāo)志變量 flag 了嗎?若沒(méi)用,請(qǐng)?jiān)僭O(shè)計(jì)一個(gè)使用flag的程序;若用了,請(qǐng)?jiān)僭O(shè)計(jì)一個(gè)不用 flag的程序。 11. 研究下面給出的偽碼程序,要求: (1)畫(huà)出它的程序流程圖; (2)它是結(jié)構(gòu)化的還是非結(jié)構(gòu)化的?說(shuō)明你的理由; (3)若是非結(jié)構(gòu)化的,則 (a)把它改造成僅用三種控制結(jié)構(gòu)的結(jié)構(gòu)化程序; (b)寫(xiě)出這個(gè)結(jié)構(gòu)化設(shè)計(jì)的偽碼; (c)用盒圖表示這個(gè)結(jié)構(gòu)化程序。 (4)找出并改正程序邏輯中的錯(cuò)誤。 COMMENT:PROGRAM SEARCHES FOR FIRST N REFERENCES TO A TOPIC IN AN INFORMATION RETRIEVAL SYSTEM WITH T TOTAL ENTRIES INTPUT N I=O MATCH=0 DO WHILE I≤ T 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