軟件工程期末試卷及答案

時間:2024-06-26 22:06:12 資料 我要投稿
  • 相關推薦

軟件工程期末試卷及答案

  在各領域中,我們都經常看到試卷的身影,成績的提高,最關鍵的是什么的呢,重要的是多做題目,多寫試卷,總結知識點,還在為找參考試卷而苦惱嗎?以下是小編精心整理的軟件工程期末試卷及答案,供大家參考借鑒,希望可以幫助到有需要的朋友。

軟件工程期末試卷及答案

  軟件工程期末試卷及答案 1

  一、選擇題:(每題1分,共20分)

  ( C )

  1. 軟件是( )。

  A. 處理對象和處理規則的描述 B. 程序

  C. 程序及其文檔 D. 計算機系統

  ( B )

  2. 軟件需求規格說明的內容不應包括( )。

  A. 主要功能 B. 算法的詳細描述

  C. 用戶界面及運行環境 D. 軟件的性能

  ( B )

  3. 程序的三種基本控制結構是( )。

  A. 過程、子程序和分程序 B. 順序、選擇和重復

  C. 遞歸、迭代和回溯 D. 調用、返回和轉移

  ( D )

  4. 面向對象的分析方法主要是建立三類模型,即( )。

  A. 系統模型、ER模型、應用模型 B. 對象模型、動態模型、應用模型 C. E-R模型、對象模型、功能模型 D. 對象模型、動態模型、功能模型

  ( C )

  5. 在E-R模型中,包含以下基本成分( )。

  A. 數據、對象、實體 B.控制、聯系、對象 C. 實體、聯系、屬性 D. 實體、屬性、操作

  ( A )

  6. 各種軟件維護的類型中最重要的是( )。

  A. 完善性維護 B. 糾錯性維護 C. 適應性維護 D. 預防性維護

  ( B )

  7.軟件測試的目標是( )。

  A. 證明軟件是正確的 B. 發現錯誤、降低錯誤帶來的風險

  C. 排除軟件中所有的錯誤 D. 與軟件調試相同

  ( D )

  8.軟件生命周期中所花費用最多的階段是( )

  A.詳細設計 B.軟件編碼 C.軟件測試 D.軟件維護

  ( C )

  9.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0, 1.0],現從輸入的角度考慮一組測試用例:-1.001, -1.0, 1.0, 1.001.設計這組測試用例的方法是( )

  A.條件覆蓋法 B.等價分類法 C.邊界值分析法 D.錯誤推測法

  ( D )

  10.詳細設計的基本任務是確定每個模塊的( )設計

  A.功能 B.調用關系 C.輸入輸出數據 D.算法

  ( A )

  11.設函數C(X)定義問題X的復雜程序,函數E(X)確定解決問題X需要的工作量(時間)。對于兩個問題P1和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得出結論E(P1+P2)>E(P1)+E(P2)就是:( )

  A.模塊化的根據 B.逐步求精的根據 C.抽象的根據 D.信息隱藏和局部化的根據

  ( D )

  12.下面幾種白箱測試技術,哪種是最強的覆蓋準則 ( )

  A.語句覆蓋 B.條件覆蓋 C.判定覆蓋 D.條件組合覆蓋

  ( A )

  13.面向數據流的設計方法把( )映射成軟件結構。

  A.數據流 B.系統結構 C.控制結構 D.信息流

  ( A )

  14.內_______聚程度最低的是( )內聚

  A.偶然 B.過程 C.順序 D.時間

  ( A )

  15.確定測試計劃是在( )階段制定的.

  A.總體設計 B.詳細設計 C.編碼 D.測試

  ( D )

  16.需求分析的產品是( )

  A.數據流程圖案 B.數據字典 C.判定表 D.需求規格說明書

  ( C )

  17.數據字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()

  A.數據庫設計 B.數據通信 C.數據定義 D.數據維護

  ( D )

  18.( )引入了“風險驅動”的思想,適用于大規模的內部開發項目。

  A.增量模型 B.噴泉模型 C.原型模型 D.螺旋模型

  ( D )

  19.模塊的內聚性最高的是( )

  A.邏輯內聚 B.時間內聚 C.偶然內聚 D.功能內聚

  ( D )

  20.提高測試的有效性非常重要,成功的測試是指( )

  A.證明了被測試程序正確無誤 B. 說明了被測試程序符合相應的要求

  C.未發現被測程序的錯誤 D.發現了至今為止尚未發現的錯誤

  二、判斷題(每題1分,共10分)將答案寫在題號前的( )中,正確用√, 錯誤用χ。

  ( × )1、開發軟件就是編寫程序。

  ( × )2、系統測試的主要方法是白盒法,主要進行功能測試、性能測試、安全性測試及可靠性等 測試。

  ( × )3、編程序時應盡可能利用硬件特點以提高程序效率.

  ( × )4、軟件需求分析的任務是建立軟件模塊結構圖。

  ( √ )5、盡可能使用高級語言編寫程序

  ( × )6、以結構化分析方法建立的系統模型就是數據流圖。

  ( × )7、進行總體設計時加強模塊間的聯系。

  ( × )8、編碼時盡量多用全局變量.

  ( √ )9、用CASE環境或程序自動生成工具來自動生成一部分程序.

  ( × )10、軟件測試是要發現軟件中的所有錯誤。

  三、填空題(每題1分,共5分):將結果填在( )

  1、將下面的關系按繼承關系、聚集關系或普通關聯進行分類。

  小汽車---------紅旗轎車 ( 繼承 )

  小汽車---------駕駛員 ( 普通關聯 )

  班級------------學生 ( 聚集 )

  2、將下列各項分為類或類的實例

  我的汽車 ( 實例 )

  交通工具 ( 類 )

  三、簡答題:(每題5分,共25分)

  1. 軟件生命期各階段的任務是什么? 答:軟件生命期分為7個階段: 1、問題定義:要解決的問題是什么

  2、可行性研究:確定問題是否值得解,技術可行性、經濟可行性、操作可行性

  3、需求分析:系統必須做什么

  4、總體設計:系統如何實現,包括系統設計和結構設計

  5、詳細設計:具體實現設計的系統

  6、實現:編碼和測試

  7、運行維護:保證軟件正常運行。

  2、軟件重用的效益是什么? 答:1、軟件重用可以顯著地改善軟件的質量和可靠性。

  2、軟件重用可以極大地提高軟件開發的效率。

  3、節省軟件開發的成本,避免不必要的重復勞動和人力、財力的浪費。

  3、 自頂而下漸增測試與自底而上漸增測試各有何優、缺點? 答: ① 自頂而下漸增測試

  優點:不需要測試驅動程序,能夠在測試階段的早期實現并驗證系統的主要功能,而且能夠盡早發現上層模塊的接口錯誤。

  缺點:需要存根程序,底層錯誤發現較

  晚。

  ② 自底而上漸增測試

  優點與缺點和自頂而下漸增測試相反。

  4 、 提高可維護性的方法有哪些? 答:在軟件工程的每一階段都應該努力提高系統的可維護性,在每個階段結束前的審查和復審中,應著重對可維護性進行復審。 在需求分析階段的復審中,應對將來要擴充和修改的部分加以注明。在討論軟件可移植性問題時,要考慮可能要影響軟件維護的系統界面。 在軟件設計的復審中,因從便于修改、模塊化和功能獨立的目標出發,評價軟件的結構和過程,還應對將來可能修改的部分預先做準備。 在軟件代碼復審中,應強調編碼風格和內部說明這兩個影響可維護性的因素。 在軟件系統交付使用前的每一測試步驟中都應給出需要進行預防性維護部分的提示。 在完成每項維護工作后,都應對軟件維護本身進行仔細認真的復審。 為了從根本上提高軟件系統的可維護性,人們正試圖通過直接維護軟件規格說明來維護軟件 ,同時也在大力發展軟件重用技術。

  簡述軟件測試要經過哪幾個步驟,每個步驟與什么文檔有關。

  【解答】

  測試過程按 4 個步驟進行,即單元測試(模塊測試)、集成測試(子系統測試和系統測試)、確認測試(驗收測試)和平行運行。

  單元測試集中對用源代碼實現的每一個程序單元進行測試,與其相關的文檔是單元測試計劃和詳細設計說明書。

  集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。與其相關的文檔是集成測試計劃和軟件需求說明書。

  確認測試則是要檢查已實現的軟件是否滿足了需求規格說明中確定了的各種需求,以及軟件配置是否完全、正確。與其相關的文檔是確認測試計劃和軟件需求說明書。

  平行運行把已經經過確認的軟件納入實際運行環境中,與其他系統成份組合在一起進行測試。與其相關的文檔:用戶指南、使用手冊等。

  四、應用題(每題8分,共40分)

  1、 假設一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個需要再次定貨的零件應該列出下述數據:零件編號,零件名稱,定貨數量,目前價格,主要供應者,次要供應者。零件入庫或出庫稱為事務,通過放在倉庫中的CRT終端把事務報告給定貨系統。當某種零件的庫存數量少于庫存量臨界值時就應該再次定貨。要求:畫出系統的數據流圖。

  答:

  2、 將下面給出的偽碼轉換為N-S圖和PAD圖。

  void root ( float root1, float root2 ) {

  i = 1; j = 0;

  while ( i

  輸入一元二次方程的系數a, b, c;

  p = b*b – 4*a*c;

  if ( p

  else if ( p

  > 0 ) 求出根并輸出;

  if ( p == 0 ) {

  求出重根并輸出;

  j = j + 1;

  }

  i = i +1;

  }

  輸出重根的方程的個數j;

  }

  【解答】

  (1)N-S圖

  (2)PAD圖

  i = 1; j = 0;

  while ( i

  輸入a, b, c; 計算 p = b2 - 4ac;

  p

  輸出“方程i”無實根

  求出根并輸出

  ?

  p > 0 ?

  p == 0 ?

  求出重根并輸出; j = j + 1;

  ?

  i = i + 1;

  輸出重根的.方程個數i

  T

  T

  T

  F

  F

  F

  i = 1; j = 0;

  輸出重根的方程個數i

  while ( i

  輸入a,b,c; 計算 p = b2–4ac;

  求出根并輸出

  p > 0 ?

  p

  輸出方程i無實根

  p = 0 ?

  求出重根并輸出; j = j+1;

  i = i + 1;

  3、:輸入三整數,判斷是否構成三角形,如構成三角形,則輸出三條邊的值,否則輸出”不能構成三角形”.

  要求:1.用程序流程圖表示該問題的算法;2.計算程序復雜度; 3.設計路徑覆蓋的測試用例。

  答:

  路徑:

  1.①—②—③—④—⑥—⑦

  2.①—②—⑤—⑥—⑦

  3.①—⑤—⑥—⑦

  4.①—②—③—⑤—⑥—⑦

  程序復雜度=3+1=4

  測試用例

  路徑 測試用例(A,B,C) 結果

  1 A=3,B=4,C=5 A=3,B=4,C=5

  2 A=5,B=8,C=2 不能構成三角形

  3 A=2,B=2,C=5 不能構成三角形

  4 A=5,B=2,C=2 不能構成三角形

  4、某航空公司規定,乘客可以免費托運重量不超過30kg 的行李。當行李重量超過30kg 時,對頭等艙的

  國內乘客超重部分每公斤收費4 元,對其他艙的國內乘客超重部分每公斤收費6 元,對外國乘客超重部分

  每公斤收費比國內乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。用判定樹表示與上述

  每種條件組合相對應的計算行李費的算法.

  ①

  ②

  ①

  ③

  ④

  ⑤

  ⑥

  ⑦

  Ⅰ

  ⅰ

  Ⅱ

  Ⅲ

  ⅰ Ⅳ

  ⅰ

  開始

  輸入A,B,C

  A+B>C

  A+C>B

  B+C>A

  輸出ABC 不能構成三角形

  結束

  F

  F

  F

  T

  T

  T

  ①

  ②

  ③

  ④ ⑤

  ⑦

  答案:

  5、一個軟件公司有許多部門,分為開發部門和管理部門兩種,每個開發部門開發多個軟件產品,每個部門由部門名字唯一確定。該公司有許多員工,員工分為經理,工作人員和開發人員。

  開發部門有經理和開發人員,管理部門有經理和工作人員。每個開發人員可參加多個開發項目,每個開發項目需要多個開發人員,每位經理可主持多個開發項目,建立該公司的對象模型。

  答案:

  軟件工程試題及答案

  第一部分 選擇題

  一、單項選擇題 每小題1分,共20分。(在每小題的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的括號內)

  1.在下列工具與環境中( c )屬于較早期的CASE。

  A.基于信息工程CASE B.人工智能CASE

  C.結構的基于圖形CASE D.集成的CASE環境

  2.Putnam成本估算模型是一個( d )模型。

  A.靜態單變量 B.動態單變量 C.靜態多變量 D.動

  態多變量

  3.在McCall軟件質http://www.solarmaxlimited.com量度量模型中,( c)屬于面向軟件產品修改。

  A.可靠性 B.可重用性 C.適應性 D.可移植性

  4.ISO的軟件質量評價模型由3層組成,其中用于評價設計質量的準則是(d )

  A.SQIC B.SQMC C.SQRC D.SQDC

  5.軟件復雜性度量的參數包括( b )

  A.效率 B.規模 C.完整性 D.容錯性

  6.對象實現了數據和操作的結合,使數據和操作( c )于對象的統一體中。

  A.結合 B.隱藏 C.封裝 D.抽象

  7.軟件調試技術包括( b )

  A.邊界值分析 B.演繹法 C.循環覆蓋 D.集成測試

  8.瀑布模型的存在問題是( b )

  A.用戶容易參與開發 B.缺乏靈活性 C.用戶與開發者易溝通 D.適用可變需求

  9.軟件測試方法中的靜態測試方法之一為( a )

  A.計算機輔助靜態分析 B.黑盒法 C.路徑覆蓋 D.邊界值分析

  10.軟件生命周期中所花費用最多的階段是( d )

  A.詳細設計 B.軟件編碼 C.軟件測試 D.軟件維護

  11.第一個體現結構化編程思想的程序設計語言是( b )

  A.FORTRAN語言 B.Pascal語言 C.C語言 D.PL/1語言

  12.程序的三種基本控制結構是( b )

  軟件公司

  部門名

  部門

  開發部門

  管理部門

  軟件產品

  開發人員

  經理

  開發項目

  工作人員

  員工

  是

  是

  有

  有

  有

  有

  開發

  參加

  1+

  1+

  1+

  1+

  1+

  1+

  1+

  ▼

  ▼

  ▼

  ▼

  ▼

  有

  A.過程、子程序和分程序 B.順序、選擇和重復 C.遞歸、堆棧和隊列 D.調用、返回和轉移

  13.在詳細設計階段,經常采用的工具有( a )

  A.PAD B.SA C.SC D.DFD

  14.詳細設計的結果基本決定了最終程序的( c )

  A.代碼的規模 B.運行速度 C.質量 D.可維護性

  15.需求分析中開發人員要從用戶那里了解( a )

  A.軟件做什么 B.用戶使用界面 C.輸入的信息 D.軟件的規模

  16.結構化程序設計主要強調的是( d )

  A. 程序的規模 B. 程序的效率C. 程序設計語言的先進性 D. 程序易讀性

  17.IDEF。圖反映系統( d )

  A.怎么做 B.對誰做 C.何時做 D.做什么

  18.經濟可行性研究的范圍包括( c )

  A.資源有效性 B.管理制度 C.效益分析 D.開發風險

  19.可行性分析是在系統開發的早期所做的一項重要的論證工作,它是決定該系統是否開 發的決策依據,因必須給出( b )的回答。

  A.確定 B.行或不行 C.正確 D.無二義

  20.需求分析階段的任務是確定( d )

  A. 軟件開發方法B. 軟件開發工具C. 軟件開發費 D. 軟件系統的功能

  二、填空題(每空2分,共20分)。

  21.在軟件開發過程中要產生大量的信息,要進行大量的修改, 軟件配置管理 能協調軟件開發,并使混亂減到最低程度。

  22.規定功能

  的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有 容錯功能的軟件。

  23.McCall提出的軟件質量模型包括11 個軟件質量特性。

  24.軟件可維護性度量的七個質量特性是可理解性、可測試性、可修改性、可靠性、可移植性、 可使用性和效率。

  25.為了便于對照檢查,測試用例應由輸入數據和預期的輸出結果兩部分組成。

  26.程序設計語言的心理特性主要表現在 歧義性 、簡潔性、傳統性、局部性和順序性。

  27.軟件結構是以 模塊 為基礎而組成的一種控制層次結構。

  28.在結構化分析中,用于描述加工邏輯的主要工具有三種,即:結構化語言、判定表、

  判定樹 。

  29.結構化語言是介于自然語言和形式語言之間的一種半形式語言。

  30.若年利率為i,不計復利,n年后可得錢數為F,則現在的價值P=F/(1+(n*i)。

  三、名詞解釋題 每小題3分,共15分。

  31.軟件生存周期模型

  描述軟件開發過程中各種活動如何執行的模型

  32.數據字典(DD)

  數據字典是用來定義數據流圖中的各個成分的具體含義的。它以一種準確的、無二義性的說明方式為系統的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。

  33.內聚性

  內聚性是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量

  34.JSP方法

  JSP方法是面向數據結構的設計方法,其定義了一組以數據結構為指導的映射過程,它根據輸入,輸出的數據結構,按一定的規則映射成軟件的過程描述,即程序結構。

  35.多態性

  指相同的操作或函數、過程可作用于多種類型的對象上并獲得不同結果。或(不同的對象,收到同一消息可以產生不同的結果。)

  四、簡答題 每小題5分,共20分。

  36.簡述容錯技術的四種主要手段,并解釋。

  結構冗余:包括靜態冗余、動態冗余和混合冗余。

  信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。

  時間冗余:指重復執行指令或程序來消除瞬時錯誤帶來的影響。

  冗余附加技術:指為實現上述冗余技術所需的資源和技術。

  37.以G.J.Myers的觀點,簡述對軟件測試的目的。

  軟件測試是(1)為了發現錯誤而執行程序的過程;(2)一個好的用例能夠發現至今尚未發現的錯誤的測試。(3)一個成功的測試是發現至今尚未發現的錯誤的測試。

  38.就程序設計語言的工程特性而言,對程序編碼有哪些要求?

  就程序設計語言的工程特性而言,對程序編碼有如下要求:

  (1)可移植性 (2)開發工具的可利用性 (3)軟件的可重用性 (4)可維護性

  39.

  模塊的內聚性包括哪些類型?

  模塊的內聚性包括:

  (1)偶然內聚(2)邏輯內聚(3)時間內聚(4)通信內聚(5)順序內聚(6)功能內聚

  五、應用題 第40小題7分,第41小題8分,第42小題10分,共25分。

  41.根據下列條件使用等價劃分法設計測試用例。

  某一8位微機,其十六進制常數定義為:以0x或0X開頭的數是十六進制整數,其值的范圍是-7f~7f(表示十六進制的大小寫字母不加區別),如0X13,0X6A,-0X3c。

  解答:等價劃分法 ①劃分等價類并編號,如下表所示。

  十六進制整型常量輸入條件的等價類表

  輸入數據

  合理等價類

  不合理等價類

  十六進制整數

  1. 0x或0X開頭1~2位數字串

  2. 以-0x打頭的1~2位數字串

  3. 非0x或非-打頭的串

  4. 含有非數字且(a,b,c,d,e,f)以外字符

  5. 多于5個字符

  6. -后跟非0的多位串

  7. -0后跟數字串

  8. -后多于3個數字

  十六進制數范圍

  9.在-7f~7f之間

  10.小于-7f

  11.大于7f

  ②為合理等價類設計測試用例,表中有三個合理等價類,設計兩個例子

  測試數據

  期望結果

  覆蓋范圍

  0×23

  顯示有效輸入

  1,9

  -0×15

  顯示有效輸入

  2,9

  ③為每個不合理等價類至少設計一個測試用例

  測試數據

  期望結果

  覆蓋范圍

  2

  顯示無效輸入

  3

  G12

  顯示無效輸入

  4

  123311

  顯示無效輸入

  5

  -1012

  顯示無效輸入

  6

  -011

  顯示無效輸入

  7

  -0134

  顯示無效輸入

  8

  -0x777

  顯示無效輸入

  10

  0x87

  顯示無效輸入

  11

  一、單項選擇題(本大題共 20 小題,每小題 1 分,共 20 分)

  在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。

  1 .軟件工程管理的具體內容不包括對 _________ 管理。( )

  A .開發人員 B .組織機構 C .控制 D .設備

  2 .在 McCall 軟件質量度量模型中, _________ 屬于面向軟件產品操作。( )

  A .正確性 B .可維護性 C .適應性 D .互操作性

  3 .在快速原型模型的開發過程中,用原型過程來代替全部開發階段所用模型是 _________ 模型。( )

  A .探索型原型 B .演化型原型 C .實驗型原型 D .增量型原型

  4 .維護中因刪除一個標識符而引起的錯識是 _________ 副作用。( )

  A .文檔 B .數據 C .編碼 D .設計

  5 .軟件維護的困難主要原因是( )

  A .費用低 B .人員少 C .開發方法的缺陷 D .維護難

  6 .用白盒法技術設計測試用例的方法包括( )

  A .錯誤推測 B .因果圖 C .基本路徑測試 D .邊界值分析

  7 .軟件測試中根據測試用例設計的方法的不同可分為黑盒測試和白盒測試兩種,它們( )

  A .前者屬于靜態測試,后者屬于動態測試

  B .前者屬于動態測試,后者屬于靜態測試

  C .都屬于靜態測試 D .都屬

  于動態測試

  8 .程序設計語言的心理特性在語言中表現不應包括( )

  A .歧義性 B .簡潔性 C .保密性 D .傳統性

  9 .程序的三種基本控制結構的共同特點是( )

  A .只能用來描述簡單程序 B .不能嵌套使用

  C .單入口,單出口 D .僅用于自動控制系統

  10 . JSP 方法是一種面向 _________ 的設計方法。( )

  A .控制結構 B .對象 C .數據流 D .數據結構

  11 .當一個模塊直接使用另一個模塊的內部數據,這種模塊之間的耦合為( )

  A .數據耦合 B .公共耦合 C .標記耦合 D .內容耦合

  12 .軟件設計的方法有多種, _________ 方法不屬于面向數據流的設計方法。( )

  A .基于 Jackson 圖的設計 B .基于 IDEF 0 圖的設計

  C .交換分析設計 D .事務分析設計

  13 .為高質量地開發軟件項目,在軟件結構設計時,必須遵循 _________ 原則。( )

  A .信息隱蔽 B .質量控制 C .程序優化 D .數據共享

  14 .設在一個模塊內有 2 個判定,若受其中一個判定影響到的模塊集合為 A ,而受另一個判定影響到的模塊集合為 B ,則該模塊的作用范圍是( )

  A . B . C .( )—( ) D .( ) ( )

  15 .數據流圖( DFD )是 _________ 方法中用于表示系統的邏輯模型的一種圖形工具。( )

  A . SA B . SD C . SP D . SC

  16 .螺旋模型是一種將瀑布模型和 _________ 結合起來的軟件開發模型。( )

  A .增量模型 B .專家系統 C .噴泉模型 D .變換模型

  17 .需求規格說明書的作用不包括( )

  A .軟件驗收的依據

  B .用戶與開發人員對軟件要做什么的共同理解

  C .軟件可行性研究的依據 D .軟件設計的依據

  18 .數據字典是用來定義 _________ 中的各個成份的具體含義的。( )

  A .流程圖 B .功能結構圖 C .系統結構圖 D .數據流圖

  19 .設年利率為 i ,現存入 p 元,不計復利, n 年后可得錢數為( )

  A . p ﹡ (1+i ﹡ n) B . p ﹡ (i+1) n C . p ﹡ (1+i) ﹡ n D . p ﹡ (i+n)

  20 .在軟件生產的程序系統時代由于軟件規模擴大和軟件復雜性提高等原因導致了( )

  A .軟件危機 B .軟件工程 C .程序設計革命 D .結構化程序設計

  二、填空題(本大題共 10 小題,每空 2 分,共 20 分)

  請在每小題的空格中填上正確答案。錯填、不填均無分。

  21 .第二代 CASE 工具的特點是支持圖形表示的 ____________ 。如數據流圖與結構圖。

  22 .在面向對象方法中,對象實現了數據和操作的結合,使數據和操作 ________ 于對象的統一體中。

  23 .面向對象分析的目的是對客觀世界的系統進行 __________________ 。

  24 .軟件維護工作的生產性活動包括分析評價、修改設計和 __________________ 等。

  25 .為了使應用軟件適應計算機環境的變化而 __________________ 的過程稱為適應性維護。

  26 .一個進行學生成績統計的模塊其功能是先對學生的成績進行累加,然后求平均值,則該模塊的內聚性是 __________________ 。

  27 .基于 IDEF 0 圖的設計是以系統的功能模型和 __________________為基礎設計系統的軟件結構。

  28 .軟件結構圖的寬度是指一層中 __________________ 的模塊個數。

  29 .投資回收期就是使累計的經濟效益等于 __________________ 所需的時間。

  30 .軟件生存周期是指一個軟件從提出開發要求開始直到 __________________ 為止的整個時期。

  三、詞語解釋題(本大題共 5 小題,每小題 3 分,共 15 分)

  31 .增量開發

  32 .漸增式測試

  33 .詳細設計

  34 .模塊的控制范圍

  35 .父圖與子圖的平衡

  四、簡答題(本大題共 4 小題,每小題 5 分,共 20 分)

  36 .何謂軟件開發方法?請列舉四種主要方法。

  37 .從開發者角度進行程序質量的評審時,軟件的結構包括哪些主要內容?

  38 .說明軟件文檔的作用。

  39 .簡述詳細設計的基本任務。

  五、綜合應用題(第一小題 7 分,第二小題 8 分,第三小題 10 分,共 25 分)

  40 .試利用 McCabe 的程序復雜性計算方法計算如下程序圖的復雜性。

  41 .根據下列條件使用邊界值分析法設計測試用例。

  某一 8 位微機,其八進制常數定義為:以零開頭的數是八進制整數,其值的范圍是- 177 ~ 177 。如 05 , 0127 ,- 065

  42 .工資計算系統中的一個子系統有如下功能:

  ( 1 )計算扣除部分—由基本工資計算出應扣除(比如水電費、缺勤)的部分;

  ( 2 )計算獎金部分—根據職工的出勤情況計算出獎勵金;

  ( 3 )計算工資總額部分—根據輸入的扣除額及獎金計算出總額;

  ( 4 )計算稅金部分—由工資總額中計算出應扣除各種稅金;

  ( 5 )生成工資表—根據計算總額部分和計算稅金部分傳遞來的有關職工工資的詳細信息生成工資表。

  試根據要求畫出該問題的數據流程圖,并把其轉換為軟件結構圖。

  全國2008年10月高等教育自學考試

  軟件工程試題

  一、單項選擇題(本大題共20小題,每小題1分,共20分)

  在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。

  1.“軟件工程的概念是為解決軟件危機而提出的”這句話的意思是( )

  A.強調軟件工程成功解決了軟件危機的問題

  B.說明軟件危機的存在總是使軟件開發不像傳統工程項目那樣容易管理

  C.說明軟件工程這門學科的形成是軟件發展的需要

  D.說明軟件工程的概念,即:工程的原則、思想、方法可解決當時軟件開發和維護存在的問題

  2.瀑布模型的主要特點是( )

  A.將開發過程嚴格地劃分為一系列有序的活動 B.將開發過程分解為階段

  C.提供了有效的管理模式 D.缺乏靈活性

  3.在軟件工程的需求分析階段,不屬于問題識別內容的是( )

  A.功能需求B.

  性能需求 C.環境需求D.輸入/輸出需求

  4.畫某系統的數據流圖時,頂層圖有( )

  A.0張B.1張 C.2張D.3張及其以上

  5.軟件模塊內聚性最強的是( )

  A.功能內聚B.通信內聚 C.偶然內聚D.邏輯內聚

  6.最早提出軟件系統維護問題的階段是( )

  A.可行性分析B.需求分析 C.概要設計D.詳細設計

  7.SD(結構化設計)方法設計的結果是( )

  A.模塊B.模塊結構圖 C.模塊的算法D.數據流圖

  8.在進行軟件測試時,首先應當進行以下哪項測試,然后再進行組裝測試,最后再進行有效性測試( )

  A.單元測試B.系統測試 C.集成測試D.確認測試

  9.軟件詳細設計階段的任務是( )

  A.算法與數據結構設計B.功能設計C.調用關系設計D.輸入/輸出設計

  10.下列屬于靜態測試方法的是( )

  A.黑盒法B.路徑覆蓋 C.白盒法D.人工檢測

  11.Fortran語言主要作為以下哪個方面的語言( )

  A.科學工程計算B.系統軟件 C.事務處理D.人工智能

  12.用結構化語言來描述加工邏輯的外層結構時,以下不屬于基本結構的是( )

  A.順序結構B.選擇結構 C.嵌套結構D.重復結構

  l3.可維護軟件的主要特性包括( )

  A.可理解性、可修改性、可移植性 B.可使用性

  C.可維護性、可使用性、可靠性 D.可測試性

  14.程序設計語言不具有的特性是( )

  A.心理特性B.工程特性 C.應用特性D.技術特性

  15.下列不屬于項目進度安排主要方法的是( )

  A.工程網絡圖B.Gantt圖 C.進度結構圖D.任務資源表

  16.下列不屬于通常冗余技術的是( )

  A.結構冗余B.信息冗余 C.時間冗余D.代碼冗余

  17.下列工具中,屬于需求追蹤工具的是( )

  A.在DBMS上的應用運行工具B.追蹤和狀態報告 C.訪問和版本控制機構D.文件和修改管理

  18.關于軟件測試的目的,下面觀點錯誤的是( )

  A.為了發現錯誤而執行程序的過程 B.一個好的測試用例能夠發現至今尚未發現的錯誤

  C.證明程序是正確、沒有錯誤的 D.一個成功的測試用例是發現了至今尚未發現的錯誤的測試

  19.在制定項目開發計劃文檔時,不包含的內容是( )

  A.項目概述B.實施計劃 C.測試計劃D.交付期限

  20.面向對象的開發方法中,以下哪種方法原是面向Ada語言的,并處于面向對象開發方法的奠基性地位( )

  A.Booch方法B.Coad方法 C.UML語言D.OMT方法

  二、填空題(本大題共10小題,每小題2分,共20分)

  請在每小題的空格中填上正確答案。錯填、不填均無分。

  21.可行性研究從技術可行性、經濟可行性、________三方面進行分析。

  22.IDEF0方法用來描述系統的功能活動及其聯系,建立系統的_______模型。

  23.結構化方法總的指導思想是_______逐層分解。

  24.在一段程序中,將多次出現的一組語句設計為一個子程序,供多個部分調用,這種情況出現的內聚稱為________。

  25.軟件

  部件的內部實現與外部可訪問性分離,這是指軟件的______。

  26.用來模擬被測模塊的上級調用模塊的模塊稱為_______。

  27.軟件復雜性度量的參數很多,主要有規模、_______、結構、智能度。

  28.軟件開發環境中最主要的組成部分是______。

  29.軟件工程管理的具體內容包括對開發人員、組織機構、用戶和______等方面的管理。

  30.增量模型根據增量方式和形式的不同,分為_____和原型模型。

  三、名詞解釋題(本大題共5小題,每小題3分,共15分)

  31.過程設計語言(PDL)

  32.可移植性

  33.漸增式測試

  34.詳細設計

  35.條件覆蓋

  四、簡答題(本大題共4小題,每小題5分,共20分)

  36.軟件生存周期可以分為幾個階段,每個階段的提交物是什么?

  37.結構化分析的描述工具有哪些?簡述結構化分析的步驟。

  38.什么是黑盒測試法?常用的黑盒測試方法有哪些?

  39.簡述面向對象的特征。

  五、應用題(本大題共2小題,第40小題10分,第41小題15分,共25分)

  40.下面是一段偽碼程序(代碼前的數字只作標號用,不參與程序執行):

  START

  1:INPUT(A,B,C,D)

  2:IF(A>0)AND(B>0)

  THEN

  3:X=A+B

  ELSE

  4:X=A-B

  5:END

  6:IF(C>A)OR(D

  THEN

  7:Y=C-D

  ELSE

  8:Y=C+D

  9:END

  10:PRINT(X,Y)

  STOP

  根據以上的描述

  (1)畫出對應的流程圖和程序圖。

  (2)計算程序圖的環形復雜度。

  41.某個學生成績管理系統的部分功能如下:

  (1)基本信息管理:教務管理人員輸入或修改學期教學執行計劃、學生名單和教師名單;

  (2)學生選課:學生根據教學執行計劃進行選課;

  (3)分配任課教師:教務管理人員為符合開課條件的課程分配教師,并打印任課通知單給教師;

  (4)成績管理:每門課程的教師在考試評分結束后將考試成績交給教務管理人員,教務管理人員輸入、維護成績,系統可生成成績單(發給學生)、成績統計分析表(發給教務管理人員)。

  請根據要求畫出該問題的分層數據流圖(要求畫出頂層和0層數據流圖)。

  軟件工程導論預測題

  一,單項選擇題(本大題共20小題,每小題1分,共20分)

  在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。

  1.可行性研究要進行一次_____需求分析。

  A.詳細的 B.全面的 C.簡化的、壓縮的 D.徹底的

  [解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。其實質是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次上以較抽象的方式進行需求分析和設計過程。因此答案為C。

  2.系統流程圖用于可行性分析中的_____的描述。

  A.當前運行系統 B.當前邏輯模型

  C.目標系統 D.新系統

  [解析]可行性研究首先要確定項目的規模和目標,然后就需要對當前運行的系統進行研究了,在考察系統的基礎上,通過描繪現有系統的高層系統流程圖,與有關人員一起審查該系統流程圖是否正確。描述的對象是當前正在運行的系統,因此選擇A。

  3.系統流程圖是描述_____的工具。

  A.邏輯系統 B.程序系統 C.體系結構 D.物理系統

  [解析]系統流程圖是用圖形符號來表示系統中的各個元素,例如人工處理、數據庫、設備等,流程圖表達了系統中各個元素之間的信息流動情況。是描繪物理系統的傳統工具。

  4._______工具在軟件詳細設計過程中不采用。

  A.判定表 B.IPO圖 C.PDL D.DFD圖

  [解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結構化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復雜的條件組合與應做的動作之間的對應關系。IPO圖用來描述每個模塊輸入/輸出數據、處理功能及模塊調用的詳細情況。PDL是過程設計語言的縮寫,也稱程序描述語言,用于描述模塊算法設計和處理細節的語言,這三種都可以在軟件詳細設計過程中使用,而DFD圖則是數據流圖,是以圖形的方式描繪數據在系統中流動和處理的過程,只反映系統必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設計過程中使用。

  5.程序的三種基本控制結構是

  A.過程、子程序和分程序 B.順序、選擇和重復 C.遞歸、堆棧和隊列 D.調用、返回和轉移

  [解析]程序的三種基本控制結構是順序、選擇和循環(重復)。子程序只是程序設計一種方法,遞歸則是一種算法,都算不上是控制結構。

  6.程序的三種基本控制結構的共同特點是

  A.不能嵌套使用 B.只能用來寫簡單程序 C.已經用硬件實現 D.只有一個入口和一個出口

  [解析]程序的特點就是從一個入口開始,最終以一個出口結束,其間可以用順序,選擇和循環方式對程序的流向進行控制。三種結構可以寫出非常復雜的程序,而且選擇和循環都可以嵌套設計。

  7.產生軟件維護的副作用,是指

  A.開發時的錯誤 B.隱含的錯誤 C.因修改軟件而造成的錯誤 D.運行時誤操作

  [解析]因修改軟件而造成的錯誤或其他不希望出現的情況稱為維護的副作用,包括編碼副作用、數據副作用、文檔副作用三種。只有答案C是正確的表述。

  8.維護中,因誤刪除一個標識符而引起的錯誤是_________副作用。

  A.文檔 B.數據 C.編碼 D.設計

  [解析]編碼副作用指的是在使用程序設計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識

  符,改變程序代碼的時序關系,修改文件的打開或關閉等。因此本題答案為C。

  9.可維護性的特性中相互促進的是

  A.可理解性和可測試性 B.效率和可移植性 C.效率和可修改性 D.效率和結構好

  [解析]軟件的可維護性可用七個質量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結構好則不屬于可維護性的特征。

  10.汽車有一個發動機。汽車和發動機之間的關系是_____關系。

  A.一般具體 B.整體部分 C.分類關系 D.主從關系

  [解析]類有兩種主要的結構關系,即一般——具體結構關系和整體——部分結構關系。前者稱為分類結構,用來描述現實世界中的一般化的抽象關系。后者稱為組裝結構,用來描述現實世界中的類的組成的抽象關系。汽車和發動機的關系很明顯,應該屬于整體——部分關系。

  11.在變更控制中,______可以用來確保由不同用戶所執行的并發變更。

  A.異步控制 B.同步控制 C.存取控制 D.基線控制

  [解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限,同步控制可用來確保由不同用戶所執行任務的并發變更。

  12.變更控制是一項最重要的軟件配置任務,其中“檢出”和______處理實現了兩個重要的變更控制要素,即存取控制和同步控制。

  A.登入 B.管理 C.填寫變更要求 D.審查

  [解析]“檢出”和“登入”處理實現了兩個重要的變更控制要素。具體說明見上題。

  13.提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要

  A.消除錯誤 B.檢測錯誤 C.避開錯誤 D.容錯

  [解析]提高軟件質量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發的過程中不讓差錯潛入軟件的技術,另一類是容錯技術,即對某些無法避開的差錯,使其影響減至最小的技術。

  14._____是以提高軟件質量為目的的技術活動。

  A.技術創新 B.測試 C.技術創造 D.技術評審

  [解析]技術評審是以提高軟件質量為目的的技術活動,是對軟件本身的結構、與運行環境的接口、變更帶來的影響等方面進行的評審活動。

  15.面向對象方法學的出發點和基本原

  則是盡可能模擬人類習慣的思維方式,分析、設計和實現一個軟件系統的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向對象方法有許多特征,如軟件系統是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯系;層次結構的繼承。

  A.開發過程基于功能分析和功能分解 B.強調需求分析重要性

  C.把對象劃分成類,每個對象類都定義一組數據和方法 D.對既存類進行調整

  [解析]面向對象方法有四個特征,分別是對象唯一性、分類性、繼承性和多態性。其中分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質的個體集合,而每個對象相關類的實例,對象彼此之間通過傳遞消息互相聯系。

  16.軟件開發過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫

  A.生存期 B.面向對象設計 C.面向對象程序設計 D.面向對象分析

  [解析]面向對象的分析的過程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。

  17.原型化方法是用戶和設計者之間執行的一種交互構成,適用于______系統。

  A.需求不確定性高的 B.需求確定的 C.管理信息 D.實時

  [解析]原型不同于最終系統,它只實現所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現,因此適用于需求不確定性高的系統。

  18.原型化方法是一種_______型的設計過程。

  A.自外向內 B.自頂向下 C.自內向外 D.自底向上

  [解析]原型化方法的基本思想是根據用戶給出的基本需求,通過快速實現構造出一個小型的、可執行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發者再對原型進行改進。如此周而復始,逐步彌補不足之處,從而提高了最終產品的質量。它是一種自外向內的設計過程。

  19.為了提高測試的效率,應該

  A.隨機地選取測試數據 B.取一切可能的輸入數據作為測試數據

  C.在完成編碼以后制定軟件的測試計劃 D.選擇發現錯誤可能性大的數據作為測試數據

  [解析]軟件測試是為了盡可能多的發現程序中的錯誤,尤其是發現至今尚未發現的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節進行測試,也不能無目的地隨機選取測試數據,為了提高測試的效率,測試用例應該選擇發現錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。

  20.使用白盒測試方法時,確定測試數據應根據_______和指定的覆蓋標準。

  A.程序的

  內部邏輯 B.程序的復雜結構 C.使用說明書 D.程序的功能

  [解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內部結構和處理過程,由于白盒測試是一種結構測試,所以被測對象基本上是源程序,以程序的內部邏輯和指定的覆蓋標準確定測試數據。

  二,填空題(本大題共10小題,每小題2分,共20分)

  21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的( 信息流動 )情況。

  [解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。

  22.成本效益分析的目的是從( 經濟 )角度評價開發一個項目是否可行。

  [解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。

  23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和( 寬度優先策略 ) 。

  [解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。

  24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條( 在其他獨立路徑中未有過 )的邊的路徑。

  [解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。

  25.匯編語言是面向( 機器 ) 的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。

  [解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。

  26.在JSP方法中解決結構沖突的具體辦法是( 中間數據結構或中間文件 )。

  [解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則

  映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。

  27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、( 使用的數據 )。

  [解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。

  28.所有軟件維護申請報告要按規定方式提出,該報告也稱( 軟件問題)報告。

  [解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。

  29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的( 維護支援 )技術。

  [解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。

  30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:( FORTRAN語言)、PASCAL語言、C語言和PL/1語言。

  [解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/1、FORTRAN語言都是工程計算中常用的語言。

  三,名詞解釋(本大題共5小題,每小題3分,共15分)

  31.經濟可行性

  解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。

  32.社會可行性

  解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。

  33.投資回收期

  解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。

  34.對應關系

  解:即有直接因果關系在程序中可以同時處理。

  35.結構沖突

  解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。

  四,簡答題(本大題共4小題,每小題5分,共20分)

  36.可行性研究報告的主要內容有哪些?

  解:一個可行性研究報告的主要內容如下:

  (1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參考資料。

  (2)可行性研究前提:說明開發

  項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。

  (3)對現有系統的分析:說明現有系統的處理流程和數據流程;工作負荷;各項費用支出;所需要各類專業技術人員的數量;所需要各種設備;現有系統存在什么問題。

  (4)所建議系統的技術可行性分析:所建議系統的簡要說明;處理流程和數據流程;與現有的系統比較的優越性;采用所建議系統對用戶的影響;對各種設備、現有軟件、開發環境、運行環境的影響;對經費支出的影響;對技術可行性的評價。

  (5)所建議系統的經濟可行性分析:說明所建議系統的各種支出,各種效益;收益投資比;投資回收周期。

  (6)社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權、侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質的要求。

  (7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。

  (8)結論意見:說明項目是否能開發;還需要什么條件才能開發;對項目目標有什么變動等。

  [解析]做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發,其中的問題能否解決,報告共分為八個基本內容。

  37.系統設計的內容是什么?

  解:系統設計階段先從高層入手,然后細化。系統設計要決定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。

  (1)系統分解。系統中主要的組成部分稱為子系統,子系統既不是一個對象也不是一個功能,而是類、關聯、操作、時間和約束的集合。每次分解的各子系統數目不能太多,最底層子系統稱為模塊。

  (2)確定并發性。分析模型、現實世界及硬件中不少對象均是并發的。系統設計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務。

  (3)處理器及任務分配。各并發子系統必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現子系統的硬軟件,將軟件子系統分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現各子系統的各物理單元的連接。

  (4)數據存儲管理。系統中的內部數據和外部數據的存儲管理是一項重要的任務。通常各數據存儲可以將數據結構、文件、數據庫組合在一起,不同數據存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮

  。

  (5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。

  如果資源是物理對象,則可以通過建立協議實現對并發系統的訪問,以達到自身控制;如果資源是邏輯實體,如對象標識符,那么在共享環境中有沖突訪問的可能,如獨立的事務可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。

  (6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統設計必須從多種方法中選擇某種方法來實現軟件的控制。

  (7)人機交互接口設計。設計中的大部分工作都與穩定的狀態行為有關,但必須考慮用戶使用系統的交互接口。

  38.什么是軟件危機?軟件危機的表現是什么?其產生的原因是什么?

  解:軟件發展第二階段的末期,由于計算機硬件技術的進步,計算機運行速度、容量、可靠性有顯著的提高,生產成本顯著下降,這為計算機的廣泛應用創造了條件。一些復雜的、大型的軟件開發項目提出來了,但是,軟件開發技術的進步一直未能滿足發展的需要。在軟件開發中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導致了軟件危機。

  軟件危機表現在以下四個方面:

  (1)經費預算經常突破,完成時間一再拖延。由于缺乏軟件開發的經驗和軟件開發數據的積累,使得開發工作的計劃很難制定。主觀盲目制定計劃,執行起來與實際情況有很大差距,使得開發經費一再突破。由于對工作量估計不足,對開發難度估計不足,進度計劃無法按時完成,開發時間一再拖延。

  (2)開發的軟件不能滿足用戶要求。開發初期對用戶的要求了解不夠明確,未能得到明確的表達。開發工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導致開發的軟件不能滿足用戶的要求,因而導致開發失敗。

  (3)開發的軟件可維護性差。開發過程中沒有同意的、公認的規范,軟件開發人員按各自的風格工作,各行其是,開發過程無完整、規范的文檔,發現問題后進行雜亂無章的修改。程序結構不好,運行時發現錯誤也很難修改,導致維護性差。

  (4)開發的軟件可靠性差。由于在開發過程中,沒有確保軟件質量的體系和措施,在軟件測試時,又沒有嚴格的、充分的、完全的測試,提交給用戶的軟件質量差,在運行中暴露出大量的問題。

  造成軟件危機的原因是:

  (1)軟件的規模越來越大,結

  構越來越復雜。(2)軟件開發管理困難而復雜。(3)軟件開發費用不斷增加。(4)軟件開發技術落后。(5)生產方式落后。6)開發工具落后,生產率提高緩慢。

  39.軟件質量保證應做好哪幾方面的工作?

  解:軟件質量保證是軟件工程管理的重要內容,軟件質量保證應做好以下幾方面的工作:

  (1)采用技術手段和工具。質量保證活動要貫徹開發過程始終,必須采用技術手段和工具,尤其是使用軟件開發環境來進行軟件開發。

  (2)組織正式技術評審。在軟件開發的每一個階段結束時,都要組織正式的技術評審。國家標準要求單位必須采用審查、文檔評審、設計評審、審計和測試等具體手段來保證質量。

  (3)加強軟件測試。軟件測試是質量保證的重要手段,因為測試可發現軟件中大多數潛在錯誤。

  (4)推行軟件工程規范(標準)。用戶可以自己制定軟件工程規范(標準),但標準一旦確認就應貫徹執行。

  (5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。

  (6)對軟件質量進行度量。即對軟件質量進行跟蹤,及時記錄和報告軟件質量情況。

  [解析]軟件的質量保證是向用戶及社會提供滿意的高質量的產品,確保軟件產品從誕生到消亡為止的所有階段的質量的活動,是軟件工程管理中的重要內容。

  五,論述題(本大題共3小題,第40小題7分,第41小題8分,第42小題10分,共25分)

  40.請使用PAD圖和PDL語言描述在數組A(1)~A(10)中找最大數的算法。

  解:PDL語言:

  N=1

  WHILE N

  IF A(N)

  ELSE MAX =A(N) ENDIF;

  N=N+1;

  ENDWHILE;

  PAD圖:

  [解析]人工查找時,是從第一個元素開始查找,用當前元素與下一個元素比較,將較大者作為當前元素又與下一元素比較,如此循環,直到數組末尾。

  41.根據下列條件使用等價類劃分法設計測試用例。

  某一8位微機,其八進制常數定義為:以零開頭的數是八進制整數,其值的范圍是-177~177,如05,0127,-065

  解:(1)劃分等價類并編號,如下表示:(4分)

  (2)為合理等價類設計測試用例,表中有兩個合理等價類,設計兩個例子(2分)

  (3)為不合理等價類測試用例,至少設計一個測試用例(2分)

  [解析]等價類劃分屬于黑盒測試的一種,它將輸入數據域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預期的效果。

  42.某電器集

  團公司下屬的廠包括技術科、生產科等基層單位。現在想建立一個計算機輔助企業管理系統,其中:

  生產科的任務是:

  (1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。

  (2)根據車間實際生產日報表、周報表調整月生產計劃

  3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。

  (4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間

  技術科的任務是:

  (1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。

  (2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。 試寫出以上系統中生產科和技術科處理的軟件結構圖。

  解:

  畫出生產科圖的給6分,畫出技術科的給4分。

  [解析]軟件結構圖是軟件系統的模塊層次結構,反映了整個系統的功能實現,即將來程序的控制層次體系,軟件結構往往用樹狀或網狀結構的圖形來表示,其主要內容有模塊及模塊的控制關系,根據題意,可繪制出生產科和技術科的軟件結構圖,其中生產科的結構圖深度和寬度均為4,技術科的結構圖的深度和寬度均為3。_______________________________________________________________________

  軟件工程期末試卷及答案 2

  一、選擇題

  1.軟件開發瀑布模型中的軟件定義時期各個階段依次是: (B)

  A) 可行性研究,問題定義,需求分析。

  B) 問題定義,可行性研究,需求分析。

  C) 可行性研究,需求分析,問題定義。

  D) 以上順序都不對。

  2 .可行性研究主要從以下幾個方面進行研究: (A)

  A) 技術可行性,經濟可行性,操作可行性。

  B) 技術可行性,經濟可行性,系統可行性。

  C) 經濟可行性,系統可行性,操作可行性。

  D) 經濟可行性,系統可行性,時間可行性。

  3.耦合是對軟件不同模塊之間互連程度的度量。各種耦合按從強到弱 排列如下:( C )

  A) 容耦合,控制耦合,數據耦合,公共環境耦合。

  B) 容耦合,控制耦合,公共環境耦合,數據耦合。

  C) 容耦合,公共環境耦合,控制耦合,數據耦合。

  D) 控制耦合,容耦合,數據耦合,公共環境耦合。

  4.在詳細設計階段所使用到的設計工具是:(A)

  A) 程序流程圖,PAD圖,N-S圖,HIPO圖,判定表, 判定樹.

  B) 數據流程圖,Yourdon圖,程序流程圖,PAD圖, N-S 圖,HIPO 圖。

  C) 判定表,判定樹,PDL,程序流程圖,PAD圖,N-S 圖。

  D) 判定表,判定樹,數據流程圖,系統流程圖,程序流程圖,層次圖。

  5.按照軟件工程的原則,模塊的作用域和模塊的控制域之間的關系是:(A)

  A) 模塊的作用域應在模塊的控制域之。

  B) 模塊的控制域應在模塊的作用域之。

  C) 模塊的控制域與模塊的作用域互相獨立。

  D) 以上說法都不對。

  6.在軟件生命周期中,能準確確定軟件系統的體系結構的功能階段是( C)

  A. 概要設計

  B.詳細設計

  C.需求分析

  D.可行性分析

  7.下面不是軟件工程的3個要素的是(C )

  A.過程

  B.方法

  C.環境

  D.工具

  8.下面不屬于軟件的組成的是(B )

  A.程序

  B.記錄

  C.文檔

  D.數據

  9.在瀑布模型中,將軟件分為若干個時期,軟件項目的可行性研究一 般歸屬于(C )

  A. 維護時期

  B.運行時期

  C.定義時期

  D.開發時期

  10.在瀑布模型中,下面( C )是其突出的缺點。

  A. 不適應平臺的變動

  B.不適應算法的變動

  C.不適應用戶需求的變動

  D.不適應程序語言的變動

  11.下面不屬于軟件的特點的是(D )。

  A.軟件是一種軟件產品

  B.軟件產品不會用壞,不存在磨損、消耗問題

  C.軟件產品的生產主要是研制

  D.軟件產品非常便宜

  12.軟件開發工具是協助開發人員進行軟件開發活動所使用的軟件或 環境。下面不是軟件開發工具的是( A)

  A. 維護工具

  B.編碼工具

  C.測試工具

  D.需求分析工具

  13.下列敘述中不屬于軟件生命周期模型的是(D )。

  A. 原型模型

  B.瀑布模型

  C.螺旋模型

  D.快速組裝模型

  14.軟件設計中,用抽象和分解的目的是( B )。

  A. 提高易讀性

  B.降低復雜性

  C.增加聚性

  D.降低耦合性

  15.軟件生命周期中所花費用最多的階段是(D )。

  A. 詳細設計

  B.軟件編碼

  C.概要設計

  D.軟件測試和維護

  16.開發軟件時對提高開發人員工作效率至關重要的是(B )。

  A. 操作系統的資源管理功能

  B. 先進的軟件開發工具和環境

  C.程序人員的數量

  D.計算機的并行處理能力

  17.開發軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作(B )。

  A.軟件投機

  B.軟件危機

  C.軟件工程

  D軟件產生

  18.軟件開發的結構化生命周期方法將軟件生命周期劃分成(A )

  A.定義、開發、運行維護

  B.設計階段、編程階段、測試階段

  C.總體設計、詳細設計、編程調試

  D.需求分析、功能定義、系統設計

  19.軟件工程的理論和技術性研究的容主要包括軟件開發技術和 (B)。

  A. 消除軟件危機

  B. 軟件工程管理

  C. 程序設計自動化

  D. 實現軟件可重用

  20.軟件工程的出現是由于(C)

  A.程序設計方法學的影響

  B.軟件產業化的需要

  C.軟件危機的出現

  D.計算機的發展

  21. 在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具 備哪

  些功能的階段是(D)。

  A. 概要設計

  B. 詳細設計

  C. 問題定義

  D. 需求分析

  22. 開發大型軟件時,產生困難的根本原因是( A )。

  A.大系統的復雜性

  B.人員知識不足

  C.客觀世界千變萬化

  D.時間緊、任務重

  23. 文檔是軟件開發人員、軟件管理人員、維護人員、用戶以及計算 機之間的(B),軟件開發人員在各個階段以文檔作為前段工作 成果的體現和后段工作的基礎。

  A.接口

  B.橋梁

  C.科學

  D.繼續

  24.軟件工程學的目的是以 較低的成本,研制( A )質量的軟件

  A.較高

  B.較低

  C.可靠

  D.優秀

  25.軟件從一個計算機系統或環境轉換到另一個計算機和環境的容易 程度稱為(D)。

  A.可用性

  B.兼容性

  C.可靠性

  D.可移植性

  26.軟件生存周期是指(D)階段。

  A.軟件開始使用到用戶要求修改為止

  B.軟件開始使用到被淘汰為止

  C.從開始編寫程序到不能再使用為止

  D.從立項制定計劃,進行需求分析到不能再使用為止

  27.軟件工程學是應用科學理論和工程上的技術指導軟件開發的學 科,其目的是(B)。

  A.引入新技術提高空間利用率

  B.用較少的投資獲得高質量的軟件

  C.縮短研制周期擴大軟件功能

  D.硬軟件結合使系統面向應用

  28.軟件可行性分析是著重確定系統的目標和規模。對成本 -效益進行發現應屬于下列選項中的( A)。

  A. 經濟可行性

  B.操作可行性

  C.技術可行性

  D.社會可行性

  29在數據流圖中,用圓或者橢圓來表示(B )。

  A. 數據流

  B.加工

  C.數據存儲

  D.數據源點或終點

  30.需求分析階段的任務是確定( C )。

  A. 軟件開發方法

  B. 軟件開發費用

  C軟件系統功能

  D.軟件開發工具

  31.(D)的目的就是用最小的代價在盡可能短的時間確定該軟件 項目是否能夠開發,是否值得去開發。

  A.需求分析

  B.概要設計

  C.總體設計

  D.可行性研究

  32.下列選項中( D )不是軟件需求規格目標。

  A.便于用戶、分析員和軟件設計人員進行理解及交流

  B.控制系統的實施過程

  C.作為軟件測試和驗收以及維護的依據

  D.便于軟件的維護

  33.下面描述中,不符合結構化程序設計風格的是(B )。

  A.使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制 邏輯

  B.模塊只有一個入口,可以有多個出口

  C.注重提咼程序的執行效率

  D.不使用goto語句

  34. 下列工具中屬于需求分析常用工具的是( D )。

  A. PAD

  B.PFD

  C.N-S

  D.DFD

  35. 在數據流圖(DFD)中,帶有名字的箭頭表示( C )。

  A. 控制程序的執行順序

  B. 模塊之間的調用關系

  C.數據的流向

  D.程序的組成成分

  36. 在軟件生產過程中,需求信息的給出是( D )。

  A.程序員

  B.項目管理者

  C.軟件分析設計人員

  D.軟件用戶

  37.下列敘述中,不屬于結構化分析方法的是( C)。

  A. 面向數據流的結構化分析方法

  B. 面向數據結構的結構化數據系統開發方法

  C.面向對象的分析方法

  38.結構設計是一種應用最廣泛的系統設計方法,是以(B )為基 礎、自

  頂向下、逐步求精和模塊化的過程。

  A.數據流

  B.數據流圖

  C.數據庫

  D.數據結構

  39.需求分析是由分析員經了解用戶的要求,認真細致地調研、分析, 最

  終應建立目標系統的邏輯模型并寫出(B )。

  A.模塊說明書

  B.軟件規格說明書

  C.項目開發計劃

  D.合同文檔

  40. 結構化分析方法以數據流圖、(D)和加工說明等描述工具,即 用直

  觀的圖和簡潔的語言來描述軟件系統模型。

  A.DFD圖

  B.PAD圖

  C.IPO圖

  D.數據字典

  41. 數據字典是軟件需求分析階段的重要工具之一,它的基本功能是 (A)

  A.數據定義

  B.數據維護

  C.數據通訊

  D.數據庫設計

  42. 以下(A )不是詳細設計中常用的圖形描述工具。

  A.數據流圖

  B程序流圖

  C.盒圖(N-S)

  D.問題分析圖(PAD)

  43. 在結構圖的有關術語中,用于表示軟件結構中控制的`層數的是 (C)

  A.扇入

  B.扇出

  C.深度

  D.寬度

  44. 模塊的獨立程度是評價設計好壞的重要標準。(A )是衡量軟 件的

  模塊獨立性的兩個定性度量標準。

  A.耦合性和聚性

  B.聚性和可靠性

  C.耦合性和獨立性

  D.可靠性和獨立性

  45. 軟件設計包括( B )兩個階段。

  A.接口設計和結構設計

  B.概要設計和詳細設計

  C. 數據設計和概要設計

  D.結構設計和過程設計

  46.在詳細設計階段,經常采用的工具是(A )。

  A.PAD

  B.SA

  C.SC

  D.DFD

  47. 在軟件開發中,下面任務不屬于設計階段的是(D )。

  A.數據結構設計

  B.給出系統模塊結構

  C.定義模塊算法

  D.定義需求并建立系統模型

  48. 對建立良好的程序設計風格,下面描述正確的是( A)。

  A.程序應簡單、清晰、可讀性好

  B.符號名的命名要符合語法

  C.充分考慮程序的執行效率

  D程序的注釋可有可無

  49. 下面不屬于軟件設計原則的是(C )。

  A.抽象

  B.模塊化

  C.自底向上

  D.信息隱蔽

  50. 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來 代替傳統的程序流程圖,通常也把這種圖稱為( C )。

  A PAD圖

  B.N-S圖

  C.結構圖

  D.數據流圖

  51.軟件測試按照功能劃分可以分為(B )

  A.黑盒測試和單元測試

  B.白盒測試和黑盒測試

  C.集成測試和單元測試

  D.白盒測試和靜態測試

  52.在軟件測試過程的4個步驟中,測試依據是需求規格說明的是(C)

  A.單元測試

  B.集成測試

  C.確認測試

  D.系統測試

  53.黑盒測試法屬于(C)

  A.集成測試

  B.系統測試

  C.動態測試

  D.靜態測試

  54.下列敘述中錯誤的是(C )

  A.測試是為了尋找錯誤而運行程序的過程

  B.一個成功的測試是揭示了迄今為止尚未發現的錯誤的測試

  C.測試的目的是為了證明程序是正確的

  D .一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤 的測試

  55.軟件測試過程是軟件開發過程的逆過程,其最基礎性的測試應是( B )

  A.集成測試

  B.單元測試

  C.有效性測試

  D.系統測試

  56.程序的三種基本控制結構是(B )°

  A.過程、子程序和分程序

  B.順序、選擇和重復

  C. 遞歸、迭代和回溯

  D.調用、返回和轉移

  57.面向對象的分析方法主要是建立三類模型,即( D )。

  A)系統模型、ER模型、應用模型

  B)對象模型、動態模型、應用模型

  C) - 模型、對象模型、功能模型 E R

  D)對象模型、動態模型、功能模型

  58.在E-R模型中,包含(C )以下基本成分

  A)數據、對象、實體

  B) 控制、聯系、對象

  C) 實體、聯系、屬性

  D)實體、屬性、操作

  59.軟件測試的目標是(A)。

  A.證明軟件是正確的

  B.發現錯誤、降低錯誤帶來的 風險

  C. 排除軟件中所有的錯誤

  D.與軟件調試相同

  60.軟件生命周期中所花費用最多的階段是( D )

  A.詳細設計

  B.軟件編碼

  C.軟件測試

  D.軟件維護

  61.在數據流圖中圓或橢圓表示 (1)A ,平行線表示 ⑵ D

  (1)

  A、加工

  B、外部實體

  C、數據流

  D、存儲

  (2)

  A、加工

  B、外部實體

  C、數據流

  D、存儲

  62.瀑布模型(Waterfall Model )突出的缺點是不適應(D )的變動。

  A、算法

  B、平臺

  C、程序語言

  D、用戶需求

  63.結構化分析方法(SA)的一個重要指導思想是(C)

  A. 自頂向下,逐步抽象

  B. 自底向上,逐步抽象

  C. 自頂向下,逐步分解

  D. 自底向上,逐步分解

  64.模塊的控制圍包括它本身及它所有的從屬模塊, 模塊的作用圍是 指模塊一個判定的作用圍,凡是受到這個判定影響的所有模塊都屬于 這個判定的作用圍,理想的情況是(A)

  A. 模塊的作用圍應在控制圍之

  B. 模塊的控制圍應在作用圍之

  C. 模塊的作用圍與控制圍交叉

  D. 模塊的作用圍與控制圍分離

  65.關于模塊設計的原則,以下敘述中正確的是( B)

  A. 模塊的聚性高,模塊之間的耦合度高

  B. 模塊的聚性高,模塊之間的耦合度低

  C. 模塊的聚性低,模塊之間的耦合度高

  D. 模塊的聚性低,模塊之間的耦合度低

  66.軟件的用戶界面作為人機接口起著越來越重要的作用, 用戶界面 的(D)是用戶界面設計中最重要的也是最基本的目標。

  A.靈活性 B.風格多樣性

  C.美觀性 D.易操作性

  67.原型化方法是一種動態定義需求的方法,(D)不具有原型化方法 的特征。

  A. 簡化項目管理

  B. 盡快建立初步需求

  C. 加強用戶參與和決策

  D. 提供嚴格定義的文檔

  68.數據流圖包含的成分有(B)

  A.關系、實體和屬性

  B.數據流、加工和數據存儲

  C. 數據流、數據源和數據實體

  D. 數據流、屬性、數據存儲和加工

  69.如果用戶對系統的目標不是很清楚,需求難以定義,這時最好使

  用(A)進行系統開發。

  A.原型

  B.瀑布模型

  C.V-模型

  D.螺旋模型

  70.在軟件開發的各個階段中,對軟件開發成敗影響最大的是 (A)

  A.需求分析

  B.概要設計

  C.詳細設計

  D.編碼

  71. 模塊聚度用于衡量模塊部各成分之間彼此結合的緊密程度。

  1) 一組語句在程序的多處出現,為了節省存空間把這些語句放在 一個模塊中,該模塊的聚度是 __A__的。

  2) 將幾個邏輯上相似的成分放在一個模塊中,該模塊的聚度是 __B__的。

  3) 模塊中所有成分引用共同的數據,該模塊的聚度是 __C__的。

  4) 模塊的某成分的輸出是另一些成分的輸入,該模塊的聚度是 D的。

  5) 模塊中所有成分結合起來完成一項任務,該模塊的聚度是-E-的。

  它具有簡明的外部界面,由它構成的軟件易于理解、測試和維護。

  A5B7C3D2E1

  供選擇的答案

  AE:①功能性②順序性③通信性④過程性⑤偶然性⑥瞬時性 ⑦邏輯性

  72. 軟件設計中劃分模塊的一個準則是(3)。兩個模塊之間的耦合方 式

  中,(4)耦合的耦合度最高,(2)耦合的耦合度最低。一個模塊部 的聚

  種類中(3)聚的聚度最高,(1)聚的聚度最低。

  兩個模塊之間的耦合方式通常可分為 7種,按其耦合度從低到高的次序依此為: 非直接耦合、 數據耦合、標記耦合、控制耦合、外部耦合、公共耦合、容耦合。 供選擇

  聚度從低到高的次序依此為:偶然聚、邏輯聚、瞬時聚、過程聚、通信聚、順序聚、功能聚的答案

  A:①低聚低耦合

  ②低聚高耦合

  ③咼聚低耦合

  ④咼聚咼耦合

  B:①數據②非直接③控制④容

  C:①數據②非直接③控制④容

  D:①偶然②邏輯 ③功能④過程

  E:①偶然②邏輯 ③功能④過程

  73.瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和_。 ( C ),A .詳細計劃

  B .可行性分析

  C .運行階段

  D.測試與排錯

  74.在結構化的瀑布模型中,哪一個階段定義的標準將成為軟件測試年勺系統測試階段的目標( A )

  A .需求分析階段

  B .詳細設計階段

  C.概要設計階段

  D .可行性研究階段,75.軟件工程的出現主要是由于(C ) **

  A.程序設計方法學的影響

  B.其它工程科學的影響

  C.軟件危機的出現

  D.計算機的發展,76.軟件工程方法學的目的是:使軟件生產規范化和工程化,而軟件工程方法得以實旅的主要保證是(C)

  A.硬件環境

  B.軟件開發的環境

  C.軟件開發工具和軟件開發的環境

  D.開發人員的素質

  77.軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為(B)

  A.相互排斥

  B.相互補充

  C.獨立使用

  D.交替使用

  78.UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法(C)

  A.基于瀑布模型的結構化方法

  B.基于需求動態定義的原型化方法

  C.基于對象的面向對象的方法

  D.基于數據的數據流開發方法

  79.在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高(B)

  A.結構化方法

  B.原型化方法

  C.面向對象的方法

  D.控制流方法

  80.結構化分析方法是一個預先嚴格定義需求的方法,它在實施時強調的是分析對象的(B)

  A.控制流

  B.數據流

  C.程序流

  D.指令流

  81.軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)

  A.計劃階段.開發階段.運行階段

  B.計劃階段.編程階段.測試階段

  C.總體設計.詳細設計.編程調試

  D.需求分析.功能定義.系統設計

  82.軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼和測試等階段,一般認為可能占用人員最多的階段是(C)

  A.分析階段

  B.設計階段

  C.編碼階段

  D.測試階段

  二、填空

  1、 黑盒測試又稱為功能測試數據驅動測試或基于規格說明的測 試,白

  盒測試也稱為/吉構測試或邏輯驅動測試

  2、 如果用戶對系統的目標不是很清楚,需求難以定義,這時最好使

  用原型模型進行系統開發。

  3、 在軟件開發的各個階段中,對軟件開發成敗影響最大的是 需求分 析

  —階段。

  4、 研究可行性從 技術可行性,經濟可行性,操作可行性 可行性進

  行研究。

  5、 結構化方法的指導思想是 自頂向下,逐步分解

  6、 在軟件開發的各個階段中,軟件維護 階段成為軟件的二次開發。

  7、 類是指具有相同數據結構和相同操作的 對象 的集合。

  8、 數據流程圖按照信息流的類型主要分為事務流和變換流 兩種。

  9 、軟件危機是指在計算機軟件開發和維護過程中 所遇到的一系列嚴重問題

  10、 ________ 階段是解決目標系統做什么的問題, ___________ 階段

  是解決目標系統怎么做的問題。

  11、 ^聚是度量一個模塊的各個元素彼此結合的緊密程度,它是信 息隱

  藏概念的自然擴展。

  12、面向對象的三個子模型分別是對象模型、動態模型和功能模型

  13、____________________ 結構化設計簡稱 _______ 分為 和

  14、軟件工程方法學的三要素是 方法 工具 過程

  15、軟件設計的準則是 ________ 、 _________ 、 _____ 和 __________

  16、JACKSON方法是面向 面向數據結構 的設計方法,它有 _______ 種

  邏輯結構

  17、軟件過程模型中 ______ 模型是描述用戶的動態需求的, ______ 模型是帶有風險驅動的

  18、結構化設計方法是面向 過程 的設計方法

  19、傳統的軟件工程方法學采用 結構化分析技術 完成系統分析工 作的

  20、模塊的獨立性要求高聚低耦合

  21、在軟件測試的步驟中, 單元 測試是檢驗每個模塊能否單獨工作

  22、調試是是在測試發現錯誤之后 (排除錯誤)糾錯 的過程

  23、成本/效益分析是從 _________________ 方面進行可行性研究

  24、Jackson方法是面向 數據結構 的軟件設計方法

  25、聚越高模塊的獨立性 越好;耦合越高模塊的獨立性 越差

  26、軟件維護又稱為軟件的 二次開發

  三、判斷題

  1、開發軟件就是編寫程序。 (X)

  2、系統測試的主要方法是白盒法,主要進行功能測試、性能測試、 安全性測試及可靠性等測試。(X)

  3、 生產高質量的軟件產品是軟件工程的首要目標。 (V)

  4、 只有了解用戶、了解任務,才能設計出好的用戶界面。(V)

  5、 對象是具有相同狀態的一組操作的集合。(V)

  6、 用戶本身的技能,個性上的差異,行為方式的不同,不會對人機 界面

  使用造成影響。(X)

  7、 編程序時應盡可能利用硬件特點以提高程序效率 .&軟件開發人員(X)

  對用戶需求的理解有偏差,這將導致軟件產品與用

  8、戶的需求不一致,是產生軟件危機的唯一原因。 (X)

  9、 開發一個軟件項目總存在某些不確定性,即存在風險。有些風險 如果控制得不好,可能導致災難性的后果。(V)

  10、 程序的可靠性、可維護性和效率通常由程序設計語言、源代碼的 質量、和語言的實現機制決定的。(V)

  11、一般單元測試不可以并行進行。(X )

  12、螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活

  動。(V)

  13、數據字典是對數據流圖中的數據流,加工、數據存儲、數據的源 和終點進行詳細定義。(X)

  14、如果通過軟件測試沒有發現錯誤,則說明軟件是正確的。 (X )

  15、快速原型模型可以有效地適應用戶需求的動態變化。(V )

  16、白盒測試無需考慮模塊部的執行過程和程序結構,只要了解模塊的功能即可。(X)

  17、用PDL語言寫出的程序不可以在計算機上運行(V)

  18、黑盒測試主要用于測試步驟的后期階段 (V)

  19、白盒測試主要用于測試步驟的后期階段 (X)

  20、測試就是調試,都是在計算機上運行程序的 (X)

  四、簡答題

  1、什么是軟件危機

  計算機軟件的開發和維護過程所遇到的一系列問題。

  2、什么是黑盒測試和白盒測試

  黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了 的功

  能是否符合要求。

  白盒測試:已知產品的部工作過程,可以通過測試證明每種部操作是 否符

  合設計規格要求,所有部成分是否以經過檢查。

  3、軟件開發和寫程序有什么不同

  軟件包含程序,程序是軟件的一部分。

  軟件是程序、數據及其相關文檔的完整集合。

  程序只是為了實現軟件的功能和性能要求而編寫的指令序列

  4、軟件設計的準則

  5、什么是軟件的生命周期,包含哪些階段

  是軟件產生直到報廢的生命周期,周期有問題定義、可行性分析、總體描

  述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢 棄等階段

  6、軟件測試的步驟有哪些,含義是什么

  7、軟件過程模型有那些,各自特點是什么

  8、比較黑盒測試和白盒測試的優缺點

  黑盒測試的優點:適應于階段測試,從產品功能角度測試,容易入手生成測試數

  據。

  缺點:某些代碼得不到測試,如果規格說明有誤,可能無法發現,不易進行充分性測試。

  白盒測試的優點:可構成測試數據使特定程序部分得到測試,有一定的充分性度量手段,可生成較多工具支持。

  缺點:不易生成測試數據,無法對未實現規格說明的部分進行測試,作 量大通常只用于單元測試有應用局限。

  9、衡量模塊獨立性的標準是什么,并解釋與模塊獨立的具體關系 聚性和耦合性。 模塊的聚性越高耦合性越低則模塊越獨立,反之越不獨立。

【軟件工程期末試卷及答案】相關文章:

初二下冊語文期末試卷及答案08-04

五年級語文下冊期末試卷及答案12-31

三年級語文下冊期末試卷帶答案08-05

四年級下冊語文人教版期末試卷答案08-04

語文期末試卷04-26

期末試卷反思03-05

地理期末試卷06-14

期末試卷評語05-01

五年級數學上冊期末試卷附答案(精選5套)01-13

期末試卷分析報告11-30

国产v亚洲v天堂无码网站,综合亚洲欧美日韩一区二区,精品一级毛片A久久久久,欧美一级待黄大片视频
亚欧洲日本在线观看 | 亚洲欧美久久天堂综合一区 | 好吊妞人成视频在线观看强行 | 久久亚洲女同第一区 | 亚洲午夜国产片在线观看 | 一本色道久久综合亚洲精品高清 |