二級c公共基礎(chǔ)軟件工程基礎(chǔ)_第1頁
二級c公共基礎(chǔ)軟件工程基礎(chǔ)_第2頁
二級c公共基礎(chǔ)軟件工程基礎(chǔ)_第3頁
二級c公共基礎(chǔ)軟件工程基礎(chǔ)_第4頁
二級c公共基礎(chǔ)軟件工程基礎(chǔ)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

二級c公共基礎(chǔ)軟件工程基礎(chǔ)

大綱

1、軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。

2、結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。

3、結(jié)構(gòu)化程序設(shè)計(jì)方法,總體設(shè)計(jì)與全面設(shè)計(jì)。

4、軟件測試的方法,白盒測試與黑盒測試,測試用例設(shè)計(jì),軟件測試的實(shí)施,單元測

試,集成測試與系統(tǒng)測試。

5、程序的調(diào)試,靜態(tài)調(diào)試與動態(tài)調(diào)試”

軟件工程基礎(chǔ)

一、軟件工程基本概念

1、計(jì)算機(jī)軟件是包含程序、數(shù)據(jù)及有關(guān)文檔的完整集合。

2、軟件的特點(diǎn)包含:

(1)軟件是一種邏輯實(shí)體;

(2)軟件的生產(chǎn)與硬件不一致,它沒有明顯的制作過程;

(3)軟件在運(yùn)行、使用期間不存在磨損、老化問題;

(4)軟件的開發(fā).運(yùn)行對計(jì)算機(jī)系統(tǒng)具有依靠性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的

問題;

(5)軟件復(fù)雜性高,成本昂貴;

(6)軟件開發(fā)涉及諸多的社會因素。

3、軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或者工具軟件)。

4、軟件危機(jī)要緊表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。

5、軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)與保護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)與工序。

6、軟件工程包含3個要素:方法、工具與過程。

7、軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此有關(guān)的資源與活動,包含4種基本活動:

(1)P—軟件規(guī)格說明;

(2)D——軟件開發(fā);

(3)C——軟件確認(rèn);

(4)A——軟件演進(jìn)。

8、軟件周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用保護(hù)到停止使用退役的過程。

9、軟件生命周期三個階段:軟件定義、軟件開發(fā)、運(yùn)行保護(hù),要緊活動階段是:

(1)可行性研究與計(jì)劃制定;

(2)需求分析;

(3)軟件設(shè)計(jì);

(4)軟件實(shí)現(xiàn);

(5)軟件測試;

(6)運(yùn)行與保護(hù)。

10、軟件工程的目標(biāo)與與原則:

(1)目標(biāo):在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可懂得性、可保護(hù)性、

可重用性、可習(xí)慣性、可移植性、可追蹤性與可互操作性且滿足用戶需求的產(chǎn)品。

(2)基本目標(biāo):付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件

易于移植;需要較低的費(fèi)用;能按時完成開發(fā),及時交付使用。

(3)基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性與可驗(yàn)證性。

11、軟件工程的理論與技術(shù)性研究的內(nèi)容要緊包含:軟件開發(fā)技術(shù)與軟件工程管理。

12、軟件開發(fā)技術(shù)包含:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具與軟件工程環(huán)境。

13、軟件工程管理包含:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。

14、軟件管理學(xué)包含人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計(jì)劃等。

15、軟件工程原則包含抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性與可驗(yàn)證性。

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

1、結(jié)構(gòu)化方法的核心與基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計(jì)理論。

2、需求分析方法有(1)結(jié)構(gòu)化需求分析方法;(2)面向?qū)ο蟮姆治龅姆椒ā?/p>

3、從需求分析建立的模型的特性來分:靜態(tài)分析與動態(tài)分析。

4、結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流

圖與數(shù)據(jù)字典為要緊工具,建立系統(tǒng)的邏輯模型。

5、結(jié)構(gòu)化分析的常用工具

(1)數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求懂得的邏輯模型的圖形表示,它直接支持系

統(tǒng)功能建模。

(2)數(shù)據(jù)字典:對所有與系統(tǒng)有關(guān)的數(shù)據(jù)元素的一個有組織的列表,與精確的、嚴(yán)格的定義,

使得用戶與系統(tǒng)分析員關(guān)于輸入、輸出、存儲成分與中間計(jì)算結(jié)果有共同的懂得。

(3)判定樹:從問題定義的文字描述中分清什么是判定的條件,什么是判定的結(jié)論,根據(jù)描述

材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定

樹。

(4)判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依靠于多個邏輯條件的取值,即完成該加

工的一組動作是由于某一組條件取值的組合而弓發(fā)的,使用判定表描述比較適宜。

6、數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。

7,軟件需求規(guī)格說明書的特點(diǎn):

(1)正確性;

(2)無岐義性;

(3)完整性;

(4)可驗(yàn)證性;

(5)一致性;

(6)可懂得性;

<7)可追蹤性。

三、結(jié)構(gòu)化設(shè)計(jì)方法

1、軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計(jì)是確

定系統(tǒng)的物理模型。

2、軟件設(shè)計(jì)是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或者系統(tǒng)的唯一途徑。

3、從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包含軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。

<1)結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各要緊部件之間的關(guān)系。

(2)數(shù)據(jù)設(shè)計(jì):將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。

(3)接口設(shè)計(jì):描述軟件內(nèi)部、軟件與協(xié)作系統(tǒng)之間與軟件與人之間如何通信。

(4)過程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。

4、從工程管理角度來看:概要設(shè)計(jì)與全面設(shè)計(jì)。

5、軟件設(shè)計(jì)的通常過程:軟件設(shè)計(jì)是一個迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計(jì);后進(jìn)行低層次的

過程設(shè)計(jì);穿插進(jìn)行數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)。

6、衡量軟件模塊獨(dú)立性使用耦合性與內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。

在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。

7、軟件概要設(shè)計(jì)的基本任務(wù)是:

(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì);

(3)編寫概要設(shè)計(jì)文檔;(4)概要設(shè)計(jì)文檔評審。

8、模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。

9、在結(jié)構(gòu)圖中還能夠用帶注釋的筋頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實(shí)心圓的脩頭

表示傳遞的是操縱信息,空心圓箭心表示傳遞的是數(shù)據(jù)。

10、結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。

11、結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊與協(xié)調(diào)模塊。

12、典型的數(shù)據(jù)流類型有兩種:變換型與事務(wù)型。

(1)變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分構(gòu)成。

(2)事務(wù)型數(shù)據(jù)流的特點(diǎn)是:同意一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)與性質(zhì),選擇分派一個適當(dāng)?shù)?/p>

處理單元,然后給出結(jié)果。

13、全面設(shè)計(jì):是為軟件結(jié)構(gòu)圖中的每一個模塊確定實(shí)現(xiàn)算法與局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)

工具表示算法與數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。

14、常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。

四、軟件測試

I、軟件測試定義:使用人工或者自動手段來運(yùn)行或者測定某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否

滿足規(guī)定的需求或者是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。

2、軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。

3、軟件測試方法:靜態(tài)測試與動態(tài)測試。

4、靜態(tài)測試包含代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,要緊通過人工進(jìn)行。

5、動態(tài)測試:是基本計(jì)算機(jī)的測試,要緊包含白盒測試方法與黑盒測試方法。

(I)白盒測試:在程序內(nèi)部進(jìn)行,要緊用于完成軟件內(nèi)部操作的驗(yàn)證。要緊方法有邏輯覆蓋、

基本基路徑測試。

(2)黑盒測試:要緊診斷功能不對或者遺漏、界面錯?誤、數(shù)據(jù)結(jié)構(gòu)或者外部數(shù)據(jù)走訪問錯誤、

性能錯誤、初始億與終止條件錯,用于軟件確認(rèn)。要緊方法有等價(jià)類劃分法、邊界值分析

法,錯誤推測法,因果圖等“

6、軟件測試過程通常按4個步驟進(jìn)行:單元測試、集成測試、驗(yàn)收測試(確認(rèn)測試)與系統(tǒng)測試。

五、程序的調(diào)試

1、程序調(diào)試的任務(wù)是診斷與改正程序中的錯誤,要緊在開發(fā)階段進(jìn)行。

2、程序調(diào)試的基本步驟:

(1)錯誤定位;

(2)修改設(shè)計(jì)與代碼,以排除錯誤;

(3)進(jìn)行回歸測試,防止引進(jìn)新的錯誤。

3、軟件調(diào)試可分表靜態(tài)調(diào)試與動態(tài)調(diào)試。靜態(tài)調(diào)試要緊是指通過人的思維來分析源程序代碼與排錯,

是要緊的設(shè)計(jì)手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。要緊調(diào)試方法有:

(1)強(qiáng)行排錯法;

(2)回溯法;

(3)原因排除法。

習(xí)題

一、選擇題

1、下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是o(A)

A.使用順序、選擇與重復(fù)(循環(huán))三種基本操縱結(jié)構(gòu)表示程序的操縱邏輯

B.模塊只有一個入口,能夠有多個出口

C.注重提高程序的執(zhí)行效率

D.不使用goto語句

2、下面概念中,不屬于面向?qū)ο蠓椒ǖ氖恰?D)

A.對象B.繼承C.類D.過程調(diào)用

3、在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是。(B)

A.可行性分析B.需求分析C.全面設(shè)計(jì)D.程序編碼

4、在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是0(D)

A.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)B.給出系統(tǒng)模塊結(jié)構(gòu)C.定義模塊算法D.定義需求并建立系統(tǒng)模型

5、結(jié)構(gòu)化程序設(shè)計(jì)要緊強(qiáng)調(diào)的是。(B)

A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性

6、在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)務(wù)必做什么與務(wù)必具備什么功能的階段是。(D)

A.概要設(shè)計(jì)B.全面設(shè)計(jì)C,可行性分析D.需求分析

7、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識

的圖符不屬于數(shù)據(jù)流圖合法圖符的是。(A)

A.操縱流B.加工C.數(shù)據(jù)存儲D.源與潭

8、軟件需求分析階段的工作能夠分四個力面:需求獲取、需求分析、編寫需求規(guī)格說明竹與—o(B)

A.階段性報(bào)告B.需求評審C.總結(jié)D.都不正確

9、對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是o(A)

A.程序應(yīng)簡單、清晰、可讀性好B.符號名的命名要符合語法

C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無

10、下面對對象概念描述錯誤的是o(A)

A.任何對象都務(wù)必有繼承性B.對象是屬性與方法的封裝體

C.對象間的通訊靠消息傳遞D.操作是對象的動態(tài)性屬性

11、下面不屬于軟件工程的3個要素的是o(D)

A.工具B.過程C.方法D.環(huán)境

12、程序流程圖(PFD)中的箭頭代表的是o(B)

A.數(shù)據(jù)流B.操縱流C.調(diào)用關(guān)系D.構(gòu)成關(guān)系

13、在面向?qū)ο蠓椒ㄖ?,一個對象請求另一對象為其服務(wù)的方式是通過發(fā)送______。(D)

A.調(diào)用語句B.命令C.口令D.消息

14、檢查軟件產(chǎn)品是否符合需求定義的過程稱之______o(A)

A.確認(rèn)測試B.集成測試C.驗(yàn)證測試D.驗(yàn)收測試

15、下列工具中屬于需求分析常用工具的是o(D)

A.PADB.PFDC.N-SD.DFD

16、下面不屬于軟件設(shè)計(jì)原則的是o(C)

A.抽象B.模塊化C.自底向上D.信息隱蔽

17、信息隱蔽的概念與下述哪一種概念直接有關(guān)。(B)

A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型劃分D.模擬耦合度

18、面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不一致,它的基本原理是o(C)

A.模擬現(xiàn)實(shí)世界中不一致事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的黨法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

19、在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是。(C)

A.全面設(shè)計(jì)B.需求分析C.總休設(shè)計(jì)D.編程調(diào)試

20、軟件調(diào)試的目的是o(B)

A.發(fā)現(xiàn)錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能

21、在設(shè)計(jì)程序時,應(yīng)采納的原則之一是o(A)

A.程序結(jié)構(gòu)應(yīng)有助于讀者懂得B.不限制goto語句的使用

C.減少或者取消注解行D,程序越短越好

22、下列不屬于軟件調(diào)試技術(shù)的是。(B)

A.強(qiáng)行排錯法B.集成測試法C.回溯法D.原因排除法

23、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是o(D)

A.便于用戶、開發(fā)人員進(jìn)行懂得與交流

B.反映出用戶問題的結(jié)構(gòu),能夠作為軟件開發(fā)工作的基礎(chǔ)與根據(jù)

C.作為確認(rèn)測試與驗(yàn)收的根據(jù)

D.便于開發(fā)人員進(jìn)行需求分析

24、在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示0(C)

A.操縱程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系

C.數(shù)據(jù)的流向D.程序的構(gòu)成成分

25、軟件設(shè)計(jì)包含軟件的結(jié)構(gòu)、數(shù)據(jù)接口與過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指。(B)

A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C.軟件層次結(jié)構(gòu)D.軟件開發(fā)過程

26、為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常

也把這種圖稱之______o(B)

A.PAD圖B.N-S圖C.結(jié)構(gòu)圖D.數(shù)據(jù)流圖

27、需求分析階段的任務(wù)是確定。(D)

A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能

28、下列不屬于結(jié)構(gòu)化分析的常用工具的是0(D)

A.數(shù)據(jù)流圖B.數(shù)據(jù)字典C.判定樹D.PAD圖

29、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成。(A)

A.定義、開發(fā)、運(yùn)行保護(hù)B.設(shè)計(jì)階段、編程階段、測試階段

C總體設(shè)計(jì)、全面設(shè)計(jì)、編程調(diào)試D.需求分析、功能定義、系統(tǒng)設(shè)計(jì)

30、在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是。(C)

A.循環(huán)的集合B.北址的集合C.路徑的集合D.目標(biāo)的集合

31、軟件生命周期中所花費(fèi)用最多的階段是o(D)

A.全面設(shè)計(jì)B.軟件編碼C.軟件測試D.軟件保護(hù)

32、軟件需求分析通常應(yīng)確定的是用戶對軟件的。(D)

A.功能需求B.非功能需求C.性能需求D.功能需求與非功能需求

33、下列關(guān)于軟件測試的描述中正確的是______。(C)

A.軟件測試的FI的是證明程序是否正確

B.軟件測試的目的是使程序運(yùn)行結(jié)果正確

C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤

D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則

34、為了使模塊盡可能獨(dú)立,要求。(B)

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

35、下列描述中正確的是。(D)

A.程序就是軟件B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,乂是物理實(shí)體D.軟件是程序、數(shù)據(jù)與有關(guān)文檔的集合

36、下面敘述正確的是。

A.程序設(shè)計(jì)就是編制程序B.程序的測試務(wù)必由程序員自己去完成

C程序經(jīng)調(diào)試改錯后還應(yīng)進(jìn)行再測試D.程序經(jīng)調(diào)試改錯后不必進(jìn)行再測試

37、下列描述中正確的是。(C)

A.軟件工程只是解決軟件項(xiàng)目的管理問題

B.軟件工程要緊解決軟件產(chǎn)品的生產(chǎn)率問題

C.軟件工程的要緊思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題

38、在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是。(D)

A.PDL(過程設(shè)計(jì)語言)B.PAD圖C.N-S圖D.DFD圖

39、下列敘述中正確的是e(A)

A.軟件交付使用后還需要進(jìn)行保護(hù)B.軟件一旦交付使用就不需要再進(jìn)行保護(hù)

C.軟件交付使用后其生命周期就結(jié)束D.軟件保護(hù)是指修復(fù):程序中被破壞的指令

40、下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法是o(D)

A.自頂向下B.逐步求精C.模塊化D.可愛用

2、下面概念中,不屬于面向?qū)ο蠓椒ǖ氖莀____。D

A、對象

B、繼承

C、類

D、過程調(diào)用

4、在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是oB

A、可行性分析

B、需求分析

C、全面設(shè)計(jì)

D、程序編碼

5、在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是°D

A、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

B、給出系統(tǒng)模塊結(jié)構(gòu)

C、定義模塊算法

D、定義需求并建立系統(tǒng)模型

10、下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是?B

A、使用順序、選擇與重復(fù)(循環(huán))三種基本操縱結(jié)構(gòu)表示程序的操縱邏輯

B、模塊只有一個入口,能夠有多個出口

C、注重提高程序的執(zhí)行效率

D、不使用goto語句

3、在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是。B

A、可行性分析

B、需求分析

C、全面設(shè)計(jì)

D、程序編碼

5、結(jié)構(gòu)化程序設(shè)計(jì)要緊強(qiáng)調(diào)的是oB

A、程序的規(guī)模

B、程序的易讀性

C、程序的執(zhí)行效率

D、程序的可移植性

6、在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)務(wù)必做什么與務(wù)必具備什么功能的階段是一。D

A..概要設(shè)計(jì)

B、全面設(shè)計(jì)

C、可行性分析

D、需求分析

7、下面不屬于軟件設(shè)計(jì)原則的是。C

A、抽象

B、模塊化

C、自底向上

D、信息隱蔽

2、下面概念中,不屬丁?面向?qū)ο蠓椒ǖ氖莖D

A、對象

B、繼承

C、類

D、過程調(diào)用

5、程序流程圖(PFD)中的箭去代表的是oB

A、數(shù)據(jù)流

B、操縱流

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

D、構(gòu)成關(guān)系

9、在結(jié)構(gòu)化方法中,軟件功能分解屬于■下列軟件開發(fā)中的階段。C

A、全面設(shè)計(jì)

B、需求分析

C、總體設(shè)計(jì)

D、編程調(diào)試

10、軟件調(diào)試的目的是°B

A、發(fā)現(xiàn)錯誤

B、改正錯誤

C、改善軟件的性能

D、挖掘軟件的潛能

1、在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是oC

A、循環(huán)的集合

B、地址的集合

C、路徑的集合

D、目標(biāo)的集合

4、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成0A

A、定義、開發(fā)、運(yùn)行保護(hù)

B、設(shè)計(jì)階段、編程階段、測試階段

C、總體設(shè)計(jì)、全面設(shè)計(jì)、編程調(diào)試

D、需求分析、功能定義、系統(tǒng)設(shè)計(jì)

6、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是°D

A、便于用戶、開發(fā)人員讓行懂得與交流

B、反映出用戶問題的結(jié)構(gòu),能夠作為軟件開發(fā)工作的基礎(chǔ)與根據(jù)

3作為確認(rèn)測試與驗(yàn)收的根據(jù)

D、便于開發(fā)人員進(jìn)行需求分析

8、面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不一致,它的基本原理是°C

A、模擬現(xiàn)實(shí)世界中不一致事物之間的聯(lián)系

B、強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C、使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D、鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

3、為了使模塊盡可能獨(dú)立,要求。B

A..模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

4、下列描述中正確的是.D

A、程序就是軟件

B、軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C、軟件既是邏輯實(shí)體,又是物理實(shí)體

D、軟件是程序、數(shù)據(jù)與有關(guān)文檔的集合

G、下列關(guān)于軟件測試的描述中正確的是。C

A,軟件測試的目的是證明程序是否正確

B、軟件測試的目的是使程序運(yùn)行結(jié)果正確

C、軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤

D、軟件測試的目的是使程序符合結(jié)構(gòu)化原則

5、下列描述中正確的是oC

A、軟件工程只是解決軟件項(xiàng)目的管理問題

B、軟件工程要緊解決軟件產(chǎn)品的生產(chǎn)率問題

C、軟件工程的要緊思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D、軟件,程只是解決軟件開發(fā)中的技術(shù)問題

6、下列敘述中正確的是oA

A、軟件交付使用后還需要進(jìn)行保護(hù)

B、軟件一旦交付使用就不需要再進(jìn)行保護(hù)

C、軟件交付使用后其生命周期就結(jié)束

D、軟件保護(hù)是指修復(fù)程序中被破壞的指令

9,在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是.D

A、PDL(過程設(shè)計(jì)語言)

B、PAD圖

C、N-S圖

D、DFD圖

10、下面敘述正確的是。C

A、程序設(shè)計(jì)就是編制程序

B、程序的測試務(wù)必由程序員自己去完成

C、程序經(jīng)調(diào)試改錯后還應(yīng)進(jìn)行再測試

D、程序經(jīng)調(diào)試改錯后不必進(jìn)行再測試

2、下列敘述中正確的是-D

A、軟件測試應(yīng)該由程序開發(fā)者來完成

B、程序經(jīng)調(diào)試后通常不需要再測試

C、軟件保護(hù)只包含對程序代碼的保護(hù)

D、以上三種說法都不對

5、下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是:D

A、自頂向下

B、逐步求精

C、模塊化

D、可復(fù)用

10、兩個或者兩個以上的模塊之間關(guān)聯(lián)的緊密程度稱之.A

A、耦合度

B、內(nèi)聚度

C、復(fù)雜度

D、數(shù)據(jù)傳輸特性

1、下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的姑oC

A..軟件測試

B、概要設(shè)計(jì)

C、軟件保護(hù)

D、全面設(shè)計(jì)

5、從工程管理角度,軟件設(shè)計(jì)通常分為兩步完成,它們是_____,A

A、概要設(shè)計(jì)與全面設(shè)計(jì)

B、過程操縱

C、軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)

D、程序設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)

G、下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是。D

A、源程序要文檔化

B、數(shù)據(jù)說明的次序要規(guī)范化

C、避免濫用goto語句

D、模塊設(shè)計(jì)要保證高耦今、高內(nèi)聚

9、下列敘述中正確的是_____oA

A、軟件測試的要緊目的是發(fā)現(xiàn)程序中的錯誤

B、軟件測試的要緊目的是確定程序中錯誤的位置

C、為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作

I)、軟件測試是證明軟件次有錯誤

10、在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是oD

A、各模塊應(yīng)包含盡量多的功能

B、各模塊的規(guī)模應(yīng)盡量大

C、各模塊之間的聯(lián)系應(yīng)盡量緊密

D、模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度

2、下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是.A

A、程序的效率第一,清晰第二

B、程序的可讀性好

C、程序中要有必要的注釋

D、輸入數(shù)據(jù)前要有提示信息

6、軟件調(diào)試的目的是?B

A、發(fā)現(xiàn)錯誤

B、改正錯誤

C、改善軟件的性能

D、驗(yàn)證軟件的正確性

7、在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠oC

A、對象的繼承

B、對象的多態(tài)

C、對象的封裝

D、對象的分類

9、軟件是指°D

A、程序

B、程序與文檔

3算法加數(shù)據(jù)結(jié)構(gòu)

D、程序、數(shù)據(jù)與有關(guān)文檔的完整集合

1、軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是oB

A、低內(nèi)聚低耦合

B、高內(nèi)聚低耦合

C、低內(nèi)聚高耦合

I)、高內(nèi)聚高耦合

5、在軟件開發(fā)中,需求分析階段產(chǎn)生的要緊文檔是______oB

A..可行性分析報(bào)告

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

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

D、集成測試計(jì)劃

6、程序流程圖中帶有箭頭的線段表示的是0C

A、圖元關(guān)系

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

C、操縱流

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

7、結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包含.A

A,多態(tài)性

B、自頂向下

C、模塊化

3、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)

據(jù)流圖合法圖符的是oA

A、操縱流

B、加工

C、數(shù)據(jù)存儲

D、源與潭

4、軟件需求分析階段的工作,能夠分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書與。B

A、階段性報(bào)告

B、需求評審

C、總結(jié)

D、都不正確

5、結(jié)構(gòu)化程序設(shè)計(jì)要緊強(qiáng)調(diào)的是。B

A、程序的規(guī)模

B、程序的易讀性

C、程序的執(zhí)行效率

D、程序的可移植性

8、在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)務(wù)必做什么與務(wù)必具備什么功能的階段是oD

A、概要設(shè)計(jì)

B、全面設(shè)計(jì)

C、可行性分析

D、需求分析

3、下面不屬于軟件工程的3個要素的是?D

A、工具

B、過程

C、方法

D、環(huán)境

7、程序流程圖(PFD)中的箭頭代表的是_____oA

As數(shù)據(jù)流

B、操縱流

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

D、構(gòu)成關(guān)系

8、下面對對象概念描述錯誤的是oA

A、任何對象都務(wù)必有繼承性

B、對象是屬性與方法的封裝體

C、對象間的通訊靠消息傳遞

I)、操作是對象的動態(tài)性屬性

10、對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是_____oA

A、程序應(yīng)簡單.、潔晰、可讀性好

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

C、充分考慮程序的執(zhí)行效率

D、程序的注釋可有可無

3、在面向?qū)ο蠓椒ㄖ?,一個對象請求另一對象為其服務(wù)的方式是通過發(fā)送oD

A、調(diào)用語句

B、命令

C、口令

D、消息

4、下列工具中屬于需求分析常用工具的是oD

A、PAD

B、PFD

C、N-S

D、DFD

6、下面不屬于軟件設(shè)計(jì)原則的是。C

A、抽象

B、模塊化

C、自底向上

D、信息除敝

9、檢杳軟件產(chǎn)品是否符合需求定義的過程稱之。D

A、確認(rèn)測試

B、集成測試

C、驗(yàn)證測試

D、驗(yàn)收測試

1、軟件調(diào)試的目的是°B

A、發(fā)現(xiàn)錯誤

B、改正錯誤

C、改善軟件的性能

D、挖掘軟件的潛能

6、在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段。C

A、全面設(shè)計(jì)

B、需求分析

C、總體設(shè)計(jì)

D,編程調(diào)試

7、信息隱蔽的概念與下述哪?種概念宜接有關(guān)。B

A、軟件結(jié)構(gòu)定義

B、模塊獨(dú)立性

C、模塊類型劃分

D、模擬耦合度

9、面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不一致,它的基本原理是oC

A、模擬現(xiàn)實(shí)世界中不一致事物之間的聯(lián)系

B、強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C、使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題

D、鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

1、下列不屬于軟件調(diào)試技術(shù)的是oB

A、強(qiáng)行排錯法

B、集成測試法

C、回溯法

【)、原因排除法

2、在設(shè)計(jì)程序時,應(yīng)采納的原則之一是°A

A.程序給構(gòu)應(yīng)有助于讀者懂得

B、不限制got。語句的使用

C、減少或者取消注解行

D、程序越短越好

5、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是00

A、便于用戶、開發(fā)人員在行懂得與交流

B、反映出用戶問題的結(jié)秘能夠作為軟件開發(fā)工作的基礎(chǔ)與根據(jù)

C、作為確認(rèn)測試與驗(yàn)收的根據(jù)

D、便于開發(fā)人員進(jìn)行需求分析

G、在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示oC

A、操縱程序的執(zhí)行順序

B、模塊之間的調(diào)用關(guān)系

C、數(shù)據(jù)的流向

D、程序的構(gòu)成成分

2、軟件設(shè)計(jì)包含軟件的結(jié)構(gòu)、數(shù)據(jù)接口與過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指。B

A、模塊間的關(guān)系

B、系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C、軟件層次結(jié)構(gòu)

D、軟件開發(fā)過程

6、需求分析階段的任務(wù)是確定。D

A、軟件開發(fā)方法

R、軟件開發(fā)工具

C、軟件開發(fā)費(fèi)用

D、軟件系統(tǒng)功能

9、為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱之

______oB

A、PAD圖

B、N-S圖

C、結(jié)構(gòu)圖

D、數(shù)據(jù)流圖

2、下列不屬于?結(jié)構(gòu)化分析的常用工具的是(.D

A,數(shù)據(jù)流圖

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

C、判定樹

D、PAD圖

3、在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是°C

A、循環(huán)的集合

B、地址的集合

C、路徑的集合

D、目標(biāo)的集合

10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成。A

A、定義、開發(fā)、運(yùn)行保護(hù)

B、設(shè)計(jì)階段、編程階段、測試階段

C、總體設(shè)計(jì)、全面設(shè)計(jì)、編程調(diào)試

D、需求分析、功能定義、系統(tǒng)設(shè)計(jì)

3、在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示。C

A、操縱程序的執(zhí)行順序

B、模塊之間的調(diào)用關(guān)系

C、數(shù)據(jù)的流向

D、程序的構(gòu)成成分

4.檢杏軟件產(chǎn)品是否符合需求定義的過程稱之。D

A、確認(rèn)測試

B、集成測試

C、驗(yàn)證測試

D、驗(yàn)收測試

6、軟件設(shè)計(jì)包含軟件的結(jié)構(gòu)、數(shù)據(jù)接口與過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指。B

A、模塊間的關(guān)系

B、系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C、軟件層次結(jié)構(gòu)

D、軟件開發(fā)過程

8、對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是.A

A、程序應(yīng)簡單、清晰、可讀性好

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

C、充分考慮程序的執(zhí)行效率

D、程序的注釋可有可無

二、填空題

I、若按功能劃分,軟件測試的方法通常分為白盒測試方法與一黑盒—測試方法。(黑盒)

2、結(jié)構(gòu)化程序設(shè)計(jì)力法的要緊原則能夠概括為自頂向下、逐步求精、—模塊化—與限制使用got。

語句。

(模塊化)

3、軟件的調(diào)試方法要緊有:強(qiáng)行排錯法、回溯法_______與原因排除法。(回溯法)

4、數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包含5個部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、—數(shù)據(jù)

存儲—與處理過程。:數(shù)據(jù)存儲)

5、面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個一實(shí)體—。(實(shí)體)

6、軟件的需求分析階段的工作,能夠概括為四個方面:—需求獲取—、需求分析、編寫需求規(guī)格

說明書與需求評審。(需求獲?。?/p>

7、軟件工程研究的內(nèi)容要素包含:.軟件開發(fā)技術(shù)與軟件工程管理。(軟件開發(fā))

8、與結(jié)構(gòu)化需求分析方法相對應(yīng)的是一結(jié)構(gòu)化設(shè)計(jì)方法。(結(jié)構(gòu)化設(shè)計(jì))

9、在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的一封裝性來實(shí)現(xiàn)的。(封裝)

10、數(shù)據(jù)流的類型有—變換型—與事務(wù)型。(變換型)

II、一個類能夠從直接或者間接的祖先中繼承所有屬性與方法。使用這個方法提高了軟件的一可重用

性o

(可重用性)

12、面向?qū)ο蟮哪P椭?,最基本的概念是對象與_類o(類)

13、軟件保護(hù)活動包含下列兒類:改正性保護(hù)、習(xí)慣性保護(hù)、.完善性_____保護(hù)與預(yù)防性保護(hù)。(完

善性)

14、Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國的MJackson提出的,它是一種面向一數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)

方法。

(數(shù)據(jù)結(jié)構(gòu))

15、測試的目的是暴露錯誤,評價(jià)程序的可靠性;而一調(diào)試的目的是發(fā)現(xiàn)錯誤的位置并改正錯

誤。(調(diào)試)

16、在進(jìn)行模塊測試時,要為每個被測試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動模塊與承接模塊(樁模塊)。

其中一驅(qū)動模塊的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)

果。(驅(qū)動模塊)

17、診斷與改正程序中錯誤的工作通常稱之一程序調(diào)試。(程序調(diào)試)

18、在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱之—對象。(對象)

19、在面向?qū)ο蠓椒ㄖ?,_類_________描述的是具有相似屬性與操作的一組對象。(類)

2()、程序測試分為靜態(tài)分析與動態(tài)測試。其中,—靜態(tài)分析指的是不執(zhí)行程序,而只是對程

序文本進(jìn)行檢查,通過閱讀與討論,分析與發(fā)現(xiàn)程序中的錯誤。(靜態(tài)分析)

4、若按功能劃分,軟件測試的方法通常分為白盒測試方法與黑盒_____測試方法。(黑盒)

1、在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的一封裝性來實(shí)現(xiàn)的。(封裝)

2、軟件保護(hù)活動包含下列幾類:改正性保護(hù)、習(xí)慣性保護(hù)、完善性保護(hù)與預(yù)防性保護(hù).(完善性)

3、面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個一實(shí)體____o(實(shí)體)

4、與結(jié)構(gòu)化需求分析方法相對應(yīng)的是一結(jié)構(gòu)化設(shè)計(jì)

溫馨提示

  • 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

提交評論