青島理工大學成人教育 軟件工程(專升本)復習題 期末考試復習題及參考答案_第1頁
青島理工大學成人教育 軟件工程(專升本)復習題 期末考試復習題及參考答案_第2頁
青島理工大學成人教育 軟件工程(專升本)復習題 期末考試復習題及參考答案_第3頁
青島理工大學成人教育 軟件工程(專升本)復習題 期末考試復習題及參考答案_第4頁
青島理工大學成人教育 軟件工程(專升本)復習題 期末考試復習題及參考答案_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

軟件工程(專升本)

一、選擇題:

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

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

C.遞歸、堆棧和隊列D.調用、返回和轉移

答案:B

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

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

答案:C

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

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

答案:A

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

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

答案:D

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

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

答案:C

6.下列敘述中,不屬于數據字典的作用。

A.作為編碼階段的描述工具B.為用戶與開發人員之間統一認識

C.作為概要設計的依據D.為需求分析階段定義各類條目

答案:A

7.結構化系統分析主要是通過一進行分析的。

A.算法分解B.控制結構分解C.數據結構分解D.處理功能分解

答案:D

8.分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描述了系統的一o

A.總貌B.細節C.抽象D.軟件的作者

答案:A

9,結構化分析方法以數據流圖、—和加工說明等描述工具,即用直觀的圖和簡潔的語言

來描述軟件系統模型。

A.DFD圖B.PAD圖C.IPO圖D.數據字典

答案:D

10.不適于作為數據流圖處理(加工)框名稱的是—0

A.人工校核工資數據B.工資支票數據

C.打印工資支票D.計算職工工資

答案:B

11.系統開發人員使用系統流程圖或其他工具描述系統,估計每種方案的成本和效益的工作

是在階段進行的。

A.需求分析B.總體設計C.詳細設計D.編碼階段

答案:B

12.軟件的一設計又稱為總體設計,其主要任務是建立軟件系統的總體結構。

A.概要B.抽象C.邏輯D.規劃

答案:A

13.結構化設計方法是面向—的設計方法。

A.過程B.對象C.數據流D.數據結構

答案:D

14.Jackson設計方法由英國的M.Jackson提出的,它是一種面向的設計方法。

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

答案:C

15.結構化設計采用模塊化方法的主要出發點是。

A.增加內聚性B.減少耦合度C.提高有效性D.降低復雜度

答案:D

16.一個模塊直接控制(調用)的下層模塊的數目稱為璞塊的o

A.扇入數B.扇出數C.寬度D.作用域

答案:B

17.某個模塊的作用域是指o

A.被該模塊調用的所用模塊B.調用該模塊的所有模塊

C.與該模塊相關聯的所有模塊D.受該模塊內的判定影響的所有模塊

答案:D

18.模塊本身的內聚是模夬獨立性的重要度量因素之一,在七類內聚中,具有最強內聚的一

類是—o

A.順序性內聚B.過程性內聚C.邏輯性內聚D.功能性內聚

答案:D

19.如果模塊中所有成分引用共同的數據,該模塊內的聯系類型是一。

A.順序內聚B.功能內聚C.通信內聚D.過程內聚

答案:C

20.初始化模塊和結束模塊從塊內聯系看,被稱為—璞塊。

A.過程內聚B.功能內聚C.時間內聚D.邏輯內聚

答案:C

21.某模塊的功能是打印錄取通知書或不錄取通知書,調用模塊可通過向此模塊傳遞布爾標

志信息決定本次調用哪種通知書的打印,這種模塊之間的耦合稱為一。

A.數據耦合B.混合耦合C.公共耦合D.控制耦合

答案:D

22.要減少兩個模塊之間的耦合,則必須—o

A.兩個模塊間的調用次數要少

B.模塊間傳遞的參數要少

C.模塊間傳遞的參數要少且布傳遞開關型參數

D.模塊間傳遞的參數要少且不傳遞開關型參數以及兩模塊不引用同樣的全局變t

答案:D

23.下列耦合度表示中,最弱的耦合形式是o

A.特征耦合B.公共耦合C.數據耦合D.數據結構

答案:C

24.PAD(ProblemAnalysisDiagram)圖是一種工具。

A.系統描述B,詳細設計C.測試D.編程輔助

答案:B

25.下列系統設計工具中,不屬于詳細設計工具。

A.N—S圖B.數據流圖C.程序流程藥D.PAD

答案:B

26.模塊內部的算法設計在結構化方法的階段進行。

A、系統分析B.概要設計C.詳細設計D編碼(實現)

答案:C

27.源程序的版面文檔要求應有變量說明、適當注釋和一。

A.框圖B.統一書寫格式C.修改記錄D.編程日期

答案:C

28.提高程序可讀性的有力手段是。

A.選好一種程序設計語言B.顯式說明一切變量

C.使用三種標準控制語句D.紿程序加注釋

答案:D

29.軟件工程中不屬于用戶文檔的內容。

A.功能描述B.安裝手冊C.系統設計D.使用手冊

答案:C

30.在軟件工程中,高質量的文檔標準是完整性、一致佳和—o

A.統一性B.安全性C.無二義性D.組合性

答案:C

31.軟件的一股由兩次故障平均間隔時間和故障下溝恢史時間來度量;

A.可維護性B.可靠性C.效率D.可理解性

答案:B

32.劃分軟件生存周期的階段時所應遵循的基本原則是o

A.各階段的任務盡可能相關性B.各階段的任務盡可能相對獨立

C.各階段的任務在時間上連續D.各階段的任務在時間上相對獨立

答案:B

33.結構化設計方法采用變換分析和事務分析技術實現.

A.從數據結構導出程序結構B,從模塊結構導出程序結構

C.從模塊結構導出數據結構D.從數據流圖導出初始化結構圖

答案:D

34.需求分析說明書不能作為£

A.可行性研究的依據B,用戶和開發人員之間的合同

C.系統概要設計的依據D.軟件驗收測試的依據

答案:A

35.程序流程圖、N-S圖和PAD圖是,,使用的表達工具。

A.設計階段的概要設計B.設計階段的詳細設計

C.編碼階段D.測試階段

答案:B

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

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

答案:C

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

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

答案:D

79.可行性分析是在系統開發的早期所做的一項重要的論證工作,它是決定該系統是否開發

的決策依據,因必須給出()的回答。

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

答案:B

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

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

答案:D

39.瀑布模型把軟件生存周期劃分為軟件定義、軟件開發和()三個階段,而每一階段

又可細分為若干個更小的階段。

A.詳細設計B.可行性分析C.運行及維護D.測試與排錯

答案:C

40.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1。1.0],現從輸入的角

度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是()。

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

答案:C

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

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

答案:C

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

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

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

答案:B

43.下列()不是模塊化設計的目的。

A.可采用結構化設計方法B.降低復雜度

C.有利于信息隱蔽D.描述系統的功能與性能

答案:D

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

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

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

答案:D

二、判斷題

I.軟件的開發與運行經常受到硬件的限制和制約。N)

2.模塊內的高內聚往往意味著模塊間的松耦合。N)

3.Jackson圖只能表達程序結構,不能表達數據結構。(x)

4.代碼審查方法沒有計算機測試方法好。(x)

5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。(X)

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

7.應該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(x)

8.UML只能應用于軟件系統模型的建立。(x)

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

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

11.軟件工程學只有理論意義,沒有實際用途。(x)

12.軟件工程的方法只適用于大型軟件的開發,對小型軟件的開發沒有幫助。(x)

13.可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。(4)

14.UML是一種面向對象的分析設計方法,即OOA/OOD方法。(Y)

15.在面向對象的軟件開發方法中,每個類都存在其相應的對象,對象是類的實例,類是生

成對象的模板。(Y)

16.編碼風格由個人喜好決定,沒有固定格式。(x)

17.軟件重用是提高軟件開發生產率和目標系統質量的重要途徑。(V)

18.軟件是指用程序設計語言(如Pascal,C,VisualBasic等)編寫的程序,軟件開發實際

上就是編寫程序代碼。(x)

19.在進行需求分析時需同時考慮維護問題。(由

20.模塊化使程序設計比較方便,但比較難以維護。(X)

21.螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動.(4)

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

24.軟件概要設計包括軟件系統結構設計以及數據結構和數據庫設計。(4)

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

26.為了提高程序的易讀隹,盡可能使用高級語言或4GL編寫程序。(4)

27.在面向對象的軟件開發方法中,每個類都存在其相應的對象,類是對象的實例,對象是

生成類的模板。(x)

28.模塊化、信息隱藏、抽象和逐步求精的軟件設計原則有助于得到高內聚、低耦合度的軟

件產品。2

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

30.數據字典是對數據流圖中的數據流,處理過程、數據存儲、數據的源和終點進行詳細定

義。W)

31.過程描述語言可以用于描述軟件的系統結構。(x)

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

三、簡答題

1.軟件工程的定義。

答案:

軟件工程是指導計算機軟件開發和維護的一門工程學科。采用工程的概念、原理、技術

和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的

技術方法結合起來,以經濟地開發出高質量的軟件并有效地維護它。

2.軟件生命周期包括哪些階段?每一階段的具體任務是什么?

答案:

軟件生命周期由軟件定義、軟件開發和運行維護(也稱為軟件維護)3個時期組成。

軟件定義時期的任務是:問題定義、可行性研究和需求分析。

開發時期時期的任務是:總體設計,詳細設計,編碼和單元測試,綜合測試。其中前兩

個階段又稱為系統設計,后兩個階段又稱為系統實現。

維護時期的主要任務是:使軟件持久地滿足用戶的需要。

每個時期又進一步劃分成8個階段:

問題定義——要解決的問題是什么?

可行性研究--對于二一個階段所確定的問題有行得通的解決辦法嗎?

需求分析——為了解決這個問題,目標系統必須做什么

總體設計……概括地說,應該怎樣實現目標系統?

詳細設計一一一應該怎樣具體地實現這個系統呢?

編碼和單元測試---寫出正確的容易理解、容易維護的程序模塊。

綜合測試——通過各種類型的測試(及相應的調試)使軟件達到預定的要求。

軟件維護…一通過各種必要的維護活動使系統持久地滿足用戶的需要。

3.可行性研究過程的步驟。

答案:

可行性研究的步驟:

(1)復查系統的規模和目標;

(2)研究目前正在使用的系統,總結現有系統的優劣,提出新系統的雛形;

(3)導出新系統的高層邏輯模型;

(4)進一步定義問題;

(5)導出和評價供選擇的解法;

(6)推薦行動方針;

(7)草擬開發計劃;

(8)書寫文檔提交審查。

4.需求分析的具體任務是什么?

答案:

需求分析是軟件定義時期的最后一個階段,它的基本任務是準確地回答“系統必須做什

么?''這個問題。

需求分析的任務:確定對系統的綜合要求、分析系統的數據要求、導出系統的邏輯模型、

修正系統開發計劃。

5.怎樣與用戶有效地溝通以獲取用戶的真實需求?

答案:

訪談--快速建立軟件原型,在訪問用戶的過程中使用情景分析技術往往非常有效。

面向數據流自頂向下求精-把數據流和數據存儲(可行性研究得到的高層數據流醫)定

義到元素級。

簡易的應用規格說明技術-提倡用戶與開發者密切合作,共同標識問題,提出解決方案

要素,商討不同方案并指定基本需求。

快速建立軟件原型--實現用戶看得見的功能,省略目標系統的“隱含”功能。快速原型應

該具備的第一個特性是“快速”,快速原型應該具備的第二個特性是“容易修改”。

6.結構化設計中的模塊獨立性原理是什么?

答案:

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

模塊完成獨立的功能;符合信息隱蔽和信息局部化原則;模塊間關連和依賴程度盡量小。模

塊的獨立性是軟件質量的關鍵:(1)模塊化程度較高的軟件容易開發;(2)模塊化程度較高

的軟件也比較容易測試和維護。

7.結構化設計中的逐步求精原理是什么?

答案:

逐步求精:為了能集中精力解決主要問題而盡量推遲對問題細節的考慮。

逐步求精方法的強大作用就在于,它能幫助軟件工程師把精力集中在與當前開發階段最相關

的那些方面上,而忽略那些對整體解決方案來說雖然是必要的,然而目前還不需要考慮的細

節,這些細節將留到以后再考慮。

8.耦合的概念,常見耦合的含義及其耦合度高低排序。

答案:

耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的

復雜程度,進入或訪問一個模塊的點,以及通過接口的數據。

在軟件設計中應該追求盡可能松散耦合的系統。

數據耦合:如果兩個模塊彼此間通過參數交換信息,而且交換的信息僅僅是數據,那么

這種耦合稱為數據耦合.

控制耦合:如果傳遞的信息中有控制信息(盡管有時這種控制信息以數據的形式出現),

則這種耦合稱為控制耦合3

特征耦合:當把整個數據結構作為參數傳遞而被調用的模塊只需要使用其中一部分數據

元素時,就出現了特征耦合。

公共環境耦合:當兩個或多個模塊通過一個公共數據環境相互作用時,它們之間的耦合

稱為公共環境耦合。

內容耦合:一個模塊訪問另一個模塊的內部數據:一個模塊不通過正常入口而轉到另一

個模塊的內部;兩個模塊有一部分程序代碼重疊(只可能出現在匯編程序中);一個模塊有多個

入口(這意味著一個模塊有幾種功能)。

盡量使用數據耦合,少用控制耦合和特征耦合,限制公共環境耦合的范圍,完全不用內

容耦合。

9.為提高軟件的質量,常用的啟發規則有哪些?

答案:

(1)改進軟件結構提高模塊獨立性;(2)模塊規模應該適中;(3)深度、寬度、扇

出和扇入都應適當;(4)模塊的作用域應該在控制域之內;(5)力爭降低模塊接口的復雜程

度;(6)設計單入口單出口的模塊。(7)模塊功能應該可以預測。

10.人機界面設計一般指導原則有哪些?

答案:

(1)保持一致性。應該為人機界面中的菜單選擇、命令輸入、數據顯示以及眾多的其他

功能,使用一致的格式。

(2)提供有意義的反饋。

(3)在執行有較大破壞性的動作之前要求用戶確認。

(4)允許取消絕大多數操作。

(5)減少在兩次操作之間必須記憶的信息量。

(6)提高對話、移動和思考的效率。

(7)允許犯錯誤。

(8)按功能對動作分類,并據此設計屏幕布局。

(9)提供對用戶工作內容敏感的幫助設施。

(10)用簡單動詞或動詞短語作為命令名。

11.好的編程風格有哪些?

答案:

程序實際上也是一種供人閱讀的文章,有一個文章的風格問題。應該使程序具有良好的

風格一簡明清晰,易讀易僮。(1)程序內部的文檔:標識符的命名見名知義,合理安排注釋,

程序的視覺組織良好;(2)數據說明的次序應該標準化;(3)語句構造:每條語句都應該

簡單而直接,不能為了提高效率而使程序變得過分復雜;也不要刻意追求技巧性,使程序編

寫得過于緊湊。(4)輸入輸出:對所有的輸入數據都要進行檢臉,識別錯誤的輸入,以保證

每個數據的有效性;使得榆入的步歌和操作盡可能簡單,并保持簡單的輸入格式;應允許缺

省值;(5)程序效率:程序編碼是最后提高運行速度和節省存儲的機會,因此在此階段不能

不考慮程序的效率。

12.軟件維護的定義及其分類.

答案:

所謂軟件維護就是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件

的過程。包括4項活動:(1)改正性維護:在任何大型程序的使用期間,用戶必然會發現程

序錯誤,并且把他們遇到的問題報告給維護人員。把診斷和改正錯誤的過程稱為改正性維護。

(2)適應性維護:為了和變化了的環境適當地配合而進行的修改軟件的活動。(3)完善性

維護:在使用軟件的過程中用戶往往提出增加新功能或修改已有功能的建議,還可能提出一

般性的改進意見。(4)預防性維護:為了改進未來的可維護性或可靠性,或為了給未來的改

進奠定更好的基礎而修改軟件。

13.簡述建立動態模型的步驟。

答案:

建立動態模型的第一步,是編寫典型交互行為的腳本。第二步,從腳本中提取事件,確

定觸發每個事件的動作對象及接受事件的目標對象。第三步,排列事件發生的次序,確定每

個對象可能有的狀態及狀態間的轉換關系,并用狀態圖描繪它們。最后,比較各個對象的狀

態圖,檢查它們之間的一致性,確保事件之間的匹配。

14.面向對象實現中提高代碼重用的程序設計準則。

答案:

1)提高方法的內聚(2)減小方法的規模(3)保持方法的一致性(4)把策略與實現分

開(5)全面覆蓋(6)盡量不使用全局信息(7)利用繼承機制

15.工程網絡中事件的最早時刻及其計算規則。

答案:

第一個事件的最早時刻(EET)定義為零,其他事件的最早時刻在工程網絡上從左至右

按事件發生順序計算。

(1)考慮進入該事件的所有作業。

(2)對于每個作業卷計算它的持續時間與起始事件的EET之和。

(3)選取上述和數中的最大值作為該事件的最早時刻EETo

16.工程網絡中事件的最遲時刻及其計算規則。

答案:

最后一個事件的最遲時刻(LET)就是它的最早時刻,其他事件的最遲時刻在工程網絡

上從右至左按逆作業流的方向計算。

(1)考慮離開該事件的所有作業。

(2)從每個作業的結束事件的最遲時刻減去該作業的持續時間。

(3)選取上述差數中的最小值作為該事件的最遲時刻LETo

四、應用題

1.某旅館的電話服務如下:

可以撥分機號和外線號碼。分機號是從7201至7299。外線號碼先撥9,然后是市話

號碼或長話號碼。長話號碼是以區號和市話號碼組成。區號是從100到300中任意的數字

串。市話號碼是以局號和分局號組成。局號可以是455,466,888,552中任意一個號碼。

分局號是任意長度為4的數字串。

要求:寫出在數據字典中,電話號碼的數據條目的定義(即組成)。

答案:

電話號碼二分機號|外線號碼

分機號=7201…7299

外線號碼=9+[市話號碼I長話號碼]

長話號碼=區號+市話號碼

區號二100...300

市話號碼二局號十分局號

局號=[455I466I888I552]

分局號=4{數字}4

2.某培訓中心要研制一?個計算機管理系統。

它的業務是:將學員發來的信件收集分類后,按幾種不同的情況處理。

1)如果是報名的,則將報名數據送給負責報名事務的職員,他們將查閱課程文件,檢

查該課程是否額滿,然后在學生文件、課程文件上登記,并開出報告單交財務部門,財務

人員開出發票給學生。

2)如果是想注銷原來已選修的課程,則由注銷人員在課程文件、學生文件和賬目文件

上做相應的修改,并給學生注銷單。

3)如果是付款的,則由財務人員在賬目文件上登記,也給學生一張收費收據。

要求:

I)對以上問題畫出數據流程圖。

II)畫出該培訓管理的軟件結構圖的主圖。

答案:

I)數據流圖

培訓計算機管理軟件結構主圖

II)軟件結構圖

?學生文件

3.復印機的工作過程大致如下:未接到夏印命令時處于閑置狀態,一旦接到復印命令則進

入復印狀態,完成一個復印命令規定的工作后又回到閑置狀態,等待下一個復印命令;如果

執行復印命令時發現沒紙,則進入缺紙狀態,發出警告,等待裝紙,裝滿紙后進入閑置狀態,

準備接收復印命令;如果復印時發生卡紙故障,則進入卡紙狀態,發出

溫馨提示

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

評論

0/150

提交評論