• /  8
  • 下載費用: 8積分  

軟件工程階段性作業.doc

'軟件工程階段性作業.doc'
?中國地質大學(武漢)遠程與繼續教育學院 軟件工程 課程作業4(共 4 次作業)學習層次:專升本 涉及章節:第7章 一、選擇填空題 1、從下列關于模塊化程序設計的敘述中選出 5 條正確的敘述。 ( )(1) 程序設計比較方便,但比較難以維護。 ( )(2) 便于由多個人分工編制大型程序。 ( )(3) 軟件的功能便于擴充。 ( )(4) 程序易于理解,也便于排錯。 ( )(5) 在主存儲器能夠容納得下的前提下,應使模塊盡可能大,以便減少模塊的個數。 ( )(6) 模塊之間的接口叫做數據文件。 ( )(7) 只要模塊之間的接口關系不變,各模塊內部實現細節的修改將不會影響別的模塊。 ( )(8) 模塊間的單向調用關系叫做模塊的層次結構。 ( )(9) 模塊越小,模塊化的優點越明顯。一般來說,模塊的大小都在 10 行以下。 2、從下列敘述中選出 5 條符合程序設計風格指導原則的敘述。 (1) 嵌套的重數應加以限制。 (2) 盡量多使用臨時變量。 (3) 不濫用語言特色。 (4) 不用可以省略的括號。 (5) 使用有意義的變量名。 (6) 應盡可能把程序編得短些。 (7) 把常見的局部優化工作留給編譯程序去做。 (8) 注解越少越好。 (9) 程序的格式應有助于讀者理解程序。 (10) 應盡可能多用 GOTO語句。 3、從供選擇的答案中選出應填入下列( )中的字句。  軟件測試的目的是( A ) 。為了提高測試的效率,應該( B ) 。使用白盒測試方法時,確定測試數據應根據( C )和指定的覆蓋標準。與設計測試數據無關的文檔是( D ) 。  軟件的集成測試工作最好由( E )承擔,以提高集成測試的效果。供選擇的答案: A. ?、?評價軟件的質量    ?、?發現軟件的錯誤  ?、?找出軟件中的所有錯誤 ?、?證明軟件是正確的 B. ?、?隨機地選取測試數據  ?、?取一切可能的輸入數據作為測試數據  ?、?在完成編碼以后制定軟件的測試計劃  ?、?選擇發現錯誤的可能性大的數據作為測試數據 C. ?、?程序的內部邏輯 ?、?程序的復雜程度  ?、?使用說明書  ?、?程序的功能 D. ?、?該軟件的設計人員 ?、?程序的復雜程度  ?、?源程序      ?、?項目開發計劃 E. ?、?該軟件的設計人員 ?、?該軟件開發組的負責人  ?、?該軟件的編程人員 ?、?不屬該軟件開發組的軟件人員 4、從供選擇的答案中選出應填入下列( )中的字句。  為了把握軟件開發各個環節的正確性和協調性, 人們需要進行 ( A ) 和 ( B )工作。 ( A )的目的是想證實在一給定的外部環境中軟件的邏輯正確性。它包括( C )和( D ) , ( B )則試圖證明在軟件生存期各個階段,以及階段間的邏輯( E ) 、 ( F )和正確性。 供選擇的答案: A, B. ?、?操作 ② 確認 ③ 驗證 ④ 測試 ⑤ 調試 C, D. ?、?用戶的確認 ② 需求規格說明的確認     ③ 程序的確認 ④ 測試的確認 E, F. ?、?可靠性 ② 獨立性 ③ 協調性 ④ 完備性 ⑤ 擴充性 二、問答題 1、 試說明下面的兩個程序段的功能是什么?可否用另一些等效的程序段來代替它,以提高其可讀性。 (1) A[I] = A[I] + A[T]; (2)   for ( i = 1; i <= n; i ++ ) A[T] = A[I] - A[T]; for ( j = 1; j <= n; j ++ )      A[I] = A[I] - A[T]; V[i][j] = ( i / j ) * ( j / i );       2、設下圖給出的程序流程圖代表一個非結構化的程序,試問: (1) 為什么說它是一個非結構化的? (2) 設計一個等價的使用附加標志變量 flag 的結構化程序。 (3) 設計一個使用 break(用于代替 goto)的程序。 3、應該由誰來進行確認測試?是軟件開發者還是軟件用戶?為什么?4、如圖所示的程序有三條不同的路徑。分別表示為 L1(a→b)、L2(a→c→d)、L3(a→c→e),或簡寫為 ace、abd、abe 及 acd。根據判定覆蓋、條件覆蓋、判定–條件覆蓋、條件組合覆蓋和路徑覆蓋等五種覆蓋標準,從供選擇的答案中分別找出滿足相應覆蓋標準的最小測試用例組。(用①~ ⑩回答) 供選擇的答案: ①  x = 90, y = 90 ?、凇?x = 50, y = 50 ③  x = 90, y = 90 ?、堋?x = 90, y = 70     x = 50, y = 50     x = 40, x = 90 ⑤  x = 90, y = 90 ?、蕖  = 90, y = 90     x = 50, y = 50     x = 70, y = 90 x = 90, y = 70 x = 50, y = 50 ⑦  x = 90, y = 90 ?、? x = 90, y = 90 x = 50, y = 50 x = 50, y = 50 x = 80, y = 70 x = 90, y = 50 x = 70, y = 90 x = 80, y = 80 ⑨  x = 90, y = 90 ?、狻?x = 90, y = 90 x = 90, y = 70 x = 80, y = 80 x = 90, y = 30 x = 90, y = 70 x = 70, y = 90 x = 90, y = 30x = 30, y = 90 x = 70, y = 90x = 70, y = 70 x = 30, y = 90x = 50, y = 50 x = 70, y = 70 x = 50, y = 50    5、在白盒測試用例設計中,有語句覆蓋、分支覆蓋、條件覆蓋、路徑覆蓋等,其中( A )是最強的覆蓋準則。為了對如下圖所示的程序段進行覆蓋測試,必須適當地選取測試用例組。若 x, y是兩個變量,可供選擇的測試用例組共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四組,如表中給出,則實現判定覆蓋至少應采取的測試用例組是( B )或( C ) ;實現條件覆蓋至少應采取的測試用例組是( D ) ;實現路徑覆蓋至少應采取的測試用例組是( E )或( F ) 。 供選擇的答案 A:  ?、?語句覆蓋 ② 條件覆蓋 ③ 判定覆蓋 ④ 路徑覆蓋 B~F: ?、?Ⅰ和Ⅱ組 ②Ⅱ和Ⅲ組 ③Ⅲ和Ⅳ組 ④Ⅰ和Ⅳ組   ?、茛?、Ⅱ、Ⅲ組 ⑥Ⅱ、Ⅲ、Ⅳ組 ⑦Ⅰ、Ⅲ、Ⅳ組   ?、啖?、Ⅱ、Ⅳ組 參考答案 一、選擇填空題 1、解答:正確的敘述有(2)、(3)、(4)、(7)、(8)。 2、解答:(1)、(3)、(5)、(7)、(9)是正確的。 3、解答:A. ② B. ④ C. ① D. ④ E. ④ 4、解答:A. ② B. ③ C. ② D. ③ E. ③ F. ④ 二、問答題 1、 解答: (1) 的功能是對換 A[I] 與 A[T] 的內容。等效的程序段可以是: WORK = A[T];    A[T] = A[I]; A[I] = WORK; (2) 的功能是建立一個單位矩陣 V。等效的程序段可以是: for ( i = 1; i <= n; i ++ ) for ( j = 1; j <= n; j ++ ) if ( i == j ) V[i][j] = 1;      else V[i][j] = 0;      2、解答: (1) 它是一個單入口、兩出口的結構,所以是一個非結構化的程序。 (2) 等價的結構化程序: en   um Boolean { false, true } Boolean flag = true;   while ( P && flag ) {   do G;     if ( !Q ) flag = false;     }   (3) 使用 break 的程序 while ( P ) {   do G;     if ( !Q ) break;     }   3、解答:在對照需求做有效性測試和軟件配置審查時,是由軟件開發者在開發環境下進行的測試。而接下來做驗收測試時則以用戶為主。軟件開發人員和 QA(質量保證)人員也應參加。由用戶參加設計測試用例,使用用戶界面輸入測試數據,并分析測試的輸出結果。一般使用生產中的實際數據進行測試。  如果軟件是為多個客戶開發的,則需要進行 α 測試和 β 測試。α 測試是由一個用戶在開發環境下進行的測試, 也可以是公司內部的用戶在模擬實際操作環境下進行的測試。軟件在一個自然設置狀態下使用。開發者坐在用戶旁邊,隨時記下錯誤情況和使用中的問題。這是在受控制的環境下進行的測試。 β   測試是由軟件的多個用戶在一個或多個用戶的實際使用環境下進行的測試。這些用戶是與公司簽定了支持產品預發行合同的外部客戶,他們要求使用該產品,并愿意返回有關錯位錯誤信息給開發者。與 α 測試不同的是,開發者通常不在測試現場。因而,β 測試是在開發者無法控制的環境下進行的軟件現場應用。4、解答:針對覆蓋標準,相應的測試用例組如下 注意:測試是一個程序的執行過程。對于邏輯表達式 A or B,當 A為真時不再對B 做判斷,對于邏輯表達式 A and B,當 A為假時不再對 B 做判斷。未能做判斷的條件,在解答中用“□”表示。 此測試用例組在滿足條件覆蓋的情況下又滿足了判定覆蓋的要求。  在條件組合覆蓋情形,(x≥90)or(y≥90)的組合有 4 種,與條件(x+y≥140)的組合應有 8 種,但(x+y≥140=F)and((x≥90=T)or(y≥90=T))不可能出現,因此,7 個測試用例就夠了。  因為流程圖有 3 條路徑,只需 3 個測試用例就夠了。如果將判定中的復合條件表達式改為單個條件的嵌套選擇結構,第一個判定有 3 條路徑,其中兩條路徑通向第二個判定。第二個判定有 4 條路徑,組合起來總共應有 9 條路徑。但是,其中受測試條件的限制,有 3條路徑不可達,因此,程序中應有 6條路徑,需要 6 個測試用例來覆蓋它們。 5、解答:A. ④ B. ⑤ C. ⑧ D. ④ E. ⑤ F. ⑧ 判定表  為判定覆蓋選取測試用例情形:對第一個判定選取測試用例組Ⅰ和Ⅱ,當用Ⅰ覆蓋判定的 T 分支時,不會走到第二個分支;當用Ⅱ覆蓋判定的 F 分支時,第二個判定需另取一個測試用例組覆蓋其 T 分支, 此時取測試用例組Ⅲ或Ⅳ即可。 因此,選擇⑤或⑧均可。 為條件覆蓋選取測試用例情形:取測試用例組Ⅰ和Ⅳ就可以覆蓋所有 4 個條件的取值。 為路徑覆蓋選取測試用例情形:總共 3 條路徑,需 3 個測試用例,可選使各路徑為 T 的測試用例。Ⅰ、Ⅱ、Ⅲ或Ⅰ、Ⅱ、Ⅳ均可,可選⑤或⑧。
關 鍵 詞:
軟件 作業 階段性 工程
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:軟件工程階段性作業.doc
鏈接地址: http://www.476824.live/p-51577402.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 7天娱乐城百家乐现金 辽宁快乐12跟号推荐 股票配资的流程有哪些 15期倍投 快3河北今天开奖结 蹦蹦网和pc蛋蛋 天津11选五5开奖结果一定牛 排三定位 江苏江苏十一选五走 免费pc蛋蛋刷蛋器