軟體工程導論試題 列印

2022-11-27 09:21:06 字數 5449 閱讀 2805

一.選擇

1、瀑布模型把軟體生命週期劃分為八個階段:問題的定義、可行性研究、軟體需求分析、系統總體設計、詳細設計、編碼、測試和執行、維護。八個階段又可歸納為三個大的階段:

計畫階段、開發階段和 ( c )。

a、詳細計畫 b、可行性分析 c、執行階段 d、測試與排錯

2、從結構化的瀑布模型看,在它的生命週期中的八個階段中,下面的幾個選項中哪個環節出錯,對軟體的影響最大 ( c )。

a、詳細設計階段 b、概要設計階段 c、 需求分析階段d、 測試和執行階段

3、在結構化的瀑布模型中,哪乙個階段定義的標準將成為軟體測試中的系統測試階段的目標 ( a )。

a、需求分析階段 b、詳細設計階段 c、概要設計階段 d、 可行性研究階段

4、軟體工程的出現主要是由於(c)。

a.程式設計方法學的影響 b.其它工程科學的影響 c. 軟體危機的出現 d.計算機的發展

5、軟體工程方法學的目的是:使軟體生產規範化和工程化,而軟體工程方法得以實施的主要保證是 ( c )

a、硬體環境 b、軟體開發的環境 c、軟體開發工具和軟體開發的環境d、開發人員的素質

6、軟體開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關係表現為 ( b)

a、相互排斥 b、相互補充 c、獨立使用 d、交替使用

7、uml是軟體開發中的乙個重要工具,它主要應用於哪種軟體開發方法( c )

a、基於瀑布模型的結構化方法b、基於需求動態定義的原型化方法

c、基於物件的物件導向的方法d、基於資料的資料流開發方法

8、在下面的軟體開發方法中,哪乙個對軟體設計和開發人員的開發要求最高( b )

a、結構化方法 b、原型化方法 c、物件導向的方法 d、控制流方法

9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析物件的 ( b)

a、控制流 b、資料流 c、程式流 d、指令流

10、軟體開發的結構化生命週期方法將軟體生命週期劃分成 ( a )

a、 計畫階段、開發階段、執行階段 b、 計畫階段、程式設計階段、測試階段

c、 總體設計、詳細設計、程式設計除錯 d、需求分析、功能定義、系統設計

11、軟體開發中常採用的結構化生命週期方法,由於其特徵而一般稱其為( a )

a、瀑布模型 b、物件模型 c、螺旋模型 d、層次模型

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

a、分析階段 b、設計階段 c、編碼階段 d、測試階段

二.填空

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

[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、資料處理、資料庫、檔案、裝置等,表達了元素之間的資訊流動的情況。

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

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

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

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

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

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

25.組合語言是面向( 機器 ) 的,可以完成高階語言無法完成的特殊功能,如與外部裝置之間的一些介面工作。

[解析]組合語言屬於低階語言,是一種面向機器的語言,它與高階語言相比有許多優越性:如操作靈活,可以直接作用到硬體的最下層,完成與外部裝置的介面工作等,是能夠利用計算機硬體特性直接控制硬體裝置的唯一語言。

26.在jsp方法中解決結構衝突的具體辦法是( 中間資料結構或中間檔案 )。

[解析]jsp方法是面向資料結構的設計方法。它定義了一組以資料結構為指導的對映過程,根據輸入、輸出的資料結構,按一定的規則對映成軟體的過程描述,在jsp方法中解決結構衝突的具體辦法是引入中間資料結構或中間檔案,將衝突部分分隔開來,建立多個程式結構,再利用中間檔案把它們聯絡起來,構成乙個系統的整體。

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

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

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

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

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

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

30.科學工程計算需要大量的標準庫函式,以便處理複雜的數值計算,可供選擇的語言有:( fortran語言)、pascal語言、c語言和pl/1語言。

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

三.判斷

1.軟體的開發與執行經常受到硬體的限制和制約。(√)

2.模組內的高內聚往往意味著模組間的松耦合。(√ )

3.jackson圖只能表達程式結構,不能表達資料結構。(x)

4.上述資料流圖表示資料a和b同時輸入變換成c。(x )

5.軟體的***壞主要由驗收人員負責,其他開發人員不必關心。(x )

6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)

7.應該盡量使用機器語言編寫**,提高程式執行效率,而減少高階語言的使用。(x)

8.uml只能應用於軟體系統模型的建立。(x)

9.容錯就是每個程式採用兩種不同的演算法編寫。(x)

10.軟體測試的目的是為了無一遺漏的找出所有的錯誤。(x)

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

31.軟體開發環境---

是指在計算機的基本軟體的基礎上,為了支援軟體的開發而提供的一組工具軟體系統。

32.錯誤推測法---在測試程式時,人們可能根據經驗或直覺推測程式中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例的方法。

33.黑盒測試法

把測試物件看成乙個黑盒子,測試人員完全不考慮程式的內部結構和處理過程,只在軟體的介面處進行測試,依據需求規格說明書,檢查程式是否滿足功能要求

34.軟體質量保證

是向使用者及社會提供滿意質量的產品,確保軟體產品從誕生到消亡為止的所有階段的質量的活動,即確定、達到和維護需要的軟體質量而進行的所有有計畫、有系統的管理活動

35.瀑布模型

將軟體生存週期各個活動規定為依線性順序鏈結的若干階段的一種軟體開發模型。瀑布模型把軟體生命週期劃分為八個階段:【問題的定義】、【可行性研究】、【軟體需求分析】、【系統總體設計】、【詳細設計】、【編碼】、【測試和執行】、【維護】

八個階段又可歸納為三個大的階段:【計畫階段】、【開發階段】和【執行階段】

五、圖 a 中,模組 g 為判定,判斷涉及到模組 b、f、g,請指出設計中的錯誤,再根據改進模組圖的基本原則,畫出 1~2 個改進方案(不改變模組 g 的判斷關係),並說明是按照哪條基本原則進行改進的。

解:圖 b 為乙個改進方案,將模組 g 的位置提高,使其作用範圍為控制範圍的子集,減少模組之間的聯絡。

40.請使用pad圖和pdl語言描述在陣列a(1)~a(10)中找最大數的演算法。

解:pdl語言:

n=1while n<=10 do

if a(n)<=a(n+1) max =a(n+1);

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。

軟體工程導論

1.軟體的定義 軟體是程式 資料及相關文件的完整集合。2.軟體危機的定義 表現 原因 定義 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。表現 a 對軟體開發成本和進度的估計常常很不準確。b 使用者對 已完成的 軟體系統不滿意的現象經常發生。c 軟體產品的質量往往靠不住。d 軟體...

軟體工程導論重點內容

第一章軟體工程概述 一 什麼是軟體?1.滿足功能要求和效能的指令或電腦程式集合 2.處理資訊的資料結構 3.描述程式功能以及程式如何操作和使用所要求的文件 軟體的特點 軟體是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。軟體是通過人們的智力活動,把知識與技術轉換成資訊的一種產品,是在研製 開...

學習軟體工程導論的感想

我們沒有進行過系統化軟體設計的教育和學習,對如何進行軟體的開發基本上就是想什麼寫什麼。根本沒有過系統化的設計。比如需求分析,可行性研究等。更不知道用什麼模型來設計軟體。這在我們以後的工作中是完全不行的,沒有系統化的設計,是不可能滿足客戶的需求的。胡老師讓我們分組進行軟體互換的形式來進行軟體的修改。其...