軟件工程習(xí)題及參考答案_第1頁
軟件工程習(xí)題及參考答案_第2頁
軟件工程習(xí)題及參考答案_第3頁
軟件工程習(xí)題及參考答案_第4頁
軟件工程習(xí)題及參考答案_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

軟件工程習(xí)題及參考答案

判斷題

軟件也會磨損和老化。(X)

完善性維護(hù)是提高或完善軟件的性能。(V)

數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,加工、數(shù)據(jù)存儲、數(shù)據(jù)的源

和終點進(jìn)行詳細(xì)定義。

(X)

軟件是指用程序設(shè)計語言(如等)編

PASCALZCZVISUALBASIC

寫的程序,軟件開發(fā)實際上就是編寫程序代碼。(X)

軟件模塊之間的耦合性越弱越好。(V)

如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。(X)

快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。(V)

模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到

高內(nèi)聚,低耦合度的軟件產(chǎn)品。(。)

集成測試主要由用戶來完成。(X)

確認(rèn)測試計劃應(yīng)該在可行性研究階段制定(X)

白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模

塊的功能即可。(X)軟件概要設(shè)計包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計以及數(shù)據(jù)

結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計。(。)

軟件工程采用的生存周期方法就是從時間角度對軟件的開發(fā)和維

護(hù)這個復(fù)雜問題進(jìn)行分解,將軟件生存的時期分為若干階段。(V)

系統(tǒng)流程圖表達(dá)的是部件的信息流程,還表示對信息進(jìn)行加工處

理的控制過程。(x)模塊越多,開發(fā)成本越小。(x)

軟件測試的目的就是證明軟件沒有錯。(x)

PAD圖在設(shè)置了五種基本的控制結(jié)構(gòu)后,還允許遞歸使用。(V)

在進(jìn)行了可行性分析后,需求分析就只需要解決目標(biāo)系統(tǒng)的設(shè)計

方案。(x)

SA法是面向數(shù)據(jù)流,建立在數(shù)據(jù)封閉原則上的需求分析方法。

(V)

HIPO法既是需求分析方法,又是軟件設(shè)計方法。(V)

在面向?qū)ο蟮男枨蠓治龇椒ㄖ校討B(tài)模型是最主要的任務(wù)。

(X)

加工小說明是對系統(tǒng)流程圖中的加工進(jìn)行說B月。(X)

判定表的優(yōu)點是容易轉(zhuǎn)換為計算機(jī)實現(xiàn),缺點是不能夠描述組合

條件。(x)

需求分析的主要方法有SD法、00A法及HIPO法等。(x)

分層的DFD圖可以用于可行性分析階^,描述系統(tǒng)的物理結(jié)構(gòu)。

(x)

信息建模方法是從數(shù)據(jù)的角度來建立信息模型的,最常用的描述

信息模型的方法是E-R圖。(7)

用于需求分析的軟件工具,應(yīng)該能夠保證需求的正確性,即驗證

需求的一致性、完整性、現(xiàn)實性和有效性。W)

PDL經(jīng)常表現(xiàn)為一種“混雜’的形式他不允許自然語言如英語的詞

匯與某種結(jié)構(gòu)化程序設(shè)計語言(如PascalC,Ada等)的語法結(jié)構(gòu)交織在

一起.(X)

設(shè)計階段的輸出是編碼階段的輸入.?)

通過軟件測試,可以發(fā)現(xiàn)軟件中所有潛伏的錯誤.(X)

非結(jié)構(gòu)化維護(hù)用于軟件的配置中只有源代碼維護(hù).”)

系統(tǒng)規(guī)格說明是系統(tǒng)分析和定義階段生成的一種文檔.“)

數(shù)據(jù)流圖的分解速度應(yīng)保持較高.通常一個加工每次可分解為

10~20個子力口工.(X)

內(nèi)聚度標(biāo)志一個模塊內(nèi)部各成分彼此結(jié)合的緊密程度,按其高低程

度可分為七級,內(nèi)聚度越低越好.(X)

文檔記錄軟件開發(fā)活動和階段成果,具有永久性,可供人或機(jī)器閱

讀W)

生產(chǎn)高質(zhì)量的軟件產(chǎn)品是軟件工程的首要目標(biāo).W)

軟件開發(fā)人員對用戶需求的理解有偏差,這將導(dǎo)致軟件產(chǎn)品與用戶

的需求不一致,是產(chǎn)生軟件危機(jī)的唯一原因.(X)

開發(fā)一個軟件項目總存在某些不確定性,即存在風(fēng)險.有些風(fēng)險如果

控制得不好,可能導(dǎo)致災(zāi)難性的后果.“)

結(jié)構(gòu)化維護(hù)用于待維護(hù)的軟件的配置是完整的維護(hù).”)

用戶本身的技能個性上的差異,行為方式的不同,不會對人機(jī)界面使

用造成影響.(X

程序的可靠性,可維護(hù)性和效率通常由程序設(shè)計語言,源代碼的質(zhì)量,

和語言的實現(xiàn)機(jī)制決定的.”)

程序文檔一般指以注釋的形式嵌入程序中的代碼描述.”)

為提高可交互性一般應(yīng)提高用戶對話,移動和思考的效率,即最大可

能地減少擊鍵次數(shù),縮短鼠標(biāo)移動的距離,避免使用戶產(chǎn)生無所適從的感

覺.")

一般單元測試不可以并行進(jìn)行.(X)

螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險分析活動。

(V)

數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,加工、數(shù)據(jù)存儲、數(shù)據(jù)的源

和終點進(jìn)行詳細(xì)定義。

(X)

軟件模塊之間的耦合性越弱越好。(V)

如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。(X)

快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。(V)

模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到

高內(nèi)聚,低耦合度的軟件產(chǎn)品。(,)

集成測試主要由用戶來完成。(X)

確認(rèn)測試計劃應(yīng)該在可行性研究階段制定(X)

白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模

塊的功能即可。(X)軟件概要設(shè)計包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計以及數(shù)據(jù)

結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計。(V)

一個好的開發(fā)人員應(yīng)具備的素質(zhì)和能力包括善于與周圍人員團(tuán)結(jié)

協(xié)作,建立良好的人際關(guān)系,善于聽取別人的意見。(V)

目前的絕大多數(shù)軟件都不適合于快速原型技術(shù)。(X)

缺乏處理大型軟件項目的經(jīng)驗。是產(chǎn)生軟件危機(jī)的唯一原因。(X)

通常緊致性好的語言一致性就好。(X)

測試計劃、測試用例、出錯統(tǒng)計和有關(guān)的分析報告一般不用長期

保存。(X)

理想的人機(jī)界面應(yīng)針對具有典型個性的特定的一類用戶設(shè)計。(V)

數(shù)據(jù)輸入的一般準(zhǔn)則中包括盡量(增加)用戶輸入的動作。(X)

用窮舉測試是較現(xiàn)實的測試方法。(X)

編碼時應(yīng)盡可能使用全局變量(X)

重視程序結(jié)構(gòu)的設(shè)計,能使程序具有較好的層次結(jié)構(gòu)(V)

程序中的注解越少越好(X)。

缺乏有力的方法學(xué)的指導(dǎo)和有效的開發(fā)工具的支持,這往往是產(chǎn)

生軟件危機(jī)的原因之一。(V)

一個好的開發(fā)人員應(yīng)具備的素質(zhì)和能力不包括具有良好的書面和

口頭表達(dá)能力。(X)在用戶需求分析時觀察用戶手工操作過程不是

為了模擬手工操作過程,而是為了獲取第

一手資料,并從中提取出有價值的需求。(V)

快速原型技術(shù)適用于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量

的可視輸出、或設(shè)計一些復(fù)雜的算法等場合。(V)

流程圖也稱為程序(框圖)是最常用的一種表示法。(V)

文檔可用于專業(yè)人員和用戶之間的通信和交流;軟件開發(fā)過程的

管理;運(yùn)行階段的維護(hù)。(V)

軟件開發(fā)、設(shè)計幾乎都是從頭開始,成本和進(jìn)度很難估計。(V)

適應(yīng)性維護(hù)是改進(jìn)軟件未來的可維護(hù)性和可靠性。(X)

由于軟件是邏輯產(chǎn)品,軟件質(zhì)量較容易直接度量。(X)

目前我國還沒有頒布軟件開發(fā)標(biāo)準(zhǔn)。(X)

按照功能,軟部件可劃分為系統(tǒng)軟件和應(yīng)用軟件兩類。(V)

如果某子功能可以用一段簡潔、精確的文字描述清楚,就無需進(jìn)

一步分解,是創(chuàng)建用戶需求的數(shù)據(jù)流模型應(yīng)遵循的規(guī)則。(V)

耦合度是對軟件結(jié)構(gòu)中模塊間關(guān)聯(lián)程度的一種度量。在設(shè)計軟件

時應(yīng)追求盡可能緊密的耦合的系統(tǒng)。(X)

隨著軟件復(fù)雜性的不斷提高,軟件的維護(hù)難度越來越大。(V)

軟件的可維護(hù)性差是軟件維護(hù)工作量和費用激增的直接原因。(V)

糾錯性維護(hù)是改正運(yùn)行期間發(fā)現(xiàn)的潛伏錯誤。(V)

軟件復(fù)雜性不能反映出軟件的可理解性、模塊化、簡單性等屬性。

(X)

一般來說,設(shè)計軟件時應(yīng)盡量使用數(shù)據(jù)耦合,減少控制耦合,限

制外部環(huán)境耦合和公共數(shù)據(jù)耦合,杜絕內(nèi)容耦合。(V)

不同程序設(shè)計語言在程序的效率上的差異不大。(X)

編碼的依據(jù)是詳細(xì)設(shè)計說明書。(V)

程序文檔應(yīng)該包括代碼的功能、代碼的完成者等內(nèi)容。(V)

軟件項目定義部分由制定軟件項目開發(fā)計劃、需求分析2個階段

組成。(V)

預(yù)防性維護(hù)是修改軟件,以適應(yīng)軟硬件環(huán)境的變化。(X)

開發(fā)大型軟件易產(chǎn)生疏漏和錯誤,往往是產(chǎn)生軟件危機(jī)的原因之

—O(V)

數(shù)據(jù)流圖中各構(gòu)成元素的名稱不一定必須具有明確的含義以代表

對應(yīng)元素的內(nèi)容或功能。(X)

編程中應(yīng)采用統(tǒng)一的標(biāo)準(zhǔn)和約定,降彳/呈序的復(fù)雜性。(V)

對于軟件項目,投資回收期越長,越快獲得利潤。(X)

一個實時系統(tǒng)必須在嚴(yán)格的時間范圍內(nèi)響應(yīng)。如果響應(yīng)時間被過

分延遲,將帶來災(zāi)難性的后果。(V)

模塊接口簡單是軟件發(fā)生錯誤的一個主要原因。(X)

軟件的質(zhì)量保證工作一般在編碼工作結(jié)束后才開始。(X)

現(xiàn)在人們普遍認(rèn)為優(yōu)秀的程序除了功能正確,性能優(yōu)良之外,還

應(yīng)該容易看懂、容易使用、容易修改和擴(kuò)充。(V)

單項選擇題

1、瀑布模型的存在問題是(B)

A、用戶容易參與開發(fā)

B、缺乏靈活性

C、用戶與開發(fā)者易溝通

D、適用可變需求

2、軟件測試方法中的靜態(tài)測試方法之一為(A)

A、計算機(jī)輔助靜態(tài)分析

B、黑盒法

C、路徑覆蓋

D、邊界值分析

3、開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這

種現(xiàn)象稱做(C)

A、軟件工程

B、軟件周期

C、軟件危機(jī)

D、軟件產(chǎn)生

4、研究開發(fā)所需要的成本和資源是屬于可行性研究中的(B)研究

的一方面。

A、技術(shù)可行性

B、經(jīng)濟(jì)可行性

C、社會可行性

D、法律可行性

5、模塊的內(nèi)聚性最高的是(D)

A、邏輯內(nèi)聚

B、時間內(nèi)聚

C、偶然內(nèi)聚

D、功能內(nèi)聚

6、在SD方法中全面指導(dǎo)模塊劃分的最重要的原則是(D)

A、程序模塊化

B、模塊高內(nèi)聚

C、模塊低耦合

D、模塊獨立性

7、程序的三種基本控制結(jié)構(gòu)是(B)

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

B、順序、選擇和重復(fù)/循環(huán)

C、遞歸、堆棧和隊列

D、調(diào)用、返回和轉(zhuǎn)移

6、黑盒測試在設(shè)計測試用例時,主要需要研究(D)

A、需求規(guī)格說明與概要設(shè)計說明

B、詳細(xì)設(shè)計說明

C、項目開發(fā)計劃

D、概要設(shè)計說明與詳細(xì)設(shè)計說明

7、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是

[-1.0,1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,

1.0,1.001o設(shè)計這組測試用例的方法是(C)

A、條件覆蓋法

B、等價分類法

C、邊界值分析法

D、錯誤推測法

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

A、詳細(xì)設(shè)計

B、軟件編碼

C、軟件測試

D、軟件維護(hù)

9、下列屬于維護(hù)階段的文檔是(C)

A、軟件規(guī)格說明

B、用戶操作手冊

C、軟件問題報告

D、軟件測試分析報告

10、下列文檔與維護(hù)人員有關(guān)的有(C)

A、軟件需求說明書

B、項目開發(fā)計劃

C、概要設(shè)計說明書

D、操作手冊

11、維護(hù)中,因誤刪除一個標(biāo)識符而引起的錯誤是(C)副作用。

A、文檔

B、數(shù)據(jù)

C、編碼

D、設(shè)計

12、產(chǎn)生軟件維護(hù)的副作用,是指(C)

A、開發(fā)時的錯誤

B、隱含的錯誤

C、因修改軟件而造成的錯誤

D、運(yùn)行時誤操作

13、程序的三種基本控制結(jié)構(gòu)是(B)

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

B、順序、選擇和重復(fù)

C、遞歸、堆棧和隊列

D、調(diào)用、返回和轉(zhuǎn)移

14、系統(tǒng)流程圖是描述(C)的工具。

A、邏輯系統(tǒng)

B、程序系統(tǒng)

C、體系結(jié)構(gòu)

D、物理系統(tǒng)

15、可維護(hù)性的特性中相互促進(jìn)的是(A)

A、可理解性和可測試性

B、效率和可移植性

C、效率和可修改性

D、效率和結(jié)構(gòu)好

16、提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就

是避開錯誤技術(shù),但避開錯誤技術(shù)無法做到完美無缺和絕無錯誤,這

就需要(D)

A、消除錯誤

B、檢測錯誤

C、避開錯誤

D、容錯

15、(D)是以提高軟件質(zhì)量為目的的技術(shù)活動。

A、技術(shù)創(chuàng)新

B、測試

C、技術(shù)創(chuàng)造

D、技術(shù)評審

16、原型化方法是一種(A)型的設(shè)計過程。

A、自外向內(nèi)

B、自頂向下

C、自內(nèi)向外

D、自底向上

17、為了提高測試的效率,應(yīng)該(D)

A、隨機(jī)地選取測試數(shù)據(jù)

B、取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)

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

D、選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)

18、使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)(A)和指定的

覆蓋標(biāo)準(zhǔn)。

A、程序的內(nèi)部邏輯

B、程序的復(fù)雜結(jié)構(gòu)

C、使用說明書

D、程序的功能

19、瀑布模型本質(zhì)上是一種(A

A、線性JII頁序模型

B、順序迭代模型

C、線性迭代模型

D、及早見產(chǎn)品模型

20、在SD方法中全面指導(dǎo)模塊劃分的最重要的原則是(D)。

A、程序模塊化

B、模塊高內(nèi)聚

C、模塊低耦合

D、模塊獨立性

21、軟件可維護(hù)性的特性中相互矛盾的是(C)。

A、可修改性和可理解性

B、可測試性和可理解性

C、效率和可修改性

D、可理解性和可讀性

22、軟件維護(hù)產(chǎn)生的副作用,是指(C)。

A、開發(fā)時的錯誤

B、隱含的錯誤

C、因修改軟件而造成的錯誤

D、運(yùn)行時誤操作

、用黑盒技術(shù)設(shè)計測試用例的方法之一為()

23Ao

A、邊界值分析

B、邏輯覆蓋

C、循環(huán)覆蓋

D、基本路杼測試

24、軟件測試方法中的(D)屬于靜態(tài)測試方法。

A里合注

B、路徑覆蓋

C、錯誤推測

D、人工檢測

25、Ada語言是在Pascal語言基礎(chǔ)上開發(fā)出來的,適用于(C)項

目的應(yīng)用領(lǐng)域。

A、科學(xué)工程計算

B、數(shù)據(jù)庫應(yīng)用

C、實時處理

D、人工智能

26、程序設(shè)計語言的工程特性之一為(A)。

A、軟件的可重用性

B、數(shù)據(jù)結(jié)構(gòu)的描述性

C、抽象類型的描述性

D、數(shù)據(jù)庫的易操作性

27、軟件詳細(xì)設(shè)計的主要任務(wù)是確定每個模塊的(A)。

A、算法和使用的數(shù)據(jù)結(jié)構(gòu)

B、外部接口

C、功能

D、編程

28、PAD圖為(B)提供了有力的工具。

A、系統(tǒng)分析

B、軟件的自動化生成

C、自動分析數(shù)據(jù)

D、測試軟件

29、軟件結(jié)構(gòu)圖的形態(tài)特征能反映程序復(fù)用率的是(C)。

A、深度

B、寬度

C、扇入

D、扇出

30、軟件按照設(shè)計的要求,在規(guī)定時間和條件下達(dá)到不出故障,

持續(xù)運(yùn)行的要求的質(zhì)量特性稱為(

B)e

A、可用性

B、可靠性

C、正確性

D、完整性

、為了提高模塊的獨立性,模塊內(nèi)部最好是(

31C)e

A、邏輯內(nèi)聚

B、時間內(nèi)聚

C、功能內(nèi)聚

D、通信內(nèi)聚

32、軟件結(jié)構(gòu)圖中,模塊框之間若有直線連接,表示它們之間存

田A)。

A、調(diào)用關(guān)系

B、組成關(guān)系

C、鏈接關(guān)系

D、順序執(zhí)行關(guān)系

33、需求分析最終結(jié)果是產(chǎn)生(B)。

A、項目開發(fā)計劃

B、需求規(guī)格說明書

C、設(shè)計說明書

D、可行性分析報告

34、可行性研究要進(jìn)行一次(D)需求分析。

A、深入的

B、詳盡的

C、徹底的

D、簡化的、壓縮了的

35、軟件是一種(C)。

A、程序

B、數(shù)據(jù)

C、邏輯產(chǎn)品

D、物理產(chǎn)品

36、單元測試的測試對象是(B).

A、系統(tǒng)

B、程序模塊.

C、模塊接口

D、系統(tǒng)功能

37、軟件總體設(shè)計是指軟件總體結(jié)構(gòu)設(shè)計和數(shù)據(jù)設(shè)計,該階段的主

要任務(wù)不包括(D).

A、設(shè)計軟件的模塊結(jié)構(gòu)

B、定義接口并建立數(shù)據(jù)結(jié)構(gòu)

C、生成概要設(shè)計規(guī)格說明和組裝測試計劃

D、模塊設(shè)計

38、軟件工程的原則有抽象,信息隱藏,模塊化和其他哪些內(nèi)容?

(ABCD)

A、局部化

B、一致性

C、完全性

D、可驗證性

39、常用的軟件項目的估算方法主要有哪4種(ABCD)

A、自頂向下的估算方法

B、自底向上的估算方法

C、差別估算法

D、根據(jù)經(jīng)驗估算公式

40、軟件可行性研究一般不考慮(D)

A、是否有足夠的人員和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)

B、是否有足夠的工具和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)

C、待開發(fā)軟件是否有市場、經(jīng)濟(jì)上是否合算

D、待開發(fā)的軟件是否會有質(zhì)量問題

41、軟件維護(hù)的副作用主要有以下哪幾種(C)

A、編碼副作用、數(shù)據(jù)副作用、測試副作用

B、編碼副作用、數(shù)據(jù)副作用、調(diào)試副作用

C、編碼副作用、數(shù)據(jù)副作用、文檔副作用

D、編碼副作用、文檔副作用、測試副作用

42、軟件項目計劃一般不包括以下哪項內(nèi)容(D)

A、培訓(xùn)計劃

B、人員安排

C、進(jìn)度安排

D、軟件開發(fā)標(biāo)準(zhǔn)的選擇和制定

43、以下哪種測試方法不屬于白盒測試技術(shù)(B)

A、基木路徑測試

B、邊界值分析測試

C、循環(huán)覆蓋測試

D、邏輯覆蓋測試

43、(D)是以提高軟件質(zhì)量為目的的技術(shù)活動。

A、技術(shù)創(chuàng)新

B、測試

C、技術(shù)創(chuàng)造

D、技術(shù)評審

44、使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)(A)和指定的

覆蓋標(biāo)準(zhǔn)。

A、程序的內(nèi)部邏輯

B、程序的復(fù)雜結(jié)構(gòu)

C、使用說明書

D、程序的功能

45、對在數(shù)據(jù)流圖中每一個命令的圖形元素均給以定義是(B)

A、條目定義B、數(shù)據(jù)字典C、數(shù)據(jù)定義D、數(shù)據(jù)說明

46、軟件的可行性研究中不包括(D)

A、法律可行性B、技術(shù)可行性C、經(jīng)濟(jì)可行性D、政治可行性

47、根據(jù)用戶在軟件使用過程中提出的建設(shè)性意見而進(jìn)行的維護(hù)

活動稱為(C)。

A、糾錯性維護(hù)

B、適應(yīng)性維護(hù)

C、改善性維護(hù)

D、預(yù)防性維護(hù)

48、人機(jī)界面的風(fēng)格大致經(jīng)過了(B)代的演變。

A、三

B、四

C、五

D、六

49、以下不屬于白盒測試技術(shù)的是(D)

A、邏輯覆蓋

B、基本路徑測試

C、循環(huán)覆蓋測試

D、等價類劃分

50、為改正軟件系統(tǒng)中潛藏的錯誤而進(jìn)行的維護(hù)活動稱為(A)。

A、糾錯性維護(hù)

B、適應(yīng)性維護(hù)

C、改善性維護(hù)

D、預(yù)防性維護(hù)

51、在設(shè)計測試用例時,應(yīng)當(dāng)包括(C)

A、合理的輸入條件B、不合理的輸入條件

C、合理的和不合理的輸入條件D、部分條件

52、下列各項中不屬于邏輯覆蓋的是(D)

A、語句覆蓋B、判定覆蓋C、判定一條件覆蓋D、全部覆蓋

53、高級語言通常被分成三類,其中不包括(D)

A、通用高級語言

B、面向?qū)ο蟮恼Z言

C、專用語言

D、自然語言

54、耦合度也可以分為七級:其中最松散的耦合是(A)。

A、非直接耦合

B、數(shù)據(jù)耦合

C、特征耦合

D、控制耦合

55、判定表由四部分組成:左上部列出(B)。

A、條件組合與動作之間的對應(yīng)關(guān)系

B、所有條件

C、所有可能的動作

D、可能的條件組合

填空題

軟件二(程序)+(文檔)。

軟件工程的基本原則包括(分解)、(獨立性)、一致性和(確

定性)。

需求分析的基本任務(wù)是準(zhǔn)確的回答(系統(tǒng)必須做什么)。

數(shù)據(jù)字典的內(nèi)容包括六項:數(shù)據(jù)流、(數(shù)據(jù)項)、數(shù)據(jù)結(jié)構(gòu)、

(數(shù)據(jù)存儲)、(處理邏輯)、外部實體。

模塊獨立的概念是(模塊化)、(抽象)、(信息隱蔽)和局部

化概念的直接結(jié)果。

設(shè)計出軟件的初步結(jié)構(gòu)以后應(yīng)該進(jìn)一步分解或合并模塊,力求降

低(耦合)提高(內(nèi)聚)。軟件的維護(hù)一股經(jīng)過(分析和理解程序)、

(修改程序)、(重新驗證程序)三個步驟。假設(shè)使用代碼行技術(shù)進(jìn)

行若用估計,某軟件中共3000行程序,每行平均成本25元,則該軟

件的成本為(75000元)。

軟件開發(fā)需要的資源包括(軟件工具)、(硬件工具)和(人),

其中(人)是最基本的資源。

程序的效率是指(程序的執(zhí)行速度)和(程序占用的存儲空間)。

軟件定義的基本任務(wù)是確定軟件系統(tǒng)的工程(需求),也就是要搞清

”做什么〃。

成本效益分析的目的是從(經(jīng)濟(jì))角度評價開發(fā)一個項目是否可行。

匯編語言是面向(機(jī)器)的,可以完成高級語言無法完成的特殊功

能,如與外部設(shè)備之間的一些接口工作。

詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使

用的數(shù)據(jù))。

軟件工程由(方法),工具和過程三部分組成,稱為軟件工程的三要素.

基于計算機(jī)系統(tǒng)的軟件要素中的軟部件由程序,數(shù)據(jù)和(文檔)組成.

數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù).它用簡

單的圖形記號分別表示數(shù)據(jù)流,轉(zhuǎn)換,(數(shù)據(jù)源)以及外部實體.

流程圖也稱為程序框圖,是最常用的一種表示法,它有順序,分支和

(循環(huán))三個基本控制構(gòu)件.

機(jī)器語言和匯編語言,也稱為(低級語)言.

軟件測試是執(zhí)行程序發(fā)現(xiàn)并排除程序中潛伏的(錯誤)的過程.

動態(tài)測試有兩種測試方法:黑盒測試和(白盒)測試.

軟件可維護(hù)性,是指軟件產(chǎn)品交付使用后,在實現(xiàn)改正潛伏的錯誤,改

進(jìn)性能等屬性,適應(yīng)環(huán)境變化等方面工作的(難易)程度

第三代語言也稱為(高級)語言。

軟件測試是軟件投入運(yùn)行(前),對軟件需求分析、設(shè)計、實現(xiàn)

的強(qiáng)有力的最終審查。黑盒測試主要是測試軟件是否滿足(功能)需

求。

(調(diào)試)的目的是確定錯誤的位置和引起錯誤的原因,并加以改

正。因此,又稱為排錯或糾錯。

軟件工程由方法、工具和(過程)三部分組成,稱軟件工程的三

要素。

可行性研究的目的是用最小的代價在盡可能短的時間內(nèi),確定該

項目是否能夠開發(fā)。程序設(shè)計時代的生產(chǎn)方式是個體手工,程序系統(tǒng)

時代的生產(chǎn)方式是作坊式小團(tuán)體,軟件工程時代的生產(chǎn)方式是(工程

化)。

噴泉模型是一種以需求分析為動力,以對象為驅(qū)動的模型。

需求分析階段,分析人員要確定對問題的綜合需求,其中最豐要

的是功能需求。

可行性研究需要從以下三個方面分析研究每種解決方法的可行性:

技術(shù)可行性、經(jīng)濟(jì)可行性、社會可行性。

可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件

項目是否值得開發(fā),其中的問題能否解決。

判定樹較判定表直觀易讀,判定表進(jìn)行邏輯驗證較嚴(yán)格,能把所

有的可能性全部都考慮到。可將兩種工具結(jié)合起來,先用判定表做底

稿,在此基礎(chǔ)上產(chǎn)生判定樹。

環(huán)境集成主要有數(shù)據(jù)集成、界面集成、控制集成、平臺集成、過

程集成。

可行性研究實質(zhì)上是進(jìn)行一項簡化、壓縮了的需求分析、設(shè)計過

程。

結(jié)構(gòu)化方法有結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化程序設(shè)計構(gòu)成,

它是一種面向數(shù)據(jù)流的開發(fā)方法。

投資回收期就是累計的經(jīng)濟(jì)效益等于最初的項目投資所需的時間。

詳細(xì)描述處理過程常用三種描述工具:圖形、表格和語言。

數(shù)據(jù)流圖中,每個加工至少有一個輸入流和一個輸出流。

結(jié)構(gòu)化設(shè)計以數(shù)據(jù)流為基礎(chǔ)映射成軟件結(jié)構(gòu)。

當(dāng)數(shù)據(jù)流圖中某個加工的一組動作存在著多個條件復(fù)雜組合的判

斷時,使用判定表或判定樹較好。

由于運(yùn)用原型的目的和方式不同,在使用原型時也采取不同的策

略,有拋棄策略和附加策略。

有兩類維護(hù)技術(shù):在開發(fā)階段是用來減少錯誤、提高軟件可維護(hù)

性的面向維護(hù)的技術(shù),在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的維護(hù)

支援技術(shù)。

軟件開發(fā)中原型是軟件的一個早期可運(yùn)行的版本,它反映了最終

系統(tǒng)的重要特性。

產(chǎn)品管理包括版本管理和配置管理。

任何程序都可由順序、選擇、循壞三種基本控制結(jié)構(gòu)構(gòu)造。

測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。這樣便于

對照檢查。

需求分析階段產(chǎn)生的最重要的文檔之一是需求規(guī)格說明書。

項目開發(fā)計劃是一個管理性文檔。

軟件配置管理,簡稱SCM,軟件配置項簡稱SCIe

在算法描述工具中,PAD圖可自動生成程序。由機(jī)器自動通過走

樹的辦法生成相應(yīng)的源代碼,大大提高軟件的生產(chǎn)率。

在CASE集成中,控制集成支持工作臺或環(huán)境中一個工具對系統(tǒng)

中其它工具的訪問。

過程集成是指CASE系統(tǒng)嵌入了關(guān)于過程活動、階段、約束和支

持這些活動所需的工具的知識。

解決一個復(fù)雜問題,往往采取的策略是分解。

效益分析有有形效益和無形效益兩種。

兩個模塊都是用同一張表,這種耦合稱為公共耦合。

一個模塊把數(shù)值作為參數(shù)傳送給另一個模塊,這種耦合方式稱為

數(shù)據(jù)耦合。

一個模塊內(nèi)部各程序段都在同一張表上操作,這個模塊的內(nèi)聚性

稱為通信內(nèi)聚。

在SA方法的需求描述工具中,數(shù)據(jù)流圖描述系統(tǒng)的分解,即描述

系統(tǒng)有哪幾部分組成,各部分之間有什么聯(lián)系等等。數(shù)據(jù)字典定義了

數(shù)據(jù)流圖中每一個圖形元素;結(jié)構(gòu)化語言、判定表或判定樹則詳細(xì)描

述數(shù)據(jù)流圖中不能被再分解的每一個加工。

IDEF圖是一種功能模型,表示系統(tǒng)功能的圖形稱為活動圖形,連

方框上的箭頭有四種類型,他們分別是輸入、輸出、控制、機(jī)制。

軟件項目計劃是可行性研究階段的結(jié)果產(chǎn)品。但由于可行性研究

是在高層次進(jìn)行系統(tǒng)分析,未能考慮軟件系統(tǒng)開發(fā)的細(xì)節(jié)情節(jié),因此

軟件項目計劃一般在需求分析階段完成后才定稿的。

信息隱蔽指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息

(過程或數(shù)據(jù)),對于不需要這些信息的其它模塊來說,是不能訪問

的。

同一個類中的共享是指同一個類中的對象有著相同的數(shù)據(jù)結(jié)構(gòu)和

相同的行為特征。

通過抽象,可以確定組成軟件的過程實體。通過信息隱蔽,可以

定義和實施對模塊的過程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。

IPO圖描述分層圖中一個模塊的輸入、輸出和處理內(nèi)容。

軟件是一種邏輯產(chǎn)品,它與物質(zhì)產(chǎn)品有很大區(qū)別。

數(shù)據(jù)流圖中的箭頭表示數(shù)據(jù)流。

軟件測試時需要三類信息:軟件配置、測試配置、測試工具。

基于IDEFO圖的設(shè)計也是結(jié)構(gòu)化設(shè)計技術(shù)之一,它以系統(tǒng)的功能

模型和信息結(jié)構(gòu)為基礎(chǔ)設(shè)計軟件結(jié)構(gòu)。

系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中

各個元素,表達(dá)了系統(tǒng)中各種元素之間的信息流動情況。

樁模塊是用來代替被測試模塊所調(diào)用的模塊,它的作用是返回被

測模塊所需的信息。建立數(shù)據(jù)字典一般的兩種形式是手工建立和利用

計算機(jī)輔助建立并維護(hù)。

匯編語言是面向機(jī)器的,可以完成高級語言無法滿足要求的特殊

功能,如與外部設(shè)備之間的一些接口操作。

黑盒測試是功能測試,因此設(shè)計測試用例時,需要研究需求規(guī)格

說明書和概要設(shè)計說明書中有關(guān)程序功能或輸入、輸出之間的關(guān)系等

信息,從而與測試后的結(jié)果進(jìn)行分析比較。在類層次中,子類只繼承

一個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為單重繼承。子類繼承了多

個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。

由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有流向。除了與數(shù)據(jù)存儲

之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。

投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資若用所需的時

間。項目的純收入是指在整個生存周期之內(nèi)的累計經(jīng)濟(jì)效益(折合成

現(xiàn)在值)與投資之差。

程序設(shè)計語言的簡潔性是指人們必須記住的語言成分的數(shù)量。人

們要掌握一種語言,需要記住的成分?jǐn)?shù)量越多,簡潔性越差。

不同對象的同一屬性可以具有相同或不同的屬性值。

軟件開發(fā)劃分的各階段仟務(wù)盡可能相對獨立,同一階段仟務(wù)性質(zhì)

盡可能相同。

瀑布模型是將生存周期各活動規(guī)定為線性順序聯(lián)接的若干階段的

模型。

成本效益分析的目的是從經(jīng)濟(jì)角度評價開發(fā)一個軟件項目是否可

行。

在需求分析階段要進(jìn)行以下幾方面的工作:問題識別、分析與綜

合、導(dǎo)出軟件的邏輯模型、編寫文檔。

靜態(tài)冗余常用的有:三模冗余TMR和多模冗余。

McCabe質(zhì)量度量模型,針對面向軟件產(chǎn)品的運(yùn)行、修正、轉(zhuǎn)移。

程序設(shè)計語言的局部性是指語言的聯(lián)想性。在編碼過程中,由語

句組合成模塊,由模塊組裝成系統(tǒng)結(jié)構(gòu),并在組裝過程中實現(xiàn)模塊的

高內(nèi)聚,低耦合,使局部性得到加強(qiáng)。軟件復(fù)雜性度量的參數(shù)主要有

規(guī)模、難度、結(jié)構(gòu)和職能度。

項目開發(fā)計劃的主要內(nèi)容有:項目概述、實施計劃、人員組織及

分工、交付期限。

可行性研究要在較高層次上以較抽象方式進(jìn)行需求分析和設(shè)計。

軟件工程是一門綜合性交叉學(xué)科,計算機(jī)科學(xué)著重于原理和理論,

軟件工程著重于建造軟件系統(tǒng)。

維護(hù)的副作用有編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。

若年利率為I,不計復(fù)利,p元在n年后的價值F=P*(l+n*i)

軟件結(jié)構(gòu)是以模塊為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

軟件設(shè)計階段產(chǎn)生的最重要的文檔之一是概要設(shè)計說明書。

獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。

從程序圖來看,一條獨立路徑是至少包含有一條在其它獨立路徑中未

有過的邊的路徑。

各模塊經(jīng)過單元測試后,將各模塊組裝起來進(jìn)行集成測試,以檢

查與設(shè)計相關(guān)的軟件系統(tǒng)結(jié)構(gòu)的有關(guān)問題。

開發(fā)過程管理包括項目計劃和控制和任務(wù)管理等。

臨時維護(hù)小組采用一同事復(fù)審||或一同行復(fù)審||等方法來提高維護(hù)工

作的效率。

數(shù)據(jù)字典中的加工邏輯主要描述該加工做什么,即實現(xiàn)加工的策

略,而不是實現(xiàn)加工的細(xì)節(jié),它描述如何把輸入數(shù)據(jù)流變換為輸出數(shù)

據(jù)流的加式規(guī)則。

為了較完整的描述用戶對系統(tǒng)的需求,DFD應(yīng)與數(shù)據(jù)庫中的ER圖

結(jié)合起來。

純收入是軟件生存周期內(nèi)累計經(jīng)濟(jì)效益與投資之差。

反映軟件結(jié)構(gòu)的基本形態(tài)特征是深度、寬度、扇入和扇出。

若年利率為I,不計復(fù)利,n年后能收入F元的現(xiàn)在價值

p=F/(l+n*i)o

在一個模塊中,功能狀態(tài)與接口反映模塊的外部特性,邏輯反映

它的內(nèi)部特性。

硬件與軟件一起構(gòu)成完整的計算機(jī)系統(tǒng)。

方法中主要描述工具是與

SADFDDDO

軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模

型。

結(jié)構(gòu)化設(shè)計對數(shù)據(jù)流有兩種分析方法,他們是變換分析設(shè)計和事

務(wù)分析設(shè)計。

數(shù)據(jù)字典中有四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、加工。

常借用硬件可靠性的定量度量方法來度量軟件的可靠性與可用性。

常用指標(biāo)有平均失效等待時間MTTF和平均失效間隔時間MTBF。

Lisp是一種函數(shù)型語言,Prolog是一種邏輯性語言。

Jackson結(jié)構(gòu)圖能對結(jié)構(gòu)進(jìn)行自頂向下分解,因此可以表示層次

結(jié)構(gòu)。

變換模型是一種適合于形式化開發(fā)方法的模型,從軟件需求形式

化說明開始,經(jīng)過一系列變換,最終得到系統(tǒng)的目標(biāo)程序。

軟件開發(fā)環(huán)境的主要目標(biāo)是提高軟件開發(fā)的生產(chǎn)率,改善軟件質(zhì)

量和降低軟件成本。一軟件11包含計算機(jī)程序及其說明程序的各種文檔。

開發(fā)過程依序包括需求分析、設(shè)計、編碼、集成、軟件安裝和驗

收等活動。

社會可行性研究包括合同、責(zé)仟、侵權(quán)、用戶組織的管理模式及

規(guī)范,其他一些技術(shù)人員常常不了解的陷阱等。

IDEF0方法中,將系統(tǒng)功能稱為活動,將表示系統(tǒng)功能的圖形稱

為活動圖形。

數(shù)據(jù)庫的設(shè)計指數(shù)據(jù)存儲文件的設(shè)計,主要進(jìn)行的設(shè)計方面有:

概念設(shè)計、邏輯設(shè)計、物理設(shè)計。

如果只有兩個模塊之間有公共數(shù)據(jù)環(huán)境,這種公共耦合有兩種情

況:一是一個模塊只是給公共數(shù)據(jù)環(huán)境送數(shù)據(jù),另一個模塊是只從公

共環(huán)境中去數(shù)據(jù),這是比較松散的公共耦合;二是兩個模塊都往公共

環(huán)境中送數(shù)據(jù)又從里面取數(shù)據(jù),這是緊密的數(shù)據(jù)耦合。

Jackson方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。早期的Jackson方法

用于開發(fā)模型較少的數(shù)據(jù)處理系統(tǒng)的設(shè)計,簡稱JSP。

工程網(wǎng)絡(luò)圖只有一個開始點和一個終止點,開始點沒有流入箭頭,

稱為入度為零;終止點沒有流出箭頭,稱為出度為零。

為了確保每個開發(fā)過程的質(zhì)量,防止把軟件差錯傳遞到下一個過

程,必須進(jìn)行質(zhì)量檢驗,檢驗的實施有實際運(yùn)行檢驗(即白盒測試和

黑盒測試)和鑒定兩種形式。

瀑布模型是由w.Royce于1970年提出來的。又稱為軟件(生存

周期)模型。

程序設(shè)計語言的(可維護(hù))性通常指這種語言編寫的程序被理解,

被修改及調(diào)整和改進(jìn)的難易程度。

名詞解釋

經(jīng)濟(jì)可行性

進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項

目是否值得投資開發(fā)。

社會可行性

要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目

目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、

操作方式是否可行。

投資回收期

投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資轉(zhuǎn)用所需的時

間。

需求分析

需求分析是指開發(fā)人員要準(zhǔn)確理解用戶的需求,進(jìn)行細(xì)致的調(diào)查

分析,將用戶非形式的需求陳述轉(zhuǎn)化成完整的需求定義,再由需求定

義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。

白盒法

該方法把測試對象看作一個打開的盒子,測試人員須了解程序的

內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),對程序中盡可

能多的邏輯路徑進(jìn)行測試,檢查內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,

實際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒法也不可能進(jìn)行窮舉測

試。黑盒法

該方法把被測試對象看成一個黑盒子,測試人員完全不考慮程序

的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件接口處進(jìn)行測試,依照需求規(guī)格說

明書,檢查程序是否滿足功能要求。因此,黑盒測試又稱為功能測試

或數(shù)據(jù)驅(qū)動測試。

結(jié)構(gòu)化分析

是根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,用數(shù)據(jù)

圖來建立系統(tǒng)的功能模型,從而完成需求分析工作。

原型

是指模擬某種產(chǎn)品的原型模型。軟件開發(fā)中的原型是軟件的一個

早期可運(yùn)行的版本,它反映了最終系統(tǒng)的重要特征

模塊化

是指解決一個復(fù)雜問題是自頂向下逐層把軟件系統(tǒng)劃分成若干模

塊的過程,每個模塊完成一個特定的子功能,所有的模塊按某種方法

組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。

路徑覆蓋

指設(shè)計足夠的測試用例,覆蓋被測程序中所有可能的路徑。

判定/條件覆蓋

指設(shè)計足夠的測試用例,使得判定表達(dá)式中的每個條件的所有可

能取值至少出現(xiàn)一次,并使每個判定表達(dá)式所有可能的結(jié)果也至少出

現(xiàn)一次。

條件覆蓋

是指設(shè)計足夠的測試用例,使得判定表達(dá)式中每個條件的各種可

能的值至少出現(xiàn)一次。滿足條件覆蓋并不一定滿足判定覆蓋。

條件組合覆蓋

是指設(shè)計足夠的測試用例,使的每個判定表達(dá)式中條件的各種可

能的值的組合都至少出現(xiàn)一次,條件組合覆蓋是比較強(qiáng)的覆蓋標(biāo)準(zhǔn)。

原型模型

又稱快速原型模型,它是在開發(fā)真實系統(tǒng)之前,構(gòu)造一個原型,

在該原型的基礎(chǔ)上,逐漸完成整個系統(tǒng)的開發(fā)工作。

軟件工程環(huán)境

美國國防部在STARS計劃中定義如下:-軟件工程環(huán)境是一組方

法、過程及計算機(jī)程序(計算機(jī)化的工具)的整體化構(gòu)件,他支持從

需求定義、程序生成知道維護(hù)的整個軟件生存期II。程序圖

是退化的程序流程圖。也就是說,把程序流程圖中每個處理符號

都退化成一個結(jié)點,原來連接不同處理符號的流線變成連接不同結(jié)點

的有向弧,這樣得到的有向圖就叫程序圖。

流程圖

是描繪物理系統(tǒng)的工具,它用圖形符號來表示系統(tǒng)中的各元素。

它表達(dá)了系統(tǒng)中各個元素之間的信息流動的情況。

結(jié)構(gòu)化分析方法(SA)

是需求分析中使用最多的方法之一,適用于數(shù)據(jù)處理類型軟件的

需求分析?;舅枷胧遣捎米皂斚蛳拢鸩椒纸獾姆椒ǚ治稣麄€系統(tǒng),

有效地控制系統(tǒng)開發(fā)的復(fù)雜性。

軟件生存周期模型

是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。

數(shù)據(jù)字典(DD)

數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。它以

一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了

有關(guān)元素的一致的定義和詳細(xì)的描述。

內(nèi)聚性

內(nèi)聚性是模塊獨立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的

度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。

問答題

1、什么是軟件危機(jī)?軟件危機(jī)有哪幾種表現(xiàn)?

答:軟件開發(fā)和維護(hù)的過程中所遇到的一系列嚴(yán)重的問題。

具體表現(xiàn)在:

(1)產(chǎn)品不能符合用戶的實際需求;

(2)軟件開發(fā)的效率較低;

(3)軟件產(chǎn)品的質(zhì)量差;

(4)軟件開發(fā)成本和進(jìn)度的估算不準(zhǔn)推;

(5)軟件可維護(hù)性差;

(6)軟件開發(fā)文檔資料不完整也不合格;

(7)軟件的價格昂貴。

2、什么是數(shù)據(jù)流圖?為什么數(shù)據(jù)流圖要分層?

答:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)

流從輸入到輸出的傳輸變換過程。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要

工具,它表示了系統(tǒng)內(nèi)部信息的流向,并表示了系統(tǒng)的邏輯處理的功

能。

為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,用一個數(shù)據(jù)流圖是不夠

的。為表達(dá)稍為復(fù)雜的實際問題,需要按照問題的層次結(jié)構(gòu)進(jìn)行逐步

分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。描述一個復(fù)雜的系統(tǒng),

不可能一下子引進(jìn)太多的細(xì)節(jié)。否則用一張數(shù)據(jù)流圖畫出所有的數(shù)據(jù)

流和處理邏輯,這張圖將及其龐大、復(fù)雜,難以繪制,難以理解。因

此數(shù)據(jù)流圖需要進(jìn)行分解,用幾個數(shù)據(jù)流匿來表示。

3、軟件的質(zhì)量反應(yīng)在哪些方面?

答:軟件質(zhì)量反映了以下三方面的問題。

(1)軟件需求是度量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具

備質(zhì)量。

(2)在各種標(biāo)準(zhǔn)中定義了一些開發(fā)準(zhǔn)則,用來指導(dǎo)軟件人員用工

程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準(zhǔn)則,軟件質(zhì)量就得不

到保證。

(3)往往會有一些隱含的需求沒有明確地提出來。例如,軟件應(yīng)

具備良好的可維護(hù)性。如果軟件只滿足那些精確定義了的需求而沒有

滿足這些隱含的需求,軟件質(zhì)量也不能保證。4、什么是編碼風(fēng)格?為

什么要強(qiáng)調(diào)編碼風(fēng)格?

答:編碼風(fēng)格又稱程序設(shè)計風(fēng)格或編程風(fēng)格。

隨著軟件技術(shù)的發(fā)展,編碼的目標(biāo)已經(jīng)從強(qiáng)調(diào)效率轉(zhuǎn)變?yōu)閺?qiáng)調(diào)清

晰。良好的編碼風(fēng)格能在一定程度上彌補(bǔ)語言存在的缺陷,而如果不

注意風(fēng)格就很難寫出高質(zhì)量的程序。尤其當(dāng)多個程序員合作編寫一個

很大的程序時,需要強(qiáng)調(diào)良好而一致的編碼風(fēng)格,以便相互通訊,減

少因不協(xié)調(diào)而引起的問題??傊?,良好的編碼風(fēng)格有助于編寫出可靠

而又容易維護(hù)的程序,編碼的風(fēng)格在很大程度上決定著程序的質(zhì)量。

5、什么是需求分析?需求分析階段的基本任務(wù)是什么?

答:需求分析是當(dāng)前軟件工程中的關(guān)鍵問題,需求分析階段的任

務(wù)是:在可行性分析的

基礎(chǔ)上,進(jìn)一步了解、確定用戶需求。準(zhǔn)確地回答〃系統(tǒng)必須做

什么?〃的問題。獲得需求規(guī)格說明書。還涉及到軟件系統(tǒng)的目標(biāo)、

軟件系統(tǒng)提供的服務(wù)、軟件系統(tǒng)的約束和

軟件系統(tǒng)運(yùn)行的環(huán)境。它還涉及到這些因素和系統(tǒng)的精確規(guī)格說

明,以及系統(tǒng)進(jìn)化之間的關(guān)系。

需求分析的基本任務(wù)包括:

Q)抽取需求:分析現(xiàn)行系統(tǒng)存在需要解決的問題。獲取足夠多的

問題領(lǐng)域的知識,需求抽取的方法一般有問卷法、面談法、數(shù)據(jù)采集

法、用例法、情景實例法以及基于目標(biāo)的方法等;還有知識工程方法,

例如,場記分析法、卡片分類法、分類表格技術(shù)和基于模型的知識獲

取等。

(2)模擬和分析需求:需求分析和模擬又包含三個層次的工作。首

先是需求建模。需求模型的表現(xiàn)形式有自然語言、半形式化(如圖、表、

結(jié)構(gòu)化英語等)和形式化表示等三種。需求概念模型的要求包括實現(xiàn)的

獨立性:不模擬數(shù)據(jù)的表示和內(nèi)部組織等;需求模擬技術(shù)又分為企業(yè)模

擬、功能需求模擬和非功能需求模擬等。

(3)傳遞需求:傳遞需求的主要任務(wù)是書寫軟件需求規(guī)格說明。

(4)認(rèn)可需求:就是對需求規(guī)格說明達(dá)成一致,其主要任務(wù)是沖突

求解,包括定義沖突和沖突求解兩方面。常用的沖突求解方法有:協(xié)

商、競爭、仲裁、強(qiáng)制、教育等,其中有些只能用人的因素去控制。

(5)進(jìn)化需求:客戶的需要總是不斷(連續(xù))地增長,但是一般的軟

件開發(fā)又總是落后于客戶需求的增長,如何管理需求的進(jìn)化(變化)就成

為軟件進(jìn)化的首要問題。對于傳統(tǒng)的變化管理過程來說,其基本成分

包括軟件配置、軟件基線和變化審查小組。當(dāng)前的發(fā)展是軟件家族法,

即產(chǎn)品線方法。多視點方法也是管理需求變化的一種新方法,它可以

用于管理不一致性,并進(jìn)行關(guān)于變化的推理。

6、等價分類法的基本思想是什么?

答:根據(jù)程序的輸入特性,將程序的定義域劃分為有限個等價區(qū)

段一〃等價類〃1

從等價類中選擇出的用例具有〃代表性〃,即測試某個等價類的

代表值就等價于對這一類其他值的測試。如果某個等價類的一個輸入

數(shù)據(jù)(代表值)測試中查出了錯誤,說明該類中其他測試用例也會有錯誤。

7、模塊的內(nèi)聚性包括哪些類型?

模塊的內(nèi)聚性包括:

(1)偶然內(nèi)聚

(2)邏輯內(nèi)聚

(3)時間內(nèi)聚

(4)過程內(nèi)聚

(5)通信內(nèi)聚

(6)順序內(nèi)聚

(7)功能內(nèi)聚

8、分析軟件危機(jī)產(chǎn)生的主要原因有哪些?

答:(1)軟件日益復(fù)雜和龐大(2)軟件開發(fā)管理困難和復(fù)雜(3)

軟件開發(fā)技術(shù)落后(4)牛產(chǎn)方式落后(5)開發(fā)工具落后(6)軟件開

發(fā)費用不斷增加9、說明結(jié)構(gòu)化程序設(shè)計的主要思想是什么?

答:(1)自頂向下、逐步求精的程序設(shè)計方法

(2)使用3種基本控制結(jié)構(gòu)、單入口、單出口來構(gòu)造程序。

10、軟件測試包括哪些步驟?說明這些步驟的測試對象是什么?

答:(1)單元測試,測試對象為單元模塊

(2)集成測試,測試對象為組裝后的程序模塊

(3)確認(rèn)測試,測試對象為可運(yùn)行的目標(biāo)軟件系統(tǒng)(1分)

11、需求分析與軟件設(shè)計二個階段任務(wù)的主要區(qū)別是什么?

答:需求分析定義軟件的用戶需求,屏定義待開發(fā)軟件能做什么

軟件設(shè)計定義軟件的實現(xiàn)細(xì)節(jié)以滿足用戶需求,即研究如何實現(xiàn)

軟件。

12、說明軟件測試和調(diào)試的目的有何區(qū)別?

答:測試的目的是判斷和發(fā)現(xiàn)軟件是否有錯誤

調(diào)試的目的是定位軟件錯誤并糾正錯誤。

13、原型法模型一般適應(yīng)哪些場合?

答:它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā),更適

合于那些項目組成員(包括分析員,設(shè)計員,程序員和用戶)不能很好交流

或通信有困難的情況。

14、軟件工程的目標(biāo)是什么?

答:在給定成本和進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、

可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可

追蹤性和可互操作性并滿足用戶需求的軟件產(chǎn)品。

15、什么是數(shù)據(jù)流圖?其作用是什么?其中的基本符號各表示什

么含義?

答:數(shù)據(jù)流圖簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的

一種工具。

它以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只

反映系統(tǒng)必須完成的邏

O

輯功能,所以它是一種功能模型。

一一||箭頭表示數(shù)據(jù)流;一||圓或橢圓表述加工;一二||雙杠表示數(shù)據(jù)

存儲;一||方框表示數(shù)據(jù)的源點或終點。

16、什么是確認(rèn)測試?該階段有哪些工作?

答:確認(rèn)測試又稱有效性測試。它的任務(wù)是檢查軟件的功能與性

能是否與需求規(guī)格說明書中確定的指標(biāo)相符合。

確認(rèn)測試階段有兩項工作,進(jìn)行確認(rèn)測試與軟件配置審查。<1>

確認(rèn)測試一般是在模擬環(huán)境中運(yùn)用黑盒測試方法,由專門測試人員和

用戶參加的測試。<2>軟件配置審查的任務(wù)是檢查軟件的所有文檔資

料的完整性、正確性。如果發(fā)現(xiàn)遺漏和錯誤,應(yīng)補(bǔ)充和改正,同時要

編排好目錄,為以后的軟件維護(hù)工作奠定基礎(chǔ)。

17、詳細(xì)設(shè)計的基木任務(wù)是什么?有哪幾種描述方法?

答:詳細(xì)設(shè)計是軟件設(shè)計的第二階段,其基本任務(wù)有:為每個模

塊進(jìn)行詳細(xì)的算法設(shè)計;為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計;對數(shù)據(jù)庫進(jìn)

行物理設(shè)計,即確定數(shù)據(jù)庫的物理結(jié)構(gòu);其它設(shè)計,根據(jù)軟件系統(tǒng)類

型,還可能要進(jìn)行代碼設(shè)計、輸入/輸出格式設(shè)計、人機(jī)對話設(shè)計;編

寫詳細(xì)設(shè)計說明書;評審。

詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。如結(jié)構(gòu)化

程序流程圖、盒圖和問題分析圖。IPO圖也是詳細(xì)設(shè)計的主要工具之

-O表格工具如判定表可作為詳細(xì)設(shè)計中描述邏輯條件復(fù)雜的算法。

過程設(shè)計語言(PDL)是一種用于描述模塊算法設(shè)計和處理細(xì)節(jié)的語

言工具。

18、軟件維護(hù)的特點是什么?

答:主要體現(xiàn)在三個方面:①非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。軟件

的開發(fā)過程對軟件的維護(hù)有很大的影響。若不采用軟件工程的方法開

發(fā)軟件,則軟件只有程序而無文檔,維護(hù)工作非常困難,這是一種非

結(jié)構(gòu)化的維護(hù)。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)

的文檔,容易進(jìn)行維護(hù)工作,這是一種結(jié)構(gòu)化的維護(hù)。②維護(hù)的困難

性。軟件維護(hù)的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件

生存周期中的開發(fā)階段沒有嚴(yán)格而有科學(xué)的管理和

規(guī)劃,就會引起軟件運(yùn)行時的維護(hù)困在。③軟件維護(hù)的費用。軟

件維護(hù)的費用在總費用中的比重是在不斷增加的,這是軟件維護(hù)有形

的代價。另外還有無形的代價,即要占用更多的資源。軟件維護(hù)費用

增加的主要原因是軟件維護(hù)的生產(chǎn)率非常低。

19、什么是CASE?CASE工具有哪些分類?

答:CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期

各階段進(jìn)行軟件開發(fā)。從學(xué)術(shù)研究角度講,CASE是多年來在軟件開發(fā)

管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和軟件工具等方面研究和發(fā)展的

產(chǎn)物。CASE把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)方法集成到一個統(tǒng)

一而一致的框架中,并且吸引了CAD(計算機(jī)輔助設(shè)計)、軟件工程、

操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)和許多其它計算機(jī)領(lǐng)域的原理和技術(shù)。因而,

CASE領(lǐng)域是一個應(yīng)用集成和綜合的領(lǐng)域。從產(chǎn)業(yè)角度講,CASE是種

類繁多的軟件開發(fā)和系統(tǒng)集成的產(chǎn)品及軟件工具的集合。CASE技術(shù)種

類CASE系統(tǒng)所涉及到的技術(shù)有兩類:一類是支持軟件開發(fā)過程本身

的技術(shù);另一類是支持軟件開發(fā)過程管理的技術(shù)。從CASE系統(tǒng)產(chǎn)生

方式來看,還有一種特殊的CASE技術(shù),即元——CASE技術(shù)。他是生

成CASE系統(tǒng)的生成器所采用的技術(shù)。該生成器可用來創(chuàng)建支持軟件

開發(fā)過程活動及過程管理的CASE系統(tǒng)。

CASE工具分類的標(biāo)準(zhǔn)可分為:①功能。功能是對軟件進(jìn)行分類的

最常用的標(biāo)準(zhǔn)。②支持的過程。根據(jù)支持的過程,工具可分為設(shè)計工

具、編程工具、維護(hù)工具等。③支持的范圍。根據(jù)支持的范圍,可分

為窄支持、較寬支持和一般支持工具。窄支持指支持過程中特定的任

務(wù),較寬支持是指支持特定過程階段;一般支持是指支持覆蓋軟件過

程的全部階段或大多數(shù)階段。1993年,F(xiàn)uggetta根據(jù)CASE系統(tǒng)對

軟件過程的支持范圍,提出CASE系統(tǒng)可分為三類:(1)支持單個過

程任務(wù)的工具。工具可能是通用的,或者也可能歸組到工作臺。(2)

工作臺支持某一過程所有活動或某些活動。他們一般以或多或少的集

成度組成工具集。(3)環(huán)境支持軟件過程所有活動或至少大部分。他

們一般包括幾個不同的工作臺,將這些工作臺以某種方式集成起來。

20、說明容錯軟件的定義與容錯的一般方法。

答:歸納容錯軟件的定義,有以下四種:⑴規(guī)定功能的軟件,在

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

件為具有容錯功能的軟件。⑵規(guī)定功能的軟件,在一定程序上能從錯

誤狀態(tài)自動恢復(fù)到正常狀態(tài),則稱之為容錯軟件。⑶規(guī)定功能的軟件,

在因錯誤而發(fā)生錯誤時,仍然能在一定程度上完成預(yù)期的功能,則把

該軟件稱為容錯軟件。⑷規(guī)定功能的軟件,在一定程度上具有容錯能

力,則稱之為容錯軟件。

實現(xiàn)容錯技術(shù)的主要手段是冗余,通常冗余技術(shù)分為四類。⑴結(jié)

構(gòu)冗余。結(jié)構(gòu)冗余是通常用的冗余技術(shù)。按其工作方式,它分為靜態(tài)、

動態(tài)和混合冗余三種。⑵信息冗余。為檢查或糾正信息在運(yùn)算或傳輸

中的錯誤須外加一部分信息,這種現(xiàn)象稱為信息冗余。⑶時間冗余。

是指以重復(fù)執(zhí)行指令(指令復(fù)執(zhí))或程序(程序復(fù)算)來消除瞬時錯

誤帶來的影響。⑷冗余附加技術(shù)。是指為實現(xiàn)上述冗余技術(shù)所需的資

源和技術(shù)。包括程序、指令、數(shù)據(jù)、存放和調(diào)動他們的空間和通道等。

21、軟件概要設(shè)計階段的基本任務(wù)是什么?

答:⑴設(shè)計軟件系統(tǒng)結(jié)構(gòu)(簡稱軟件結(jié)構(gòu)),具體為:①采用某

種設(shè)計方法,將一個復(fù)雜的系統(tǒng)按功能劃分成模塊。②確定每個模塊

的功能。③確定模塊之間的調(diào)用關(guān)系。④確定模塊之間的接口,即模

塊之間傳遞的信息。⑤評價模塊結(jié)構(gòu)的質(zhì)量。⑵數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)

計,漢數(shù)據(jù)結(jié)構(gòu)的設(shè)計及數(shù)據(jù)庫的設(shè)計。(3)編寫概要設(shè)計文檔。主要

有:概要設(shè)計說明書;數(shù)據(jù)庫設(shè)計說明書;用戶手冊;修訂測試計劃。

⑷評審。5、快速原型模型有幾種?各有何特點?根據(jù)原型的不同作用,

有三類原型模型:⑴探索型原型。這種類型的原型模型是把原型用于

開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,

并探索各種方案的可行性。它主要針對開發(fā)目標(biāo)模糊,用戶與開發(fā)著

對項目都缺乏經(jīng)驗的情況,通過對原型的開

發(fā)來明確用戶的需求。⑵實驗型原型。這種原型主要用于設(shè)計階

段,考核實現(xiàn)方案是否合適,能否實現(xiàn),對于一個大型系統(tǒng),若對設(shè)

計方案心中沒有把握時,可通過這種原型來證實設(shè)計方案的正確性。

⑶演化型原型。這種原型主要用于及早向用戶提交一個原型系統(tǒng),該

原型系統(tǒng)或者包含系統(tǒng)的框或者包含系統(tǒng)的主要功能。在得到用戶的

認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演變?yōu)樽罱K的軟件系統(tǒng),它將原型的思

路擴(kuò)展到軟件開發(fā)的全過程。

22、在劃分軟件生存周期階段時,應(yīng)遵循的基本原則是什么?

答:軟件生存周期的各個階段有不同的劃分。軟件規(guī)模、種類、

開發(fā)方式、開發(fā)環(huán)境以及開發(fā)使用方法都影響軟件生存周期的劃分。

在劃分軟件生存周期階段時,應(yīng)遵循的一條基本原則是各階段的任務(wù)

應(yīng)盡可能相對獨立,同一階段各項目任務(wù)的性質(zhì)盡可能相同,從而降

低每個階段任務(wù)的復(fù)雜程度,簡化不同階段之間的聯(lián)系,有利于軟件

項目開發(fā)的組織管理。23、請說明軟件文檔的作用?軟件開發(fā)項目生

存期各階段都包含哪些文檔?

答:軟件文檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)

效率;作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志;記錄開發(fā)過程的有關(guān)

信息便于使用與維護(hù);提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;便于用

戶了解軟件功能、性能。

軟件開發(fā)項目生存期各階段應(yīng)包括得文檔以及與各類人員的關(guān)系

如下:可行性研究報告、項目開發(fā)計劃、軟件需求說明書、數(shù)據(jù)要求

說明書、測試計劃、概要設(shè)計說明書、詳細(xì)設(shè)計說明書、用戶手冊、

操作手冊、測試分析報告、開發(fā)進(jìn)度月報、項目開發(fā)總結(jié)、程序維護(hù)

手冊(維護(hù)修改建議)。

24、軟件開發(fā)成本估算方法有哪幾種?

答:①自頂向下估算方法。估算人員參照以前完成的項目所耗費

的總成本(或總工作量),來推算將要開發(fā)的軟件的總成本(或總工

作量),然后把它們按階段、步驟和工作單元進(jìn)行分配,這樣方法稱

為自頂向下的估算方法。②自底向上估算方法。自底向上估算方法是

將待開發(fā)的軟件細(xì)分,分別估算每一個子任務(wù)所需要的開發(fā)工作量,

然后將它們加起來,得到軟件的總開發(fā)量。③差別估算方法。差別估

算是將開發(fā)項目與一個或多個已完成的類似項目進(jìn)行比較,找出與某

個相類似項目的若干不同之處,并估算每個不同之處對成本的影響,

導(dǎo)出

溫馨提示

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

評論

0/150

提交評論