煙臺大學《軟件工程復習題帶答案》期末考試復習題及參考答案_第1頁
煙臺大學《軟件工程復習題帶答案》期末考試復習題及參考答案_第2頁
煙臺大學《軟件工程復習題帶答案》期末考試復習題及參考答案_第3頁
煙臺大學《軟件工程復習題帶答案》期末考試復習題及參考答案_第4頁
煙臺大學《軟件工程復習題帶答案》期末考試復習題及參考答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、多選題

1.從下列敘述中選出5條關于好的程序設計風格的正確敘述。

A.使用括號以改善表達式的涓晰性。

B.對遞歸定義的數據結構不要使用遞歸過程。

C.盡可能對程序代碼進行優(yōu)化。

D.不要修補不好的程序,要重新寫。

E.不要進行浮點數的相等比較。

F.應盡可能多地輸出中間結果。

G.利用數據類型對數據值進行防范。

H.用計數方法而不是用文件結束符或輸入序列結束符來判別輸入的結束。

I.程序中的注釋是可有可無的。

J.使用有意義的標識符。

2.從下列敘述中選出5條關于軟件測試的正確敘述。

A.為了使得軟件容易測試,應該使用高級的程序設計語言編制程序。

B.程序測試是一個程序的執(zhí)行過程,目的是為了發(fā)現軟件中隱戴的錯誤。

C.如果程序中連鎖式連接了8個判定(IF)結構,則程序中總的路徑數達28。

D.白盒測試僅與程序的內部結構有關,完全可以不考慮程序的功能要求。

E.為了快速完成集成測試,采用一次性集成方式是適宜的。

F.對?批模塊進行測試,發(fā)現錯誤多的模塊中殘留的錯誤將比其它的模塊少。

G.好的測試用例應能證明軟件是正確的。

H.邊界值分析方法是取輸入/輸出等價類的邊界值做為測試用例。

L等價類劃分方法考慮了各等價類之間取值的組合情況下可能的結果。

J.判定覆蓋法可能查不出在判定中邏輯運算符使用有誤時產生的錯誤。

3.從下列敘述中選出5條有利于軟件可維護性的正確敘述。

A.在進行需求分析時需同時考慮如何實現可維護性問題。

B.完成測試作業(yè)后,為了縮短源程序的長度應刪去程序中的注解

C.盡可能在軟件生產過程中保證各階段文檔的正確性。

D.編程時應盡可能使用全局變量。

E.選擇時間效率和空間效率盡可能高的算法。

F.盡可能利用硬件的特點。

G.重視程序結構的設計,使程序具有較好的層次結構。

H.使用維護工具或支撐環(huán)境。

L在進行概要設計時應加強模塊間的聯(lián)系。

J.提高程序的可讀性,盡可能使用高級語言編寫程序。

K.為了加快軟件維護作'業(yè)的進度,應盡可能增加維護人員的數目。

4.在下面關于標準和文檔的敘述中,選出5條正確的敘述。

A.國家標準是由政府或國家級機構制定或批準,適用于全國的標準。這些標準都是強制性的,相關產

品必須嚴格執(zhí)行標準。

B.IS09001是設計/開發(fā)、生產、安裝和服務中的質量保證模式,IS09000-3是使IS09001適合于軟件

的質量保證指南。

C.軟件工程標準化可提高軟件的生產率。

D.軟件質量保證體系是貫穿于整個軟件生存期集成化過程體系,而不僅僅體現在最后產品的檢驗r.o

E.IS09000-3與具體的開發(fā)模式有關。它將軟件全過程工序從管理角度、合同角度和工程角度劃分為三

大類。

F.軟件測試計劃始于需求分析階段,完成于軟件設計階段。

G任何一個文檔都應是完整的、獨立的,它應自成體系。

H.在新文檔取代舊文檔后,管理人員不應注銷舊文檔。

I.軟件開發(fā)機構應保存一份完整的主文檔,并允許開發(fā)人員可以保存主文檔中的部分主文檔,有自己的

活動空間。

J.軟件需求分析報告是給開發(fā)人員使用的,不是給其它人員,如維護人員,用戶等使用的。

第1題正確答案為ADEGJ

第2題正確答案為ABCDH

第3題正確答案為CEGHJ

第4題正確答案為BCDFG

二、單選題

1.()軟件維護的四類維護活動是:

A.改正性維護,適應性維護,完善性維護和預防性維護。

B.適應性維護,完善性維護,搶救性維護和輔助性維護。

C.改正性維護,適應性維護,完善性維護和輔助性維護。

D.適應性維護,完善性維護,搶救性維護和預防性維護。

2.具有風險分析的軟件生存周期模型是()。

A.瀑布模型B.噴泉模型

C.螺旋模型D.增量模型

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

A.軟件做什么B.用戶使用界面

C.輸入的信息D.軟件的規(guī)模

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

A.程序的規(guī)模B,程序的效率

C.程序設計語言的先進性D.程序易讀性

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

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

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

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

D.以上說法都不對。

6.概要設計的目標:()

A.確定系統(tǒng)的功能與模塊結構B.確定系統(tǒng)的費用

C.確定系統(tǒng)的算法D.確定開發(fā)系統(tǒng)所使用的語言

7.對象實現了數據和操作的結合,使數據和操作()于對象的統(tǒng)一體中

A.結合B.隱藏

C.封裝D.抽象

8.可行性分析研究的目的是()

A.爭取項目B.項目值得開發(fā)否

C.開發(fā)項目D.規(guī)劃項目

9.為了提高軟件的可維護性,在編碼階段應注意()

A.保存測試用例和數據B.提高模塊的獨立性

C.又檔的副作用D.養(yǎng)成好的程序設計風格

10.數據耦合、公共耦合、標記耦合、控制耦合的耦合性從低到高的順序是()

A.數據、公共、標記、控制B.數據、標記、控制、公共

C.控制、數據、標記、公共D.控制、數據、公共、標記

1-10答案:ACADAACBDB

11.下列哪個階段不屈F軟件生存周期的三大階段()。

A、計劃階段B、開發(fā)階段

C、編碼階段D、維護階段

12.需求分析是()。

A、軟件開發(fā)工作的基礎B、軟件生存周期的開始

C、由系統(tǒng)分析員單獨完成的D、由用戶自己單獨完成的

13.原型化方法是軟件開發(fā)中一類常用的方法,它與結構化方法相比較,更需要(

A、明確的需求定義B、完整的生命周期

C、較長的開發(fā)時間D、熟練的開發(fā)人員

14.軟件維護時,對測試階段未發(fā)現的錯誤進行測試、診斷、定位、糾錯,直至修改的回歸測試過程稱為

()。

A、改正性維護B、適應性維護

C、完善性維護D、預防性維護

15.下列哪個圖不是N-S圖的構件()o

11-15答案:CABAC

16.在軟件生存周期的瀑布模型中一般包括計劃、()、設計、編碼、測試、維護等階段。

A可行性分析B需求采集C需求分析D問題定義

17.IS09000是由ISO/TC176制定的關于()和質量保證的國際標準。

A質量控制B質量管理C質量策劃D質量改進

18.軟件工程的基本要素包括方法、工具和()。

A過程B軟件系統(tǒng)C硬件環(huán)境D人員

19.軟件的曳雜性是(),它引起人員通信困難、開發(fā)費用超支、開發(fā)時間超時等問題.

A固有的B人為的C可消除的D不可降低的

20.軟件需求分析階段的測試手段一般采用()。

A總結B階段性報告C需求分析評審D不測試

21.()是把對象的屬性和操作結合在一起,構成一個獨立的對象,其內部信息對外界是隱蔽的,外界只

能通過有限的接口與對象發(fā)生聯(lián)系。

A多態(tài)性B繼承C封裝D消息

22協(xié)作圖反映收發(fā)消息的對象的結構組織,它與()是同構的.

A用例圖B類圖C活動圖D時序圖

23.軟件測試是為了()而執(zhí)行程序的過程。

A糾正錯誤B發(fā)現錯誤C避免錯誤D證明正確

24.面向對象分析是對系統(tǒng)進行()的一種方法。

A需求建模B程序設計C設計評審D測試驗收

25.在結構化分析方法中,()表達系統(tǒng)內部數據運動的圖形化技術。

A數據字典B實體關系圖C數據流圖D狀態(tài)轉換圖

16-25答案:cbaaccdbac

26.()是將系統(tǒng)化的、規(guī)范的、可定量的方法應用于軟件的開發(fā)、運行和維護的過程,它包括方法、工

具和過程三個要素。

A軟件過程B軟件測試C軟件生存周期D軟件工程

27.IS09000是由ISO/TC176制定的關于()和質量保證的國際標準。

A質量控制B質量管理C質量策劃D質量改進

28.CMM提供了一個框架,將軟件過程改進的進化步驟組織成5個成熟度等級。除第1級外,每個等級都

包含了實現該成熟度等級目標的若干()。

A關鍵實踐B關鍵過程域C軟件過程能力D軟件過程

29.在軟件開發(fā)的各種資源中,()是最重要的資源。

A開發(fā)工具B方法C硬件環(huán)境D人員

30.軟件的復雜性是(),它引起人員通信困難、開發(fā)費用超支、開發(fā)時間超時等問題。

A固有的B人為的C可消除的D不可降低的

31.在各種不同的軟件需求中,()描述了用戶使用產品必須要完成的任務,可以在用例模型或方案腳本

中予以說明。

A業(yè)務需求B功能需求C非功能需求D用戶需求

32.原型化方法是用戶和軟件開發(fā)人員之間進行的一種交互過程,適用于()系統(tǒng)。

A需求不確定的B需求確定的C管理信息D決策支持

33.()意味著一個操作在不同的類中可以有不同的實現方式。

A多態(tài)性B多繼承C類的可復用D信息隱蔽

34.時序圖反映對象之間發(fā)送消息的時間順序,它與()是同構的。

A用例圖B類圖C活動圖D協(xié)作圖

35.單元測試的測試用例主要根據()的結果來設計。

A需求分析B源程序C概要設計D詳細設計

26-35答案:DBBDABAADB

36.軟件需求分析的主要任務是準確地定義出要開發(fā)的軟件系統(tǒng)是()。

A.如何做B.怎么做

C.做什么D.對誰做

37.軟件詳細設計的主要任務是確定每個模塊的()。

A.算法和使用的數據結構B.外部接口

C.功能D.編程

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

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

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

39.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[T.0,1.0],現從輸入的角度考慮一組測

試用例:T.001,-1.0,1.0,1.301.設計這組測試用例的方法是()。

A.條件覆蓋法B.等價分類法

C.邊界值分析法D.錯誤推測法

40.下圖是()

A.類圖B.用例圖

C.活動圖D.狀態(tài)圖

模糊查找

41.按軟件生命周期方法設計軟件的過程中,畫數據流圖屬于哪個階段的工作()?

A.需求分析B.概要設計

C.詳細設計D.軟件維護

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

A.增量模型B.噴泉模型

C.原型模型D.嘿旋模型

43.為了進一步改善軟件系統(tǒng)的可維護性和可靠性,井為以后的改進奠定基礎的軟件維護稱為()。

A.糾錯性維護B.適應性維護

C.改善性維護D.預防性維護

44.為了提高測試的效率,應該()。

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

C.在完成編碼以后制定軟件的測試計劃

D.選擇發(fā)現錯誤可能性大的數據作為測試數據

45.可行性研究要進行一次()需求分析。

A.深入的B.詳盡的

C.徹底的D.簡化的、壓縮了的

36-45答案:CADCBADDDD

三、填空題

1.軟件生存周期一般可分為問題定義、可行性研究、需求分析、設計編碼、測試、運行

與維護階段。

2.按軟件的功能進行劃分,軟件可以劃分為系統(tǒng)軟件、支撐軟件和應用軟件。

3.可行性研究主要集中在以下四個方面經濟可行性、技術可行性、法律可行性和抉擇。

4.用戶界面的可使用性是用戶界面設計最重要的也是最基本的目標。

5.常見的軟件概要設計方法有3大類:以數據流圖為基礎構造模塊結構的結構化設計方法,以

數據結構為基礎構造模塊的jackson方法,以對象、類、繼承和通信為基礎的面向對象設計方法。

6.數據流圖和數據字典共同構成系統(tǒng)的邏輯模型。

7.軟件測試的方法有分析方法和非分析方法(即黑盒法)。

8.單元測試一般以白盒測試為主,黑盒測試為輔。

9.成本估計方法主要有自底向上估計、自頂向下估計_____和算法模型估計三種類型。

10.軟件設計中劃分程序模塊通常遵循的原則是使各模塊間的耦合盡可能()。三種可能的模

塊耦合是:(),例如,一個模塊直接引用另一個模塊中的數據。(),例如,

一個模塊把開關量作為參數傳送給另一個模塊。(),例如,一個模塊通過公共數據結構把數據

傳送給另一個模塊。其中,()的耦合性最強。

第1個正確答案為弱,第2個正確答案為內容耦合,第3個正確答案為控制耦合,第4個正確答案為公

共耦合,第5個正確答案為內容耦合,

11、UML關系包括關聯(lián)、聚合、泛化、實現、依賴等5種類型,請將合適的關系填寫在下列描述的()

中。(共10分)

1.在學校中,一個導師可以指導多個研究生,一個研究生可以由多個導師指導,那么導師和研究生之間

足()關系。

2.交通工具與卡車之間是()關系。

3.公司與部門之間是()關系。

4.圖形與矩形之間是()關系。

5.參數類及其實例類之間是()關系。

1.關聯(lián)2.泛化3.聚合4.泛化5.實現

12、UML關系包括關聯(lián)、聚合、泛化、實現、依賴等5種類型,請將合適的關系填寫在下列描述的()

中。

①用例及其協(xié)作之間是()關系。

②在學校中,一個學生可以選修多門課程,一門課程可以由多個學生選修,那么學生和課程之間是()

關系。

③類A的一個操作調用類B的一個操作,且這兩個類之間不存在其他關系,那么類A和類B之間是

()關系。

④在MFC類庫中,Window類和DialogBox類之間是()關系。

⑤森林和樹木之間是()美系。

①實現②關聯(lián)③依賴④泛化⑤聚合

四、判斷題

1.文檔是軟件產品的一部分,沒有文檔的軟件就不稱其為軟件。

2.在需求分析過程中,分析員要從用戶那里解決的最重要的問題是給該軟件提供哪弊信息。

3.需求規(guī)格說明書在軟件開發(fā)中具有重要的作用,它也可以作為軟件可行性分析的依據。

4.建立用例模型的步躲包括確定角色、確定用例和繪制用例圖。

5.數據流圖建立系統(tǒng)的功能模型,它由數據流、加工和數據存貯組成。

6.軟件配置管理是一組標識、組織和控制修改源程序的活動。

7.UML是一種直觀化、明確化、構建和文檔化軟件產物的通用語言。

8.好的測試是用少量的測試用例運行程序,發(fā)現被測程序盡可能多的錯誤。

9.邊界值分析方法是取輸入/輸出等價類的邊界值作為測試用例。

10.面向對象的分析是面向計算機系統(tǒng)建立軟件系統(tǒng)的對象模型。

1、A2、B3、B4、B5、B6、B7、B8、A9、A10、B(A對B錯)

11.()在項目計劃發(fā)生延遲的情況下,增加更多的程序員一定會加快進度。

12.()軟件錯誤可能出現在開發(fā)過程的早期,越早修改越好。

13.()不完善的系統(tǒng)定義往往是導致軟件項目失敗的主要原因。

14.()一個成功的項目唯一提交的就是運行程序。

15.()只有質量差的軟件產品才需要維護。

16.()UML是一種直觀化、明確化、構建和文檔化軟件產物的通用語言。

17.()一個好的測試用例在于能發(fā)現至今未發(fā)現的錯誤。

18.()面向對象的分析是面向計算機系統(tǒng)建立軟件系統(tǒng)的對象模型。

19.()軟件工作的考慮范圍主要是程序設計和實現。

20.()等價類劃分方法將所有可能的輸入數據劃分成若干部分,然后從每一部分中選取少數有代表性的

數據作為測試用例。

11、b12、a13、a14、b15、b16、b17、a18、b19、b20、a(A對B錯)

21.開發(fā)軟件就是編寫程序。

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

23.編程序時應盡可能利用硬件特點以提高程序效率.

24.軟件需求分析的任務是建立軟件模塊結構圖。

25.盡可能使用高級語言編寫程序

26.以結構化分析方法建立的系統(tǒng)模型就是數據流圖。

27.進行總體設計時加強模塊間的聯(lián)系。

28.編碼時盡量多用全局變量.

29.用CASE環(huán)境或程序自動生成工具來自動生成一部分程序.

30.軟件測試是要發(fā)現軟件中的所有錯誤。

(X)21、(X)22、(X)23、(X)24、(J)25、(X)26、(X)27、(X)

28、(J)29、(X)30、(J)

31.在軟件開發(fā)中,采用原形系統(tǒng)策略的主要困難是時間問題。(X)

32.數據流圖從數據傳遞和加工的角度,以圖形的方式描述數據流從輸入到輸出的傳輸變換過程。(J)

33.內聚是指一個軟件結構內各個模塊之間互連的度量。(X)

34.對與DFD圖的劃分,主要依賴設計人員的經驗,一切都應該根據設計人員的經驗確定。(X)

35.詳細設計是在概要設計之后進行的,它利用概要設計的結果,對系統(tǒng)中的每個模塊給出足夠的過程性

描述。(V)

36.在變更控制中,基線控制可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。(X)

五、簡答題

1、可復用的軟件元素包括(選5種):

項目計劃、成本估計、體系結構、需求模型和規(guī)格說明、設計、用戶文檔和技術文檔、用戶界面、數

據結構、測試用例。

2、傳統(tǒng)“瀑布模型”的主要缺陷及其原因:

在項目的早期,用戶常常很難清楚地給出所有需求,瀑布模型卻要求如此。由丁?瀑布模型的特點,早

期的錯誤直到開發(fā)晚期才能被發(fā)現,開發(fā)的風險較大。

3原型化方法主要用于解決什么問題?試說明這種方法的主要優(yōu)缺點。

建立原型的主要原因是為了解決在產品開發(fā)的早期階段需求大確定的問題,用戶、經理和其他非技術項

H風險承擔者發(fā)現在確定和開發(fā)產品時,原型可以使他們的想象更具體化。原型在軟件開發(fā)過程中可以起

到以下主要作用:

(1)明確并完善需求原型作為一種需求工具,它初步實現所理解的系統(tǒng)的一部分。用戶對原型的

評價可以指出需求中的許多問題,在你開發(fā)真正產品之前,可以最低的費用來解決這些問題。

(2)探索設計選擇方案原型作為一種設計工具,用它可以探索不同的用戶界面技術,使系統(tǒng)達到

最佳的可用性,并且可以評價可能的技術方案。

(3)發(fā)展為最終的產品原型作為一種構造工具,是產品最初子集的完整功能實現,通過一系列小

規(guī)模的開發(fā)循環(huán),你可以完成整個產品的開發(fā)。

4、比較增量模型和螺旋模型的特點,有什么不同和相似的地方?

答:增量模型是瀑布模型的順序特征與快速原型法的迭代特征相結合的產物。螺旋模型是一種迭代模型,

每迭代一次,螺旋線就前進一周。增量模型每個增量具有高內聚低耦合,高度的獨立性。而螺旋模型它在

結合瀑布模型與快速原型的基礎上還增加了風險分析。

5、什么是模塊獨立性?用什么度量?

答:模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。模塊

獨立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接結果。

獨7性可以從兩個方面來度最:模塊本身的內聚性(Cohesion)和模塊之間的耦合(Coupling)。

6、比較概要設計復審和過程設計復審的評審內容,并說明他們采取的復審方式有何異同。

答:概要設計復審的重點放在系統(tǒng)的總體結構、模塊劃分、內外結構等方面。例如軟件結構是否滿足需求?

結構形態(tài)是否合理?層次是否清晰?模塊的劃分是不是符合優(yōu)化原則?系統(tǒng)的人機界面、內外部接口、以

及出錯處理是不是合理等。

過程設計復審的重點放在模塊的具體設計上。例如模塊設計能否滿足其功能與性能要求?選擇算法與數據

結構是否合理,是否符合編程語言的特點?設計描述簡單、清晰等。

概要設計復審常用的更審方式是正式及審。

7、軟件測試的基本任務是什么?測試與糾錯有什么不同?

測試的目的是發(fā)現程序錯誤:測試的任務是通過在計算機上執(zhí)行程序,暴露程序中潛在的錯誤。

糾錯的目的是定位和糾正錯誤;糾錯的任務是軟件故障,保證程序的可靠運行。

通常把一次程序執(zhí)行需要的測試數據成為一個測試用例,每個測試用例產生一個相應的測試結果,如果它

與期望結果不符,便說明程序中存在錯誤,需要用糾錯來改正。

8.怎樣理解下面的話所蘊含的意義:“程序測試只能證明錯誤的存在,但不能證明錯誤不存在”、“測試是為

了證明程序有錯,而不是證明程序無錯”

揭示了測試固有的一個重要性質一一不徹底性。徹底測試就是讓被測程序在一切可能的輸入情況下全部執(zhí)

行一遍,又稱窮舉測試。在實際情況中是根本無法實現的。這就注定了一切實際測試都是不徹底的,當然

也就不能保證測試后的程序不存在遺留的錯誤。

9、糾錯和糾錯性維護有哪些異同?

答:糾錯的目的是定位和糾正錯誤;糾錯的任務是軟件故障,保證程序的可靠運行。

糾借性維護是由于軟件測試的不徹底性,任何大型軟件交付使月后,都會繼續(xù)發(fā)現潛在的錯誤,對它們進

行診斷和改正。目的在于糾正在開發(fā)期間未能發(fā)現的遺留錯誤。

10、什么是軟件危機?為什么會產生軟件危機?

答:軟件危機是指在計算機軟件的開發(fā)和維護過程中遇到的一系列嚴重問題。

(1).軟件維護費用急劇上升,直接或脅計算機應用的夸大。

⑵.軟件生產技術進步緩慢

11、什么是快速原型法?其快速表現在哪里?

答:首先建立一個能夠反映用戶主要需求的原型,讓川戶實際看一看未來系統(tǒng)的概貌,以便判斷哪些功能是

符合需要的,哪些方面還需要改進。然后將原型改進,最終建立完全符合用戶要求的新系統(tǒng)。它的快速表

現在能夠縮短開發(fā)周期的語言和工具,能在短時間內提供出成品,但不包括成品中的細節(jié),然后讓客戶進

行對比。

12、自頂而下漸增測試與日底而上漸增測試各有何優(yōu),缺點

答:

①自頂而下漸增測試

優(yōu)點:不需要測試驅動程序,能夠在測試階段的早期實現并驗證系統(tǒng)的主要功能,而且能夠盡早發(fā)現上層模塊

的接口錯誤.

缺點:需要存根程序,底層錯誤發(fā)現較晚.

②自底而上漸增測試

優(yōu)點與缺點和白頂而下漸增測試相反.

13、提高可維護性的方法有哪些

答:提高軟件的可維護性,最根本的是使每一開發(fā)人員懂得維護的重要性,在各個開發(fā)階段都把減少今后的

維護工作量作為努力的目標。

開發(fā)時期注意提供完整和一致的文檔和采用現代化的開發(fā)方法。

在維護時期更要保持程序的可維護性,使之不受損害或破壞。

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

測試過程按4個步驟進行;即單元測試(模塊測試)、集成測試(子系統(tǒng)測試和系統(tǒng)測試)、確認測試(驗收測

試)和平行運行。

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

書.

集成測試把已測試過的模塊組裝過來,主要對與設計相關的軟件體系結構的構造進行測試.與其相關的文檔

是集成測試計劃和軟件需求說明書.

確認測試則是要檢查已實現的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全,

正確.與其相關的文檔是確認測試計劃和軟件需求說明書.

平行運行把已經經過確認的軟件納入實際運行環(huán)境中,與其他系統(tǒng)成份組合在一起進行測試.與其相關的文

檔:用戶指南,使用手冊等.

15、可復用構件庫中有哪幾種常見的分類模式?

目前最常用的有3種分類模式。

枚舉分類:通過定義一個層次結構來對構件進行分類。構件庫中的可及用構件按照某種標準被分成了

若干個大類,而每個大類中的構件再被劃分成若干個小類,依此類推,這樣就形成了?個構件分類的層次

結構。

刻面分類:一個刻面描述構件某一個方面的特征??堂娣诸悇t是從不同的側面對構件進行分類,每一

種分類方式稱為一個刻面:不同的刻面根據其重要性可以設置不同的優(yōu)先級。

屬性-值分類:為領域中的所有構件定義一組屬性,然后賦給這組屬性一組值。通過屬性,查找構件。

16.在軟件工程管理中,如何理解人員-時間權衡定律和Brooks定律?

人員-時間權衡定律:開發(fā)工作量與開發(fā)時間的4次方成反比。

意味著如果將開發(fā)時間適當延長,將顯著減少開發(fā)工作量。反過來,壓縮時間或搶進度只能使開發(fā)工

作量急劇增加。在時間允許的情況下,適當減少人員會提高工作效率,降低軟件開發(fā)成本。

Brooks定律:向一個已經延晚的項目追加開發(fā)人員,可能使它完成得更晚。Brooks從另一個角度說明

了“時間和人員不能互換”這一原則,當開發(fā)人員以算術級數增長時,人員之間的通信將以幾何級數增長,

從而可能導致得不償失的結果。

軟件開發(fā)寧可時間長一點,人員少一點,這樣可以減少人員之間的通信開銷,工作效率會更高。

17、螺旋模型和構建集成模型的異同?

螺旋模型在結合瀑布模型與快速原型法的基礎上增加了風險分析,但它并要求每一個增量都是可運行

的程序,在早期的迭代中,發(fā)布的增量可以是一個紙上的模型或原型,在以后的迭代中產生更加完善的版

本。構件集成模型利用預先封裝好的軟件構件來構造應用軟件系統(tǒng),融合螺旋模型的很多特征,支持軟件

開發(fā)的迭代。

18、設有如下程序流程圖根據表中的測試數據回答如下問題:

(1)滿足點覆蓋的最少測試組合是什么?

(2)滿足邊覆蓋的最少測試組合是什么?

(1)2,3,4

(2)1,2,3,4

19、多模塊程序測試的策略是什么?每個階段與什么文檔有關?

測試過程按4個步驟進行,即單元測試(模塊測試)、集成測試(子系統(tǒng)測試和系統(tǒng)測試)、確認測試

(驗收測試)和系統(tǒng)測試。

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

計說明書。

集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。與其相關

的文檔是集成測試計劃和軟件需求說明書。

確認測試則是要檢查已實現的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否

完全、正確。與其相關的文檔是確認測試計劃和軟件需求說明書。

系統(tǒng)測試把已經經過確認的軟件納入實際運行環(huán)境中,與其他系統(tǒng)成份組合在一起進行測試.與其相

關的文檔:用戶指南、使用手冊等。

20、類和類之間的結構關系有哪些?并舉例說明。

聚集和泛化。聚集表類間的整體與部分的關系。例如一個窗口曰標題、外框和顯示區(qū)組成。泛化表類間的

一般與特殊的關系。例如動物分為飛鳥和走獸。

21、構件必須具有的哪些特征?

構件應具有的特征:(1)通用性⑵可變性⑶易組裝性

22、確定和調整包之間的依賴關系遵循的一般原則?

復用價值較高的包不要依賴復用價值較低的包。包應只依賴于同一層及下一層中的包。

包之間的依賴關系最好不要跨層。不要讓包直接依賴包含實現子系統(tǒng)接口的系統(tǒng)元素的包。

23、什么是維護的副作用?有哪幾種?

所謂副作用是指因修改軟件而造成的錯誤或其它不希望發(fā)生的情況,有以下三種副作用:

(1)修改代碼的副作用

(2)修改數據的副作用

(3)文檔的副作用

24、2個用例A,B之間要建立依賴關系,如果執(zhí)行A用例時必須執(zhí)行B用例,則采用哪種關系?如果執(zhí)行A

用例時不一定執(zhí)行B用例,則采用哪種關系?分別畫圖表示。

如果執(zhí)行A用例時必須執(zhí)行B用例,則采用包含關系。如果執(zhí)行A用例時不一定執(zhí)行B川例,則采用擴展

關系。

AB

AB

六、綜合題

1、描述題(7分)

下面是一個程序流程圖,試分別用N-S圖表示之,并計算其McCabe復雜度。

評分標準:N-S圖中每畫正確一個步驟得1分,四個步驟共4分。

對應的N-S圖如下

評分標準:答對McCabe復雜度得3分。

McCabe復雜度都為3。

2、根據下列條件使用黑盒法設計測試用例。(12分)

某個程序模塊的輸入是一個字符串,以字母開頭,后面由字母和數字任意組合,字符最長

為8個字符。

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

輸入數據有效等價類無效等價類

以字母開頭的字符串不以字母開頭的字

以字母開頭

(1)符串(2)

后面由字母和由字母和數字構成的字包含字母和數字之

數字任意組合符串(3)外的特殊字符的字

符串(4)

字符最長為8個長度為(1-8)的字符串長度為0(6)

字符(5)大于8的字符串(7)

(2)為合理等價類設計測試用例(1分)

T1234567,預期結果:正常運行,輸出為…。覆蓋(1)(3)(5)

(3)為不合理等價類設計測試用例(3分)

12345678,預期結果:米告輸入錯誤。覆蓋(2)

T123S567,預期結果:表告輸入錯誤。覆蓋(4),

空字符串,預期結果:報告輸入錯誤。覆蓋(6)

T123456789,預期結果:報告輸入錯誤。覆蓋(7)

(二)運用邊界值法增加的測試用例(4分)

長度為(1-8)的字符串

長度為0的字符串:己有

長度為1的字符串:T,預期結果:正常運行,輸出為…。

長度為2的字符串:T1,預期結果:正常運行,輸出為…。

長度為7的字符串:T123456,預期結果:正常運行,輸出為…。

長度為8的字符串:T1234567,預期結果:正常運行,輸出為…。

長度為9的字符串:T12345678,預期結果:報告輸入錯誤。

3.圖書管理系統(tǒng)功能性需求說明如下:(12分)

圖書管理系統(tǒng)能夠為一定數量的借閱者提供服務。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論